549
you are viewing a single comment's thread
view the rest of the comments
[-] IsoSpandy@lemm.ee 13 points 4 months ago

When I learnt programming (back in early 2000s) the textbook said C is a high level 3rd generation language with 4th gen languages being something higher (I don't remember what examples were given specifically). This is back when the java applets and action script for flash were the hot things. How I miss the days without the world being cursed by JS.

[-] MonkderDritte@feddit.de 3 points 4 months ago

I think C was 2nd, 3. is Java and Python, 4 SQL and 5th would be some hypothetical AI instruction language?

[-] Aux@lemmy.world 2 points 4 months ago

1st level is direct binary code as was done with punch cards. Assembly language is a 2nd level language. C is a level above, thus it's level 3.

[-] MonkderDritte@feddit.de 2 points 4 months ago

Ah, thanks! Right, binary was one too.

[-] Aux@lemmy.world 2 points 4 months ago

I would also like to add some of the higher level features available in most assembly languages.

  1. Memory management. You can define variables, for example, a string one containing "Hello, world!" and the compiler will correctly allocate required memory and you don't need to know its address while writing the code, you just reference the variable.
  2. Code labels. If you want to do a conditional or unconditional jump, you need to know the address of the code you want to reach. But, obviously, every change you make to your code base will change the memory layout of your binary. Asembly provides code labels. You can think of them like function names.
  3. Assembly allows you to reference 3rd party libraries without knowing exact function entry addresses. You just use function names like you would with C or any other language.

Modern assembly languages have even more higher level features, like macros support. And some are even hardware agnostic, like intermediate representation assembly language used in LLVM.

[-] mkwt@lemmy.world 1 points 4 months ago

When the gp's book says that C is a third generation language: I would guess the first generation is Fortran and the second generation contains ALGOL and BCPL. C was heavily influenced by BCPL. (get it? C comes after B)

[-] MonkderDritte@feddit.de 1 points 4 months ago

I think we mean different kinds of "generations".

[-] thefool@sh.itjust.works 0 points 4 months ago

SQL has been around since the 1970s

[-] Blackmist@feddit.uk 6 points 4 months ago

That doesn't mean it's not higher level than other languages from more recent times.

[-] MonkderDritte@feddit.de 3 points 4 months ago

Level means level of abstraction. Right?

[-] Lmaydev@programming.dev 1 points 4 months ago

Java applets and flash were an absolute security nightmare of the highest degree.

You were just running applications on your computer.

If you had to download and run an application on your computer to view a website now people would lose their minds (and rightly so)

this post was submitted on 22 Jun 2024
549 points (96.1% liked)

Programmer Humor

19572 readers
978 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS