6 ms·
The following are taken from: http://news.ycombinator.com/item?id=1803351 http://news.ycombinator.com/item?id=1803351 ----norvig 449 days ago------ Peter Norv
by discreteevent 15y ago
The following are taken from: http://news.ycombinator.com/item?id=1803351 http://news.ycombinator.com/item?id=1803351
----norvig 449 days ago------
Peter Norvig here.
[....]
In terms of programming-in-the-large, at Google and elsewhere, I think that language choice is not as important as all the other choices: if you have the right overall architecture, the right team of programmers, the right development process that allows for rapid development with continuous improvement, then many languages will work for you; if you don't have those things you're in trouble regardless of your language choice.
----edw519 448 days ago----
[....]
Someone should write a program that automatically posts this paragraph [Norvig's] at the top of every language war thread. I think they should write that program in php :-)
----poet 449 days ago-----
An approximation of some of Norvig's recent thoughts (Feb 2010):
"(1) It just turned out that when Google was started, the core programmers were C++ programmers and they were very effective. Part of it is a little bit of culture. (2) Early Lisp programmers (Erann Gat) at Google actually noticed that other programmers were equally or more productive. It has more to do with the programmer; we're getting to the point where language choice is less important (as opposed to 20 years ago). (3) Lisp is optimized for a single programmer or a small group of programmers doing exploratory work... If I want to make a change in a weekend I'd rather do it in Lisp than anything else, but by the time you get up to hundreds of programers making changes are not a language problem but a social one. (4) Libraries."
Paraphrased from: http://www.youtube.com/watch?v=hE7k0_9k0VA#t=03m20s http://www.youtube.com/watch?v=hE7k0_9k0VA#t=03m20s.
- raganwald 15y agoYes, but given A = people, B = architecture, and C = language (and ignoring process for brevity’s sake), the two honking giant caveats are these: Just because A > B > C does not mean that C does not contribute to the result and can be dismissed. C may be less important than A, but that doesn’t mean it’s unimportant. Specifically, assuming you have a sane process for hiring people and a sane process for choosing a language (e.g. we are not talking about the gap between “I CAN HAZ CODES” programmers and Norvig, nor are we talking about the gap between Brainfuck and Lisp), the contribution of A to the result is not so many orders of magnitude greater than C that you can ignore C. And: A > B > C. Fine. But are these independent variables? No, we know that the language affects (for better or worse) your ability to attract and retain certain developers. So A and C are not independent. Likewise, certain architectures are just plain hell to implement with certain languages, so B and C are not independent. Solving for the maximal result of A, B, and C does not mean choosing A first, then B, and then C. It means choosing the best combination of all three at once. Update: Nothing I’ve said here disagrees with Norvig, caveats are warnings not to oversimplify, not suggestions the advice is incorrect. Also, http://paulgraham.com/pypar.html http://paulgraham.com/pypar.html
- discreteevent 15y agoI agree entirely. Its a balance, that's why I referenced the qoute from Norvig. Not to show that language has no importance at all but that even in this very particular case the author has a broader point of view than is represented in the article. Anyway even though I don't really miss C++ I was thinking the other day of all the code that I wrote in it when I had no choice but to use it. I got a lot of work done, and it wasn't a mess either. I would say that in my case anyway I tend to think that the language matters more than it does and this (in my case again) is a source of procrastination. So Norvig's qoute is like a kick in the backside for me (focus on what matters) and that's a good thing.
- hello_moto 15y agoThat's true, choice of language does attract certain type of developers. At one time in the past, it seemed that it was for the better goods. But lately, it isn't. Choice of language is used as a recruiting/promotion practice that may not be for the good of the business: they tend to attract people who jump between companies quickly as soon as they found another "cool" technology. Let's be very very very honest here. Geeks like to try the latest coolest cutting edge. Don't forget to add the allure of working at the coolest hottest startup in Silicon Valley (or the "chance" to be able work, given that you mastered a specific technology) for street-cred and if they're lucky, IPO or big $$$. How many times you see/hear/meet people switching jobs just because they don't want to be perceived as "behind the time"? (When in reality Google, Microsoft, are still moving forward with old-school technology). Personally, I felt that there's Fire and Motion (http://www.joelonsoftware.com/articles/fog0000000339.html http://www.joelonsoftware.com/articles/fog0000000339.html) going on in the so-called "hacker/startup" community. At the end of the day, there are some developers becoming the victim of Fire and Motion being executed by a small group of alpha-nerds that write the initial code in their preferred cutting edge technology and left the company for another cutting edge green-field software development, leaving the "legacy 2 years old code-base filled with hacks" to the next group of developers that try to catch up the boat. OK, enough ranting. Now, can we move on from the whole programming language war conversation?
- dextorious 15y ago"""Early Lisp programmers (Erann Gat) at Google actually noticed that other programmers were equally or more productive. It has more to do with the programmer;""" The might have been mighty good Lisp programmers, but if they had to "notice" that, instead of knowing it all along, they probably have drank too much of the Lisp kool-aid. Really, if Lisp is so productive, how come very few things of major importance have come in Lisp? Besides Emacs and/or Viaweb. 99% of stuff we use is made, well, NOT IN LISP (including variations on the Lisp theme, from Scheme to Clojure). If something was that much more productive, wouldn't it have surfaced in, you know, actually producing things? I understand that Lisp has a smaller developer population, but even so, if it's so much more productive, where are all the cool usable tools made in it, by some talented guys? I can mainly/only find some internal tools at that or this facility, or Lisp used for extension language. Opinions?