They are if you define them as such. But there is already a silly semantic thread going on if that's what you are looking for.
> and code in high-level languages is still code in the proper sense.
Sure. As is natural language (e.g. criminal code).
> It is highly dishonest to call someone who is not a competent software engineer a "developer" even if their job consists entirely of telling actual software engineers or "coders" what to do.
Okay. But coders, as spoken of earlier, were not software engineers. They were human compilers. They took the higher level instructions written by the software engineers and translated that into machine code. Hence the name. Developer in the above referred to what you call software engineer. It seems your misinterpretation is down to thinking that software engineer and coder were intended to be the same person. That was not the intent. Once the job of coding went away it has become common to use those terms synonymously, but the above was clearly written about the past.
Again, if you're looking for a silly semantic discussion, there is already another thread for that.
If a compiler counts as AI then so does literally every other program out there (at least the ones with well-defined inputs and outputs).
>Sure. As is natural language (e.g. criminal code).
Natural language is too ambiguous and self-referential to count as a programming language, per se. While a subset of natural language can obviously be used to describe programs, we distinguish programming languages from natural languages in that they are formally defined and bound to be interpreted in one way by a machine with a relatively small amount of context (notwithstanding minor differences between implementations). Natural language has the unfortunate property of semantic drift (or whatever it's called). The sounds, spellings, meanings of words, etc. are extremely context-sensitive and unsuitable for reliably encoding computer programs or anything else over long periods of time. It is very common for a single word in a natural language to have several meanings, even contradictory meanings.
>They took the higher level instructions written by the software engineers and translated that into machine code. Hence the name. Developer in the above referred to what you call software engineer.
I am well aware of what you're trying to say, and the historical context, but I think you're applying modern terminology to old practices to draw a bad conclusion.
>It seems your misinterpretation is down to thinking that software engineer and coder were intended to be the same person. That was not the intent.
I didn't misinterpret anything. These jobs were not "intended" into existence. It just so happens that writing any kind of code is challenging enough to require its own dedicated professionals. That has always been true.
>Once the job of coding went away it has become common to use those terms synonymously, but the above was clearly written about the past.
The job of "coding" never went away. The type of code being written changed. The product is still CODE as in a procedure or specification encoded in a purpose-built, machine-oriented, unambiguous, socially neutral, and essentially eternal language.
>Again, if you're looking for a silly semantic discussion, there is already another thread for that.
It's not a silly semantic discussion, it's a serious one. You think that one can be a "software developer" merely by using natural language, and that there is historical precedent for that. But this is very wrong, especially in the historical context. By your own argument, any dumbass manager could be a "software developer" if only he found an entity to write the software for him based on natural language instructions. It matters not whether the entity generating the actual code is a human being or a machine. Since there are actual people trying to hire software developers and engineers with real skills, it is a waste of everyone's time for vibecoders to call themselves "software engineers" or "software developers" because they're not. They are JUST vibecoders. That skill set may be sufficient for... something. But stop trying to make it into something it isn't with these misleading arguments and analogies.
It is slightly hilarious that this entire "silly semantic discussion" is a product of the properties of natural language. One of the massive benefits of computer languages is that you DON'T get into stupid discussions about the meanings of things very often. When you DO, it is usually because some goofball wrote a bad spec. The ambiguities and other nonsense are hammered out in the spec, and from there on the language has a concrete meaning that is not up for debate.
You seem to be missing some context. We were talking about a system that takes a typed description of what you want as input and outputs code. There is plenty of software, even with well-defined inputs and outputs, which do not do that.
But there is a particular type of software that does exactly that. We call it a compiler in my circles. Maybe you do not in your circles, but it doesn't really matter as it was I who wrote "compiler". It was written to express my intent. Your (mis)interpretation does nothing to change my intent and is, frankly, irrelevant.