20,017 reputation
43978
bio website StackOverflow.Com/users/2988
location Karlsruhe, Germany
age 35
visits member for 4 years, 1 month
seen 8 hours ago

Not a software developer in the sense that I write software as part of my job or otherwise get paid to do so. Also, not a developer in the sense that I write software for others.

I write software for myself, often for no other reason than that I want to. (What I call recreational programming.)

Actually, I’m currently forcibly confined to recreational programming, as I’m looking for a job.

My current go-to language is Ruby, but I’m interested in all sorts of other languages as well: Newspeak, Seph, Ioke, Self, Io, Slate, Reia, Cobra, Fortress, Sapphire, Haskell, Scala, Clojure, Racket, Go, Fancy, Poison, and many more.


1d
comment What to do if a feature is not supported natively on a platform?
This is kind of a strange question. If something is missing, you write it.
2d
revised What would be the return type of a cartesian product of a multiset
added 559 characters in body
2d
answered What would be the return type of a cartesian product of a multiset
2d
comment tools and Simulators for GPU. if you havent got GPU installed
I'm pretty sure that the GPU vendors do have simulators for their GPUs. Whether they make them available to the general public is an entirely different matter, of course. Note that, depending on the level of detail you need to simulate, such simulators are known to be very slow. For example, the MARSS x86 simulator runs at about 200000 instructions per second, modern x86 CPUs can come close to 1 IPC, so MARSS runs about as fast as a 200kHZ CPU would, or about 20000 times slower than the real thing.
Oct
18
comment Lightweight data modeling vs traditional classes
@alternative: Oops, I got confused there. I was talking about Abstract Data Types. Where you talking about Abstract Data Types or Algebraic Data Types? I don't think all types are Algebraic Types in FP. Really, Algebraic Types are orthogonal to FP. You can easily model them with classical Java-style OO inheritance and generics, actually. (In fact, that's what Scala does.) Product types become containers with type parameters, sum types become sibling subtypes.
Oct
18
comment Lightweight data modeling vs traditional classes
Not necessarily. You can do functional programming with objects. Or even with no data abstraction at all! Actually, since object-oriented data abstraction is all about behavioral abstraction, and in lambda-calculus, the only "building blocks" with which you can perform abstractions are functions (i.e. behavior), all data abstractions in lambda-calculus are necessarily object-oriented! (This astonishing fact was noted by William Cook.) In other words, the purest of all pure functional languages is at the same time the first object-oriented language!
Oct
16
comment Immutable objects
@souslesquels: No, I don't think so. You are suffering from heavy selection bias here: most programmers who prefer immutability would never have chosen Java or C# in the first place. If you look for open source projects in Haskell, for example, you will find that close to 100% are purely immutable and even the small numbers that do use mutability will only use it in a very small, well isolated part of the program. The same goes for Erlang, ML, Ocaml, F#, Scala, Scheme, Clojure.
Oct
16
awarded  java
Oct
15
answered How does whileTrue: works in Smalltalk?
Oct
15
answered Immutable objects
Oct
15
comment Immutable objects
Note that there is an alternate explanation why there are no large complex projects using pervasive immutability other than "nobody uses pervasive immutability". Namely, that pervasive immutability makes programming so much simpler that your projects simply won't get large and complex in the first place! I'm not saying that this is the case, I'm just saying that concluding that immutability isn't used much from the fact that there are no large complex projects, seems logically iffy, especially with the premise of your question that "immutability is good" (e.g. reduces complexity).
Oct
13
comment What is the cost and role of parsing technology in modern compilers and other programming language processors
In an IDE, for example, 99% of the time, the code won't actually compile or type-check, because the programmer is still in the process of typing it in, but you still want to parse and analyze the partial stuff that is there. And you don't want to do parse the whole file all over again, just because the programmer typed a single character. Parser frameworks are often designed for batch use: parse the whole thing in one go, abort at the first error. That simply won't work in an IDE.
Oct
13
comment What is the cost and role of parsing technology in modern compilers and other programming language processors
I think the main reason to use hand-written parsers is that it is very hard to get the current mainstream parser frameworks to generate user-friendly, helpful, useful, simple, understandable error messages. Another reason is that IDEs are essentially compilers, pretty printers are essentially compilers, linters are essentially compilers, and we want to re-use the same compiler in all those contexts, but mainstream parser generators haven't been designed to be used interactively, incrementally or with partial input.
Oct
10
revised What drawbacks are there to condition-based scope?
added 12 characters in body
Oct
10
comment What drawbacks are there to condition-based scope?
@delnan: To me it looks like "same condition" is essentially the Function Equivalence Problem, which is of course known to be undecidable for Turing-complete languages. I don't know many languages in which Function Equivalence is decidable, but those that I do know are extremely restricted: no variables, only a small fixed set of pure, total functions, no I/O, no side-effects, no external libraries, no user-defined types, no user-defined functions. Essentially, a dumb desktop calculator.
Oct
10
answered What drawbacks are there to condition-based scope?
Oct
9
comment Choosing a Programming Language Systematically
@Baldrickk: Here's your first-hand source: cs.gmu.edu/~sean/stuff/java-objc.html (well, actually, it's a re-print of a first-hand source, but the actual first-hand source should be discoverable from there, provided it hasn't been lost to bitrot).
Oct
9
comment Choosing a Programming Language Systematically
@Baldrickk: Java is heavily based on Objective-C and gets pretty much nothing from C++. Most of what is different between Java and C++ is inherited from Smalltalk and was decided long before C++ even existed.
Oct
5
comment Is JavaScript safe?
From what I read in your question you are developing a site that specifically targets people (accountants) who tend to work in large organizations and have no control over the version and the settings of their browsers, and you are telling them that they cannot use your site unless they change their settings, which they can't? IOW: you are developing a site for a target audience that will never be able to actually use your site?
Oct
3
awarded  Enlightened