Java First, second, third and fourth generation + Python and Javascript

Click For Summary
The discussion revolves around categorizing programming languages into generational frameworks. The original poster outlines a four-generation model: first-generation (machine languages), second-generation (assembly languages), third-generation (compilable languages like C and FORTRAN), and fourth-generation (interpretive languages like Matlab). However, they express confusion about placing languages like Python and JavaScript within this model, noting that both are not compiled and run in web environments without a clear interpreter.Responses clarify that Python compiles source code to bytecode, which is then interpreted, while JavaScript is executed in browsers with integrated interpreters. The conversation suggests that the four-generation model is an oversimplification, as many languages exist outside these categories. Additionally, it is noted that fourth-generation languages are defined by their specialization for specific applications rather than merely being interpretive. Python is suggested to fit as a third-generation language, emphasizing the need for a broader understanding of programming language classifications.
Trying2Learn
Messages
375
Reaction score
57
TL;DR
How would one categorize Python and Javascript
Good Morning

I have understood, as a general rule and category (and I realize all such attempts to categorize are fraught with danger), the four generations
of languages, from as machine (first generation), to assembly (second generation), to compilable (third generation; e.g., C, FORTRAN) and finally, interpretive (fourth generation) like Matlab.

I also realize that Java, with its interpreter, is still a kind of compilable language

However, I am unable to place languages like Python or Javascript into this. Neither need to be compiled, both run on web pages, yet there does not seem to be an interpreter either.

How would one categorize these last two languages?
 
Technology news on Phys.org
I would say that there are far more than 4 categories. Your four generations is an oversimplification. And in chronology, the four you cite overlap in time.
 
Trying2Learn said:
How would one categorize these last two languages?
One generally wouldn't.

But, "3" (but, not your "3")
 
Last edited:
Generally: Python runs on the server, the source code is compiled to bytecode, then the bytecode runs on an interpreter; JavaScript runs on the client, typically in a broswer within which the interpreter for it is integrated.
 
Thank you everyone. I will have to re-evaluate these categories.
 
  • Like
Likes sysprog
Trying2Learn said:
Thank you everyone. I will have to re-evaluate these categories.
Why ? Wikipedia doesn't do too bad a job of it.
 
  • Like
Likes Trying2Learn, FactChecker and sysprog
4'th generation is not characterized by being interpretive. It is characterized by being specialized for particular applications and problem domains. It is very hard for a general-purpose language to be as convenient to use as a language that is designed specifically for a particular application. There are a lot of specialized languages for mathematics, statistics and data analysis, simulation, database use, etc. They may not be as well known outside of their specialty because of their limited application, but they can dominate their subject domain.
I would consider Python to be a nice 3'rd generation language.
 
Last edited:
  • Like
Likes Trying2Learn

Similar threads

  • · Replies 1 ·
Replies
1
Views
4K
  • Sticky
  • · Replies 2 ·
Replies
2
Views
503K
  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 9 ·
Replies
9
Views
4K