3 ms·
If only we had something like building codes, maybe we could stop fucking around trying to re-invent the building all the time, and just make a god damn buildin
by throwaway892238 3y ago
If only we had something like building codes, maybe we could stop fucking around trying to re-invent the building all the time, and just make a god damn building that didn't fall down after 3 months.
We make shit programs because our industry has no code, no apprentices, no journeymen, no masters. We have kids with no discipline who don't understand how anything works and just fake it 'til they make it. Everything from the shit designs to the inefficient basic programs to the overinflated titles to the lack of basic rigor shows that, generation after generation, we're actually getting worse at our profession, not better. We inherit good foundations and we shit on them. And we look at the people shitting stylistically and imitate them.
> we went from drafting tables to CAD. We have Google Keep. We have voice assistants. We have 4k editing for consumers!
We had CAD in the fucking 1960s!!! Google Keep is an overcomplicated frontend for RCS. I've literally programmed a better voice assistant in Perl in 1999. 4K isn't even usable on most devices, let alone necessary.
I literally knew more about software when I was 18 than any programmer I have met in the last 5 years. And I'm not that smart.
> Bash pretty much just makes it explicit right in the language that there's no user/coder distinction
Bash makes it explicit that there is no coder. There's only a user. Programmers don't seem to realize it, but the way they act, they don't consider that the user even exists. This is the defining characteristic of 21st century technology. Programmers are self-serving, and users are waiting for someone to make their lives easier. Like children waiting for the chefs to stop fucking around in the kitchen with sourdough starters and hydration ratios, and just bring out some god damn bread.
- eternityforest 3y agoThere was CAD in the 60s, but somewhere they have archives of paper plans for the moon landings. If it tried to use 60s cad I'd probably think it was just a drafting tool with some extras, not like modern cad with solvers, parametric modeling, and 3D views. I don't see how I could make a sketch with constraints on a face back then, modern CAD is slightly slow even on my laptop. Deep learning voice recognition didn't exist in 1999, which is the critical tech that makes Assistant usable, along with the fact that there's now Keep to integrate with and IoT to control. It's true that programmers hate users sometimes, but that's not an issue of tech or skill, that's an issue of programming culture is full of people who would like to go back to tech free simple living and mostly see computers as "bicycles for the mind" rather than "A UI layer for everything manmade we interact with" or "somewhat independent robots". They're in it for the exploration of thought, not because they want paying taxes to be fully automated. But it's the managers and UI designers, and the small percent of programmers that don't hate tech, who actually direct a lot of the experience. Bash is basically incapable of making anything I'd want as a user, because it's not good for managing insane amounts of complexity. It's a tool for directly controlling a computer and using it as a passive tool. Modern languages are tools for essentially using the computer almost as a manager more than an employee, and for creating new models of interaction that the machine is better able to always have your back with. If I want a block to be 35mm tall in total, but there's terraced layers and curves and stuff, I set a constraint. I don't have to worry about the math. I'm not just virtually building stuff like a digital simulation of wood, I'm doing something completely synthetic, that was made up by someone who figured out a model for interacting that puts as much of the hard parts in the CPU instead of in the brain. It can't just be one way "I tell the machine what to do" interaction or the whole thing is limited to my own ability just like paper. It can't be text based or anything else that requires mental translation, or I'd just have an extra task in addition to doing the whole design myself. Modern software's solution is to create a way to think about the task that is inherently something suited for both humans and machines, and then to teach the user that way. Bash is freeform, it says "think how you want then translate it to what machines know". It's great if you want control, not great for computer-led experiences. Sadly it doesn't seem like we are designing many new paradigms of interaction, but I blame lack of interest rather than lack of tech ability. Programmers think about the functionality first, rather than about the interaction model, because they like ideas and dislike software used in the real world when a pencil could have done instead. We do have building codes. Unit tests, memory safe languages, design patterns, DRY, reuse... It's just that lots of devs don't like them.