4 ms·
You clearly have not watched the talk. His point isn't that "coders" aren't "programmers", but that coding — i.e. the act of writing code, i.e. text in a progra
by pron 2y ago
You clearly have not watched the talk. His point isn't that "coders" aren't "programmers", but that coding — i.e. the act of writing code, i.e. text in a programming language, i.e. text that can be interpreted and run by a computer — isn't the same as programming, which is the act of efficiently producing software that does what's expected of it. He attempts to show why only writing code is not the best way to produce software that does what's expected of it. You can agree or disagree, but it has nothing to do with how anyone calls themselves.
- CydeWeys 2y agoThese fine-grained attempts at parsing the words to mean things other than how they are commonly used doesn't serve any purpose. Yes, of course the act of physically typing in characters in a programming language is not exactly the same thing about thinking about the algorithms you want the computer to do, but so what? It's trivial and it doesn't matter, and specifically using language to highlight that difference is pointless. To use an analogy, people will often say that "so and so website says X", but the website didn't actually say anything; it can't talk. What they mean is they read so and so text on a website. But we all know what they mean, and it's annoying and pointless to jump in to correct the language there. Similarly, it's annoying and pointless to pedantically argue that "well actually that's not programming, that's coding".
- Workaccount2 2y ago>These fine-grained attempts at parsing the words to mean things other than how they are commonly used doesn't serve any purpose. It's meant to differentiate human "programmers" from AI "coders". Ever since LLM showed up there has been a noticeable urge to redefine the value proposition of software work to be less about what LLMs can do (write code) and more about what humans can do (write programs).
- Swizec 2y ago> Ever since LLM showed up there has been a noticeable urge to redefine the value proposition of software work to be less about what LLMs can do (write code) and more about what humans can do (write programs). We’ve been having this debate for my entire career (since at least 2010). The suits have always misunderstood what programmers/engineers do and we’ve always pushed back explaining that it really is closer to city planning than to brick laying. The agile manifesto (2001) was in large part a response to these pressures to think of programmers as the people who “just implement” what the smart suits have already figured all out.
- mrkeen 2y ago> It's trivial and it doesn't matter They are different and they absolutely do matter. DateTime.Now() is a perfectly valid thing to write while coding. Unless you are in a distributed system, where 'now' doesn't exist, so all source code using 'DateTime.Now()' is automatically suspect. How do you know if you're in a distributed system? That's a programming question, not a coding question. And from a lot of the microservice push-back you get here on HN ("just use a single DB instance - then your data is always consistent",) a lot of devs don't realise they're in a distributed system. "Backtracking", "idempotent", "invariant", "transaction", "ACID", "CAP", "secure", "race condition", "CRDT", are all terms that exist at a programming level, but they don't show up in the source code. A single effectful statement in the source code can be enough to break any of these quoted programming terms.
- pron 2y ago> These fine-grained attempts at parsing the words to mean things other than how they are commonly used doesn't serve any purpose. Except we're talking about a talk title. Lamport explains what he means in the talk. What I responded to was a comment on the content based entirely on the title. > It's trivial and it doesn't matter, and specifically using language to highlight that difference is pointless. Sure, and that is precisely Lamport's point. You really need to watch the talk. He shows how abstract algorithms cannot be fully described in any language that is intended to be executed by a computer. > Similarly, it's annoying and pointless to pedantically argue that "well actually that's not programming, that's coding". And Lamport is not doing that. You're arguing over a pithy title to a rather deep talk.
- crazygringo 2y agoThose are idiosyncratic definitions that are not even remotely common or shared. It people misunderstand your message because you chose your words poorly, that's your fault. It also feels like something of a straw man -- in reality, you have junior programmers/coders and senior programmers/coders and they get better over time. In real life, they aren't two distinct activities. People write code to get things done, and as they get better they are able to write code that is faster, more elegant, or more scalable. But premature optimization is also the root of all evil, as one saying goes -- plenty of code doesn't need to be faster, more elegant, or more scalable. It just has to work and meet a deadline. And there's nothing wrong with that.
- fc417fc802 2y agoThe point isn't better or faster, at least in and of itself. It's the higher level approach to system design. The balancing of competing goals, including things like less error prone or less effort to maintain. You speak of programmers getting better over time. The point is to break that improvement down into distinct categories. Of course they're idiosyncratic definitions. He's attempting to make a distinction which he feels is useful. He needs words to communicate that distinction.
- crazygringo 2y ago> Of course they're idiosyncratic definitions... He needs words to communicate that distinction. Generally people invent new terms by combining words, or call them programmers of "type 1" and "type 2" or something. Using existing term that are synonyms, and inventing a distinction between them, is unusual, unhelpful, and confusing. It's like me saying that sofas are always better than couches because sofas are designed with comfort in mind while couches are intended to maximize manufacturer profit. Huh?
- fc417fc802 2y agoI could agree with that in the general case. However in this specific case the words themselves seem (to me at least) to naturally lend themselves to the distinction. Coding itself morphed into a verb at some point (code and coding were both already nouns). If you consider what it derives from the distinction he's drawing makes linguistic sense. I guess the alternative would be terminology such as "writing code" versus "designing software"?
- AnotherGoodName 2y agoI’d argue this whole discussion is a flaw of the English language. Quoting Pratchett “English doesn’t borrow from other languages. English follows other languages down dark alleys, knocks them over and goes through their pockets for loose grammar.” English has a lot of words from different origins that are more or less synonyms and one of the most common time wasting behaviours i’ve seen is people endlessly trying to categorize those words in endless debate. The web is full of endless slideshows with titles such as ‘the difference between management and leadership’ or some such. One’s a latin word and the others german for basically the same concept and since english has both (it steals from every other language without care) you’ll find a million slideshows people have created on the differences between the words. This whole thread is yet another example of this behaviour and if you’re aware of it you’ll very quickly tire of every fucking ‘the difference between [english loanword from latin] and [english loanword from german]’ thread you’ll see.
- pixl97 2y ago“The problem with defending the purity of the English language is that English is about as pure as a cribhouse whore. We don't just borrow words; on occasion, English has pursued other languages down alleyways to beat them unconscious and rifle their pockets for new vocabulary.” ― James D. Nicoll
- School-Cotton 2y agoYou’re right overall, but I hate that quote. English doesn’t have a lot of duplicate words because of some aggressive vocabulary-stealing nature. It has a lot of duplicate words for the same reason modern Nahuatl has a lot of loanwords from Spanish: England was colonized and ruled for centuries by non-English-speaking people.