HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
Four Languages from Forty Years Ago - Scott Wlaschin

NDC Conferences · Youtube · 9 HN points · 3 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention NDC Conferences's video "Four Languages from Forty Years Ago - Scott Wlaschin".
Youtube Summary
The 1970's were a golden age for new programming languages, but do they have any relevance to programming today? Can we still learn from them?
In this talk, we'll look at four languages designed over forty years ago -- SQL, Prolog, ML, and Smalltalk -- and discuss their philosophy and approach to programming, which is very different from most popular languages today.

We'll come away with some practical principles that are still very applicable to modern development. And you might discover your new favorite programming paradigm!



NDC Conferences
https://ndcoslo.com
https://ndcconferences.com
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
I posted a talk on HN recently about four programming languages from the 1970s - Smalltalk was one of the languages discussed.

Smalltalk has a object-oriented programming model (OOP) with notable differences to the more familiar OOP model from languages like Java and C#. Smalltalk also has an windowing IDE (eschews separate text files), a consistent model, and minimal syntax (just 3 keywords). It's a very interesting language.

Here's a Smalltalk demo from the talk: Four Languages from Forty Years Ago (2018) (44min mark): https://youtu.be/0fpDlAEQio4?t=2641

Rochus
> with notable differences to the more familiar OOP model from languages like Java and C#.

This only applies to Smalltalk-72 (which is celebrated this year). The Smalltalk we know today started with Smalltalk-76; like Simula or Java it has inheritance and compiled virtual methods (i.e. no longer passing tokens to objects for interpretation). Smalltalk-80 celebrated its 40 years in 2020 on which occasion I implemented a couple of tools and VMs to study its inner workings, see https://github.com/rochus-keller/Smalltalk.

> a consistent model, and minimal syntax

Which is mostly beneficial for the parser writer; implementing an efficient VM for Smalltalk is still an art today, because nearly everything is a closure and the control flow has to be guessed; in any case Smalltalk can at least pride itself on having initiated a development that led e.g. to Java Hotspot and the V8 engine.

Feb 24, 2020 · yawaramin on The Zen of Go
> I've learned many languages including C, Objective C, Java, Python, Ruby, JS, and some Haskell.

You've learned basically the same language over and over again: Algol-family imperative-OO-mishmash. Haskell is probably the most unique out of all of them, and I'm inclined to think you haven't gone too far with it. Perhaps you know SQL though and recognize how a relational (roughly, set-oriented) language can work.

My point is that I understand that Go offers you some compelling advantages. We're just saying that other languages offer some pretty amazing things too, and they are even better designed (as languages) than Go.

Check out this fantastic talk by Scott Wlaschin to get a sampling of truly different language paradigms and how they approach problems: https://youtu.be/0fpDlAEQio4

hellcow
> We're just saying that other languages offer some pretty amazing things too, and they are even better designed (as languages) than Go.

I agree that many languages have interesting features.

Your point however is not at all the argument the GP was making, which was that Go suits only Google, junior developers, and huge teams.

zxcmx
Based on who designed it, it seems to me that go was primarily designed to meet the needs of "senior developers", because they are the ones who have to read way more code than they write (whether by juniors or seniors or whoever).

Those people are going to tradeoff writability for readability every time.

Seniors need to be able to read an arbitrary MR and quickly figure out what it is actually doing and that is way easier when the language does not have e.g. surprises hiding in innocent looking operators (looking at you c++) or culturally encourage towering abstraction.

The error handling thing improves locality which is also super useful when reviewing changes.

Rust, Go, Julia, Nim are all cruly braced, procedural, mutable, object oriented languages.

I think we need languages that bring new paradigms. All that you quoted fail in this respect.

https://www.youtube.com/watch?v=0fpDlAEQio4

Skinney
Neither Go nor Rust has objects or inheritance.
apta
> Neither Go nor Rust has objects

What's an "object" anyway? A collection of data fields bound to a method is what most people would probably consider. In which case, both golang and Rust have objects.

gonzus
Nim is not curly braced, it uses Python-like indentation.
mratsim
Julia and Nim don't have curly braces.

Nim isn't object oriented either, it's procedural oriented just like C. Experienced Nim devs avoid methods and inheritance and only use them after very careful considerations.

Mutation is needed to implement low-level stuff and have deterministic memory usage.

Nov 16, 2018 · 2 points, 0 comments · submitted by mpweiher
Nov 04, 2018 · 2 points, 0 comments · submitted by chewzerita
Nov 03, 2018 · 1 points, 0 comments · submitted by enkiv2
Sep 25, 2018 · 4 points, 0 comments · submitted by pjmlp
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.