Jonathan Blow Clips
Jonathan Blow Clips
  • Видео 79
  • Просмотров 1 187 287
Jonathan Blow on the Downfall of Technology
Support me on Ko-fi: ko-fi.com/jonathanblowclips
Jonathan Blow on the Downfall of Technology
Clip from Jonathan Blow
Original: ruclips.net/video/ZSRHeXYDLko/видео.html
Twitch: twitch.tv/j_blow
RUclips: www.youtube.com/@jblow888
#jonathanblow #gamedev #webdevelopment #programming #jai #spacerace #space #spacex
Просмотров: 2 763

Видео

Jonathan Blow on Replacing C++
Просмотров 9 тыс.3 месяца назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on Replacing C Clip from Jonathan Blow Original: ruclips.net/video/uZgbKrDEzAs/видео.html Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #jai #cplusplusprogramming
Jonathan Blow on Function Naming
Просмотров 11 тыс.3 месяца назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on Function Naming Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #jai
Jonathan Blow on the Design of Jai
Просмотров 9 тыс.6 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on the Design of Jai Clip from Jonathan Blow Original: ruclips.net/video/7BaWley751Y/видео.html Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #jai
Jonathan Blow on JavaScript and Mediocre Programmers
Просмотров 13 тыс.9 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on JavaScript and Mediocre Programmers Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #javascript
Jonathan Blow on Beat Saber
Просмотров 3,8 тыс.9 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on Beat Saber Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #beatsaber
Jonathan Blow on C++
Просмотров 13 тыс.9 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on C Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #cplusplusprogramming
Jonathan Blow on Swift's Compile Times
Просмотров 12 тыс.10 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on Swift's Compile Times Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #swift
Jonathan Blow on The Problem With Twitter
Просмотров 7 тыс.10 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on The Problem With Twitter Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #twitter #x
Jonathan Blow "Rust Will Lose"
Просмотров 36 тыс.10 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow "Rust Will Lose" Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #rust
Jonathan Blow on Becoming Famous
Просмотров 7 тыс.10 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on Becoming Famous Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming
Jonathan Blow on 16:9
Просмотров 15 тыс.10 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on 16:9 Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #169
Jonathan Blow on Burning Out
Просмотров 17 тыс.10 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on Burning Out Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #burnout
Jonathan Blow on Video Games from Japan
Просмотров 10 тыс.10 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow on Video Games from Japan Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #japan
Jonathan Blow on C++ and JavaScript
Просмотров 15 тыс.10 месяцев назад
Support me on Ko-fi: ko-fi.com/jonathanblowclips Jonathan Blow C and JavaScript Clip from Jonathan Blow Twitch: twitch.tv/j_blow RUclips: www.youtube.com/@jblow888 #jonathanblow #gamedev #webdevelopment #programming #cpp #javascript
Jonathan Blow Explains Geometric Algebra
Просмотров 18 тыс.10 месяцев назад
Jonathan Blow Explains Geometric Algebra
Jonathan Blow on AI Consciousness
Просмотров 6 тыс.10 месяцев назад
Jonathan Blow on AI Consciousness
Jonathan Blow on Live vs Dead Players
Просмотров 8 тыс.10 месяцев назад
Jonathan Blow on Live vs Dead Players
Jonathan Blow on AI Art
Просмотров 10 тыс.10 месяцев назад
Jonathan Blow on AI Art
Jonathan Blow on How Games Set Themselves Apart
Просмотров 10 тыс.10 месяцев назад
Jonathan Blow on How Games Set Themselves Apart
Jonathan Blow on The Death of Real Time Strategy
Просмотров 7 тыс.10 месяцев назад
Jonathan Blow on The Death of Real Time Strategy
Jonathan Blow on Designing a Particle System
Просмотров 12 тыс.10 месяцев назад
Jonathan Blow on Designing a Particle System
Jonathan Blow on What He Would Tell His Younger Self
Просмотров 4,2 тыс.10 месяцев назад
Jonathan Blow on What He Would Tell His Younger Self
Jonathan Blow on Docker
Просмотров 25 тыс.10 месяцев назад
Jonathan Blow on Docker
Jonathan Blow on Advice For Indie Game Developers
Просмотров 19 тыс.10 месяцев назад
Jonathan Blow on Advice For Indie Game Developers
Jonathan Blow on the Design of Braid
Просмотров 2,5 тыс.11 месяцев назад
Jonathan Blow on the Design of Braid
Jonathan Blow on Understanding the Universe
Просмотров 2,4 тыс.11 месяцев назад
Jonathan Blow on Understanding the Universe
Jonathan Blow on What Books He Is Reading
Просмотров 8 тыс.11 месяцев назад
Jonathan Blow on What Books He Is Reading
Jonathan Blow on His First Video Game
Просмотров 3,5 тыс.11 месяцев назад
Jonathan Blow on His First Video Game
Jonathan Blow on the Problem with OpenGL
Просмотров 47 тыс.11 месяцев назад
Jonathan Blow on the Problem with OpenGL

Комментарии

  • @ckjdinnj
    @ckjdinnj 18 часов назад

    The 3:08 part is very real.

  • @heh_boaner
    @heh_boaner День назад

    The only issue I see with this is scalability. OOP isn't great at solving problems, but it is good at preventing new ones, especially after public release.

  • @jan0195
    @jan0195 День назад

    I mean he is right, but, once you nail a decent enough structure of objects and classes you got the way facilitated to solve the problem and expand on the solution. And I'm aware that that in itself bring another set of problems but you get the idea. You pick your poison.

  • @bulbasaur9291
    @bulbasaur9291 2 дня назад

    While the rust devs are trying to figure out how to load their gun the C++ devs are busy tying a tourniquet around the leg they just blew

  • @rosendom3042
    @rosendom3042 3 дня назад

    CIV VI?

  • @hikemalliday6007
    @hikemalliday6007 4 дня назад

    Work life balance is for pussies! **waifu pillow intensifies**

  • @UberOcelot
    @UberOcelot 4 дня назад

    It's a funny analogy, I still think Rust or a Rust derivative is the way forward. Zig will be a better C, but C can also be a better C. Rust is not a better C++. It's also a better C that is also an ML. I think a C/ML is really the true archetype of language design (ignoring prolog/lisp or declarative spec languages HTML/SQL/prolog). Almost nobody criticizing Rust today gets it right, and are clearly parroting sound bites at this point. All the Rust jerk stuff has been memed into a false truth. Only really the Zig people are capable of levying a sensible alternate frame of mind, and they are capable of acknowledging that Zig and Rust tackle different things. There is a reason Rust might end up in the linux kernel, it actually provides something fundamentally new as opposed to just iteratively better.

  • @KokahZ777
    @KokahZ777 5 дней назад

    What is oop exactly ? A codebase organized as hierarchies of objects (like the ue codebase for instance) or the sole fact that you use classes and structs to group correlated data and methods together ?

  • @romulino
    @romulino 5 дней назад

    The amount of nonsense only a man that works alone can say.

  • @tatoforever
    @tatoforever 6 дней назад

    I'm 100% with Jon. Learn Vulkan. If it's too difficult (which is the case for juniors graphics programmers), try WebGPU. Unless of course you want to waste time with a dead-end API.

  • @henrikholst7490
    @henrikholst7490 7 дней назад

    Use Objects as services. Never use Objects as Parameters. Use workflows that consumer multiple services API to get a business logic task done. The OOP hell isn't JUST the inheritance one, it's the abstractions around parameters of the service API that happen for no good reason. Tight coupling. Complexity increase tenfold. Don't mix code with data there is huge value in having it separately. For those who use Kubernetes they will know that there is a Right amount of framework to use and its far from using as much as possible but rather as little as possible that you need.

  • @xxxxxxxxxx02
    @xxxxxxxxxx02 8 дней назад

    SDL_gpu is the abstraction layer I was waiting for.

  • @EMM-ii5uk
    @EMM-ii5uk 8 дней назад

    this aged like milk. game programmers today rely on third party engines and gpu tech to solve all their problems

  • @gendalfgray7889
    @gendalfgray7889 8 дней назад

    Why mc being c**ked in the end, i was so sad.

  • @Spencer-r6r2l
    @Spencer-r6r2l 9 дней назад

    My heavens....classes in C++ aren't part of a belief structure, they're just a tool. Use them or don't. Thinking of stuff in your program in terms of objects is natural and helpful for some people, but it's not mandatory, nor does anyone claim it's perfect. Classes is C++ are constantly being crapped on by elitist programmers, but C++ is an incredibly successful language. Hmmm, I wonder why.

  • @fredrikjarnbrost4356
    @fredrikjarnbrost4356 10 дней назад

    maybe not every repo on github was made to solve engineering problems, it could easily been seen as public CV (like if you were hoping for a job developing the Unity engine)

  • @Jose-kv4uh
    @Jose-kv4uh 10 дней назад

    Until you make a programming language ur critizsm is a waste of time

  • @FaizKTG
    @FaizKTG 11 дней назад

    Went in looking for llvm went out with graph theory trauma

  • @AlexandreJasmin
    @AlexandreJasmin 12 дней назад

    C++ take on OOP has many pitfalls that are unique to that language. Object slicing, non-virtual destructors, unsafe down-casting, the absence of virtual calls in constructors and destructors etc. Smalltalk's take is pretty much what you get in Ruby or Python.

  • @connorwilliams2999
    @connorwilliams2999 13 дней назад

    This take is 100% spot on. I've been a software engineer for 10 years and for most of that, I was taught and wrote in an object oriented style. I have never, I repeat NEVER seen this style of programming scale at all, whether it be myself writing code or 10X devs i work with writing in this style. You can ship a working app to production sure but the truth is, everything that OOP promises around organization, interoperability, and maintainability just does not play out at all in real life. The bigger your OOP codebase is, the less maintainable it becomes and more error prone it becomes, because of OOP. I truly think its like a cult mentality that if you don't write your code this way you are wrong and dumb and if you think its wrong and dumb to write OOP code, than you just don't get it and you're probably too stupid to get it. Well, I've never met a dev in 8 years of consulting that "does it the right way" because honestly I feel like their is no "right way" with OOP. You will always create a big mess with 10,000 interfaces where 20% of them do the same thing and you will spend 90% of your time trying to map OOP/SOLID principles onto problems that honestly just don't need them and frankly users don't give a shit about. OOP should be called "Making a big mess oriented programming". In the past 3-4 years I have switched to an imperative/functional style and my teams ship faster than I could ever imagine because we look at the problem and just write the code that is needed to solve the problem. We have less bugs, everyone understands the code better, we don't have long pointless meetings talking about software architecture and design patterns. OOP will slow you down and it will make you make a mess because its for people that like to look smart and write code that no one can follow or understand because thats the "right way to do it." A ton of amazing engineers like Casey Muratori share this sentiment and I encourage anyone still writing OOP to read about other options.

  • @jesusmgw
    @jesusmgw 13 дней назад

    "How is this not The Onion?" has become part of my lingo since the first time I saw this. And it applies to like 10-15 things daily at least.

  • @780Chris
    @780Chris 14 дней назад

    Everybody is sleeping on ProggyVector

  • @magnuswootton6181
    @magnuswootton6181 17 дней назад

    Is John ever going to do ai? that would be fun.

  • @snatvb
    @snatvb 19 дней назад

    let me teach u OOP pretty quick let's start first rule don't use OOP done, u're the best in OOP

  • @piked86
    @piked86 19 дней назад

    How can someone look at the windows registry and think Linux is complicated? Linux is mostly config files that explain themselves. You need a degree in Microsoft for the registry.

  • @Jerry_from_analytics
    @Jerry_from_analytics 21 день назад

    It's a bit like saying "Cars have failed us". And then cherry pick some examples when car reliability has gone down. When in reality it's a topic too broad for discussion. Cars have so many types, uses and users. In some areas they're great, in some - terrible. Somewhere they move economies, somewhere they create problems or even kill people. You cannot meaningfully discuss it without narrowing it down.

  • @chillyvanilly6352
    @chillyvanilly6352 21 день назад

    geez...could the interviewer have maybe a bigger watch?! O.o maybe even some shiny colour...oh wait...

  • @Zex-4729
    @Zex-4729 21 день назад

    Damn this is such a good presentation, I never thought of technology going backwards in our timeline, but no, he's right we lose knowledge all the time and this is bad and worth pointing out.

  • @stevecarter8810
    @stevecarter8810 23 дня назад

    This is what I love about red green refactor, which should imo be happening in all scrum teams: write a failing test, make it pass by hook or by crook, then refactor away duplication. Eventually the refactor might cause a class to exist, but it's as a consequence of reflecting on the structure of your existing, working, software. To Btw I did a software engineering degree and the guys at the same university doing electronics were better hackers than the comp sci because they were always coding to a purpose rather than to a principle.

  • @bitskit3476
    @bitskit3476 23 дня назад

    I think people here are misunderstanding what he's frustrated about. If you just had access to the memory for a bitmap, it's not hard *at all* to write a triangle rasterizer. Depending on how you do it (barycentric coordinates, matrix determinants, or bresenham line stepping), it can be done in like...10 lines of code or 100. You don't need a library for it. Likewise, 3D projection also isn't difficult. It's *literally* what a vertex shader is doing. So the question is, *why are you even bothering with using a library at this point if you're basically doing all of the work yourself anyway?* OpenGL isn't making your job any easier, it's just ensuring that what you're already doing will be hardware accelerated. And even then, it does a crappy job at that compared to something like Vulkan. The whole point of using a library is to make your life easier. Don't make me write 2000+ lines of code that create a window, create a rendering context, use GetProcAddress or dlsym to dynamically look up symbols in a shared library to get the modern OpenGL functions, write my own matrix math library, generate and bind a framebuffer object, write a vertex shader and fragment shader, compile and link the shaders into a shader program, use the shader program, generate and bind a vertex array obiect, generate and bind a vertex buffer object, load the vertex buffer, bind the vertex attribute locations, and *finally* draw the array elements. Just give me a function called "draw_triangle", for the love of God... You've made the ONE thing that everyone wants to do into something so tedius and time consuming. Your neither saving me time and energy, nor doing things in the most efficient way for the hardware. It's a lose-lose situation.

  • @samuelboadas8333
    @samuelboadas8333 24 дня назад

    Hes a loser and a dinosaur. OpenGL still rules everything and will be for many years, Even himself is usuing opengl and complaining about it. If you wanna learn openGL do it, you will regret nothing

  • @AndarManik
    @AndarManik 25 дней назад

    The issue with parent child inheritance, of composition, is that the promise made, “is only a” is a much hard promise to keep w.r.t. future features than “has a”. “Has a” being the promise made by composition is much weaker but therefore much freer.

    • @lepidoptera9337
      @lepidoptera9337 21 день назад

      And you don't need either. What you actually need is a struct that has a "myType" field. Every time something in the code processing that struct depends on the particular type of the structure you use an if(struct.myType == THIS_TYPE) or case statement to differentiate. This will cost you 0.3ns on a modern CPU but allows all the relevant code to stay in one place and it's more than obvious what the type dependent differences are. This slavish idea that whatever can be moved from runtime to compile time should be is coder's OCD. It has no practical value in the real world for sufficiently complex structures/classes. And if you are among those folks who think that making primitive types into classes, then all hope is lost for you anyway. You just don't understand how computation works.

  • @valentinrafael9201
    @valentinrafael9201 28 дней назад

    MO: DO BETTER

  • @ethancarter2664
    @ethancarter2664 29 дней назад

    As a long time Python dev. He's correct. I also don't really need to know these things for what I'm using Python for, and neither do you. Just understand that there's an associated risk that you have to accept for that, and your language should match your use case. Don't make games with Python. Just don't. It's a waste of fuckin time. Do make an API with Python.

  • @KilgoreTroutAsf
    @KilgoreTroutAsf 29 дней назад

    At least we get to know about these. Apple let's the NSA install spyware on people's phones ane we only learn about it if and when there's a whistleblower.

  • @citizendc9
    @citizendc9 Месяц назад

    I recall back in the day how much faster OpenGL frame rates were compared to DX. Seemed like a much "lighter weight simple not huge API".

  • @ifstatementifstatement2704
    @ifstatementifstatement2704 Месяц назад

    C++ is the best imo.

    • @backslash538
      @backslash538 23 дня назад

      its good but in my opinion the syntax has kind of taken a huge hit, something like cpp2 would fix this for me personally

  • @Calypso694
    @Calypso694 Месяц назад

    im starting to hate JB

  • @Martinit0
    @Martinit0 Месяц назад

    The stories in games are about as important as the stories in p0rn flicks. I play games for the action, not the story.

  • @ifstatementifstatement2704
    @ifstatementifstatement2704 Месяц назад

    Javascript variables are a guessing game. No data types or hints.

  • @dimi144
    @dimi144 Месяц назад

    OpenGL may be a bit too legacy-ish nowadays, but we have had core and forward-compatible OpenGL contexts since 2008/2010, we also have debug OpenGL contexts now, and for those who want a faster API with less error checking, there's also a no errors context which only reports out of memory errors and the bunch.

  • @ZebulonsPi
    @ZebulonsPi Месяц назад

    If I was coding alone, I'd absolutely do anything I wanted whichever way I wanted. Working on a TEAM, however, I can see where constraining my own personal coding style to match what has been accepted and learned by EVERYONE, academically, would lead to better outcomes. It's like if everyone spoke a primary different language, but everyone also spoke some German, it's easier to try to speak German than figure out how to go between everyone's primary language. Is it optimal? No, but it's better than the alternative for a group of people with a common goal.

    • @lepidoptera9337
      @lepidoptera9337 21 день назад

      Poor coding solutions like OOP stay poor coding solutions even when executed by a team. If anything you are compounding and cementing their problems. Management may think that one can replace engineering with process, but that's just wishful thinking.

  • @2bussy
    @2bussy Месяц назад

    I'm a C++ dev and I love JetBrains Mono NL

  • @ZettaiKatsu2013
    @ZettaiKatsu2013 Месяц назад

    Can someone say what is simp please ? I've heard about simping but ..

  • @justanaveragebalkan
    @justanaveragebalkan Месяц назад

    Now imagine a team of 10 developers, different nationalities, everyone writing code how he feels like it. It's just not going to work for a business, a lot of people compare software written in the 80s to modern software but those are exceptionally different things, can you hack a table compositor that hacks stocks number prices and finds the average price that does a single task alone, or in a team without regard to structure as long as it follows the instructions in order to produce the defined output? Yes, and it's the right thing to do, you're not going for something that is readable or extendable you're going for something concrete easy to do so you can move on. But then you compare it with a modern day system where now this very same average stock price calculator suddenly has to work cross platform, on the web and be able to communicate with millions of users in real time and at the same time that functionality is now broken down in several different layers, it's no longer that thing that runs on my computer. Patterns, concepts and ideologies exist for a reason, it's because it helps teams work together, if we follow the basic design pattern of let say mvvm across all of our user interfaces that builds on top of oop best practices i know that when i am looking at a view there is a corresponding viewmodel that contains everything necessary for the operation and data that belongs to that certain view. So if i need to fix something that is broken, or extend the screen with a new functionality it's the place where i would start my task, i will add my visual elements to the view then go back in the viewmodel and add calls to any external services that might provide data for my elements or update data based on my inputs. It will allow me to do wonderful things like separate teams, i can give the UI based work to less experienced developers, the business rules viewmodels based stuff to mid-senior developers ensuring that the person would not do weird stuff like forgot logging any security related concepts such as certificate validation when calling external apis ect ect and at the same time, i would have a really nice way to introduce transaction ids, which will help the guys working on the given apis to track bugs on their end as the client would be able to generate transaction ids and we can easily follow up logs in case we have an error in a certain api making both development and troubleshooting much easier in the long run. Having these models, allows offloading the work to different team members parts of different departments with different areas of experience, that are better suited for the task and at the end of the day it's not just oh someone decided that OOP is great, it really isn't but it's a concept that works, it's a structure easy to understand and it ensures that we follow a common pattern recognized by the majority of developers. Missing design patterns is what you end up when you look at someones react code, then you start pulling your head when you see a file that has 8000 lines of code, that define variables make network calls, push routes and update components as well as define nested components on the same screen because the guy went through few tutorials and somehow got a job at a sweatshop. Nothing against my follow colleges that write good react code, you're just the majority in bad practices because there isn't even a single way to define a project structure in react to start with so almost everyone follows his own thing with his own package structure. It's baffling that this is a discussion in 2024, i know Jonathan is a "legend", but such remarks shouldn't be part of any intelligent discussion past the early 2000s let alone in 2024, just because when you work alone for something that works on your computer for you hack it works, doesn't mean the same concept applies for modern software requirements

    • @lepidoptera9337
      @lepidoptera9337 21 день назад

      That's a bullshit defense of a broken programming model. :-)

  • @jupitersky
    @jupitersky Месяц назад

    My philosophy with rust is that slow is smooth, and smooth is fast. Am I writing critical infrastructure, where this is valid? No. Does it satisfy my autism and make it fun whereas I'd otherwise tear my hair out? Absolutely.

  • @pajeetsingh
    @pajeetsingh Месяц назад

    I don't know what the did I just watch.

  • @luisbrujo77
    @luisbrujo77 Месяц назад

    He's right, web development sucks, probably the most boring field of software development.

  • @swifcheese
    @swifcheese 2 месяца назад

    So does he hate it for any actual reasons or just cuz the name is weird? How's the performance of it?

  • @daimonvenus
    @daimonvenus 2 месяца назад

    What does he actually like ?