points by chasd00 4 days ago | 0 comments
> The struggle was never to learn programming syntax
For 85-90% of devs, yes this was the struggle. Creating and updating rows in a database from user input is all the “domain modeling” there is in most software. That’s what is solved by AI and it’s the majority of software dev.
[–] landgenoot 4 days ago
You are confusing syntax with knowledge of the libraries.
The struggle is not where to put a semicolon. The struggle is, how do I handle validation problem X with framework Y.
[–] jghn 4 days ago
But even this was always overblown. Once one has broad enough experience it wasn’t hard to quickly spot patterns and fill in blanks with google
[–] OkayPhysicist 4 days ago
[–] nextaccountic 4 days ago
The issue here is that you are learning the syntax at the same time you are learning foreign concepts, and the syntax is often confusing and counter intuitive
Learning the syntax separately is of no use because without a mental model you can't do anything with it
[–] skydhash 4 days ago
This is why children can easily learn enough programming to create games, because it’s a domain they can comprehend easily. Just like they can use english to write about their daily lives. It will be simple sure, but it will work.
So learning to code is fairly easy, you can easily create simple programs after a weekend. More complex programs will still use most of the same basic concepts as far as coding goes, but you will need to master more complex concepts, and that takes time. And such concepts are not about coding, they are about the nature of computing or the domain the software is created for.
This is why experienced devs only need a few days doing kata to get up to speed with a new programming language. It’s usually the same old, with slight differences. What was always needed was an understanding of computing and the ability to break down problems and create a solution that can be computed.
Coding to me is the same as drafting an engineering schematics, or writing a sheet music. It’s just a tool, not the end result.
[–] prmph 4 days ago
Those who think the challenge is to overreach the limitations imposed by programming languages and types, etc, to do seemingly "magical" things. These are ones who would never understand why you might want higher-kinded types, the relative pros and cons of the functional vs imperative approaches, or even of type systems in general. They also tend to think the code written, in itself, is the valuable output of their work.
And then there are those who think the challenges is to model problem domain so well, using the language features, types and data structures, etc, that the solution (and further adjustments to it) becomes obvious and straightforward. They also tend to think the analysis and model that results is what is valuable.
Another way to see this difference: what impresses them? it is a hack that uses arcane knowledge to bypass software and hardware "limitation" or structures? Or is it code that is simple but still effective at solving complex problems in elegant ways, that may look simple but reflects a huge amount of knowledge, skill, and architectural intuition built up over many years?
I of course think that the second group are more effective and are doing proper programming, but many programmers and the general public think otherwise, or can't event tell the difference. I once worked with some colleagues could never see the light, despite a lot of support from me.
So here is the kicker, the dissonance in response to AI, I think, is kind of analogous to these two groups. The first groups likes that the AI will not stop them, but rather get them much quicker to their "magic", whereas the second group is more skeptical and sees many issues with AI not seeing the big picture and understanding deeper intent.
[–] cicko 4 days ago