<i>Labview beats the snot out of anything else for building, say, custom spectrometer control and data acquisition systems. I know, because I had to do this. I’ve seen mooks try to do the same thing in C++ or whatever, and laugh scornfully at the result</i><p>What's so great about LabVIEW for spetroscopy? I ask because, as part of my MS thesis, I built a fourier transform spectrometer. After messing around for a few days with some LabVIEW code someone else had written for a similar task, I wrote the control code in C in a couple of hours, including the time it took to learn the (deprecated) LabWindows C API. I have no doubt that LabVIEW has improved since I did my thesis (almost ten years ago), but it's not obvious, a priori, that graphical programming should be better for controls.
He had me until "Clojure is popular because Paul Graham is an excellent writer." Did he just confuse Paul Graham for Rich Hickey? I don't get that point otherwise. pg is a lisp guy but I don't see the Clojure connection.<p>Anyway his overall point seems to be that Clojure isn't the only programming language, or the best one for every case. Well, ok. No one worth taking the time to talk to would ever make that assertion, so it seems like wasted bluster.
<i>There is also the matter that “programming” is an overly broad word, kinda like “martial arts.” A guy like “Uncle Bob” who spends his time doing OO whatevers has very little to do with what I do. It’s sort of like comparing a guy who does Tai Chi to a guy who does Cornish Wrestling; both martial arts, but, they’re different. My world is made of matrices and floating point numbers. His ain’t.</i><p>This. The attitude the OP describes is very common on HN as well, and can't be attributed to Uncle Bob only: the idea that programming means web, cloud, and databases. Other influential writers, like Jeff Atwood, make exactly the same mistake[1]. He can't imagine anyone doing any other martial art than Tai Chi.<p>A bit sad, really.<p>[1] <a href="http://www.codinghorror.com/blog/2009/08/all-programming-is-web-programming.html" rel="nofollow">http://www.codinghorror.com/blog/2009/08/all-programming-is-...</a>
This isn't a "rant on Clojure". It's a rant, all right, and Clojure is prominently featured, but the rant is about "Uncle Bob" Martin's assertion that Clojure is or should be "the last programming language". Which I take to be hyperbole, not meant to be taken literally. But then I haven't watched the video.<p>Clojure actually gets quite a decent nod here, which, given Locklin's overall snarky tone, is saying something.
I don't get all the anger. Most popular writers are opinionated, and talk to their "crowd". If Uncle Bob (or Joel, or Jeff, or DHH) had to preface all discussion with "does not apply to people who do scientific programming, make games, or Albanians" we'd probably end up missing most of their points. It seems you understand the writer's context, so be happy that the answers for your neck of the coding woods are different.<p>Similarly, many posts around here are targeted at people in (at least) the US, often California, and usually SF or the Valley. I don't post "Noooo! It doesn't apply to me because I live in South Africa!" every time, because I understand what the context is. Something doesn't have to be universally true for it to be true in its context, and often useful for us outside of it.<p>In any case, thanks for the alternate opinion - it's good to be reminded that there are universes outside of ours.
If you had asked me about Uncle Bob and spending an hour with him, I could have spared you most of it. He is very opinionated, and often really quite wrong.
FWIW, I don't think he has the slightest clue what leiningen is. It is hardly "basically a shell script which Does Things". It is written entirely in Clojure. All the shell script does is tie it together and bootstrap things. I'm fine with criticism, but not blatantly inaccurate information.
Object Orientation doesn't imply "single dispatch / message passing" style of Object Orientation. Common Lisp's CLOS and Clojure's multimethods and protocols are also object oriented, albeit in a different style.<p>Of course CLOS is far more powerful than what Clojure has, but I wouldn't be so quick to discard OO in Clojure.<p>OO doesn't imply mutability: even in Java it's encouraged (per Bloch) to create "functional objects" -- objects that create other objects instead of mutating internal state.
This article is OK when defending the "right tool for the right job" statement in the middle of the present Clojure hype that is going on, but this perfectly coherent discussion just gets swallowed by the author's apparent underground syndrome.
> Common Lisp native ASDF is probably very well designed, but it is practically useless to anyone who isn’t already an ASDF guru. ASDF should be taken out back and shot.<p>This sounds like the best you can say is "it's probably very well designed for the wrong purpose"; and I'm not sure that can be usefully distinguished from "poorly designed".<p>(I have dabbled with both CL and Clojure, but never used either ASDF or Lein.)
> R* and kd-trees are preposterously slow on the JVM compared to the old libANN C++ library, or naive kd-tree implementations. Factors of 100k to 1E6. I may be wrong, but I’m guessing trees confuse the bejeepers out of the JVM<p>Is somebody here knowledgeable enough to comment further on this? May this be due to excessive allocations and indirections? (It was also one of Bjarne's objections against Java.. composition of classes is always by reference.)
Yikes, one minute you're reading about the latest obsession of "Uncle Bob", next you're on a right-wing site defending the Nazi's view of modern art. There has to be some kind of mix between a "Bacon number" and Godwin's law…<p>By the way, was it Bob Martin who did the TDD sudoku solver? I'm always mixing up my XP evangelists.<p>And regarding last languages, I'm always reminded of the transputer/4GL/Prolog hype of ages past. Although one might argue that Lisp itself is probably a good candidate - but given the wide variety of existing and possible languages that could theoretically be called by that name, this isn't saying a lot.
I like the style of this guy. He is right, clojure won't be the last programming language (and it's my favorite language), the last/100 years programming language will be an artificial intelligence.
Are people really paying that much attention to languages being used? Most of my problems are finding and getting the right libraries to work with my apps. Learning new API or new libraries take up more time than worrying about language issues.
Clojure isn't even a Lisp, it is a bunch of misconceptions with lisp-like syntax.)<p>Attempt to make so-called lisp by breaking code-is-data concept, or trying to use some yaml-like notation instead of s-expression with annotations (to describe a representation where we need only a structure), without proper recursion is something as far from Lisp as, say, Python.<p>there is more - <a href="http://karma-engineering.com/lab/blog" rel="nofollow">http://karma-engineering.com/lab/blog</a>