Comment by atomatica
10 years ago
Yes, thanks for the concise summary.
The only thing I didn't understand is the part about garbage collection. What does garbage collection mean and what is the benefit in this implementation?
10 years ago
Yes, thanks for the concise summary.
The only thing I didn't understand is the part about garbage collection. What does garbage collection mean and what is the benefit in this implementation?
Programming language with automatic memory management. Look up "garbage collection" for all the details in the world.
The reason I brought it up is because it's a common trope that you can't do low-level programming with GC, and systems like Oberon are direct evidence to the contrary.
Exactly. I see the question on Stack Overflow all the time and just keep dropping a whole list of counterexamples. Too many myths in IT that hold mainstream back.
Hmmm, if you don't know what garbage collection is (and I don't mean this as sneer) how are you sure that you understood everything else said?
In the sense that garbage collection is a pretty basic CS term, and the summary contained lots of CS terms and implied knowledge to understand it (modules, interfaces, persistence, etc).
Actually, as a self-taught developer who started with Python and never had to learn about memory management, "garbage collection" was a concept I only became familiar with after a few years of reading gradually more & more material, usually from HN. The other stuff in the summary above would have either made sense or been "guessable" to 3-years-ago-me.
Garbage collection was never really anything I recall being discussed in my Cmpt Science curriculum, back in 1990-1993, though there was lots of interesting theory about memory allocation/deallocation/defragmentation. It wasn't until I ran into Java around 2000 or so that people started talking about Garbage Collection.
I'm not saying that it didn't exist, it was just less of a priority 25 years ago than 15 years ago.
Everyone has different experiences and interests in college, but I recall Garbage Collection as an important subject decades before 2000. I studied CS in the 1970s (and 1980s) and garbage collection was already an important subject. It was a part of the ACM recommended CS curiculum as far back as 1968. Google Scholar reveals thousands of results for "garbage collection algorithm" before 1990. The subject was studied by great computer scientists (Lamport, Dijkstra, and Liskov are all Turing award winners) and the results were fun and interesting:
1989
1988
1987
1986
1985
1983
1982
1981
1977
1976
1975
1974
1973
1972
1969
1967
1963
The Communications of the ACM, during this period, was the most read CS Journal. Articles appearing there were intended to be of interest to the widest population of computer scientists and 19 of them were on garbage collection.
LISP, APL, LOGO, ML, Prolog, CLU, Scheme, Cedar, Smalltalk, Icon, SML, Mathematica, J, Haskell, Python, Dylan, Self, Lua and Javascript are all important, garbage collected programming languages that came before the late 1990's.
Well reference counting is also GC in CS speak and back then most BASIC systems made use of it.
Also by the time Java was known, some of us already knew about Lisp, Smalltalk, Modula-3, Eiffel, Prolog, ML....
What school did you go to?
Weird. How could you miss Lisp and Smalltalk in the early 90s?
Says a lot about your program. It was a topic of huge importance when I was studying CS (1985-1989ish).