4 ms·
Its hard to take meaning from your definition of programmer since you haven't defined code. As I understand 'code', it's just an interface for programming, not
by cgriswald 3y ago
Its hard to take meaning from your definition of programmer since you haven't defined code. As I understand 'code', it's just an interface for programming, not definitional.
Consider the Python function 'max', which, given an iterable, will return the iterables biggest item. Now suppose I ask ChatGPT to generate a function (in whatever language you like) called 'max' that does the same thing and it returns a block of code that I copy and paste.
In what way is Python's 'max' meaningfully different from ChatGPT's 'max'? It seems to me that these are essentially both just higher-level abstractions.
- asddubs 3y agomaybe you can argue the case that chatgpt is a programmer, but all the human is doing here is making requests and copying and pasting. is a manager a programmer? or, to put it another way, if everyone is a programmer, the word is meaningless.
- bobbiechen 3y agoEchoes of the https://en.wikipedia.org/wiki/Chinese_room https://en.wikipedia.org/wiki/Chinese_room thought experiment here.
- piotrkaminski 3y agoAre you not a programmer because you use a compiler and "paste" its output into the executable? Or an assembler, instead of flipping bits by hand in memory? Are people making complex spreadsheets with hundreds of formulas not programmers? We've been raising the level of abstraction in code for decades and it looks like LLMs might just be the next level up. Yes, using LLMs will put more complex code within reach of more people but I'm sure it won't be nearly everyone, and I bet that it'll raise the ceiling of what the best programmers can do at the same time. Of course, we're free to redefine what "programmer" means at any time as well, if a new definition proves to be more useful.
- mcluck 3y agoFundamentally, I think it's a fuzzy matter of degrees. I go to the gym regularly but I am not an athlete. To me, an athlete is someone who dedicates themselves to the study, improvement, and mastery over their body, usually in a particular discipline. While everyone specializes, athletes also have general skills that the average person lacks. How do we define someone who is dedicated enough? I don't know. There's mountains of arguments about it across the internet but often the criteria is engaging in competition. To apply the same system to programming, one is a programmer if they dedicate themselves to the study and mastery over their computer, usually in a particular discipline. The disciplines of programming may be defined around the abstraction level. While everyone specializes, programmers also have general skills that the average person lacks. I would argue that the most important of those general skills is understanding the relationship between instructions, execution time, and memory usage as well using that knowledge to weigh different approaches. How do we separate a hobby programmer from someone who regurgitates AI responses with no understanding? I don't know. Maybe their ability to derive new answers if the AI didn't give them a correct answer. Words do have meaning and we should be careful not to degrade the meaning down to anyone who is capable of asking an AI questions but I doubt we'll ever have a non-fuzzy definition of programmer
- sgarland 3y agoAm I an electrician because I’ve replaced receptacles, switches, fans, etc.? Is someone a plumber if they followed step-by-step directions to replace the flush valve in their toilet, without understanding how any of it works, or what the parts are for? Where is the boundary? To me, it boils down to two things - do you spend the majority of your work time on it, and do you understand how your tools work? The former is necessary because even though I was an electrician’s apprentice as a teenager, and can explain how pretty much anything electrical works, it’s not my primary job, so it would be weird to claim that. The latter is necessary because otherwise, you’re diluting the title for those that have it. I can explain how max() works (or at least, an implementation of it). I can give pros/cons for functions.
- cgriswald 3y agoI think comparing 'programmer' to 'electrician' or 'mechanic' is inapt, as these labels are virtually always professional labels. Although there are people who would qualify as a 'hobbyist mechanic', who understand their tools very well, we call them by other names (e.g., gear head). It's not weird at all for (say) a person who plays the guitar to call himself a guitarist even if his day job is painting houses and he's never played a paid gig. I'd say the label programmer has far more in common with guitarist than with electrician and I think calling it a title is muddying the waters, even though it can also be a title. (I also think because we use the term that way, some people prefer other titles that make it clear they are professionals.) However, the point I was making wasn't that people who have used ChatGPT but otherwise haven't programmed necessarily are programmers, but that: (1) Code isn't fundamental to programming. We can imagine programming interfaces other than code that people--even people who spend most of their work time doing it and understand their tools--can use to create programs. (2) A ChatGPT-derived copy-and-paste language is not fundamentally different than other higher-level languages in that it is simply an abstraction.
- janiicee 3y agoAm I doing programming if I ask my <programmer friend> to write a program for me? <programmer friend> == human => ? <programmer friend> == ChatGPT => ?