53,081 reputation
10151232
bio website tech.turbu-rpg.com
location Seattle, WA
age 32
visits member for 4 years, 8 months
seen 5 mins ago
A lifelong programmer who's been coding in Delphi since its initial release and currently makes a living at it.

Feb
10
comment How can software be protected from piracy?
@Steve314: Maybe, but if there are no pirates after you anyway, then it's even more of a waste. Instead of trying to solve a problem that exists but can't be solved well, you're devoting resources to solving a problem that doesn't exist.
Feb
10
comment How can software be protected from piracy?
@mohabitar: Yes, that's exactly what I think, because it does not, and can not, ever work. No DRM system I'm aware of has lasted more than 1 month after being exposed to the Internet before being cracked wide open. Microsoft spends more money on R&D every single day than you'll see in your entire life, and they can't get it right. Heck, Windows 7 was cracked before it was even released! So what makes any smaller developer think they have any chance whatsoever of success?
Feb
10
comment How to make people new to programming stop asking me questions and distracting me?
+1 for having them explain their code to you. Not 10 minutes ago I helped a coworker solve a very frustrating problem this way. He'd been beating his head against a memory corruption issue all day. He knew it had to be somewhere in the call stack, but he'd been through the whole thing and couldn't find it. So I told him to walk up the stack with me. A few minutes in, as he was explaining what was going on, he looked at one line and said "hey, wait a second..." and there was his problem as plain as day. But he never noticed it until he had to analyze it with someone else sitting there.
Feb
9
comment Strategies for managing use of types in Python
@Dave: Re: "you can't test what you have not written yet." Obviously you haven't had enough kool-aid yet; that's exactly what you're supposed to be doing! First you write the test that tests what your code is supposed to do, then you write code that will pass the test.
Feb
7
comment Worst practices in C++, common mistakes
@David: Are you saying that in C++ Land, RTTI is the same thing as vtable use? I thought it referred to additional metadata about a class, used for things such as getting the names of your classes and determining the inheritance hierarchy of an object at runtime.
Feb
7
comment Worst practices in C++, common mistakes
You're either mis-remembering what your professor said, or he had no clue what he was talking about. Derived classes don't generally need to use RTTI (AKA reflection) to look things up. If they're using virtual methods, the code might need to do a vtable lookup for the dispatch, but that translates to a single ASM instruction on a lot of processors. Because of caching issues it can slow things down by a certain amount, but you're unlikely to ever notice the overhead under any but the most demanding use cases. There are plenty of good reasons to avoid C++, but vtable lookups aren't one of them.
Feb
7
comment Is C++ suitable as a first language?
@David: The problem is, doing "a lot of stuff in C++" without pointers is even worse. Without pointers, all your objects get declared on the stack, which is one of the worst programming ideas EVER. Value types and inheritance/polymorphism just don't mix, and trying to mix them leads to entire categories of errors that don't exist in better-designed languages.
Feb
7
comment If we can do functional programming with Python, do we need a specific functional programming language?
@Andrés F.: Fair enough, but bear in mind that this paper was written in 1984, before hybrid languages (such as Python) even existed. The example imperative language he's comparing against is FORTRAN. It wasn't possible to do any serious functional programming in languages that weren't specifically designed as functional languages. That's not true today, and in that context it doesn't invalidate my original point.
Feb
7
comment Is C++ suitable as a first language?
@Andrés F.: Gotta disagree with that. Knowing assembler makes you a better programmer no matter what you're writing in, because then you can understand what's really happening.
Feb
7
comment If we can do functional programming with Python, do we need a specific functional programming language?
@Marco: What do you mean? The author is explicitly saying that immutability and referential transparency aren't particularly useful, and the rest of the paper talks about how the true benefits of functional programming (according to Hughes) are modularization (the ability to break problems down into smaller pieces) and lazy evaluation.
Feb
7
comment Is C++ suitable as a first language?
With all due credit to Dijkstra, it is practically impossible to teach good programming to students that have had a prior exposure to C++; as potential programmers they are mentally mutilated beyond hope of regeneration. ;)
Feb
7
comment What are the consequences of GPL dependencies?
Edited for the peace of mind of the overly pedantic. I thought that bit was obvious.
Feb
6
comment Would you use C, today, for a software project?
@Mathepic: Yes, it can theoretically be programmed correctly. But to do so, you have to first be consciously aware of a handful of inherently flawed language features. Then you have to devise workaround for them. Then you have to always use the workaround and never once use the simple, basic language features instead. If you fail in this in any way, you're likely to introduce a security hole into your code. Having to fight the language so consistently to maintain correctness is a hallmark of a bad language, whether you want to admit it or not.
Feb
4
comment Is learning how to use C (or C++) a requirement in order to be a good (excellent) programmer?
@blueberryfield: No, I'm saying college courses do produce newbies, and they're even more n00bish while they're still taking the courses, and they should be kept as far away from anything resembling eval as possible until they know exactly why it's such a bad idea to use in most cases.
Feb
4
comment Is learning how to use C (or C++) a requirement in order to be a good (excellent) programmer?
@blueberryfields: This answer is about college students and courses.
Feb
4
comment Is learning how to use C (or C++) a requirement in order to be a good (excellent) programmer?
@blueberryfields: ...all of which are considered harmful and or security vulnerabilities to one degree or another by more experienced coders. Very bad things to teach to newbies.
Feb
3
comment What features are missing from Python IDE tools?
+1 for integrated debugging. If anyone can point me at a Python IDE with a real debugger, I'd be very grateful.
Feb
3
comment Why is Reflector such an essential utility?
@Adam: Interesting. Still, the fact that it's only available as a separate download, which according to you is a hassle to obtain, underscores my point, to a certain degree at least.
Feb
3
comment Do you leverage the benefits of the open-closed principle?
You seem to have your Get and your Set backwards.
Feb
3
comment Open Source Project all dressed up but nowhere to go
Ugh! Please, for the love of all that is binary, do not host your project on SourceForge if you have any shred of respect for your users or fellow developers. Even aside from the security issue, the interface is a mess and a half and it's way too much work to find stuff on there. I prefer Google Code; it's much cleaner and easier to navigate.