In an effort to spark some discussion and to find interesting people that I didn't know about, is there anybody around the software industry that you really admire? Perhaps admire is the wrong choice of word, but I'm sure there is somebody out there that has impacted you in a minor way.
What did you learn from this individual that defines what you try to achieve today?
Alan Turing [1], the father of modern computer science.
[1] http://en.wikipedia.org/wiki/Alan_TuringMartin Fowler [1]
Probably the person with the strongest influence on recent development trends like design patterns, agile methodologies.
Wikipedia [2]
[1] http://martinfowler.com/Anders Hejlsberg [1]; Turbo Pascal, Delphi, J++ and not least C# and the Microsoft .NET framework.
[1] http://en.wikipedia.org/wiki/Anders_HejlsbergGuido van Rossum [1], Benevolent Dictator for Life, Python.
[1] http://en.wikipedia.org/wiki/Guido_van_RossumScott Hanselman [1] - very visible and present in the community within the field I work. Exceptional knowledge sharing via blogs, interviews, forums, etc. Getting a lot of inspiration from this guy.
[1] http://www.hanselman.com/blog/Edsger Dijkstra. I will put together a list of recommended readings from his online archive
http://www.cs.utexas.edu/users/EWD/
How can you not appreciate somebody that can write this:
"It was a type of people I did not know, I found them very strange and they did not inspire confidence at all. Later I learned that I had been introduced to electronic engineers."
EWD1316
Or who has been at this stage on a project:
"I realized that my previous projects had only been agility exercises. I now had to confront complexity itself and try to find out the best way to do difficult things. But it took me a long time to gather the courage to do that. Alan Turing committed suicide; Kurt Gödel was on and off in a mental hospital. I was terribly frightened.... I was essentially incommunicado, hardly spoke, did not work. I would sit all evening silently staring at the white walls in our living room. Finally, one night at half past two, my wife collected me weeping on the carpet in that room. From that moment I realized that something had to be done." -- Turing Award acceptance speech, 1984
~~ Mark Harrison [1] ~~
[1] http://stackoverflow.com/users/116/mark-harrisonScott Guthrie [1] - He runs several of the dev teams that build the products I use everyday.
[1] http://weblogs.asp.net/Scottgu/Good Old Bill Gates [1] !!
He wrote the original BASIC compiler for DOS..
[1] http://en.wikipedia.org/wiki/Bill%5FGatesMark Russinovich [1]
From wikipedia [2]..
Russinovich is the author of many tools used by Windows NT and Windows 2000 kernel-mode programmers, and of the NTFS filesystem driver for DOS. He is widely regarded as a Windows expert. In 1996, Russinovich discovered that the difference between the workstation and server editions of Windows NT 4.0 comprised solely two values in the Windows Registry.
[1] http://blogs.technet.com/markrussinovich/I'm wandering why anybody hasn't mentioned Donald Ervin Knuth [1] yet. Yes, I understand he might not be the first violin in IT nowadays, though I think he's the greatest computer scientist ever. He might be considered as the introducer of analysis of algorithms, he's the author of TeX typesetting (can you imagine describing something we consider "beautiful" in programming language?) and of course TAOCP [2] - in my opinion, a programmer's Bible.
[1] http://en.wikipedia.org/wiki/Donald_knuthSteve Yegge. Worked at Amazon for several years and is now at Google. He wrote an internal blog at Amazon that he later made public, I found it educational and also extremely inspiring. It had a significant effect on my growth as a developer.
His current blog [1]
His amazon blog [2] (Better, IMHO)
[1] http://steve-yegge.blogspot.com/Larry Wall [1], because he invented Perl and had so much fun doing it. Laziness, impatience, and hubris man. All the way.
[1] http://www.wall.org/~larry/Steve Wozniak [1] wasn't he the father of the PC (graphical interface, mouse, floppy drive). If what I read is correct he did most of the development in his head cos he didn't have the money to buy the hardware.
[1] http://en.wikipedia.org/wiki/Steve_WozniakAnders Hejlsberg.
With C# I think he's shown an outstanding combination of knowledge, skill, pragmatism and leadership.
Tim Berners-Lee [1], who, as an independent contractor, invented the web!
No patents, no royalties. No attempt to cash in!
[1] http://en.wikipedia.org/wiki/Tim_Berners-LeeBrian Kernighan [1], through his writing of Software Tools, Elements of Programming Style and others.
[1] http://en.wikipedia.org/wiki/Brian_KernighanCountess Ada Lovelace [1] - 19th century female mathematician. Regarded by many as "the first programmer", for devising algorithms for Babbage [2]'s theoretical analytical engine [3]. Eponym of the Ada programming language [4].
[1] http://en.wikipedia.org/wiki/Ada_LovelaceDouglas Hofstadter [1], mainly for writing Godel, Escher, Bach [2]
[1] http://en.wikipedia.org/wiki/Douglas_HofstadterRichard Stallman. The guy is a little cracked out at times, but his impact on the software world is indisputable. He wrote emacs. He started the GNU project. The GPL will be a lasting legacy. I admire the man's (sometimes insane) conviction as much as his accomplishments.
John McCarthy [1], for inventing Lisp...
http://www-formal.stanford.edu/jmc/frames.html
[1] http://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)The Gang of Four [1], for their design pattern book.
[1] http://en.wikipedia.org/wiki/Gang_of_Four_(software)I was greatly influenced by all the old-school Bell Labs guys:
From these guys I learned economical programming on modest hardware, the importance of being able to write well and explain your ideas, and taking care to craft your programs beautifully. In addition to being awesome programmers, their collective books will stand the ages and instruct generations of programmers.
One in particular is less known than he ought to be:
Who invented the concept of pipes, and who many of the above say is the smartest guy in the room. Here are some Doug McIllroy facts:
http://www.cs.dartmouth.edu/~sinclair/doug
I love Paul Graham's essays [1]
Donald Knuth, Alan Cox, Linus Torvalds, Richard Stallman (whatever your opinion on RMS, he's quite a character!)
There are a few more, but I'm awful with names. I also admire Jeff and Joel, obviously.
[1] http://www.paulgraham.com/articles.htmlBram Moolenaar
No question in my mind: Ward Cunningham [1]
He can be thought of as the grandfather of agile, is the creator of Fit, CRC cards and is one of those amazing people to talk to, learn from and have a beer with.
[1] http://en.wikipedia.org/wiki/Ward_CunninghamBjarne Stroustrup [1] for developing my favourite language: C++
[1] http://en.wikipedia.org/wiki/Bjarne_StroustrupJosh Bloch [1]; made me realize after several years of writing in Java that I was taking way too many shortcuts.
[1] http://en.wikipedia.org/wiki/Joshua_BlochGotta be the Gu (Scott Guthrie) - his blog posts are epic, also highly respect Anders (Hejlsberg), especially as I have a Delphi background.
Otherwise, I have worked with a lot of really good guys over the years, and some not so good ones, that make you respect the good ones that much more!
Linus Torvalds is my hero for his affect on the OSS world, and his book Just For Fun makes me dream of writing an application 1/10th as significant as Linux.
Besides him, Yukihiro Matsumoto (aka Matz) changed my programming life by creating Ruby. I'm surprised nobody mentioned him yet actually. He wrote a programming language with the goal of the language being fun to use (for him at the very least), and I strongly believe he achieved that goal. I just wish I could understand Japanese so I could read writings or listen to speeches of his in his native tongue.
There are many others I respect for their work and writing, but those 2 are probably my favorite for making things that I adore.
Someone aldready said his name : John Carmack
He is the co-founder of id Software and well known for his optimizations like the magical inverse float square root implementation in quake 3 : (notice : no loop !!)
float Q_rsqrt( float number ){
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // evil floating point bit level hacking
i = 0x5f3759df - ( i >> 1 ); // wtf?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed
#ifndef Q3_VM
#ifdef __linux__
assert( !isnan(y) ); // bk010122 - FPE?
#endif
#endif
return y;
}
Bill Joy [1]
[1] http://en.wikipedia.org/wiki/Bill_JoyAfter growing up in suburban Detroit, Michigan, Bill Joy received his B.S. in Electrical Engineering from the University of Michigan and his M.S. in EECS from UC Berkeley in 1979.[1] Joy's PhD advisor was Robert Fabry.
Joy was largely responsible for the authorship of Berkeley UNIX, also known as BSD, from which spring many modern forms of UNIX, including FreeBSD, NetBSD, and OpenBSD. Apple Computer has also based much of the Mac OS X operating system line on BSD technology. Some of his most notable contributions were the vi editor, NFS, and the csh shell.
Joy's prowess as a computer programmer is legendary, with an oft-told anecdote that he wrote the vi editor in a weekend. Joy denies this assertion. The mythopoesis continues, with Eric Schmidt, at the time CEO of Novell, while interviewed in PBS's documentary Nerds 2.0.1, inflating the accomplishment to Bill Joy having rewritten BSD in a weekend.
I'm surprised no one has even mentioned Steve McConnell. I'm not sure how good of a developer he is, but his books are amazing - he knows his stuff, and presents it well.
John [1] Resig [2] should be on this list.
[1] http://ejohn.org/Every developer that contributes to the community in some way!
I don't "idolize" any single person. The community just feeds off itself so much these days, and that's inspiration/influence enough!
Somebody has to mention Guido Van Rossum [1], creator and Benevolent Dictator for Life of Python.
[1] http://en.wikipedia.org/wiki/Guido_van_RossumDifferent name -- but if you read his background you'll realise he's definitely a software guy as well as just hardware.
Steve Wozniak
My hero is Alan Kay, one of the fathers of smalltalk and also more or less the inventor of the notebook.
This is my list;
Joel Spolsky, he definitely change my mind when I discovered his blog.
that's it
Charles Babbage
Ada Lovelace
Alan Turing
George Boole
Marvin Minsky
to name but a few heavyweights whose work I sometimes struggle to understand, not current I know, but they really did blaze a trail
... on the shoulders of giants
hmmm... not sure if there is anyone who I admire most.
My first blogs were Jeff [1] and Joel [2], and they were the most influential so far. I do not have a formal education as a developer, so when I started doing development, Joel's postings were my first steps into "real" corporate development. Reading about stuff like Project Planning, how to sell stuff etc. was like opening the door into a whole new world.
In the past years I learned to see the posts with more critique - I recognize that Joel is the Business guy who of course wants to sell stuff - which is not meant negatively. Once you start questioning the people it seems that I realized what the posts are actually about, how they apply in certain situations etc.
Nowadays, I also like to follow Scott Hanselman [3] and Raymond Chen [4]. Scott because he is a .net Developer with a great Podcast. Raymond because he gives a lot of insight into the thinking process. I am not a C or Win32-API developer, so most of the code in his posts are useless to me, but the whole background behind it give new insights to make my own conclusions.
[1] http://www.codinghorror.com/Scott Adams, creator of Dilbert [1]
I may have to withdraw this nomination. It appears Adams has Creationist tendencies.
Since you ask, Swingline Rage, firstly I didn't "blast" anyone. I merely downgraded my private estimation of Adams, because I think that a man who makes a living mocking idiots should not engage in public displays of stupidity.
Secondly, you don't seem to be showing much of the tolerance for others' opinions that you think I lack.
And thirdly, if you think that it is some kind of crime to object to religious belief, tell me: were the people whose religious beliefs motivated them to knock down the Twin Trade Towers entitled to their opinions?
[1] http://feeds.feedburner.com/DilbertDailyStrip?format=xmlJohn Carmack,
Michael Abrash,
John Romero
Peter Norton,
Bill Gates,
Steve Wozniak,
Brian Kernighan,
Dennis Ritchie,
Ken Thompson,
W. Richard Stevens,
Andrew Tanenbaum,
Linus Torvalds
Vinton Cerf, Robert Kahn (not precisely programmers.., fathers of the actual Internet)
Steven bellovin,
Robert Morris (coder of the Internet worm)
Larry Page & Sergey Brin. Try doing your job without using their research project. ;)
Douglas Crockford [1] of Yahoo! One of the most inspirational speakers I've ever seen. His videos [2] should be required watching for anyone interested in our profession, and especially for anyone working with JavaScript. He just brought out a book called JavaScript: The Good Parts [3]
[1] http://crockford.com/Simon Peyton Jones
Yukihiro Matsumoto (a.k.a. Matz [1])
[1] http://www.rubyist.net/~matz/Language designers want to design the perfect language. They want to be able to say, "My language is perfect. It can do everything." But it's just plain impossible to design a perfect language, because there are two ways to look at a language. One way is by looking at what can be done with that language. The other is by looking at how we feel using that language—how we feel while programming.
Because of the Turing completeness theory, everything one Turing-complete language can do can theoretically be done by another Turing-complete language, but at a different cost. You can do everything in assembler, but no one wants to program in assembler anymore. From the viewpoint of what you can do, therefore, languages do differ—but the differences are limited. For example, Python and Ruby provide almost the same power to the programmer.
Instead of emphasizing the what, I want to emphasize the how part: how we feel while programming. That's Ruby's main difference from other language designs. I emphasize the feeling, in particular, how I feel using Ruby. I didn't work hard to make Ruby perfect for everyone, because you feel differently from me. No language can be perfect for everyone. I tried to make Ruby perfect for me, but maybe it's not perfect for you. The perfect language for Guido van Rossum is probably Python.
The late W. Richard Stevens [1], whose books on UNIX and network programming were packed full of excellent code.
[1] http://en.wikipedia.org/wiki/W._Richard_StevensDavid Heinemeier Hansson [1] for having opinions and for showing with Ruby on Rails that you don't have to put up with a lot of the Temple of Complexity crap that other frameworks and platforms foist upon you.
Somehow he has a reputation for arrogance, but he's super nice and humble when you meet him.
[1] http://www.loudthinking.com/Linus Torvalds [1]
(But Jeff Minter's [2] C64 games blew my mind, back in the days)
[1] http://en.wikipedia.org/wiki/Linus%5FTorvaldsAnders Hejlsberg [1] and Scott Guthrie [2] for shaping Microsoft Development and .NET.
Edsger Dijkstra [3], Alan Turing [4], and Donald Knuth [5] for giving us the fundamentals and making Computer Science a college field of study.
[1] http://en.wikipedia.org/wiki/Anders%5FHejlsbergJames Gosling [1], father of the Java programming language.
[1] http://en.wikipedia.org/wiki/James_GoslingNobody's mentioned Andrew Tanenbaum [1], not a programming hero per se, but instrumental in development of computing (and his work on algorithms, compilers and Operating systems is pretty influential)
[1] http://en.wikipedia.org/wiki/Andrew_S._TanenbaumPeter Norton.
His book on assembly language programming really launched me into programming.
Konrad Zuse [1], inventor of the first freely programmable computer [2].
[1] http://en.wikipedia.org/wiki/Konrad_ZuseJustin Frankel [1]
Justin Frankel (born 1978) is an American computer programmer best known for his work on the Winamp media player application and for inventing the Gnutella peer-to-peer system. He's also the founder of Cockos Incorporated which creates music production and development software such as the REAPER digital audio workstation, the NINJAM collaborative music tool and the Jesusonic expandable effects processor.
WinAmp changed music on the desktop, it transformed the industry I worked in (Music of course), and I still use it daily on a number of machines. I also use ShoutCast to listen to my home music as I roam, and finally even in the form of something as trivial as pathsync I use his utilities daily to backup and keep my various Windows boxes in sync.
Oh, and I hope that by putting him down here that he might buy me a new bicycle from his AOL millions.
[1] http://en.wikipedia.org/wiki/Justin_FrankelJohn McCarthy, Artificial Intelligence Laboratory, Stanford University
The guy is a genius, and he has influenced most of the great minds in Computer Science. He also created the language language, lisp. And he is into AI, if you don't think AI is cool just go home now.
Eric S. Raymond [1] for his pragmatic vision of the open source/free softwares
[1] http://fr.wikipedia.org/wiki/Eric_RaymondI have to admit, I am very much thinking of seconding Lars [1].
Jeff has had a real beating lately on other blogs by people that claim the quality of his blog has deteriorated (I disagree). I also find it fantastic that while they have been saying this, Jeff (and his team) have produced a site that has to be the next best thing to sliced bread for the programming community. I am really pleased with this site and where it is heading.
Hell, when it comes to monetising it. I can truly say I would gladly pay for "premium" (or whatever) membership if they decide to go with that model. There are not many sites that get that from me.
There are other greats, such as Linus Torvalds, but I just find him an arrogant geek, which I think the software industry can do without. We need more guys working together, wanting to improve their craft and be themselves and have fun with the code. This is not only how I feel, but I personally think Jeff promotes this a great deal as well.
+1 to Lars :)
[1] http://stackoverflow.com/questions/9545/who-in-the-software-world-do-you-admire-the-most#9550People may down-vote me for this but I was put onto Carl Franklin's and Richard Campbell's .NET Rocks [1] when I was starting out, and I've learnt much from the various topics they cover.
I probably admire their passion for making cool stuff with .Net the most, but also the interest in making my life easier by showcasing powerful tools and tech.
[1] http://dotnetrocks.com/I'd actually tie it between Oren Eini [1] && Jean-Paul S. Boodhoo [2]
Both are great programmers, very active, never stop learning, never stop teaching.
[1] http://ayende.com/P.J. Plauger [1] for so MANY things, but mostly for Whitesmiths the company that made it possible for a poor CP/M-bound programmer to have the same high quality C compiler on almost every platfrom around in the
His awesome books:
Oh, and Dinkumware provided the first STL library for Microsoft C (too bad it was so horribly maintained by Microsoft in later releases).
[1] http://en.wikipedia.org/wiki/P.J._PlaugerChris Sawyer [1] - Transport Tycoon & Rollercoaster Tycoon
"Sawyer designed and programmed most of his games entirely by himself, using only the services of a freelance artist (Simon Foster) and a musician."
[1] http://en.wikipedia.org/wiki/Chris_SawyerKen Williams... of Sierra Online / King's Quest/Leisure Suit Larry/Space Quest infamy. Although he didn't code the mainstream interpreters that powered all their famous games, he did write the original Mystery House.
Bram Cohen - BitTorrent
I wish to name somebody from the new age: Paul Buchheit [1] - creator and lead developer of Gmail - and he has a blog. I admire his approach to design.
[1] http://en.wikipedia.org/wiki/Paul_BuchheitHrm...
Martin Fowler - for Refactoring
Kent Beck - for TDD
Anders Hejlsberg for Delphi and C#
Jeff Minter for LLamas
This is very similar to this question [1].
[1] http://stackoverflow.com/questions/9545/who-in-the-software-world-do-you-admire-the-mostDennis Ritchie.
What's your favorite programming language? Unless you said "assembler", it's likely a descendant of his invention: C
Charles H. Moore [1]. The inventor of Forth and his own parallel IT industry.
"I've long been dissatisfied with computer languages and applications. It seems that many people are. Operating systems are incredibly complex and unreliable. Applications are huge and buggy. A large industry now exploits this, so the situation won't improve.
It need not be. I can't change the industry, but I can provide a few clients with elegant software. Trained as a physicist, I've written software for 40 years. See resume or biography. I'm not a manager. I don't have an organization. But I'm expert at analysing and solving problems"
[1] http://en.wikipedia.org/wiki/Charles_H._MooreAlonzo Church [1], creator of lambda calculus (apart from God ofcourse).
[1] http://en.wikipedia.org/wiki/Alonzo_ChurchShigeru Miyamoto [1], creator of Donkey Kong, Mario, Zelda, F-Zero, Starfox, Kirby, Pikmin, Nintendogs, Wii Sports, Wii Fit. Oh and he played a major part in designing the Wii and the DS.
[1] http://en.wikipedia.org/wiki/Shigeru_MiyamotoRobert C. "Uncle Bob" Martin.
Charles Petzold will hold my top spot for a long time - for his programming books, but more so for writing CODE [1]
[1] http://rads.stackoverflow.com/amzn/click/0735611319Andy Hertzfeld, Bill Atkinson, Burrell Smith, Jef Raskin. these guys were the original Macintosh development team. You can read about the dev of the original Mac at folklore.org [1]
[1] http://www.folklore.org/index.pyFollowing the rules of the question, I voted up the ones I would have put.
One addition:
Audrey Tang [1]
Implementing a Perl 6 spec in Haskell? Respect.
[1] http://en.wikipedia.org/wiki/Audrey_TangDouglas Crockford
A severely under-recognized player is Brad Fitzpatrick of LiveJournal/memcached/OpenID fame. The internet wouldn't be what it is today without his contributions.
All of the above I suppose, but also the early pioneers.
As well as the obvious ones: Alan Turing, Charles Babbage, etc I always add Tommy Flowers - an obscure telephone switch engineer who actually made the early code-cracking computers work.
Kathy Sierra. [1]
She really changed the way i thought about the importance of UI/workflow aspects of developing software.
[1] http://headrush.typepad.com/My Dad.
Does anyone else's dad program!?
Jeff Atwood
I was getting into a "I have a business to run and I know all I need to know about coding" mentality a few years back. I was shaken out of it when I visited his Coding Horror [1] blog about two years ago and I realized that I was missing out on some very exciting developments with respect to best practices. In particular, one of his columns (I forget which one) really inspired me to "rediscover" the field.
Oh, and of course, Jeff (along with Joel) is behind SO and this site has become an enormously important resource to me as well.
[1] http://www.codinghorror.com/blog/Donald Knuth, John Carmack, those sort. I just go for the brilliant ones, and hope talent rubs off. :D
I know Linus Torvalds rubs a lot of people the wrong way, but I admire the guy's organizational and evangelical (in terms of the early 'selling' of Linux) skills. And Miguel de Icaza, cause the guy seems to get stuff done, and done right. Which I admire.
Scott "Effective C++" Meyers Herb "Exceptional C++" Sutter Sutter & Alexandrescu - 101 Coding guidelines
Carl Franklin -- I admired his work with Crescent Software with QuickBASIC and VBDos and DotNetRocks is almost solely responsible for making me feel like I actually know something about .Net
Roy Osherove - Roy Kills RegEx Dead!!
Dave Cutler - character and code...
Venkat Subramaniam [1] has been a humongous personal influence to me. I took a course from him at the University of Houston and it wasn't until then when I started to open my eyes to quality software, good code, good design, agile methods, etc. He opened the floodgate for me.
[1] http://agiledeveloper.com/blog/All the Implementors that worked at Infocom back in the '80s. Not only were the games fantastic, but the Z-Machine was a fantastic system (possibly the commercial first virtual machine.) And bonus points to them for figuring out how to turn their years in the MIT AI lab writing natural language processors in LISP into a multi-million dollar company.
<3 Jeff <3
I really admire the fact that a person can be both a very competent software developer, and still write interesting posts about the subject without drowning it in jargon.
There are a lot of bloggers that write very good posts about the tech, but codinghorror.com has been on the top of my reading list for a while because of Jeff's way of balancing the tech and the people talk.
Myself?
I wouldn't be in the software world, if it weren't for me!
+1 for Dijkstra. He pretty much defined what we are doing here:
Don't compete with me: firstly, I have more experience, and secondly, I have chosen the weapons.
- Edsger Dijkstra
Then there is _why, the lucky stiff, basically because he brings us quality Ruby libraries and funny documentation, and because he remains a mystery.
Kathy Sierra [1] for her essays on usability aspects of software. It's a shame that the blogosphere killed the female software blogging star.
[1] http://en.wikipedia.org/wiki/Kathy_SierraWhen I was a kid, my hero was scott miller [1]
[1] http://en.wikipedia.org/wiki/Scott_Miller_(programmer)Oleg [1]
And all the fathers of LISP and Scheme and Alonzo Church and Charles Babbage! So many!
[1] http://okmij.org/ftp/Larry Wall. Perl. A work of art and brilliant inspiration. Nuff said.
i admire Jon Skeet for his over 76,000 reputation score on stack overflow.
Claude Shannon [1]
He discovered that you can represent boolean logic with electricity
He is the father of all electric computers!
[1] http://en.wikipedia.org/wiki/Claude%5FShannonA. K. Dewdney [1] and his column Computer Recreations in Scientific American:
*1984. In the game called Core War hostile programs engage in a battle of bits, Computer Recreations,Scientific American, May: 14-22
*1985. A computer microscope zooms in for a close look at the most complicated object in mathematics, Computer Recreations,Scientific American, Aug: 16-24
...
That was the kick in the right direction, happened long-long ago, which finally led me into programming.
Otherwise, now I'd probably know nothing about Knuth, Stroustrup, Gang of Four, you name it.
Christopher Alexander [1], inventor (or discoverer) of patterns. His writing is about (real world) architecture rather than computer architecture, but it's beautiful - and gives as good an insight into the idea of software patterns as the Gang of Four who were inspired by him.
[1] http://en.wikipedia.org/wiki/Christopher_AlexanderSir Tony Hoare (aka C.A.R. Hoare) [1], for his magnificent dissing of Ada in The Emperor's Old Clothes [2], and, of course, for Communicating Sequential Processes [3]
[1] http://en.wikipedia.org/wiki/C._A._R._HoareBram Moolenaar [1], author of Vim [2]. He had created the perfect tool for free.
[1] http://www.moolenaar.net/In the spirit of avoiding a "ditto" in agreement with the many very qualified names above, I'd like to say Mark Russinovich [1].
The work he did under the banner of the SysInternals suite of tools have really, really been handy in the past and the present. Not only has he been up to his neck in Windows internals for as long as I can remember, he actively blogs and writes articles to share the knowledge.
[1] http://blogs.technet.com/markrussinovich/I vote for the "unknown programmer", the bloke who doesn't get the glory, but has a passion and a love for the true art and craft of creating great software.
DJ Bernstein. Call me crazy, but I admire his uncompromising idealism, even when it goes against convention. Also, the man is responsible for much of the precedent that software is free speech, and he's the reason we are able to publish open source security software globally. See here [1].
[1] http://en.wikipedia.org/wiki/Bernstein_v._United_StatesDon Syme [1]
This guy is a genius ... Creator of F# and responsible for the design and implementation of support for Generics in C#, the CLR, Visual Basic and other languages
( blog [2])
[1] http://research.microsoft.com/~dsyme/Somebody that none of you would have heard of... Eunice Gerrand.
Hardly the world's greatest programmer - but she was my Computer Science teacher in high-school and got me interested in programming (BBC BASIC ah those were the days...). Therefore I basically (ho-ho-ho!) have her to thank for my career. Or to blame for my career. Whatever.
David H. Ahl [1] He founded and pushished Creative Computing [2] magazine, one of (if not the first) magazine about personal computers. He was later head of Atari Explorer magazine -- the magazine that got me into programming.
[1] http://www.swapmeetdave.com/Ahl/DHA.htmI think maybe Jon Bentley.
His (quite old now, but still pertinent) book Programming Pearls was one of the inspirations for me to try to be my best at programming, and influenced the way I thought about programming, a lot.
Here is an excerpt from the book. [1]
I'd love to write more influences too, but your question said one person per post...
[1] http://netlib.bell-labs.com/cm/cs/pearls/bote.htmlMy Dad. If he hadn't brought home a TRS-80 for Christmas 1978, I imagine my life today would be quite different. He wasn't a hardcore programmer/hacker/architect--more like a EE who used code various aspects of his work, but he continues to inspire me to solve problems, work hard and try to be a good person to this day.
Point of clarification: this is technically not a duplicate of others who have indicated their fathers, as I am quite certain they were not referring to my father.
People are naming lots of "famous" developers, but the most influential developer in my career has been the people I've worked for.
Vannevar Bush = inventor of Memex that led to the core technologies of the Internet
Jean-Paul Boodhoo, watch his stuff on DnrTV : http://www.dnrtv.com/archives.aspx
I think if you can follow him in realtime you're doing well!
Fred Brooks [1]. For "Mythical man month", "No silver bullet" and others.
Nobody should ever forget "Adding manpower to a late software project makes it later."
[1] http://en.wikipedia.org/wiki/Fred%5FBrooksGrace Murray Hopper [1]: I heard her speak once - very interesting and engaging. I was also pleased to receive one of her nanoseconds! (For those who don't know, she was somewhat well known for giving out little pieces of wire cut to be the length that light travels in one nanosecond - IIRC, she said it made it easier for admirals to understand what she was talking about.)
[1] http://en.wikipedia.org/wiki/Grace%5FhopperTwo words...
Bill Gates.
I really like Scott Hansleman [1] and his presentations! You can learn a lot of things and never get bored!
[1] http://www.hanselman.com/blog/Scott Hanselman: That guy just did what he loves out loud. Blogged about it, podcasted about it, and now it working for the mothership.
His passion and drive is remarkable.
Can I sneak Douglas Adams [1] in here? :-)
[1] http://en.wikipedia.org/wiki/Douglas%5FAdams#Computer%5Fgames%5Fand%5FprojectsNiklaus Wirth [1] inventor/designer of several languages, including Pascal, Modula, Modula-2, and Oberon.
[1] http://en.wikipedia.org/wiki/Niklaus%5FWirthOk went through this entire thread and saw no mention of Joel Spolsky [1]. He's a founder of this very website. Ok maybe not as groundbreaking as Strastroup, Lovelace or Tannenbaum, but he wrote some damn good books, and his blog/column is a very influential one.
[1] http://www.joelonsoftware.com/Ken Thompson [1] partly for his work on Unix and also for UTF-8 but above all for his paper Reflections on Trusting Trust [2] which, after reading, will give you a small twinge of dread every time you run make.
[1] http://en.wikipedia.org/wiki/Ken_ThompsonMy own colleagues influence me the most on a day to day basis. As I try to influence them.
Arun Kishan
Anyone that can get rid of the dispatcher database spinlock is pretty darn good considering how long Microsoft as tried to find a good solution for this.
Wietse Venema [1]
Wikipedia entry here [2]
[1] http://www.porcupine.org/wietse/Raymond Chen and Scott Guthre.
David Parnas. He's the guy who came up with encapsulation, a concept so core I think software engineering as we know it would be impossible without it. His essays are clear, cogent and well argued, and he's done great work for decades.
Robert E. Tarjan, from Bell Labs. Implementing his planarity testing algorithm probably helped me discover the beauty of algorithms.
I would go with Rockford Lhotka [1] who's CSLA Framework led me to David West and his book Object Thinking [2]. This has been a foundation I draw from when looking for solutions.
Keith
[1] http://www.lhotka.net/In general, people with one foot in programming and one foot very publicly in the world of ideas for the public good:
Doug Engelbart (and thus Bill English, for stretching technology through ideas beyond the vocabulary of the time)
Everybody associated with the Near Future Laboratory (for their relentless combination of user experience, urbanism, tech device development, and culture theory)
John Langford (machine learning, for a commitment to both theory and performance, and for constant attention to the machine learning community itself)
Paul Graham (for the commitment to speedy and wanton development, and sticking to what he knows is good even through lean times)
Lee Felsenstein (for the dedication to public computing)
Adam Greenfield (for a commitment to the convivial experience of public life)
Jimmy Wales
Dan Bricklin (for both the spreadsheet and his work on social infrastructural computing)
Clay Shirky (for carefully thinking through the social problems of archiving)
Robert Lefkowitz (for connecting his work to deeper history, in particular the history of literacy)
This is my list
Rodney Zaks, from fun times in the early 80s when learning 8 bit assemblers was right up there with practicing black magic or knowing all the kick ass moves from the Karate Kid. Oh, and Clive Sinclair for giving us a cheap Z80 based machine to practice these skills on.
Jeff Dean [1], Google Fellow.
He's worked on a great many things, but notably MapReduce [2] and BigTable [3].
There's an internal page called "Jeff Dean facts" which lists things like: gcc has an option -O4 that sends code to Jeff Dean for a complete rewrite. Respect!
[1] http://research.google.com/people/jeff/index.htmlHero might be a bit strong, but I really admire Landon Dyer, who writes the DadHacker [1] blog. He's got some very entertaining and informative stories about life as a programmer at Atari in the early 80's.
I'm very nostalgic about that era of computing and gaming, and I love reading about the people who made it happen.
Ok, if I need a bona fide hero to comply with this thread, I'll throw in Richard Stallman. Ever since I read Free as in Freedom, I've thought of RMS as worthy of high praise.
[1] http://www.dadhacker.com/blog/?p=987Alex Martelli - He is very helpful on Comp.Lang.Python and his posts are always worth reading if you don't normally care about the topic!
http://en.wikipedia.org/wiki/Alex_Martelli
Bill Wagner - http://srtsolutions.com/blogs/billwagner/default.aspx Author of Effective Programming.
Gotta be Archer Maclean [1]..IK+ and Jimmy Whites Whirlwind Snooker consumed a large part of childhood!
[1] http://en.wikipedia.org/wiki/Archer_MacleanStan Kelly-Bootle [1] for teaching me that computer problems can be a joy, and that "data processing" is fun.
His book "The Devil's DP Dictionary" is the prototype that the "Hacker Dictionary" was built on, and is like a dictionary of XKCD [2] jokes from the early days of computing.
[1] http://en.wikipedia.org/wiki/Stan_Kelly-BootleMy mentor, Richard Keene, has to be hands down the greatest guy I've ever met. He's helped me a-lot and was always encouraging and understanding.
Here is his site: cpjava.net [1]
[1] http://www.cpjava.netI'm a big fan of Justin Frankel [1] of Winamp/Gnutella/Reaper fame. His attitude and passion for software keeps pushing me to be better.
[1] http://en.wikipedia.org/wiki/Justin_FrankelAndi Gutmans, Rasmus Lerdorf, Zeev Suraski, Thies C. Arntzen, Andrei Zmievski and the rest of the PHP dream team [1] :D
[1] http://www.php.net/credits.phpMathias Ettrich [1].
Looked at Qt in 1996 and decided it was time to create a Desktop for the Linux Operating System: KDE [2]. KDE later spawned the Gnome desktop in a reaction and both created all the success of the Linux Desktop.
KDE progressed steadily with very sound technical decisions. It's the biggest C++ Free Software project out there and has always made very sound technical decisions. It pushed the Linux Software stack to a great extent and triggered a lot of improvements:
What I know about C++, I know it from reading KDE and Qt source code.
[1] http://en.wikipedia.org/wiki/Matthias_EttrichPaul Graham [1]
His essays [2] are classic must-read for anyone who writes code.
[1] http://en.wikipedia.org/wiki/Paul_GrahamRico Mariani
This is my list of authors
Here's my list of general programmers
I can't believe no one has listed Tim Berners-Lee [1] yet!
[1] http://en.wikipedia.org/wiki/Berners-LeeAda Lovelace. Cool name...early adopter. :) Among more recent practitioners I'd have to list Chris Date.
Ken Thompson
Jeff Molofee for his work with NeHe Productions ( http://nehe.gamedev.net/ ). His site had the best OpenGL tutorials for many years. He set the example with his attention to detail. His tutorials were very focused and progressed nicely from the most basic to advanced concepts.
Then he had many guest programmers later submit tutorials that he published on his site. And NeHe became the place almost every aspiring OpenGL programmer would go to get started. It's where I started my OpenGL programming and I went on to create http://www.gldomain.com/ while I was still in high school. Even though I never became a game programmer like I had wanted, the experience was invaluable and even helped me land my first programming job.
Sergey Brin & Larry Page. First developer centric monster company.
Where is Jon Skeet?!?
He is the programmer of all time. Period.
Sir Charles Anthony Richard Hoare. Aside from inventing the Quicksort algorithm, he was generally one of the most influential figures in computing in the 50s and 60s, and his impact is felt even today as his work with concurrent processes is becoming even more important.
His 1980 Turing Award Lecture, The Emperor's Old Clothes [1], is one of the most important and influential texts that I have ever read for our industry.
Also, I admire him because like me, he took a liberal arts eduction (the Classics, in his case) and turned it into a career in computing. A very interesting and outstanding human being.
[1] http://www.cs.ucsb.edu/~ravenben/papers/coreos/Hoa81.pdfJoshua Bloch [1], Effective Java, The Java Collections Framework
[1] http://de.wikipedia.org/wiki/Joshua_Bloch[1] http://www.gnu.org/gnu/thegnuproject.html"I would say he is man of a stature similar to the stature of Leonard Euler in mathematics. Such men are not born every century..."
From a personal level Randy Pausch. He was a truly amazing person and his work on Alice is quite remarkable.
Current persons I most look up to are Anders and Erik Meijer. Very smart people who are doing some really cool things to help push our world of mainstream development forward.
The developers of NHibernate.
Defiantly
Brendan Eich
[1] creator of javaScript
and
Douglas Crockford
[2] correcter of javaScript
and surely John Resig [3]
[1] http://en.wikipedia.org/wiki/Brendan_EichMichael "Rands" Lopp. More from an engineering standpoint, and especially with dealing with managers. Oh, and for jerkcity. There is code in some of the comics.
Scott Mitchell [1] certainly saved me a lot of ASP.NET headaches.
[1] http://www.4guysfromrolla.com/ScottMitchell.shtmlSteve Gibson [1]
He wrote his web site's e-commerce system in assembly language. He's got some mad skills.
[1] http://en.wikipedia.org/wiki/Steve_Gibson_(computer_programmer)My friends Jeff, and Jonathan. The ones who got me really into programming and still help me out to this day.
David Braben [1]. Wrote Elite and Zarch, created the space game 'industry'. Fantastic.
[1] http://en.wikipedia.org/wiki/David_BrabenOf course this is like million years ago, but one of the guys who influenced me most, is Grant Smith, also known as the Denthor of Asphyxia. He released a couple of awesome assembler tutorials on graphic routines such as putpixel and more.
Mode 13h rulez! ;-)
Peter Lee [1] — professor of CS at CMU — because he listened to me babble about my personal programming projects and then taught me 1-on-1 how to write an interpreter, and eventually a compiler, which changed my view of programming (and life) forever.
[1] http://www.cs.cmu.edu/~petel/Fred Brooks [1] because the mythical man month [2] destroys the notion that we are all just "bums on seats" and provides a clear motive for investing in yourself and your craft.
[1] http://en.wikipedia.org/wiki/Fred_BrooksMartin Odersky, father of Java generics and the Scala programming language.
Kurt Godel, who changed the way I look at numerical representations forever.
Peter J. Landin and Peter Henderson directly or indirectly created the LispKit manual for the SECD virtual lisp machine. Only after I implemented a lispkit compiler in Pascal on a NASCOM II microcomputer (Z80A), I understood what my Computer Science course (1975) 'Syntax and Semantics of Computer Languages' was all about. Ron Cain and James E. Hendrix directly or indirectly created the Small C Compiler, published by Dr Dobb's (197x). I implemented this compiler with the Z2 assembler for the NASCOM II and wrote a DOS for my NASCOM dual floppy drive. I still have the drive but not the computer.
Boris Schneider [1]
I consider myself too young to really acknowledge the works of Turing, Knuth & Co., and the one thing I always loved about Computers more than anythign else was Games.
Boris was one of the German Translators at Lucas Arts (Lucasfilm Games at the time), and the German Versions of Monkey Island or Zak McKracken are absolutely top-notch quality and show a dedication to this job that I unfortunately often miss nowadays. The humor and gags were either translated or replaced properly.
Also, together with Heinrich Lenhardt [2] he was my favorite writer for the "Happy Computer" magazine (around 1988).
Now he works at Microsoft in the XBox team (Product Manager), and it is still very apparant that he is dedicated to games (as seen for example in the video [3] in this article).
Sorry that the links are all in German, but he just happens to be one of the (in my opinion) most important people for the German Video Game market.
[1] http://de.wikipedia.org/wiki/Boris_SchneiderJason Fried of 37Signals. Any consultant should be required to read Getting Real.
Andy Koenig [1] of AT&T. If Stroustrup is the father of C++, Andy is it's uncle. Having met him on several occasions, I've found him one of the most friendly & outgoing people I've known. He's also knowledgeable on an extremely wide range of subject, making him the closest to a "Renaissance Man" I've met in the indstry.
[1] http://en.wikipedia.org/wiki/Andrew_Koenig_(programmer)Drew Major [1]
Wrote the guts of NetWare, back when the Engineers were in charge and it was a superior product.
More recently he has worked to make streaming video faster and more efficient.
Drew's specialty is small fast code. When it comes to actually programming, he is one of the best. He is my hero.
[1] http://en.wikipedia.org/wiki/Drew_MajorJoel Spolsky
Tim Peters. Python evangelist/tutor, writer of the "The Zen of Python" (import this), and developer of timsort, the world's first "non-recursive adaptive stable natural mergesort / binary insertion sort hybrid."
J Gordon Letwin [1]
He wrote HDOS (Heath Disk Operating System) and the Benton Harbor Basic interpreter that came with it. When the source code to HDOS was published, I spent many days poring over his assembly language masterpiece. It taught me a great deal about writing code that is both efficient and easy to understand.
He later went on to be the lead architect for OS/2.
[1] http://en.wikipedia.org/wiki/Gordon_LetwinTom Hudson. In the early eighties he wrote assembly language games for the Atari that were published in ANALOG Computing. The games were great, and I learned to program by reading the commented source listings. Understanding them was the most challenging and rewarding experience I've ever had in software; ever since, every problem I've come across feels solvable.
I'll probably be the only vote for him, but - thanks, Tom!
Andrew Braybrook [1] he had a blog in the Zap 64 magazine [2].
mentalprocre [3] and para_birth01 [4]
[1] http://en.wikipedia.org/wiki/Andrew_BraybrookPeople I know:
People I don't know:
People I don't even know the names of:
John W. Backus?
Chris Crawford [1], author of Eastern Front (1941) for the Atari.
[1] http://en.wikipedia.org/wiki/Chris_Crawford_(game_designer)Ken Silverman, the author of the Build Engine. Not only are his creations amazing (Build Engine running at 1024x768 on an old pentium 133 that I had at a good framerate..WOW.) He is also generous with his knowledge and has a website full of code and advice.
Rod Johnson - the creator of the Spring Framework and of some very readable and informative books about J2EE software development.
Nasir Gebelli [1] is an Iranian-American programmer and video game developer. He programmed Final Fantasy [2] amongst many other popular game titles.
[1] http://en.wikipedia.org/wiki/Nasir_GebelliChuck Norris
Christos Papadimitriou [1], the man who has really sterched my perception of what is feasible (or not) in this area the the author of the first book I could not understand completely.
[1] http://en.wikipedia.org/wiki/Christos_PapadimitriouThe Web Inventor: Sir Tim Berners-Lee. No Question!
Jef Raskin. Apple Human-Computer Interface guru.
Jon Skeett [1]. A famous C# developer that works for Google and a brilliant author. I'm thinking of starting a fan club.
SO Profile
[2]
C# in Depth
[3]
Danny Hills [1] of Thinking Machines [2] fame.
[1] http://en.wikipedia.org/wiki/Danny_HillisI would say the two that had the most influance on me are a pair of programmers I worked with on my first job out of collage Daphne Pfister and Malcom Bumgardner.
My heroes are Ray Tomlinson, Richard Karp and the entire collaborative group at ARPANET/CERF/MIT/DARPA group that invented TCP/IP in the 70s as a solve for wireless radio packet networks. Their standard protocol ipV4 still going very strong....we literally take it for granted that it "just works" all day long.
Peter Landin.
For his paper: your next 700 programming languages. For realizing that lambda calculus could be used to model a programming language.
Tim Sweeney [1], founder of Epic Games and the Unreal Engine.
[1] http://en.wikipedia.org/wiki/Tim%5FSweeney%5F%28game%5Fdeveloper%29Theo de Raadt [1] and the rest of the OpenBSD [2] team.
[1] http://en.wikipedia.org/wiki/Theo_de_RaadtFrances Allen [1]-- when I read her interview in Coders At Work [2], I was blown away by her level of experience and her vision for how compilers should work. I really hope her vision comes to pass, the idea that I shouldn't have to know how to code a thread, but that the compiler can just make it all work for me. I've always wondered why threading was such a hassle, and she's really explained well how optimizing compilers have failed and where they should go next (Hint: if I have to know how many cores my machine has, the compiler has failed).
[1] http://en.wikipedia.org/wiki/Frances_E._AllenHerb Sutter, especially for his Guru of the Week [1] articles.
[1] http://www.gotw.ca/gotw/index.htmAnyone who organizes local programming centric events. User groups, CodeMash, DevLink, Code camps, give camps, etc.
Richard P. Gabriel [1] for showing that poetry and the art of writing code aren't really that different, for proposing an MFA in Software [2], for his work with Lisp, and for collections of poetry. Talk about a brilliant and well-rounded guy!
[1] http://www.dreamsongs.com/Jack Ganssle [1] has a newsletter I like - The Embedded Muse. It's very informative and entertaining
[1] http://www.ganssle.com/Larry Wall - inventor of Perl.
I'm [still] a Perl hacker, but even if you don't use Perl, if you've ever heard him present or read one of his articles [1] -- he's brilliant.
Joel Spolsky - FogCreek.com founder
Joel's amazing articles on software inspired me to keep learning and think about software as product. I became an admirer after reading his story [2] of his time at Microsoft.
Paul Graham - YCombinator.com founder
Paul's thoughtful writing [3] broke new ground in my intellectual, entrepreneurial, and software development.
[1] http://www.perl.com/lpt/a/997Dave Winer [1].
Seriously. Haters may sneer. But Dave pretty much invented the modern role of programmer as public intellectual / public gadfly / public mad-inventor / public visionary.
I say "modern" because obviously there were "public intellectual / programmers" or "public visionary / programmers" before : from Fred Brooks to Richard Stallman to Doug Engelbart or Seymour Papert. But Winer is the one who went out there and declared that this new fangled web was his canvas on which, on any given day, he might do anything from invent a new technology to lambaste a political figure, to reveal a deep personal neurosis. He blazed the trail for all the other blogger/coders, blogger/entrepreneurs, blogger/pundits (including me)
[1] http://www.scripting.com/Bill Atkinson [1], for HyperCard [2].
I cut my programming teeth on HyperCard way before I knew what programming was. I learned basically all of the fundamentals of programming in HyperCard. For a long time afterwards, I compared every other programming system I learned to HyperCard (and they always came up short!). Not to mention that HC was a primary influence on the WWW and Javascript :P
Also, Ward Cunningham [3] for the Wiki in general, and the first Wiki in particular (the Portland Pattern Repository [4]).
[1] http://en.wikipedia.org/wiki/Bill_AtkinsonJeffrey Richter, David Solomon
The smartest people [1] you've never heard of. Nothing made me a better programmer than always being around people who are are smarter than me.
[1] http://en.wikipedia.org/wiki/Locus%5FComputing%5FCorporationMatthew Cavalletto [1], a principal of a 2000-era company called Evolution Online Systems. Interacting with his code taught me the difference between using OOP in a desultory fashion and working it.
[1] http://www.plaxo.com/directory/profile/167503841607/be53f99a/Matthew/Cavallettonot really a hero, but drunk me is a pretty profilic programmer that writes zomg optimized code.
Dan Ingalls, main implementor of Squeak, inventor of the Smalltalk language.
Brian Goetz [1]
No single book has changed my coding style and thought process as much as his.
[1] http://www.briangoetz.com/There's quite a few I look up to in the programming world, one being Bart De Smet [1], really awesome C# 3 work
[1] http://community.bartdesmet.net/blogs/bart/default.aspxAdmiral Grace Hopper
My personal hero is Beatriz Costa [1]
she has an amazing coding style.. i love it :)
[1] http://www.beacosta.com/blog/This is my list;
Joel Spolsky, he definitely change my mind when I discovered his blog.
that's it
I would have to say Jeff Atwood And Joel Spolsky :)
Oren Eini, Rocky Lhotka, The Gu, The Ha, Jean-Paul BoodHoo and Martin Fowler.
Without question, the folks that put together GitHub [1]. Programming was fun before GitHub, but it brings a completely new social dimension to open source. That means they have to not only build a great, easy-to-use piece of software, they have to understand the social aspects of software. They do both admirably.
[1] http://github.comooooo and Paul Tyma of Mailinator infamy! Recoded his own lightweight version of sendmail, built a stripped down system that was, for many years, an AMD K6 box that handled millions of requests per day. He just sits back now and lets Mailinator bring in TONS of ad revenue (well, at least it's a ton in light of the small amount of time it takes to maintain it)
Richard T. Snodgrass [1] defined the world of cross-server SQL approaches to temporal database development for me. His book ( available for free download here [2]) clearly shows the application of time-oriented data in multiple dimensions (user time, valid time. and transaction time) and how each differs with real-world examples.
Mr. Snodgrass is a leader in the field of forensic database tampering detection, very-large-database and SQL design. His genius at describing the issues and solutions in a vendor neutral way is inspiring.
[1] http://www.cs.arizona.edu/~rts/I admire Michael Kay [1] for work with Saxon [2] and his effort with XSLT 2.0 [3] but mostly for his tremendous [4] input [5] in helping [6] the community [7].
[1] http://saxonica.blogharbor.com/blogKate Gregory... taught me that C++ isn't boring and is quite cool.
Shawn Fanning - Napster
Markus Frind, founder of PlentyOfFish.com, for opening my eyes to the possibility of the one-man web startup.
I love Markus Voelter [1] for founding the software engineering radio podcast [2].
[1] http://www.voelter.de/Grace Hopper - There be no other
Josh Bloch [1]
For his ability to impart his knowledge to others:
Admiral Grace Hopper http://en.wikipedia.org/wiki/Grace_Hopper
Rocky Lhotka [1]
I learned a lot from his books on CSLA. Absorbing that knowledge and then building my own ORM tool really helped me get to the next level. He's a genius.
[1] http://en.wikipedia.org/wiki/Rockford_LhotkaCurrently, it's Matt Berseth [1]. His blog is relavant to me and i think top shelf. Insightful and helpful, it's a pleasure to read his blog about his experiments and his thought process.
[1] http://mattberseth.comI have a few role models just based on their deep and vast knowledge in various technologies and their day to day contribution and dedication to the Community they are involved in
Mine is Rich B [1] because he is so much active here that he must be an hero. :)
[1] http://stackoverflow.com/users/5640/rich-bJoel Spolsky
His arguments stick and I always learn stuff.
Bill Gates
John Carmack,
Michael Abrash,
John Romero
Peter Norton,
Bill Gates,
Steve Wozniak,
Brian Kernighan,
Dennis Ritchie,
Ken Thompson,
W. Richard Stevens,
Andrew Tanenbaum,
Linus Torvalds
Vinton Cerf, Robert Kahn (not precisely programmers.., fathers of the actual Internet)
Steven bellovin,
Robert Morris (coder of the Internet worm)
Raymond Chen, Larry Osterman, Jeff Attwood, Joel Spolsky and Don Box
Denis Mikhailitsky. What? Yes, I really love myself :)
My Self!
I learned a lot by my self.
I didn't learn much from anyone else.
I taught my self most of my techniques.