> Computer programming is still a black art. It's less than fifty years old, and nobody is very good at it yet. We can make better tools than we know how to use.
I don't think this has changed much at all since 1992. Now you can say that it's less than 90 years old, and nobody is very good at it yet.
And most of our profession has already given up on getting any better at it because a machine can spit out code that compiles.
show comments
wood_spirit
Beautifully written but when the lack of a better compiler gets attributed to rational actions my brain glitched. That’s not fitting my mental model of how big corps operate at all!
Occam’s razor IBM didn’t invest in Fortran I because the internal political environment at the corporation didn’t have the incentives aligned to do so. This is completely orthogonal to whether they could have used a better compiler or not.
show comments
diseasedyak
I went to the University of Arkansas in the fall of 1993, into Computer Systems Engineering, and we were the first freshman class to work on C/C++ as a primary language to be learned, instead of FORTRAN. I still to this day haven't written a single line of that language, but I find it fascinating.
fsmv
> We don't really know how to program yet, or how to manage our programs. We don't really know what we want to say or how to say it. We don't have good computer languages for expressing what we want to computer to do. We don't know how to think about programming.
I think this is still true today. Software is only just starting and there is a lot of room to find better ways of doing things.
adamddev1
How did we get so much better at writing compilers? Was it a better understanding of how to make syntax trees with ADTs etc?
show comments
ch_123
I agree with the overall point of the article, but I feel compelled to be _that guy_ and point out that most of IBM's systems programming involved various dialects of PL/I, not Fortran, and they went through a bunch of different iterations on those compilers and their code generators.
show comments
amelius
I never hear anyone talk about big-O notation anymore ...
Nowadays it's all about optimizing the same old algorithms but on a GPU.
show comments
shakna
Fortran H was faster than the fastest punchcard feeder of the time. That bottleneck is unfortunately long gone, without the same magnitude of improvement on the other side. (Physical limits, amazing optimisations, etc.)
Last time I was working with CCE, I was looking at blistering runtime speeds, but six or seven hour compiles. Huge codebase (40mil+ LoC), and the optimisations were great, but not exactly a fantastic dev lifestyle.
show comments
dwoldrich
AI propaganda crew hasn't rolled on yet today; not seeing the "it's different now, code is cheap/free with AI" messaging yet.
80% of the cost is maintenance, and all software dies so there will always be work to do.
hectdev
I like this. Really paints a picture of what we are progressing towards. The tools we needed to build the tools we need to build. And the fact that it all boils down to getting the computer to do the thing we want it to do and trying to figure out what that is. Makes me hopeful for the future.
KptMarchewa
The definition of "passable compiler" in 1992 must have been very different from what it is today; while third year students write interpreters and compilers, nobody would call them useful or passable.
show comments
photios
> Now a question: Since we're obviously thousands of times better at producing compilers than we were fifteen years ago, so much so that a single undergraduate can write a passable one in four months, why hasn't IBM invested millions of dollars and hundreds of programmer-years to produce a super FORTRAN I compiler that's thousands of times better than the FORTRAN H compiler?
> Computer programming is still a black art. It's less than fifty years old, and nobody is very good at it yet. We can make better tools than we know how to use.
I don't think this has changed much at all since 1992. Now you can say that it's less than 90 years old, and nobody is very good at it yet.
And most of our profession has already given up on getting any better at it because a machine can spit out code that compiles.
Beautifully written but when the lack of a better compiler gets attributed to rational actions my brain glitched. That’s not fitting my mental model of how big corps operate at all!
Occam’s razor IBM didn’t invest in Fortran I because the internal political environment at the corporation didn’t have the incentives aligned to do so. This is completely orthogonal to whether they could have used a better compiler or not.
I went to the University of Arkansas in the fall of 1993, into Computer Systems Engineering, and we were the first freshman class to work on C/C++ as a primary language to be learned, instead of FORTRAN. I still to this day haven't written a single line of that language, but I find it fascinating.
> We don't really know how to program yet, or how to manage our programs. We don't really know what we want to say or how to say it. We don't have good computer languages for expressing what we want to computer to do. We don't know how to think about programming.
I think this is still true today. Software is only just starting and there is a lot of room to find better ways of doing things.
How did we get so much better at writing compilers? Was it a better understanding of how to make syntax trees with ADTs etc?
I agree with the overall point of the article, but I feel compelled to be _that guy_ and point out that most of IBM's systems programming involved various dialects of PL/I, not Fortran, and they went through a bunch of different iterations on those compilers and their code generators.
I never hear anyone talk about big-O notation anymore ...
Nowadays it's all about optimizing the same old algorithms but on a GPU.
Fortran H was faster than the fastest punchcard feeder of the time. That bottleneck is unfortunately long gone, without the same magnitude of improvement on the other side. (Physical limits, amazing optimisations, etc.)
Last time I was working with CCE, I was looking at blistering runtime speeds, but six or seven hour compiles. Huge codebase (40mil+ LoC), and the optimisations were great, but not exactly a fantastic dev lifestyle.
AI propaganda crew hasn't rolled on yet today; not seeing the "it's different now, code is cheap/free with AI" messaging yet.
80% of the cost is maintenance, and all software dies so there will always be work to do.
I like this. Really paints a picture of what we are progressing towards. The tools we needed to build the tools we need to build. And the fact that it all boils down to getting the computer to do the thing we want it to do and trying to figure out what that is. Makes me hopeful for the future.
The definition of "passable compiler" in 1992 must have been very different from what it is today; while third year students write interpreters and compilers, nobody would call them useful or passable.
> Now a question: Since we're obviously thousands of times better at producing compilers than we were fifteen years ago, so much so that a single undergraduate can write a passable one in four months, why hasn't IBM invested millions of dollars and hundreds of programmer-years to produce a super FORTRAN I compiler that's thousands of times better than the FORTRAN H compiler?
s/FORTRAN I/Mythos/ for the 2026 version of this.
Dupe: https://news.ycombinator.com/item?id=48622814
what do you think of it?
Beautifully written. Was this a note to self. If so amazing.