John Clements wrote at 09/30/2011 03:07 PM:
That's *also* the reason that you'll almost never see Racket used in industry. 
It's a language that doesn't compromise its ideals, and is constantly 
innovating, and if you're a business that's looking for a stable language with 
a broad supply of programmers, Racket would be an extremely surprising choice.

Cough, cough.  Well, you had to know I'd chime in on this... :)

Just this morning, I had to install a very large Racket-based system on a new machine, with a new major distro version. The Racket parts simply worked, but the relatively small Python bits (perhaps on the order of 1% of the code) were a time-wasting annoyance, from trying to figure out which distro packages now had the needed libraries, and crossing my fingers that the versions were compatible (thank you, PLaneT). And changing a *Python* version is something I wouldn't do, if at all possible, unlike Racket versions, where we like to sync up to the latest version. The database engine was also annoying. Again, the Racket parts simply worked, given a Racket install and the source files as checked out of the SCM system. Also just this morning, someone doing new development of a JS part of a Racket-based system was seeing some buggy behavior with an off-the-shelf JS component in the browsers, and I told them that I'd tackle that, but that if the debugging or fix gets too hard, a perfectly normal practice of JS developers is to keep trying and coding for different off-the-shelf JS components until they find one that works sufficiently well. Don't even ask me about the Java app I revived this year, taking more time than it would have taken to write from scratch using the Racket Web Server and continuations. Python, JS, and Java certainly keep a lot of programmers employed.

There's a lot more that I could say about various software engineering aspects of this question, but I'd need all day to try to say them well. Two points I can try to make quickly, however, are that: (1) "broad supply of programmers" in the Java or Python sense is not necessarily what you want; and (2) the programmers you do want for high-quality work on difficult problems might be in greater supply than you might think. As for #1, try doing development in Java nowadays, Googling on a technical question, and being surprised at the percentage of people talking who have little idea what they're doing, while you're still trying to find someone who does know. For #2, look at ITA Software, who chose to tackle a large systems development problem that perhaps no one else could do, and proceeded to find and hire a large number of smart people who knew Lisp. I heard that Google recently acquired ITA's software and people.

I'm not going to tell college students they can get jobs programming Racket, because, this year, they probably can't (unless they do startups). But I expect Racket to keep increasing in popularity for industry use for a while, especially if Racket continues to innovate while continuing to care about adoption. So please don't discount industry possibilities in your mind.

I admit there's some language-bashing here, Mom, but John started it. I'll go have a timeout.

--
http://www.neilvandyke.org/
_________________________________________________
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/users

Reply via email to