8,102 reputation
43275
bio website
location
age
visits member for 3 years
seen 6 hours ago

0x2B | ~0x2B


Apr
24
reviewed Leave Open Are “normal order” and “call-by-name” the same thing?
Apr
24
comment Why does Haskell have built-in “if/then/else” instead of defining it as a simple library function?
This might be obvious to most of the readers, but I would like to point out that having îf/then/else as a function would not be a good solution in an eager language (e.g. scheme or sml) while it is reasonable in a lazy language like Haskell.
Apr
24
reviewed Close C programming question help please?
Apr
24
reviewed Close Why does Java use so many middlemen?
Apr
24
comment Why does Microsoft have such a bad reputation with the people involved in open source?
I also remember how Windows 95 was pushed onto the market to win the competition with the OS/2 from IBM (which was much more stable than Windows 95 at that time). For a few years we had to use a very unstable OS just to allow Microsoft to occupy the market.
Apr
24
comment Why does Microsoft have such a bad reputation with the people involved in open source?
I remember using Linux since the beginning of the 90-ties and it was a very stable OS already. I also worked with Windows 95 and 98. I remember I kept saving my work (I was programming in JBuilder) because the OS crashed about 2, 3 times a day. Only starting with Windows NT (or rather Windows XP) I had comparable stability. So, regarding stability, Linux was almost 10 years ahead. It is true that open source developers never spent so much time creating a user friendly GUI, but it would not have been a problem to build a GUI on top of a UNIX OS (like Apple later did).
Apr
23
comment Why does Microsoft have such a bad reputation with the people involved in open source?
@Mystere Man: They might not be Microsoft's official policy, but they reflect what Microsoft has been doing for the last 30 years. Microsoft has rarely tried to build something new on top of existing best practices (if they did, they would not have produced Windows, they would have built a modular graphical user interface on top of a UNIX flavour). Microsoft strategy has always tried to build monolythic software with its own, incompatible formats and protocols in order to lock in their customers and cut out competitors.
Apr
23
reviewed Leave Open Why does Microsoft have such a bad reputation with the people involved in open source?
Apr
23
comment Is it possible to reach absolute zero bug state for large scale software?
I meant there is no general algorithm that will work for any input program and any input specification. You can only handle specific cases (e.g. your example).
Apr
23
comment Is it possible to reach absolute zero bug state for large scale software?
What I mean is that you can write a specification (a logic formula) of what a program should do. But you cannot write a program that given a specification and an implementation can tell you that the implementation is correct.
Apr
23
comment Is it possible to reach absolute zero bug state for large scale software?
@Mikey: Well, in order to define correctness you have to define with respect to what a program is correct, otherwise the word has no meaning. The point is that even if you define correctness wrt to a very general formalism (logic formulas), you cannot write a program that proves correctness. So you can express correctness in a very general way, but then there is no way to ensure / verify it in general.
Apr
23
reviewed Leave Open Why is C so high in TIOBE index of popularity, while C++ is just under here too, but not as popular?
Apr
22
reviewed Leave Open Functional Programming: efficiently handling whole world changes?
Apr
22
comment Functional Programming: right ideas about concurrency and state?
+1: For pointing at Okasaki's book. I haven't read it but it is on my to do list. I think what you depicted is the correct solution. As an alternative, you can consider uniqueness types (Clean, en.wikipedia.org/wiki/Uniqueness_type): using this kind of types you can destructively update data objects while retaining referential transparency.
Apr
22
comment Is Clojure's syntax really simpler than Scala's?
+1: "Readability, however, is subjective. It mainly comes down to familiarity.": True. I have been playing with Scheme and Common Lisp lately (I am no expert in either of them), and I do not see why their syntax is considered difficult to read: it is very easy to get used to it.
Apr
21
comment How stable is Common LISP as a language?
@mikera: I recenlty found out that ABCL can interact with Java. Maybe calling Java in ABCL is not as easy as in Clojure (and I have some doubts regarding efficiency) but nevertheless it is a way to access the Java ecosystem from Common Lisp.
Apr
21
comment How stable is Common LISP as a language?
I have recently installed 5 open source Common Lisp implementations (ABCL, CCL, CLISP, CMUCL, SBCL) and, with each of them, I have installed quicklisp and used it to install slime. I was impressed that all 5 implementations ran out of the box and worked smoothly with quicklisp and slime. I am a newbie with Common Lisp but these experiments make me want to learn more.
Apr
21
reviewed Leave Open How can I compute maximal area including only given integer pairs of (x,y) coordinates?
Apr
21
comment Structure vs. programming
+1, especially for "Having lots of self-contained methods and modules that seem almost to small to make sense is a good thing.". Consider that if each method / function contains at most two statements (each of which can possibly be a method / function call), you can still create an arbitrarily complex application very fast (exponential blow up).
Apr
21
comment Is it possible to reach absolute zero bug state for large scale software?
I think it should be possible to formulate correctness wrt to some logic formulas. Then, an algorithm that can prove correctness wrt respect to any logic formula would also be able to decide the termination problem (does an arbitrary program on an arbitrary input loop forever?), which is undecidable. I am not sure if the above is correct but I would try to construct an argument in this way.