The World's Best Living Programmers
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."
.. since I'm not in it.
I think I have to contest that. Last semester I got straight As in both "Principles of programming languages" as well as "Algorithm Engineering".
You only know if you get to see their code, and/or if they are a public figure.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
If you go by Github followers, Linus is pretty up-there. Linus and Stallman aren't great just for their programming abilities; their capability to manage their projects so effectively is a huge factor in their success.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
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.
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.
How do you define best? Just because you've heard of someone doesn't mean they are the best. I programmed games back in the 80's and during that time I ran into like-minded people and within that group it's tough to tell, different people have different attributes, It certainly possible to tell who has natural talent, but I don't think "best" even makes sense.
Stack Overflow reputation indicates that you're a 1337 documentation writer, not necessarily that you know how to program.
BSD Unix, vi editor, Sun Microsystems....
I'm just impressed that neither Bill Gates nor Mark Zuckerberg were included. Most people who don't understand programming include one - or both - of them when building a list of "top programmers" even though neither are particularly outstanding programmers.
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
Jon Skeet Main claim to fame: Legendary Stack Overflow contributor
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
Does the list even change? I'm thinking you basically just add Alan Turing.
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.
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.
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 processing program, just about any design (or no design) can be made to work well enough. For a large program (or one that will eventually grow into a large program), detailed software engineering is necessary to prevent its eventual collapse under the weight of its own complexity.
I don't care if it's 90,000 hectares. That lake was not my doing.
Just FYI, that's quite false. Einstein passed his Matura (high school graduation exam), then attended Swiss Federal Polytechnic in Zürich, where he got top grades in math and physics and earned his teaching degree. He did his PhD at University of Zürich. Alfred Kleiner, Professor of Experimental Physics, was his adviser for his thesis "A New Determination of Molecular Dimensions" Kleiner didn't need to advise Einstein much - his previous paper, "Conclusions from the Capillarity Phenomena" had already been published in the prestigious "Annalen der Physik" (Annals of Physics).
More importantly, where is there code? How can you know if they are good programmers if you've never seen their code?
"First they came for the slanderers and i said nothing."
I noticed that the guy who wrote their slideshow code wasn't on the list.
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 programmers are sometimes good software engineers.
Talented software engineers are often good programmers.
the most important thing is getting the product to work reliably so they can start making money with it
You not only display your lack of understanding what software engineering is, but here you demonstrate your lack of realization that there are more independent software vendors in the world than just cash strapped startups who have to hack together whatever they can in order to begin generating revenue.
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
Amazing. You really don't understand that software engineering is the discipline of creating software properly. You seem to conflate it with architecture design documents and waterfall planning.
Software engineering is critical for any project of ANY size.
It is about decision making, risk mitigation, and proper use of resources.
People who think the way you are exhibiting here are the reason with why so much software is just garbage when it doesn't have to be.
Loading...
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.
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.
Even then, I don't think I rank anywhere special. Oh well.
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.
All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
He single-handedly ported Wolfenstein 3D to iOS after the development team said it would take them two months and go over budget. He did it in four days. https://web.archive.org/web/20...
"I think everyone is an agnostic but just doesn't know" - Frazz
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 foot note in the history of computers had DOS not made it, or IBM had realized what they where giving away and made some different choices.
But that's just it... IMHO the *really* good programmers are usually NOT very good at business or managing people/projects. They remain largely unknown because they don't have much mass appeal or name recognition and the job they do is largely hidden from public view. They don't usually make boat loads of cash, they are not national heroes and nobody makes movies about what they do. I've meet a few of them, really good programmers, who labor on in the trenches because they love what they do and sharpen their skills so they can do it better and faster. The exceptional programmers I know, usually do not believe they are special or gifted, usually have little education to prove their skills, but they LOVE their jobs and are internally driven to excellence because of the pride they take in their work. If you work in the industry long, you will meet one or two of these guys/gals and understand what I mean (if you don't already).
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
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.
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.
Given his major influence on:
C
Java
Common Lisp
Scheme
And, as a throwaway on his Oracle bio page:
He designed the original EMACS command set and was the first person to port TeX.
To a Lisp hacker, XML is S-expressions in drag.
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.
While we are at it, let's throw the Vim author Bram Moolenaar in the mix.
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 !