Programming languages: Comparative Spookiness

Apr 11, 2010 19:00

This is going to be a long, rambling, nerdy post. Non-CS people can safely TLDR it.

haskellation )

haskell, work-related, programming

Leave a comment

Comments 25

arcanology April 12 2010, 00:26:15 UTC
The equivalent of that bad code in C++ is any one of a million clueless pointer manipulations.

Design pattern cancer I think actually came from the environment - whichever language ended up as the Enterprise Language of the 90s/00s was going to going to get it. You can do Java without it, certainly.

Anyway I can't call Java spooky. That would be like calling a cow spooky. It's just big and smelly and it farts a hell of a lot and it takes more effort than it should to get it to do anything.

I'd love to get an opportunity to be paid to learn Haskell - I just don't learn languages very well without a motivating environment. From the little bits I learned of Ruby before that company died, I think it's a little more of an inheritor of Perl than I like, though I think it may be the language in which to write domain languages. Rails felt to me like a language built out of Ruby.

Reply

nonnihil April 12 2010, 10:34:33 UTC
You are right that Java's idiot-magnetism is less spooky in context, although I do think there is something strange about how it just keeps having this effect even years after then ill-conceived 90s. Haunted by the ghost of long-dead enterprises.

Java feels retro in a way -- like it will be remembered as somehow inherently 90s. Like future movies set in the 90s will show people programming in Java next to grunge and Monica Lewinsky jokes in order to establish setting, the same way that any film set in the 50s is required to show a long car with fins in the first five minutes.

Reply

firstfrost April 12 2010, 12:13:01 UTC
The ill-conceived 90s? What decade ought we to have had instead? :)

Reply

arcanology April 12 2010, 14:14:51 UTC
Well it is still one of the major enterprise languages, and enterprises have this dream of being able to get the programs they want built without having to employ competent programmers... so that's why these technologies are created and are still being created.

Reply


dilletante April 12 2010, 02:53:37 UTC
you make it sound like the holy grail of theoretical programming languages... (i haven't programmed in haskell)

Reply

nonnihil April 12 2010, 10:27:29 UTC
Haskell is certainly very much like a grail. Of the changes that could be made without compromising its core nature, only making its syntax less quirky would really substantially improve it.

On the other hand, my patience for theoretical programming languages is low. The functional purity of haskell makes a number of relatively simple alterations of one's program just astoundingly tedious. For instance, "If this large, complex calculation takes more than ten wall-clock milliseconds, give up and toss me an exception" is all but impossible to express if you didn't design the entire system for it from the start. Worse, if you did design for it from the start then you had to write the whole thing in a slightly different, decidedly worse part of the language ( ... )

Reply

arcanology April 12 2010, 14:16:37 UTC
Wow, that one item pushes my thoughts about Haskell to "could be neat" to "never going to be useful".

The real world involves stuff not going according to theory. I've already gone down this timeouts road many times.

Reply

nonnihil April 12 2010, 14:37:54 UTC
To be fair, haskell is quite capable of handling this situation. What it handles poorly is the software engineering activity of going from the "enh, I'll just try it" case to the timeout case -- the implementation has to change completely because once you read from something like system time you are no longer in the pleasant functionally pure world but rather have entered the rather uglier world of The IO Monad (or The Monadstrosity, as I have come to know it).

Small differences in what you want, when they involve things like time, cause large changes in implementation.

Reply


beth_leonard April 12 2010, 04:00:17 UTC
Perhaps I will inject a bug deliberately just to see how it's done.

LOL

I remember SML of New Jersey in college. It doesn't sound quite as bad (good?) as haskell, but coming from a C background, getting it to compile was hard.

--Beth

Reply


Leave a comment

Up