What is the difference between Производственные and Исследовательские programming languages? What do these definitions mean?

Java is, first of all, an industrial , rather than a research programming language, and therefore, as pointed out in his classical work on the design of the Java programming language, Ch.E.R. Hoar (CAR Noag), during its development, the creators of the language diligently avoided the inclusion of new and untested features. Source (p.23)

  • Where did you find these definitions? - Grundy
  • five
    It is likely that in the book where you found these "definitions" - their essence is also revealed there;) In the generally accepted approaches there are no such definitions for programming languages. - ReinRaus
  • @TimurVI It comes to my mind the old days when the Algol 60 language was used as a means of describing algorithms, but not for executing it on specific machines. I think that now it is no longer relevant. - Vlad from Moscow
  • one
    “Java is, first of all, PL for practical solutions, not for researching the possibilities of a language” - read this. - ReinRaus
  • Most likely, production is used to write business logic, and research - to use the mathematical apparatus. - Victor Khovanskiy

2 answers 2

Everything is simple

A production language is a language in which you can write an industrial code. C / C ++, Java, PHP and the like. These languages ​​are well standardized and give the expected result.

A research language is a language intended for research. Industrial code is rarely written in such languages. These languages ​​have two purposes - to check some idea in programming (when the lambdas were exclusively here, and now in every industrial language) or for some tasks (these languages ​​can also be called specialized). These languages ​​include Haskel, ml and other functional languages. Also, I would put a dart here (trying to javascript with a human face).

Of course, no one bothers to write industrial code (enterprise :) on HASKEL, or write research on it.

Languages ​​may eventually migrate from one category to another. When c ++ was a research language, now it is a normal industrial language.

  • one
    @Grundy can be a chainsaw to cut trees, even if there is not pouring gasoline. Hard of course, but possible. And it may even be applied (for example, as a punishment). But this does not mean that you need to do that everywhere. - KoVadim
  • one
    @KoVadim, but this chainsaw will not stop being a chainsaw - Grundy
  • 2
    Selectel write Haskele system utilities. They mentioned it on Habré. Exclude from the list of research :-) - Pavel Mayorov
  • one
    @KoVadim, why? - Grundy
  • 2
    @KoVadim are you afraid of clean functions when working with a disk?) - pavel

I can assume that we are talking about two types of language: the so-called academic and industrial .

The first type includes languages ​​that are used for teaching programming. They, as a rule, have not complicated syntax, rather poor language features. In such languages, it is often not very convenient to write large programs.
An example would be: Pascal , Basic .

Industrial languages ​​include languages ​​in which programs are written for everyday use.
Examples: Java , C++ , Python , etc.

It is worth making a reservation that a language can belong to one or another category.