Lisp in 100 Seconds

  Рет қаралды 488,722

Fireship

Fireship

Күн бұрын

Пікірлер: 747
@SirKurt25
@SirKurt25 2 жыл бұрын
4 years ago, I was responsible for maintaining a giant project from 1978, written in Lisp. There was a widely used syntax in that project and I didn't know what it did or how it worked. I searched the internet but nobody knew what it did. I just stopped meddling with it and ignored it for a while. Only later I discovered that syntax was possible thanks to a custom macro written in the project itself. The boomers created a domain specific language and didn't document it.
@madsteeez
@madsteeez Жыл бұрын
I've had a similar experience
@supremeleader5516
@supremeleader5516 Жыл бұрын
What was the project
@proosee
@proosee Жыл бұрын
well... Lisp is directly for this purpose: to create domain specific languages, so there should be no surprise there. Documentation is different matter, but sometimes code is your best documentation because it is by definition always up to date, of course it is only useful if it's written expressively enough.
@gagagero
@gagagero Жыл бұрын
​@@prooseeThe "purpose" of Lisp isn't to create DSLs lol. Macros should only be used where absolutely necessary. Wherever you can, you should use functions.
@John-zq8nf
@John-zq8nf Жыл бұрын
So you entered new project and didn't even begin with learning language it uses? Well.
@zaynelumpkin
@zaynelumpkin 2 жыл бұрын
Learning to program a little Lisp (specifically, Racket) was one of the most rewarding things I ever did as a programmer. The syntax and the approach was so different from anything else I'd ever used, but Lisp was so internally consistent, and everything worked together perfectly once you figured it out; Everything is a list, every element of a list can be a list, and everything can be done recursively. It feels like a language from another planet, and getting familiar with it really expanded my mind and my approach to problems in programming. Learning some Lisp is an incredible way to challenge your assumptions and expand your ability to think about problems.
@neilbedwell7763
@neilbedwell7763 2 жыл бұрын
I'm with you. Personally, since LISP is so translatable, I posit that it really should be considered the definitive way to arrange computation, and that humanity has made a massive mistake making the lineage of LISP the exception. (it truly is in the direction of us having a language that can express any other language-implememtation solution and become a mid-point between comparing any other two languages, which essentially become DSL's with bizarrely chaotic implementations)
@cristianocolangelo9920
@cristianocolangelo9920 2 жыл бұрын
My university teaches Racket as first programming language (bachelor in computer science). Pretty hardcore
@PRonYouTube
@PRonYouTube 2 жыл бұрын
@@cristianocolangelo9920 pretty cool! Which uni?
@hashtags_YT
@hashtags_YT 2 жыл бұрын
I personally feel Haskell would scratch that itch better, but to each their own. That said, definitely give it a try if you haven't already, it's a whole lot of fun to use whilst completely flipping all your programming knowledge on it's head.
@santhosh3374
@santhosh3374 2 жыл бұрын
Its pretty similar to prolog.
@taylankammer
@taylankammer 2 жыл бұрын
Some corrections and clarifications: 1. Scheme (1975) is older than Common Lisp (1984). Both are derived from but significantly different from John McCarthy's original LISP (1958) which is not used anymore. 2. The various "Lisp" languages are actually as different as C, C++ and C# so I would discourage from speaking as if "Lisp" is one programming language, unless you mean the original LISP. 3. Usually people say "LISP 1.5" when they mean the original one from McCarthy, because that's the last version of the original language that he published. 4. Some of the important innovations were first invented in Scheme, not LISP. That includes lexical scoping, true first-class functions/closures, and "hygienic" macros. 5. Scheme and Common Lisp are standardized, like C, and there are many implementations of them. CLisp is just one Common Lisp implementation, like GCC for C. 6. Scheme was originally a research project, and while newer and more feature-rich standards were published over the years, the standards continue to be very minimal. So you'll usually commit to a specific implementation, like Racket or Guile, if you want to do something serious with it. 7. Both Common Lisp, and serious/modern implementations of Scheme, can be and are used for "real" serious software projects. For example GNU Guix is a complete GNU/Linux distribution with many core components implemented with the Guile implementation of Scheme. 8. Both Common Lisp and Scheme can be compiled rather than interpreted, it's up to the implementation. The Chicken Scheme compiler actually converts Scheme to C before compiling it with a C compiler for instance. 9. Any talk about the Lisp family of languages is incomplete without mentioning Emacs Lisp. ;-) Emacs is essentially an implementation of a custom LISP-derived programming language called Emacs Lisp (most similar to Common Lisp from the bunch) that is special-tailored to the task of implementing a text editor in it.
@juuuuuuules
@juuuuuuules 2 жыл бұрын
this guy lisps!
@TheMR-777
@TheMR-777 2 жыл бұрын
I want to eat Chips now
@neilbedwell7763
@neilbedwell7763 2 жыл бұрын
Good lord I find these things so important for someone just discovering the computational problems that the lineage of LISP uniquely answers, and benefits from learning sooner rather than later. this kind of accessible collation is barely anywhere. For the sake of every hackers journey thank you.
@qandak
@qandak 2 жыл бұрын
AutoCAD first released in 1982 still uses its own scripting language for automation - AutoLISP.
@Imaltont
@Imaltont 2 жыл бұрын
For #1, both were also (co-)created by Guy Steele, which is also one of the minds behind the original Emacs, and it is pretty much impossible to have never touched some of his work if you have used a modern computer.
@irian3x3
@irian3x3 2 жыл бұрын
"circum-size" lmfao
@IntentStore
@IntentStore 2 жыл бұрын
*giggles intensify*
@dugtrioramen
@dugtrioramen 2 жыл бұрын
Man has too much fun on these educational videos
@seannewell397
@seannewell397 2 жыл бұрын
Got got
@shane-porter
@shane-porter 2 жыл бұрын
Did you know that doing for(-skin) loop inside such a function results in a syntax error?
@CharlesChacon
@CharlesChacon 2 жыл бұрын
@@shane-porter 👏
@LongDayAlone
@LongDayAlone 2 жыл бұрын
As a Clojure Dev, it warms my heart seeing u cover lisp! Well played sir!
@TheDarkOne629
@TheDarkOne629 2 жыл бұрын
Hello there. Nice to meet a fellow crazy clojurian. Although half the internet would be raising pitchforks again if anyone here called Clojure a lisp. Stay safe, friend.
@icephonex
@icephonex 2 жыл бұрын
Do you use clojure at work or as a hobby language? if you use it at work, do you know if it's niche or if it's high in demand? sorry for all of the questions, have a great day c:
@TheDarkOne629
@TheDarkOne629 2 жыл бұрын
@@icephonex In Berlin, there are some well-paying jobs with Clojure. However, even my employer is looking for other languages to use. It might be worth checking a local meeting for Clojure programmers and asking there.
@zeffster2
@zeffster2 2 жыл бұрын
then I guess you also cringed a little at all the mutable stuff in this video
@sina7306
@sina7306 Жыл бұрын
Its not high demand like other languages but many companies use it (walmart, netflix, boeing)
@0xahmad542
@0xahmad542 2 жыл бұрын
This is honestly the first 100 seconds video where I had to pause a video to understand the content ( so I can put it on my resume ofc )
@electrolyteorb
@electrolyteorb 11 ай бұрын
​@user-he4fd7ly3nwhat? Suicide help line or something?
@afmikasenpai
@afmikasenpai 2 жыл бұрын
1:49 The function name caught me off guard. Great content as always !
@JamieMcI
@JamieMcI 2 жыл бұрын
Great tip!
@zameerfouzan
@zameerfouzan 2 жыл бұрын
@@JamieMcI that's hard/
@theseangle
@theseangle 2 жыл бұрын
@@JamieMcI what tip? 😏
@anon_y_mousse
@anon_y_mousse 2 жыл бұрын
Don't worry, unless your name is Rad, then tuck and roll. ;)
@Arkemix30
@Arkemix30 2 жыл бұрын
@@theseangle xD
@oneandonly_h4
@oneandonly_h4 2 жыл бұрын
So happy to see you reviewing one of my favorite programming languages of all time!!
@gareth2021
@gareth2021 2 жыл бұрын
Care to elaborate why it’s one of your favorite PL? xd My first impression of these languages was that they are „weirdly complicated“. Just curious
@oneandonly_h4
@oneandonly_h4 2 жыл бұрын
@@gareth2021 because it's an art form :)
@Me-da-Ghost
@Me-da-Ghost 2 жыл бұрын
I remember trying to make my own "dream programming language" and I ended up with something which now I realise is exactly like Lisp, brackets and all.
@oneandonly_h4
@oneandonly_h4 2 жыл бұрын
@@Me-da-Ghost See! Lisp is so awesome it's an inspiration to us all :D
@maccsguitar
@maccsguitar 2 жыл бұрын
@@gareth2021 My first impression was "weirdly simple", just put every command in parentheses and the operator/command/function in front, and evaluate from left to right inside parentheses. Otherwise its all the same stuff as other languages, but some of the names might be old. Translating a simple python program into a lisp-dialect, and then with a parser i use myself: def do_something (a, b): c = [a, b] for item in c: print(a, b, item) == (defun do_something (a b) (setq c (list a b)) (foreach item c (print a b item) ) ) == defun do_something (a b): setq c [a b] foreach item c: print a b item The real kicker though is that when it is tedious to write something that really shouldn't be a function or you need to write multiple necessary things for some simple input, you can make another command (a macro) out of that, and the compiler will add all the necessary things for you. Most beginners don't need to use this feature though, its a complete language as it is.
@expertdev
@expertdev 2 жыл бұрын
It's wonderful to know that amazing languages were created on the middle of fifties and sixties and they keeps running modern computers and also they are used like mockups for new languagues. I love those short videos, please keep us up-to-date about the things that the universities and institutes don't share with its students. Thanks Fireship!
@tobiascornille
@tobiascornille 2 жыл бұрын
If there's one things unis are good at, it's at teaching stuff from the fifties and sixties 😛
@Sakuraigi
@Sakuraigi 11 ай бұрын
​@@tobiascornilletrue
@usopenplayer
@usopenplayer 2 жыл бұрын
Been craving a LISP video from you. Great and simple breakdown.
@nissanGold
@nissanGold 2 жыл бұрын
Learning Racket (a LISP type language) in Uni helped me solve harder recursive problems.
@larrytron1992
@larrytron1992 2 жыл бұрын
LISP was the programming language used for Naughty Dog’s Crash Bandicoot series on PS1 and Jak & Daxter series on PS2
@juanignacioaschura9437
@juanignacioaschura9437 2 жыл бұрын
Tetralogy*
@jamesalexander5559
@jamesalexander5559 2 жыл бұрын
Naughty Dog made their own internal programming language that used LISP's syntax called GOAL which means "Game Orientated Assembly LISP". They stopped using it for the first 3 Uncharted games but recreated it for the PS3 when making The Last of Us and I believe they still use it to this day.
@EngineerNick
@EngineerNick 2 жыл бұрын
There is a variant of lisp in autocad and I made it draw a vectorized mandlebrot using a marching squares algorithm. Probably the most productive thing I ever did in both Lisp and Autocad XD
@evilotis01
@evilotis01 Жыл бұрын
that's fkn awesome
@treangle
@treangle 2 ай бұрын
Super cool!
@emmanuelconstantinidis2151
@emmanuelconstantinidis2151 2 жыл бұрын
Now that Fireship has made a video, my coworker will finally believe me that Lisp is a serious language!🙏
@magne6049
@magne6049 2 жыл бұрын
0:55 Racket is the Lisp successor that takes programmable programming language (or in their words: language oriented programming) to its full extent. It’s the best language for writing your own Domain Specific Language (DSL).
@TheDarkOne629
@TheDarkOne629 2 жыл бұрын
Maybe I misunderstood, but isn't that what any "real" lisp does (i.e. programs can read and execute themselves)? Please tell me if I'm wrong. I still don't understand Scheme, only Clojure and some Toy-Lisps.
@magne6049
@magne6049 2 жыл бұрын
@@TheDarkOne629 I did post a reply with links and everything, but it seems gone :( But anyway, in short: Racket has unprecedented support for macros (even containing the lexical environment in a syntax object), to aid you in writing your own DSL. Clojure doesn’t support reader macros for instance.
@fictitiousforce9048
@fictitiousforce9048 Жыл бұрын
@@magne6049KZbin often thinks links == spam for comments
@nbme-answers
@nbme-answers 2 жыл бұрын
1:01 The Lisp alien mascot is named “Svigo” (‘parenthesis’ in Icelandic) and was created and designed by Conrad Barski, author of Land of Lisp and Bitcoin for the Befuddled
@hungrygator4716
@hungrygator4716 2 жыл бұрын
Its finally here, I've been waiting for months. Thank you Fireship!
@lighter7405
@lighter7405 2 жыл бұрын
Man, thanks a lot, finally I can start doing my lisp hw after delaying it and waiting for your 100seconds lesson.
@valentin6824
@valentin6824 2 жыл бұрын
Love it :) A language from 1955 but it has so many things in it we are using still today.
@oneandonly_h4
@oneandonly_h4 2 жыл бұрын
Lisp truly is a timeless language 🔥
@valentin6824
@valentin6824 2 жыл бұрын
@@oneandonly_h4 but its hard to learn.
@machinima1402
@machinima1402 2 жыл бұрын
The circum-size function got me scared for a whole second
@TheDarkOne629
@TheDarkOne629 2 жыл бұрын
I like the first definition of s-expressions that I ever read: - An atom is a s-expression. - A function is a s-expression. - The empty list is a s-expression. - A cons is a s-expression if both its car and cdr are s-expressions.
@taylorallred6208
@taylorallred6208 2 жыл бұрын
Thank you for really doing lisp justice in the video! You clearly understood the core design principles and goals of the language.
@DollyOmegaX
@DollyOmegaX 2 жыл бұрын
Thanks!
@ardavanansari
@ardavanansari 2 жыл бұрын
Love the beautiful logo animations at the beginning of every video!
@Shoulder2Chin
@Shoulder2Chin 2 жыл бұрын
I wish I could give you more thumbs up. I'm going through the "Land of Lisp" right now.
@thanatosor
@thanatosor 2 жыл бұрын
The concept and ideas are always fascinating in Lisp, except in real world usage. The hardest codebase to maintain. Edit 1 : Look, I’m not a professor neither a Lisp expert, just a typical dev working around various languages so I share my experience with you guys. Feel free to prove me wrong, it’s just my experience. Even improving a C++ codebase is still way better than dig into lisp family source of someone else.
@Chalisque
@Chalisque 2 жыл бұрын
It's more a language you want to know about, and have a basic grasp of, rather than use for real world projects. Time and again, you'll find yourself re-inventing bits of Lisp.
@thanatosor
@thanatosor 2 жыл бұрын
@@Chalisque 12 years ago, I actually fell into that compiler/interpreter making loop of Lisp and can’t get out until dozen of trash implementations. If anyone want to, at least use ML language ( like FSharp or Ocaml ) to define your own lisp in no time. Beside, I found out that making Forth compiler is easier and more fun. In fact, Lisp compiler is based on forth-like virtual machine to have GC and byte code.
@skyhappy
@skyhappy 2 жыл бұрын
how you know
@thanatosor
@thanatosor 2 жыл бұрын
@@skyhappy dude, try to modify defold editor, which was written in Clojure. And you will see what I mean :)
@davisuga
@davisuga 2 жыл бұрын
This screams "I don't know what I am doing" so hard
@Antiorganizer
@Antiorganizer Жыл бұрын
This is useful as a quick first glance so that you can get the gist without having to waste a whole lot of time. One can make mental notes what to learn more about in detail, and one can go in knowing what should be covered. It's like a fast forward to a synopsis of what it offers. Definitely need this for literally every language that has at least some popularity. Another one, and this one isn't popular anymore, but still offers insight what today's systems *ought* to offer, is: Smalltalk ! Not that I'm a fan of the language itself, but there is something inherently special about the notion of truly live coding, instead all the mickey mousing that everyone does now.
@curls6778
@curls6778 2 жыл бұрын
I feel like the interactive development process did not get the attention it would have deserved, being one of lisps most important and distinctive features…
@μολώνλαβέ-κ2τ
@μολώνλαβέ-κ2τ 2 жыл бұрын
Yeah, not even a mention to the REPL.
@crackwitz
@crackwitz 2 жыл бұрын
To JavaScript peeps, that is a given. To "explicitly compiled" knuckle draggers, that is witchcraft.
@curls6778
@curls6778 2 жыл бұрын
@@crackwitz the interactive development in lisp is quite different from the javascript repl though
@crackwitz
@crackwitz 2 жыл бұрын
@@curls6778 I'd like to hear more about what you say I'm missing. I'm very familiar with Python and JS, somewhat with Scheme. Got any links or keywords to see what makes it different or "more"?
@GavinFreeborn
@GavinFreeborn 2 жыл бұрын
​@@crackwitz With lisp you can modify the program as it runs. There is no GIL stopping this or the single threaded nature of javascript. This may sound like a small distinction but it really does change how you program. For some of my work I will startup a web server written in lisp and write the majority of what I want to do without ever needing to shut down the server. In addition common lisp also has the common lisp condition system which allows you to do some really powerful stuff with exceptions allowing you to recover from errors in the repl. There is a ton to this so it's really hard to summarize but I actually have a KZbin called "Why Lisp Is One Of The Most Productive Programming Languages" focused on some of this
@damin1916
@damin1916 2 жыл бұрын
you finally made a lisp in 100 seconds video!!!!! Nice Job!!!!!
@GaryMFOak69
@GaryMFOak69 2 жыл бұрын
1:54 “circum-size” nice function name!
@EvanEdwards
@EvanEdwards 2 жыл бұрын
I was a little wary when I hit this video, but it is a solid introduction to a language with an extremely complex history and lauded for elegance that isn't always obvious, plus the weight of being such an early language the syntax is quirky by today's standards. Lisp is one of those "you should know these concepts down to the core if you want to make a career out of coding" languages. It's like learning to cook eggs perfectly when you want to be a chef: you learn a fundamental ingredient (protein) inside and out, plus you learn the rigor and mindset of _how_ to learn something inside and out. You'll see that ingredient used a thousand ways in a dozen forms, as a major and minor part, but you also can approach anything new with a wider approach of thought and learning. Seldom will you use Lisp directly, but you'll use variants and languages with features pulled from it over and over.
@maccsguitar
@maccsguitar 2 жыл бұрын
imo lisp makes the basics really easy: when you do maths, the thing you want to calculate first is out in parentheses. in lisp, every command is inside parentheses and everything in parentheses is evaluated from left to right before the command is run. when a command (a function) is run, it means that that command's parentheses and their contents can be replaced by the return value which is the value you get by evaluating the command's definition with the values after the command's name. that is done by evaluating those parentheses in order the same way as before. No language gets cleaner than that teaching the basics. I tried to start from c, quit, was forced to start with lisp, and after that everything in c-style language-syntax was so much easier to understand
@kickthesky
@kickthesky 2 жыл бұрын
I took a class in college in Lisp way back in 1988. I was lucky the professor let us take our tests open notes. I still barely passed that class! This video gave me bad flashbacks of that class, LOL.
@andrisoone
@andrisoone 2 жыл бұрын
Dude that Lisp logo is so cool, never seen that one before.
@Yas-gs8cm
@Yas-gs8cm 2 жыл бұрын
One great man once said: "Lisp is the crack of software languages... Once you try it, nothing hits as hard".
@zednotdead
@zednotdead 2 жыл бұрын
Now that you did Lisp, you should do a tutorial on setting up Emacs as an IDE! Because why not!
@mirmarq429
@mirmarq429 2 жыл бұрын
That would take years
@lawrencedoliveiro9104
@lawrencedoliveiro9104 2 жыл бұрын
Emacs is one of those things you can start working with very quickly. Then as you get more familiar with it, you feel the need to add a little customization here and a little bit there. Looking at the Git repo containing my custom Emacs prefs, the first commit was made in 2007. Currently the main file is about 900 lines. I wouldn’t consider myself an Emacs expert, by any means.
@Hyperboid
@Hyperboid 2 жыл бұрын
yeah, even with opinionated frameworks like Doom, it takes quite a while to get it to look how you want it to.
@egorm8952
@egorm8952 2 ай бұрын
Yes please!
@strange_man
@strange_man 2 жыл бұрын
I wish your videos will be exactly 100 seconds one day.
@SimGunther
@SimGunther 2 жыл бұрын
Best part of its parsing is that the FE of the LISP compiler can be written in an afternoon. The rest becomes.....interesting 😏
@mattreichmann8118
@mattreichmann8118 2 жыл бұрын
THANK YOU I'VE BEEN WAITING FOR THISSS
@yusufmalikul
@yusufmalikul Жыл бұрын
Thanks for the quick tutorial. I saw Lisp on every old essay online. I need to learn it now.
@iuc7254
@iuc7254 2 жыл бұрын
Paul graham would be proud you covered this!
@RoyRope
@RoyRope 2 жыл бұрын
Came to Lisp trough SICP, it takes some time getting used to all parentheses but it is a very powerful language even now.
@engelshernandez5898
@engelshernandez5898 2 жыл бұрын
I came to your channel yesterday looking for this video. Thanks!
@jessstuart7495
@jessstuart7495 Жыл бұрын
One of the coolest things about lisp (IMHO) is the ease of integrating a custom command language into a project. No need to write your own command interpreter!
@NoOne-ev3jn
@NoOne-ev3jn 2 жыл бұрын
Today, I started reading a book called “structure and interpretation of computer programs” that uses Lisp as the chosen programming language and this video came out the same freaking day is this a coincidence? Think not
@evilotis01
@evilotis01 Жыл бұрын
my father used to use this to script AutoCAD. he was very fond of telling me that the acronym should have stood for "logic in superfluous parentheses"
@HowardLeeR
@HowardLeeR 2 жыл бұрын
What a terrific channel.
@marna_li
@marna_li 2 жыл бұрын
Thank you, for exposing us to the wonderful world of programming languages, frameworks, and other computer-related topics. 🙂
@maxbd2618
@maxbd2618 2 жыл бұрын
That poem was hella hard bars and nobody's talking about it
@protosevn
@protosevn 2 жыл бұрын
You should make one on clojure as well since it´s a modern Lisp and it deviates a little bit from the rest of the family!
@lighter7405
@lighter7405 2 жыл бұрын
Make a long version Lisp tutorial, that would be awesome (for me as a student).
@roteschwert
@roteschwert 2 жыл бұрын
The syntax was daunting at first, but after learning to code Fennel (a Lisp that compiles to Lua) to write my Neovim configuration, I can confidently say I won't be choosing anything else
@thaenalpha
@thaenalpha 2 жыл бұрын
Interesting! Can it use on anywhere else?
@roteschwert
@roteschwert 2 жыл бұрын
@@thaenalpha anywhere you can run Lua
@gagagero
@gagagero Жыл бұрын
Isn't Fennel just Lua with s-expressions?
@TheMR-777
@TheMR-777 2 жыл бұрын
Watching Lisp 100s, while eating Chips for 100Rs. (What a time to be alive!)
@hishamseddik4761
@hishamseddik4761 2 жыл бұрын
@1:49 "use the def-fun keyword - which is definitely the way you pronounce it" That killed me.
@christopheroliver148
@christopheroliver148 2 жыл бұрын
I heard def un, which is never the way I pronounced it. I've always said de-fun with a stress on the second syllable.
@siljrath
@siljrath 11 ай бұрын
i came looking for your org-mode in 100 seconds. . . . youtube searches dont show it. did i imagine it already exists? org-mode in 100 seconds would be awesome. love your in 100 seconds vids. good stuff.
@sgkonfetti
@sgkonfetti Жыл бұрын
Topic suggestion: Forth and Ada
@lullabyX86
@lullabyX86 2 жыл бұрын
Fireship managed to make a language from six decades ago look aesthetic
@yan2410
@yan2410 2 жыл бұрын
Thank's man, you finally did it
@LeFede
@LeFede 2 жыл бұрын
loved the "Hola Mamá" string
@qEagleStrikerp
@qEagleStrikerp 2 жыл бұрын
How about a Teal (for Lua) video next? Love it and it sure deserves to get some more attention. It's similar to Typescript, in that it is a typed version of Lua that can compile to Lua. An underrated extension for an underrated language ...
@thewitheredstriker
@thewitheredstriker 2 жыл бұрын
Interesting
@RT-.
@RT-. 2 жыл бұрын
I don't know - the most popular and maintained typed Lua is currently Luau, and I think it will stay like that for a really long time
@9lQF2r6m
@9lQF2r6m 2 жыл бұрын
Wow I just encountered lisp for the first time while trying to customize an emacs module that runs gnu-apl today. Cool!
@Ralph_Schumacher
@Ralph_Schumacher 2 жыл бұрын
You made a good job, THANKS!
@not_herobrine3752
@not_herobrine3752 2 жыл бұрын
the joke where the last couple of gigabytes of a lisp program being used by some corporation getting wiped out not doing any damage because the deleted parts were simply right brackets is funny
@eliteh4xx0r
@eliteh4xx0r 2 жыл бұрын
That's exactly what I would name a function that returns the radius of a circle.
@laughingvampire7555
@laughingvampire7555 Жыл бұрын
there is a project called roswell, is a tool to set up your common lisp environment, is like rvm/rbenv/nvm/asdf/ruby-install so you can install and manage the different common lisp implementations like sbcl, clisp, clozure, and use it to have scripts in common lisp. CL code is not traditionally stored in text files, is stored in a memory image of the lisp vm, but with roswell you can make scripts stored as text files and run them in bash, with a code editor and the cl plugins you can code in text files and load the code in the lisp vm. the most usage for common lisp is as object oriented programming language, more so than functional, SBCL optimizes a lot based on the classes of CLOS common lisp object system, is how you get the most performance out of it. And the community is heavily focused on the use of CLOS
@coder.d.468
@coder.d.468 2 жыл бұрын
Amazing content as always. Can you make a video about Abap(SAP) language too? I started learning it 'cause the company I'm working as intern uses it. It would be nice to hearing it from you :)
@TischBacchus021
@TischBacchus021 2 жыл бұрын
This would be really interesting!
@peterpan6010
@peterpan6010 2 жыл бұрын
Lol that’s a funny coincidence. My company requested the same and I hate it! Are you also using RAP ?
@kurtmueller2089
@kurtmueller2089 2 жыл бұрын
As someone who has used SAP a lot, such a video would be demonetized instantly for depicting crimes against humanity
@coder.d.468
@coder.d.468 2 жыл бұрын
@@peterpan6010 I also hate it. I mainly use c# and Javascript languages for coding. A new language sure hits hard. I have no idea about RAP I hope they are not using it.
@HeyyDixit
@HeyyDixit 2 жыл бұрын
You are the best who explains in 100s, please keep making 100s explain videos
@maxkratt
@maxkratt 2 жыл бұрын
Nice! Hopefully you'll be able to get around to Haxe sometime :D
@davidbarnhouse4642
@davidbarnhouse4642 2 жыл бұрын
Not me searching "lisp fireship" a few days ago.
@RandomNameName
@RandomNameName 7 ай бұрын
I wanted to watch a video about "how to fix a LISP" but i ended here, so 10/10, dont know how to speak correctly but now i know a little about LISP
@adityaadit2004
@adityaadit2004 Жыл бұрын
Thank you AutoCAD for introducing me into this particular programming language
@The_Codemaster144k
@The_Codemaster144k 2 жыл бұрын
Thank you!! Been waiting for this for a long time
@a.j.javier8119
@a.j.javier8119 2 жыл бұрын
Thanks! One more programming language to my resume!
@illegalsmirf
@illegalsmirf 2 жыл бұрын
Lol!
@shegsdev
@shegsdev 2 жыл бұрын
Concise and clean
@thomas6502
@thomas6502 2 жыл бұрын
In the daily grind its easy to forget that we stand on the shoulders of giants.
@0Smile0
@0Smile0 2 жыл бұрын
you explained python, java, c++ in 100 seconds now THIS is going to be a real challenge
@cmoxiv
@cmoxiv Жыл бұрын
AWESOM. Waiting for your take on Prolog.
@standinonstilts
@standinonstilts 2 жыл бұрын
Bro made a circumsize function and thought we wouldn't notice
@Trozdol
@Trozdol 2 жыл бұрын
A quote about Lisp that stuck with me was "Lisp has all the visual appeal of oatmeal with fingernail clippings mixed in.“ - Larry Wall
@crackwitz
@crackwitz 2 жыл бұрын
Toe nail clippings From the Gnu RMS himself
@StephenGillie
@StephenGillie 2 жыл бұрын
Any love for Powershell? It's a JIT scripting language that runs on top of the .NET CLR. It uses a unique Verb-Noun naming scheme for functions, and if you make a function with an unapproved verb, it might throw a warning. Variables begin with dollar signs, like in PHP, and being a scripting language you don't need to declare them. Nor do you need to import modules, unless you're digging very deep into .NET. Speaking of which, all of .NET's libraries are available for use. And then there's the optional type system, used by prepending a variable with the [type] in brackets. As a bonus, all objects are .NET Objects, and most code also works as C# code, so if you really like your script it should be pretty easy to compile.
@raunakmitra7868
@raunakmitra7868 2 жыл бұрын
The mapchar at 2:12 has apparently inspired map() in Python🔥
@leopavlov7165
@leopavlov7165 9 ай бұрын
This actually looks really good. I won't learn it, but still, I had a thought. If a Lisp dev sees this post, how is/was your expirience with the language?
@fe4000
@fe4000 2 жыл бұрын
I was waiting for this one. Thanks.
@NuclearFury8
@NuclearFury8 2 жыл бұрын
>Installs SBCL >Runs clisp
@khaledsanny4817
@khaledsanny4817 2 жыл бұрын
At this point, I like the video before even watching 😂 C'est exceptionnel, vraiment une chaine de qualité... Thanks for the continuous education Fireship ✨.
@dotanuki3371
@dotanuki3371 10 ай бұрын
no, to get started, you install scheme, and get the book "the little schemer". best programming book I've ever read
@brunocselistre
@brunocselistre 2 жыл бұрын
I still have nightmares from learning lisp on my CS degree
@emik365
@emik365 2 жыл бұрын
Lisp - Alpha preview version, 1958 Common Lisp - Release Candidate version, 1984 Lisp - version 1.0, code-name CLOJURE, 2007-till today. Programming jobs: highest paying language - Clojure
@vindarel
@vindarel 2 жыл бұрын
Nitpicks: "a dynamic language": true, but keep in mind that Common Lisp is compiled! *We can create standalone binaries* Moreover, the write-compile-test cycle is extremely short, because we can compile our code function by function and have compilation warnings and errors nearly instantly. We also have an interactive debugger which allows us to resume the computation from anywhere in the stack O_o "dynamic typing": true, but as always with CL it's more complicated. By default, good compilers like SBCL inform us of type mismatches. Unlike barebones Python. We can add type annotations, and we can use the new Coalton library to have Haskell-like types on top of CL O_o To get started, you can use good to very good plugins for VSCode, Atom, Sublime, Jupyter notebooks, and more! In addition of Emacs and Vim, of course. I recommend to look at the CL Cookbook. "format t …" here t means standard output. Using nil would create a string. At the end, you say to run the code with "clisp app.lsp" but we installed the SBCL implementation :) So, just use SBCL. CLISP didn't see updates in a long time, it's good only for getting started. (also, file names are .lisp today) --- Something worth mentioning IMO is that CL is still used by many companies, huge or small, for some it's their secret weapon: Quantum Computing companies, Google (for ITA Software)… see awesome-lisp-companies. And it was sent in space for the NASA in the 80s!! (Remote Agent Experiment)
@freesoftwareextremist8119
@freesoftwareextremist8119 Жыл бұрын
clisp is still useful because it supports quite a variety of obscure platforms. But yeah, most people should be using SBCL.
@a.sorokin
@a.sorokin 2 жыл бұрын
Please make a "Scala in 100 Seconds"
@thewitheredstriker
@thewitheredstriker 2 жыл бұрын
YES please! Scala ftw!
@florianandre6891
@florianandre6891 2 жыл бұрын
I always askek myself, if CommonLisp (SBCL) and Scheme (Bigloo) can be compiled to machine code (and are since the end of the 80's), and Clojure is compiled to JVM bytecode, then why other high level dynamically typed languages (python, js, ...) are just AOT or JUT compiled ?
@Zwiebelgian
@Zwiebelgian 2 жыл бұрын
don’t quote me on this but I think their typesystem is too weak.
@ConcerninglyWiseAlligator
@ConcerninglyWiseAlligator 2 жыл бұрын
I mean, Python kinda does. At least that's what the __pycache__ folders are in a nutshell, bytecode. There's also numba, which straight up turns python into a compiled language.
@Gruak7
@Gruak7 2 жыл бұрын
I think js is a scripting language by design so it can be embedded in browsers easily.
@NathanHedglin
@NathanHedglin 2 жыл бұрын
Python has no reason to be JIT or compiled. There is Cython if you really need it to be. JavaScript is very dynamic. All that must be done at runtime. Compiling only to change it later doesn't make sense. Compiled languages make certain guarantees like a type won't change. JavaScript JIT engines can optimize the code as it runs.
@purposepowerlove
@purposepowerlove Жыл бұрын
This made me once again mourn the fact that I can't use Clojure in my day job.
@otakusong66
@otakusong66 2 жыл бұрын
it worked. Thankss sooooo much.
@benyseus6325
@benyseus6325 2 жыл бұрын
“defun circum-size rad” 💀
@MJ-xl5jz
@MJ-xl5jz 2 жыл бұрын
Lisp can either refer to a speech defect or to an outdated programming language nobody uses anymore in the job market.
@GeinponemYT
@GeinponemYT 2 жыл бұрын
I can imagine being "circum-size" not being fun, or being "defun" 🤣
@StEvUgnIn
@StEvUgnIn 2 жыл бұрын
Joma started programming with Racket which is a lisp dialect to interplay with modern operating systems.
@jeankhoury
@jeankhoury 2 жыл бұрын
Why I have a homework this week about lisp and I never understood where lisp name came from... This unblocked me... now it make sense
@PWRR
@PWRR 2 жыл бұрын
(Lost In Stupid Parenthesis (List Processing))
@datadrivendev
@datadrivendev 2 жыл бұрын
I was waiting for this one
@yusufmalikul
@yusufmalikul Жыл бұрын
What is missing is REPL driven development. This really boost productivity. Imagine you can edit live running program without restarting the program. I can't find the tutorial on youtube for Lisp + vscode + REPL driven development.
@bhavyakukkar
@bhavyakukkar 8 ай бұрын
just install emacs
@yusufmalikul
@yusufmalikul 8 ай бұрын
@@bhavyakukkar with vscode should reduce entry barrier. No need to learn another editor.
@bhavyakukkar
@bhavyakukkar 8 ай бұрын
@@yusufmalikul one half of learning that new editor will be learning lisp
@AvenDonn
@AvenDonn 2 жыл бұрын
Makes me feel like I know nothing about functional programming when I pass a method to a LINQ Select method
Godot in 100 Seconds
2:40
Fireship
Рет қаралды 1,1 МЛН
The Rise & Fall of LISP - Too Good For The Rest Of the World
17:44
Gavin Freeborn
Рет қаралды 43 М.
Непосредственно Каха: сумка
0:53
К-Media
Рет қаралды 12 МЛН
요즘유행 찍는법
0:34
오마이비키 OMV
Рет қаралды 12 МЛН
Reacting to Controversial Opinions of Software Engineers
9:18
Fireship
Рет қаралды 2,1 МЛН
Zig for Impatient Devs
9:48
Isaac Harris-Holt
Рет қаралды 109 М.
I tried 10 code editors
10:28
Fireship
Рет қаралды 3,2 МЛН
The Dome Paradox: A Loophole in Newton's Laws
22:59
Up and Atom
Рет қаралды 1 МЛН
Why You Should Learn Lisp In 2024
21:50
Gavin Freeborn
Рет қаралды 68 М.
why do header files even exist?
10:53
Low Level
Рет қаралды 443 М.
10 regrets of experienced programmers
8:16
Fireship
Рет қаралды 1,5 МЛН
Programming with Math | The Lambda Calculus
21:48
Eyesomorphic
Рет қаралды 248 М.
Large Language Models explained briefly
8:48
3Blue1Brown
Рет қаралды 985 М.
Why LISP Is The Language of Legends
9:05
Sammy Engineering
Рет қаралды 37 М.
Непосредственно Каха: сумка
0:53
К-Media
Рет қаралды 12 МЛН