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

Click For Summary

Discussion Overview

The discussion revolves around categorizing programming languages, specifically focusing on Python and JavaScript, within the framework of the four generations of programming languages. Participants explore the definitions and characteristics of these generations, as well as the classification of modern languages that do not fit neatly into this categorization.

Discussion Character

  • Debate/contested
  • Conceptual clarification

Main Points Raised

  • One participant outlines a general categorization of programming languages into four generations, from machine code to interpretive languages, and seeks to place Python and JavaScript within this framework.
  • Another participant argues that the four generations are an oversimplification and that there are more than four categories, noting that the generations overlap in time.
  • A response suggests that categorizing Python and JavaScript is generally not straightforward, implying that they do not fit neatly into the proposed generations.
  • It is noted that Python runs on the server and is compiled to bytecode before being interpreted, while JavaScript typically runs in a browser with an integrated interpreter.
  • One participant emphasizes that the fourth generation is defined by specialization for particular applications rather than being interpretive, suggesting that Python should be considered a third-generation language.

Areas of Agreement / Disagreement

Participants express disagreement regarding the categorization of programming languages, particularly the adequacy of the four-generation model. There is no consensus on how to classify Python and JavaScript, and multiple competing views remain regarding the definitions and characteristics of programming language generations.

Contextual Notes

Participants acknowledge the limitations of categorization attempts, including the potential for oversimplification and the overlap of language generations in time. The discussion reflects varying interpretations of what constitutes a generation of programming languages.

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   Reactions: 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   Reactions: 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   Reactions: Trying2Learn

Similar threads

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