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

Jul
16
comment When does a Monad become a hammer?
"The functional programmer sounds rather like a medieval monk, denying himself the pleasures of life in the hope that it will make him virtuous. To those more interested in material benefits, these “advantages” are not very convincing. Functional programmers argue that there are great material benefits ... [but] this is plainly ridiculous. If omitting assignment statements brought such enormous benefits then [imperative] programmers would have been doing it for twenty years. -- John Hughes, Why Functional Programming Matters (Emphasis added.)
Jul
16
comment When does a Monad become a hammer?
@Doval: If there's no cheating and no tricks involved, how do you read input as a pure function?
Jul
16
comment When does a Monad become a hammer?
@AndresF.: I didn't say that's the only thing they're used for; I said that's why they're used so commonly and talked about so commonly. Please don't put words in my mouth.
Jul
16
comment When does a Monad become a hammer?
@Doval: By cheating, using tricks like State monads to pretend impure operations are being done purely. For example: "Here we have a fake variable that we pretend represents 'the state of the entire outside world', and a fake pure function that takes the fake 'entire world' variable as an input and returns a modified world." It's all incredibly silly what's going on if you look under the hood.
Jul
15
comment When does a Monad become a hammer?
When does it become "a hammer"? When it's all you have. "Pure functional" languages are crippled when it comes to mutable state (which, as scary as hard-line FP proponents try to make it sound, is essential to any non-trivial program,) so you end up seeing monads everywhere.
Jul
9
comment What's a good simple way to combat the n+1 problem?
Any reason why you couldn't just set it up to do a JOIN?
Jul
8
comment Why do bitwise operators have lower priority than comparisons?
@supercat: Forgive my skepticism, but in today's modern world, systems like Arduino and Raspberry Pi with enough hardware to play back movies in full HD for an ultra-low cost are the reality. "Embedded systems with extreme hardware constraints that require horrible coding practice" just isn't a valid excuse in 2014 IMO.
Jul
8
comment Why do bitwise operators have lower priority than comparisons?
@supercat: What's wrong with declaring it the same as any other variable? That's the entire point of making things explicit: making them explicit.
Jul
8
comment Why do bitwise operators have lower priority than comparisons?
@Supercat: I would argue that there's no valid case for forcing non-short-circuit evaluation that cannot be better handled (ie: easier for someone who is not the original author to comprehend the intent of the code when reading it) by expanding it to explicit control flow.
Jul
6
answered Can a version of Python's shelve module that knows when its entries have been modified be written in any programming language?
Jul
6
comment Can a version of Python's shelve module that knows when its entries have been modified be written in any programming language?
@Martjin: Seriously? Does this look anything like a list question to you?
Jul
6
comment Can a version of Python's shelve module that knows when its entries have been modified be written in any programming language?
@gnat: It's perfectly clear what he's asking: Does any language exist in which it's possible to answer the question "has this object been mutated since [event] happened" in the general case?
Jul
3
comment Why does C# have much more features than Java?
@KilianFoth: Actually, C# was initially a batant rip-off of Delphi, rewritten to look like Java. Microsoft even poached the Delphi project architect away from Borland to create it.
Jul
3
comment Is there a real advantage to dynamic languages?
You should have a look at Boo. It's statically typed with type inference, and has macros that allow for the language's syntax to be extended.
Jun
19
comment When should the programmer's spoken language be used during development?
@L0j1k: I thought I was simply using an existing, standard, valid term for a system that implements the concept described. (Or, in plain English, "calling it what it is.") :P
Jun
19
comment When should the programmer's spoken language be used during development?
This word cannot be translated into any language because the system is purely Danish. "Disability benefits"?
Jun
14
comment How can Swift be so much faster than Objective-C in these comparisons?
@JanHudec: On mobile devices, or any device with constrained resources, GC is not significantly faster and in fact is a major part of the problem.
Jun
8
awarded  Nice Answer
May
31
awarded  Nice Answer
May
4
awarded  Notable Question