0
$\begingroup$

I understand that there are three types of programming languages:

  • Machine languages
  • Assembly languages
  • high-level languages

And that:

  • Machine languages have no abstraction
  • Assembly language have little abstraction
  • High-level languages have much abstraction (data types being the difference maker?)

Is there a standard or model or taxonomy of programming languages different than machine-assembly-highlevel?

In other words, is this taxonomy necessary or are there more "sophisticated" or "complex" categorizations?

$\endgroup$
0

2 Answers 2

1
$\begingroup$

I've never heard of "threshold languages". I don't think that is a "thing", or at least not a terribly important thing.

Don't worry too much about taxonomies. Taxonomies are mostly not very important. They have value only insomuch as they help you understand more deeply, but real life is more complicated than any taxonomy. It is a waste of your time to try to find the ultimate taxonomy of programming languages or try to find all possible taxonomies. Taxonomies can often be very shallow, and it might be more productive to go deeper and study a few program languages concretely.

Machine languages (by which I assume you mean assembly language?) have nothing to do with machine learning.

$\endgroup$
1
$\begingroup$

As they say, 'all models are wrong, some are useful'. There are as many language taxonomies as your care to invent, depending on what properties you're interested in.

People often talk about functional vs imperative (vs everything else) languages, which is interesting if you have a particular preference in programming style along those lines. Likewise you can split languages according to their type systems - strong vs weak, static vs dynamic. There used to be discussion of 1st, 2nd, 3rd and possibly 4th or 5th generation languages, but that model seems to be falling out of favour. In all of those cases there are languages that don't quite fit into any one category. If you want something a little more objective you can categorise languages by their computational class, but that isn't often very useful because almost all general-purpose languages are in the same class - turing-complete.

Taxonomy is useful when it reflects an underlying structure, but programming languages are (generally) immensly complicated, so any taxonomy that reveals anything really important is likely to be similarly complicated. I find it's usually more useful to talk about specific properties a language has than try to figure out where it fits with respect to all other langauges. It seems to me that people who are particularly into programming language theory tend to be especially not keen on categorising things - I suppose when you work closely with langauges, even programming languages, it becomes difficult to avoid noticing that words don't actually have meanings.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.