Тёмный

Jonathan Blow on how he Learned to Program 

Jonathan Blow Clips
Подписаться 7 тыс.
Просмотров 15 тыс.
50% 1

Support me on Ko-fi: ko-fi.com/jona...
Jonathan Blow on how he Learned to Program
Clip from Jonathan Blow
Twitch: / j_blow
RU-vid: / @jblow888
#jonathanblow #gamedev #webdevelopment #programming

Опубликовано:

 

4 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 47   
@dailydoseofeverything7141
@dailydoseofeverything7141 9 месяцев назад
This is the clip I've been looking for. I've been learning assembly and basic because it just seemed to me that it was simpler and to the point back then and that's why the programmers were so much better.
@JrIcify
@JrIcify 9 месяцев назад
Our definitions of easy and hard with programming are missing 99% of the picture. Supposedly python is easy because the language itself is so easy to read and write. But it's a long road to get there with 2023 python. I still struggle to get the right pip and use it. The last time I tried using python, it was refusing to let me install a single module unless I made a virtual environment, but at that point I couldn't be assed to even find out what that would entail. Compiling C with a makefile is not exactly my style either but the realities of that are easy compared to the realities of python.
@Pedro-jj7gp
@Pedro-jj7gp 9 месяцев назад
​@@JrIcify not to be a douche, but it sounds like a skill issue. Python is certainly on the easy side. Makefiles are harder t get into than setting up virtual environments too. Tbf, an environment isn't even mandatory, it's just good for package management per-project.
@JrIcify
@JrIcify 9 месяцев назад
@@Pedro-jj7gp You're right that it's a skill issue but it's not a skill I care about having. If there's a full on server deployment already running jupyter notebook and everything that's fine but I'm not interested in making individual applications with python anymore. It mutated away from that.
@Pedro-jj7gp
@Pedro-jj7gp 9 месяцев назад
@@JrIcify And that's cool! That's the beauty of it, the field is so vast we can pick & choose what technologies and fields to specialize in. But I'm just saying, if it's not even a field you know or are interested in, it's probably best not to come to conclusions. It's easy to misjudge what we don't know.
@Pedro-jj7gp
@Pedro-jj7gp 9 месяцев назад
@@JrIcify Also, in relation to your original comment I believe you're missing the meaning of what "easy" means in this context. Python is easier than C or Assembly. That is not to say it is simple, the ecosystem can be complex (it relies on different tools like you point out). There's a line between easy vs hard and simple vs complex.
@guruware8612
@guruware8612 9 месяцев назад
my 1st program was 6800 assembly on paper, translating that to byte-code, then burning each byte to an eprom for testing. burning was done by flipping switches for each bit to tun on, then hit another big button to 'burn' that byte. after hours of work you ended up with a small proggy, which (most of the time) didn't work. basic came some years later, but a basic basic by punching holes into punched cards, then feed into a card reader (in correct order), transferred to a magnetic band station - no harddisks or floppys. that was "fun" this was the time we learned how computers work, on hardware level, know what cpus/memory/bus/interrupts/ect. do and NOT to use all available resources. now people are afraid of pointers, or think they are developers when clicking together webpages with wordpress, so cute :)
@CallousCoder
@CallousCoder Месяц назад
I guess this is why I still fire up the C64 and develop in 6502 assembly, albeit with a modern assembler and UltimateII cartridge to forsake on tapes/floppies. But the directness and understanding every aspect of the hardware, is so much fun.
@__kvik
@__kvik 9 месяцев назад
Back then it was *rad* to make a computer print something at you, let alone if you knew to do some basic graphics to make a primitive game; hell, it was cool to even just know someone who had a computer that you could watch do stuff with it... These days however, kids are born into a very different world, one that's overflowing with all sorts of crazy software and hardware which they learn to use from pretty much the year they are born. Naturally, it's gonna be that experience which determines their baseline wow factor and possibly motivate their desire to experiment with making software themselves. I suspect a red pixelated circle isn't likely to motivate many.
@IDontReadReplies42069
@IDontReadReplies42069 9 месяцев назад
You're not trying to make it seem like it was easier to learn in the 80's and 90's are you?
@__kvik
@__kvik 9 месяцев назад
​@@IDontReadReplies42069 Depends. It was definitely harder in some respects since you couldn't fall back on millions of tutorials, books, videos, etc. that we have nowadays; you often had to have known "a guy" that would give you some limited help but from then on it was just you and the machine. However, you only ever needed to care about that one, single-purpose machine, which had like a BASIC and a simple assembler. If you learned that and read the relatively short hardware manual you were well on your way to actually master everything your machine can possibly do. Contrast that with today, when it's impossible to even carry a CPU manual due to its weight -- not that it matters anyway because it's written in hostile computer legalese that's impervious to learning attempts from a beginner; when there's quite literally thousands of aggressively competing tools, standards, ecosystems to make programs of some description with. How does a beginner navigate this hell? I've no idea, but I suspect now, more than ever before, having a strong mentor is essential. I suspect that's why people love watching Jon and other people who know to hold an actual opinion (however imperfect their personalities or opinions may be) which cuts through the bullshit and gives /some/ ground to stand on.
@IDontReadReplies42069
@IDontReadReplies42069 9 месяцев назад
@@__kvik Well a beginner for starters is not reading though a CPU documentation trying to lean about the chips registers, a beginner is going to be doing leet code problems and using chat gpt to teach them the whole time. It's infinitely easier than its ever been to learn code.
@__kvik
@__kvik 9 месяцев назад
​@@IDontReadReplies42069 I could probably agree that it's a bit easier just to get your code feet wet, though not by that much, if only because of decision paralysis due to so many different and often low quality pathways you are faced with. However, I was talking more from the perspective of someone whose eventual goal is to attain deep mastery of the machine and the tools of the trade. I still claim that was an infinitely easier thing to try and do back in the days of yore than it is today.
@IDontReadReplies42069
@IDontReadReplies42069 9 месяцев назад
@@__kvik There I will 10000% agree with you, that new coders are definitely tricked into thinking that web development is the only thing that exists. And I will admit, I have no idea how to navigate that space, it's weird when learning about OS's is less confusing than navigating the thousands of frameworks and programming paradigms.
@ar_xiv
@ar_xiv 9 месяцев назад
very jealous of gen X where learning Basic was very common for youngsters. My brother had this same experience. There is no equivalent for this now as far as I know. Maybe high schoolers do some arduino stuff, but that's probably only if you're in a special program.
@IDontReadReplies42069
@IDontReadReplies42069 9 месяцев назад
Yeah, but they didn't have chat gpt to explain every syntax error to them, they'd have to give up often because you can't ask a programming book a question. Even the internet wasn't ubiquitous. So lol if you think the reason you're not a rockstar programmer is because of the time you were born (better not be the case).
@civilroman
@civilroman 9 месяцев назад
@@IDontReadReplies42069 agreed, like homie you can still learn BASIC...
@TypingHazard
@TypingHazard 9 месяцев назад
It wasn't *that* great. I grew up learning AppleBASIC in a very dumb way, though I got the idea of IF THEN and looping over arrays (uh, DIMs, in AppleBASIC, though I'm sure there are differences between arrays and dims) I could go to the library and get a book about programming but they were always one-off; it'd be some version of BASIC that was close to AppleBASIC but different enough that I couldn't actually follow along. And if I *did* get a book that was directed at exactly my version of BASIC, it wasn't necessarily helpful or very instructive; a program might end with a series of DATA declarations and the book would gloss over the whys and what-fors and just say "doesn't make sense, all these DATA statements followed by numbers, right? Don't worry! Just follow along and add this stuff. It makes the program work." Eventually I stopped trying to advance my knowledge, for all the frustration of mismatching versions and lousy instruction. It wasn't until I was in my mid 20s that I found online resources to make coding make sense again, and by then it was stuff like Codecademy and Learn Python the Hard Way.
@ar_xiv
@ar_xiv 9 месяцев назад
@@TypingHazard that sounds about right based on what I know. I grew up messing with Claris Works and early internet stuff instead so maybe I’m not so jealous after all. And no, other commenter, I don’t think my lack of learning basic prevented me from being a “rockstar programmer” lol. I also don’t think chatgpt is necessarily going to produce better programmers…
@zhulikkulik
@zhulikkulik 8 месяцев назад
I think one of the greatest things we have now is that we can emulate computers of that era and run those programs on them. And because of how much hardware advanced - it will run even faster than original users could dream. There's this DOSBox thing, that lets you run any DOS program. Including something like Turbo Pascal or Turbo C. Write and compile the program with it. And run it in the same emulator. And the iteration time is much shorter, because it doesn't have to physically burn it to floppy or write to an ancient hdd, it just saves a file to the folder you tell it to save to and then runs them from there. I think there's an emulator for pretty much anything you can think of - i486 & DOS, Apple ][, Amiga, ZX Spectrum, etc.
@perfectionbox
@perfectionbox 9 месяцев назад
The eastern philosophers would probably say "you had it great, but then desired to do more, and desire is of course the root of unhappiness." And now our computers are very powerful and connected but also complex. It's my hope that somehow we can tame this complexity and abstract it to nicer levels.
@ShadowKestrel
@ShadowKestrel 9 месяцев назад
this is one of the big reasons i wish lua was more popular (yes it's 1-indexed, yes it keeps catching me out, but still). With python, js, or whatever language you want to teach, sure, you can pretend it's a simple language for a hello world kinda program. But especially if you want any kind of ecosystem interaction they're absolute monstrosities of spaghetti under the hood (i couldn't list all the things that make the snek angy if i tried, and the web API specs are bigger than POSIX). Meanwhile the lua interpreter is *a few hundred kilobytes of executable*. The datatypes are number, string, boolean, function, table. It is one of the simplest, most performant, and most integratable dynamic languages available. Sure, the prototypes system is... a thing. But if you just want to skip all the nonsense and start breaking down complicated problems into lines of code, it's one of the quickest launchpads to just make stuff work.
@thunderstein5041
@thunderstein5041 9 месяцев назад
if u don’t mind, what would be your recommendation on how to start? should i try lua? i don’t know much about it. should i start with the very basics , maybe even go the cs route?
@NeonGreenT
@NeonGreenT 9 месяцев назад
Dude those clips blow recently!
@timstevens3361
@timstevens3361 5 месяцев назад
radio shacks early computers were very good ! they also sold technical reference books for them which were also good. you could cut out sections of the mother board and splice in your own hardware. if that was your thing.
@ifstatementifstatement2704
@ifstatementifstatement2704 9 месяцев назад
I started with Basic too, when I was 10 in 1995. Then Pascal, then VBA, Python, C++ and Java. C++ is my favourite. Python a close second.
@arturwelp1877
@arturwelp1877 9 месяцев назад
At first, when I was 12. I could not install the JDK or make sense of what that was. So I gave up, even my father being a programmer, but he was very busy to spent time with me, and also, COBOL is not the best language for a kid to learn programming
@andyjurko75
@andyjurko75 9 месяцев назад
That's very similar to my experience. But these days most of what programming is about, it's not even closely related to all the baggage you have to learn to even approach programming. Yes I had to learn some of it too by necessity, but OMG, it just shouldn't be this way, its crazy.
@xealit
@xealit 2 месяца назад
"its was very simple cause and effect. You type in commands in the _Basic_ programming language, and then these things happen" - you did not even need to learn how the processor works and how the memory is managed!
@andrewdunbar828
@andrewdunbar828 9 месяцев назад
Wrong thumbnail. A TRS-80 Model 1 is not a TRS-80 Color Computer. 1977 vs 1980. Zilog Z80 vs Motorola 6809. Black and white vs colour...
@RuukuLada
@RuukuLada 9 месяцев назад
my first formal teaching was java, i think that’s served me well
@calebcasual
@calebcasual 7 месяцев назад
How would you recommend someone learn programming nowadays?
@franciscofarias6385
@franciscofarias6385 6 месяцев назад
In C
@woddlyoats
@woddlyoats 4 месяца назад
Figure out what you want to do then Google how to do it then continue until you know how to program
@jupiterapollo4985
@jupiterapollo4985 3 месяца назад
I would recommmend parents buy their kids a raspberry pi. It's not the same as back in the day where you had to interact with computers in basic and you basically learned programming from there, but It's still a decent, focused alternative. With the Pi the kids will have to setup the OS and have multiple things that they could potentially turn it into. Gives them a pretty good learning experience.
@jupiterapollo4985
@jupiterapollo4985 3 месяца назад
@@franciscofarias6385 Starting to learn programming with such a low language like C would be a bad experience for most beginners. I know it gets hated a lot, but I would highly recommend Python (or maybe golang) as a first programming language. You can get most things done in there, and it will help you understand how a computer reads instructionis without all the BS of lower level languages. The idea of a Interpreted or compiled languages are irelevent here, this is all about a learning experience. Once you get to a certain level where you want to do more specialised things, you can delve into lower languages like C or C++ (granted nothing can really prepare you for the world that is C++ lol).
@AlesNajmann
@AlesNajmann 9 месяцев назад
omg ❤
@system76-panda
@system76-panda 9 месяцев назад
Can you give some concrete examples to add more evidence to your rant?
@TurntableTV
@TurntableTV 9 месяцев назад
Modern languages have layers upon layers of abstractions which prevent you, as an aspiring developer, to really know how your program interacts with the memory and the CPU. Modern hardware and its exponential growth made it way easier for the software industry to disregard these essentials in favor of having a larger pool of developers. Why? Let's be real, how many of the java or C# devs really know how their programs interacts with the hardware layer? Not many, that I can tell you. And you might ask: why do they want to even know that in the first place? Well, let me put it this way: building software without knowing what it does to the hardware is like trying to develop a tall building on a surface that you don't know anything about.
@glowingone1774
@glowingone1774 9 месяцев назад
can you show where john touched you?
@Friskni
@Friskni 9 месяцев назад
@@TurntableTV I think the analogy here not fair. Building software for modern day web businesses is more like an interior designer in one apartment of the tall building you described, they can still make a pretty apartment without knowing what surface the building is on. I think this stuff is just all grumpy old man stuff. Heres the facts, like all specialisms in this world become more complex and bigger than a single individual. one man cannot know everything, even if he tries. We depend on teams and documentation and contracts. you must accept that the programmers that you are attempting to invalidate do have their place in this world, yes you know more than them, but they are still being productive in their businesses. Well done.
@sumofat4994
@sumofat4994 9 месяцев назад
@@Friskni The facts are things have gotten overly complex for no "good" reason. Mostly business market reasons not technical.
@RaZziaN1
@RaZziaN1 9 месяцев назад
That's true but there is one problem here. You are comparing low level language learning and high level abstraction made mostly for web applications.. That's why there is distinction. And Jonathan is not good example for web developer (even though u might agree with his points of js being too obtuse) because he works with low level stuff. Apples and oranges..@@TurntableTV
@fntr
@fntr 9 месяцев назад
I wonder what his stance on React is
Далее
The most important talk on programming by Jonathan Blow
22:55
Jonathan Blow on Simplicity
16:08
Просмотров 62 тыс.
Jonathan Blow on Designing a Particle System
9:51
Просмотров 11 тыс.
Jonathan Blow was right about the crash of "tech" jobs?
14:11
How to Plot in Julia
6:42
Просмотров 9 тыс.
Vim Tips I Wish I Knew Earlier
23:00
Просмотров 68 тыс.
Being Competent With Coding Is More Fun
11:13
Просмотров 89 тыс.
Jonathan Blow on work-life balance and working hard
19:18
How Fast Can I Fill My Inbox?
13:30
Просмотров 323 тыс.
The Witness Documentary
47:59
Просмотров 666 тыс.
Jonathan Blow on how an operating system should work
14:22