4 ms·
> the actual programming is not the hard part We've all been hearing that a lot and it's made a lot of people forget that, although programming might not be th
by CodeMage 6mo ago
> the actual programming is not the hard part
We've all been hearing that a lot and it's made a lot of people forget that, although programming might not be the hardest part, it's still hard.
- zingar 6mo agoHard perhaps but it feels a lot easier now than three years ago. Or so my backlog of personal projects outside of my most familiar stack would suggest.
- 9rx 6mo agoWhat is hard about it? Young children seem to pick it up with ease. It cannot be that hard? Determining what to program can be hard, but that was already considered earlier. The only other place where I sometimes see it become hard for some people is where they treat programming as an art and are always going down crazy rabbit holes to chase their artistic vision. Although I would say that isn't so much that programming is hard, but rather art that is trying to push boundaries is hard. That is something that holds regardless of the artistic medium.
- mikebenfield 6mo ago> What is hard about it? Young children seem to pick it up with ease. It cannot be that hard? They do? I've known plenty of kids and young adults who utterly failed to become even borderline competent at programming.
- 9rx 6mo agoThey don't? It is taught in schools in the early elementary level. I see no indication that most are failing. I think we can agree that few of them would be economically useful due to not knowing what to program. There is no sign of competency on that front. Certainly, even the best programmer in the world could theoretically be economically useless. Programmers only become economically useful when they can bridge "what to program".
- wpollock 6mo ago> They don't? It is taught in schools in the early elementary level. I see no indication that most are failing. Programming in elementary schools typically involves moving a turtle around on the screen. (My mother taught 4th grade in New York for many years, and I believe her when she explained the computer instruction.) Economically valueable programming is much more complex than is taught in many schools through freshman college. (I taught programming at the college level from 1980 till I retired in 2020.)
- 9rx 6mo agoBecause economically valuable programming has to consider what to program, not simply follow the instructions handed down by a teacher of exactly where and how to move a turtle on the screen. But nobody questions "what to program" not being hard. It was explicitly asserted in the very first comment on this topic as being hard and that has also carried in the comments that have followed.
- CodeMage 6mo ago> What is hard about it? Young children seem to pick it up with ease. It cannot be that hard? That's like saying "becoming a writer can't be that hard, since kids learn how to write in the elementary school". Given a set of requirements, there are many different ways to write a program to satisfy them. Some of those programs will be more efficient than others. Some will scale better. Some will end up having subtle bugs that are hard to reproduce.
- 9rx 6mo ago> That's like saying "becoming a writer can't be that hard, since kids learn how to write in the elementary school". Is writing hard? I expect most can agree that determining what to write, especially if you have an objective (e.g. becoming a best-selling novelist), can be extremely hard — but writing itself? > there are many different ways to write a program to satisfy them. "What to program" being hard was accepted from the onset and so far we see no disagreement with that.
- CodeMage 6mo ago> Is writing hard? I expect most can agree that determining what to write, especially if you have an objective (e.g. becoming a best-selling novelist), can be extremely hard — but writing itself? Being able to transcribe sentences in a certain language is the skill kids pick up in elementary schools. Being a writer requires a whole set of skills built on top of that. The reason why I brought up that difference in the first place is because both of these are called "writing". When a fan says "I heard the author is writing the next book in the series" or when an author says "I haven't been able to focus on writing due to my health issues", they're not talking about the low-level transcription skill. > "What to program" being hard was accepted from the onset and so far we see no disagreement with that. Similar to your interpretation of "writing", you're choosing to interpret "programming" as a process of transcribing an algorithm into a certain programming language, and everything else ends up being defined as "what to program". That's an overly reductive interpretation, given the original context: > For reasons which it would take a while to unpack, if is often the case that the best (or sometimes only) way to find out what programming actually needs to be done, is to program something that's not it, and then replace it. This may need to be done multiple times. Programming is only occasionally the final product, it is much more often the means of working through what it is that is actually needed. > [...] > Most of what is being done, during programming, is working through the problem space in a way which will make it more obvious what your mistakes are, in your understanding of the problem and what a solution would look like. Notice that the original comment talks defines "determining what to program" as a process of refining your understanding of the problem itself. In my reading of the original comment, understanding what your users need is "what to program". Writing code that solves your users' requirements is "programming".
- ozim 6mo agoYou sound like you would confidently say that you can play chess. Basic moves are easy to learn by very young children. But if only thing you know are basic moves playing against a player with 1600 ELO you are not going to win without serious training and 1600 is still far below grand master level.
- 9rx 6mo agoAbsolutely. I am quite capable of moving the pieces around a chess board within the confines of the rules. I think you would be hard-pressed to find many who are incapable of that, given exposure to the game. If that isn't easy, what is? I am not all that good at figuring out what moves to make, but that analogs with "what to program", not "programming" as it pertains to the discussion that has been talking place. Nobody has ever suggested "what to program" is easy.
- ozim 6mo agoYou missed the point. At some level even if you know basic moves those moves are wrong. Some things are hard to express in code even if you know exactly what you need to achieve and you know all the basic moves like loops and if statements. If you know that you have to do a check mate or get amount of points and you know how to do basic moves but you don’t know any openings you are going to loose in 3-5 moves. If you get past openings you might get to 15 moves. If you do easiest greedy approach you loose if you take easiest defensive approach you loose. It is not „what to program” because in chess you exactly know what is the goal. Getting to that goal alone is hard.
- 9rx 6mo ago> Some things are hard to express in code even if you know exactly what you need to achieve and you know all the basic moves like loops and if statements. Like what? Are you, perhaps, confusing "hard" with "time consuming"? Some things take a long time to express in code (absent AI, at least). It's not hard, though. It's just rote copying down what you have already determined "what needs to be programmed". Getting to the point where it is just rote copying can be difficult, but is decidedly in the "what to program" phase.
- manquer 6mo ago> Young children seem to pick it up with ease. It cannot be that hard It is other way around. Children can pick up a lot of skills that adults struggle at, like languages for example. Plenty of research has shown reduced plasticity of the brain has stronger correlation to learning speed and ability as it grows old. Most breakthrough research is usually at age 40 or less or chess grand-masters fade in skill after. 25-40 is probably age group where the optimal balance between knowledge experience and learning ability for best outcomes.
- johnnyanmac 6mo agoIt's all relative. The general idea of this is that a software engineer spent years studying such concepts and then years more working in legacy code. so it's second nature to do the mechanical operation of "extend a new class from Widget and add a function that returns the number of pencils pushed", and then somewhat easy after a few years to "pipe the pencil pushing function into the website frontend to display". Even if just describing this to a non SWE would have their eyes glaze over, and a junior SWE would struggle getting things integrated. The painter metaphor works well here: >Picasso in a restaurant, asked him to scribble something on a napkin, and said she would be happy to pay whatever he felt it was worth. Picasso complied and then said, “That will be $10,000.” >“But you did that in thirty seconds,” the astonished woman replied. >“No,” Picasso said. “It has taken me forty years to do that.” (Disclaimer: I do not think Picasso literally said this, but it's a very common tale)