Thanks for the blog, I really enjoyed it. Good work.
This just makes me appreciate and love compilers even more, they are a fascinating piece of software.
Why not though? The entirety of the LLVM project is available to them, and you, for free, as is the RISC-V ISA itself. A lot of people are getting a lot of value from free and open software, and they may feel their contributions are in a like spirit.
I would suggest that’s an availability bias, those who do it for free are more likely to blog about it.
There is a common distinction between professional and amateur with the former getting paid for their work. In general there is an understanding that someone getting paid can focus and do it full time and are expected to be better than someone who does it as a hobby.
Perhaps coding is an unusual space where the best coders are often misfits who have a hard time holding down a job.
> In general there is an understanding that someone getting paid can focus and do it full time and are expected to be better than someone who does it as a hobby.
For something like flying airplanes, I think this is obviously true: nobody can afford to spend the required hours doing it unless somebody else is paying for the airplane, and the only way that happens is if that person is your employer. A lot of things are like that.
But programming is very different, it requires almost no resources to practice except your time. You can sit at home in your pajamas with $1K worth of hardware and keep yourself busy for a lifetime through open source. Of course, you can also spend a lifetime building useless sandcastles while telling yourself you're a genius: you have to find ways to hold yourself accountable to grow.
I've been fortunate to get paid to work on some interesting things... but the work I do for fun is, on average, ~100x more challenging and interesting than the work I'm paid to do. I would be a much much less capable programmer if I'd only done work I was paid to do for the past decade.
I wouldn't go so far as to say "amateurs are better than professionals", but I think the skill level of the two groups is much more blurred in programming than in most other things.
Your example is obviously false; there are 500K GA pilots in the US alone varying from
my friend who had a Cessna 172
and flew it regularly (until joining CAP) to John Travolta flying his own 737.
I have a pilot's license, that's why I choose that example. What I'm saying is that I cannot possibly fly enough for fun in my remaining life to have comparable skill to a professional pilot who flys full time for the military or for an airline.
Somebody wealthy enough can afford to just pay to fly that much, I guess, but that's so few people it's not even worth mentioning as a possibility.
And how would John Travolta at roughly 5K lifetime hours compare to the best of the comercial pilots at 1K hours per year? Also John Travolta has a commercial licence and has been paid to fly.
This argument seems absurd to me.
I get that in software quite often time is wasted by poor management that otherwise would not be wasted if working unpaid. Well managed research orgs can work at elite levels but they are few and far between.
Airline pilots rack up a lot of hours but get very little "stick time", and what they do get is extremely sedate flying to not scare the passengers / spill their drinks. Their primary skills are pushing buttons on the autopilot and talking in the radio and transcribing clearances.
A military pilot gets more effective stick time. But aerobatic pilots, ag pilots (but I repeat myself), and glider pilots gain a LOT more experience and skill per hour flown than an airline pilot.
should i repeat my comment and link the free document i doubt you read, again? modern software infrastructure runs on "folks that do it for the pleasure"
RISC-V chips that are fast enough to get used are appearing now and, when they do, the software ecosystem is going to be ready to meet it.
In the past, the hardware usually came first with the software slow to appear after. This time, it is happening the other way around.
reply