Creator of Node: I Hate All Software

Поделиться
HTML-код
  • Опубликовано: 6 сен 2024
  • Recorded live on twitch, GET IN
    / theprimeagen
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
    Have something for me to read or react to?: / theprimeagenreact

Комментарии • 348

  • @adrianocana2112
    @adrianocana2112 Год назад +528

    Ryan changed his mind after meeting Tom and learning JDSL

  • @henrymach
    @henrymach Год назад +155

    Node is clearly a demonstration of that hate

  • @daedalus5070
    @daedalus5070 Год назад +312

    No matter how smart or experienced you are, a lot of people are just trying to render HTML or put something on a screen at the end of it all. Worth remembering!

    • @TheRighteousDawn
      @TheRighteousDawn Год назад +5

      It's amazing how far modern web design has come.

    • @rj7250a
      @rj7250a Год назад +10

      @@TheRighteousDawn learning web dev now... wish that i could just learn Jquery, PHP and MySQL.

    • @_MoKhaled
      @_MoKhaled Год назад +1

      @@rj7250a What's the point ?

    • @AmeKniteCS
      @AmeKniteCS Год назад +7

      just moving 0s and 1s

    • @RandomGeometryDashStuff
      @RandomGeometryDashStuff Год назад +5

      @@TheRighteousDawn... and how bloated (try running document.all.length 💀)

  • @flyingsquirrel3271
    @flyingsquirrel3271 Год назад +86

    Didn't expect something this based from the guy who made people use JS for the backend. As if it wouldn't be bad enough that it has to be used for frontend. Insane.

  • @jma42
    @jma42 Год назад +27

    I really hate it, like the deeper you learn programming, the more you get disgusted on every software, libraries, etc.. Like its a cursed knowledge especially if youre someone that wants to build something with quality in mind.

  • @oleksijm
    @oleksijm Год назад +61

    "If software wasn't a tragedy, it would be a comedy"

    • @JasonBunting-sr4yb
      @JasonBunting-sr4yb 9 месяцев назад +1

      The _only_ difference between the two is merely perspective.

  • @radomane
    @radomane Год назад +29

    I now realize that Ryan Dahl is an accelerationist

  • @pskocik
    @pskocik Год назад +30

    This has honestly been my single favorite programming-related blog post on all of the Internet. I reread it from time to time for a cathartic experience which it never fails to deliver.

  • @xc13z829
    @xc13z829 Год назад +253

    I work on a large e-commerce site, redoing everything in React. The complexity is mind-numbing. Components chasing other components, passing props around like candy at a Xmas parade. It sucks hard.

    • @gor.
      @gor. Год назад +49

      "Thank you for choosing Spaghetti Airlines, we hope you will enjoy and never forget this enjoyable time wasted with us!"

    • @FlanPoirot
      @FlanPoirot Год назад +19

      yeah react is a mess of plugins and overcomplicated garbage. I personally have been enjoying svelte lately while it has a its fair share of complexity its way less than react and sveltekit has everything I personally need/want built in

    • @James-eg3nf
      @James-eg3nf Год назад +16

      It's the same with Angular. It's absolutely mind blowing how much overhead is required to do simple things, and that's just for core app development. When you get to spec testing, you're in the ninth circle of hell. But it pays the bills!

    • @goawqebt6931
      @goawqebt6931 Год назад

      How tf does christams shorten to Xmas

    • @gor.
      @gor. Год назад +1

      @@goawqebt6931 i'm not even English speaker but understand how. Or it's some joke i didn't get? :D

  • @crimsonhawk52
    @crimsonhawk52 Год назад +175

    In school my operating systems prof always used to say "we're teaching you how to write good software, not how to use bad software." She would say that when using literally any piece of software, usually written by microsoft.

    • @phitc4242
      @phitc4242 Год назад +21

      based

    • @SimonBuchanNz
      @SimonBuchanNz Год назад +5

      Grass is always greener: everything complained about in this post is the Linux land garbage you don't have to worry about on windows.

    • @heraldarnold437
      @heraldarnold437 Год назад +6

      @@SimonBuchanNz Umm...Yeah, sure, bud...

    • @SimonBuchanNz
      @SimonBuchanNz Год назад +4

      @@heraldarnold437 oh? When was the last time, as a windows developer, you had to worry about autoconf versions? $LD_LIBRARY_PATH? There's a million bits of Linux garbage that Linux devs are blind to "because that's how it works", that just don't exist on other platforms. Instead, you have other problems, of course, that's why I said "the grass is always greener"

    • @RotatingBuffalo
      @RotatingBuffalo Год назад +16

      ​@@SimonBuchanNzok but the grass actually is greener on linux

  • @bitskit3476
    @bitskit3476 Год назад +22

    You want to know what real rage is? Two days ago, I was watching a video on RUclips and happened to notice that I had like, 267 updates that needed to be installed. So naturally, I popped up the terminal, and did the pacman update ritual. As I'm watching the video, gstreamer *freezes my whole pc.* This is a normal thing. Usually only after like, 10-15 videos. The only solution is a hard reboot.
    And guess what sudo was updating when gstreamer decided to crash my pc? The kernel. A bug in gstreamer caused my fucking kernel to be deleted. I had to reinstall my entire operating system. I could beat the gstreamer devs to death with a stick of salami.

  • @SaHaRaSquad
    @SaHaRaSquad Год назад +53

    I'd have lost my mind by now if I didn't spend some of my free time coding the way I like. At work it literally takes 3 hours of dependency hell to get a web project running on a clean system. I had stuff break because a library version ended in x.x.10 instead of x.x.5 and apparently the developers don't understand their own versioning.
    And then I get home, sit down and compile my project in three seconds in release mode because it has no dependencies and just solves a specific problem without extra sauce. feelsgoodman

  • @darkdudironaji
    @darkdudironaji Год назад +66

    What makes all of this worse is that they don't teach you any of this shit in school. And because of bootcamps, they just expect you to know it all already, or no job for you. I graduated with a CS degree months ago, and am now learning web dev just so I can get out of my shitty construction job and hopefully find one in coding. It's getting fucking ridiculous.

    • @ipodtouch470
      @ipodtouch470 Год назад +14

      How did you finish a comp sci degree without looking into web dev? I’m not even talking about taking a course I’m talking about you self learning.

    • @darkdudironaji
      @darkdudironaji Год назад +18

      @@ipodtouch470 Because I have a child and a full time job that's an hour drive each way. Not a lot of extra time. Any time I started to learn web dev on my own, I'd have to take big breaks in between and would forget most of it.

    • @marcs9451
      @marcs9451 Год назад +24

      CS is not meant to teach you these things, and quite frankly it shouldnt asides from extra classes. CS is for having a fundamental understanding of how a computer works, algorithms, data structures, some math and the general conceptual framework that defines it.
      Besides, learning how to use a library ain't that hard after you've written a couple in something like C or C++. Although seeing how beautiful computing can be (regardless of having a degree) will make you despise the web with all your might

    • @darkdudironaji
      @darkdudironaji Год назад +15

      @@marcs9451 I understand that's not what it's for. I prefer the stuff I learned through my degree. But nobody is hiring someone that's a wiz at making CLI programs.
      Learning web dev isn't hard, and I could be better than any bootcamp graduate within a week of doing it full time. But they don't give you the opportunity without already having the skills, because of bootcamp people.
      It's annoying that these non-technical recruiters just look for things to check off and decide who gets an interview and who doesn't based on the wrong shit. It takes a day to learn HTML and JavaScript. I know C, C++ m, and Java. Another C based language, like JavaScript or C#, would be easy af to learn on the job. But they don't know that. So I don't even get the interview until I take a couple months of my free time to properly learn these skills and use them to create a new portfolio. I have a job. I have a kid. I'm tired of grinding with no ROI.

    • @joaovmlsilva3509
      @joaovmlsilva3509 Год назад +1

      Try software engineering, computer science is a program for computer scientists

  • @gradycdenton
    @gradycdenton Год назад +44

    Way back in the day medical Drs would be like, "We don't know why she's not getting better, throw more leaches on her." That's where were at in the software dev discipline.

    •  Год назад +1

      so true

    • @Amine-gz7gq
      @Amine-gz7gq Год назад +1

      Where I work, we now have to rewrite C# programs because they're infested with multithreaded bugs. Last time, I spent 4 hours trying to understand a bug and my conclusion was: rewrite the 3 programs involved because they all have concurrency bugs. the guy who wrote these programs (and who resigned a long time ago) underestimates the problems that multithreaded programming and distributed computing can create. he doesn't seem to be aware of the consequences of the code he writes.

    • @La0bouchere
      @La0bouchere Год назад

      Based

  • @kepper103
    @kepper103 Год назад +37

    That's why Tom is a genius

  • @Nacalal
    @Nacalal Год назад +6

    Damn, it's almost like adding incomprehensible layers of abstractions brings with it an inherent level of complexity that can be completely overwhelming and infinitely more obnoxious to deal with than a more simplistic starting point that requires more time to build with.
    Like sure, abstraction's not inherently evil, but my god does it suck when something breaks on a level you're not intimately familiar with and you have to PRAY someone else knows what's fucked up and how to fix it.

  • @ThePandaGuitar
    @ThePandaGuitar Год назад +5

    This is easily the best blog post ever written on the reality of programming. Newer devs below 10 years of experience won’t _feel_ this full force. The more you know the more you wonder it’s a miracle it works at all to be honest.

  • @Amine-gz7gq
    @Amine-gz7gq Год назад +3

    the thing I hate most about the programs I have to maintain is multithreaded, buggy code, in the end, we're forced to throw them in the garbage can and re-code something simple and clean. for god 's sake, use message passing to communicate between threads and don't let them touch the same resources (with or without locks, isolate stuff please). and no c# async stuff are not a good tool they are harmful.

  • @kamilkarwacki9590
    @kamilkarwacki9590 Год назад +159

    I bet Tom also hates all software, except his own, he's a genius

    • @ninocraft1
      @ninocraft1 Год назад +15

      especially his own, he's a genius after all

    • @eyadfareh9340
      @eyadfareh9340 Год назад +12

      JDSL is peak software

    • @d1ngd0
      @d1ngd0 Год назад +4

      He understands that comments aren’t needed. Unlike those worthless interns!

    • @xslashsdas
      @xslashsdas Год назад +1

      Yeah, I mean, he IS a virtuoso after all

    • @fiordnord
      @fiordnord Год назад

      Who's Tom?

  • @Brunoenribeiro
    @Brunoenribeiro Год назад +8

    Strong Jonathan Blow vibes here

  • @Jasonlhy
    @Jasonlhy Год назад +2

    I think this situation is more serious in C/C++ ….Some issues are historical
    I had computer science background but I mostly work with high level language in the past such as C# and JavaScript. Then I help C/C++ graphic team to build the webserver for different OS platform and bring them to the cloud. The amount of technical complexity and technical detail you have to deal with literally blow my mind, static library/shared library, different compiler and platform behaviour (e.g. wstring), I completely feel what the plain is….🥲🥲
    At the end what the server does, it parse different file format of a drawing into geometry data, all code and library are written in C++, each file format is handled by dynamic link library. The code have a really long history and just work, rewriting it in another language is never a choice.
    In the modern world with a lot of high level abstraction which can make things just work (in most case). It is very difficult to explain to people even the boss why some issues takes a lot of effort to develop and tackle, for example why text encoding issue keep happening…..

  • @Tarbard
    @Tarbard Год назад +2

    Good software is dependent on managing complexity, but often the things that are created to ostensibly manage complexity add to it instead. For example Java projects with multiple different dependency injection frameworks in a single app that magically inject things so it's hard to track down what is actually connected to what.

  • @RedLoopster
    @RedLoopster Год назад +2

    The only reason I'm ever studying anything coding related is for job interviews and that's the dumbest shit ever. "I could solve this simpler, but I know these people are more likely to like this completely unnecessary project hierarchy and unnecessary abstraction for these classes that are literally ever used once, but wOuLd Be UsEd MoRe LaTeR"

  • @digitalnorth
    @digitalnorth Год назад +11

    Surely he doesn't hate Tom's JDSL

  • @andreimorozov317
    @andreimorozov317 Год назад +1

    "Making the same mistake twice ~ let's go baby"! Legendary

  • @kennethbeal
    @kennethbeal Год назад +3

    Thank you for the healing session. Laughter is the best medicine. :)

  • @joakimolovsson7310
    @joakimolovsson7310 Год назад +1

    One problem is also that we often get bored and want to do some more advanced solution which is marginally better but its more interesting and fun. This drives up the complexity of simpler problems instead of doing simple solutions.

  • @Dygear
    @Dygear Год назад +5

    Ryan Dahl man, not the hero we deserve, but the hero we need.

  • @tiger-bee
    @tiger-bee Год назад +66

    Imagine a doctor saying I hate all medical procedures.😂

    • @sbditto85
      @sbditto85 Год назад +27

      At one point there was a dr who did and because of him we now understand germs and drs processes have changed

    • @xslashsdas
      @xslashsdas Год назад +20

      I imagine that would actually happen if doctors endlessly argued with each other about "incision patterns" and scalpel extensions

    • @tiger-bee
      @tiger-bee Год назад +1

      @@sbditto85 who?

    • @crides0
      @crides0 Год назад +3

      Yeah, US medical procedures

    • @JorgetePanete
      @JorgetePanete Год назад +1

      ​@@xslashsdas scientists may do that and over the decades we get new things

  • @danyfedorov3029
    @danyfedorov3029 Год назад +1

    The idea of Deno is giving us a good and usable vertical integration based on TypeScript. I think he knows what he does.

  • @spicybaguette7706
    @spicybaguette7706 Год назад +18

    In our web course at university, they forced us to learn Javascript prototypal inheritance. Classes in JS have been a thing since 2015. 2015!!! That is 8 goddamn years!!! And when supporting older browsers, just use a damn transpiler!

    • @Sergeeeek
      @Sergeeeek Год назад +9

      Classes are still using prototypal inheritance, it's just syntax sugar.

    • @wertrager
      @wertrager Год назад

      JS classes are shit. Don't use them. Write an object.

    • @bdkamil95
      @bdkamil95 Год назад +6

      1. Classes use it, it’s just prettier so you don’t see it.
      2. Are you naive enough to think that you won’t ever have to work with legacy code?
      3. What’s the big deal? The fact that they want you to learn how things work? In university? Lol

    • @DoDisturbedTv
      @DoDisturbedTv Год назад +7

      Honestly, it's good to know things work in the background. I'm sure you got something out of it whether you realize it or not.
      In my web course, they said they would teach JS, but instead, they taught Jquery.

    • @ipodtouch470
      @ipodtouch470 Год назад +1

      Good now you know how objects really work. The class keyword is just syntactic sugar anyway and if you have used classes in the past takes about a few minutes to figure out.

  • @megahiperence
    @megahiperence Год назад +3

    Someone once said that comedy is a tragedy that happens to other people (or sth like this) so basically software is both 😂

  • @shokhdev
    @shokhdev Год назад +16

    My feed all your videos I love it ❤

  • @bitskit3476
    @bitskit3476 Год назад +7

    If the computer just gave me direct access to audio/video memory, I could write a 3D game with basic music sequencing in like, a day. But no. I have to install a half dozen different libraries that have horrible documentation and require hundreds of lines of code just to put a fricken triangle on the screen. If a GUI framework just let me create a simple message handling loop for my own unique elements and gave me a pixel buffer so I could draw my own crap, I could create my own custom GUI. But no. Every GUI framework designer thinks that they can create every GUI element you will ever need to use and makes creating a new GUI element pure hell. Remember when GUI frameworks had form editors instead of requiring you to write XML? Pepperidge Farm remembers.

    • @isodoubIet
      @isodoubIet Год назад

      GUI design peaked with VB6

  • @dmitriyobidin6049
    @dmitriyobidin6049 Год назад

    It's like the typical reaction when you are trying to build something good and end up in a mess. And it happens 100% of the time. You can't just simply plan everything ahead and stick to the plan(like in construction, for example).
    Everybody is hating on waterfall methodology, but it looks like a much more healthier alternative to agile in terms of psychological health. You just plan and stick to it. Anytime something happens you just revise your plan, adjust it and continue. Jumping through the hoops of agile is just burning me from inside.

  • @TheNewton
    @TheNewton Год назад +9

    This is because soft-dev has yet to become an actual discipline.
    Oh people will opine that it is but it has no where near the rigor of engineering, medicine , accounting or law.
    And it will continue to be that way until it's gets it's own Hyatt Regency walkway collapse disaster.
    So schools and the culture itself skips a ton of sanity checks in the pedagogy of building our virtual world on heaps of garbage made with productivity in mind for creating the code not for the usage of what the code does.
    Though considering rocket sizes were limited based on the widths of horses from centuries ago if even a discipline like engineering is borked by past intractable decisions software will always be like this and when I press shift+right_arrow in a text box it will always be coin flip whether selects the new word or even it does anything at all and if it works when I paste it I can get invisible characters that ruin my day.

  • @equivocator7727
    @equivocator7727 Год назад +8

    There's something really relevant here that I like to point out whenever it's tempting to think of the inevitability of it all:
    Software is one of the youngest industries on the planet. We probably aren't anywhere close to knowing what's best.

    • @redcrafterlppa303
      @redcrafterlppa303 Год назад

      People defending (mainly) interpreted and gced languages are the best example
      Coth coth python coth coth

    • @colemanroberts1102
      @colemanroberts1102 Год назад +5

      ​@@redcrafterlppa303 to be fair, they are a good choice for certain domains. Interpreters allow rapid development relative to batch compiling. GC is optimal for certain allocation patterns. You shouldn't use them for everything, but I wouldn't web dev in C just as I wouldn't rewrite unix in python.

    • @equivocator7727
      @equivocator7727 Год назад +1

      For the time being we basically just have to work with this current situation and use whatever makes sense for the purpose.
      The future, however, will be defined by those who dare to challenge the status quo and actually try to do something about it.

    • @redcrafterlppa303
      @redcrafterlppa303 Год назад

      @@colemanroberts1102 but you can do both in rust so 🤷
      I feel like gc always brings more problems than it solves. It also hides memory from the developer making them unaware of it. The results are memory hungry calculator apps that take 4gigs of memory.
      Rust really killed the binary world of
      Segfault or gc with making the idea of a 3rd way mainstream.
      Interpreters just push flimsy buggy code "without errors".
      In my opinion both gc and interpreters are a huge misstep for the world of programming and should be banished as fast as possible.

    • @colemanroberts1102
      @colemanroberts1102 Год назад +1

      @@redcrafterlppa303
      Oh, are you using rust for frontend without invoking _any_ JavaScript? And for projects of the same scope?
      There are a bunch of options for handling memory, not just GC or manual. Linear types are just one, and they tend to be inflexible. Malloc-free, stack allocation, static allocation, arena allocation, reference counting, and GC are all options with different levels of flexibility and performance tradeoffs. For high numbers of allocations with unknown final scope where latency is acceptable, GC outperforms any other strategy, to the best of my knowledge. Also, GC'd doesn't mean it needs huge chunks of memory. That depends on the size of the data you're working with and whether you make the runtime give memory back to the OS. Yes, simple runtimes don't, but production systems tend to.
      I think you're confusing "interpreter" and "dynamic typing". Most SML descendents have an interpreter and are as strict or stricter than rust. Most dynamically typed languages do have error checking facilities, but delay them till runtime, as is appropriate for exploratory programming. Rust could benefit from an interpreter so you could test functions individually.

  • @fatmeatm8878
    @fatmeatm8878 Год назад +4

    Same could be applied with current hardware (not all hardware but mostly the states of needing drivers and not following standard for it to work is simply another level of complexity)

  • @gregorywalker1333
    @gregorywalker1333 Год назад +1

    i've been saying this for years and my coworkers look at me like i have two heads.

  • @liquidsnake6879
    @liquidsnake6879 Год назад +1

    I despise software and this is why i get a kick out of mass-deleting useless lines of code all day, i don't lead my team in anything on the statistics page on Github except most deleted lines of code lol

  • @yapdog
    @yapdog Год назад +1

    Yep. Software does, indeed, suck. Believe it or not, for nearly 2 decades, I've been working on a solution for *all* of this sh!t. ALL of it.

  • @RobertSmith-lh6hg
    @RobertSmith-lh6hg Год назад +6

    The web-tech stack being used to build desktop/mobile apps trend is garbagio. Use the tools that best work on the target platform, not the tools that kind of work on many platforms.
    Lazy coders gona lazy code though.

  • @matthiasg4843
    @matthiasg4843 Год назад +1

    truly spoken from the heart

  • @redcrafterlppa303
    @redcrafterlppa303 Год назад +17

    Industry standards are often a good thing but the overcomplicated frameworks and useless architectures we have today are just that overcomplicated and useless.
    I worked myself down from Java in the hunt for more control and less arbitrary restrictions. Today I officially hit rock bottom writing my stuff in assembly and writing my own language being fed up by this whole confusing mess software is in the current day. I would love to say the best thing is that you are the only source of error and you can only blame yourself. But sadly even at the bottom of the world of programming you are still slave to arbitrary restrictions and bugs from the holy operating system. If I go any deeper I might as well built my own processor.
    The question is then where is the holy middle ground where you have the least bull crap without reinventing breathing.
    If you ask Linus Torvalds his answer will be C.
    I'm not to sure yet.

    • @bitskit3476
      @bitskit3476 Год назад +1

      Welcome to my world, brother

    • @advanceringnewholder
      @advanceringnewholder Год назад +6

      it probably is C

    • @La0bouchere
      @La0bouchere Год назад

      Jon by Jai Blow

    • @jel1951
      @jel1951 Год назад +1

      The reality is your thinking doesn't help build productive software. You have to learn to accept abstraction and opinions of the community at large. You don't like how something is written? Write it yourself or use another implementation. You don't like how the syntax of a language? Use another. None of this childish intolerance will help you build anything useful.

    • @redcrafterlppa303
      @redcrafterlppa303 Год назад

      @@jel1951 sure it isn't the most efficient solution to role everything yourself and in business time is money. But in spare time I often do most of the stuff myself as many solutions do not fit my requirements for something.
      For example I roled my own DI framework in java and it was like 5x faster and a lot less awkward to use than something like spring. It sure wasn't as feature rich as spring but all the features required for the project where easier to use and more modern. If I write something that benefits from DI in the future I have my own version ready to go.

  • @parlor3115
    @parlor3115 Год назад +13

    I only hate software when it starts to smell. A beautifully written, well thought codebase is actually one of the best things in life. Only second to knowing exactly how to arrive at said code right away, as opposed to speding days looking for the right approach.

    • @semyaza555
      @semyaza555 Год назад +5

      All software eventually smells.

    • @CallousCoder
      @CallousCoder Год назад +13

      The problem is that this is subjective. There’s no objective way to classify what is a beautifully written code, just like there’s no objective way to judge if something is a beautifully written novel. And code doesn’t start to smell as it’s not evolving like a biological product 😂It’s stagnant in time - and that’s good code, written once and it does what it needs to do. But that seems to be a list art also in companies. Some companies change code just to to change code in order to keep having a job.
      Back in the good ole days we had two updates a year and they were new features. We rarely had bugs because we took the time to properly test - in healthcare, finance and energy you simply can’t “just fix it with an update” let alone back in the 90s when updates were done with floppies and code size mattered (arguably still should!). A little app that does close to noting already being 90MB in code and 900MB RSS memory because it has an embedded browser is just ridiculous. Those devs should be publicly named shamed and made sure to never even touch a computer again 😂

    • @parlor3115
      @parlor3115 Год назад +1

      @@CallousCoder By "starting to smell", the experience I had in mind is when you've been successful implementing a certain pattern then a small feature gets requested that doesn't fit with the pattern and you'd figure out how to integrate it without introducing breaking changes, but most the time, you're just not going to have enough time and end up with a half-assed solution that you don't feel satisfied with. And ofc, the result would be an inconsistent codebase which I think we can all agree is not "beautiful". Also, you'd be surprised by how many codebases out there where developers don't respect even basic human coding rights like single responsibility, KISS or even DRY which are each indicators of not so beautiful codebases.

    • @CallousCoder
      @CallousCoder Год назад +1

      @@parlor3115 I see and agree. However if you write or as I call it engineer your code then you are always only one abstraction away to solving a problem. And yeah my post on this video was that IT branch is infantile. Because nobody studying CS is taught engineering. And thus developers tend to do everything quickly and satisfy the request as soon as possible. I’m the last generation that didn’t have a dedicated CS program on BSc level it was packed in with EE. And electrical engineering teaches you to think in a different way than CS does. Not the least to not go for the easy and quick solution 😊But for the best solution when you know it prolongs the life span, serviceability, components and costs.
      And you need to build something that you can’t patch and needs to run usually a minimum of 5 years (more often 10-15) with the least amount of service.
      It’s a whole different mindset and I’m push that mindset at the devs at my clients. I get really ticked of when they say: “oh but that only goes wrong every now and then so we fix it by hand.” I’m often trying to contain my anger: “No… if there’s an error or problem every now and then, then the product isn’t ready for release. We are fricken bank! Find the root cause and solve it in a proper way.”
      -“but that can take many weeks”
      “So be it! Because you can count on it that this will occur when you have a disaster recovery or an audit or expiration or keys or certificates and then you have production down time and the one ‘who knew how to d it by hand has forgotten it or things have changed, or doesn’t work her anymore.’
      They always find me a pain and I go to the managers and explain them why we have a slow down and all of them are like: “I rather push back a few more weeks and know we have guaranteed working and compliant solution especially when they shit hits the fan! Than a rush job to meet an arbitrary deadline.”
      And the thing is this was taught in Engineering, you do not release something that isn’t perfect.
      Btw I do love the single purpose functions and often raise attention that IO should not be part of the business logic.
      But there are exceptions to the rule. Where I’ve broken that role. And that’s in small systems. Especially the old C64 where I did demos, having jumps and rets to different functions wasted too many cycles. You only had ~19k cycles for each frame. And sometimes you were even racing the beam.
      And in microcontrollers I’ve had to do that too.
      But on non-embedded systems unless it’s game or simulation engines there’s indeed no need.

    • @parlor3115
      @parlor3115 Год назад

      ​@@CallousCoder Can't say much for embedded programming since it's a completely different stack from what I do (web development), but "one abstraction away", while true, usually entails a huge amount of modifications for medium to large projects. And ofc, with so many modfications, you're bound to introduce breaking changes. I guess integration tests help you make sure, those aren't felt by the client, but refactoring is still a huge investment that can cause a lot of delays which no management will be content with, especially if they expect you to write the good code from the start.

  • @AScribblingTurtle
    @AScribblingTurtle Год назад +3

    Maybe its a sign of my inexperience, but this kind of got me triggered a bit
    "If you think it would be cute to align all the equal signs ..." I don't think it would be cute, but it can help readability and editability (keyword: Block-Select)
    "If you spend time configuring your Window manager or editor ... " So I'm not even allowed to configure the font sizes in my IDE because of poor eyesight then?
    Am I SOL when the sun shines on my monitor and the IDE manufacturer decides that Dark must be the default color scheme so that all the Hipsters can be happy?
    "Sorry boss, can't do. The guy who invented Node said it is bad for the User if I can see what is on my monitor."
    "If you do anything beyond just solving the problem ... " Pointless customization is pointless, I agree. However, there are also reasons for customization beyond wanting to be hip. Otherwise, how am I supposed to solve a problem in Code I physically can't read?

    • @adrianpurser
      @adrianpurser Год назад

      I also like to align my equal signs. I'm a fan of 'Tidy' code.

    • @LagMasterSam
      @LagMasterSam Год назад +2

      It's a point about how too many software engineers spend nearly all their time on things that don't really matter. There are even serious meetings and discussions about these things that waste time.

    • @ThePandaGuitar
      @ThePandaGuitar Год назад

      The point -> .
      You:

  • @low_sky9
    @low_sky9 Год назад

    I bet he never had to work in a project were there was no planning at all, where all the code was made by "just solve the problem" one piece at time. In the end? Oh boy, you dont want to see, YOU DONT WANT TO EVER TOUCH a project where all the problems were just "solved" one at time. The bigger problem is outside your vision when "just solving the one problem".

  • @ac130kz
    @ac130kz Год назад +8

    once you get some experience, you tend to stick to patterns and prefer this new own way of doing things, and keep this ideal in the head. It's just how our brains work

  • @necuz
    @necuz Год назад +2

    Lowkey suspect this is the reason SerenityOS has gotten a decent amount of traction

  • @Milky____
    @Milky____ Год назад +1

    The more I learn about code, the more I feel dis way

  • @BPTtech
    @BPTtech Год назад +4

    Hold my TempleOS

  • @sethryclaus
    @sethryclaus Год назад

    Thankyou for introducing me to this content. Deno is breath of fresh air but yea, everything is still completely fucked.

  • @schneefackel7053
    @schneefackel7053 Год назад +2

    And yet he proposed file descriptors and processes orchestrated with C as the solution? Great, let's put the possible failure cases of I/O into every part of the system, and completely lose sight of the problem domain by breaking it down to the 1972 idea of portable assembly…

  • @user-cx6ec2kp6u
    @user-cx6ec2kp6u Год назад

    The primegan after reading not but the title: "ah yes. I too hate all software."

  • @moeabdol_
    @moeabdol_ Год назад +2

    Primesian is the DrDisrespect of dev

  • @claudiusraphael9423
    @claudiusraphael9423 Год назад

    Frum tha depthz of thy hearrt ..

  • @lordvalen8133
    @lordvalen8133 Год назад +1

    If I created Node, I would hate software too...

  • @criptych
    @criptych Год назад

    If Portal taught me anything, it's that Comedy = Tragedy + Time

  • @NK-ds8qo
    @NK-ds8qo Год назад +1

    web developer discovers the depression that is sysadmin

  •  Год назад

    It seems like an honest sprint retro, BTW he forgot to reflect on "rm -rf node_modules"

  • @thekwoka4707
    @thekwoka4707 Год назад +4

    I think saying "the only thing that matters is the user experience" may also not be the correct take, cause it can make nightmare code to work on. It's not that different from "if it works, it's not bad code".

  • @PS3PCDJ
    @PS3PCDJ Год назад

    Good architecture + good organization -> easy(er) development -> better user experience

  • @dipereira0123
    @dipereira0123 Год назад +1

    The thing is simple... If you dont hate software, you didnt code enought software yet...

  • @cezarygrzanka4229
    @cezarygrzanka4229 Год назад

    6:46 I just get one user over 5 seconds.... it's going craaaaazyyyyyy

  • @therobustmole1137
    @therobustmole1137 6 месяцев назад

    I need to build an app for 2 users, and I DO NOT, want to install 5 things to be able to do it. HOLY

  • @DeanRTaylor
    @DeanRTaylor Год назад +5

    I know it's just a joke but I think people genuinely start to hate node because of the constant criticism and how much your channel has grown. Yes it's not efficient but how many tasks have been automated and gone towards helping global warming and making people's lives better because node is so much simpler to get started than, well, literally any other language. I see so many more people parroting what you say on reddit, must use vim, must learn go or rust and it makes me chuckle. I know a lot of good software engineers that started as javascript front end and who got exposed to backend via node/express and are now moving on to compiled languages and pushing the boundaries of efficiency at their companies. In my opinion node, obviously not perfect has done way more good than bad and we should appreciate it.

  • @hagscock
    @hagscock Год назад

    I know you've scoped some of Muratori's vids, have you seen "the thirty million line problem" from the molly rocket channel circa 2018?

  • @zoltannagy394
    @zoltannagy394 Год назад

    I am sure he (Ryan Dahl) more agrees today with his article than ever before 😊

  • @VictorHugoVideos
    @VictorHugoVideos Год назад

    At the same time I agree with him I also acknowledge that people aren't THAT nerd, and most of the complexity is there for a reason.

  • @StdDev99
    @StdDev99 Год назад +3

    The real problem is those snobby developers with OCD. That's why we end up with a lot of unnecessary complexities that serves no purpose. My rule is: if you're not solving a problem, you're creating one.

  • @muhamedkarajic
    @muhamedkarajic Год назад

    It was definitly fun to watch it, even if its so sad that it makes it fun.

  • @JeannoC
    @JeannoC Год назад

    The worst is some free users will come and say your free app has too much ads and how the price for the paid version is unjustifiable.

  • @AnthonyBullard
    @AnthonyBullard Год назад

    Yo Prime, real talk, where did you get the skin and keycaps for your 360? I love mine, but that looks absolutely incredible and i need something like it in my life

  • @qchtohere8636
    @qchtohere8636 Год назад +1

    I've never felt so vindicated about being a script kiddie.
    I can't believe something as pitiful as instancing paths and variables can make people go this nuts.
    Maybe I should give C a try, but honestly, bash alone is more than enough for my luckily happy experience of computing with a purpose in the last decade.

  • @Fiercesoulking
    @Fiercesoulking Год назад +5

    My take on this I wrote/writing my first mobileapp with c# and Xamarin done most of the phone stuff my businesses logic/model also database with Nhibernate and when I reached client-server implementation I ended up in a maze. What I read fist were suggesting WCF or gRPC. WCF Didn't worked out the way because of wrong version of NET on the other side but by reading up it seems client server communication technology change every 2-3 years and each iteration becomes increasingly complex to setup = more frustrating .

  • @ryanleemartin7758
    @ryanleemartin7758 Год назад +1

    nodejs...mistake on the world global warming and then recreated it with Deno..same mistake twice ,baby! dang. that's a deep cut.

  • @u9vata
    @u9vata Год назад +1

    The guy ranting about bad architecture... same guy go and build node to fuck things up 10x??? Omg....
    Lately I am doing IFC so can relate... was drawing boxes on paper for 1-2 days to exactly see how to properly generate file for a single wall piece "properly". Not so bad format because at least it has a specification unlike dwg and things like that, but still "design by comittee" kind of thing really..

  • @complexity5545
    @complexity5545 Год назад +2

    Because most of the guys in the CSC, engineering, and programming fields, should not be in it.
    I was lucky. I saw the good WW2 veteran computer inventors that literally made this stuff from the ground up. I could ask questions and they would talk about laying wire on the bottom of the sea and then making motorola after the war was over. Or why everybody pitched in to invent the mouse controller. Or why Discrete Plasma screens were made. I had 1.5 years of training from WWii vets and soldiers; well three-semesters.
    They taught us to make software easier as time goes on. But the boomer generations (and onward), never suppressed that internal crooked motivation of cash-flow by creating new bugs and features purposely to break stuff and stifle creativity which forces a consumer to depend upon some company (like a feen and their drug dealer). I clearly remember alot of the WW2 guys hating the newer professors because they reminded them of communism and OOP. I used to inside laugh when they would rant about Bill Gates OS. I mean .... how many times, do I need to learn a new programming language just to print pixels and wave-forms to a screen, speakers, printers, and disk storage.
    Then one day, you realize you don't have to do it, .... if you make your own 5h1t. We should have reached the point where everybody is making their own VMs and Compilers and freely sharing them via USPTO. But colleges and universities make sure to never do that; the dean needs tenure and more (useless) humanity and psychology classes (that are funded by engineering undergrads seeking student loans).
    P.S. All software is an interface to a filesystem and||or a (multi-threaded or concurrent) database.

  • @GordonChil
    @GordonChil Год назад

    Flip needs his Yerba Mates!

  • @T1Oracle
    @T1Oracle Год назад +1

    Money spoils good engineering.

  • @daltonyon
    @daltonyon Год назад +1

    Ryan's revolted with Tech Twitter Community 😂😂😂

  • @nekomakhea9440
    @nekomakhea9440 Год назад

    "when this happens, all of this shit will be trashed"
    god i hope so

  • @paweldamasiewicz
    @paweldamasiewicz Год назад

    Quick note Comedy = Tragedy + Time ;)

  • @Hancock1776
    @Hancock1776 Год назад

    "Urbit fixes this"

  • @TravisHi_YT
    @TravisHi_YT Год назад

    My biggest takeaway is wtf, you didn't get the Advantage Pro?!

  • @TatharNuar
    @TatharNuar Год назад

    The post-Web 2.0 state of web design is why I never want to touch web design ever again.

  • @_____case
    @_____case Год назад

    Everyone should read Ryan's post about Optimistic Nihilism.

  • @BinaryReader
    @BinaryReader Год назад

    I agree with Ryan on everything he's ever said and done, inclusive of the work he did on Node.

  • @623-x7b
    @623-x7b Год назад

    All we're doing as software developers is directing the flow of electrons on silicone chips. We've had all the tools we will ever need since 90s C++ all these modern bloat frameworks do is ensure that computers run as slowly as they did back then 😂 we've gone backwards. All the best software was from the 90s when hardware constraints meant programmers had to actually care about it now they're college grads who just want money and don't care about the craft they're not even interested in it!

  • @awesomedavid2012
    @awesomedavid2012 Год назад +2

    I just wish software could actually work

    • @bdkamil95
      @bdkamil95 Год назад

      Since when it doesn’t? I guess you typed it on a device running software. Right?

    • @ea_naseer
      @ea_naseer Год назад +2

      Even hardware doesn't work lol

  • @evlogiy
    @evlogiy Год назад

    Did you saw any of Rich Hikey's presentations?

  • @sanjayidpuganti
    @sanjayidpuganti Год назад

    Mr Prime could you give me a warning before licking the keyboard. I was not prepared to see that.

  • @_Code.Pilot_
    @_Code.Pilot_ Год назад

    Pro - to - type - al (pro′to·typ′al)

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff Год назад

    07:28 how many keyboards is that?

  • @giacomodelillo1719
    @giacomodelillo1719 Год назад

    Can someone please share article link?

  • @SimGunther
    @SimGunther Год назад

    Is this why we're all participating in the DIC on his github?

  • @redone823
    @redone823 Год назад

    anyone know what kind of keyboard he has? thanks

  • @LegitBanananas
    @LegitBanananas Год назад

    you can extend this to vim and neovim setups :P

  • @Jankoekepannekoek
    @Jankoekepannekoek Год назад

    Comedy = Tragedy * Time

  • @stercorarius
    @stercorarius Год назад +8

    why cant i stop watching your videos