Тёмный

Four Languages from Forty Years Ago - Scott Wlaschin 

NDC Conferences
Подписаться 195 тыс.
Просмотров 15 тыс.
50% 1

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
www.ndcconferences.com/
ndc-london.com/

Наука

Опубликовано:

 

2 апр 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 44   
@cat-.-
@cat-.- 2 года назад
Every one of this guy’s talk is worth downloading
@centopus
@centopus 2 года назад
My mind was blown with prolog. I guess next few weekends have been planned.
@JohnDlugosz
@JohnDlugosz Год назад
Did you know that Borland had a "Visual Prolog" in the 80's? If there was ever a chance that it could take off...
@gareginasatryan6761
@gareginasatryan6761 3 года назад
It’s insane how ahead of time LISP was. It basically came out a year after FORTRAN (oldest language) but had modern features.
@Jagi125
@Jagi125 2 года назад
LISP's still ahead of time nowdays.
@BryonLape
@BryonLape Год назад
Between Lisp and Algol-68, all language features were known.
@Ghi102
@Ghi102 3 года назад
The Prolog sudoku solver is insanely cool
@JerryRutten
@JerryRutten 3 года назад
Prolog IS cool. That’s why they called it Prolog: PRObably the Language of God.
@JerryRutten
@JerryRutten 3 года назад
My advice: first really learn Prolog (not only toy applications), then learn SQL. Prolog is from the domain of artificial intelligence, and SQL is quite similar to Prolog (all about relations). A lot you can do in Prolog, you can do in SQL, only with a lot more typing…
@Ghi102
@Ghi102 3 года назад
Thanks for the tips! I know SQL from my workplace and I've done a little bit of Prolog in the past in my AI course at university (and disliked it, mostly because the academic examples didn't seem all that practical). I guess now's the time to delve deeper into Prolog :).
@JerryRutten
@JerryRutten 3 года назад
@@Ghi102 If need some assistance in Prolog or in translating concepts from SQL to Prolog and vice versa, give me sign.
@JanMichalSzulew
@JanMichalSzulew 2 года назад
Yeah, I'd really love to know what's going on behind the scenes
@Tala2n
@Tala2n 2 года назад
It seems the beauty of a language is not proportional to his success nowadays.
@stroborobo
@stroborobo 5 лет назад
Awesome talk, thanks Scott!
@EvilCoffeeInc
@EvilCoffeeInc 9 месяцев назад
I already knew some Prolog and Lisp (really Scheme) from school - very cool languages that I don't know how to do anything with. Smalltalk though, that I've heard all about and never tried out. I was blown away by how different it is from modern Oo systems. I'm definitely trying it out this week.
@egemensentin
@egemensentin Год назад
COBOL should have got a galaxy brain, just for the plain fact that it is the first language designed to get actual shit done.
@Jagi125
@Jagi125 2 года назад
Terminal is the best way to interact with the computer. You've basically first ranted about it and than literally 5 min later noticed, that it's great that you can interact with Smalltalk from cmd... Otherwise great talk!
@Darker7
@Darker7 2 года назад
Terminal is not *the* best way to interact with a computer. Different types of interaction are best supported by different types of interaction. GUIs are great if you don't know anything and need to find your way around, but if you do know everything a GUI's very liable to slow you down :Ü™
@Jagi125
@Jagi125 2 года назад
@@Darker7 I'm not advocating for drawing graphs is terminal, or anything like that. In the context of this video, it was meant as keyboard driven coding in terminal vs mouse driven interactive IDE. To clarify, I don't have anything against the abstract idea of an IDE. In practice however, it gets in the way of programming. For example, it often tries to enforce syntax conventions, which often lead to boilerplate code, or simply aren't applicable is the current situation.
@0ptikGhost
@0ptikGhost 2 года назад
@@Jagi125 Interestingly, the Smalltalk IDE does not enforce syntax conventions. It understands messages and can help you out in the same way intellisense does in other IDEs by allowing you to choose a message and put in placeholders to replace but it doesn't do much else. The Smalltalk IDE is really there to help you navigate the entire code of the system allowing you to change that code in real time. Obviously, the text portion of the interaction is still done with a keyboard but then again, NOBODY actually programs on a terminal anymore. That is equivalent to using cat to enter your text into a file. Most people still use an editor of some kind that allows for convenience while entering and editing that text. The Smalltalk IDE is different in that it supports other interactions beyond entering and editing text. It really is something worth using personally before passing judgement.
@Knirin
@Knirin 5 лет назад
Why are consoles still used? Answer: GUIs suck for tool composition.
@gareginasatryan6761
@gareginasatryan6761 3 года назад
Yep. Basically. I wouldn’t say they’re consoles though. But full blown GUI IDEs. You really can’t do things like conditionals and loops effectively in GUIs.
@RyanLynch1
@RyanLynch1 2 года назад
at this point you could name it "five languages from fifty years ago"
@oresthopiak8609
@oresthopiak8609 2 года назад
I am not really sure that in modern days the absence of files is a really nice thing. First of all, you get coupled to the tool. You need to open the IDE to at least see what the program does, and what structure it has. Secondly, if several developers work on the same piece of code for some reason, you get a conflict, fro resolving which you have to use IDE (if it supports that feature at all), so basically version control would be a bit difficult. That is why I see no reason to glorify the fact of having no files. Despite that, the talk is interesting, and smalltalk is actually almost as nice as I thought about it
@RyanLynch1
@RyanLynch1 2 года назад
yeah i agree. it also decouples the act of saving your work somewhere and testing it. i think there's a good reason that most people actually save python to files rather than use the REPL/IDLE since it's just more convenient for anything more than a few lines and i think it's easier to compose/generate code across multiple programs. like it's easier for one program to modify a file than try to pull up an IDE and interact with it.
@pqnet84
@pqnet84 Год назад
"There is no file" is an illusion: in the end your code is saved somewhere. The important part is that choosing how to organize stuff on disk should not be an important decision for the programmer. In a certain way Java, enforcing to a certain extent that classes have to be in a file named in the same way inside a directory structure that is a direct representation of the package structure goes in the same direction. In javascript what happens is that the path of the file where an identifier is implemented is a visible property inside the source code, and thus part of the identifier itself. These are good ways to stop thinking about where some stuff is without losing the ability to organize the code in different places. On the other side we have C and C# where the files that are being used inside the compilation are defined as part of the build system configuration, and have nothing to do with how things are identified in code. Arguably this makes even harder to understand code without using external tools (e.g. telling if a file is included or not in the build just by looking at the code may be difficult if it is a C project that uses CMake), such as when reviewing it or solving conflicts (for example, if filename is not enforced there is nothing preventing two developers from using the same identifier for two different items and put them in separate files - not even a conflict)
@oresthopiak8609
@oresthopiak8609 Год назад
@@pqnet84 Java is too serious about their filesystem convention, which I don't really like. I like the way it is done in Go. You have a package, in which everything is shared, and you can make some thing public, to be used outside of the package. This way you have both encapsulation and detachment of specific filesystem structure. You still have packages and other things, that are mandatory, but this gives you quite a lot of freedom.
@SimGunther
@SimGunther 3 года назад
Spoilers: language X = Visicalc
@felixthehuman
@felixthehuman 3 года назад
I just don't get why so many folks go out of their way to insult COBOL.
@ktsnowy
@ktsnowy 2 года назад
It does fit into the video's theme, it changes the way you think about programming since it works so differently from other languages. Some people hate on COBOL without realizing how important it still is, or maybe they're just repeating what others say without knowing why they hate it.
@michaelsommers2356
@michaelsommers2356 Год назад
Have you ever used it? It is insanely verbose. I once wrote a COBOL program to read in a deck of cards and sum the columns. It took three pages. I similar program in a language such as C would have taken ten lines or so.
@michaelsommers2356
@michaelsommers2356 Год назад
@@ktsnowy Just because a language is important doesn't mean it can't be ugly. And it doesn't really do things differently---conceptually different, that is---from other imperative languages. It just does things more awkwardly and verbosely.
@ktsnowy
@ktsnowy Год назад
@@michaelsommers2356 I have used it, I'm one of the maintainers of the Exercism COBOL track. I imagine you must have used an older version of it since you mentioned pages instead of lines, was it COBOL 85? Newer versions have a lot of nice features that would help reduce the number of lines, COBOL 2022 even has async messaging.
@ktsnowy
@ktsnowy Год назад
@@michaelsommers2356 It is very verbose yes, but that's a plus for me. I can easily read through a well written COBOL program and instantly know what it's trying to do because it's mostly English. Sure, you have to write more stuff when starting a new COBOL project, but if it's well written anyone will be able to understand and maintain it without having to learn and memorize what a bunch of different symbols mean. Some newer languages try to compact the syntax into a bunch of symbols and that, in my opinion, makes it harder and more time consuming to read. Makes it easy to write for the first time, but then who will be able to understand and maintain that symbol soup without taking a huge amount of time "unpacking" what everything means?
@JohnDlugosz
@JohnDlugosz Год назад
21:28 is not legal C syntax: if age > 50 and there is nothing named age in the fragment shown.
@csbnikhil
@csbnikhil 2 года назад
Semi colons are easier to type than the period on normal keyboards.
@biggsandnarcisoconstructio3109
@biggsandnarcisoconstructio3109 3 года назад
The unequal octopus recently produce because neon orly rot upon a mushy afternoon. painful, swanky toast
@Kyrelel
@Kyrelel Год назад
SEQL is pronounced "Sequel" SQL is pronounced "S-Q-L" for legal reasons. It's not up for debate.
Далее
Reinventing the Transaction Script - Scott Wlaschin
1:01:04
Four Languages from Forty Years Ago - Scott Wlaschin
1:01:45
Lambda? You Keep Using that Letter - Kevlin Henney
1:00:53
Scott Wlaschin - Coding Like Frankenstein
57:02
Просмотров 2 тыс.
The Functional Toolkit - Scott Wlaschin
1:01:19
Просмотров 8 тыс.
Scott Wlaschin - Designing with capabilities
1:04:13
Просмотров 2,5 тыс.
F# for C# programmers - Scott Wlaschin
1:00:01
Просмотров 68 тыс.
Solving distributed systems challenges in Rust
3:15:52
Просмотров 219 тыс.
Simple Code, High Performance
2:50:14
Просмотров 240 тыс.
#engineering #diy #amazing #electronic #fyp
0:59
Просмотров 2,4 млн
Samsung laughing on iPhone #techbyakram
0:12
Просмотров 6 млн