The World's Best Living Programmers 285
itwbennett (1594911) writes "How do you measure success? If it's by Stack Overflow reputation, Google engineer Jon Skeet is the world's best programmer. If it's winning programming competitions, Gennady Korotkevich or Petr Mitrechev might be your pick. But what about Linus Torvalds? Or Richard Stallman? Or Donald Knuth? ITworld's Phil Johnson has rounded up a list of what just might be the world's top 14 programmers alive today."
No exhaustive.. (Score:5, Funny)
.. since I'm not in it.
Re: (Score:3)
That was my thought. I'm too busy writing real code (and posting on Slashdot) to be on their list.
Re:No exhaustive.. (Score:5, Informative)
For others that are too busy to click through the slideshow, here is the list:
Jon Skeet : Legendary Stack Overflow contributor
Gennady Korotkevich : Competitive programming prodigy
Linus Torvalds : Creator of Linux
Jeff Dean : The brains behind Google search indexing
John Carmack : Creator of Doom
Richard Stallman : Creator of Emacs, GCC
Petr Mitrechev : One of the top competitive programmers of all time
Fabrice Bellard : Creator of QEMU
Doug Cutting : Creator of Lucene
Donald Knuth : Author of The Art of Computer Programming
Anders Hejlsberg : Creator of Turbo Pascal
Ken Thompson : Creator of Unix
Adam D'Angelo : Co-founder of Quora
Sanjay Ghemawat : Key Google architect
Not exhaustive as it misses some big names... (Score:2, Insightful)
Marissa Mayer former innovator at Google and now CEO of Yahoo. She is well known for making Google Maps useful.
Brian Kernighan co-inventor of C.
Bjarne Stroustrup inventor of C++.
I would put a few of my picks above some of the names on that list.
Re: (Score:2)
Re: (Score:3)
Re:Not exhaustive as it misses some big names... (Score:4, Insightful)
Kernighan for SURE, but is Marissa Mayer really a programmer?
Re:No exhaustive.. (Score:5, Insightful)
Re: (Score:2)
Nope. That was Brian Kernighan and Dennis Ritchie.
Re:No exhaustive.. (Score:5, Insightful)
Kernighan wasn't involved until much later, according to Ritchie's own history of the language [bell-labs.com]. C was a direct successor to B, which was Thompson's brainchild, and he was directly involved in much of the development of C, though Ritchie was the lead on it.
People often assume it was Kernighan and Ritchie because they co-authored the seminal book on the language (the eponymous K&R white book), but that book didn't even get published until almost 6 years after C was already complete.
Re: (Score:3)
Re: (Score:3)
OTOH for Richard M. Stallman, he also did give us EMACS so that should disqualify him.
Great shell, too bad it doesn't have a decent editor.
Re:No exhaustive.. (Score:4, Funny)
Nobody from the OpenSSL project then...
Re: (Score:3)
Take a name off that list, and add Dan Bricklin/ Bob Frankston, [wikipedia.org] programmers of the first spreadsheet (Visicalc).
Re: (Score:2)
Re: (Score:3)
Every good programmer's genius goes towards uplifting his/her manager, his middle manager, his department, his company etc., but rarely the programmer himself. Since the company claims all credit, ownership and benefits of any code developed, no one knows who is responsible for what. So this list is a joke.
Do we know who exactly came up with the concept for Donkey Kong? Many companies hide such info because they don't want the talented programmer to get poached by another company. But still, they should rel
Re:No exhaustive.. (Score:5, Informative)
Actually, yes we do. Donkey Kong [wikipedia.org] was the first project by Shigeru Miyamoto. In fact, this was also the first appearance of Miyamoto's Mario character that has been continually reused ever since.
Re: (Score:2)
Actually, yes we do. Donkey Kong [wikipedia.org] was the first project by Shigeru Miyamoto. In fact, this was also the first appearance of Miyamoto's Mario character that has been continually reused ever since.
You're proving his point. Miyamoto didn't even know how to code at the time. The real programmers names are lost to time.
Miyamoto had high hopes for his new project, but lacked the technical skills to program it himself; instead, he conceived the game's concepts, then consulted technicians on whether they were possible. He wanted to make the characters different sizes, move in different manners, and react in various ways. However, Yokoi viewed Miyamoto's original design as too complex.Yokoi suggested using see-saws to catapult the hero across the screen; however, this proved too difficult to program. Miyamoto next thought of using sloped platforms and ladders for travel, with barrels for obstacles. When he asked that the game have multiple stages, the four-man programming team complained that he was essentially asking them to make the game repeat, but the team eventually successfully programmed the game.
You've no idea how many times I've finished a big project, walked into the presentation meeting and had whomever my boss was at the time, who had been at hooters during most of the project and use phrases like "It was a lot of work but I'm glad you like what I have done.
And of course, as soon as there's an error somewhere... he didn't write that bit... it was me. :-)
Re: (Score:3)
"No exhaustive"? I think you meant: !exhaustive
Re:No exhaustive.. (Score:4, Funny)
Now these guys may not be the best programmers out there. As programming is different for every type of job.
Someone who can compile a nice compiler may not be able to make an OS as well. Or an OS developer may not be able to make a clean User interface for a web site.
There are so many details out there that makes a comparison near impossible. What this list captures are the Most popular programmers. Who's popularity is often due to their personality that makes their program popular.
We as programmers tend to come up with new innovative solutions to problems all the time, and often all this work isn't noticed by anyone, because it works so well that no one ever notices.
Not sure about that (Score:5, Funny)
Re:Not sure about that (Score:4, Funny)
It's hard to take your anti-school stance seriously while you keep misspelling "you".
False. Einstein had a PhD from U. Zurich, top grad (Score:5, Informative)
Re: (Score:2)
Memorizing and reproducing algorithms in a school exam doesn't mean u can create new algorithms not created by others on u'r own.
You're making a pretty big assumption there about schools. Did it ever occur to you that maybe that assumption does not apply to the world's top schools?
Einstein NOT a School dropout (Score:2)
Einstein and Edison were school dropouts.
I have no clue which alternate reality you have come from but in this one Einstein was most definitely NOT a school dropout, for details see Wikipedia [wikipedia.org]. The worst that can be said about his education is that he initially failed to meet the required standard in the general entrance exam for the Zurich Polytechnic (although he excelled in the physics and maths portion) and had to go to a secondary school elsewhere for a few years before being admitted (at the age of 17) to the Polytechnic where he graduated w
Re: (Score:3)
Just memorizing a bunch of stuff doesn't teach you much, but if you don't know the basic you end up trying to base your new ideas and arguments on falsehoods...
No one said or even implied that nothing should ever be memorized. If you had no ability to retain information at all, you couldn't do anything. There's simply far too much useless memorization going on in schools, and no focus on real understanding.
Best game programmer (Score:2)
Re: (Score:2)
How do you qualify that? John Carmack's an excellent graphics engine programmer, but what does he know about gameplay mechanics? ...probably more than you and I put together; I imagine, but we just don't know.
Re: (Score:2)
Re:Best game programmer (Score:5, Interesting)
I'd argue Chris Sawyer, the programmer behind the original Rollercoaster Tycoon. The entire game was written in Assembly, and works on pretty much anything to this day without needing an emulator or any real fixes. Second place goes to Toady, the programmer of Dwarf Fortress, for singlehandedly making a game that goes into more detail than it should ever have reason to and still works most of the time.
Carmack, as far as I'm aware, was behind the horrible "update" of Doom 3 that released on Steam a few years ago, which wouldn't run on fully half the machines of the people who bought it. He was also behind Rage, which was a notorious crashfest.
Re: (Score:2)
This betrays the fact that the best games, from Indie games to AAA titles tend to be team efforts. Yes, games like Dwarf Fortress and Spelunky can be one person affairs, but for the rest of the world? Software or games development trends towards group work.
Re: (Score:2)
Rollercoaster Tycoon was the only game I've ever played that implemented object orientation so beautifully that even the user of the game could appreciate it. I remain impressed to this day.
Re: (Score:3)
Rage didn't crash a single time for me, and I didn't have any of the video driver issues some people where complaining about. I remember it being a fantastic, open shooter with some of the best AI and NPC animations I have ever seen, plus entertaining vehicle combat. And it ran fluidly on my old GTX275 card.
Anyway, JC deserves alot of credit for Doom and Quake alone, which were simply mind blowing, earth shattering games at the time.
Re: (Score:3)
Braben and Bell (Score:2)
Who's the best game programmer?
Easy: Braben and Bell who wrote 'Elite'. This game was so far ahead of its time it was simply unbelievable. It was one of (if not the) first true 3D game and contained 8 galaxies of 255 stars on a machine with 32kB of memory. It also introduced true "sandbox" gameplay. It might not stand up to today's standards and the sequels, while great games, were nowhere near as revolutionary, although it remains to be seen how Elite: Dangerous [frontier.co.uk] turns out - I have my fingers crossed!
So, no matter how you spin it, th
Re: (Score:2)
8 galaxies and 255 stars aren't so impressive if you consider it was generated by procedural generation. Procedural generation can be a very powerful, impressive tool, but in the case of Elite, creating some generic star systems is really not a big deal. If you want to see incredible precedural generation, look at "KKrieger".
What was really impressive was one of the sequels, Frontier: Elite. This game was really ahead of its time, as it contained not just star systems, but real planets you could land on, se
How would you know? (Score:5, Insightful)
You only know if you get to see their code, and/or if they are a public figure.
Re: (Score:2)
Re: (Score:2)
Well said. There are some really great developers out there that you'll likely never here about. Roland p on Atariage, for example, deserves a mention for his Ballblazer 2600 work. Really, a lot of the hobbyists there top-notch.
I'll bet you'll find quite a few well-above-average developers in communities like that.
Re: (Score:2)
Re: (Score:3)
True. This is as much a popularity contest as anything else.
If I were to select the "best programmer", my list would probably start with guys who write software that has to run in the "real world"... like the Shuttle GNC software which has to navigate in real time, while controlling the vehicles systems, and do this completely with a bug or a failure. Or the software that hundreds (thousands?) of airliners are running that is almost as stringent. Or... plenty of other programmers who must deal with real
Github Followers (Score:5, Insightful)
Re: (Score:3, Informative)
Being a good programmer is orthogonal with being a good manager so... why should one count management skills?
Torvalds is a good programmer, but really far from the best out there.
Re: (Score:2)
Funny you mention that. I was just looking over some gigs on Craigslist. I clicked an ad for a "Magento/Joomla Developer" and the first thing they list in the requirements is, "Strong Project Management Abilities".
I sort of feel like emailing them so I can ask why they want their developer to also be the project manager ... it's a rhetorical question since the ad is for a "boutique ad agency".
Re: (Score:2)
Funny you mention that. I was just looking over some gigs on Craigslist. I clicked an ad for a "Magento/Joomla Developer" and the first thing they list in the requirements is, "Strong Project Management Abilities".
I sort of feel like emailing them so I can ask why they want their developer to also be the project manager ... it's a rhetorical question since the ad is for a "boutique ad agency".
If you are a team lead developer, you better have some project management skills. Once you start working with code masses beyond a certain size and complexity, you enter the realm of engineering, with coding being an important but not the only skill required. Management and organizational skills are paramount in such circumstances.
Crapware is created not just because of a lack of good coding skills, but also because of lack of organizational skills.
Re:Github Followers (Score:4, Insightful)
Being a good programmer is orthogonal with being a good manager
I strongly disagree, assuming by "manager" we mean "team leader" rather than "HR manager".
Being an outstanding lone wolf programmer is of value, but significant projects are almost never single-person efforts. Real top programmers also have to be able to lead people.
Yeah right... (Score:3)
How about Terje Mathisen? I'd rank him higher than most in that listing. There are a lot of others more deserving to be in a top 10 list.
Stack Overflow reputation (Score:5, Insightful)
Stack Overflow reputation indicates that you're a 1337 documentation writer, not necessarily that you know how to program.
Re: (Score:3)
Stack Overflow reputation indicates that you're a 1337 documentation writer, not necessarily that you know how to program.
SO reputation indicates a number of things -- that you can understand and dissect problems and code from others, that you have intimate knowledge of the platforms you're answering about, that you can code reasonably well, and that you can communicate well.
Basically, someone with a high rep is very likely to be enthusiastic, knowledgable, and great to work with. Does this mean Jon Skeet can out-code an elite like John Carmack? No. Does it mean he's a good coder? Probably. One of the "top" programmers? Not e
Re: (Score:2)
Stack Overflow reputation indicates that you're a 1337 documentation writer, not necessarily that you know how to program.
You can infer the later from the quality and technical depth of the former. You can't routinely create highly technical programming responses without having the programming skills and experience to go with them.
I would include Bill Joy on the list (Score:5, Informative)
A better list than expected (Score:5, Informative)
Re:A better list than expected (Score:5, Funny)
It doesn't happen very often anymore, but for many years I kept hearing people say things like, "The story of Bill Gates shows what's so great about our country. The guy started out poor, he had absolutely nothing, but he was pretty much the best programmer in the world. Using nothing but his programming skills, he managed to become the richest guy in the world. It's a great success story."
Yeah, Bill Gates got rich by being a brilliant programmer, and Steve Jobs got rich by being a really nice guy. Meanwhile, Ballmer just skated by on his good looks, social graces, and beautiful head of hair.
damned multi-page (Score:3, Informative)
Gennady Korotkevich Main claim to fame: Competitive programming prodigy
Linus Torvalds Main claim to fame: Creator of Linux
Jeff Dean Main claim to fame: The brains behind Google search indexing
John Carmack Main claim to fame: Creator of Doom
Richard Stallman Main claim to fame: Creator of Emacs, GCC
Petr Mitrechev Main claim to fame: One of the top competitive programmers of all time
Fabrice Bellard Main claim to fame: Creator of QEMU
Doug Cutting Main claim to fame: Creator of Lucene
Donald Knuth Main claim to fame: Author of The Art of Computer Programming
Anders Hejlsberg Main claim to fame: Creator of Turbo Pascal
Ken Thompson Main claim to fame: Creator of Unix
Adam D'Angelo Main claim to fame: Co-founder of Quora
Sanjay Ghemawat Main claim to fame: Key Google architect
What if we include dead programmers? (Score:2)
Does the list even change? I'm thinking you basically just add Alan Turing.
Re: (Score:3)
Re: (Score:2)
Grace Hopper?
No Dave Cutler? (Score:2)
Designed & wrote VMX and Windows NT 3.1.
I guess lists like this are always a matter of opinion.
Jon Skeet doesn't belong on such a list (Score:5, Interesting)
I thought I'd get that in before too many other people do. I have better justification than most, as I *am* Jon Skeet. I saw the list yesterday, and we've been gently laughing about it at work.
Somewhere, the difference between fame and accomplishments has been lost. Don't get me wrong, I'm not a bad coder. I'm pretty knowledgeable about C# as a language, although details of writing *applications* in C# is a different matter. I'm pretty good at expressing technical concepts, and that's really useful in various contexts (Stack Overflow, books, screencasts, and of course work). But none of these are a patch on what some of the others on the list have accomplished.
As a Googler, I know a *bit* about what Jeff Dean and Sanjay Ghemawat have done - and it's obvious I'm not in the same league. The code I'm probably proudest of is Noda Time (my .NET date/time library) which has a few thousand users, if that. I hope I've had an impact everywhere I've worked, but it just isn't on the same scale as many of the other members of the list (let alone the many thousands of other notable programmers).
It's pretty clear I'm not actually on the list because of my coding skills - it's just due to Stack Overflow reputation. That indicates *something*, but it's definitely not the kind of measure you'd sensibly use to compare two programmers. Just as I'm proud of Noda Time, I'm proud of being able to help a lot of people on Stack Overflow - but I'm not under the delusion that even that's on the same level of impact as an awful lot of other coders.
For what it's worth, if I could substitute one other name for mine, it would be Eric Lippert. I'm not sure he's really be in the "top 14" or even whether that's meaningful - but I'd say he's at least *more* worthy of being there than I am.
Re: (Score:2)
Re:Jon Skeet doesn't belong on such a list (Score:5, Interesting)
What has Eric Lippert done, as far as programming?
A lot of work on the C# compiler, while he was still working for Microsoft.
Re: (Score:3)
That list presents the whole problem really nicely. It's not only about being a good programmer, but each of the individuals on the list are there because of their different personalities, which they've put forward along with their skill and talent. The absolutely best programmer would be found out in a competition, where the tasks would have been tailored for just that purpose. Anyway, these lists are like beauty pageants; only those who participate are deemed the most beautiful, excluding the ones who are
Re: (Score:2)
Joking aside, your post here clearly shows that you belong to the all time great people list. People with good name recognition who are not jerks are quite rare.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2, Funny)
*I'm* Jon Skeet and so's my wife.
Impact maybe? (Score:2)
Also, comments like yours are why I still read slashdot
Re: (Score:3)
There are people who write great code.
There are people who invent and design great software
There are people who promote great software and manage it.
They're not necessarily the same people.
Amusing... (Score:2)
...but I would argue that software engineering is a far more important a skill than programming.
Which thing is ultimately more valuable, the ability to write JavaScript (or C++, or Objective-C, or whatever) better than anyone else, or, the ability to architecturally scale a big data solution along swim lanes or using an AKF cube (or properly design a secure inter-process communication system, or whatever)?
I'm not trying to demean raw programming ability, because that's always a valuable skill, the problem i
Re: (Score:3)
To the people who hired you, the most important thing is getting the product to work reliably so they can start making money with it. It won't matter at all how pretty the chart bubbles are in the design document, if the program crashes or is otherwise unusable. So score one for the talented programmers there.
Which is not to say software engineering isn't important -- only that exactly how important it is will vary with the size of the project. e.g. for a smaller project like a script or a one-off data
Re: (Score:3)
To the people who hired you, the most important thing is getting the product to work reliably so they can start making money with it. It won't matter at all how pretty the chart bubbles are in the design document, if the program crashes or is otherwise unusable. So score one for the talented programmers there.
You are clearly demonstrating your lack of understanding about how to make software. You seem to think that software engineering is about "chart bubbles" and "design documents." It isn't at all. That's like saying that being an excellent race car driver is about how nice your car looks. It also isn't about how well you can drive a GoKart or a Formula 4 car, it's about your ability to drive anything necessary to accomplish your goals, your ability to make decisions, to mitigate risks, et cetera.
Talented
Re: (Score:2)
Thanks, "Assmasher". I value your learned input.
Re: (Score:2)
Good luck :)
Re: (Score:2)
The actual algorithms used in that game are fairly trivial, and he didn't invent them or anything, nor was coding them up a huge challenge.
They are not that trivial. Writing a 2.5D renderer and understanding BSP trees is quite hard. Not the hardest thing on the planet, but requires a guy with decent amount of experience.
Re: (Score:2)
Ultimately, programming and software engineering are the same thing
Not at all. This isn't some elitist "I'm not a programmer" kind of thing. I am a programmer, but that ability is a subset of my abilities as a software engineer.
Programming is the ability to instruct a computer to perform actions.
A programmer is someone who has this skill.
Software engineering is a superset of programming. It includes the abilities of a programmers, plus the skills, the ethos, and the discipline for all the other aspects of building software that are important. The discipline is the most
Re: (Score:2)
It always depends upon the circumstances.
There are times when being a great programmer could be the most important thing, but except in one man/woman operations this is very rarely the case.
It's overlooked because there's a romanticism (sad and geeky though it is) about wondrous programmers being able to leap tall feature lists with a single bound...
They got one thing right (Score:5, Funny)
I noticed that the guy who wrote their slideshow code wasn't on the list.
Knuth (Score:4, Funny)
ITworld's Phil Johnson has rounded up a list of what just might be the world's top 14 programmers alive today.
In the unpublished final volume of The Art of Computer Programming, Knuth describes an algorithm that can provide a complete emulation of any of the other 13.
Number of /. posts? (Score:3)
Even then, I don't think I rank anywhere special. Oh well.
John Carmack, no questions asked (Score:4, Interesting)
Longest uptime (Score:2)
Popularity Contest (Score:2)
Commander Keen (Score:2)
How can you take this list seriously? (Score:5, Funny)
Forget the arguments about who should or should not be on the list. I can't take seriously a list of the best programmers when they picked 14 and not a power of 2.
Criteria (Score:2)
Having discovered an algorithm? (Bonus points if it's named after you).
Created a programming language?
Written a book (on programming)?
Created a program that was somehow valuable or meaningful?
Educated other programmers?
Virus Writers.... (Score:2)
I've read about malware/virii that can run on multiple operating systems, have their own smtp engine, can perform all sorts of miracles, and yet, are all contained in about 16k of code.
Failing that, anyone remember the Amiga Demo scene? Those Norwegian programmers were doing things back then then that mainstream software would take 20 years to work up to. And they were all coding in assembly.
How about the dudes that wrote GEOS? Seriously, they got a Macintosh-like OS to fit on a floppy and run on a Commodor
Re: (Score:2)
Writing small, tricky, code require a certain set of skills but I believe that the mark of great programmers is the ability to scale up. That means writing clean, efficient and flexible code even on large projects.
Demos for example may look impressive but due to their non-interactive nature, they can use plenty of tricks that won't work in more general cases.
Guy Steele, anyone? (Score:3)
Given his major influence on:
C [amazon.com]
Java [amazon.com]
Common Lisp [amazon.com]
Scheme [readscheme.org]
And, as a throwaway on his Oracle bio page [oracle.com]:
He designed the original EMACS command set and was the first person to port TeX.
They should also do an infamy list (Score:2)
I don't know names, but just as an example:
The guy who came up with and implemented the Blizzard always-on DRM for Starcraft II and Diablo
The lead designer for Sim City (2013)
The man behind Active Desktop for Windows 98
The innovator behind the wondrous idea of multi-page web ranking articles
The team behind stuxnet (debatable, pretty snazzy piece of work, could use Zeus or some other example)
Key PRISM database team
etc
Of course that list is incomplete (Score:2)
Charles H Moore is not on that list, and it is a travesty that he isn't. Forth doesn't get a lot of press, but it is still extensively used despite being over 40 years old.
Bram (Score:4, Interesting)
A list done by a 15 years old (Score:3)
This truly is the crappiest list I've seen, and I have seen crappy lists. Creating a 'cool' site like Quora somehow gets you on that list, so does answering StackOverflow questions. I guess you either have to create websites or have Google on your resume to be on that list.
How about creating 2 of the most successful and important operating systems the world has ever seen ? Namely, VMS and Windows NT.
Oh yeah, David Cutler for example isn't on that list, I guess he should have stuck to creating websites in PHP...
Leslie Lamport anyone ? Oh no, he didn't work on some crappy website either, doesn't count !
Re: (Score:2)
Bill Gates
Only if success is measured in dollars earned for each line of code produced. Bill is no great programmer, he's just a lucky business man who hit the lottery with DOS and Windows. He wrote very little code...
Re: (Score:3)
Bill Gates and Paul Allen wrote the first BASIC interpreter for a microcomputer. Of course before they did that, they had to write an emulator for the target hardware since they didn't have an Altair. It's not enough to put him in the top ten, but it's unfair today he was no great programmer.
Re: (Score:3)
I'm not saying he cannot program, only that the majority of his success isn't from what he programmed but a lot of luck in the business moves he made. There are and where many programmers/engineers who could have done what he did. We wouldn't know who Bill Gates was, had Microsoft not had the lucky business breaks up front which enabled Bill to take some of the big money risks with his company and shape the PC market as we know it today by snatching the PC out from under IBM's nose. He'd not even be a fo
Re: (Score:2)
IMO he was a lucky buisness man but not just a lucky buisness man.
You get super-rich by both being in the right place at the right time AND having the skills to exploit that. One or the other is not sufficiant.
Re: (Score:2)
Re:it's just a popularity contest (Score:4, Insightful)
Re:I once interviewed the 'No.3 Clipper Programmer (Score:5, Funny)
The problem is that you were interviewing him for a job working with "Clipper", which he had almost no experience in.
If you had asked about adjusting the settings on his "#3 Clipper", which allowed him to produce anything from centimetre long shag to a 1 mm buzz cut, then you would have been amazed at how much he knew.
Re: (Score:2)
Yes, but a relevant fix on a kernel driver doesn't make you any money at all, whereas some shitty iOS fleshlight app can make you rich and famous. Just ask the guys at Rovio. This is one of the fundamental problems. Programmers have to make ends meet too, and there's apparently no shortage of fools willing to spend money on some stupid iOS/Android app.
I wonder if, "a few years ago" as you put it, the smart people working on some product in Linux distros were still young, in college, and didn't have many