ESR to Torvalds: "You suffer the curse of the gifted programmer" (2000)(lwn.net)
lwn.net
ESR to Torvalds: "You suffer the curse of the gifted programmer" (2000)
https://lwn.net/2000/0824/a/esr-sharing.php3
19 comments
git was wildly successful, yes, but it still has hints of what esr was talking about. once you step out of the clone/checkout/commit/push loop, git is extremely thorny for people who aren't "with it."
Where I program, we still use subversion and, looking at the costs of migration, we decided not to move to git. The time and effort needed for that migration just couldn't be justified.
I wish that my employer would ditch git and go back to subversion. The use of git is a source of unending problems.
Care to explain a few?
Most of the problems fall into two categories: merging and branching, both of which have repeatedly led to angst and strife to various degrees. There's also the problem of squashing leading to a loss of historical data, and we can't seem to get people to stop squashing.
Subversion results in far fewer problems in these areas. Given that, in our use case, git brings nothing that subversion doesn't, I would greatly prefer to use the system that leads to less issues and greater productivity.
Please note that I'm not saying that git is bad in some kind of overarching sense. It just brings trouble in our use case.
Subversion results in far fewer problems in these areas. Given that, in our use case, git brings nothing that subversion doesn't, I would greatly prefer to use the system that leads to less issues and greater productivity.
Please note that I'm not saying that git is bad in some kind of overarching sense. It just brings trouble in our use case.
It's a shame ESR is insane. I gave up on him a few years back when he published on his blog clearly premeditated intent to shoot people he didn't like.
I remember the drama around 'Linus doesn't scale', I think that's what ESR is talking about.
But then Linus used BitKeeper then created git..
He's not wrong!
Thankfully a lot of other people steppped in to help support Linus and maxe linux the ecosystem it is today.
Thankfully a lot of other people steppped in to help support Linus and maxe linux the ecosystem it is today.
There were already tons of contributors to Linux kernel in 2000. It was one of the most hyped times (head of the dotcom bust? half of it was major investing in everything Linux, from distributions to desktop environments - yes, there was a time when something like a Gnome file manager would get major VC backing).
That was a real, stern-talking-to email but beautifully written.
Wow, in 2000. I wonder what impact/response this elicited? Does someone have a mailing list link so I can read through the reply tree?
https://lkml.iu.edu/hypermail/linux/kernel/0008.2/index.html...
Linus didn't reply. To be fair ESR's whole argument is "You're smart but inexperienced so you don't understand my point yet" which doesn't exactly have a rebuttal.
Linus didn't reply. To be fair ESR's whole argument is "You're smart but inexperienced so you don't understand my point yet" which doesn't exactly have a rebuttal.
Ok I have to recalibrate my concept of a 'gifted programmer'. I thought it meant more than simply 'successful open source coder'.
I've tried to change kernel code that guy wrote. It's awful, with a capital A. Not a scrap of design notes or comments or procedure description, nothing. Unorganized modules with no pattern or sense.
My favorite: the variable name 'page' used in five different senses in the same module. For a page directory, a page table, an entry in a page table, an actual page of memory. Plus some indirections to the same, not distinguished in any way. May as well have used variable names i,j,k for all the help that was.
Never learned any kind of abstractions, spent half a lifetime denigrating all advances in programming since 'C'.
No, on second thought I'm not going to rethink my definition of 'gifted programmer'.
I've tried to change kernel code that guy wrote. It's awful, with a capital A. Not a scrap of design notes or comments or procedure description, nothing. Unorganized modules with no pattern or sense.
My favorite: the variable name 'page' used in five different senses in the same module. For a page directory, a page table, an entry in a page table, an actual page of memory. Plus some indirections to the same, not distinguished in any way. May as well have used variable names i,j,k for all the help that was.
Never learned any kind of abstractions, spent half a lifetime denigrating all advances in programming since 'C'.
No, on second thought I'm not going to rethink my definition of 'gifted programmer'.
That would all track with the linked piece. He basically says "you're smart, and you're relying on that instead of taking the time to learn a way to do it that works best when the code has to be shared."
I think that's what he means by "gifted". Innate ability that can propel you through personal greenfield projects, but hits a wall when you're not the only cook in the kitchen.
I think that's what he means by "gifted". Innate ability that can propel you through personal greenfield projects, but hits a wall when you're not the only cook in the kitchen.
[deleted]
… shit I wonder whether my current aversion to frameworks like Tailwind and React are my own brand of gifted programmer syndrome?
Linus's subsequent wildly successful development of git makes them both look shrewd.