The reason why I like watching your videos is that, you don't treat your viewers like complete idiots and elaborate on every single point. You don't waste our time either.
Agreed. I like the brisk pacing of the videos, as it gives the general assumption that you have programmed before and you just want to learn new syntax.
I’m taking a class at ASU where we learn a new language/ paradigm every week. So far you have had a great video or series on every one. Java, C, C++, Prolog and Lisp. Thanks for getting us up to speed quickly!
amazing video man. I've been reading LISP tutorials on and off for months now and never fully got it, because I'm a hands on type who likes to see the actual thing being done. This video cleared up SOOOO much, and just in time to give a report on the differences between C++/Java and LISP programming. You're a champ!
saMEEE!! i need to speak with a lisp for a drama performance and was really happy to finally find a tutorial on how to speak with a lisp, then i saw the length of it and was quite confused, but still ready for the ride...
I am weary. My breath is short, and my voice is raspy. I am crawling against the floor with no hope. All I see is black, but then. A shining light appears before me and then I hear. "Well hello internet". The holy arbiter of programming, the LORD himself has come.
wow, this is the greatest tutorial i have ever seen for any topic. This has saved me soooo much time. I love it. I could learn a new language every night like this. Sure I still have to play with it but getting this far up to speed so quickly and knowing the basic format and limitations is all i need to start playing around. Thanks man. You just saved a month of my life.
God bless you, Derek! I chose LISP as a functional paradigm language to be presented at my university class and was feeling pretty lost until I found your video. Kind regards from Brazil!
I was watching this tut some months ago and dint understand it at all, though with more experience it all makes SO much sense. Lisp seems really awesome! ( nice tut as always )
Hello! I am 14 years old. I know c, c++,python,perl,rust,javascript,python,bash,batch,golang. You are my real hero in the process of learning lisp! Thank you so much!
Hey Derek, a little feedback: At 43:40, when you were explaining quasiquoting, I spend 30 minutes trying to figure out why my code wasn't working, finally I realized that I was using an single quote( ' ) , instead of the thingy under the tilde ( ` ). Im my opinion you should have stated it to avoid confusion, would have saved me so much time, especially since we put single quotes in front of variables often!
they should imo remove that symbol, I mean from english/unicode, or change the design. I have heard people having very bad problems due to that symbol, there is this guy on YT, who once deleted some teams entire DB because he used ' instead of ` . I had the same problem as you a week ago when I was learning quasiquoting from a book, which didnt mention it too.
Hey, are you planning to do Clojure/ClojureScript tutorial any time soon? I really believe that your tutorials genuinely help people get the grasp of a language much faster than a book - Thanks :)
Thanks for this very nice Video Derek. After watching this, there just so much Information for me to lookup/think about etc. But you did a good Job. Appreciated watching it, while learning Lisp ^^
I thought this was great, I posted a link to it on /r/Common_Lisp subreddit. Good Job. As a regular user of Common Lisp (and a contributor to the sbcl compiler) I approve of this video. You have done the community a great service. Thanks!
Cody Mallery Wow thank you :) I have been using Lisp and Prolog a lot on a local university project and thought I'd see if I could help people see how awesome it is. I'm very happy that you liked it.
Well I just got my FIRST fiverr order and it was related to lisp. I took the order anyway although I have never even seen someone code lisp before. And here I am, learning lisp in an hour and I can easily say this video will help me code whatever customer needs. XD
Amazing videos. If you think that khan academy is great being free, this is different. Compact, time efficient learning. Other media can fill in the gaps such as books, more complete videos, courses, etc, but this overview idea is a really need learning tool, and Mr. Banas does it so well.
Dude. You are teaching so many programming languages. What actually you use at your workplace? And yes, thanx for this nice tutorial. Keep up the great work.
for me the same. I have learned this tutor from Mr. Derek in four seasons, each one ca 30 min. and made meany exercises . At the end I have a compound Idea how can I for my programming in Lisp, use the features He taught me. Thanx Mr. Derek
Hey Derek! I have a question, can structs have a pointer to another struct? And if yes, how would one access the value of that another struct? Thank you for your great videos!
Derek, I've been watching many of the videos that you've posted and enjoy them. I've learned a lot. I have been toying around with some of the tips I've learned from you and am trying to figure out how to display, sort and filter data pulled from MySQL via PHP to a webpage. The thought is to be able to click the header and sort the data, have a hierarchical filter system and be able to display a page at a time. Just a thought for a series possibly? Or maybe you have a good reference? Thanks again, the work you do has inspired me.
Ben Elder Thank you :) It would be easy to pull the data into a table and then use a plugin like this to sort everything dynamically tablesorter.com/docs/ Anything dynamic will have to be implemented with JavaScript. I plan on making many more useful JavaScript videos soon.
You may dislike Common Lisp, It may not have tons of libraries or a nice community (they are pretty violent over on comp.lang.lisp), It may have strange conventions and language warts. Some implementations generate huge binaries because they ship the entire runtime inside the executable. However Common Lisp has a standard that is set in stone, meaning the language is stable, you do not have to learn a new language core api every 6 months or worry about legacy lisp code not running. Common lisp is a stable platform to get real world problems done. A tool box containing C/C++, a Lisp implementation, and a web language is hard to beat. Remember use the right tool for the job, no matter how amazing lisp seems, sometimes lisp is not the tool you are looking for.
Derek Banas I have been following your channel ever since your first programming tutorial in one video, and my mind state towards your videos has changed from simply interesting to truly impressive over time. How long is your learning cycle to a new programming language? Do you cover esoteric programming language? (Just kidding, don't be serious!) Thank you very much all the time.
Large O Thank you for the compliment :) After doing this for 30 years it is pretty easy to change languages for me. I do a lot of free work helping students on projects and it is fun to use languages I haven't used for years. Lisp was an old favorite of mine that I have happily been able to have fun with over the last few months and I thought I'd share the fun.
I have heard a lot of people say that Lisp (and many other languages similar to it) are not useful for any practical purposes? Then is there a reason why so many people are interested in Lisp? Also, can you please make a video tutorial on emacs? It would be wonderful to supplement some interesting aspects of Lisp as well as help newbies like me become more productive.
+Jash Gala Lisp is widely used in the travel industry and to a lesser extent in universities for AI. Either way I find learning other languages like lisp are a great way to expand your mind and improve problem solving abilities. I have implemented capabilities in other languages into Java because Java didn't have those abilities. I would have never known I needed them unless I was introduced to them in other languages.
I feel lucky to see u r tutorial it is so simple and awsome . Thanks so much. Can u please suggest some other languages that i Should study. I know php,python,c and c ++(basics level).
Some things you should know before you start learning LISP. Lisp is case insensitive (Mentioned) Lisp is fully functional language ... Hence everything is inside parenthesis (). LISP uses prefix format ... That's why Operators are always placed to the left of the operands ...
"Things inside parenthesis" don't make a language functional. The use of parenthesis everywhere is just the consequence of Lisp lacking a syntax (or its syntax being extremely simple, if you will)
I have to make a lisp program with parameters as currency and dollar and calculate the amount of specified Currency corresponding to the specified amount of Dollars. How can I do that?
Stuck 2 mins in, link for win32 not there. But I downloaded a version, I go to open it, system asks, what do you want to open this with. I have no idea. And those windows don't pop up to install, so .... yeah. What now?
Just started looking at lisp and found your video. I'm building some recursive functions for an AI class. Is everything done in lisp, like the loops you mentioned done recursively or do you just call the functions inside of the functions like others languages. Any "recursion" examples would be appreciated if you have to build those differently than how you brought up looping and functions.
Hi, with sbcl I found seemingly a little error at 34 : 33, list counting is 0 indexed that means after the list '(2 4 6) is pushed with 1, it becomes '(1 2 4 6) so (nth 2 *nums*) actually returns the 3rd element of the list. I love your tutorials, they are so brilliant, I have watched a whole bunch of them, really getting inspired. So a million words into one ---- Thank you Derek my great teacher :)
Man, again... you're awesome! Haha. A freaking machine! I vote for Scala for the next video, or maybe Haskell or Earlang/Elixir, that would be awesome! :)
Something Emacs related would be really helpful. A Text Editor so famous, its like a religion to some people, there's got to be something really special about that..
Hey Derek, Thank you very much for the video! I am curious to know how you managed to learn so many programming languages. I am a computer Science student in Ireland, and in my first year I have personally managed to only learn Python aside the languages I am learning in College. We are leaning programming with C (in 1st year). We also touched HTML, CSS and JS in one of our modules, glanced on Bash and Batch scripting in our OS Module, and Haskel and Scratch in 2 of our other modules. However, we didn't go in much details in some of them. I recently started using emacs and as it's build in lisp, I am interested to learn the language so that I can customize it to suit my needs. If possible, I could you give few advises, recommendations that could help a programmer become more proficient? any advise, recommendation... is very welcome. Thanks in advance.
You're very welcome :) I'm glad you liked it. First I'm not naturally smart, so anyone can do what I do. I contribute my ability to learn rather quickly to the fact that I do it every day. A former boss many years ago made us take 1 hour per day learning anything new. He insisted that that would keep our brains healthy or some sort? Anyway so I would study programming languages, spoken languages, painting, crosswords, game strategies, writing, etc. every day for 1 hour. What I studied only depended on what I was interested in at the moment. I have continued doing that now for 20 years and so I guess that is why learning new things is natural. I hope that helped in some way.
Ah! I have figured it out. First I must make a command window, go in that window to the clisp directory, and then I can run the compiled fas file directly with C:\Data\Lisp\HelloWorld.fas I wish you were more clear about how to run lisp on a windows computer.
Hey, I really liked this video and it inspired me to code a game in lisp: snake. But now I am stuck here: I try to get input from the console: w a s or d. Is there a function like read-char that does not require me to press enter? I was looking everywhere but the only thing I could find, was that read-char is not the problem, it is the input-stream, that requires me to press enter. How do I change the behaviour of input-stream so that it works?
Before I say what I came here to say, I just wanted to say that this is awesome, and I've been looking for a good introduction to Lisp (and functional programming in general). I've been messing around with Lisp for a few hours now and it's a lot of fun. That said: I'm gonna be super honest here: I think functional languages are pretty cool, but I don't think they do a great job of empowering the user to better use their hardware, which is basically what a programming language is for. I think it's great if you're working purely with mathematical data (like in statistics and higher-level math), but I feel like for everything else, anything that has more structure than just "numbers and lists of numbers" (which seems to me to be how Lisp treats everything), procedural and/or OOP paradigms seem to be much better, and I think that most of the use cases developers are seeing these days *are* the kinds of highly-structured problems that procedural languages do great at. Basically, I think Lisp (and functional programming in general) abstracts *too much* away from what is actually going on, or at least abstracts it in such a way that it makes a lot of the more common problems more difficult to solve. But then, that might be because it was designed to solve *un*common problems, which I don't have enough experience to judge. But, then again, I grew up with Python. It's like a strange hybrid of OO, procedural and functional, so I don't know what that says about my opinion. P.S. )))))))))))))))))))))))))))) ALL THE CLOSING PARENS!
Christopher Pilcher The parenthesis cracked me up :) I agree with much of what you said and I also think that these beliefs are very common to the point that many people see no point in using a functional language at all. This very well may say more about the lack of proper teaching in regards to how to structure programs using a functional language. I think the main reason why people struggle with OOP languages is because they don't have a solid understanding of boring UML. I also see that a tutorial on SML may be very important. I'm going to work more on making videos on these and related subjects. Thank you for the good comment / questions :)
I totally agree! I'm all for using the right tool for the job, and I'm really glad you helped me start adding this one to my belt. :) Thanks for the videos. You keep 'em coming and I'll keep watching!
I can't decide whether it was a coincidence that the stylized "LISP" logo looks like the outline of a boot nested inside the back side of a farm animal. Orwell would be proud.
Couple things: 1. Please don't introduce the concept of state so early :( There are pedagogically-sound ways to draw parallels without introducing something so unnatural to lisp. 2. Cons cells are 'constructed memory objects' - they aren't 'consecutive' (www-formal.stanford.edu/jmc/recursive.pdf p28)
+Sean Allred Sorry about the cons mess up. I looked back through my notes and realized that I have been calling them consecutive cells for years because of how they were first described to me. You are correct. I basically tried to teach Lisp in a way that I thought would be easier to digest then what I saw in other text books. I'm sorry if you didn't like it.
It's alright :) I'm not myself a fan of your pedagogical strategy with this one, but I understand the parallels you're trying to draw with languages or patterns your audience may already be familiar with :) And it's amazing all the things we go through life thinking! XD I've discovered a bunch of those things and I'm sure there are more to turn over. (Though aside, I can see where 'consecutive' makes sense, too - being a linked list and all. Just isn't what's in the paper ;)
im confused sir maybe i will read some of the basics then i go back here for sure. first time in my life to see a code in reverse and a lot of parenthesis haha nice tutorial sir
Hey Derek, I would like to know if you can help me with Lisp macro list comprehensions. I would like to learn how to have an endless list and the for each element which is even (mod x 2), I want to times it by itslef... so for example if I have a list of (1 2 3 4 5 6 .....) I would like to write a code to take even numbers out (for loop) and times them by itself and display them in another list as ( 4, 16, 36, ...) ... can you possibly point me to the right direction. thank you.
Alex Jones Read about streams in "SICP" by Sussman and Abelson, and macros in "On Lisp" by Paul Graham and/or "Let over Lambda" by Doug Hoyte. Those two building blocks should help you solve your problem completely. Alternatively, you could use Haskell and get the lazy evaluation trait of streams for free.
Learn in One Videos for Every Programming Language
Subscribe to Bookmark them: bit.ly/2FWQZTx
C++ : ua-cam.com/video/Rub-JsjMhWY/v-deo.html
Python : ua-cam.com/video/N4mEzFDjqtA/v-deo.html
Java : ua-cam.com/video/n-xAqcBCws4/v-deo.html
PHP : ua-cam.com/video/7TF00hJI78Y/v-deo.html
MySQL : ua-cam.com/video/yPu6qV5byu4/v-deo.html
JavaScript : ua-cam.com/video/fju9ii8YsGs/v-deo.html
C# : ua-cam.com/video/lisiwUZJXqQ/v-deo.html
HTML5 : ua-cam.com/video/kDyJN7qQETA/v-deo.html
CSS3 : ua-cam.com/video/CUxH_rWSI1k/v-deo.html
JQuery : ua-cam.com/video/BWXggB-T1jQ/v-deo.html
TypeScript : ua-cam.com/video/-PR_XqW9JJU/v-deo.html
ECMAScript : ua-cam.com/video/Jakoi0G8lBg/v-deo.html
Swift : ua-cam.com/video/dKaojOZ-az8/v-deo.html
R : ua-cam.com/video/s3FozVfd7q4/v-deo.html
Haskell : ua-cam.com/video/02_H3LjqMr8/v-deo.html
Handlebars : ua-cam.com/video/4HuAnM6b2d8/v-deo.html
Bootstrap : ua-cam.com/video/gqOEoUR5RHg/v-deo.html
Rust : ua-cam.com/video/U1EFgCNLDB8/v-deo.html
Matlab : ua-cam.com/video/NSSTkkKRabI/v-deo.html
Arduino : ua-cam.com/video/QO_Jlz1qpDw/v-deo.html
Crystal : ua-cam.com/video/DxFP-Wjqtsc/v-deo.html
Emacs : ua-cam.com/video/Iagbv974GlQ/v-deo.html
Clojure : ua-cam.com/video/ciGyHkDuPAE/v-deo.html
Shell : ua-cam.com/video/hwrnmQumtPw/v-deo.html
Perl : ua-cam.com/video/WEghIXs8F6c/v-deo.html
Perl6 : ua-cam.com/video/l0zPwhgWTgM/v-deo.html
Elixir : ua-cam.com/video/pBNOavRoNL0/v-deo.html
D : ua-cam.com/video/rwZFTnf9bDU/v-deo.html
Fortran : ua-cam.com/video/__2UgFNYgf8/v-deo.html
LaTeX : ua-cam.com/video/VhmkLrOjLsw/v-deo.html
F# : ua-cam.com/video/c7eNDJN758U/v-deo.html
Kotlin : ua-cam.com/video/H_oGi8uuDpA/v-deo.html
Erlang : ua-cam.com/video/IEhwc2q1zG4/v-deo.html
Groovy : ua-cam.com/video/B98jc8hdu9g/v-deo.html
Scala : ua-cam.com/video/DzFt0YkZo8M/v-deo.html
Lua : ua-cam.com/video/iMacxZQMPXs/v-deo.html
Ruby : ua-cam.com/video/Dji9ALCgfpM/v-deo.html
Go : ua-cam.com/video/CF9S4QZuV30/v-deo.html
Objective C : ua-cam.com/video/5esQqZIJ83g/v-deo.html
Prolog : ua-cam.com/video/SykxWpFwMGs/v-deo.html
LISP : ua-cam.com/video/ymSq4wHrqyU/v-deo.html
Express : ua-cam.com/video/xDCKcNBFsuI/v-deo.html
Jade : ua-cam.com/video/l5AXcXAP4r8/v-deo.html
Sass : ua-cam.com/video/wz3kElLbEHE/v-deo.html
Holy list
if only this video was around back in 94 when i failed to learn this beautiful language.
Oracle please
Hey Dee, how about C?
If you would bro. Thank you.
What a pro
The reason why I like watching your videos is that, you don't treat your viewers like complete idiots and elaborate on every single point. You don't waste our time either.
Agreed. I like the brisk pacing of the videos, as it gives the general assumption that you have programmed before and you just want to learn new syntax.
this is so true.
Install Lisp 00:54 Introduction 02:50 Format 12:09 Math Functions 13:26 Equality 15:11 If 18:13 Case 23:03 When 24:17 Unless 24:52 Cond 25:16 Loop 26:38 DoTimes 28:33 Lists 28:59 Car / Cdr 29:56 Association List 36:35 Functions 38:24 Optional 39:34 Receive Multiple Values 40:18 Key 41:09 Return-From 42:14 Quasi Quoting 42:46 MapCar 44:16 Return Multiple Values 47:16 Higher Order Functions 48:05 Lambda 50:30 Macros 51:20 Classes 56:25 Generic Function 1:00:46 Inheritance 1:05:06 Arrays 1:06:09 Hash Table 1:08:29 Structures 1:10:41 File I/O 1:13:05
Nilesh Pathare Edits 🙏🙏🙏
Pin this @Derek
Thanks a lot
Great man
thank u soo much this is what I was looking for good one. U save my life
One of the best tutorials I've ever seen, some programming language like Lisp is a bit of hard to find useful tutorials...thanks!
Thank you for the nice compliment :) I always try to do my best
@@derekbanas hope you made a profit on this video. it seems like you put the same effort in this video but got much less views.
I’m taking a class at ASU where we learn a new language/ paradigm every week. So far you have had a great video or series on every one. Java, C, C++, Prolog and Lisp. Thanks for getting us up to speed quickly!
Thank you for the compliment. I'm happy I have been of help.
I envy you
Cse 240 has brought me here as well
amazing video man. I've been reading LISP tutorials on and off for months now and never fully got it, because I'm a hands on type who likes to see the actual thing being done. This video cleared up SOOOO much, and just in time to give a report on the differences between C++/Java and LISP programming. You're a champ!
+Joe Bochinski thank you very much 😀 I'm glad I cleared it up
not kidding I thought this was a tutorial on how to speak with a lisp but I was greatly mistaken
That's funny :)
Just don't name your dog sylvester... like my former co-worker did. He had a lisp... even he laughed at that one.
Dan Campbell 😂
Larissa Wratney RIGHTTTT
saMEEE!! i need to speak with a lisp for a drama performance and was really happy to finally find a tutorial on how to speak with a lisp, then i saw the length of it and was quite confused, but still ready for the ride...
I am weary. My breath is short, and my voice is raspy. I am crawling against the floor with no hope. All I see is black, but then. A shining light appears before me and then I hear. "Well hello internet". The holy arbiter of programming, the LORD himself has come.
That's funny :) I'm happy to be of help
"Well hello internet"
i read it in his voice😂
Excellent. Suggestion to viewers: watch at .75x the first time for deeper understanding. Derek moves along briskly!
wow, this is the greatest tutorial i have ever seen for any topic. This has saved me soooo much time. I love it. I could learn a new language every night like this. Sure I still have to play with it but getting this far up to speed so quickly and knowing the basic format and limitations is all i need to start playing around. Thanks man. You just saved a month of my life.
Thank you very much :) I'm glad they help
God bless you, Derek! I chose LISP as a functional paradigm language to be presented at my university class and was feeling pretty lost until I found your video.
Kind regards from Brazil!
I'm happy I could help :) May God bless you as well.
I was watching this tut some months ago and dint understand it at all, though with more experience it all makes SO much sense. Lisp seems really awesome! ( nice tut as always )
Hello! I am 14 years old. I know c, c++,python,perl,rust,javascript,python,bash,batch,golang. You are my real hero in the process of learning lisp! Thank you so much!
Thank you for taking the time to write such a nice message :) I wish you all the best and I'm happy that I could help you along on your journey!
@@derekbanasWhat programming language do you recommend I learn? I am a bored competitive programmer.
@@contprogramare1126 learn haskell and dart
@@blog.daLuna Thank you. Learning haskell was a really battle, but I wined it. Dart sounds good.
These "in one video" tutorials are great Derek! These are very great to take a look at it before getting started. Keep it going buddy!
Thank you very much :) Happy I could help
@@derekbanas Do you have a Github profile, sir?
This is awesome....finally a one point resource for an entire programming language.
Thanks a lot Derek Banas
Thank you :) I'm very happy you liked it
Derek is a walking talking programming machine. Love these vids :)
@21:18 [line no. 6] The variable *Work* can never be =67 at the same time
Thanks for creating this video, you're a good teacher! I'm getting into Common Lisp and this helps expedite the learning process.
Thank you :) I'm happy I could help
I found this video a super nice refreshment after haven't used lisp for ten years!
Thank you!
Jiaqi Liu Thank you :) You're very welcome
Dude is there a language that you don't know?
I'm old so I've used mostly all of them :)
Do you even assembly?
can you assist with the XKCD degree in the universe? because that might actually need to be a thing.
do you have any videos on SML?
perhaps Chinese :)
Ith thith doing it right?
I'm not sure why but learning at this pace...(with a few pauses) is really exciting!! good Job making these videos.
Thank you :) I try to make videos that can be paused through so everyone can learn at their own pace
From your experience working with many languages, has an underlying ethos or Tao of programming revealed itself to you?
Hey Derek, a little feedback:
At 43:40, when you were explaining quasiquoting, I spend 30 minutes trying to figure out why my code wasn't working, finally I realized that I was using an single quote( ' ) , instead of the thingy under the tilde ( ` ). Im my opinion you should have stated it to avoid confusion, would have saved me so much time, especially since we put single quotes in front of variables often!
Sorry for not explaining that better
"Thingy under the tilde" is called backquote, or backtick.
I use that thing a lot in javascript, but i can understand, they look similar
they should imo remove that symbol, I mean from english/unicode, or change the design. I have heard people having very bad problems due to that symbol, there is this guy on YT, who once deleted some teams entire DB because he used ' instead of ` . I had the same problem as you a week ago when I was learning quasiquoting from a book, which didnt mention it too.
@@vyrsh0 while theyre at it, they should remove capital I and lowercase l too
Derek Banas ...thank you very much ... i have learned so much from your tutorials ....again thank you very much
Thank You Derek Banas, you made learning fun and easy.
Thank you for the nice compliment :)
Thanks a lot for the tutorial. The most helpful resource that I was able to find for lisp out there.
I’m happy I could help :)
Hey, are you planning to do Clojure/ClojureScript tutorial any time soon?
I really believe that your tutorials genuinely help people get the grasp of a language much faster than a book - Thanks :)
Thank you :) Yes Clojure is on the list
Thanks for this very nice Video Derek. After watching this, there just so much Information for me to lookup/think about etc. But you did a good Job. Appreciated watching it, while learning Lisp ^^
You're very welcome :) I'm glad I helped
Thank you Derek for this very interesting video!
I thought this was great, I posted a link to it on /r/Common_Lisp subreddit. Good Job. As a regular user of Common Lisp (and a contributor to the sbcl compiler) I approve of this video. You have done the community a great service. Thanks!
Cody Mallery Wow thank you :) I have been using Lisp and Prolog a lot on a local university project and thought I'd see if I could help people see how awesome it is. I'm very happy that you liked it.
OMG! I've just started learning LISP and have been wondering if you have this video! What a coincidence!
after a year, result u got was worth it?
Yeah, I'm quite happy to have some experience in working with LISP
Derek, I think this is the best video I have seen of yours. Others are a bit too... much, hah, but I salute those, too. You do good work.
Tank you for the compliment :)
Awesome tutorial. Thanks a lot for your help man ! Appreciated it :)
Well I just got my FIRST fiverr order and it was related to lisp. I took the order anyway although I have never even seen someone code lisp before. And here I am, learning lisp in an hour and I can easily say this video will help me code whatever customer needs. XD
I'm happy I could help :)
@@derekbanas You and those guys at stackoverflow helped me complete a project in under 24 hrs when I was extremely new to lisp
Amazing videos. If you think that khan academy is great being free, this is different. Compact, time efficient learning. Other media can fill in the gaps such as books, more complete videos, courses, etc, but this overview idea is a really need learning tool, and Mr. Banas does it so well.
Thank you for the nice compliment :)
Why not use a REPL for the demo, rather than wrap everything in "format t ..." functions. It would be less confusing for your audience.
Dude. You are teaching so many programming languages. What actually you use at your workplace?
And yes, thanx for this nice tutorial. Keep up the great work.
Thank you :) The languages I tend to use the most are JS, PHP, C#, Python, Swift and Kotlin. In the real world I make shopping carts and mobile apps.
I've been waiting for this for a long time many thanks to you Derek
ShellBullet1011 It is one of my favorite languages. I'm very happy that I could cover it.
Derek Banas I love LISP. Amazing Language.
AF1FHT12 Yes very cool!
It's great! Thnak you!
I need to learn Lisp in one day and you video seems to make it possible.
You're very welcome :)
for me the same. I have learned this tutor from Mr. Derek in four seasons, each one ca 30 min. and made meany exercises . At the end I have a compound Idea how can I for my programming in Lisp, use the features He taught me. Thanx Mr. Derek
alexandra-stefania moloiu hi , if you learned, language of lisp, please give me idea, i would do my own lisp
Thank you very much for your comprehend Lecture. I have learned and practiced every Item which was very helpful for my Lisp-Experience.
Thank you I'm happy to be of help :)
Hey Derek!
I have a question, can structs have a pointer to another struct? And if yes, how would one access the value of that another struct?
Thank you for your great videos!
Lisp has a certain charm to it :D
+Sébastien Laberge I love lisp! It is amazing that it has stuck around this long.
@@derekbanas If you love lisp, why do you close the brackets in new lines? It hurts man.
This is an excellent tutorial on lisp. Thanks.
Thank you :)
Lisp is one of the best, why? Cos its just way out there with the aliens, man, its a supernova on steroids
You sir... are the philanthropic God of coding.
Thank you for the nice compliment :) I'm very lucky to be able to help
Man... There is one word to describe you: "Awesome"! Thanks a lot :)
+Douglas Rocha Thank you :) You're very welcome
BTW, what's the difference between
Common_Lisp & Emacs_Lisp???
Do I need to re-learn something for each of them???
Thanks my knowledgeable teacher Derek Banas.
+Halil İbrahim Oymacı You're very welcome :)
Thank you very much, been waiting for this! And please do cover perl on next video.
Keep the good work up!
System You're very welcome :) I'll definitely cover Perl very soon.
Lifesaver for my Programming Languages class. Donation heading your way
Thank you :) I'm very happy I could help
can you make a video on basics of lisp and also the difference between lisp and python
it will be very usefull to eveyone
To inherit multiple classes separate the class names with spaces not commas.
PuercoPop Whoops you are correct. Sorry about that error. I was getting tired :(
Derek, I've been watching many of the videos that you've posted and enjoy them. I've learned a lot. I have been toying around with some of the tips I've learned from you and am trying to figure out how to display, sort and filter data pulled from MySQL via PHP to a webpage. The thought is to be able to click the header and sort the data, have a hierarchical filter system and be able to display a page at a time. Just a thought for a series possibly? Or maybe you have a good reference? Thanks again, the work you do has inspired me.
Ben Elder Thank you :) It would be easy to pull the data into a table and then use a plugin like this to sort everything dynamically tablesorter.com/docs/
Anything dynamic will have to be implemented with JavaScript. I plan on making many more useful JavaScript videos soon.
I didn't understand the reason why we put the macro inside quasi quotes in 54.00. Does it require to be Code rather than Data, doesn't it?
The *cons* operator stands for "CONStruct[or]" - not "consecutive". en.wikipedia.org/wiki/Cons
You may dislike Common Lisp, It may not have tons of libraries or a nice community (they are pretty violent over on comp.lang.lisp), It may have strange conventions and language warts. Some implementations generate huge binaries because they ship the entire runtime inside the executable. However Common Lisp has a standard that is set in stone, meaning the language is stable, you do not have to learn a new language core api every 6 months or worry about legacy lisp code not running. Common lisp is a stable platform to get real world problems done. A tool box containing C/C++, a Lisp implementation, and a web language is hard to beat. Remember use the right tool for the job, no matter how amazing lisp seems, sometimes lisp is not the tool you are looking for.
Cody Mallery I agree that Lisp definitely isn't perfect for every situation, but when it's good there is nothing else quite like it.
Another amazing video! Have you thought of putting up anything related to Clojure and ClojureScript? Thank you Derek!
+Jeff Foster Thank you :) Yes Clojure is coming soon.
still waiting for clojure.
Derek Banas I have been following your channel ever since your first programming tutorial in one video, and my mind state towards your videos has changed from simply interesting to truly impressive over time. How long is your learning cycle to a new programming language? Do you cover esoteric programming language? (Just kidding, don't be serious!) Thank you very much all the time.
Large O Thank you for the compliment :) After doing this for 30 years it is pretty easy to change languages for me. I do a lot of free work helping students on projects and it is fun to use languages I haven't used for years. Lisp was an old favorite of mine that I have happily been able to have fun with over the last few months and I thought I'd share the fun.
awesome tutorial thanks for responding to our requests .
can you do prolog tutorial next?
Andreas Chari Prolog would be a great video to follow Lisp for AI reasons alone. I'm leaning that way.
I have heard a lot of people say that Lisp (and many other languages similar to it) are not useful for any practical purposes? Then is there a reason why so many people are interested in Lisp? Also, can you please make a video tutorial on emacs? It would be wonderful to supplement some interesting aspects of Lisp as well as help newbies like me become more productive.
+Jash Gala Lisp is widely used in the travel industry and to a lesser extent in universities for AI. Either way I find learning other languages like lisp are a great way to expand your mind and improve problem solving abilities. I have implemented capabilities in other languages into Java because Java didn't have those abilities. I would have never known I needed them unless I was introduced to them in other languages.
Thanks for this amazing tutorial !! :P
Thank you very much :)
Lisp looks surprisingly more alien than Clojure.
Haha...its really alienated..
I feel lucky to see u r tutorial it is so simple and awsome .
Thanks so much.
Can u please suggest some other languages that i Should study.
I know php,python,c and c ++(basics level).
Thank you :) C# is a fantastic language that I use every day. Also JavaScript
I know you reply to every comment. Got one for a Haskell video and Java. This time learning Nyquist, an XLisp dialect. Thanks!
I'm very happy that the videos have helped :)
Very good tutorial!
Do you also plan to do a Forth tutorial?
I love it! ❤
Really nice.
C, Python, and MATLAB coder. Lex Fridman brought me here. Mahalo!
Seriously? He referred my video? If that’s true that is pretty cool
Some things you should know before you start learning LISP.
Lisp is case insensitive (Mentioned)
Lisp is fully functional language ... Hence everything is inside parenthesis ().
LISP uses prefix format ... That's why Operators are always placed to the left of the operands ...
Thank you for the input :)
Lisp is multi paradigm not really functional
"Things inside parenthesis" don't make a language functional. The use of parenthesis everywhere is just the consequence of Lisp lacking a syntax (or its syntax being extremely simple, if you will)
I have to make a lisp program with parameters as currency and dollar and calculate the amount of specified Currency corresponding to the specified amount of
Dollars. How can I do that?
Great tutorial love it ;D thank you Derek
Thank you very much :)
hello! is there a specific location to save my file? I am getting an error when I try to run my file in my terminal.
Stuck 2 mins in, link for win32 not there. But I downloaded a version, I go to open it, system asks, what do you want to open this with. I have no idea. And those windows don't pop up to install, so .... yeah. What now?
Just started looking at lisp and found your video. I'm building some recursive functions for an AI class. Is everything done in lisp, like the loops you mentioned done recursively or do you just call the functions inside of the functions like others languages. Any "recursion" examples would be appreciated if you have to build those differently than how you brought up looping and functions.
Hi, with sbcl I found seemingly a little error at 34 : 33, list counting is 0 indexed that means after the list '(2 4 6) is pushed with 1, it becomes '(1 2 4 6) so (nth 2 *nums*) actually returns the 3rd element of the list.
I love your tutorials, they are so brilliant, I have watched a whole bunch of them, really getting inspired. So a million words into one ---- Thank you Derek my great teacher :)
Thank you for the correction and the compliment :)
Can you do a tutorial on Racket? It's much more beginner friendly and it's also very powerful.
I'll see what I can do
Elixir should be next. It's Awesome!
santicomp I will definitely cover Elixir soon. Thank you for the request :)
Derek, you are awesome!
Thank you :) I try to do my best
Great intro. Thank you.
Thank you :)
my vote is for F# in one video! would be super awesome! thanks for making these =3
CynicatPro I'll cover F# very soon
Derek Banas yay x3
Derek Banas isn't f# used in banking
NirajC72 its a really cool language, very multithreading/math friendly =3
what sort of careers would use f#
Man, again... you're awesome! Haha. A freaking machine!
I vote for Scala for the next video, or maybe Haskell or Earlang/Elixir, that would be awesome! :)
Otniel Aguilar Thank you :) I'll cover all of the above for sure.
Lisp is great!!!!!
That was awesome. You saved me a month of reading
Thank you :) I'm happy I could help
Something Emacs related would be really helpful. A Text Editor so famous, its like a religion to some people, there's got to be something really special about that..
Does anyone know why at 25:00 he puts "*num-3" after the format t statement at the end?
I tried it in lisp, it doesn't return the "*num-3*
This language makes me feel big brain
Hey Derek, Thank you very much for the video!
I am curious to know how you managed to learn so many programming languages.
I am a computer Science student in Ireland, and in my first year I have personally managed to only learn Python aside the languages I am learning in College. We are leaning programming with C (in 1st year). We also touched HTML, CSS and JS in one of our modules, glanced on Bash and Batch scripting in our OS Module, and Haskel and Scratch in 2 of our other modules.
However, we didn't go in much details in some of them.
I recently started using emacs and as it's build in lisp, I am interested to learn the language so that I can customize it to suit my needs.
If possible, I could you give few advises, recommendations that could help a programmer become more proficient? any advise, recommendation... is very welcome.
Thanks in advance.
You're very welcome :) I'm glad you liked it. First I'm not naturally smart, so anyone can do what I do. I contribute my ability to learn rather quickly to the fact that I do it every day. A former boss many years ago made us take 1 hour per day learning anything new. He insisted that that would keep our brains healthy or some sort? Anyway so I would study programming languages, spoken languages, painting, crosswords, game strategies, writing, etc. every day for 1 hour. What I studied only depended on what I was interested in at the moment. I have continued doing that now for 20 years and so I guess that is why learning new things is natural. I hope that helped in some way.
Your boss was right! - Evidently it worked very well in your case :-)
Well made video!! Thank you for your help!!
Thank you :) I'm happy I could help
How to define counter variables/ how to define two counter variables?
Ah! I have figured it out.
First I must make a command window, go in that window to the clisp directory, and then I can run the compiled fas file directly with C:\Data\Lisp\HelloWorld.fas
I wish you were more clear about how to run lisp on a windows computer.
Also, is python's format string like lisp's ability to switch between data and code? I.E. print(f"{size.name} is {size.height} and {size.weight}")
Hey, I really liked this video and it inspired me to code a game in lisp: snake. But now I am stuck here: I try to get input from the console: w a s or d. Is there a function like read-char that does not require me to press enter? I was looking everywhere but the only thing I could find, was that read-char is not the problem, it is the input-stream, that requires me to press enter. How do I change the behaviour of input-stream so that it works?
Before I say what I came here to say, I just wanted to say that this is awesome, and I've been looking for a good introduction to Lisp (and functional programming in general). I've been messing around with Lisp for a few hours now and it's a lot of fun. That said:
I'm gonna be super honest here: I think functional languages are pretty cool, but I don't think they do a great job of empowering the user to better use their hardware, which is basically what a programming language is for.
I think it's great if you're working purely with mathematical data (like in statistics and higher-level math), but I feel like for everything else, anything that has more structure than just "numbers and lists of numbers" (which seems to me to be how Lisp treats everything), procedural and/or OOP paradigms seem to be much better, and I think that most of the use cases developers are seeing these days *are* the kinds of highly-structured problems that procedural languages do great at.
Basically, I think Lisp (and functional programming in general) abstracts *too much* away from what is actually going on, or at least abstracts it in such a way that it makes a lot of the more common problems more difficult to solve. But then, that might be because it was designed to solve *un*common problems, which I don't have enough experience to judge.
But, then again, I grew up with Python. It's like a strange hybrid of OO, procedural and functional, so I don't know what that says about my opinion.
P.S. )))))))))))))))))))))))))))) ALL THE CLOSING PARENS!
Christopher Pilcher The parenthesis cracked me up :) I agree with much of what you said and I also think that these beliefs are very common to the point that many people see no point in using a functional language at all. This very well may say more about the lack of proper teaching in regards to how to structure programs using a functional language. I think the main reason why people struggle with OOP languages is because they don't have a solid understanding of boring UML. I also see that a tutorial on SML may be very important. I'm going to work more on making videos on these and related subjects. Thank you for the good comment / questions :)
I totally agree! I'm all for using the right tool for the job, and I'm really glad you helped me start adding this one to my belt. :) Thanks for the videos. You keep 'em coming and I'll keep watching!
I can't decide whether it was a coincidence that the stylized "LISP" logo looks like the outline of a boot nested inside the back side of a farm animal. Orwell would be proud.
That's funny :)
ur a godsend
Lisp rocks. So does Derek...
Roman Medvid Thank you :) It is a very cool language.
Couple things:
1. Please don't introduce the concept of state so early :( There are pedagogically-sound ways to draw parallels without introducing something so unnatural to lisp.
2. Cons cells are 'constructed memory objects' - they aren't 'consecutive' (www-formal.stanford.edu/jmc/recursive.pdf p28)
+Sean Allred Sorry about the cons mess up. I looked back through my notes and realized that I have been calling them consecutive cells for years because of how they were first described to me. You are correct. I basically tried to teach Lisp in a way that I thought would be easier to digest then what I saw in other text books. I'm sorry if you didn't like it.
It's alright :) I'm not myself a fan of your pedagogical strategy with this one, but I understand the parallels you're trying to draw with languages or patterns your audience may already be familiar with :)
And it's amazing all the things we go through life thinking! XD I've discovered a bunch of those things and I'm sure there are more to turn over.
(Though aside, I can see where 'consecutive' makes sense, too - being a linked list and all. Just isn't what's in the paper ;)
im confused sir maybe i will read some of the basics then i go back here for sure. first time in my life to see a code in reverse and a lot of parenthesis haha nice tutorial sir
Lisp takes a while to learn because it is a bit strange
Thank You Derek :)
Thank you for this video and I really hate the light theme!
Hey Derek, I would like to know if you can help me with Lisp macro list comprehensions. I would like to learn how to have an endless list and the for each element which is even (mod x 2), I want to times it by itslef... so for example if I have a list of (1 2 3 4 5 6 .....) I would like to write a code to take even numbers out (for loop) and times them by itself and display them in another list as ( 4, 16, 36, ...) ... can you possibly point me to the right direction. thank you.
Alex Jones Read about streams in "SICP" by Sussman and Abelson, and macros in "On Lisp" by Paul Graham and/or "Let over Lambda" by Doug Hoyte. Those two building blocks should help you solve your problem completely. Alternatively, you could use Haskell and get the lazy evaluation trait of streams for free.