Introduction to Node.js with Ryan Dahl

Поделиться
HTML-код
  • Опубликовано: 12 сен 2024
  • Node.js is a system for building network services for Google's V8 JavaScript engine. In this presentation Ryan Dahl, the man behind Node.js will introduce you to this event-driven I/O framework with a few examples showing Node.js in action. Ryan will also talk about the recent release of v0.4.0 and how to use some of the new APIs.
    ** Check out Marakana.com for more free educational resources on open source development.

Комментарии • 374

  • @bernardinojosa3777
    @bernardinojosa3777 4 года назад +92

    "Windows is important, just like PHP"
    -The guy that "killed" PHP

    • @orvit3467
      @orvit3467 3 года назад +1

      he did it twice!

  • @Xenc5
    @Xenc5 Год назад +4

    Watching this video 12 years ago changed my life as a programmer 👏

  • @Zeturic
    @Zeturic 8 лет назад +45

    I love how much more comfortable he seems in this presentation than in the original talk introducing node.

  • @TarikGuney
    @TarikGuney 7 лет назад +25

    Frankly, I really like how he explained NodeJs. It is like learning NodeJs from your friend. I also liked his honesty about what he knows and what he does not.

  • @NoName-zk2wv
    @NoName-zk2wv 2 месяца назад +1

    I watch this video again and again.
    In my humble opinion a turning point in history of computer science.

  • @TroyAPeterson
    @TroyAPeterson 10 лет назад +5

    In the middle of my week of JavaScript. Struggling with Angular and Node all day today. Brain gets full, overloads and shuts down. Glad I found this, starting to get Node.

    • @Ajay.m-sc1vc
      @Ajay.m-sc1vc Год назад

      Now, you must be expert in node. 😊

    • @Ajay.m-sc1vc
      @Ajay.m-sc1vc Год назад

      Now, you must be expert in node. 😊

  • @gogobram
    @gogobram 4 года назад +3

    In the end of the video he describes how big applications should be split up in smaller applications. According to wikipedia, the term "Microservice" was kind of tossed the first time in Venice, just 2 months after this session.

  • @nobillygreen
    @nobillygreen 9 лет назад +7

    Absolutely fantastic explanation. A good mix of examples that explain why one would use node and an appreciation for the depth of node.

  • @someonerules
    @someonerules 13 лет назад +2

    I can't believe I watched that whole thing... I mean, it was awesome and all, I just didn't know I was capable of watching a presentation for an hour.
    I guess Ryan is just that damn captivating.

  • @Big_Eevee
    @Big_Eevee 6 лет назад +21

    39:53 I can't believe Google actually looked like that in 2011.

  • @doug65536
    @doug65536 10 лет назад +1

    This talk is great! Javascript's closure support makes all this callback stuff really easy and powerful. I love it.

  • @nisonlikethecar
    @nisonlikethecar 4 года назад +5

    Love how he brought up 'callback hell' before it had a name. He calls it 'maddness of callbacks' at 51:34

  • @dogafincan
    @dogafincan 4 года назад +3

    The presentation itself is awesome, but I also love seeing how Chrome and GitHub looked back then.

  • @jbperez808
    @jbperez808 12 лет назад

    Great to see Ryan has gotten a lot more confident at public speaking nowadays. One of his first public talks was rather difficult to listen to because it was peppered with uhhs and mmms.
    I do find this talk much more pleasant to watch and in fact it was very compelling and interesting.

  • @jamth1120
    @jamth1120 11 лет назад

    Still so helpful after nearly 3 years. Thanks Ryan

  • @sethmiller9663
    @sethmiller9663 11 лет назад

    yes, that's the beauty of Node - it extends JavaScript by offering protocols that you would typically need php or another server side language to do (Python, Ruby on Rails/etc). You only need JavaScript with Node.
    In my case I was looking into RESTFul web services (that typically utilize php to do stuff) and will not need to delve deeply into using php to parse XML & JSON (flexible data formats on the web)

  • @mateusvahl5072
    @mateusvahl5072 10 лет назад

    It's good to see this talk in 2014 and how much node grow up

  • @BriceStacey
    @BriceStacey 13 лет назад +1

    This is a great introduction to node. Thanks, Ryan.

  • @MuthuveerappanPeriyakaruppan
    @MuthuveerappanPeriyakaruppan 3 года назад

    Wow, awesome presentation and with lots of humor. Thanks Ryan Dahl

  • @NikBhattacharya
    @NikBhattacharya 12 лет назад

    The example of deeper and deeper anonymous functions starting around minute 48.00 totally reminds me of the movie Inception. A dream within a dream within a dream. And then the callback cb that he added is totally like the totem that you need to carry around as you go deeper into this anonymous world to remind you.

  • @stavroszarpas2651
    @stavroszarpas2651 8 лет назад +28

    Who can image 5 years before, that node.js would be what it is today..?

  • @VictorZamanian
    @VictorZamanian 10 лет назад

    Attempting to download stuff via WiFi during a presentation -- bold move, Ryan. Bold move.
    (I would've said: "Download from here." Then just extract the tarball I had downloaded beforehand.)

  • @AnirvanaMishra
    @AnirvanaMishra 11 лет назад +1

    Mind = Blown at 21:48

  • @wepranaga
    @wepranaga 3 года назад +7

    this guy is just creating millions of jobs inventing this

  • @tonyparisi1
    @tonyparisi1 13 лет назад +1

    Thanks Ryan, big node fan here.

  • @agustinbs
    @agustinbs 5 лет назад

    Thanks Ryan for this contribution to the software development. You are a very clever guy

  • @mikesoertsz4501
    @mikesoertsz4501 11 лет назад

    I've been waiting for this FOREVER!

  • @kszpirak
    @kszpirak 12 лет назад

    Love it. This guy for president. He doesn't **** around.

  • @flyingwizard3575
    @flyingwizard3575 3 года назад +1

    10 years ago. Wow this man is a genius

  • @Casey_W
    @Casey_W 11 лет назад +2

    Actually, python is strongly typed (javascript is weakly typed). Both languages use dynamic typing, as opposed to static typing found in languages such as C and its derivatives.

  • @JohnLFoleyIII
    @JohnLFoleyIII 12 лет назад

    Ryan - Nice work, were all looking forward to Nodes version 1.0 release.

  • @cdleeman
    @cdleeman 12 лет назад

    This guy's programming brilliance: 9, teaching abillity: 3

  • @InOrlando
    @InOrlando 12 лет назад

    The way this guy talk is interesting! I don't get bored :D

  • @NikkexD
    @NikkexD 12 лет назад

    Didn't quite know what node.js was, so i youtubed it and came across this video (first watched some anti node-js guy rant about how bad it is). I was going to play it in the background as i'm working, but turns out it's really interesting so it's hard to stay focused on actually working rather than watching this.

  • @FSXman456
    @FSXman456 12 лет назад +1

    Agreed. I like PHP, it's not bad and is what I use for most of my Project. I also wouldn't mind to start Nodejs.

  • @MrBTie
    @MrBTie 13 лет назад

    @rkulla great to hear it from someone who actually used it. once I was decided to learn php, then I read the first chapter of a book about variables assignment and declaration in php. "oh god, why a thousand rules just for saying a=1??? php musnt be good" It's the first item of my 'never-gonna-learn' list.

  • @suprflyification
    @suprflyification 11 лет назад +4

    LMAO @ rm -rf popping up on the chat screen as he was talking.

  • @EmmanuelRosani
    @EmmanuelRosani 8 лет назад +109

    "Windows is important, just like PHP"..ahahahhaha :D

  • @ShaunHusain
    @ShaunHusain 12 лет назад

    @nicpro85, PHP is interpreted as is JS, PHP interpreter and libraries are written in C, my guess is V8 the javascript VM used here is also written in C. I don't think PHP is crap is a valid statement, but this should be considered as a viable alternative. Javascript running in V8 in some circumstances can end up executing faster than similar compiled C due to the optimizations built into V8 (that is pretty amazing). This is just another example of pick the right tool for the job (and skills).

  • @yopizza
    @yopizza 12 лет назад

    Wow the guy is fun! I really enjoyed the show!

  • @rds92523
    @rds92523 11 лет назад

    Work's perfect, recheck your program.
    Note: The telnet terminal is a bit cluttered after you connect to localhost.

  • @RichhhR
    @RichhhR 10 лет назад

    Fantastically refined presentation.

  • @ardc0rre
    @ardc0rre 13 лет назад

    great talk :)
    oh and actually Ryan confused himself around 32:00 when he was testing 'delete a[n]'. he was right upfront, delete in JS does not remove the element from array, it changes it to undefined instead. if he'd check array's length he'd see that it's not touched. it seems that for some reason node repl is not showing such elements (that was the confusing part).

  • @ston3h3ng3
    @ston3h3ng3 12 лет назад +1

    brillant, and you look a bit like the nerd in James Bond Goldeneye XD Thanks a lot for your amazing presentation :p very nerdy, but very cool :p

  • @DavidRossIsHere
    @DavidRossIsHere 8 лет назад

    Nice workshop. I learned so much doing these!

  • @AlfredvanKuik
    @AlfredvanKuik 12 лет назад

    Someone told me to go learn node, cause it would be easier than PhP and far more suited for my project... Well, I'm glad I understood about half of what this guy told... Time to practice JavaScript some more and rewatch to see if I can get that up to 75%.

  • @vekien
    @vekien 12 лет назад

    I understand your frustration and get your point, I don't think it is ever going to happen. I love Javascript, I use it a lot. But some stuff I prefer how it is done in PHP, just like I prefer how stuff is done in SQL vs Mongo. Someone else will completely agree, and another person will have a different view, and so on.
    So unfortunately it is not very likely we will singularise coding and I don't think we should, because I like the way different languages handle operations.

  • @glabega
    @glabega 13 лет назад

    Great job! Awesome introduction to note

  • @znper
    @znper 13 лет назад

    The intro music is great... just like Node.js.

  • @quanhongtie9577
    @quanhongtie9577 6 лет назад +6

    .splice() is better than delete, delete don't reduce the length of sockets array, then array will be exceed limit, program will throw a error and breakdown.
    Ryan dahl, your original way is the better way.

  • @imtiazshawn167
    @imtiazshawn167 Год назад

    Genius Ryan Dahl 🔥

  • @useless_comment
    @useless_comment Год назад

    this is how it all started

  • @yoshuawuyts
    @yoshuawuyts 12 лет назад

    you can use the console/command prompt to run node.js, I don't know what editor was used for the examples in the video.

  • @KoningVerheijen
    @KoningVerheijen 12 лет назад

    Awesome presentation, thanks for sharing.

  • @DerTabak
    @DerTabak 11 лет назад

    Good talk, I can finally get some time to play with NodeJS :)

  • @mikemcneil9843
    @mikemcneil9843 11 лет назад

    @mwalsher Fair enough! But I mean more of the outcome of the project-- what it's done for open-source development, and how it's reduced the barrier to entry for front-end developers to get a foothold on the server. It's made a tremendous outcome on my business and our customers.

  • @itgoujie2
    @itgoujie2 11 лет назад

    i love this speech, making me want to give up play and come to node !

  • @CollinGravesPersonal
    @CollinGravesPersonal 11 лет назад

    Couldn't agree more! Just started incorporating node in to my works and I'm an idiot for waiting this long.

  • @sonaive2843
    @sonaive2843 11 лет назад +1

    very clear

  • @dkrutsko
    @dkrutsko 11 лет назад

    More than ever before.

  • @JacobSmits
    @JacobSmits 12 лет назад

    The future of web applications is more easily editable content that can be viewed across a variety of devices. I'd like to see some of these barriers being broken through in terms of the way data is formatted and sent from a client program to the server, stored in the database, and then easily reversed when it needs to be retrieved. In the future I should need to encode and decode HTML, JSON, and server script ever step of the way,

  • @DisdainforPlebs
    @DisdainforPlebs 11 лет назад

    Wow, I'm actually excited about this language!

  • @beardymonger
    @beardymonger 13 лет назад

    Awesome, and without slides!

  • @cccallum1
    @cccallum1 13 лет назад

    @JasonBunting: Swearing is a tool that can be used to intimidate or demean people, or it can be used to relieve tension and create a sociable atmosphere. I don't think the second type is lame.

  • @sethmiller9663
    @sethmiller9663 11 лет назад

    You may be thinking about Ruby, which was the subject of a major hack a couple of months ago

  • @TobiasArtz
    @TobiasArtz 12 лет назад +1

    Great talk! Node.js is probably going to be THE web2.0 back-end language. Bye bye PHP.

  • @MaurizioBonani
    @MaurizioBonani 12 лет назад

    I think that there's an error @33.48. Calling "delete" on an array's element should turn that element to undefined, but in the video it behaves as the slice method. Actually repeating the same example in the current version of Node works as expected returning [,2,3,4].

  • @prussianblue8333
    @prussianblue8333 11 лет назад

    So when would it be a good time to use another thread instead of taking advantage of the Node.js nonblocking ability he describes? Is there a limit or a point when that becomes the better option?

  • @Swissfreehosting
    @Swissfreehosting 12 лет назад

    "delete a[0]" won't work in javascript correctly like you suppose, it just overwrites a[0] with null, so the element isn't completly removed from the array and the array still has got the same length. So "a.slice(0,1)" would be the correct way like ryan showed them.

  • @ioanb
    @ioanb 11 лет назад

    This video made me give node.js a try.

  • @dubrox
    @dubrox 13 лет назад

    @onurbabadeluxe Node.js allows to run javascript server-side so now it can "compete" with PHP and other server-side languages.
    Said that, every language has advantages over others, and some people find themself more comfortable with one or another. Evidently many users here prefer scripting in JS instead of PHP, that's it.

  • @ShubhamSingh-vh1vw
    @ShubhamSingh-vh1vw 3 года назад

    This is GOLD

  • @JustinGarr
    @JustinGarr 11 лет назад

    nice video love the "BIll Gates hand dance"

  •  9 лет назад +6

    38:03 "Everybody loves gdb. If you don't love it you are wrong."
    huehuehueuhe

  • @inlinetarzan
    @inlinetarzan 11 лет назад

    Actually, delete does not delete slice in an array properly. It changes a value at position given by index to undefined. Time 33:49

  • @CantorazChou
    @CantorazChou 13 лет назад

    Cool!
    BTW. What the name of colorscheme you used for the Vim or iTerm?

  • @DerekBraid
    @DerekBraid 10 лет назад

    From creator of Node.js, recorded in the earlier days (2011) of its lifespan. Live codes some basic Hello World apps showcasing the fundamentals, worth watching the full hour.

  • @papajon
    @papajon 11 лет назад

    gets hilarious at 34:15 when the socket chat server comes into scene lol

  • @MrBTie
    @MrBTie 13 лет назад

    @boltar2003 yes. it's faster and different. it's also good for programmer experience. It's not like any other famous framework out there, be it rails or django.

  • @attomos
    @attomos 13 лет назад

    @mtgred AFAIK you need to edit your /usr/share/vim/vimrc (if you are using Mac) and Ryan, he use iTerm.

  • @FrancoAguileradonillan
    @FrancoAguileradonillan 11 лет назад

    i have a doubt... node is : a language ? , is a server aplication ?, is a framework? , which would it be more acurate ???

  • @whatnow1204
    @whatnow1204 11 лет назад

    Thanks, man. I been wanting to expand my knowledge in other technologies moving into server side programming. Learning Java and diving into Java Server Pages was something I was thinking about getting into. But I'm so comfortable with JavaScript. It would be like a double edge sword for me moving onto another language.
    I've studied JS for 2 years.
    About Node.js I've been hearing some negative things about it. I hear people mentioning you can hack into Node.js or things like that. Is this true?

  • @JohnNelson-info
    @JohnNelson-info 12 лет назад

    An array is the same no matter what language you use. It’s just a structure in memory.
    Think of it this way. If everyone in the world spoke the same language, think how far we would be as a society. Think of all that miscommunication that’s caused so many problems. This is why the world uses the metric system so that everyone can be on the same page. Err. except us of course. 
    Hopefully JavaScript will unite us. I’ve got my fingers crossed on that one.

  • @PongsakornSemsuwan
    @PongsakornSemsuwan 9 лет назад +3

    around 33:50 why delete a[1] leave the a with [ 4 ] ? Shouldn't it be [ 3 ] instead?

    • @kagi95
      @kagi95 9 лет назад

      I thought the same thing. He changed the screens quickly so it seems no one else noticed it.

    • @PongsakornSemsuwan
      @PongsakornSemsuwan 9 лет назад +1

      kagi95 stackoverflow.com/questions/10325026/javascript-array-slice-versus-delete
      delete only makes that certain location of the array undefined but the array still contains item. Whereas splice completely remove the item and it's location --- So we better use splice

    • @kagi95
      @kagi95 9 лет назад

      Pongsakorn Semsuwan Gotcha! Appreciate the link, so there were two undefined and hidden points in the array at the end.

  • @abdurrahimahmadov4309
    @abdurrahimahmadov4309 2 года назад

    Thanks Ryan, you are genius.

  • @whatnow1204
    @whatnow1204 11 лет назад

    oh ok. It probably was Ruby. I heard it from somewhere, but I lost memory. I'll try out Node.js and see how it goes.

  • @fahimal-huq6867
    @fahimal-huq6867 3 года назад

    great presentation

  • @psilocyberspaceman
    @psilocyberspaceman 12 лет назад

    45:43 "What do you think about that? Do you think, 'This is so boring. I cannot wait to go home and have a beer. Why do they not serve beers at these things?' Because that’s what I am thinking."
    LMAO

  • @domaincontroller
    @domaincontroller 4 года назад +2

    02:55 node is a bunch of sugar on top of a very complex virtual machine written by Google called v8
    03:22 node is a set of librairies on top of v8 ...uses that greatness to do networking things...the focus is on doing networking correctly

  • @whatnow1204
    @whatnow1204 11 лет назад

    Cool. I will study it.
    Thanks.

  • @MichaelFerry
    @MichaelFerry 11 лет назад

    Did you open two telnet connections? That line is to stop your own text being echoed back to you so you shouldn't see it. Have two windows open, type on one, see on the other.

  • @CarlosChau
    @CarlosChau 11 лет назад

    Oh I see. Thank you for the explanation ^^
    Proud to say that I'm a Ubuntu user myself, thought only a novice one

  • @MrSandervanDoesburg
    @MrSandervanDoesburg 13 лет назад

    @onurbabadeluxe node.js is asynchronous and php is not. So when you need to read a file from the disk php waits for the disk to spin and read it and then php goes further with the script. Node.js creates a callback that executes when the file has been reads so it doesn't wait until the file is read but goes further with the script immediately.

  • @gmdtvh
    @gmdtvh 12 лет назад

    Is node actually capable of replacing PHP? Shit, I just learned the language, and Zend Framework ... Well it looks hust great. JS is awesome. Now Ryan, can you tell us please which is the most suitable framework for node? Is it Spine or something else?

  • @whatnow1204
    @whatnow1204 11 лет назад

    I know very very little about Node.js. Can you Node.js for server side JavaScript instead of other server side programming such as JSP, ASP, PHP etc.?

  • @boltar2003
    @boltar2003 13 лет назад

    Is there any particular advantage to using this over python other than language preference?

  • @ThunderAppeal
    @ThunderAppeal 10 лет назад

    At :44 'no semi colons are optional' I cant believe this guy uttered those words after Douglas Crockford a leading authority on javascript says that while semi-colons may be syntactically optional you should still require them when you program.

  • @w500nm
    @w500nm 11 лет назад

    where's the site? Can't find much on google, thanks alot by the way, didn't think I'd find an answer

  • @NeoNitride
    @NeoNitride 12 лет назад

    Awkward social interactions, check. Lots of random typing/spelling problems, check. Apparent adult ADD, check. True programmer right there.

  • @RichhhR
    @RichhhR 10 лет назад

    28:50 What are the holes you would need to plug?