5 ms·
Interview with the man who built Google's V8 engine from scratch
- atarashi 18y agoBak may be a computing genius, but he didn’t touch a computer until he was at university. Wow. I wonder how many 10x programmers got their start in college.
- fleaflicker 18y agoWould be an interesting poll for HN. I'm in that same boat, I bet a lot of the readers here are too.
- erlanger 18y agoI learned while in college, but not from it. I needed money, so I freelanced as a web developer. I've still never been in a CompSci course, but they sound stuffy.
- christofd 18y agoYeah, computers in high school were only for nerds. Nobody wants to hang with the calculator crowd. Later on that changed.
- biohacker42 18y agoSame here, had an Amiga before college, but only started programming in college.
- frisco 18y agoDavid Heinemeier Hansson has said the same thing, and talked about how it never interfered with his ability to do things like Rails.
- jonknee 18y agoIs he a genius programmer or marketer?
- larrykubin 18y agoI'd say both.
- ankhmoop 18y agoI haven't seen any evidence that DHH is a genius programmer, especially when his work is compared to that of someone like Lars Bak. Do you have a particular work of DHH's in mind as demonstrative of truly exceptional intellect and programming ability? I reviewed Rail's ORM implementation extensively when researching the field, and I found DHH's implementation to be remarkably naive, with most advances provided by third party developers, and absolutely no demonstrative knowledge (theoretical or otherwise) of the underlying relational algebra, security concerns, etc. A very simple example of implementation naivety: As of 2004, ActiveRecord implementation failed to even use parametrized SQL statements and was open to a variety of SQL injection attacks: http://article.gmane.org/gmane.comp.lang.ruby.rails/623 http://article.gmane.org/gmane.comp.lang.ruby.rails/623 http://article.gmane.org/gmane.comp.lang.ruby.rails/749 http://article.gmane.org/gmane.comp.lang.ruby.rails/749 In my reviews of DHH's work, I've not found code that I would consider 'genius', but note that this is not an argument that his work is without value.
- hello_moto 18y agoHe simplifies web-development. Can you say the same thing in regards to the developers that work for the following companies? SUN (Java), Microsoft (ASP/ASP.NET), Macromedia (ColdFusion). (and don't forget developers who use PHP, Perl and Python). Yes, he's sloppy/have no knowledge in certain areas... and I assume that's where people like you, ankhmoop, come into play and contribute. Just like Lars Bak with his soldiers.
- ankhmoop 18y agoYou don't need to be a genius to produce value. In my early 20s, I wrote a piece of widely popular software that's still in very active use today. I didn't solve the problem well, and I wouldn't call the implementation genius by any stretch of the imagination, but I made something useful and quite a few people use it every day -- probably more than use Rails, but I must admit I'm guessing. For all the value I've produced, I'm still embarrassed by the software, and all the more so when I see other developers emulating my design and approaches that I've since learned to be sub-optimal. The work wasn't genius, but yes, it simplified something important. The lesson I take away is this: value doesn't require genius, and it's foolish to conflate the two. I try to appreciate the value produced by others without making assumptions regarding their genius.
- hboon 18y agoAnd OOVM was the company that produced an embedded Smalltalk that was used in systems like speakers and stuff. I had always thought that's a pretty cool piece of work. [Lars] Bak - "If you have say, a small router or a dishwasher you can upgrade the code while it's running, no reboot is required" (http://www.smalltalk.org/versions/OOVM.html http://www.smalltalk.org/versions/OOVM.html)
- plinkplonk 18y agoKey Takeaway : If you are really really good at what you do, companies will pay you to work out of home, writing Open Source code, from scratch, at your own pace, on your own terms. For the rest of us there is always enterprise systems and cube farms. :-(. Yeah Ok I am just depressed at how much other programmers are better than me :-( More seriously though, I wouldn't have thought that there is such a "market" for expertise in writing VM s. Of course you probably get to be that good by not caring how much of a "market" there is to doing the things you love. "Prestige is just fossilized inspiration. If you do anything well enough, you'll make it prestigious. " - PG in his essay "How to Do What You Love"
- ErrantX 18y agomaybe not a huge market - but I guess when you can write a VM that works 56[sic] times as fast as IE's JS engine then people tend to let you have your own way :)
- patio11 18y agoI am just depressed at how much other programmers are better than me Learn a differentiating skill or two and suddenly you're the best programmer in the niche. Human languages, domain expertise, business/soft skills, etc etc. (I am no great shakes as a programmer but, if I actually cared to be "gainfully employed" for the duration of my career, being bilingual in Japanese/English and capable of programming my way out of a paper bag would pretty much guarantee it.)
- kirubakaran 18y agoOn a similar note: If you want an average successful life, it doesn’t take much planning. Just stay out of trouble, go to school, and apply for jobs you might like. But if you want something extraordinary, you have two paths: 1. Become the best at one specific thing. 2. Become very good (top 25%) at two or more things. The first strategy is difficult to the point of near impossibility. Few people will ever play in the NBA or make a platinum album. I don’t recommend anyone even try. The second strategy is fairly easy. Everyone has at least a few areas in which they could be in the top 25% with some effort. In my case, I can draw better than most people, but I’m hardly an artist. And I’m not any funnier than the average standup comedian who never makes it big, but I’m funnier than most people. The magic is that few people can draw well and write jokes. It’s the combination of the two that makes what I do so rare. And when you add in my business background, suddenly I had a topic that few cartoonists could hope to understand without living it. http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/career-advice.html http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/care...
- MikeCapone 18y ago"Companies don’t really make money out of web browsers – the Explorers, Safaris and Firefoxes of the internet. So why is a new one so important to Google? Why invest time and effort in a free product that generates no income for the company behind it?"" That sounds false to me. AFAIK, Firefox makes a lot of money for Mozilla via the search field (via adsense), and other browsers certainly do the same.
- smanek 18y agoI thought this was kind of funny: What does annoy him is people misunderstanding his work - or "the technology", as he puts it. One example he gives is an article about him in which the journalist confuses Java and JavaScript (the former is a stand-alone program which can be accessed online, the latter is a browser-dependent scripting language) I'd say that distinction between Java and Javascript is pretty wrong too ...
- benhoyt 18y agoThat is funny. "Browser-dependent scripting language" isn't too bad for JavaScript. But "stand-alone program" for Java? That's kind of like calling English a "stand-alone dictionary". Sure, I'm a programmer. But why is it so easy for a journalist to get a definition this wrong? Wikipedia immediately tells one that "Java is a programming language" -- http://en.wikipedia.org/wiki/Java_(programming_language) http://en.wikipedia.org/wiki/Java_(programming_language)
- chiffonade 18y agoJournalists are paid to promote and spin, not to get things right.
- tlrobinson 18y agoNit pick: JavaScript certainly isn't browser dependent, that just happens to be where it originated and the vast majority of usage takes place.
- tlrobinson 18y agoI can't stand reading articles about some technology I'm familiar with that are written for the average person, even if they're factually correct. It reminds me of this: http://xkcd.com/547/ http://xkcd.com/547/
- jdileo 18y agoSometimes an "average person", like me, is in the early stages of their study of your chosen field Mr. Robinson. As such, articles such as this are very helpful. Why the disdain and distrust of a novice trying to educate themselves?
- amix 18y agoThere's a question in the article if he has spent more than 10.000 hours - - I think he has. First, he holds a masters in CS (5 years at Aarhus Uni at minimum). He got his MSc in 1988 and has worked with VM's since then - that's 21 years of experience in implementing VM's. So really, there isn't an easy way to become really, really good at something ;-)
- whacked_new 18y agoThe 10k figure is a nice rule of thumb, but it's not very informative if you're counting them. "10 years to an expert" is also a good rule of thumb (which comes to 10k hours, for 3 hours a day), but it's also uninformative to count years. For the average person who diligently hacks away, 10 years seems about right. But some people are ferociously quick at improving and that's just how they are.
- andreyf 18y agoNext time, please point to print version: http://www.ft.com/cms/s/2/03775904-177c-11de-8c9d-0000779fd2ac,dwp_uuid=a712eb94-dc2b-11da-890d-0000779e2340,print=yes.html http://www.ft.com/cms/s/2/03775904-177c-11de-8c9d-0000779fd2...
- shimi 18y agoI liked the part about long hours, in my experience the long hours crowed are only wasting time. You come to work, you code, you leave that's as simple as that!
- cake 18y agoMe too, I certainly appreciate the work/life balance this guy is talking about. That's the kind of spirit I'm following and I'm glad some people aren't emphasizing the developer's myth of all nighters.
- c00p3r 18y agoThere is another less known but worth to mention project. There is a man, who wrote highly optimized (literally - he had counted every system call, every buffer) web server with proxy functionality - http://nginx.net/ http://nginx.net/ It is another example how one fanatical (and a little paranoid, of course) person could change the world. It is a brilliant work! If you will take a look at its source code - it is like poetry to those who understands. This server is being used mostly on extremely high loaded adult or dating sites around the world. It is also good example of how to do optimizations in general - modify a weakest (a slowest) component, test and measure, change the next one.
- deleted 18y ago[deleted]
- asdlfj2sd 18y agoWhat does annoy him is people misunderstanding his work – or “the technology”, as he puts it. One example he gives is an article about him in which the journalist confuses Java and JavaScript (the former is a stand-alone program which can be accessed online, the latter is a browser-dependent scripting language). We both laugh at the mistake, and for a moment I feel like Bak and I have clicked. Is technology that hard, or are journalists that lazy? both?