The Dartmouth Summer Research Project on Artificial Intelligence was in 1956, before I was born. AI itself is even older than that (e.g. William Grey Walter's robots, Elmer and Elsie in 1948), but it was called cybernetics back then. I've been doing symbolic AI, on and off, since the 1980s.
I assume, though, you mean LLMs. I haven't used them first hand, but I have fairly recently implemented a multi-layer artificial neural network in C, mostly as a learning exercise, but as I had previously built a speech spectrogram in Lisp, I thought I'd try to use it to recognize phonemes, with one hidden layer. The Lisp communicated with the ANN via a Unix pipe. It worked reasonably well for just vowels, but when I added other sounds (e.g. l, r, s, z), its performance deteriorated. I think the C is bug free, but I don't know an easy way to train the ANN. I've tried adding to the training set, adding an extra layer, changing the number of neurons in the hidden layer. The usual debugging skills don't seem to help there.
I'm interested in how they work, but building anything like them, given the hardware I have, would be impractical. I've seen others use them, including to answer some questions I had, but the answers they gave were obvious, unhelpful, or wrong.
Even if they become more reliable, I like to understand and work things out for myself, rather than just be given the answer.
It's in the name "Hacker News". Hackers are people who enjoy doing the programming themselves, because they get satisfaction from it. Often they program in their spare time, and sometimes what they develop has little to no practical value, and is done as a learning exercise. Using AI would defeat the purpose for them. If they're forced to use AI in their job, it decreases their job satisfaction.
There are others who just want a problem solved, and it doesn't matter to them how the program which solves it gets written, as long as the program (appears to) work and it's done as quickly as possible, so they outsource the development to AI. That is not hacking.
General Relativity. It explained the anomaly in the precession of Mercury's perihelion, and the bending of starlight by the Sun (double the value predicted by Newton's law).
We agree on Algol, Lisp, Forth, APL, and Prolog. For ground-breaking functional language, I have SASL (St Andrews Static Language), which (just) predates ML, and for object oriented language, I have Smalltalk (which predates Self).
I also include Fortran, COBOL, SNOBOL (string processing), and Prograph (visual dataflow), which were similarly ground-breaking in different ways.
I like your list better, mostly because of the inclusion of SNOBOL, which I never used, but was one of the first programming languages I read about as a young child after a book about it caught my attention at a public library book sale because of the funny name.
The only languages I was familiar with before this were BASIC, Logo, and a bit of 6502 assembly, though I had only used the latter by hand-assembly and calling it from BASIC following an example in the Atari BASIC manual[1].
Also, it's hard for me to imagine how anyone could make a list of ground-breaking programming languages that doesn't include Fortran and COBOL (or FLOW-MATIC as the source of many of its innovations).
They should be placed alongside each other, because Self OOP model is quite different from Smalltalk, including how the graphical programming experience feels like.
For those that never seen it, there are some old videos (taken from VHS) on the language site, https://selflanguage.org/
> I don’t understand why self is placed in the list instead of smalltalk.
The article explains that:
> Smalltalk inherited the notion of a value and its type from earlier languages, and implemented the idea of a class. All objects had a class that gave their type, and the class was used to construct objects of that type. Self disposed of the notion of class and worked solely with objects. As this is a purer form, I have chosen Self as the type specimen for this ur-language.
Yes, but I still don't understand that explanation. Clearly self is a descendant of Smalltalk, that purified a part; but still is a descendant. At least I understand the "ur-" as indicating linage, more about time as features. For me is still backwards.
Although it didn't call it that, Simula-67 was basically object-oriented and both preceded and inspired Smalltalk. But syntactically it looks much like other Algol-inspired langages so it doesn't look that interesting at first glance.
Sadly, not part of this course, though Lisp and Prolog are very useful for other things. C's fine for building neural networks from scratch, and you can glue different subsystems together to make anything more complex than that using Python.
Written Chinese stayed the same while the spoken language evolved from the 5th century BC until the 1911 revolution, after which people began writing Chinese the way it's spoken in Beijing. So there's a sharp dividing line just over 100 years ago; Literary Chinese is still taught in school but without that you'd have trouble understanding it.
I assume, though, you mean LLMs. I haven't used them first hand, but I have fairly recently implemented a multi-layer artificial neural network in C, mostly as a learning exercise, but as I had previously built a speech spectrogram in Lisp, I thought I'd try to use it to recognize phonemes, with one hidden layer. The Lisp communicated with the ANN via a Unix pipe. It worked reasonably well for just vowels, but when I added other sounds (e.g. l, r, s, z), its performance deteriorated. I think the C is bug free, but I don't know an easy way to train the ANN. I've tried adding to the training set, adding an extra layer, changing the number of neurons in the hidden layer. The usual debugging skills don't seem to help there.
reply