
Ask HN: Who are your programming rockstars, and why? - bangonkeyboard
Carmack, Torvalds, Bellard, Wozniak, et al. Who do you personally admire as 10x or otherwise brilliant coders? What do you consider their most notable or emulable accomplishments, habits, or contributions?
======
folkhack
An unsung hero of mine is John Resig... hear me out - TONS of stuff that
jQuery had became mainstream over the years, and I think it did a lot to
popularize things like AJAX which led to much more dynamic web experiences.

It was the first library that worked consistently well across the board,
provided an easy-to-use CSS-selector based experience to query and manipulate
the DOM, and had very solid documentation.

I feel like jQuery is/was a mainstay of the web and although we've seen it
lose popularity over the years it's still one of the biggest game changers in
my web development tooling.

He also is a key player at Khan Academy* which is one of the best online
learning resources to date.

All-in-all I think the guy is an excellent example of an entrepreneurial
engineer and I would fanboy so hard if I ever met him.

* Not founder of Khan Academy (doh!)

~~~
otoburb
>> _He also started Khan Academy which is one of the best online learning
resources to date._

I agree with your points about John Resig (great choice!), except I'm pretty
sure that Resig joined Khan Academy in 2011[1] while Salman Khan[2] was the
sole founder in 2008[3].

[1] [https://johnresig.com/blog/next-steps-
in-2011/-](https://johnresig.com/blog/next-steps-in-2011/-)

[2]
[https://en.wikipedia.org/wiki/Sal_Khan](https://en.wikipedia.org/wiki/Sal_Khan)

[3]
[https://en.wikipedia.org/wiki/Khan_Academy](https://en.wikipedia.org/wiki/Khan_Academy)

~~~
folkhack
Ah thanks for the correction! Edited my comment for accuracy =)

------
wenc
I don't do development full-time anymore and haven't kept up to date with
superstars in the programming world so take this opinion with a grain of salt.

I've always admired the clarity of thought of Rich Hickey [1], creator of
Clojure. I wish I could point to a single article or post that outlines his
philosophy, but they're all over the Internet. I used to spend hours in the
early 2010s scouring the web for his writings/videos.

What I find admirable about Rich is that he was originally trained as a
musician, yet has an impressive theoretical grasp of software concepts and is
tempered in his designs by way of a battle-tested pragmatism (stemming from
his having written software for real-world systems).

I've never written a single line of Clojure (and it's unlikely I will ever do
so), but his thinking process has been an inspiration to me.

[1] [https://www.red-gate.com/simple-talk/opinion/geek-of-the-
wee...](https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/rich-
hickey-geek-of-the-week/)

~~~
ooooak
Agree, Clojure has the most influence on me. There are lots of things to learn
from Clojure and I don't see anyone taking lessons from Clojure people. it
seems like everything is just one large MVC after rails. We are not ready to
move on.

------
throwaway34241
Mike Pall

Writing a full just-in-time compiler for a dynamic language (Lua) [1] that was
not only much faster than contemporary browser Javascript engines, but also
faster than the Android JVM (at the time) [2].

Also porting that compiler to emit x86, x64, ARM, PPC, MIPS. All as one
person.

It was so impressive that I'm actually a little curious what he's been working
on now, since he's mostly moved on from the project and has (I'm sure
deliberately) little online presence. Maybe some company has some amazing
secret project that we'll find out about someday.

[1] [http://lua-users.org/lists/lua-l/2009-11/msg00089.html](http://lua-
users.org/lists/lua-l/2009-11/msg00089.html)

[2]
[https://news.ycombinator.com/item?id=2617628](https://news.ycombinator.com/item?id=2617628)

------
ioddly
Fabrice Bellard: [http://bellard.org](http://bellard.org)

Notable: no social media, nothing like that. Just shows up occasionally with
something that would take another dev probably a couple years to do.

~~~
bumbledraven
No daily scrum.

No social media.

No code of conduct.

He just sat there.

Programming.

Like a psychopath.

~~~
jariel
In software, you get economies of focus, not so much economies of scale.

But he generally creates 'tech', not 'products' which are much harder to make.

Though of course we owe him and others like him a lot.

------
closeparen
Rich Hickey is _the_ model of technical leadership.

\- He reflects on the experience of programming.

\- He identifies and can articulate what's wrong with our tools, conventions,
and thinking.

\- He builds and advocates abstractions that don't suffer from those problems.

Even if Clojure and Datomic remain obscure, he'll have taught me what I want
to be when I grow up.

~~~
yakshaving_jgt
I might agree with you if it weren't for his misguided railings against types.

------
richardjdare
Andrew Braybrook - Game designer and programmer of Paradroid and Uridium
amongst others. Prominent in the 8 and 16bit era (an age of rockstars, really)
I still think about those days to inspire myself.

Kai Krause - Early Photoshop pioneer, designer of Kai's Power Tools, Bryce. I
see him as a kind of artist/programmer, who demonstrated that application
software development wasn't just about cranking out features, but about
creating an experience for the user, a particular window onto this amazing
digital world.

Matthew Dillon - Developer of Dragonfly BSD and prominent old-school Amiga
hacker. Absolutely solid programmer. Wish he did more interviews.

Rich Hickey - I don't yet have a reason to use Clojure or Datomic, but I watch
every Rich Hickey talk or interview I can get my hands on. Hammock Driven
Development is the only development ideology that appeals to me :)

------
quickthrower2
Evan Czaplicki.

He created the Elm language. While other people ported Haskell-like languages
to the web (Purescript, GHCJS, Fay, ... ), Evan found a way to tame the
complexity of the web with an evolving architecture that start with something
like FRP / Rx and ended up with the Elm Architecture, which hits a sweet spot.
You can even use T.E.A. without using Elm! Although it's best using a
functional language that supports immutability, otherwise there is more work
trying to not mutate things.

T.E.A. has been copied to a number of different languages and is manifested
inside the Redux pattern. I think time will hopefully tell that his work will
have big influence on UI and Web development in the 2020's, whether we are
directly using Elm or something based on those ideas.

T.E.A. is:

A global state.

A set of defined messages that can be sent to update the global state.

An update function - given a message, and the global state returns a new
global state and any asynchronous "commands" to execute. Commands go off and
do something then post a message once done.

A view function - given a global state returns a representation of how to
render the UI. This representation includes messages to send on events such as
"onclick".

Subscriptions - these produce messages when things happen in the real world,
for example local storage state changes.

------
badpun
Jonathan Blow. His ability to retain focus and clarity for hours (as
demonstrated on streams, while doing high-quality coding) seems out of reach
for an average dev like me. Clearly an outlier.

------
twic
Inigo Quilez, a demoscene programmer who does amazing work - of a very high
technical and artistic standard, often in painfully tiny sizes - and then
writes lucidly about it:

[http://iquilezles.org/www/index.htm](http://iquilezles.org/www/index.htm)

Here's 'Elevated' a four-kilobyte demo he did (along with others):

[https://www.youtube.com/watch?v=jB0vBmiTr6o](https://www.youtube.com/watch?v=jB0vBmiTr6o)

And here's the writeup:

[http://iquilezles.org/www/material/function2009/function2009...](http://iquilezles.org/www/material/function2009/function2009.pdf)

------
rvz
The funny thing is with those aforementioned so-called 'rockstar programmers',
without Dennis Ritchie's creation and contributions to both UNIX and the C
Programming Language, these 'rockstars' would have been totally unknown in the
first place.

And no, they are simply not '10x' programmers, they're just standing on the
shoulders of giants like Ritchie as well as all other programmers are standing
on their shoulders too.

~~~
redis_mlc
Sure, Ritchie's awesome.

But I'm not sure why engineers slag other engineers so often.

Most of the startups in Silicon Valley started as prototypes written by one
10x guy.

(For you HN pedants, that's called an "existence proof.")

If you don't see 10x programmers after the startup phase, that's the fault of
corporate mgmt. Tall poppy and all that.

~~~
ljw1001
> If you don't see 10x programmers after the startup phase, that's the fault
> of corporate mgmt. Tall poppy and all that.

Actually, it's because building a real product is 10x harder than building a
prototype.

------
xbhdhdhd
Carmack is not only at the top of my list but is an awesome communicator at
the same time.

------
algaeontoast
This guy I know who’s 5-6 years into his career and can in 2-4 days line up
10+ interviews and has an 80%+ rate of converting offers. Even though he had a
period of spending 3-4 months at four different companies.

It bows me away. That, to me at least is a rockstar programmer.

Him, Jose Valim of the Eixir project and the guy who wrote Asciinema (one of
the best examples of a web / systems project written in elixir and phoenix).

~~~
nefitty
Do you have any insight into his method for procuring offers, or his portfolio
that impressive?

~~~
algaeontoast
Not really, he never worked for a FAANG, only got into Cs after doing a two
year program at a solid college after getting a political science degree from
NYU.

~~~
BobLaw
Are you able to pm any more insights? As someone that's currently having
trouble even getting a response this seems insane to me.

~~~
mikekchar
Not the OP and I'm not in a position where I'm hiring people, but feel free to
send me your CV and I'll give you some feedback. Normally if you can't get a
response it's because you've got a red flag on the CV. Getting job interviews
and turning job interviews into job offers is a real skill, but it's a skill
you can learn if you work at it. If you want, just remove any personally
identifiable information from from your CV before sending it to me -- like I
said, I'm not currently in a position where I'm hiring so no need to give me
any personal info.

------
OldManAndTheCpp
Ulrich Drepper. I know him personally, and respect his contributions to glibc.
His writing style on bug tickets was blunt, but in most of the examples I’ve
seen I believe he had the correct argument in the end (the exception is his
calling ARM a toy instruction set).

[https://www.akkadia.org/drepper/](https://www.akkadia.org/drepper/)

------
AndrewKemendo
I'm pretty surprised to not see Jeff Dean mentioned so far.

Co-Inventor with Sanjay Ghemawat on:

\- MapReduce \- Spanner \- BigTable \- Tensorflow

Jeff Dean Facts: [https://www.quora.com/What-are-all-the-Jeff-Dean-
facts](https://www.quora.com/What-are-all-the-Jeff-Dean-facts)

~~~
rramadass
Sanjay Ghemawat is as big as Jeff Dean. It is just that he is more of an
introvert and takes a backseat to Jeff in the public discourse.

Here is a great article on their partnership:
[https://www.newyorker.com/magazine/2018/12/10/the-
friendship...](https://www.newyorker.com/magazine/2018/12/10/the-friendship-
that-made-google-huge)

Quote: _But, for those who know them both, Sanjay is an equal talent. “Jeff is
great at coming up with wild new ideas and prototyping things,” Wilson Hsieh,
their longtime colleague, said. “Sanjay was the one who built things to
last.”_

~~~
AndrewKemendo
Yea it was a toss-up between the two, but there's been so little out there
about Sanjay that he's hard to know enough about to emulate unless you work
with him directly I assume.

Jeff on the other hand, because he's slightly more extroverted as you point
out, does videos and press which makes it easier to follow him.

------
fredsanford
No mention of Michael Abrash? He was a truly original thinker and one of the
best with optimization.

Icer Addis of Bloodlust Software had a pretty spectacular run in the '90s with
at least 3 high quality emulators.

As for current times, Andrew Gallant, (BurntSushi (ripgrep and related
software)) writes very high quality code that is very usable.

------
rramadass
I have come around to worshiping the pioneers :-) Edsger W. Dijkstra, Niklaus
Wirth, Tony Hoare etc.

Though i have not read all their works (nor completely understood their ideas)
just the way of exposition and breadth of their thoughts, the insistence on
mathematical rigour and formalism etc. always makes me think that i don't yet
understand what "programming" is all about. Just slinging code is NOT enough.
The idea of programming to a specification using "correctness by design"
methodologies (eg. Hoare triples and logic) seems to me to be fundamental to
programming. And yet most of us only follow "trial and error" methodology
limited by our own lack of knowledge and discipline.

------
bryanrasmussen
It seems for a lot of people in this thread one of the defining aspects of
being a rockstar is to produce something that other programmers all use - most
generally a language but also a ubiquitous library like JQuery that ends up
defining the future direction of the language it is written for.

I suppose that one could argue by writing things for other programmers their
productivity using your tools can be seen as an extension of yours - that
without John Resig many people would have been less productive therefor he
derives a little bit of productivity from each person who uses his library.
But maybe it is just because these are the programmers you are most likely to
be familiar with.

------
xrd
Brad Fitzpatrick
([https://en.wikipedia.org/wiki/Brad_Fitzpatrick](https://en.wikipedia.org/wiki/Brad_Fitzpatrick)).
He invented lots of cool stuff before he got heavily involved with Golang. It
was inspiring to see him talking at Perl meetups in Portland back when Perl
was cool.

Derek Sivers is a great developer because he shared his experiences learning
(at the time Ruby on Rails was brand new). He's doing that same sharing now
with a higher level of abstraction, sharing about how to think.

~~~
logicuce
Yes. A fan of Brad myself. The number of things he invented (memcached,
gearman, djabberd, etc.) or had a direct impact on (OpenID, PubSub in general,
Golang, etc.) is phenomenal.

His website gives a better idea of his interests and involvements.
[http://www.bradfitz.com/](http://www.bradfitz.com/)

------
mudderkugle
John Shutt : [https://fexpr.blogspot.com/](https://fexpr.blogspot.com/)
[https://web.cs.wpi.edu/~jshutt/play.html](https://web.cs.wpi.edu/~jshutt/play.html)

He designed Kernel Programming Language, a very neat lisp that allow to
exploit and reason about the semantics powers that lisp has binged over the
years (symbolic, continuations, encapsulation …).

I also highly appreciates the articles that he writes in his blog, they gave
me “insights” ...

------
muzani
I'm surprised nobody mentioned Bill Gates. Building a boot loader on a flight.
Solving the same problems most of us do daily, but while in school and with a
lower level language. A career with operating systems.

Chris Sawyer. Built a fun, complex game in Assembly that most people can't do
with JavaScript.

Barbara Liskov. Lay the foundation for object oriented back when there was
nothing to start with.

Tarn Adams. Lots of room for improvement, but incredible, incredible stamina
and understanding of mathematics and procedural generation.

------
gitgud
George Hotz is an excellent programmer and presenter. I like the way that he
talks and explains things.

He compares the Tesla to the iPhone and his system Comma AI to the Android.

~~~
tudelo
He seems smart, but an excellent presenter? I really never got that vibe. He
always seems like he is on way too many stimulants.

------
zzo38computer
I think, Knuth. I think TeX and METAFONT and MMIX and TAOCP and so on is good.

~~~
mcv
Knuth is my favourite on several levels. He wrote the definitive version of
quite a number of algorithms, and when he wrote The Art Of Computer
Programming, he wrote TeX because he was unhappy with the state of typesetting
technology at the time. There are legendary stories about his ability to
program bug-free code on on his first try and his ability to debug other
people's code while he was typing it for them on punchcards.

------
AnimalMuppet
Bjarne Stroustrup.

Alexander Stepanov. (I once pointed out to him a bug in the first version of
the STL. Me, a nobody that he had never heard of before. He emailed me three
generations of bug fixes in the next two hours.)

------
rakeshgupta
Linus Torvalds : Linus Torvalds, the founder of the Linux open-source
operating system, has been leading his developer community with sarcasm,
insults, and abuse for three decades, and many people think it’s time for a
change. Torvalds is a legend in the open-source community for the way he’s
stuck to his principles and steered a free project into a giant. But open-
source work is a largely thankless job that people volunteer to participate
in, and their work is rarely seen outside of a small group of people.

------
bigred100
Jack Dongarra of perhaps most specially BLAS/LAPACK fame.

------
deepaksurti
Many but PG (paul graham) for his books on Lisp and Lisp essays; they
literally changed my programming career and many many others I think!

------
carapace
Apenwarr. [https://apenwarr.ca/log/](https://apenwarr.ca/log/)

I know him a little IRL and, although he hasn't done anything that has made
him famous, I believe he's in the same league.

------
Razengan
People like Matthew Smith, the guy behind Manic Miner, and the many other
“bedroom coders” of the 1980s and early 90s. :)

[https://youtu.be/Dss-HZb2YWI](https://youtu.be/Dss-HZb2YWI)

~~~
stevekemp
Matthew Smith, and later Julian Gollop were definite early "heros" of mine.
The former for the obvious reason, the latter almost solely for Chaos.

I can recognize a lot of modern developers who are very productive, and seem
to have multiple projects on the go. But I always think of Antirez first, he's
humble, quiet, thoughtful, and thoroughly competent.

I'd rather work with a careful, slow, and precise, person that an army of
super-coders.

------
Gorbzel
Chris Lattner

------
kazinator
Philip Greenspun

[https://philip.greenspun.com/personal/resume](https://philip.greenspun.com/personal/resume)

------
manls
John McCarthy, the creator of Lisp. He also played a big role in the progress
of artificial intelligence in the early 1950s.

~~~
jonjacky
He was also among the first - maybe the first - to propose time-sharing and
helped build one of the earliest time-sharing systems.

------
tehlike
Oren eini/ayende rahien. Hands down one of the best. Great at both low level
and high level programming...

------
amitprayal
Slava Pestov, who started the jEdit Editor, created the Factor programming
language and now working on Swift.

------
thisone
two former co-workers who aren't "names" in the industry.

They could argue with grace, they could see what was needed and build it.

And even the projects that were built quickly were easy for other people to
work on and extend.

------
kvajjha
Leonardo de Moura.

------
redis_mlc
I agree that Wozniak should get more credit for both his combined and separate
hardware and software results.

Two programmers that are still not fully-appreciated are:

1) Monty Widenius (MySQL, the foundation of both Web 1.0 and 2.0)

2) Antirez (Redis, also the foundation of Web 2.0)

