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

  Рет қаралды 147,126

Computerphile

Computerphile

Күн бұрын

We asked Brian Kernighan (author of 'C Programming Language') what language kids should try first.
Coffee with Kernighan: Coming Soon
/ computerphile
/ computer_phile
This video was filmed and edited by Sean Riley.
Computer Science at the University of Nottingham: bit.ly/nottsco...
Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com

Пікірлер: 586
@judgeomega
@judgeomega 2 жыл бұрын
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.
@ChrisLee-yr7tz
@ChrisLee-yr7tz 2 жыл бұрын
I'd go one step further in saying just being able to describe anything they do in a logical series of steps.
@Sam-vf5uc
@Sam-vf5uc 2 жыл бұрын
My kids are required to program in assembly. If I catch them using a higher-level language they loose food privileges for 3 days.
@ChrisLee-yr7tz
@ChrisLee-yr7tz 2 жыл бұрын
@@Sam-vf5uc Assembly? What's wrong with just using binary? Amateurs...
@jayshartzer844
@jayshartzer844 2 жыл бұрын
This. And taught at the earliest possible so it could be applied to other fields
@dallas_barr
@dallas_barr 2 жыл бұрын
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 !
@satysin630
@satysin630 2 жыл бұрын
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.
@user-vn9ld2ce1s
@user-vn9ld2ce1s 2 жыл бұрын
Damn... What would I give for a father that could teach me C when I was 7...
@thisisnotok2100
@thisisnotok2100 2 жыл бұрын
kids aren't actually that smart, your son is. congrats
@Valery0p5
@Valery0p5 2 жыл бұрын
@@user-vn9ld2ce1s when I was a kid I was somehow convinced MS Access was THE tool used to make programs (maybe because I saw those files in some program folder), and every time my parents wanted to send me to some boring summer camp I begged them to find someone who'd teach me Access instead. Only got to learn C in secondary school sadly (and still couldn't do a flipping Snake game), and realized what databases were later... Neither school nor Uni really make you code all that much sadly in reality...
@zacharywilson-long3429
@zacharywilson-long3429 2 жыл бұрын
@@user-vn9ld2ce1s You want an abusive father?
@user-vn9ld2ce1s
@user-vn9ld2ce1s 2 жыл бұрын
lol... Segmentation fault (You're grounded)
@Ribiveer
@Ribiveer 2 жыл бұрын
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.
@sianmilne4879
@sianmilne4879 2 жыл бұрын
I learned HTML and CSS solely for my Neopets guild pages 😂🤷 Kids get committed haha
@amineabdz
@amineabdz 2 жыл бұрын
I'd like to entertain the idea that Minecraft redstone is the best programming language for kids, it teaches logic, conditions, loops etc... albeit in a very loose style.
@spht9ng
@spht9ng 2 жыл бұрын
@@amineabdz Such a great way to learn about low-level computing.
@amineabdz
@amineabdz 2 жыл бұрын
@@spht9ng Someone made an actual working CPU with just redstone logic gates, it has registers, a cache, even a branch predictor, I mean it's speed is abismal, still this just proves that redstone could be a great learning tool.
@LowestofheDead
@LowestofheDead 2 жыл бұрын
Roblox uses a version of Lua, right?
@susanne5803
@susanne5803 2 жыл бұрын
Programming languages mentioned in this video: 00:19 - Scratch 01:13 - Python 03:14 - Colab (by Google) 05:20 - C 07:25 - Rust, Haskell 08:25 - Go
@levyroth
@levyroth 2 жыл бұрын
None of these are worth wasting time on to learn the basics. As someone who learned programming in Turbo Pascal, trust me, the old ways suck for a reason. JavaScript to rule them all!
@harrytsang1501
@harrytsang1501 2 жыл бұрын
5:23 - knowing multiple programming languages
@AngryArmadillo
@AngryArmadillo 2 жыл бұрын
Thanks!
@liba01
@liba01 2 жыл бұрын
Colab is not a programming language, but an online Python execution environment
@ugli1440
@ugli1440 2 жыл бұрын
why, surely no one is that ADD that they can't sit through this short video. It's not like your timestamps are for tutorials.
@ficolas2
@ficolas2 2 жыл бұрын
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.
@nirodhanimesh1490
@nirodhanimesh1490 2 жыл бұрын
J
@nirodhanimesh1490
@nirodhanimesh1490 2 жыл бұрын
J
@SkyyySi
@SkyyySi 2 жыл бұрын
It's also used in other games, like Roblox or Garry's Mod. Teaching languages tied into games is great, since most kids probably thought "Can I do that?" only to find out that they cannot. It gives an instant connection and is likely more appealing than solving a problem... for the sake of solving a problem, probably given by a teacher.
@ficolas2
@ficolas2 2 жыл бұрын
@@SkyyySi True, not long after I began learning programming with computercraft, I made mods for factorio (also in lua) Lua is in many places where a kid would want to start playing arround with, because of how simple it is as a scripting language. I don't particularly like the syntax, or the way it implements OOP, but it certainly has many fun things to do with it.
@maxinealexander9709
@maxinealexander9709 2 жыл бұрын
Agreed! I've been working with a partner on a project to port embedded lua to the rp2040 and gba for all kinda of reasons, most specifically for low barrier of entry. We're working on porting the pico-8 API to the rp2040 with a custom gba cartridge specifically for easy game development. A bunch of big name games got started as pico-8 projects, and pretty much anyone can pick it up as a skill :) None of it is open source yet, but it will be as soon as we have stable versions. It's just a massive project. Edit: Forgot to include that it's purposefully designed to be natively compatible with computercraft scripts as well, for the CC/CC:T nerds out there :D
@prithvib8662
@prithvib8662 2 жыл бұрын
This man is 80 years old and still has loads of humility. Amazing guy.
@natea.2926
@natea.2926 2 жыл бұрын
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!
@michipeka9973
@michipeka9973 2 жыл бұрын
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.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 2 жыл бұрын
Those who remember BASIC also remember the immediacy of being able to type a statement and have it executed right away, versus sticking a line number in front of it to add it to the in-memory program. That was very convenient for experimenting, and for developing a program incrementally. You can do something analogous, I would say nicer, with Jupyter. You can type any number of lines of code (in Python or other supported languages) in a cell, and execute that cell with shift-enter. And so you can incrementally build up your code across multiple cells. And there is never a need to do the equivalent of a SAVE command, because the notebook system is regularly autosaving for you.
@szaboaz
@szaboaz 2 жыл бұрын
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.
@last_friday_night
@last_friday_night 2 жыл бұрын
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.
@debashishbramha
@debashishbramha 7 ай бұрын
Very Insightful.But here in India we start with scratch.
@Kenionatus
@Kenionatus 2 жыл бұрын
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
@tomchambers4537 2 жыл бұрын
Im currently making a syllabus teaching programming to kids, thanks for the helpful video, perfect timing!
@JavierSalcedoC
@JavierSalcedoC 2 жыл бұрын
Would love to take a look if you have some content already online. cheers!
@tomchambers4537
@tomchambers4537 2 жыл бұрын
@@JavierSalcedoC i can't share the actual content as it for a private company (although theres plans for it to be free ans open one day) but if you want to talk about it idm, just give me somewhere to dm :)
@MK-je7kz
@MK-je7kz 2 жыл бұрын
I would just try JavaScript. Yes, it has huge faults, but for simple things it is easy. Basic concepts don't need unnecessary syntax sugar. Arrays, functions, dictionaries are easy. And most of all you don't need but a browser
@paulthomas8262
@paulthomas8262 2 жыл бұрын
If you see my comment about Processing above. Really it is not about the language it is about not complicating thing by choosing a development environment that would allow them to focus on core concept rather than other stuff that doesn't need to be introduced right away. Also giving that instant feedback and ability to make mistakes.
@arthopacini
@arthopacini 2 жыл бұрын
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!
@danfr
@danfr 2 жыл бұрын
I also got into Game Maker as, I think, my second language. I think Unity/C# might be another possibility in the modern day. You also get plenty of instant gratification since it starts with the GUI, you can drop in pre-existing assets, there are even pre-existing scripts that'll get you started with a very basic game. Then after gluing all that together you'll end up at a "now I want to do this" point where you'll have to program something, however it'll probably be a fairly basic change and you can start by looking at the code you've copied in.
@letsgocamping88
@letsgocamping88 2 жыл бұрын
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
@jursamaj
@jursamaj 2 жыл бұрын
For instant gratification, nothing much beats Logo, with Turtle graphics.
@sub-harmonik
@sub-harmonik 2 жыл бұрын
that's what my intro to programming class used in college
@AngryArmadillo
@AngryArmadillo 2 жыл бұрын
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.
@aesir1ases64
@aesir1ases64 2 жыл бұрын
in my country we are not even close to having kids learning programming at school, heck we cant even teach basic arithmetic and logic to kids lol
@trapphone9683
@trapphone9683 2 жыл бұрын
@@aesir1ases64 what country?
@TheViolaBuddy
@TheViolaBuddy 2 жыл бұрын
My first language was ActionScript, and I can absolutely vouch for the fact that it's a huge benefit to have the results be visual, rather than just textual. If you want a language that's similarly easy to produce visual images but that's text-based rather than Scratch's block-based system, I guess Processing would fill that niche. But like Scratch, it doesn't quite feel like a "real" language, because people don't often use it for "real" projects, even if it's much closer than Scratch is. For a language that's actually used in a widespread manner, I think Javascript is the most-used language that directly hooks up with a visual output, namely the browser. But that does have the extra overhead of needing to learn HTML and CSS, so even though the visual system is a core part of the language, it's not necessarily easy to get what you want onto the screen, which was the whole point of this. So there isn't really a single ideal starting language - which isn't surprising. In the end it'll depend on the person what the "best" starting language is for that person's situation.
@miran248
@miran248 2 жыл бұрын
So was mine! 20ish years ago. It all started with the red circular button and a fancy glow hover effect :)
@mtgpleb6299
@mtgpleb6299 2 жыл бұрын
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.
@TheAwesomeness490
@TheAwesomeness490 2 жыл бұрын
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!
@thomasmewily4012
@thomasmewily4012 2 жыл бұрын
I remember using it a tiny bit, even if using a remote with the NXT was more fun for me. Fun fact, Mitchel Resnick is one of the person behind Lego Mindstorm’s and also behind Scratch.
@Mayaaahhhh
@Mayaaahhhh 2 жыл бұрын
It's based on LabVIEW!
@lawrencedoliveiro9104
@lawrencedoliveiro9104 2 жыл бұрын
I bought a Mindstorms kit, but I never used any of the proprietary software. I found the open-source NBC/NXC compiler, and built my code with that. I also wrote some of my own tools (in Python) to encode/decode the custom sound and graphics formats.
@TheAwesomeness490
@TheAwesomeness490 2 жыл бұрын
@@lawrencedoliveiro9104 that sounds awesome! Unfortunately my experience with the Mindstorms was confined to the school because we didn’t have the money for it one of my parents also happened to not take kindly to my interest in technology, and 6 year olds don’t exactly have much pull in the household lol. With that being said, I’m definitely thinking about getting a set to play around with, so I may very well go ahead and opt for something like what you did. Cheers!
@ideallyyours
@ideallyyours 2 жыл бұрын
@DerpMuffin RoboLAB
@muadeeb
@muadeeb 2 жыл бұрын
Start with python, then go to C and its derivitves. I call myself a "scripter" more than a "programmer", especially with my job description not needing coding. I started university for computer science, learning Pascal in high school, then C/C++ while in the program. After having a really rough semester (not one program worked right) I switched majors. Fast forward and as a broadcast technician I wrote an ASP based site to do staff scheduling from an access database. Later, I wrote another site in C# to take a data acquisition unit and log closures. I also learned that I hate pointers. Now, I use python to do file manipulation in containers and play around with arduinos. I know writing in raw c would be more efficient, but the arduino libraries are easier.
@NorthWay_no
@NorthWay_no 2 жыл бұрын
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?
@CobaltArcher
@CobaltArcher 2 жыл бұрын
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.
@DJoppiesaus
@DJoppiesaus 2 жыл бұрын
I would without doubt choose Hedy. It is designed to teach you how to code, and it is gradual, it starts of really simple(to prevent cognitive overload) and adds features as you get further.
@krank23
@krank23 2 жыл бұрын
I'm a programming teacher, high school level, and for kids I agree Scratch is probably a great entry point. After that it becomes hard. Flash and AS2 used to be a great intermediary, but that's pretty much gone now… For slightly older kids I think Unity would be a good tool. There's an ENORMOUS amount of tutorials and howtos and community resources and helpful people on the internet to get you started and to get you unstuck. And there's that instant gratification - and also a feeling that what you're doing isn't just "for kids", it's a fully-fledged tool used by many professional game makers. And it's a lot easier on the system and less crash-prone (in my experience) than Unreal. And sure, C# is a complex and mature language, but my experience teaching it to students is that they pick it up pretty quickly, and you really don't need to know a lot of the behind-the-scenes stuff to make pretty advanced games in Unity.
@jamdonut
@jamdonut 2 жыл бұрын
you want javascript.
@phutureproof
@phutureproof 2 жыл бұрын
@@jamdonut no you want js because its all you know
@laytonyon5965
@laytonyon5965 2 жыл бұрын
For me the intermediary was FTC robotics, it provided super scaffolded java or kotlin with a blocks language also included if you don’t quite understand the java yet. It allowed you to immediately see the impact of your code: when it ran, you could see the real physical robot move. It also let you do basically anything you wanted eventually, like computer vision or machine learning without any of it being necessary.
@Ghorda9
@Ghorda9 2 жыл бұрын
Godot might be better because it supports a bunch of different languages including it's own scripting language and C++.
@lordofthemound3890
@lordofthemound3890 2 жыл бұрын
I always love listening to Brian Kernighan. The guy is just as sharp as he was 50 years ago.
@deceipher3
@deceipher3 2 жыл бұрын
I think instant gratification is important at any age of learning honestly. Having that snappy feedback helps you learn fast, you dont want to sit watching a compiler. Minecraft redstone? Video game toolkits? scripting in a game engine gives you the best of everything.
@bloodbath5732
@bloodbath5732 2 жыл бұрын
i think HTML to CSS to JS is the way to go because its very visual rather than just getting a single command line output per exercise. You can get used to the idea of keywords and symbols and checking documentation quite easily with HTML and CSS before getting to JS. It's also genuine front-end development, and JS is nearly identical to C# at this point and closer to the common sort than Python. After doing some menu effects and validation with JS have them move on to an HTML canvas to draw shapes and make a simple game for the web page they've been building up this whole time; at that point they're learning the kind of logic that will be used in most any language for most any job.
@Tnargav
@Tnargav 2 жыл бұрын
JS and C# are different languages with different paradigms but it is worth to know the two opposites so you're not caught by the differences.
@kebbotnet4170
@kebbotnet4170 2 жыл бұрын
100%, Lua would be my first choice. Far simpler than Python, and no need to worry about significant whitespace related issues. They only need to learn one data structure for collections and objects (Lua tables). 1-based indexing is a non-issue that gets mentioned too often; it can easily be learned and unlearned moving between languages.
@TheDragShot
@TheDragShot 2 жыл бұрын
And to be honest, even if zero-based indexing is the one way intended, one-based indexing makes more sense for someone taking their first steps in telling a computer what to do. We all count and label things irl from 1 onwards, after all.
@d0cx
@d0cx 2 жыл бұрын
My first adventures through programming were when I was about 9 or 10 with Scratch 1.4. It taught me all the basics with things like variables and logic, and as I got older I moved to writing Bukkit plugins for Minecraft which led to my first CS class in high school (thanks to my already prior Java experience, taking the CS class which used Java was a lot easier lol). I'm now a software developer using Python daily and I can't recommend Scratch and Python enough to anyone wanting to learn. The biggest thing I can't stress enough is pick the right tool for the job.
@PiperThunstrom
@PiperThunstrom 2 жыл бұрын
I am the lead on a project trying to answer that issue with Python: We have an education focused game engine and work with another project that can deliver an installer to end users who can install it and run it without knowing anything about Python. I agree with the "instant gratification" as a key strength of Scratch (and it informs my designs for my project.)
@littlerattyratratrat
@littlerattyratratrat 2 жыл бұрын
I've taught beginners using Processing, both Java and Python modes, and by mid-semester, they're writing interactive games with graphics and sound and getting comfortable with the fundamentals of language syntax, basic data structures, control flow, etc.
@criley0007
@criley0007 2 жыл бұрын
I started with scratch back in high school and I think it was a great starting point for thinking programmatically. Transferring those skills to another language after was pretty easy
@hrclful
@hrclful 2 жыл бұрын
Brian Kernighan speaks of "handing over a binary" rather than source code. I like that, but we don't do that. We push into repositories / pipelines that build docker images which encapsulate everything into a runnable container which lives in a Kubernetes cluster or whatever. Whatever language used doesn't matter anymore as there's only a port we communicate with.
@FINALLYQQQQAVAILABLE
@FINALLYQQQQAVAILABLE 2 жыл бұрын
What "we" do doesn't have a lot of common with what a kid should do when first learning about programming. We would be totally clueless about all these fancy pipelines and containers if we never had actually used a compiler to turn source into binary.
@davepruitt
@davepruitt 2 жыл бұрын
While I certainly do push into repositories, I've never once built a docker image. I hand over binaries all the time.
@LearnCodingGrid
@LearnCodingGrid Жыл бұрын
Great content! For absolute beginners or children visual programming languages are a very solid option over the text based ones. They allow users to drag and drop statements, provide a limited scope of options at each learning stage, and feature integrated tools such as a simplified IDE with explanations of the fundamentals, among other things. I believe that one of the most important psychological factors in learning is to avoid becoming discouraged or overwhelmed by a topic during the initial phases of education.
@Mutual_Information
@Mutual_Information 2 жыл бұрын
This idea of getting young kids to code is a little controversial. Some people think you’re crushing a childhood with adult drudgery, but I completely disagree. Introducing coding early creates a concrete logical challenge that kids can toy with and make progress with. It also removes that coding-is-intimidating factor which exists when so many adults get started. And it’s a super relevant life long skill! I’m a big fan.
@otesunki
@otesunki 2 жыл бұрын
???????? learning to code for me was just me trying to understand how computers actually work
@mastershooter64
@mastershooter64 2 жыл бұрын
I think that's because people confuse "getting young kids into coding" with "forcing young kids to code" there's a huge difference
@Mutual_Information
@Mutual_Information 2 жыл бұрын
@@mastershooter64 yea huge difference. Maybe it’s best framed as.. encouraging it as an option?
@Mutual_Information
@Mutual_Information 2 жыл бұрын
@@otesunki well that’s good, but I think you and I are more the exception. It’s only anecdotal, but I’ve mentioned this to a few parents and they think it’s soul crushing. Like getting a child to do accounting.
@JavierSalcedoC
@JavierSalcedoC 2 жыл бұрын
Imo arguing against teaching how to code would be like arguing against teaching how to play the piano
@AndreaZzzXXX
@AndreaZzzXXX 2 жыл бұрын
My first language was BASIC with VIC 20 and C64 (ok I am old enough) and thanks to this language I felt in love whit programming . Afer that, Visual Basic, VB NET, C# , I am a programmer now. After all this years I still love my job
@emilemil1
@emilemil1 2 жыл бұрын
The goal of a first language shouldn't be to teach programming, but to spark interest in a quick, fun and frustration-free way. I'd never go more complex than Python, and preferably something way more limited like Scratch or some other building-block style language that can give you quick and exciting results with little effort. My first programming experience was GUI scripting for WarCraft 3 custom maps, which was absolutely perfect for me. It was simple and tied into the game I loved to play, so the motivation was there from the start. It was of course super limited and didn't teach an awful lot, but that didn't matter, it planted the seed that made me see the potential and fun of programming.
@SalivatingSteve
@SalivatingSteve 2 жыл бұрын
I learned programming with REALBasic (now Xojo) on classic MacOS when I was 10. It was the Mac equivalent of VisualBasic and compiled apps for Mac, Windows, and Linux. I loved their WYSIWYG interface builder, drag in a button and could easily program what happens when someone clicks the button. The idea of creating a UI layout using XML text only sounds like a nightmare.
@robertanderson5092
@robertanderson5092 2 жыл бұрын
When I was in K-3 basic was popular. Due to speed and memory limits, machine code was quickly learned 2nd.
@Viniter
@Viniter 2 жыл бұрын
I think that the last question is the point where you need to start distinguishing between programming and software engineering. Picking a lauguage, the libraries, the technology... that's all part of software engineering. Ideally you should never run into a situation where mid-project you realize the language you picked isn't working. It's worth mentioning, especially for self-learners, that after picking up a language or two you should really work on other skills related to software engineering that aren't just programming. Analysis, design, architecture etc...
@nullpointerworks4036
@nullpointerworks4036 2 жыл бұрын
Quick note though, the thumbnail shows a Java icon but says Javascript underneath. Those two languages are very different. I started with VB, then C, then moved to C++, did a bunch of Flash ActionScript in college and learned about the web languages. Nowadays I do the most work in C++, C# or Java.
@pweddy1
@pweddy1 4 ай бұрын
As someone who started programming at 10, I feel like a language should be as easy to do graphics at it was on a 1980s microcomputer. It’s kind of frustrating the amount of boilerplate code you need in most environments, just to get started. Even the most arcane aspects of 1980s micros such as hardware sprites and all the setup required for them is less than what most environments require today. And you’re directly accessing hardware on those systems so learned more than having everything abstracted away.
@mfaizsyahmi
@mfaizsyahmi 2 жыл бұрын
It must have escaped Mr Kernighan's mind atm that python comes with the turtle module. imo that's the most kid-friendly thing you can do with it.
@rlamacraft
@rlamacraft 2 жыл бұрын
I would start someone off with a game like Human Resource Machine and then move them onto JavaScript where everyone can bring up the console in their browser, share their work, get that gratification, etc
@rmsgrey
@rmsgrey 2 жыл бұрын
Yeah, HRM or the various Zachtronics games, while they don't directly teach specific programming languages, do train a lot of the skills needed.
@greenanubis
@greenanubis 2 жыл бұрын
Cool game! Still a bit abstract. It throws you in this environment, with a section with code, and section with output, but it doesnt explain nothing about that, how they exactly relate. I guess thats kinda the point in the game, you play as a office worker in crazy ruthless company, and getting no help fits the theme. But still, i dont know how a person who never programmed before should know that you need to construct a series of sequentially executed commands in that side window in the game. As a programmer you see it right away, you know the format(IDE, terminal, common syntax words...)but there is nothing to grab on for someone else.
@emmy3335
@emmy3335 2 жыл бұрын
I started programming at age 7 (22 now) and for some unknowable reason decided to try to start with C++ (probably because I had heard it was what was used for video games). it was so discouraging that i dropped trying to learn at all for 2 years until i got a python book from my dad that ended up really capturing my interest and I've been insatiable since. It's really funny though because nowadays most of what I do is much lower level and done in C or (as of very recently) rust
@vibaj16
@vibaj16 2 жыл бұрын
what's up with people starting programming when they're 7? I've seen like 5 comments here about how people started at 7
@xxxxxrandom
@xxxxxrandom 2 жыл бұрын
I work in a small (10 people) IT company. In the interview I told that I can work with any language, just going to take a while to learn each new one as needed. First project was radio communication between a raspberry pi (python) and an arduino (c). Second about controlling a R-pi (php & python) with a mobile app (c#) via a php backend + a web-based administration tool (vue). Currently a part of a web app team full stack style with angular & php & java. Once the idea of coding is clear, you only need some basic tutorial for the new language on how to set up and then just start working with the languages manual open on the side.
@benwilson5546
@benwilson5546 2 жыл бұрын
I grew up using Scratch and I became very comfortable with the important tools such as if, repeat until, and variables. I would say it was very useful. But one of the things you learn switching to almost any other programming language is how to understand error/exception trace backs. One thing I could have really benefited from in Scratch was a better understanding of arrays.
@EnzoEvers
@EnzoEvers 2 жыл бұрын
Some time ago I was teaching a small groups of children (age between 9 and 12) programming with Arduino. Some already did something with Scratch while others didn't. For me, my interest in programming started with embedded systems since you see the result of your code in de real world instantly (when using something like an Arduino). It also teaches you more of the fundamentals (restrictions) of the hardware you are running on. After I briefly showed the main concepts of programming and showed the basic Arduino I/O commands, I gave them some pre-prepared projects for the Arduino which they could make within half an our to get quick visual feedback on what they made. After that, if they wanted, they could start trying their own stuff or do more prepared projects. For the starting projects I gave 75%-90% of the code already. Then they had to think about what was missing. This way the focus was less on syntax and more on concepts. They told me that they really liked to see their work result in something physical.
@erikdellidlpuntocom4632
@erikdellidlpuntocom4632 2 жыл бұрын
Start with Python to understand the concepts, continue with C to understand the computer.
@Commodore4eva
@Commodore4eva 2 жыл бұрын
I completly agree with you on that. C and Assembly is the only way to truly learn Bare metal programming. But, I'd say learn both Python and C in parallel so the concept and learnings from each language can cross and elevate the teachings. Good house keeping starts young.
@FishFind3000
@FishFind3000 2 жыл бұрын
My programming experience started with python and then had the option to move to either Java or c++. I did c++ and later java
@megaing1322
@megaing1322 2 жыл бұрын
Well, continue with C to understand the quirks of computers as seen by C. C does not represent modern machines that well and the compilers do a lot of magic to make it fast. Sadly, I am not aware of any language that reasonably represents the tradeoffs modern PCs can make, and certainly nothing main stream or easy to learn.
@lassipulkkinen273
@lassipulkkinen273 2 жыл бұрын
Then move on to something else to make sure the computer understands you.
@vincentfiestada
@vincentfiestada 2 жыл бұрын
I absolutely disagree. Start with C. You need to learn to walk before you can run. Python's standard library has too many features and it's too convenient. C forces you to learn how strings work, how pointers work, all the stuff that any decent programmer should at least be familiar with but many skip because they start with languages and frameworks that just give them everything they need.
@NullStaticVoid
@NullStaticVoid 2 жыл бұрын
I was at an open source conference a few years ago. Lots of cool workshops. Every part of the general ecosystem you could think of had one or two tables of shwag and maybe a little demo screen or something to sign up for. Except the local Python users group, which had 6 tables. Dozens of stickers and a whole crew of volunteers. That was when I realized Python is a thing.
@exelmans8855
@exelmans8855 2 жыл бұрын
yeah. At that point its a culture.
@AndyChamberlainMusic
@AndyChamberlainMusic 2 жыл бұрын
I taught at iD Tech during college and many times I did a week-long course for tweens (10-12 y/o) that had them start with 0 coding knowledge and by day 5 they had made a simple 2d shooter game, with their own art and some of their own mechanics as well We used javascript and the p5.js library to do so and whats great about javascript is that everyone already had a javascript interpreter installed (a web browser) and kids could simply link each other's games and play them without downloading anything!
@fennecbesixdouze1794
@fennecbesixdouze1794 2 жыл бұрын
@2:40 The pyinstaller package is built for this kind of thing. There are other packages as well for creating standalone executables for Python applications.
@sys6997
@sys6997 2 жыл бұрын
I personally started with python and spent maybe a day being bored with it then stopped for maybe 2 years and started back up with C++ and assembly and I’ve genuinely enjoyed it
@lucidattf
@lucidattf 2 жыл бұрын
Personally, I think Processing or p5.js are both a great step above Scratch while remaining incredibly simple to learn. They have built in functions for drawing various shapes to the screen, or drawing images to the screen, just as Scratch does, but as it's a written language you still get to learn the syntax used in other languages. They're both, of course, just libraries, but Processing has its own IDE and p5.js has a web editor, so from the perspective of a child I think it's almost its own thing.
@TwiceEveryFourteenDays
@TwiceEveryFourteenDays Жыл бұрын
8:18 That fading text helped me focus on the next line and read more smoothly. works wonders with my ADHD
@JCake
@JCake 2 жыл бұрын
my personal opinion of "Is scratch transferrable" is absolutely. I started on scratch, or at least I started using it very early on (Indeed I was about 10). I'm now a competent programmer and have roughly 5 languages under my belt solidly, which I wouldn't have had if it weren't for my beginnings in Scratch. Scratch taught me the most fundamental concepts, such as what an atomic step is, or a variable. How work is done through a series of smaller steps. I admit it's not so directly related to traditional text-programming but it allowed me to understand what's required to break larger problems down into smaller ones. For that reason, I'd say I agree. Scratch is a great starting point. My 11-year-old sister is learning programming through scratch, and she's doing very well.
@lapatatadelplato6520
@lapatatadelplato6520 2 жыл бұрын
I started with 6502 assembly as a kid. That’s a remarkably good way to familiarize a kid with the way a computer works. If you want something more substantial, you can use basic. That’s easy to learn too.
@jg374
@jg374 2 жыл бұрын
I got handed a PICAXE microcontroller running a BASIC interpreter as my first experience with programming and interfacing electronics hardware with software some way through primary school. A few years later I was given an Arduino board, so learnt some C/C++ to program it (along with some slightly less terrible practices from BASIC). A year or so later a Raspberry Pi appeared, so I started with python and linux commands. Other languages came (and went) for other tasks I was wanting to do (simple unity games, timelapse photography with CHDK, electronic control and or monitoring of various systems). Uni has been a fair bit more formal in best practices and approaches, but having some experience beforehand is really useful.
@KenHolm
@KenHolm 2 жыл бұрын
This is a fantastic interview! My programming journey, beginning in 1982 with BASIC on TI-99/4A, through today where I teach a principles of programming class with Python at the University of Mississippi Medical Center, has allowed me to travel the path that Dr. Kernighan described: multiple languages, n+1 is easier each time to pick up, my stable of "on-hand" languages is five or six whereas I use two regularly. Great, great interview! Thank you, Dr. Kernighan for the insight. I feel that my path is somewhat validated. Thank you, Computerphile for connecting with these great minds. -Ken
@EntropicTroponin
@EntropicTroponin 2 жыл бұрын
I learned to program with Superlogo. It still has a special place in my heart.
@mausmalone
@mausmalone 2 жыл бұрын
One thing that you learn with Scratch that you usually don't learn until /much/ later in a traditional language is the notion of event-driven programming. Most traditional languages for beginners really hammer home the notion of a sequence of commands - you start at the beginning and you work your way through to the end. Scratch, right off the bat, expects you to pick up on an idle loop, code that executes in response to system events, and messaging between different objects using user-generated events.
@elfboi523
@elfboi523 2 жыл бұрын
My first language waas BASIC because every home computer had it back then. After that, I switched to Turbo Pascal under MS-DOS. I still like Pascal because it forces you to keep your source tidy, which is perfect for somebody with ADHD like me.
@hrclful
@hrclful 2 жыл бұрын
same journey as me, but my code was a mess and I used the `overlay` function of turbo pascal to swap my "procedures" in and out of memory because RAM was restricted. After that I learned C with the K&R book and I'm so happy to see a today's interview with him here. Given that CP/M -> MS-DOS and UNIX were all written in C this man is such an important figure in this whole development.
@Ornatelime
@Ornatelime 2 жыл бұрын
I learned the basics of programming using the khan academy Java script course. It has the instant gratification that makes it fun but without losing about learning about programming syntax.
@spencersmith7124
@spencersmith7124 2 жыл бұрын
I work as a programming instructor and in my experience the Processing IDE with Java or Python is an excellent tool for kids to work with.
@waasar
@waasar 2 жыл бұрын
I think Javascript is a fitting first language. It being loosely typed, extremely easy to set up in its most basic form, and having easy access to all kinds of visual output through a browser. The ecosystem is also expansive, with many potential directions to grow in.
@Nikifuj908
@Nikifuj908 2 жыл бұрын
I agree; I'm surprised it wasn't mentioned.
@arscon
@arscon Жыл бұрын
I'm going through this with my kid right now. He's been using Scratch for about a year and is starting to see its limits (and asking the same questions Kernighan alludes to at the beginning of this talk.) As a die-hard C/C++ developer with decades of experience, I initially thought Python would be good if my kid was older (he's 8.) As he gets more into using websites, started tinkering with 'Inspect' and other Developer Tools. Based on that I've kinda switched my thinking over to JavaScript. It's just so much easier to share your work and is visually more immediate vs. Python. But after JS, Python is my next choice though I think he'll be knowledgeable enough to start choosing his own path by then!
@the_number_e
@the_number_e 2 жыл бұрын
I'm a C++ and Python programmer mostly nowadays, but the university I went to started us off with Racket (a functional language, dialect of Scheme), and I really think that's the way to go. Racket is very simple and regular. Python has too many gotchas and it's too easy to make subtle mistakes.
@defnlife1683
@defnlife1683 2 жыл бұрын
Lisps are just elegant and help you think differently.
@akiraigarashi2874
@akiraigarashi2874 2 жыл бұрын
Python has no where near as many gotchas as languages like C or C++ tho
@nicholas_scott
@nicholas_scott 2 жыл бұрын
@esgibtzuvielenamen We also started with C in the early 90s. In later years, they started pushing java, since it has a better learning curve, but they have gradually switched over to python as the "entry" level language that is actually useful. They has usually been a general avoidance of "learning languages" like basic, since they tend to teach bad habits, and you hit too many walls
@the_number_e
@the_number_e 2 жыл бұрын
@@akiraigarashi2874 I don't want to start a rant, but I've had a far worse experience with Python. Mutability, dynamic typing, and Python's scoping rules is just a perfect storm of easy-to-make errors.
@akiraigarashi2874
@akiraigarashi2874 2 жыл бұрын
@@the_number_e I just don't think those will get in the way of someone just learning programming
@tau93
@tau93 Жыл бұрын
I've been developing full stack for 3ish years and I started with Scratch 11 years ago when it was at version 1.4 Squeak. It definitely has transferrable skills
@sweepingtime
@sweepingtime 2 жыл бұрын
I’m doing c++ for a course. It’s truly hell. Any beginner program language has to be able to teach beginners the core concepts that can apply across languages, because you can do a lot more if you are sure of the concept as opposed to trying random things until you get it right by accident.
@imp.r
@imp.r 2 жыл бұрын
Maybe Python for 13+? You kinda need that immediate visual feedback for younger kids, so Scratch.
@shambhav9534
@shambhav9534 2 жыл бұрын
The feedback absolutely does not need to be visual. Just the simple ability to ask for one's name and greet the name provides immense mental reward. Talking as someone who did Batch at 9 years old.
@timng9104
@timng9104 2 жыл бұрын
Arduino got me into coding, clear feedback, LEDs transistors logic, so I think C is pretty pivotal in my path.
@abdullahabd7677
@abdullahabd7677 2 жыл бұрын
My son was 4 years old when the pandemic started. So, I got him started with Rust and Haskell and bought him a copy of Clean Code. He is now 6 and has founded a machine learning web3 startup that is backed by YCombinator, a16z, founders fund and the Gates Foundation. The company is currently valued at 3.7b.
@Focom99
@Focom99 2 жыл бұрын
I did the same before the age of 5. Reading about FIRE at 4 made me setup a rocket ship to settle my self by 6. I succeed at 5 so now I coach other 5 and below achieve the same.
@exelmans8855
@exelmans8855 2 жыл бұрын
Im the real programmer of Facebook. I was 3, Zuckerberg stole my work and my sandwich.
@Neceros
@Neceros 2 жыл бұрын
I started "programming" as a kid in basic. Moved to visual basic during the 90s, then html, php, python, C#, etc. The thing that really got me into programming was designing maps in games that allowed scripting -- like StarCraft and WC3. That gave me the drive to do it and want to learn real coding. I think Scratch maybe be a similar pathway.
@clickrick
@clickrick 2 жыл бұрын
To a professional programmer, moving from one language to another is less of a challenge than moving from one company's "core" or "infrastructure" library of supporting functions - and then coding style - to another's.
@smile4cs
@smile4cs 2 жыл бұрын
I think that Scratch is a great tool for learning the high level problem solving concepts in programming, whenever I moved from Scratch to Python the largest barrier was the syntax (which was also pretty easy to pick up imo)
@rustymustard7798
@rustymustard7798 2 жыл бұрын
I found scratch and other code block type languages are great for fleshing out visual ideas quickly, prototyping and testing simple design ideas and concepts. It's easy to drag a few blocks around and in a few minutes have something resembling a game. Then when coding in a more powerful language and doing actual AI beyond canned demo responses you already have a better idea of the direction and a library of assets ready to go. I haven't been coding in a while, i'm doing 3d modeling these days but when i did, i threw away 9 out of 10 scratch projects and put time into the one i liked in python or other language. And that's how i found it useful, as a literal 'scratch pad', back of the envelope phase of design beyond it's utility as an education tool. You might design something with a sharpie on a napkin but that's not the blueprint you use to say, build a bridge. Same with scratch, a great way to say 'this is my basic idea, we should fill in the details and make it work'
@jf3518
@jf3518 2 жыл бұрын
I programmed as a child alot in Warcraft 3. It has its own World Editor which implements its own scripting language (called JASS) and a visual representation and editor to build programs from visual blocks. It was really good and I can still recommend it. You could transform the visual representation of the code into the actual script language and extend the functionality with it above the visual tools.
@John-pe6fw
@John-pe6fw 2 жыл бұрын
I started with smallbasic when i was 10 or something (now a 4th year software engi). More programming-esk than scratch, quicker gratification than python; a great starting point before progressing to Java.
@arik_dev
@arik_dev 2 жыл бұрын
Hey Brady, what's your motivation for making these videos? I was just thinking as I watched this, you mentioned that you're not a programmer, but you spend a lot time creating content that is highly educational about programming. What is it about computerphile, numberphile and your other channels that drives you? Would really love to see a video about that!
@DanielElliott3d
@DanielElliott3d 2 жыл бұрын
Another contender would be Unreal Engine's Blueprints. It's visual programming like scratch but much more closely aligned with programming languages. It has functions, arrays, maps/dictionary, loops, variables etc. Just more accessible to young programmers potentially. And the subject matter (games) is arguably more appealing than just printing to the console.
@Ryan-in3ot
@Ryan-in3ot Жыл бұрын
with addons like turbowarp and scratchattach, there is a much higher ceiling to scratch than there used to be. And if you are in to working around harsh limitations there's something quite satisfying to creating advanced projects in scratch. Almost like you're back in the 90s and everything must be tightly optimised.
@nochan99
@nochan99 2 жыл бұрын
Roblox Studio. It has Lua and kids that age play Roblox and would have huge motivation from showing of their own creations to friends. Distributable, large ecosystem, transferrable knowlege, easy to get started and no "cap". Hell kids can even make money of their creations, as monetizations are built in to the platform. You can sell items inside your games.
@squishrabbit
@squishrabbit 2 жыл бұрын
Construct (the game engine) is a great environment for kids. It's non-scary to get into, has a simplified scripting system, and you can get something on the screen very quickly - but you can also get into advanced features depending on your skill level. You can do for/while loops, arrays, variable scoping, etc. It's a great primer for programming proper.
@illegalsmirf
@illegalsmirf 2 жыл бұрын
Definitely start kids on C. They should be proficient in pointers and memory management by the time they are 10.
@thegenxgamerguy6562
@thegenxgamerguy6562 Жыл бұрын
Kernigham is one of the most influental people in what we call "IT" today. His contributions can't be overestimated.
@lunalildragon241
@lunalildragon241 2 жыл бұрын
I used to learn many programming languages, but at a certain point i noticed for most situations python or typescript are more than enough. My recommendation: step 1: start with any programming language (recommended ones: python, typescript) step 2: test stuff inside the shell of that language (if the language doesn't have a shell you can skip that) step 2: start a simple projects that wakes your interest. do not start with game development! (examples: chat bot, api for your loved game/activity) step 3a: look youtube videos about your programming language for 10 minutes a day. step 3b: look out for github issues every day and if you think you can help somewhere then you just do it. step 4: with your confidence and new knowledge you work further on your project. step 5: if your project is done (of course you should maintain it) you now can decide if you want to learn a new language (go to step 1) or make a new project (go to step 3) The best way to learn programming is to just program something, if you want you can become decent in many languages like me or master a language to it's fullest potential. At the beginning you will find videos for everything, meaning that the entry barrier is very low. To master a language tho, you have to read the documentation of the language for any aspect till you have a skill set, containing skills that can't be explained in simple 5-10 minute tutorials. If you learned enough languages you can actually learn the entire language from the documentation, that's the reason why in the end i don't care about what language i have to use. ps: avoid at the beginning you should stackoverflow, grow by yourself and not by copy-pasta
@AndrewTSq
@AndrewTSq 2 жыл бұрын
As a kid we learned machine code, and assembler.. since basic was too slow. I would recommend Javascript today for kids. Easy to learn.
@mileswilliams527
@mileswilliams527 2 жыл бұрын
Java and the Processing framework or JavaScript and P5.js would be my recommendation. Provides the instant gratification of visual feedback and graphics while also providing real world skills worth languages that are industry standards.
@Thezuule1
@Thezuule1 2 жыл бұрын
My 8 year old has been working with Scratch and Roblox Studio and we were planning on moving to Python next. Glad to know we're on the right track.
@luisricardodiaz1538
@luisricardodiaz1538 2 жыл бұрын
Snap! A programming language inspired by scratch with many add-ons like operator and variable blocks amongst many more seems to me to be the best programming language for kids to start programming. A curriculum has also being built around it named BJC “Beauty and Joy of Programming”.
@ScBroodSc2
@ScBroodSc2 Жыл бұрын
Something not included here are game's editors such as Warcraft 3 or StarCraft 2 for example. You can manipulate the game and have immediate effect and learn concepts quickly too. You don't need to create the environment, units, animations, etc, that's all the game handling it, you just use triggers to do some actions and learn concepts around "Events, variables, conditions and actions". The SC2 editor is complex enough to do some very advanced stuff but simple enough to learn it.
@arkadianriver
@arkadianriver 2 жыл бұрын
The guy on The Coding Train uses p5.js, which seems great for instant visual feedback. Looks more for Jr High at least though.
@akagranderojo
@akagranderojo 2 жыл бұрын
I started with C in high school in the mid 2000s. Had no idea what I was doing. It was part of some robotics book that the teacher had laying around.
@alainterieur5004
@alainterieur5004 2 жыл бұрын
the legend's still alive
@juliusbecker8451
@juliusbecker8451 2 жыл бұрын
One thing that came to my mind is big plus for scratch. It can be translated so it stays intuitiv. if you know english an if-statement makes far more sense than to a child speaking a different language.
@le3336
@le3336 2 жыл бұрын
Whatever they enjoy is the best since it creates consistency
@rhohoho
@rhohoho 2 жыл бұрын
fwiw, I worked through "The Go Programming Language" book briefly mentioned here, and found it a fantastic resource.
@ProvAlex
@ProvAlex 2 жыл бұрын
Prof. Kernighan is just a treasure
@alamagordoingordo3047
@alamagordoingordo3047 2 жыл бұрын
Incredible Kernighan don't know about about the possibility of relase a "frozen binary" in python for resolve the necessity of having the python interpreter installed !!!
@TehVulpez
@TehVulpez 2 жыл бұрын
I think inspect element is the modern equivalent to the BASIC prompt in terms of accessibility to programming. Sure it doesn't give you absolute control over your computer like the 8-bit ones did, but pretty much any computer has a web browser. Any kid can start messing with CSS rules and immediately see results, without breaking anything permanently. Then the javascript console is right there in another tab if they want to delve deeper into programming.
Coffee with Brian Kernighan - Computerphile
28:31
Computerphile
Рет қаралды 191 М.
Reverse Engineering - Computerphile
19:49
Computerphile
Рет қаралды 185 М.
Running With Bigger And Bigger Lunchlys
00:18
MrBeast
Рет қаралды 41 МЛН
Остановили аттракцион из-за дочки!
00:42
Victoria Portfolio
Рет қаралды 3,4 МЛН
How Strong is Tin Foil? 💪
00:26
Preston
Рет қаралды 94 МЛН
АЗАРТНИК 4 |СЕЗОН 3 Серия
30:50
Inter Production
Рет қаралды 977 М.
Python Sudoku Solver - Computerphile
10:53
Computerphile
Рет қаралды 1,2 МЛН
God-Tier Developer Roadmap
16:42
Fireship
Рет қаралды 7 МЛН
How to Teach Kids to Code | Bryson Payne | TEDxUNG
15:17
TEDx Talks
Рет қаралды 96 М.
Model Driven Software Engineering - Computerphile
14:12
Computerphile
Рет қаралды 94 М.
Breaking RSA - Computerphile
14:50
Computerphile
Рет қаралды 360 М.
20 Programming Projects That Will Make You A God At Coding
14:27
The Coding Sloth
Рет қаралды 1,1 МЛН
What's The Longest Word You Can Write With Seven-Segment Displays?
8:56
I've Read Over 100 Books on Python. Here are the Top 3
9:26
Python Programmer
Рет қаралды 354 М.
Running With Bigger And Bigger Lunchlys
00:18
MrBeast
Рет қаралды 41 МЛН