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

Jan
11
revised Which components/phases of a JIT compiler are different from a traditional ahead of time compiler?
Correcting "fases" typo to "facets"
Jan
10
comment How to comply with LGPL 2.1 source-code request?
If it was a formal request that required a formal response, it would most likely be coming from a lawyer. At this stage, it's still safe to try ordinary social interaction. :P
Jan
10
comment How to comply with LGPL 2.1 source-code request?
It's most likely to get you to contribute modifications back, but if you don't know why he's asking, don't ask us the reason why; ask him.
Jan
9
comment Will a profound knowledge of C++ help you in learning other languages faster/easier?
@DocBrown: I didn't say it makes people dumber; I said it would give people ideas that need to be unlearned.
Jan
8
comment Will a profound knowledge of C++ help you in learning other languages faster/easier?
@Deduplicator: I expect copies to not exist because references "should go" everywhere. Liskov substitution demands it, and that's the sine qua non of OOP. You can have inheritance, or value types, but not both on the same type.
Jan
8
comment Will a profound knowledge of C++ help you in learning other languages faster/easier?
@Doval: Yes, that's my whole point: these things are algorithmically undecidable in the general case, which is why they need to be handled by an intelligent person, not an algorithm, to be handled correctly. And saying "that's not a leak, it's an inefficient program" is just semantical hair-splitting; to an outside observer, the behavior of the program is the same as that of a program that is leaking memory, especially in the context of multitasking systems where memory squeezes under load can cause severe problems.
Jan
8
comment Will a profound knowledge of C++ help you in learning other languages faster/easier?
@Doval: Wrong size, place, alignment: how exactly does one do any of these things in an object-oriented language when the proper size is known to the compiler and the allocator handles placement and alignment? Freeing early: this is exactly what GC is supposed to prevent, so saying it's not relevant to this discussion is just straight-up not true. But it does so at the cost of turning every allocation into a memory leak. And not stomping other objects' data is a bounds checking issue, not a garbage collection issue.
Jan
8
comment Will a profound knowledge of C++ help you in learning other languages faster/easier?
@FredLarson: I should have guessed such a prevalent, pernicious problem would have a specific name for it. (And, this being C++, a silly name at that. When a programmer outside the C++ world hears "slicing," he's likely to think of array slicing! :P
Jan
8
comment Will a profound knowledge of C++ help you in learning other languages faster/easier?
@BasileStarynkevitch: Knowing any modern language makes a lot of C++11 new features easier to understand. (Except maybe Java. Does it have closures yet?) :P
Jan
8
comment Will a profound knowledge of C++ help you in learning other languages faster/easier?
@Doval: Garbage collection gives you the illusion of not having to worry about memory management. Just look at how frequently managed-code programs get memory leaks because some reference remained valid in an unexpected place (collections are a perennial offender) to see just how illusory this truly is.
Jan
8
comment Will a profound knowledge of C++ help you in learning other languages faster/easier?
@Deduplicator: Java and C# have a completely different generics system, because experience shows that templates cause all sorts of serious problems, many of which arise because the Templates system was not well-planned-out in the first place. (Turing-complete by accident, to give one obvious example!) And objects as values break Liskov substitution because if you have a class Derived whose parent is Base, and it overrides a virtual method on Base, and you pass it by default passing to a function that takes a Base and calls the virtual method, it will not invoke the Derived version.
Jan
8
answered Will a profound knowledge of C++ help you in learning other languages faster/easier?
Jan
6
comment What's so difficult about SVN merges?
@naught101: It turns your history from a tree (simple) into a graph (complicated) and makes history harder to understand. Also, it completely breaks the "branching" metaphor. Have you ever seen a tree (real-life plant made of wood) where a branch splits off and then rejoins later on? I know I haven't!
Jan
1
comment What are the caveats of implementing fundamental types (like int) as classes?
@amon: No sane language; just Java: thedailywtf.com/articles/Disgruntled-Bomb-Java-Edition
Dec
31
awarded  Good Answer
Dec
31
comment What is different between the internal design of Java and C++ that lets C++ have multiple inheritance?
@JackAidley: Templates. So it's useful because it amplifies the foot-shooting gun into a leg-blower-offer?
Dec
30
comment What is different between the internal design of Java and C++ that lets C++ have multiple inheritance?
@AlexandreC.: Yes, but then you've got dynamism to deal with. That's like dealing with a pain in your foot by amputating everything below the knee. Sure, the pain in your foot is now gone, but it's hardly what a reasonable person would consider "a good solution"!
Dec
30
awarded  Nice Answer
Dec
30
answered What is different between the internal design of Java and C++ that lets C++ have multiple inheritance?
Dec
27
awarded  Nice Answer