Jonathan Blow on Deep Work: The Shape of a Problem Doesn't Start Anywhere

  Рет қаралды 134,750

On Doubt

On Doubt

6 жыл бұрын

Support the project ► / on_doubt or ► www.paypal.me/ondoubt
(Chapter markers below) Jonathan Blow talks about his life-long interest in programming, and how it is influenced by focus on craft, improvisation and intuition. He talks about the deep work required to manage complexities and create meaningful work - both as game designer (Braid, The Witness) and as designer of a new programming language (Jai).
CHAPTERS:
* About Programming: Craft, Improvisation & Intuition (4:01)
* Establishing a Programming Language: JAI (12:27)
* Finding a Balance: Beyond Beauty and Simplicity (15:21)
#ondoubt publishes videography portraits with creative minds of all fields. Support it by subscribing to this channel, or at / on_doubt
Special thanks to Siolo Thompson and Andrew Ko. Recorded in Seattle, October 2017. Thanks to all project patrons: Patrick Tejada, Adam Nogueira Hadar, Matthias Glöckner, leafthief, MidiRiots, Andreas Varga, Ted Lemon, Black Heart Press, Lukas Kalmar, Philippa Shepley Annamaria Kowalsky, Matej 'Retro' Jan (Retronator), Dean Jürges, Phil Dougherty - and my parents: Leo & Angelika Bazant-Hegemark.
(c) Christian Bazant-Hegemark

Пікірлер: 163
@calrsom
@calrsom 5 жыл бұрын
I highly respect Jonathan Blow. He is honest, practical, and expresses his thoughts eloquently.
@pythonxz
@pythonxz 6 ай бұрын
Most of the time. He tends to be a bit arrogant.
@silverquick32
@silverquick32 6 жыл бұрын
When he says "this one is hard to explain..." you know the best part is coming. Valuable insights
@Spookyhoobster
@Spookyhoobster 4 жыл бұрын
This is a problem I have whenever I have to do programming for other people, and I think it's that has sunk it's roots into how the modern economics works. The problem being the "reasons why you shouldn't make a programming language" kind of mindset. Everything today revolves around reaching some arbitrary short term turn around time for the sake of growth. Forget about trying to actually make some sort of innovation or rooting out some inefficiency, just keep things afloat and don't rock the boat. Which is so weird. I always saw the birth of "modern tech" as a bunch of nerdy-ass cowboys taking risks, but nowadays it either feels so far from that, or a sort of "fake" version of it.
@NihongoWakannai
@NihongoWakannai 3 жыл бұрын
Companies like making money and avoiding risk, who'da thunk it
@Nersius
@Nersius 3 жыл бұрын
@@NihongoWakannai Except they can be so short-term and self destructive in their thinking and mindlessly follow degenerative standards.
@NihongoWakannai
@NihongoWakannai 3 жыл бұрын
@@Nersius long term thinking doesn't benefit you when the long term never comes. It's easy to sit back from your armchair and think "wow, this company never thought about their plan past 5 years" but that may be because that entire time they were figuring out how to even last 5 years in the first place.
@Nersius
@Nersius 3 жыл бұрын
@@NihongoWakannai I don't just mean it in terms of years, but mere months. Companies will make dumb decisions just so that their quarterly results will look better.
@rabbitcreative
@rabbitcreative Жыл бұрын
> Forget about trying to actually make some sort of innovation or rooting out some inefficiency, just keep things afloat and don't rock the boat. I feel this. I rocked the boat. Unemployed.
@thoughts0utloud
@thoughts0utloud 2 жыл бұрын
I always come back to this video. I don’t know anything about programming. This just applies and helps me with my own creative process.
@OnDoubt
@OnDoubt 2 жыл бұрын
Thank you! 🖤🖤🖤
@jakesmith579
@jakesmith579 Жыл бұрын
I love hearing Jon speak because when he talks about programming or development he never names off any projects, languages, software, operating systems... only the point he wants to make and the words you need to hear!
@drcx3
@drcx3 4 жыл бұрын
This guy is pure genius. You might like or not what he says, but you can't avoid admiring him. We definitely need more people like him.
@TheVnom
@TheVnom 6 жыл бұрын
I know the feeling. Doing math, sometimes you look and just start computing. After 30 mins of writing towards the goal, youve computed or proved what you needed, but you need to reread yourself to understand what you did. Its like the unconscious takes over.
@OnDoubt
@OnDoubt 6 жыл бұрын
This happens in a lot of disciplines apparently - independently of the field their in, interviewees for this channel have mentioned it.
@Petru228
@Petru228 6 жыл бұрын
I believe it's what they call flow.
@abigguy8364
@abigguy8364 5 жыл бұрын
Kurt Vonnegut said in an interview (when he was like 80yo) that he'd sometimes look back at his 1970s work and just think "How the hell did I do that?"
@Maccelerate
@Maccelerate 4 жыл бұрын
Plato called it the world of Forms. Heraclitus called it Logos. Gnostics call it the Akashic Records. Christians call it the divine mind of God.
@oldsoul3539
@oldsoul3539 4 жыл бұрын
This should have been called "Jo Blow on Flow"
@bilinguliar
@bilinguliar 2 жыл бұрын
Jo Blow on Flow as described by Old Soul.
@wessmall7957
@wessmall7957 6 жыл бұрын
Jon motivates me to never give up on game development. He is a revolutionary. The future is bright.
@dacealksne
@dacealksne 5 жыл бұрын
yes. he made 2 games, which nobody would have bought if not for the artists. artists didn't made millions though, they got shitty wage. this is truly revolutionary bright future.
@OnDoubt
@OnDoubt 5 жыл бұрын
Why the hate? Someone has an idea, hires an artist, pays the artist. It seems like a very basic, straightforward way of making business.
@bogdang8759
@bogdang8759 5 жыл бұрын
@@dacealksne do you know for a fact that the artists got way less money than Blow himself? Or are you speculating?
@shavais33
@shavais33 4 жыл бұрын
​@@dacealksne I don't think I quite share your hate but I absolutely agree with your general point. I'd like to see a practice arise of putting together teams of workers that share very substantially in the after expenses revenue from commercial efforts in general. While I recognize that experience does show that 1 person in 1,000 really puts in the necessary energy and effort to make a substantial success of a given money making effort, and the results of the efforts of those relatively few people end up feeding just about everyone else, I still don't like the hierarchical way in which our society organizes private ventures. I'd like to see a rise of more leaderless round tables, more consensus based decision making, and more revenue sharing models that puts the most money in the hands of people who are voted by the entire involved group as being perceived to have contributed the most value to the effort.
@Lestibournes
@Lestibournes 4 жыл бұрын
@@dacealksne an artist could hire programmers too. It's a question of who has something he wants to get done and willing to pay for it, and who's willing to take up the offer. Everybody wins. Envy is destruction.
@TheR971
@TheR971 5 жыл бұрын
6:30 That's one of the best explanations of what programming and, to an extent, math feels like.
@baptistelasbats3952
@baptistelasbats3952 4 жыл бұрын
a guy with vision, he knows what he's trying to make, and puts all his effort in accomplishing the core goal that matters in his work. This is what's lacking in many games currently
@PaulFurber
@PaulFurber 2 жыл бұрын
Ah, getting into The Zone. Well understood in many contexts but the depth and intensity of it when coding is on another level.
@romaingauthier2653
@romaingauthier2653 5 жыл бұрын
So far most of the criticism I've come across towards Jai is criticism towards Blow himself and is along the lines of "As a programmer with 30+ years of experience, I don't like Jonathan Blow and his games, so this language will fail". Complete ad hominem. I think he's designing Jai from a place of necessity but also humility.
@OnDoubt
@OnDoubt 5 жыл бұрын
Thanks for your comment, Romain. I think you nailed it perfectly!
@Muskar2
@Muskar2 Жыл бұрын
Late reply, and I don't work in the game industry, but I think there's valid criticisms of Jai. I've heard several people say Jai's downfall may be release timing - and that competitors like Zig will beat it for that reason. Jonathan Blow is definitely smart, and I'm glad both that he exists and that he likes sharing his coding adventure so publicly - but I also think he sometimes makes design assumptions (and broad industry claims) based on selective notions of software history and limitations. And I think, like many entrepreneurs, he needs to get better at delegating work at scale, if he wants to make something that has a bigger impact. Much of his work seems a bit niche - which is fine, if that's his goal - but I don't think it is.
@7th_CAV_Trooper
@7th_CAV_Trooper 5 ай бұрын
As a programmer of 30 plus years I identify with Jonathan and love that he sometimes challenges my beliefs. Jai might succeed and 8f it does it's because Jonathon is awesome.
@____uncompetative
@____uncompetative 5 ай бұрын
@@7th_CAV_TrooperJonathan is fundamentally making the wrong thing (a language where the programmer's fine grained control of memory management is of primary concern). If he was having fun doing this (and not hurting anyone else), then that would be fine, but although him making Jai isn't hurting anyone else it has cost him $20,000,000 which he will not recoup from his pathetically dull block-pushing puzzle game _SOKOBAN._ I watch some clips of his Twitch programming streams and he is often infuriated. He doesn't seem to be having fun. I hope he doesn't get dragged into superfluous feature creep by listening to the impractical wish list of his beta users. AoS DoD with non-boustrophedonic declarations and type inference and dynamic memory in static arenas which free as you exit the activation record of referentially transparent functions that can return multiple values and a success/failure state would be of some utility, but quasi weak Rust memory ownership with fail-if-no-code-coverage compiler checks isn't safe or robust, but hacky. Hopefully, the remake of _Braid_ sells well, and he gets onto making a decent game. I wouldn't even release _SOKOBAN._ It is trash.
@gayan1742
@gayan1742 3 жыл бұрын
Semantics before aesthetics is a good reminder. I too found less aesthetics help focus better when designing as it minimizes distraction. It helps focus on what really matters.
@judgedbytime
@judgedbytime 5 жыл бұрын
J.Blow critics often never made it far enough to understand why he does things the way he does.
@OnDoubt
@OnDoubt 5 жыл бұрын
I think so too. Yet it's mostly about an inability to listen, because he's quite transparent about intentions, motivations etc.
@SaHaRaSquad
@SaHaRaSquad 3 жыл бұрын
@@soulripper31 Well, don't watch his videos then. He has strong opinions but he also has a lot of experience to back them up and a great way to communicate concepts. "He's also misogynist and racist." Any source on that or is it again just your judgemental side shining through? All I could find is that at one point he was criticised by right-wingers for pointing out potential misogyny and a couple years later some people got butthurt for him opposing cancel culture. If you mean that then oh boy, I'd like to have that as the biggest problem to complain about lol.
@BubblegumCrash332
@BubblegumCrash332 3 жыл бұрын
First thing looked up but couldn't find was a video of Jonathan Blow dancing
@PartScavenger
@PartScavenger 5 жыл бұрын
I love that his approach to developing is like painting or other art. This is what people ahead of their time look like. Blow is the Van Gogh of developing.
@mavhunter8753
@mavhunter8753 6 жыл бұрын
Jon Blow is such a smart man. I admire his thinking.
@adamschlinker972
@adamschlinker972 3 жыл бұрын
"People are spending 8 hours a day of their life working with something ugly. Doesn't that matter?" Wow....this is a really great thought. Sometimes we make things needlessly complicated. I think it's an old school like of thought, like the whole "you've gotta work in shitty conditions and pay your dues!" But like ...why?
@jeffwells641
@jeffwells641 Жыл бұрын
Something I just learned recently is a lot of very good developers will design some solution in their favorite programming language, and then once they've got a good solution they'll translate that into the language they're required to develop in for whatever reason (company requirements, patients requirements, features that make it the best fit, whatever). I realize this is just the somewhat old concept of rapid prototyping, but I didn't think anybody actually did that. What I've seen is people just sit down and drudge through the whole program in the final language. Obviously to do this efficiently you need to be very good at both languages, or else your translation work will take just as much time as the original problem solving, but it seems like this is the answer people have come up with to the "uncomfortable chair" problem. I'm not a developer but I have a small understanding of coding, and this just kind of blew my mind when I discovered it.
@RussellMark17
@RussellMark17 4 жыл бұрын
I am writing a programming language myself. this artistic flow state has happened to me once or twice before. I was similarly shook when it did. This is really validating to hear!
@MikaelIsaksson
@MikaelIsaksson Жыл бұрын
Really interesting hearing someone put words on that experience. I have been programming for 39 years and really can relate to this.
@evadecaptcha
@evadecaptcha 9 ай бұрын
As a programmer (not on the level of Blow), I agree, this is very well put by Jonathan Blow. He's actually verbalized things about myself that I didn't know how to describe before.
@calumlindsay
@calumlindsay Жыл бұрын
"If you put your attention deeply into everything all the time, you would never get anything done" This is the story of my life! 😂
@7thfleetOne
@7thfleetOne 6 жыл бұрын
This video is fantastic, thank you so much for this.
@OnDoubt
@OnDoubt 6 жыл бұрын
Thanks! I'm glad so many people enjoy it.
@boomerrawlings
@boomerrawlings 3 жыл бұрын
What a beautiful video and a beautiful mind. He’s just as lost in his mind as we are in his work and it’s seriously so interesting.
@OnDoubt
@OnDoubt 3 жыл бұрын
Thanks! It was really nice getting to know him.
@okal7706
@okal7706 2 жыл бұрын
Exceptionally said.
@pizzasatellite5016
@pizzasatellite5016 3 жыл бұрын
Completely agree with, on a small team basis, testing hard on the highest possible points of failure and having others dwell on minor issues during prototyping...so frustrating
@Asthenar
@Asthenar 6 жыл бұрын
Thank you! :D
@bibliusz777
@bibliusz777 4 жыл бұрын
wow. so much inspiration
@waterguyroks
@waterguyroks Жыл бұрын
7:22 I've had that exact experience with other creative endeavors, namely with making music. It's something I desperately want to understand and learn to channel effectively. It feels like I get into that maybe once every couple of months and it's this beautiful, dreamy state I wish I could live in. If I try to force it it just doesn't come.
@tinkeringengr
@tinkeringengr 5 жыл бұрын
what a dope channel, happy to find it!
@OnDoubt
@OnDoubt 5 жыл бұрын
Welcome to the dope channel! 🤘
@codesymphony
@codesymphony 11 ай бұрын
love both his games but never actually heard any of his talks. this is eye opening
@xvidcap
@xvidcap 6 жыл бұрын
Thanks for the upload. Much appreciated. :-)
@OnDoubt
@OnDoubt 6 жыл бұрын
You're welcome! The channel features portraits from creatives from all sorts of backgrounds - maybe there's more you enjoy 🎉
@someotherpotatoe5371
@someotherpotatoe5371 6 жыл бұрын
You deserve so many more subscribers. Thanks for the quality content!
@OnDoubt
@OnDoubt 6 жыл бұрын
+Someotherpotatoe aww. Thanks so much for this! The channel only exists since October, so there's that. Plus it mixes so many fields - curating, painting, surgery, gamedev, puppetry, auctioneering etc - every new video also makes people unsubscribe. ​​¯\_(ツ)_/¯ It's ok though. You know, I used to curate fine arts exhibitions - events that are always geographically bound. 200 "viewers" (guests) we're all you'd ever get. So every new video upload here is awesome, especially when it's thousands of views. 😋 📈 Plus this is my own baby now. #freedom
@someotherpotatoe5371
@someotherpotatoe5371 6 жыл бұрын
I see, that's cool. Well keep it up man, your channel is great and I'm excited to see what you do in the future! Good luck!
@OnDoubt
@OnDoubt 6 жыл бұрын
Thanks!
@DavidDolynny
@DavidDolynny 6 жыл бұрын
johnathan blow is perhaps the smartest person I have ever heard
@khaoscero
@khaoscero 5 жыл бұрын
Listen to some of Carmack's talks on programming. Blow himself says Carmack might be the smartest programmer out there.
@SETHthegodofchaos
@SETHthegodofchaos 5 жыл бұрын
I love how open he is about his personal experiences. Sometimes people like to call that weird or pretentious, but I think in this day and age, this is the best trait someone can have. Trying to understand how the psyche works and how to reflect on yourself and others is far more valuable than any material bullsh*t is thrown at you. He is clearly living an interesting life.
@OnDoubt
@OnDoubt 5 жыл бұрын
Plus! Recently someone told me: "after your video of Blow, I realized it WAS him, in this open impro class, a year ago!" 😁
@SETHthegodofchaos
@SETHthegodofchaos 5 жыл бұрын
@@OnDoubt :'D
@srijanpaul
@srijanpaul 4 жыл бұрын
Bob Nystorm , Perv Vognsen are the programmers I really look up to
@UngodlyDev
@UngodlyDev 6 жыл бұрын
the last 2 min are where all the value in this talk was, for me
@EricMahler
@EricMahler 6 жыл бұрын
just discovered your channel, this is good stuff!
@OnDoubt
@OnDoubt 6 жыл бұрын
+Eric Mahler welcome to my tiny world! 🌍
@Void-uj7jd
@Void-uj7jd 5 жыл бұрын
interesting stuff on the psychology of programming, great video
@OnDoubt
@OnDoubt 5 жыл бұрын
Thanks! Glad you enjoyed it.
@Dexterdevloper
@Dexterdevloper 2 ай бұрын
My mentor.
@skaruts
@skaruts 3 жыл бұрын
10:03 I think that would be what's known as Stream Of Consciousness. Some artists, and also writers, like to do that. I love doing that in writing; I find it fun to just go with the flow. Though I often end up at a point where I blank out and stop.
@jonasferencz8569
@jonasferencz8569 6 жыл бұрын
Improvisational dancing? Such an interesting human being.
@nanthilrodriguez
@nanthilrodriguez 4 жыл бұрын
Lot's of engineers dance Argentine Tango, which is an improvisational dance. I was kind of surprised when I recognized that in particular, most of the leaders are engineers. That idea of spontaneously deciding the shape, dissecting the structure of the available positions, and ad hoc combining them into a new shape every time, it is a lot like the sensation of programming.
@user-cn4qb7nr2m
@user-cn4qb7nr2m 6 жыл бұрын
Haha Improvisational dancing!) Me too!(littl diffrnt prob tho lol) Love this guy
@OnDoubt
@OnDoubt 6 жыл бұрын
It's! 👯 • All!💃 • Connected! 🕺
@RedPlayerOne
@RedPlayerOne 6 жыл бұрын
WOO thank you! :)
@OnDoubt
@OnDoubt 6 жыл бұрын
+RedPlayerOne sorry it took so long. Had to wrap my head around video editing first :)
@RedPlayerOne
@RedPlayerOne 6 жыл бұрын
No problem, good work! So is this, plus the other vids, the entirety of his interview?
@OnDoubt
@OnDoubt 6 жыл бұрын
+RedPlayerOne not by far - we talked for about 90mins altogether. The actual conversation had a slightly different flow, probably also because we never met before. At the moment, this is it though - the other parts (company management, doubts, experiences) cumulatively didn't touch ground as strongly and concisely​ as his many-layered thoughts about deep work, put together in this way now. I hope this makes sense!
@c0xb0x
@c0xb0x 6 жыл бұрын
Jonathan Blow has fantastic skin.
@deaththink
@deaththink 2 жыл бұрын
great
@elemstuff
@elemstuff Жыл бұрын
5:34 This !
@swifton
@swifton 6 жыл бұрын
Thanks a lot! Could you also upload the full unedited version? Or share it in some other way?
@OnDoubt
@OnDoubt 6 жыл бұрын
Sorry, can't do that. I only publish edited versions approved by the interviewees. The project is set up to let everyone mumble away, in an atmosphere of trust - knowing that none of this goes online before they could review it. I come with pages of questions, and very diverse topics - it's not a standard interview. Interviewees sometimes take half a minute before answering, and sometimes return to a question twenty minutes later. I need their trust, especially sincethey often don't know me. It's my only currency. It might change in the future, but the roughly thirty interviews conducted so far, had this as their shining beacon. Can't change that retroactively.
@87gn199
@87gn199 5 ай бұрын
As someone that's fairly visual, I always thought I didn't think like the "typical" programmer. I always had to visualize the program. He seems to touch upon it here. Not sure if others just never described it as visualization or if it's not as common is programming.
@sp123
@sp123 3 ай бұрын
I think the lack of visual training material keeps people out of stem
@rauchu5861
@rauchu5861 11 ай бұрын
this thing 17:15 is so complicated people are spending 17:18 you know eight hours a day for their 17:21 life dealing with something ugly like 17:25 doesn't that matter I think it does I 17:29 think it mattered for me for sure
@locomotivere4497
@locomotivere4497 4 жыл бұрын
things change
@dekutree64
@dekutree64 10 ай бұрын
13:18 We are using the same languages for math and music as 100 years ago. And I don't like either of them, so it puzzles me how there haven't been more attempts to create new ones. I think C will always be around as "one step above assembly", but higher level programming languages seem to be much harder for people to agree on.
@wacky.racoon
@wacky.racoon Жыл бұрын
He reads China Mieville ! cool :)
@wilhelmsarasalo3546
@wilhelmsarasalo3546 Жыл бұрын
I used to get too tired to be productive and then think about it lightly while falling asleep. Then sometimes I would dream about it, remembering the dream, usually not. Then, when I got back to work (remembering dreams or not), it would just flow out of my fingertips to the keyboard, previous day's problems solved, how I did it, I have no idea, but it works. I can also dig into it and say aha, that is how I did it. Lately my dreams have usually been about attempted gaslighting, mostly by lawyers. This kills the productivity that they are after.
@Decimation001
@Decimation001 3 жыл бұрын
God this is so fucking accurate and based
@____uncompetative
@____uncompetative Жыл бұрын
10:00 I've had that experience many times when I have been painting. The problem is that I don't feel the result is my own work. I didn't rationally decide to make it that way as my brain was not engaged in a conscious way at any point during the experience of 'Flow' (see Mihaly Csikszentmihalyi for more on this). My video game designs are similarly organic products of a "flow state" of consciousness, and were I to analyse why I was choosing one feature over another in the design I think that I would become painfully introspective and self-conscious and unproductive as I would not be able to simultaneously feel my way forward into the unexplored dynamical space of possibilities (much as I feel my way forward into the unexplored aesthetic space of possibilities when I am painting), and critique my process without interfering with it being the free unfettered process it is. Self criticism actually helps me in my writing, with the interrogation of my arguments or the exploration of my characters being a very necessary constraint, "out of which grit the oyster can form some pearls". Programming is more like writing, and it can dictate the correct direction that a project should take, with 'bugs' (i.e. things that deviate from the desired game design specification) sometimes being more fun to play with than you would have envisaged, were it not for the fact you have a dynamical system that now reifies it, and you are free to play that version of the game rules. This can lead you to abandon your desired game design idea and pick this 'mistake' instead, as it wasn't that the program didn't run, but that it didn't conform to the specification, and when the program is its own _de facto_ specification of an alternative game design, and that design may be better than what you were thinking of doing, then it is trivially easy to keep that new design around as well as complete the original (without the bug), just to see if the original was better. You do not get to copy an oil painting half way through the process, to explore some side idea, and still have the original painting at the point at which you got distracted. This is probably for the best as an aesthetic space is one of progressively restrictive constraints of marks already made, or marks made that assert themselves over the marks they occlude and erase (yet which inspired them), and not something with a temporal component, like writing which can like programming conjure a dynamical theatrical space of possibilities involving multiple interacting characters in an environment which can operate according to (self-consistent) fantastical rules. I have never "tuned out" when programming, as Jonathan described here, but then I had my code crash and then needed to figure out why as I was being super self critical whilst writing the code and imagining all the ways it could potentially go catastrophically awry, so the only things I experience are "bugs" which don't crash the computer and just yield a different dynamical space of possibilities than I had sought (and which may be ultimately more desirable), so they are only "mismatches against my intentions" and it is possible that my intentions can change if I stumble upon a more interesting dynamical system with richer gameplay.
@SuboptimalEng
@SuboptimalEng 4 жыл бұрын
Nothing to see here, just JB talking about attaining ultra instinct for 20 minutes
@RedPlayerOne
@RedPlayerOne 6 жыл бұрын
Edmund McMillen would be a good interviewee!
@OnDoubt
@OnDoubt 6 жыл бұрын
That would be amazing. I'll wait for the right opportunity =) It takes some luck for there to be mutual interest in interviews like the ones published here - it's such a tiny channel really. But I'll try and stick around. Catch my luck, as Tarn would say.
@nexovec
@nexovec 4 жыл бұрын
Making a tool as simple and universal as possible is good, but sometimes the user expects a more complex interface than you come up with for the exact reason that they want the tools they use to be as simple and universal as possible, but not in the way of mathematical modeling, but maybe in terms of workflow and creative potential or some other thing. But the common theme is there.
@stunthumb
@stunthumb 5 жыл бұрын
Sometimes when learning, you have to throw the whole thing out and start over. Sometimes when you go to add in something you prepared earlier, you are better off just scrapping it and starting over. I start over a lot, but really its how you build the coder 'muscle-memory' - its how you develop your own problem solving style and workflow. I mean, you might take a while to learn something, say a robust player collision system. First time you code that it will probably be a mess, you'll have to add bits here and there and it'll end up like so much spaghetti. But then the next time, start over - and it's more compact, more complex but more capable and manageable. But then the next time, start over - and you'll be coding the system from start to finish with no compiles inbetween, just like JB here - coding muscle memory is a thing. And it's not just for a function or a snippet of code either - it depends on your own experience but hell, I've written entire particle systems - hundreds of lines of code. The more you code, the better you get - the more you start over, the better your code gets... but don't stop for 1 second, because your brain made writing that code more efficient and less time consuming so that you could spend the time learning more or improving other areas. Necessity is the catalyst to learning and a brain is a muscle - this is especially important for programmers to remember... I mean we can be arrogant, and often we can only ever teach ourselves something and that is quite difficult to understand. I think its funny when you hear... 'Coding your own games is easy' - like does anyone actually think that programming is easy? - that anyone can learn it? - that it's accessible to all people? - or is that just something people say to make programmers feel a bit more normal.... I mean maybe that's unnecessary - maybe it would be better to just be real and tell people that if they aren't already learning to program, they just won't. Know what I mean? - the phrase ''I want to learn...'' isn't in a programmers vocabulary - they're already learning and not bothering to tell you about it :D - anyone who says they want to learn something tends to be someone who already can learn something and choses other activities instead.
@daleowens7695
@daleowens7695 4 жыл бұрын
Every piece of "good" code I've written was at least the 3rd revision of something. 1st attempt probably didn't work or even have a chance of working. 2nd attempt worked because of the organizational insight I gained from the first failure but eventually devolved into a spaghettified mess with bits and pieces stapled and duct taped in no meaningful organization. 3rd attempt is like the synthesis of all previous lessons learned.
@daleowens7695
@daleowens7695 4 жыл бұрын
I find in my professional work, I never make it past the 2nd attempt. Pressure from management to produce keeps me from producing my better code. My personal projects are by far higher quality but usually take longer
@stunthumb
@stunthumb 4 жыл бұрын
@@daleowens7695 Likewise Dale, I think its like tidying your own mess compared to tidying someone elses.
@evenstevens280
@evenstevens280 6 жыл бұрын
One thing a lot of programmers seem to do is say "right" when explaining something. I wonder why that is...
@lucidcontroller1383
@lucidcontroller1383 5 жыл бұрын
They're used to constantly checking the validity of what they're doing.
@jackmordaunt5410
@jackmordaunt5410 5 жыл бұрын
Confirmation bias.
@thebluriam
@thebluriam 6 жыл бұрын
Joe Rogan needs to have him on his podcast damnit!
@HaampiiH
@HaampiiH 5 жыл бұрын
idd
@StephNuggs
@StephNuggs 5 жыл бұрын
"Pull that clip up when I play Mario Kart, Jamie"
@wasdwasd5234
@wasdwasd5234 6 жыл бұрын
is this blow's house?
@OnDoubt
@OnDoubt 6 жыл бұрын
Nope. We recorded at a friend's place.
@jamen1993
@jamen1993 6 жыл бұрын
The everlasting mysterious "thing" 😁
@OnDoubt
@OnDoubt 6 жыл бұрын
Oh yes. Don't we love that for being around :))
@aaronjumpa9666
@aaronjumpa9666 3 жыл бұрын
I want you and Brando Sanderson to work together and experience ever
@____uncompetative
@____uncompetative Жыл бұрын
Brandon should design a videogame. Jon should write a novel.
@MrAbrazildo
@MrAbrazildo Жыл бұрын
What are you in doubt, mr. On Doubt?
@Kenbomp
@Kenbomp 3 жыл бұрын
Some programming happens and you don't know why. It's discovery. Some days your brilliant some days you suck. Programming allows ideas to be tried.
@bepd
@bepd 6 жыл бұрын
Won't someone please save the spines on those poor books.
@OnDoubt
@OnDoubt 6 жыл бұрын
Recording happened in someone else's home. Books live very appreciated and happy there. :)
@antonsimkin
@antonsimkin 2 жыл бұрын
man i cant even memorise any oop pattern
@sohamjoshi9527
@sohamjoshi9527 Жыл бұрын
but if you are not able to explain what that internalized thing is, what good is it ? Eg: great minds were able to explain why heat flows from hot to cool by not just saying it just happens that way naturally, but rather put it in concrete terms of entropy etc. Its absolutely useless when you just say you go into a trance and come up with a program in 20 min.
@mgetommy
@mgetommy 6 жыл бұрын
wanna see some of that dancing
@przemyslawmalon4345
@przemyslawmalon4345 6 жыл бұрын
"Sausage Making" book lol
@denisblack9897
@denisblack9897 Жыл бұрын
my personal brand of andrew tate
@dandymcgee
@dandymcgee 6 жыл бұрын
The visuals were nice at first.. but by 5-6 minutes in I had to stop watching and just listen because I couldn't pay attention to what Jon was saying with all the random imagery and distracting facts flashing on screen. Food for thought. Edit: The imagery at the end regarding Braid and The Witness were fine because they were in context and weren't distracting. The random time lapses of his streams were totally out of place and unnecessary IMO.
@OnDoubt
@OnDoubt 6 жыл бұрын
In the best of cases, the visuals expand the semantics. In the worst, they are distracting. Sometimes they are both. Structurally​, the overlays also exist because of the heavy editing of the actual interview footage. I experimented with podcasts, where visuals aren't required - the interviews work best in podcast format, because there's no distraction. But then you lose out on all gestures and energy of the interviewee. As it stands, I need overlays to get beyond the heavy editing of the interview. Let's see how it develops over time.
@DavidDolynny
@DavidDolynny 6 жыл бұрын
Loved the images near end of video of braid and witness dev, ty
@dandymcgee
@dandymcgee 4 жыл бұрын
@@OnDoubt Appreciate the thoughtful response.
@OnDoubt
@OnDoubt 4 жыл бұрын
You're welcome! 🙌
@ThorIsHereGames
@ThorIsHereGames 5 жыл бұрын
Blow is articulate and has a deep wealth of knowledge. That said, I'd like to talk about his verbal tic where he often says "right?" This is a very common habit among smart tech guys when they are explaining things (at least in my experience as a software developer at several companies). I can understand why they do it. When you are usually the smartest guy in the room and have to explain complex thoughts to someone, it's reassuring to constantly make sure that your listener is still listening, keeping up, still on the same page. If you lose them at any point, then the rest of your explanation is worthless. However, personally, I find this habit extremely irritating. It makes it difficult for me to listen to people who talk this way. Most of the time that they say "right?" they say it after something that the listener would have literally no way of knowing whether it is right or not because it is a personal detail. Other times, the listener can't answer the "question" in any meaningful way because he is the one listening and is only learning about the ideas just now. It is telling that when people talk like this, they don't typically wait for the listener to actually answer the question, which implies that the question is not there to be answered. Instead, it's a way to fill space, to provide the speaker with a moment to pause and think about what to say next while maintaining the floor to speak. It's like a valley girl saying "like" after every other word. (Blow occasionally uses the "like" filler as well!) Some examples: "I'm going to the party tonight, and you are coming too, right?" - Appropriate, verifying information owned by the listener. "I'm going to the party tonight, right?" - How would I know, you're the one to decide that. "I reached my current programming skill in 2013, right?" - That's your own personal detail, I would have no way to know. "Therefore that's why C++ was developed, right?" - You're the one giving me new information, how can I possibly answer? "C++ is a clunky language, right?" - This is an opinion, it's awkward to weirdly force me to either immediately object or implicitly agree. "You're building a chair for people to sit in every day of their life, right?" - You're the one setting up an analogy, how can I possibly know what you are getting at yet? My impression is that people fall into this tic when they are a little unsure of how to explain something. I would strongly recommend that people identify this tic in their language and work to remove it as it serves no real purpose, it only serves to belittle and annoy.
@OnDoubt
@OnDoubt 5 жыл бұрын
Hey! Thanks for your thoughts. I wanted to clarify that the video obviously is heavily edited, so your ideas would better be "tested" on raw interview footage. For example, after I posed specific questions, Jonathan would think for a while - sometimes up to 30 seconds. These pauses are not in the final edit at all - but were a big part of the verbal experience for me: someone thinking, actually thinking, in front of a stranger with their camera. So: I'd have to dig out the original material, to see how often the tic you mentioned, actually appears -- we recorded around 90mins of video, so the statistics if based on the edit, could say more about my editing (in)capabilities than about the portrayed person.
@OnDoubt
@OnDoubt 5 жыл бұрын
But I do want to say that the encounter had nothing belittling at all; if anything, I felt empowered by it. I wanted to discuss his upcoming programming language, because back then there wasn't anything out about it other than his live streams. At the time of recording this channel didn't exist yet, so apart from my artist/PhD credentials (I'm self-employed as artist), there was nothing that would have implied that he'd ever answer my mails. I'm not a journalist either ;) For him to drive up to my friend's house to meet a stranger, to openly discuss ideas for such a stretch of time -- many would feel vulnerable by a 90min camera recording. He couldn't know what I'd do with the footage. So simple based on these facts, and the general tone of the interview, I have to say that Blow is an unusual, super smart, eloquent, inquisitive and curious, busy guy. I'd love to know more people like him. Sorry if my video didn't get this across.
@ThorIsHereGames
@ThorIsHereGames 5 жыл бұрын
@@OnDoubt Cool to get a response from the creator! My complaint is a little trivial and silly, call it a pet peeve. Blow is obviously an incredible developer and has many brilliant ideas. I don't mean or think that Blow intended to be belittling at all, he seems nothing but respectful and eager to share, clearly this is just his personal style of talking. I just find this particular "right?" tic irritating. And of course, for you as someone making the video, there is nothing to be done, you captured how he speaks accurately, which is all that anybody could ask. Thanks for the great video!
@alexkfridges
@alexkfridges 4 жыл бұрын
I think you need to learn how to be less irritated by the minor habits of other human beings. We all have them. This is really not such a big deal, just chill. It's just a verbal tic, you don't have to literally respond to them as though they are a fully fledged question
@hasen1957
@hasen1957 6 жыл бұрын
7:08 His description of the programming activity is super weird. I don't program in this way. When I program I have a sort of mental image (kind of like a diagram?) and I have to translate it into code. Sometimes the image is so high level that I have to jot things down on paper (so I can see the bigger picture) and then translate from paper to code. But I'm INTP. I guess he is an INTJ?
@OnDoubt
@OnDoubt 6 жыл бұрын
+hasen195 I programmed games for six years, for Rockstar - and my impression definitely was that everyone had their own way to go about it. It depended so much on the scope of the problem, the deadlines etc. Today, as a painter, I think it's the same: everyone mostly uses the same tools (brushes, pigments), but the high level approaches differ tremendously. I think that's totally normal. Personally, I really liked his explanation. :)
@Nozdrum
@Nozdrum 6 жыл бұрын
Myers-Briggs is a really bad (low reliability, dodgy definitions and very littel utility) personality indicator.
@OnDoubt
@OnDoubt 6 жыл бұрын
Well, thank all Dwarven Gods that Saint Thomas was eventually consulted instead 😋
@lvl5popcap
@lvl5popcap 6 жыл бұрын
In another interview, he mentions that he does not have a visual imagination (aphantasia?) so that might influence the process he describes.
@Trunks7j
@Trunks7j 5 жыл бұрын
Kind of what i love about programming though, it reveals how wildly differently people conceive of it, which is made possible because of how abstract it is.
@socraticmathtutor1869
@socraticmathtutor1869 Жыл бұрын
"It's going to be an uncomfortable chair most of the time." Doesn't this all come back to code reuse? If a language is good at offering code reuse facilities, the chair will be fine. Most languages suck at offering code reuse, though, which is one of the main reasons why minimalistic design falls down.
@Dex_1M
@Dex_1M 5 ай бұрын
I'll make a script/programing language designed specefically for me. to write code fast, efficent, and in simple language. the I'll fine tune a large language model that would use that script/Programing language. and me talking to it would look like aliens talking to each other but it would be something like "]function_build_shout_fire" change value inside it to 5 before pasting it. link ]... + ].. . an there is like this big script that the llm does. and it goes to everyone and changes it or manipulate it. this will make me write thousands and thousands of code in a short amount of time. the issue is opimizing the code. at the end of the day it's about optimizing it. and make it it effecent and last long.
@victorsantos1725
@victorsantos1725 10 ай бұрын
This guy is hallucinating
@theascendunt9960
@theascendunt9960 6 ай бұрын
Get on his level first. Then you can criticize.
@greed7513
@greed7513 10 ай бұрын
do we NEED. ANOTHER. programming language.
@morganpedersen967
@morganpedersen967 10 ай бұрын
Yes.
@Ash_18037
@Ash_18037 10 ай бұрын
"The Shape of a Problem Doesn't Start Anywhere": Please don't just quote the brain fart of a person who has made a few decent games as if it is the excretion of some ancient wise oracle. Apart from being awkward, vague and obtuse, if you read it in the context of what he was saying at 6:33 it is simply wrong. The entire point of breaking down a problem into smaller parts and then solving those individually is to provide us with an a clear starting point to solve each of those sub-problems. He actually seems to have mixed up his concept of the overall global problem we are trying to solve (ie create the game) and the multitude of local/specific problems required to accomplish the global. Jonathan does seem to have some useful things to say for fellow developers, but this worshipping of his so called genius by many people is just cringeworthy.
@jintz2
@jintz2 5 ай бұрын
You are cringeworthy. But you knew this already.
@nahfamimgood
@nahfamimgood Жыл бұрын
darn shame he thinks that women by biology are not as interested in tech as men lol.
@morganpedersen967
@morganpedersen967 10 ай бұрын
That's simply a fact. Cry more.
Interview with Jonathan Blow at LambdaConf 2024
26:34
LambdaConf
Рет қаралды 8 М.
Rant: Entity systems and the Rust borrow checker ... or something.
1:01:51
Alat Seru Penolong untuk Mimpi Indah Bayi!
00:31
Let's GLOW! Indonesian
Рет қаралды 8 МЛН
когда повзрослела // EVA mash
00:40
EVA mash
Рет қаралды 1,8 МЛН
🌊Насколько Глубокий Океан ? #shorts
00:42
Data-Oriented Demo: SOA, composition
1:32:47
Jonathan Blow
Рет қаралды 154 М.
Jonathan Blow - Truth In Game Design
48:02
Þórður Ágúst
Рет қаралды 58 М.
I Tried JAI, Can It Replace C++?! (Programming Language)
21:05
Jonathan Blow on backdoors and cybersecurity
18:53
flâneur
Рет қаралды 54 М.
Techniques for dealing with lack of motivation, malaise, depression
1:02:00
The Implementation of Rewind in Braid
26:56
GDC
Рет қаралды 128 М.
Jonathan Blow on unit testing and TDD
8:02
Jeru Sanders
Рет қаралды 129 М.
The Witness Documentary
47:59
Noclip - Video Game Documentaries
Рет қаралды 655 М.
Alat Seru Penolong untuk Mimpi Indah Bayi!
00:31
Let's GLOW! Indonesian
Рет қаралды 8 МЛН