Scratch? Python? C? Kernighan on Languages for Kids Coding - Computerphile

144,672
37
Publicado 2022-08-02

Todos los comentarios (21)
  • @judgeomega
    i think the most important part of programming for children is the ultra high level base concept; breaking a problem down into properties and functions.
  • @dallas_barr
    As a long-time C/C++ developer, I let you guess where I place Brian Kernighan on my top-tier list. Him ending the interview by saying "I don't know, you have to ask more experienced people than myself" is really something inspiring to hear, reminding us that whatever level of expertise we have, humility is key. Can't wait for the rest of the interview !
  • @Ribiveer
    The instantaneousness of Scratch and the balance between a lack of limitations and ease of use with Pythons are two great metrics for deciding whether a programming language is good for kids. But there's one factor that's gonna be different from child to child, which is the most important of all: whatever language makes them want to keep doing it! For some that might be Scratch, for my younger cousin that's Roblox. Kids can have an amazing internal drive when learning something they're specifically interested in, and guiding that instead of deciding a language for them is the best way to go, in my opinion.
  • @satysin630
    My son is 9 so back during the first lockdowns in 2020 when he was 7 I sat down and taught him the basics of logic with Python and using PyGame to make a simple Mario like side platformer. I have since taught him some basic data structures (arrays, linked lists, queues, stacks, etc) and algorithms which he picked up amazingly quickly. He even picked up the concept of pointers almost immediately when we went over the very basics of C. Kids just pick things up so damn quick it is unreal. I had to try a few different ways of communicating concepts with him with physical aids and drawing things out but once we found the best way he learns it has been fantastic. I am so glad I took the time to sit down with him as I almost didn't thinking he was too young having just turned 7 a week before. Another benefit is it really helped him find maths more interesting whereas he was struggling a bit finding what he was learning in school boring because it really was boring lol. He learns best via experimentation which programming has allowed him to do. I wish schools were better equipped to teach programming concepts as a standard.
  • @ficolas2
    I would teach lua. Not because of the language, but because computercraft for Minecraft. I got started with programming with that, and I loved it. It's so much fun, and now, 9 years later, I would probably still get enjoyment by playing it. I kinda hope they had used a different language, but lua is so easy to integrate as an scripting language, so it's understandable they did.
  • @prithvib8662
    This man is 80 years old and still has loads of humility. Amazing guy.
  • @natea.2926
    When Kernighan says “that takes a lot more experience than I have” about deciding when to rewrite a program in another language, it means none of us will likely ever know. So I guess we don’t port programs to new languages anymore. Works for me!
  • @szaboaz
    A book can make a difference. In my childhood, we had a book called "Bűbájt" by Allaga Gyula (Hungarian). It taught BASIC on C64 but with a playful, fairytale story about a little kid getting excited about his dad's new C64, then falling asleep, and in his dream he goes on a journey where he gets lost inside a computer and meets various personified characters like "aunty FOR" and "uncle NEXT" and "flea GOTO", etc. with beautiful illustrations, along with different concepts about the inner workings of program code, memory management. When he wakes up, everybody is flabbergasted, how he could solve a problem his dad struggled with. To be honest, most of it went over my head (I might have been too young), but I liked the pictures and I must have been paging through it a thousand times, always picking up some new bits and pieces.
  • @michipeka9973
    As a kid, I started at 7 with BASIC since some variant of the language was built in with most early personal computers in the 80s. Now, I would start with Python. It's a great language, you can do a lot with it. Then from Python, you can easily go to other languages depending on your needs. I just want to say, I learned the C language as a teen thanks to a little book written by Mr Kernighan and the late Mr Dennis Ritchie, it really taught me the most important concepts about programming. So thanks a lot for that.
  • @CobaltArcher
    These interviews are priceless. I'm so glad this man's words, perspective, and spirit are captured like this, and in so many other Computerphile videos.
  • @Kenionatus
    A library that does offer some instant gratification for learners of Python is turtle. It "magically" opens a graphical window with an icon that can be moved and draw a trail while doing so. This allows programmers to essentially draw vector art step by step. Turtle is even part of the Python standard library.
  • @tomchambers4537
    Im currently making a syllabus teaching programming to kids, thanks for the helpful video, perfect timing!
  • @letsgocamping88
    I think that processing / p5js would be an excellent introduction to programming. You have that instant gratification of getting objects on the canvas. And very transferrable skills too
  • Anyone else start with the Lego Mindstorm’s programming language? I can’t remember what it was called, but it was graphical like scratch, and gave me my first taste of variables, loops, conditionals etc. Plus it produced more tangible outcomes than scratch, because it would be manipulating a physical thing (a Lego robot). First tried it when I was 6 or 7, and that was definitely how I caught the bug!
  • @AngryArmadillo
    I got into computer programming because I was in a cryptography club in middle school called the “codebreaking club”. The teacher had absolutely no idea what they were doing and accidentally pointed us to websites on computer coding. I’ve never looked back. One of the luckiest things that ever happened to me. I really wish our school systems (at least in the US) were better equipped to teach programming at a young age so as to take the luck out of it. I think the entire discipline of youth CS education is still really in its infancy. It will be an exciting time (20 years from now?) when the first generation of students are reaching college-age with 12+ years of well-established mature CS education under their belt.
  • I'm 15 and I started programming at around 12. My first language was Lua. It's such a simple language and there's lots of documentation on it. Despite it being simple, it's incredibly powerful and fast, one of the fastest programming languages when bundled with LuaJIT.
  • @arthopacini1887
    I've started programming using the GML (Game Maker Language) for game maker studio 1.4, it's a scripting language that is easy to use and understand, and easy to manipulate resources like sprites etc, because the environment make it easy to connect to everything. The great thing is that you don't need to create a game, you can create a software on it, a very primitive one, but you can easily, for example, create a sound machine in it, drop some buttons, load some sounds, make a Gui an write some simple scripts, it just works pretty well. The game maker studio is in version 2 right now and I don't know how it has changed, but I do recommend it for teaching teenagers!
  • @NorthWay_no
    This got me thinking, could you do an episode where you describe different types of programming languages. For examples, descendants of Algol, Lisp family, functional languages, and whatnot there exists, and list out all the different languages of each type?
  • @mtgpleb6299
    Javascript is really underrated as a first language. Easy to get started, just type code directly into a browser console or include in a html file. Instant gratification in the form of an interactive webpage.