I can't help but notice that the vast majority of commenters are missing the fundamental reason for all this handwringing. The reason isn't language schism (that too, but I'd attach a much smaller weight to it) so much as the schism between corporatism & academia. Corporate America wants languages that are dumb, easy for corporate drones to assimilate, hard to mess up with, verbose ( verbosity is misinterpreted as do…
You didn't mention that all the "cool R&D shit" didn't work very well, and were considered inferior to competitors at that time.
Dijkstra on Haskell and Java (2001)
241–250 of 253 posts
Re: Dijkstra on Haskell and Java (2001)
#242Earlier quoted context omitted.
> the most complex compile time error you can get of Java tends to be nothing more than "mismatched bracket" or "incorrect function call" … following with the NullPointerException in runtime
You generally don't get these if you use @Nullable etc
I've seen plenty of NullPointerExceptions in enterprisey Java to know you generally do get them.
The horror... the horror...
Re: Dijkstra on Haskell and Java (2001)
#243Earlier quoted context omitted.
>I have written quite a bit of Haskell That is a very common claim from people posting misconceptions that could only arise from second-hand info and a lack of direct experience. I have a very hard time believing it given that you claim haskell is large and complex. >Also, I like C++ :) I won't hold that against you. >what you think is wrong with my belief Well, everything you just mentioned except the horrible compi…
> That is a very common claim from people posting misconceptions that could only arise from second-hand info and a lack of direct experience. Do you think that I, and an apparently large number of other people on the internet, spend our time insulting Haskell without having used it? That some great anti-Haskell conspiracy is being waged by evil groups unknown? I haven't written large enough Haskell programs to have p…
I'm genuinely interested in this. Can you link to an article or blog post explaining the problem? Thanks! :)
Re: Dijkstra on Haskell and Java (2001)
#244To the departments credit, we did end up taking a couple of courses in Haskell (the best one I remember was the course of compilers - we had to write a C lexer in Haskell). It was one of the more fun classes I took (thanks, in a great part, to the professor teaching us).
Re: Dijkstra on Haskell and Java (2001)
#245I can't help but notice that the vast majority of commenters are missing the fundamental reason for all this handwringing. The reason isn't language schism (that too, but I'd attach a much smaller weight to it) so much as the schism between corporatism & academia. Corporate America wants languages that are dumb, easy for corporate drones to assimilate, hard to mess up with, verbose ( verbosity is misinterpreted as do…
Perfectly put. I'm having to take a VB.net course to advance to the next level of my high school's CS curriculum, if you could even call it that. It's painful as hell, and like you said, makes me feel like a corporate monkey who's writing some ugly code for use in some specific pants-on-head retarded enterprise "app."
Re: Dijkstra on Haskell and Java (2001)
#246I love Haskell and Java. From a high level they are my favorite languages for their respective paradigms, so I think most programmers should at least try to write a simple program in both. That said, I think people are overreacting to Java as a CS 100-level language because of enterprise experiences. I have written enterprise Java and I hate it, but I still love Java. Java EE is all beans and POJOs and XML and Swing…
It's just my experience, but the people I know for whom Java was a genuinely first language seem to have a harder time than anyone else grokking pointers.
The only thing I think Java handicapped me with was understanding pass-by-reference or pass-by-value, but I figured it out when someone told me that Java is "pass by reference by value" meaning that in the method meth(Object obj) { ... } if you do obj.something() you are editing the original object, but obj = newObject won't change the original reference.
Re: Dijkstra on Haskell and Java (2001)
#247Re: Dijkstra on Haskell and Java (2001)
#248Earlier quoted context omitted.
Scheme.
I want the Python of functional languages
Re: Dijkstra on Haskell and Java (2001)
#249Take Java for example. Most people (Dijkstra included) hate it. But look how much Java has accomplished. It's not a coincidence that Hadoop is written in Java. It's not a coincidence that Java is the primary language on Android.
To quote a great man: "Java works. Java captures the essence of the evolutionary spirit" Same thing applies to PHP, Javascript, and whatever everyone hates.
Couple of years ago I thought that Java was the Devil's invention and the most awful programming language ever. Then I started using Java with Hadoop. And for the first week Java was the most awful programming language ever. Two/three weeks in I was absolutely okay with Java. It worked. And for me that's the only thing that counts.
Re: Dijkstra on Haskell and Java (2001)
#250Earlier quoted context omitted.
It's just my experience, but the people I know for whom Java was a genuinely first language seem to have a harder time than anyone else grokking pointers.
That's definitely true, but no functional language is going to help with that. Those are only farther from the metal. The only thing I think Java handicapped me with was understanding pass-by-reference or pass-by-value, but I figured it out when someone told me that Java is "pass by reference by value" meaning that in the method meth(Object obj) { ... } if you do obj.something() you are editing the original object, b…