<https://medium.com/@smarimc/when-programming-beca...
# thinking-together
w
tl;dr?
w
A lot of virtues have been tossed out the window in the service of perceived efficiency gains. These virtues included deep meditation on problems, understanding of the entire system, but also more generally a thirst for knowledge. The culture of software development used to be thick with literary references, puns, off-kilter humor and true artistry ─ it’s rare to happen upon these today.
There are a few root causes.
1. A lot of time is spent boilerplate plumbing for CRUD operations.
2. Too much effort is spent wrestling with tool chains.
3. Faulty abstractions and metaphors are exhausting for humans and computers alike.
4. Creativity and skill have been usurped by pressure to ship a product.
Summarizing the root causes: 1. CRUD is plumbing data, which he finds tedious. 2. Developers don’t have good tools, because a) people are lazy and use stackoverflow for
isOdd(n)
instead of
n & 1
, and b) IDEs lots of things ad-hoc that languages are supposed to do. 3. People use the same design patterns, which violates DRY? And design patterns are abstractions, so they’re slow. 4. doesn’t really make an argument here
Personally, I don’t buy the argument. There’s more creativity in programming than ever before, just not in CRUD software. And it’s not programming that’s boring, the world just has need for automation of predominantly boring tasks. Excel is popular because a lot of people just need grids of numbers to get the job done.
👌 1
k
It's not fun because somebody else was having fun and didn't bother actually coming up with the right toolchains. I wish more people would engage with this tension. Sometimes chasing fun just digs you in deeper.
🤔 1
d
I accept all the boilerplate and layers upon layers of cruft simply because (apart from doing this paying the mortgage), 90% of the time I can type (in vim!) in modern Javascript. I write tests, make them pass, repeat. I get sufficiently immediate feedback to be able to get into a productive work "zone". Modern JS is very satisfying and powerful. But I'm a techie, and like all techies I'm an outlier. I wouldn't wish my work life on a non-techie.
Part of the satisfaction is being able to work in a very low bureaucracy tech shop where I (and newbie grads) can put to live without asking anyone.
w
I can definitely feel #2.. it seems the bulk of programmers don't care quite enough about programmer ergonomics to effect change
Where I work, a lot of programmers seem to think vim+bash+make+logs+tests is an adequate development cycle.. having the convenience of an IDE+language that support eachother is a distant dream, let alone some of the entirely achievable ideas going around in this community
Also, even if better systems exist.. most programmers get paid to maintain systems in existing languages, so it naturally will take on the order of 20 years to see notable change in what people on average have to work with
i
@Will re: #4 - he does make an argument - if you look around in the tech/dev community, you will see a lot of focus has shifted from “hey I had an idea so i hacked it up and i think this might be a good product” to “hey lets make a todo list app and ship it and call ourselves entrepeneur makers and focus on pumping out same old just to ship stuff”
the hacker spirit has been replaced by “entrepeneur” spirit. even tho I wouldnt say replaced, Id just say the scene has scaled quite a lot and that kind stuff is the stuff that people promote externally while hacker communities promote things internally so it has less visibility
g
Maybe I just depends on where you look. When I browse the #madewithunity tag on twitter, or #pico8, or #creativecoding I see lots of people having fun and don't seem to be bored of programming https://twitter.com/search?q=%23madewithunity https://twitter.com/search?q=%23pico8
❤️ 2