Four Languages from Forty Years Ago - Scott Wlaschin

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ย. 2024

ความคิดเห็น • 39

  • @cat-.-
    @cat-.- 2 ปีที่แล้ว +16

    Every one of this guy’s talk is worth downloading

  • @EvilCoffeeInc
    @EvilCoffeeInc ปีที่แล้ว +1

    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.

  • @Ghi102
    @Ghi102 3 ปีที่แล้ว +21

    The Prolog sudoku solver is insanely cool

    • @JerryRutten
      @JerryRutten 3 ปีที่แล้ว +6

      Prolog IS cool. That’s why they called it Prolog: PRObably the Language of God.

    • @JerryRutten
      @JerryRutten 3 ปีที่แล้ว +1

      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 ปีที่แล้ว +1

      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 ปีที่แล้ว +1

      @@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

  • @gareginasatryan6761
    @gareginasatryan6761 3 ปีที่แล้ว +15

    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 ปีที่แล้ว +5

      LISP's still ahead of time nowdays.

    • @BryonLape
      @BryonLape 2 ปีที่แล้ว

      Between Lisp and Algol-68, all language features were known.

  • @centopus
    @centopus 2 ปีที่แล้ว +6

    My mind was blown with prolog. I guess next few weekends have been planned.

    • @JohnDlugosz
      @JohnDlugosz 2 ปีที่แล้ว +1

      Did you know that Borland had a "Visual Prolog" in the 80's? If there was ever a chance that it could take off...

  • @Tala2n
    @Tala2n 2 ปีที่แล้ว +5

    It seems the beauty of a language is not proportional to his success nowadays.

  • @stroborobo
    @stroborobo 5 ปีที่แล้ว +4

    Awesome talk, thanks Scott!

  • @egemensentin
    @egemensentin ปีที่แล้ว +1

    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 ปีที่แล้ว +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 ปีที่แล้ว +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 ปีที่แล้ว +1

      @@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 ปีที่แล้ว +12

    Why are consoles still used? Answer: GUIs suck for tool composition.

    • @gareginasatryan6761
      @gareginasatryan6761 3 ปีที่แล้ว +1

      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.

  • @felixthehuman
    @felixthehuman 3 ปีที่แล้ว +3

    I just don't get why so many folks go out of their way to insult COBOL.

    • @michaelsommers2356
      @michaelsommers2356 2 ปีที่แล้ว

      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 2 ปีที่แล้ว

      @@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.

    • @michaelsommers2356
      @michaelsommers2356 2 ปีที่แล้ว +1

      @@ktsnowy It was in 1979 on a Univac system (I forget exactly which system). By 'pages' I just meant sheets of paper when I printed out the program. I don't remember how many lines were op a page, but it was standard 132-column line-printer paper.

    • @michaelsommers2356
      @michaelsommers2356 2 ปีที่แล้ว +1

      @@ktsnowy Sure. All languages get updated. Otherwise they would go out of use. But why would one choose Cobol today if other languages were available?

  • @RyanLynch1
    @RyanLynch1 2 ปีที่แล้ว

    at this point you could name it "five languages from fifty years ago"

  • @oresthopiak8609
    @oresthopiak8609 2 ปีที่แล้ว +3

    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 2 ปีที่แล้ว +1

      "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 2 ปีที่แล้ว +1

      @@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 ปีที่แล้ว +6

    Spoilers: language X = Visicalc

  • @csbnikhil
    @csbnikhil 2 ปีที่แล้ว

    Semi colons are easier to type than the period on normal keyboards.

  • @JohnDlugosz
    @JohnDlugosz 2 ปีที่แล้ว

    21:28 is not legal C syntax:
    if age > 50
    and there is nothing named age in the fragment shown.

  • @biggsandnarcisoconstructio3109
    @biggsandnarcisoconstructio3109 4 ปีที่แล้ว +4

    The unequal octopus recently produce because neon orly rot upon a mushy afternoon. painful, swanky toast

  • @Kyrelel
    @Kyrelel 2 ปีที่แล้ว

    SEQL is pronounced "Sequel"
    SQL is pronounced "S-Q-L" for legal reasons.
    It's not up for debate.