[Scheme'22] Programming is (should be) fun!

Поділитися
Вставка
  • Опубліковано 27 сер 2024
  • Programming is (should be) fun!
    Gerald Jay Sussman (MIT)
    Programming is not coding! Programming a medium for creative expression. Composing a good program can be an esthetic experience similar to writing a story, a piece of music, or poetry,
    A good programming experience is an exploration of abstract design. A successful design requires careful choice of the levels of detail for each layer of a programming project. Some of these choices involve classical issues of philosophy, such as the status of referents of expressions, the meaning of quotation, the problems with negation, the power of self-reference, and the use (and danger) of abstraction. Well-composed programs can be effective at expressing emotional content as well. There are the beauties of symmetrical design, and the horrors of ugly kludges.
    All programs have bugs, even ones that meet given specs (because the specs are always incomplete or inconsistent). Bugs are inevitable because the creation of buggy approximations is a crucial part of the design process. Thus, it is more effective to make systems that are debuggable than to try to make systems that are correct by construction.
    In any case, we must keep the fun in programming and not allow it to become a tedious job.

КОМЕНТАРІ • 33

  • @karsten1405
    @karsten1405 2 місяці тому +14

    "It's hard to avoid thoughts of violence when I see something like this" has to be the best line in the entire slide deck and is something we can probably all relate to 😂

  • @maksymmoroz5732
    @maksymmoroz5732 Рік тому +4

    Fascinated with a sharpness of your mind and your joy of programming

  • @claykkari
    @claykkari Рік тому +6

    Deeply inspiring. Makes me want to watch the 6.001 lessons again

  • @s2260
    @s2260 Рік тому +11

    Mind blowing! What a brilliant human being

  • @1210divs
    @1210divs Рік тому +6

    04:52 "That is the job of compilers."
    Brilliant!

  • @nbme-answers
    @nbme-answers Рік тому +5

    I wish we had the Q&A !

  • @smallsnippets
    @smallsnippets 8 місяців тому +9

    Great to mention the philosophical stuff and the fun.
    I thought I'm just the unworldly freak, who sees philosophical problems, when coding.
    Seeing Sussman talking about this, and also explaining the type-errors of math (which you can also find in Linear Algebra, even in some so called proofs), was really relief for me.
    When even the math profs tell you BS, and you think you maybe are just too stupid (imposter?), and then comes along Sussman and says: Well, yes, the math teaching is crap! 🙂
    Sussman, a great personality!
    His rants are exhilarant.
    And... the free software thing at the end of the talk was quite unexpected.
    Great, he mentioned it!

    • @pragmaticmero686
      @pragmaticmero686 3 місяці тому

      Sussman hahahahahah sussman sussy baka hahahah sussy sussy brainrot sus amogus sussy dude

    • @3a146
      @3a146 2 місяці тому

      Well, then you can stop abusing the poor ZFC and join the glorious Type-theoretic family. It turns out that I actually learned how to do formal induction(i.e. proof) from Sussman's 1986 lecture videos where he taught me how to use fixed points to express infinite admissibilty using finite expression, but Sussman himself seems stuck to Mathematics of Riemann's era if not Gauss's era, 2 centuries ago, and is totally innocent to the development of modern mathematics of Grothendieck's algebraic geometry, or categorical universal algebra, not to mention the lesser known constructive line of Kolmogorov, Brouwer, Church, Turing, and all the way to MLTT/HoTT. No you can't stablize Gauss's infinite infinity with a Turing machine, you can't even do the marginal combinatorial enumeration cases. What you need to do is to find the finite recursive generator to prove the finte number of properties you need in the context of infinite possibility, and this is the best judgement you can possibly make.

  • @DeclanMBrennan
    @DeclanMBrennan 6 місяців тому

    Lots of great stuff here but I love the dual numbers at 38:00. Seems like they might have an application to control systems.

  • @vonBottorff
    @vonBottorff Рік тому +4

    I had an Intro to Quantum prof like him. We rode a cloud of psyched the whole semester.

  • @johndewey7243
    @johndewey7243 2 місяці тому

    I try and dynamically respond to as many as a I can. I regretfully inform those whom I cannot dynamically respond to, that in the future there would be more response of the dynamic nature. Ohhhyouuuuu oboy!

  • @vikidprinciples
    @vikidprinciples Рік тому +2

    Beautiful, is there a link to the presentation slides?

  • @betims
    @betims 2 місяці тому

    You are my idol. Hi5 dear fellow Aquarius 🖖

  • @nbme-answers
    @nbme-answers Рік тому

    GJS is a Great Explainer

  • @getpunned
    @getpunned 7 місяців тому

    31:53 I'm not sure what Sussman is proposing for the behavior of the set constructor
    If it behaved differently for set arguments, that would be less consistent
    His point stands, but it's an odd example

    • @RyanBrown22
      @RyanBrown22 2 місяці тому +1

      he wants the arguments to be the items: set('foo', 'bar') => {'foo', 'bar'}. I'll point out that dict(foo=5, bar=3) does the right thing. For set arguments it would be a set of sets: set({'foo'}) => {{'foo'}}.

  • @cyanuranus6456
    @cyanuranus6456 Рік тому +4

    How do You Make Games in Scheme Programming Language?

    • @ArneBab
      @ArneBab Рік тому +1

      For example with Guile Chickadee - search for it.

    • @PRIMARYATIAS
      @PRIMARYATIAS 5 місяців тому

      There are languages called Fennel and Urn that compile to Lua, And Lua is used a ton in games.

    • @firalanger6850
      @firalanger6850 3 місяці тому

      Have you heard of the Itch Lisp Game Jam? The spring lisp game jam is running now! I am using Guile Hoot.

    • @alexm4161
      @alexm4161 Місяць тому +1

      The folks at Bit Twiddle Games made a scheme based game. I didn't know if any of it is open source yet though.

    • @firalanger6850
      @firalanger6850 Місяць тому

      @@cyanuranus6456 Guile Hoot compiles into webassembly. Cheekadee will support that in the future.

  • @DeclanMBrennan
    @DeclanMBrennan 6 місяців тому +3

    Free software is very laudable, but only an academic with a guaranteed salary could be this purist about it. Regretfully until we reach the post scarcity society, some people will still need to earn their living by selling their creativity even though I admit that is a bit sordid. 🙂

    • @heroe1486
      @heroe1486 5 місяців тому +9

      Free as in freedom, not necessarily gratis. These days you have tons of company making a living through foss, even when the code is gratis.

    • @philippeb1507
      @philippeb1507 4 місяці тому +3

      How and by who do you think GNU/linux is developed ?

    • @pragmaticmero686
      @pragmaticmero686 3 місяці тому +2

      We need more GPL and less MIT or BSD, gpl+dual_Licensing is the only way that today we could ensure a good future for open source

    • @firalanger6850
      @firalanger6850 3 місяці тому

      ​@@pragmaticmero686 Use AGPL because GPL is effectively like BSD or MIT in a world of software as a service. You are not compelled to release GPL software running on your servers, but must release AGPL software running on your server.

    • @IvanNedostal
      @IvanNedostal 2 місяці тому

      @@heroe1486 You misunderstood. Point is code IS gratis but idea how to come up with that solution written in code is expensive, so that solution(output of creativity) should be awarded price. You pay for Kafkas thoughts not for his letters(typeface, symbols).

  • @pragmaticmero686
    @pragmaticmero686 3 місяці тому +1

    Suss man? Omg sussy baka

  • @lonotalonota5779
    @lonotalonota5779 2 місяці тому

    @33:35 what? I see no problem