Will Javascript win? | John Carmack and Lex Fridman

Sdílet
Vložit
  • čas přidán 5. 08. 2022
  • Lex Fridman Podcast full episode: • John Carmack: Doom, Qu...
    Please support this podcast by checking out our sponsors:
    - InsideTracker: insidetracker.com/lex to get 20% off
    - Indeed: indeed.com/lex to get $75 credit
    - Blinkist: blinkist.com/lex and use code LEX to get 25% off premium
    - Eight Sleep: www.eightsleep.com/lex and use code LEX to get special savings
    - Athletic Greens: athleticgreens.com/lex and use code LEX to get 1 month of fish oil
    GUEST BIO:
    John Carmack is a legendary programmer, co-founder of id Software, and lead programmer of many revolutionary video games including Wolfenstein 3D, Doom, Quake, and the Commander Keen series. He is also the founder of Armadillo Aerospace, and for many years the CTO of Oculus VR.
    PODCAST INFO:
    Podcast website: lexfridman.com/podcast
    Apple Podcasts: apple.co/2lwqZIr
    Spotify: spoti.fi/2nEwCF8
    RSS: lexfridman.com/feed/podcast/
    Full episodes playlist: • Lex Fridman Podcast
    Clips playlist: • Lex Fridman Podcast Clips
    SOCIAL:
    - Twitter: / lexfridman
    - LinkedIn: / lexfridman
    - Facebook: / lexfridman
    - Instagram: / lexfridman
    - Medium: / lexfridman
    - Reddit: / lexfridman
    - Support on Patreon: / lexfridman
  • Věda a technologie

Komentáře • 595

  • @stupidguy97
    @stupidguy97 Před rokem +313

    I love how Carmack can just casually speak at length about trade-offs that most people wouldn't even consider. True mastery and knowledge.

    • @ItIsYouAreNotYour
      @ItIsYouAreNotYour Před rokem +8

      This was every 90s programmer's idol.

    • @bruuuuuuuuuh
      @bruuuuuuuuuh Před rokem +2

      @@julianrandall3550 yet the whole industry is loaded with fad languages and frameworks that chase metrics that don’t matter, especially in JavaScript where every year there’s a new “must use” framework or build tool.

    • @stt.9433
      @stt.9433 Před rokem +17

      It's easy to see that he's not just a good programmer, but a great CTO. Someone who understands weighing the costs and benefits in a project or system and targeting the resources in the right areas.

    • @ItIsYouAreNotYour
      @ItIsYouAreNotYour Před rokem +7

      @@stt.9433 One of my favorite quotes of him is when people ask, "When will the game be released?" and he says, "When it's done." Too often, games are set with deadlines that ship just an awful product. Unfortunately, when it's done, really failed in the aspect of the Rage series. It took so long, it was behind in technology.

    • @TFSned
      @TFSned Před rokem +3

      @@ItIsYouAreNotYour I don't think the problem with RAGE was the technology. It was one of the only 60fps open-world games on the PS3/360 (The only other one I can think of was Burnout Paradise) and Carmack's new iD tech engine allowed every area in the game to have unique textures.
      The problem with iD's games post-Romero and pre-DOOM 2016 was that the technology was the focus instead of the game design. DOOM 3 was a good tech demo but a weak shooter, and RAGE was just a checklist of popular game concepts of the time (Open world, post-apocalypse wasteland, shooting, driving).

  • @SigSelect
    @SigSelect Před rokem +224

    I love long podcasts, but am really happy you put these clips as I don't always have time for 5 hours.

    • @simiuciacia
      @simiuciacia Před 8 měsíci +1

      It doesn't have to be watched in just one sit, Carmack is always worth listening to

  • @bliggode
    @bliggode Před rokem +60

    loved this interview. really this guy knows his stuff without trashing other opinions/views. software development nowadays is not just about performance, but also about maintainability, reusability, and finding people to actually implement your idea. Having a single language to do it all and having much worse performance is okay, if the user does not care about the performance and the application still feels okay/responsive.

  • @blaedmon
    @blaedmon Před rokem +27

    Dude. Ask Carmack "whats your favourite color?" and he goes on to daisy chain stories which culminate in the retelling of the beginning of the universe.

  • @andersmalmgren6528
    @andersmalmgren6528 Před rokem +154

    For large complex systems running javascript you need typescript. Static typing is a must for large systems

    • @over1498
      @over1498 Před rokem +27

      Only if you have a bunch of dummies working on it and you’re constantly onboarding more dummies… which to be fair, is every large company.

    • @andersmalmgren6528
      @andersmalmgren6528 Před rokem +46

      @@over1498 no matter how good you are it's nice with static typing for example when you're doing large refactorying .

    • @flowerofash4439
      @flowerofash4439 Před rokem +5

      the compiling time that typescript need to run the code is such a pain, we already have the biggest problem any developer have which is the development time, the compiling time double that up.
      its like if you are dying from heart disease but you keep eating meat because meat have one of the most complete nutrients, you feel healthy if you ignore your heart health.

    • @bansh3ee
      @bansh3ee Před rokem +22

      @Flower of Ash that's bs. The compile time is negligible compared to the time it will spend running, and it brings massive benefits that make maintenance and future development much easier

    • @spankyspork5808
      @spankyspork5808 Před rokem +8

      @@over1498 TypeScript is a superset of JavaScript. You can literally write JavaScript inside of TypeScript. There is no reason whatsoever not to go with TypeScript.

  • @damaroro
    @damaroro Před rokem +32

    I rarely see people who are good at coding but also good at talking, so when I see this podcast I was like DAMN MAN HE IS PRODIGY

  • @rpyt_7
    @rpyt_7 Před 9 měsíci +11

    00:03 🪐 JavaScript is widely used, even though it wasn't respected initially.
    01:00 ♻ Garbage collection is beneficial for most programs, despite some dissenting opinions.
    02:23 💻 JavaScript's strength lies in its libraries and infrastructure, making it versatile.
    03:32 🚀 Efficiency matters, but not always; context and user value should guide optimization.
    07:49 🧬 JavaScript's evolution resembles biological evolution, with inefficiencies and adaptations.
    11:30 🏌 Code golf highlights creative possibilities within programming languages.

    • @franko8572
      @franko8572 Před 7 měsíci

      You do that programmatically or by hand?

  • @BubblegumCrash332
    @BubblegumCrash332 Před rokem +14

    I know that game dev who was trashing garbage collection was Jonathan Blow

  • @StephanHaloftis
    @StephanHaloftis Před rokem +6

    The creative genius is necessary for the evolution of the method and toolset. They’re the pioneers of industry, paving the way for standards and best practices which create a curriculum for trade and occupation. They’re the artists.

  • @jasonseparovic6345
    @jasonseparovic6345 Před rokem +162

    Typescript made sense for us just to keep it simple and use one language across the board. We weighed up Python vs Node in the our APIs, but when you’re using React for a front end there’s a lot of benefit in sticking to the same language in the backend especially around code generation which can then be used across multiple tiers.

    • @David_Raab
      @David_Raab Před rokem +27

      In my opinion people just want to use use one language, instead of two. That's something different then simple or easy. And it makes sense to master one language and know one eco-system instead of learning two. But that still isn't a reason for JavaScript. Instead of bringing a language like JavaScript to the backend, we also could have chosen to bring the backend-languages to the frontend. And thanks to some engineers thats happening. We can compile C++ to JavaScript, F# to JavaScript or in near future directly execute a WebAssembly written in any language. So we can get rid of JavaScript.

    • @Mopark25
      @Mopark25 Před rokem +23

      @@David_Raab why would you want to do that, though? C++ or F# is just overkill. JS and its ecosystem isn't going anywhere.

    • @jasonseparovic6345
      @jasonseparovic6345 Před rokem +9

      @@David_Raab I think the ability to scale out a team and hire developers is an important factor to consider too. We also took into account the time it takes to recompile/restart an application. In my previous role, this was about a 5 minute wait which was extremely painful (j2ee/jboss). Getting this down to 10 seconds or so has been a huge benefit for dev speed and we’ve been able to achieve that with Typescript and a micro services architecture.

    • @folkrav
      @folkrav Před rokem +9

      ​@@David_Raab WASM is still missing host DOM bindings for now, so most usecases aren't covered - but there's hope. However, not gonna lie, I'm also kind of wary of the idea of having arbitrary binaries running in our browsers and how this is gonna impact user privacy and security.

    • @David_Raab
      @David_Raab Před rokem +7

      @@Mopark25 What do you mean with overkill? The language is easier and more sane than JavaScript and you get all the benefits of a far more stronger typing system compared to TypeScript. As it compiles to JavaScript with Fable, what's the point of not using it compared to TypeScript? And you can use the full JS eco-system in F#/Fable too.

  • @flowerofash4439
    @flowerofash4439 Před rokem +11

    title: javascript...
    the actual video: nature and nuclear power

    • @DinnerForkTongue
      @DinnerForkTongue Před rokem +2

      That's how being cultured works. John is not pigeonholed exclusively to his field of expertise.

  • @chairlovawitabat
    @chairlovawitabat Před rokem +63

    Little known fact, under the hood the GCC compiler is actually built on the V8 engine which runs JavaScript. Therefore, there’s JavaScript inside C. The Apollo mission was powered by JavaScript software. Hell even the earliest Fortran programs relied on JavaScript in the early days to leverage some APIs and run some coroutines that were out of reach for Fortran, that JavaScript was capable of doing (think of the most basic string manipulations). JavaScript was literally invented before regular expressions was even a thing, hence the reason why in JavaScript you can define regular expressions in multiple ways (instantiate with new Regex, or with //). JavaScript’s asynchronous nature underlies modern communications architecture, like radio, cell towers and a the undersea internet cables. President McKinley was wrong to doubt the nascent JavaScript language while it was still in development but Theodore Roosevelt understood it’s revolutionary potential, and all of us owe Teddy a great big thanks for the appropriations bill he passed in 1906 to fund further research in technology to improve upon the already aging, outdated Internet Explorer/PHP technologies, which were dominant at the time the bill was passed.
    Very glad JavaScript is getting it’s time in the sun, finally after 116 years. Haters gonna hate but Bun.js is gonna take us to Alpha Centauri and beyond (look at the performance improvements reported on bun’s website and tell me w a straight face that Bun/JavaScript won’t power future space exploration).
    Edit: Sorry, it was 116 years ago, not 114 years ago. Don’t wanna perpetuate misinformation.

    • @justin3594
      @justin3594 Před rokem +23

      Glad you made that edit to make this post 100% accurate. I appreciate learning this history. Is it true that engineers were simulating computer hardware in JavaScript before the first vacuum tubes were even on the drawing board?

    • @kristofgatter
      @kristofgatter Před rokem +22

      Let's not forget the ancient Javascript code they found written on parchments that archeologists discovered alongside The Dead Sea Scrolls.

    • @FloKorp86
      @FloKorp86 Před rokem +1

      No. Wrong. All of it. How can you be so wrong!!!
      Edit: I don't have a sense of humor

    • @ridekim
      @ridekim Před rokem +1

      Lol, JavaScript in Apollo missions. What's funny is SpaceX is using JavaScript to power the GUI in Crew Dragon :)

  • @bsheldon2000
    @bsheldon2000 Před rokem +18

    What makes javascript special is not the language, but the environment it grew up in. An interactive environment with user interface things like buttons that need attention, data that lives on some server that may be far far away, connected by unknown networks that may be slow and unreliable. And in order to deal with this, the programmer has no choice but to do event driven, asynchronous programming. Which laid down a whole style of programming that would find its way into areas that didn't demand it, but often led to libraries that fit more into the way the real world is.

  • @Roboprogs
    @Roboprogs Před 6 měsíci

    I have been programming since 1983. I actually like modern JavaScript (with judicious use of JSDoc annotations and IDE support), without TypeScript overhead. I would like to include C or Rust stuff via Webassembly at times, though. I guess I need to look into that.
    Past work in Pascal, xBase, C, Perl, Java, C#, sundry other little “duties as required”, as well as dabbing in Lisp, C++, Ruby, Go, Groovy.

  • @DamonCzanik
    @DamonCzanik Před rokem +60

    I have a love hate relationship with JavaScript. It's the duct tape of the internet. Great in versatility but it's not exactly intelligently designed. If we could design the web today, it wouldn't look anything like we have. We have kludgy fixes to fix problems built on top of each other. Each piece of new tech added to the stack designed to address fundamental problems without a proper redesign.
    And tying so many of those systems together, JavaScript. Now we make things from the ground up in JavaScript but it still feels like we're making an airplane made of duct tape. And every few years something new to fix issues with JavaScript. So we get stuff like TypeScript. The cycle never ends.

    • @scottydog9997
      @scottydog9997 Před rokem +1

      I wouldnt call it duct tape, its more like raw materials, or tooling.
      The tools and raw materials are not intelligent on their own, how they are planned and constructed by the user is where the intelligence comes in.
      Implementation is the key to something being well architected, given even C code can be just as ill constructed.

    • @jon1867
      @jon1867 Před rokem +6

      Honestly, typescript did a phenomenal job of making apps not feel like duct tape tho!
      I prefer typescripts typesystem to pretty much any other typesystem for the types of programs that Javascript is made for. It could stand to get a few more bells and whistles, but overall it's actually an EXTREMELY GOOD typesystem.

    • @DamonCzanik
      @DamonCzanik Před rokem +2

      @@scottydog9997 I still stick to my duct tape analogy. It's whole purpose was to fix little problems that HTML couldn't deliver. So much feels like a hack. So much that you need tools, browsers and frameworks to make up for its inadequacies. It's still layers of fixes upon fixes while neglecting fundamental problems with the original design. We're just used to it. It doesn't mean there aren't problems.
      But it's part of a much larger issue. Programming as a whole still feels like we're dealing with stone tools. We're still dealing with a text editor and a compiler (or something equivalent). Nothing that different than the 1980s except the text editor just looks nicer. Not much more than higher resolutions, added colors and some auto complete of commands. Not even a simple drag and drop graphical feature. We have massive advances in AI, the entire internet and yet so much is ignored. If you have ever read code from massive projects it takes a long time to understand the pieces. So we create diagrams to help explain it.
      We force ourselves to use different programming structures when it feels like that's something an AI should do, and our abstraction level should be higher up. We should be dealing with logic and flow like a conductor conducts an orchestra. The bulk of the work should be done by the machine using a shared knowledgebase across the internet. We shouldn't be dealing with parsing arrays, sorting data, cleaning inputs, garbage collection, data structures, etc. Most of our time is wasted on the small stuff rather than the actual logic. I know maybe 30 languages in my career because of the inadequacies of each language.
      If I ask my computer to create a web page, it can't. Despite trillions of examples online. I can't say "make the buttons look like this". I have to do it myself. Themes don't radically change the look and feel. We have all this code in objects, but our editors don't grab the objects as we need them. We adapt ourselves to the computer when it should be adapting to us. Natural language processing, learning about issues and automatically updating, learning by example. We have AI that can make amazing art with simple descriptions. Why can't our most advanced languages do the same with code? We need to acknowledge our processes are fundamentally flawed.

    • @scottydog9997
      @scottydog9997 Před rokem

      ​@@DamonCzanik Your thoughts reflect my own, I actually cant argue with you on the points you have raised.
      We are to some degree making some progresses, but it always feels so lacking.
      e.g flutter is supposed to be our answer to build once deploy to many platforms, but the individual programmer still needs to understand the nuances of each platform to make use of the underlying hardware were necessary.
      Need port access, need bluetooth access? need to handle the data inputs in slightly different ways or through different feeds dependent on whether it is web, mobile of desktop? Well you will still have to write platform specific code, and reinvent the wheel.
      Sometimes you may even need a C++ work around, and access that from a different location. You may need to develop your own external API to work around the business logic against a database you can not work with directly.
      Personally I thought node.js was a mistake, because different languages have different purposes, and they should stick with their strengths. JS will always be web front end manipulation of the DOM, I still cant use it as a backend language, it intuitively feels like a mistake waiting to happen.
      I'd almost be willing to say "I would rather use PHP, than node.js", since I think that a real separation of concerns should also entail a separation of languages for a given use case.
      Just to borrow on your statement "I know maybe 30 languages in my career because of the inadequacies of each language". Totally agreed, and they all have their strengths as well.

    • @shimadabr
      @shimadabr Před rokem +1

      @@DamonCzanik What you seem to be asking for is a no-code/low-code environment. That's already present at some capacity. But it's IMPOSSIBLE for them to replace "raw programming", every time someone tries to create a "drag and drop" environment to replace programming it fails miserably. And the reason is simple, what you want is realised on the implementation, and programming IS the implementation, no-code/low-code have many shortcomings because it can only help with the "common denominator" of systems, and the more stuff you add to the system, the messier and unscalable it gets.
      Modern AI is helping on this too. You can ask for a piece of code or functionality and it can spit out some working code. It's a great starting point, but as far as I can tell the stuff it outputs may not be ideal for production code and it doesn't give any clue how to "stitch" together all the code to make a cohesive system.

  • @mudaquetoca
    @mudaquetoca Před rokem +6

    Javascript is just like Sonic Unleashed's opening song: endless possibilities. Of course it has its shortcomings, but being so powerful, so simple and so omnipresent makes it an excellent choice

  • @oglaucio
    @oglaucio Před rokem +5

    63.588 new JS frameworks have been released since the time of this recording...

  • @BasketballDAD01
    @BasketballDAD01 Před rokem

    Starting a JavaScript based bootcamp in January, excited!

  • @onyelaudochukwuka2783
    @onyelaudochukwuka2783 Před rokem +5

    This is really awesome all javascript programmers should watch this

  • @nikthefix8918
    @nikthefix8918 Před rokem

    But I thought 'The Sim' was written in green, vertical machine code?

  • @a.k8069
    @a.k8069 Před rokem +4

    7:33 correct. Efficiency isn't the goal, scale and speed is.

    • @SmallSpoonBrigade
      @SmallSpoonBrigade Před rokem +1

      How do you manage scale and speed without efficiency? Saying that you want scale and speed without efficiency doesn't make much sense.

    • @niks660097
      @niks660097 Před 4 měsíci

      @@SmallSpoonBrigade speed = developer coding speed, scale = 100s of devs working on different part of same codebase.

    • @paca3107
      @paca3107 Před 3 měsíci

      skill issue

  • @JohnWilliams-gy5yc
    @JohnWilliams-gy5yc Před rokem

    Hammerhead Shark: We simply only statically types.
    Whale Shark: Dynamic types vm are slower. However we are massive and robust, dude.

  • @Narblo
    @Narblo Před rokem +1

    Is not the efficiency that java lacks, it is a scripting language doing its work so it is fine in that regard, pretty well actually. But the rules of the language that are a mess and make it awful to work with. The reason we got Typescript and everyone jumped to it is the proof that everyone work better with clearer rules

  • @schemagroup1
    @schemagroup1 Před rokem +1

    Not sure why the community hasn't adapted to using WebAssembly, since you can use any language in the browser.

  • @Kevinjimtheone
    @Kevinjimtheone Před rokem +1

    I wonder how many people in the world can realistically say, "I was wondering what humanity-defying technology I should redefine next: AI or Nuclear energy?". I'd wager that Venn Diagram's inner join returns just John Carmack.

  • @isoboy2125
    @isoboy2125 Před rokem +12

    Plot twist: Human civilization is long gone precisely because they're using JavaScript everywhere 😆

  • @Master-me5ed
    @Master-me5ed Před rokem

    Everything has its own usage... For JS its should be simple FE. I cant recall i thing where JS beats for example net6 on BE.

  • @bar10dr
    @bar10dr Před rokem +3

    I hope WebAssembly decouples from js on browsers

  • @alexanderpoplawski577
    @alexanderpoplawski577 Před rokem +4

    That was quite a journey for a simple question.

    • @andyhall7032
      @andyhall7032 Před rokem +1

      Just needed to invoke Betteridge's law of headlines.

  • @manit77
    @manit77 Před rokem +10

    He's very humble. What a great guy.

    • @trex511ft
      @trex511ft Před 9 měsíci

      And he is so smart, it's hard for me to grasp how someone so smart doesn't get cocky or irritated by dumb people (which is a lot of the people) once in a while. Maybe he did in the past and just learned to not do it? Idk..

    • @simiuciacia
      @simiuciacia Před 8 měsíci

      @@trex511ft He has an efficient mind when it comes to his craft, but I doubt he'd be willing to waste his time on smalltalk during a Christmas party lol

  • @IhsanMujdeci
    @IhsanMujdeci Před rokem

    JS caught on because it is the only language in the web and then nodejs came along send brought it to the backend.
    All of a sudden you can learn 1 lang and apply it on both ends.
    Luckily we have typescript now and js projects are actually typed.

  • @sparkfx5874
    @sparkfx5874 Před rokem +13

    How do you guys feel about Elixir? I love JS in some ways and definitely have some gripes but running the typical Elixir stack for web apps and such still necessitates having JS in there somewhere. It sort of begs the question: "If Elixir can't be self-sufficient and still needs JS for certain things why are we trying to replace JS with it?" Idk, maybe just coming from more OOP oriented languages I'm not convinced that a functional programming language is the best solution.

    • @Sergeeeek
      @Sergeeeek Před rokem +4

      Elixir is also functional. Besides elixir is way more than just a web backend. It has a long history, because elixir is basically erlang, but with better syntax (imo).
      Erlang wasn't built for web, it just so happened that the actor model really fits web workloads.

    • @sparkfx5874
      @sparkfx5874 Před rokem

      @@Sergeeeek I get that it was built off of erlang and accounted for fault tolerance, wanted to tackle problems like concurrency and asynchronous tasks, but it does make for some difficulty developing webapps.

    • @poulticegeist
      @poulticegeist Před rokem

      Once a statically typed version of elixir is released will I reconsider it. I never understood the hype around it

    • @Sergeeeek
      @Sergeeeek Před rokem

      @@poulticegeist it has an optional type system. Most libraries already use it.
      I believe you can configure it to always require specifying types in your code as well.

    • @jon1867
      @jon1867 Před rokem +1

      ​@@poulticegeist WhatsApp built a backend that had a billion concurrent users with 30 engineers, and erlang was one of the main components. So regardless of how it feels ergonomically as a developer, it's effectiveness is pretty undeniable. But its probably worth noting that Erlang / Elixir was designed for specific types of concurrent programming and fault tolerance. Javascript is a much more generally applicable language.

  • @Ready_Fire_Aim
    @Ready_Fire_Aim Před 7 měsíci

    at uni early 2000's we were told java was the thing of the future, (its on over a billion devices *insert sun emoji*) and the lecturers said it was better to not know any language and start java than to already know some... i wonder how many languages there are that are similar in nature. ???

  • @BecomeAWebDev
    @BecomeAWebDev Před rokem

    what a great guest, thank you

  • @AntonAdelson
    @AntonAdelson Před rokem +2

    People simp for that Tesla (and PayPal) guy but imho the Earth would benefit more by listening to John Carmack

  • @RTC1655
    @RTC1655 Před rokem +3

    I used the first incarnation of Javascript, which was buggy af.

  • @greed7513
    @greed7513 Před 7 měsíci

    I get it but i’m so tired of working with javascript/typescript, I wish I was using go or rust professionally but I’m already comfortable and getting paid well as a full stack js developer

  • @arcanernz
    @arcanernz Před rokem +8

    Where I work at we use Typescript for every layer of our development stack even devops via cdk. A robust type system is required for working in a team on complex apps. Every app eventually becomes complexed if worked on for long enough.

    • @pleggli
      @pleggli Před rokem +1

      The downside of typescript is that the isn't any typescript runtime that can guarantee that a variable actually has the type that you tell the typescript compiler it has. There are no zero values and so on. Even though TS adds some type information to JS it is still not as good as the languages that were built from the ground up with a static type system in mind. In most larger TS programs I am encountering reading a null value / non existent property is a very common error in production code while null pointer errors are typically not in the top for the languages that has those because they often have more ways to avoid that from happening.

    • @nicholasdominici
      @nicholasdominici Před rokem

      Same here at the startup I'm at.

    • @miraculixxs
      @miraculixxs Před rokem

      No it's not

    • @arcanernz
      @arcanernz Před rokem

      @@miraculixxs I’ll agree to disagree.

    • @arcanernz
      @arcanernz Před rokem

      @@pleggli There are better languages than Typescript, I’m just saying if you have to use JavaScript for your job Typescript is a must at least for me.

  • @mtbjason4
    @mtbjason4 Před rokem +23

    I've been investing a lot of time learning Rust as I think it could solve some of these problems. I just hope it continues to catch on...

    • @wyqtor
      @wyqtor Před rokem

      Rust is a bit too complicated to really gain traction. I think Julia is closer to that sweet spot of performance vs. Python-like syntax. With MIT pushing it, it has some chances of becoming mainstream.

  • @tomvance3646
    @tomvance3646 Před rokem +7

    Modern JS with a type system is actually a good language. Fast enough for a lot of general purpose tasks since its de-facto reference implementation is an optimizing JIT Compiler.
    The package system is still a nightmare though.

    • @jon1867
      @jon1867 Před rokem +2

      IDK about a nightmare, but it could use some work. I like it better than when I was a ruby developer, and I think its probably alot better than if you're doing anything like C, C++ etc...

  • @0xABADCAFE
    @0xABADCAFE Před rokem +4

    I have a love/hate relationship with JavaScript. I hate it and I love to hate it.

  • @bipuljha792
    @bipuljha792 Před rokem +1

    Man these clips are forcing me to watch the whole podcast

  • @vidhyanandcs1197
    @vidhyanandcs1197 Před rokem +1

    Javascript can be picked up fast and i respect that...

  • @rolendude
    @rolendude Před 7 měsíci

    What I hate about JavaScript/typescript is that you pretty much need to subscribe to react or some other framework to adequately debug issues. Vanilla js embedded into html is not viable if you have a large project/code base. I just don’t like the reliance on the “Philosophy” of running such a large portion of your system on the client side. The qol is difficult to ascertain to say the least.

  • @Goodborni
    @Goodborni Před rokem +1

    My man said our human code is meh 💀🤣

  • @ordermind
    @ordermind Před rokem +14

    I'm surprised he didn't mention Rust as an alternative to using garbage collection.

    • @HappyAppart
      @HappyAppart Před rokem

      Nice

    • @loungebylounge
      @loungebylounge Před rokem +1

      He does, in the full interview.

    • @PeakKissShot
      @PeakKissShot Před rokem +1

      He doesn't have much experience with it but he does bring it up at some point

    • @KANJICODER
      @KANJICODER Před rokem +2

      I hear good things about Rust's Theft Police .

    • @alexanderhamilton7753
      @alexanderhamilton7753 Před rokem +1

      @@KANJICODER hahaha fuck, this is the best analogy for borowing etc in rust. love it!

  • @andyhall7032
    @andyhall7032 Před rokem +1

    "without type systems...." err...typescript then ??

  • @dinobotpwnz
    @dinobotpwnz Před rokem +2

    I have no problem with a language having optional garbage collectors. I do have a problem with mandatory garbage collectors.

    • @MagnumCarta
      @MagnumCarta Před rokem

      Why do you have a problem with mandatory garbage collectors?

    • @dinobotpwnz
      @dinobotpwnz Před rokem +2

      @@MagnumCarta When I have already figured out what memory to free? Of course I'll have a problem with something that keeps running in the background only to repeatedly discover that there's nothing to do . Even worse, most languages with mandatory garbage collection actively stop you from freeing memory.

  • @niks660097
    @niks660097 Před 4 měsíci

    Javascript has similar problems as C/C++, you can really shoot your foot hard with its weird eualities and object concatnations similar to pointers in C its unpredictable e.g true + true + true = 3 or typeof NaN = "number" i mean wtf!?

  • @miikavihersaari3104
    @miikavihersaari3104 Před rokem +1

    Businesswise performance isn't always the best metric, since people have gotten used to software being sluggish. But computers are blazingly fast and software seems to be getting slower. This isn't exactly inspiring.

  • @nenadvicentic
    @nenadvicentic Před rokem +1

    Took him 7 minutes of video to avoid directly saying that JavaScript is just a piece of crap.

  • @MrDebranjandutta
    @MrDebranjandutta Před rokem +21

    For a C purist like him, would've been fascinating to hear his opinions on Rust and Carbon

    • @curls6778
      @curls6778 Před rokem +6

      There is a video out there that goes into that. If I remember correctly, he likes Go and would like to get to use it more for his work, he has coded some Rust just to try it and he didn't mention Carbon.

    • @gianni50725
      @gianni50725 Před rokem +5

      Why even mention Carbon? It's not even a working language yet. You probably saw memes about it and thought it's a serious language when it's not even out yet

    • @MrDebranjandutta
      @MrDebranjandutta Před rokem +2

      @@gianni50725 hey if Google puts it's heft behind a language it will turn out well like Go and Dart

    • @testtestsson4927
      @testtestsson4927 Před rokem +2

      I think he mentions rust somewhere in the full interview. He said he used it for some test project to try it out. He made something that is really complex to most people but for him it was ez. Don't know what he thinks of the language though

    • @ghosthunter0950
      @ghosthunter0950 Před rokem +1

      @@MrDebranjandutta not necessarily. Google has an absurd amount of abandoned projects.

  • @Henrix1998
    @Henrix1998 Před rokem +2

    This is extremely end-user specific viewpoint. In reality without languages like C and assembly the hardware wouldn't run. JavaScript is not coming to microcontrollers

    • @synen
      @synen Před rokem

      Exactly try making an OS in JS lol

  • @AndrewMorse-ex6yb
    @AndrewMorse-ex6yb Před rokem +1

    I hate JavaScript as a language...I started with C and later Java/ C# and it's just horrible. But I realize it's everywhere now doing full stack development and is helpful with some design patterns like MVC.

  • @kbaeve
    @kbaeve Před rokem

    Did this guy comment on Rust? Would be interesting.

  • @fullmontis
    @fullmontis Před 7 měsíci

    GC I like and dislike personally, if it's a quick and dirty job it's the best, but if performance is a concern then you have to poll object and use workarounds and be careful about not trashing your memory, which is unpleasant. Profiling and optimizing GC scripts is basically uglifying the code. Still safer than manual memory management sure, but it smells

  • @tkoghdn
    @tkoghdn Před rokem +23

    JavaScript will die off when we no longer need JavaScript to be maintained. Doesn’t seem likely unless we have a global catastrophe.
    What many people don’t seem to realize in the comments section is that the legacy of yesterday usually has more pull than the innovation of tomorrow. This is why Wordpress with Php still makes up a metric ton of code being used today still. I believe there is still more php code being used than python code despite python being by almost all measures a “better” language.

    • @David_Raab
      @David_Raab Před rokem +3

      Crap languages always dominate over the better ones. That was always the case.Probably ever will be. Those languages often starts as "friendly" and "easy" and just a "limited" language. So everyone picks them up. Then later, everybody wants todo anything with them.

    • @tkoghdn
      @tkoghdn Před rokem +1

      @@David_Raab interesting point. I can see that. Low barrier to entry waters down the value of the system.

    • @fallenIights
      @fallenIights Před rokem

      @@tkoghdn why

    • @tkoghdn
      @tkoghdn Před rokem

      @@fallenIights read my full comment

    • @fallenIights
      @fallenIights Před rokem

      @@tkoghdn ok tnx

  • @WREFMAN
    @WREFMAN Před rokem +1

    What a smart dude.

  • @Mafiosaboy
    @Mafiosaboy Před rokem +8

    On the topic of software development being a craft, I am not convinced the analogy with our own biology and evolution is a good one. Although we understand a lot about biology, we still understand very little. Therefore, concluding that it is "messy" is very subjective: it comes from a place of limited knowledge about a system. Perhaps one day we will crack the mysteries of the human biology and realize it is in fact a very well-engineered machine.

    • @jonatanlampa510
      @jonatanlampa510 Před rokem +8

      A very important remark. Truth is that the more we discover about molecular biology, the more we understand about how little we actually understand.
      One great example is so called "junk-DNA", where a majority of evolutionists for a long time just disregarded about 98% of human DNA as junk, because it wasn't coding for proteins. Now, scientists with a non-evolutionary paradigm (creationists) kept pointing out that it probably had other functionality, just not discovered yet (assuming an intelligent designer, as opposed to mindless, random processes). That would also be the best guess from a rational software engineer if he was looking at a brilliant software that could output the unfathomably complex and fine tuned systems that make up our biology. In a large computer system, the code that is executed the most would always reside in the end-nodes, at the lowest abstraction level, whereas the least often executed code would dwell at the highest levels of abstraction at the very core.
      Only recently has the scientific community started to understand that the creationists were right and that most, if not all, DNA is coding and that most of it seems to be meta-information (information about information - on a higher abstraction level).
      This goes to prove that faulty paradigms can make anyone blind, and make fools of "the wise of this world".

    • @Mopark25
      @Mopark25 Před rokem

      @@jonatanlampa510 Very interesting comment! Any recommendations for further reading on this subject?

    • @all_bets_on_Ganesh
      @all_bets_on_Ganesh Před rokem +2

      I don't know, it's pretty messy. Anyone who works with biological data can tell you. I agree that a lot of the messiness interacts in complex ways that serve a purpose, redundancy in gene networks for example, or a lot of the "junk DNA" Jonaton mentioned serves a purpose, but a lot of it is clearly junk, or just carried along garbage that can be removed without effect. 100% what you would expect of evolved systems.
      Of course, I don't think any scientist who used the word "junk-DNA" meant it in any other way than it's DNA that doesn't code for protein. And I'm not quite sure how creationists have anything to do with this. Has it been creationists publishing about transcription factors, enhancers, and methylation profiles? Or do you just mean someone in church somewhere said "I think that other 90% of DNA does something". If the latter than credit where credit is due I guess.

    • @fallsjd
      @fallsjd Před rokem +2

      @@Mopark25 check out "Signature in the Cell" by Stephen Meyer. Also "Darwin's Black Box" by Michael Behe and "Evolution: A Theory in Crisis" by Michael Denton. All major figureheads in the Intelligent Design movement.

    • @js2010ish
      @js2010ish Před rokem

      @@all_bets_on_Ganesh Thanks for addressing that sneaky logical fallacy so I dont have to 😅

  • @newsmansuper2925
    @newsmansuper2925 Před 10 měsíci

    DNA/Cells however, operates in 3d space.

  • @Oi-mj6dv
    @Oi-mj6dv Před měsícem

    Carmack is an entirely different animal. Highest respect

  • @toddfisher8248
    @toddfisher8248 Před rokem +2

    JS is the best thing since sliced bread

  • @g.4279
    @g.4279 Před rokem

    UNEXPECTED STRING

  • @mallninja9805
    @mallninja9805 Před rokem +1

    I mean, I might disagree with his "...and it's not falling apart" sentiment.

  • @peterschaeffer
    @peterschaeffer Před rokem

    JavaScript has other problems. For better or worse, the entire AI/ML/Big Data world has adopted Python (not JavaScript) as the language of choice. This is a big deal because the AI/ML/Big Data world is not exactly small or in decline. My point here is not that Python is 'good' or 'better' than JavaScript for AI/ML/Big Data, but simply the AI/ML/Big Data world has chosen Python, not JavaScript. A completely separate (probably mostly separate) point is that JavaScript doesn't wait easily. JavaScript was designed to never wait (to keep browsers responsive). This makes programming in JavaScript hard. These points are quite real and why JavaScript won't 'win' (outside of browsers).

  • @dmitriynesterkin5672
    @dmitriynesterkin5672 Před rokem +1

    It already has.

  • @Roboprogs
    @Roboprogs Před 6 měsíci

    Square pegs are good if you have square holes.
    So are various programming languages 😜
    You don’t write device drivers in JavaScript, nor custom business applications in C.

  • @sky_kryst
    @sky_kryst Před rokem +1

    Jonathan Blow is coming for you

  • @victorpinasarnault9135
    @victorpinasarnault9135 Před rokem +6

    Total agree on nuclear fission energy.

    • @dinobotpwnz
      @dinobotpwnz Před rokem +7

      @T S It will be when you can do it for less than a million bucks per second.

    • @mbuckholz
      @mbuckholz Před rokem

      anti matter reactors.

    • @paulvarjak7378
      @paulvarjak7378 Před rokem +6

      @T S To date, fusion technology has produced exactly zero usable watts to a power grid. As I write this, 45 minutes down the road from me sit two fission reactors that together output around 19,000 Gigawatt-hours of electricity a year.
      "fusion is superior"... good luck with that.

    • @paulvarjak7378
      @paulvarjak7378 Před rokem +1

      @@dinobotpwnz Or indeed at *any* cost.

  • @chesster5981
    @chesster5981 Před rokem

    God is just a dev working on a legacy version of life

  • @mackie5004
    @mackie5004 Před rokem +1

    The annoying thing about JS/TS is the eco system around. It feels like the community just went too far with complexity for some time.

  • @trapslime16
    @trapslime16 Před rokem +1

    Why care bout memory it should be automated while you think about creative tasks

  • @SoraJustAGuy
    @SoraJustAGuy Před rokem

    The real reason we work on JS today, is that there is absolutely no way to migrate entire web from JS to something else. you would need to build a new web...yeah I imagine we would have to survive a nuclear apocalypse first, or a huge asteroid crash😂

  • @nagyandras8857
    @nagyandras8857 Před rokem

    Just... limping. But if realy everything will be Just limping along somehow , what kinda world will that be in the end... JavaScript is not terrible . Best quote regarding JavaScript for sure.
    But it has to die out of mainstream. We do not want things to Just limp along. We want things to work properly.

  • @crhayes
    @crhayes Před rokem

    Very pragmatic, I like it.

  • @MaidensRag
    @MaidensRag Před rokem +1

    as an OSRS player this is weird

  • @ScaramangaG
    @ScaramangaG Před rokem +11

    Javascript is like the english language. Not much thought was put into it but by now it's just mainsteam.

    • @mcflick
      @mcflick Před rokem +5

      Research finds that English encodes more information per syllable than all other languages, while maintaining one of the faster syllabic rates

    • @wyqtor
      @wyqtor Před rokem +5

      @@mcflick Allow me to introduce you to 中文.

  • @andrewbellinger6120
    @andrewbellinger6120 Před rokem +2

    Qbasic will dominate in the long run

  • @gast128
    @gast128 Před rokem +13

    I disagree on the GC part. Its non-deterministic cleanup makes working with graphics; files and sockets more a liability then a benefit. Smart pointers solved the problem for a large part in C++.

    • @MehYam2112
      @MehYam2112 Před rokem +2

      It always irked me that large GC code bases sometimes resort to adding a Dispose interface everywhere to release resources, as a makeshift destructor. But far worse, because a) misusing it may still allow a program to GC successfully, so you never really know if you've got it right, b) it leaves objects in a broken state before they GC - what if they get an event, and so c) you're now in a worse mess than just having to malloc/free properly, like in the old days.
      Not that I code in C/C++ anymore, but I miss some of the simplicity of those times

    • @meamzcs
      @meamzcs Před rokem +3

      Oh i guess that's why Chromium still has 70% of its cves beeing due to memory unsafety... C++ clearly has fixed all the issues with smart pointers 🤦🏻‍♂️... Also smart pointers are essentially a very primitive implementation of a garbage collector...

    • @MehYam2112
      @MehYam2112 Před rokem

      @@meamzcs GC and memory safety are unrelated. While most memory-safe systems have a GC, there are some that don't (Rust)

    • @gast128
      @gast128 Před rokem +2

      @@meamzcs Wild reasoning that C++ must be bad because Chromium has some memory unsafety. You can make a mess in any language albeit that for C++ you need a higher education level.

    • @plusquare
      @plusquare Před rokem +1

      @@gast128 r/iamverysmart

  • @Dee-Ell
    @Dee-Ell Před rokem +28

    A bit shallow to equate efficiency to speed/velocity alone. He mentions the horrible tech stack for running a website/web app. Well, efficiency is also simplicity -- simplicity in deployment, in maintenance, in troubleshooting, in knowledge transfer, etc. The modern web tech stack is just a horrible inefficient monster. Layers and layers of libraries and frameworks transpile, mininize, compile, etc., to spit out HTML and Javascript that are impossible to comprehend without using more high level tools. The web stack is layers of bandaid tech applied over previous layers of bandaid tech, over decades. All that requires millions of acres of datacenters to run reasonably well, burning more and more energy. And the "robustness" of all this is achieved mainly through redundancy. What is the true cost of this inefficiency?
    Same thing when Lex talks about natural selection and claims it's inefficient. How so? Because it's relatively slow? (In fact, it's not even slow -- millions of years is not long in the time scale of Earth or the universe.) Why equate efficiency to speed alone? Also, the analogy is flawed. Just for the sake of argument, even if natural selection was inefficient, the results are very efficient -- life forms are very efficient with using resources for basic needs. (Carmack even concedes how relatively simple the code of life is. Something that fits in a thumbdrive is making something as complex as life possible. That is efficiency.) Is it the case with modern webapps that emerged from the messiness of the Javascript/web stack evolution? IMO, it is not the case. They are still built on a terribly thick stack of tech, requiring huge resources to run.
    The fundamental difference between the trial-and-error of the "free market" capitalist system and natural selection in nature is, with the former, what is fastest and easiest (to spread and to be adopted) survives; while for the latter, it is what's most efficient that survives (acquire as much energy as possible while expending as little as possible). The capitalist dogma is so ingrained in our thinking that many, like these two, instinctively equate efficiency with speed and ease.
    ("A lot [of amino acids] don't do important things or do things in very ackward ways". Well, we don't really know that for sure. We are limited to how we currently understand things.)

    • @CHN-yh3uv
      @CHN-yh3uv Před rokem

      I have one word for you: vite

    • @fallenIights
      @fallenIights Před rokem +2

      Why

    • @thatoneguy9364
      @thatoneguy9364 Před rokem +2

      Not sure what you mean by efficiency is also simplicity.

    • @Dee-Ell
      @Dee-Ell Před rokem +2

      @@thatoneguy9364 Efficiency means achieving a result while spending fewer resources (e.g. material, energy, time). So simplicity usually enables you to achieve better efficiency.

    • @thatoneguy9364
      @thatoneguy9364 Před rokem +4

      @@Dee-Ell How? Just because something is simple to use doesn't imply that it's going to be efficient. If anything simplicity has always been the adversary of efficiency. You said the modern web stack is a horribly inefficient monster and that's because people tried to make it simpler to work with. On the other hand people write Assembly code for efficiency and it's not simple. I'm confused.

  • @bennattj
    @bennattj Před rokem

    Win what? Browsers can't even all agree on how to interpret javascript. So you say, well, it's the same problem with compiler versions...well except _you_ choose the compiler version (that gets one step more complicated when talking about a virtual machine like JVM, where you have to assume the minimally backwards compatible version of your target virtual machine is installed, but that's generally less of an issue since the virtual machine is easy to keep as backwards compatible with previously compiled bytecode). You don't choose the browser so it puts you in a place where you need to code to the lowest universal version otherwise risk incompatibility (which is a nightmare when nice features get added to a language that you can't use).

  • @khlorghaal
    @khlorghaal Před rokem

    intro is a horror story, and not the humans being dead part

  • @gianni50725
    @gianni50725 Před rokem

    I sure hope it won't. Replace Dijkstra's rants about BASIC and replace it with Javascript and it's just as valid

  • @gamerstance6540
    @gamerstance6540 Před rokem +3

    Wonder what Carmack thinks of Google's new language, Carbon?

  • @DriveandThrive
    @DriveandThrive Před rokem +1

    Any high level language would make things easier for the programmer -- like Java Compiler is written in C. I mean...when we use java we don't think we are coding in C!
    Its funny because no one codes in vanilla JavaScript but a collection of libraries and frameworks. When you combine Typescript, some framework like Angular...are we really using JavaScript? I don't know some random thoughts I had watching this.

    • @brymstoner
      @brymstoner Před rokem +2

      i code in vanilla js. every day. have zero interest in the myriad libraries and frameworks.

    • @DriveandThrive
      @DriveandThrive Před rokem

      @@brymstoner unlikely. Building what?

    • @brymstoner
      @brymstoner Před rokem +1

      @@DriveandThrive why is it unlikely? are you really that far removed from using a language that you never code vanilla anymore?

    • @blakef.8566
      @blakef.8566 Před rokem

      @@brymstoner what's the problem with using libraries and frameworks?

    • @brymstoner
      @brymstoner Před rokem +2

      @@blakef.8566 I never said I have a problem with them. I have no interest in them.

  • @drx630
    @drx630 Před rokem +124

    Typescript is javascript fixed, most professional writers of javascript use typescript these day (it brings typing to javascript and was developed by microsoft)

    • @sarscov9854
      @sarscov9854 Před rokem +12

      @mortdeus for backend, people are migrating to TypeScript...for the UI.. you don't need to add so much unnecessary verbosity. But.. JS is overwhelmingly used in the UI so you're probably right. Most JS users don't use TS.

    • @drx630
      @drx630 Před rokem +20

      @mortdeus no they don't - they use typescript, which compresses into a build of highly optimized javascript - if you are not using typescript, your doing it wrong (I have worked for a few of the fortune 200, like Akamai, Norwegian Cruise Lines and Fiserv/First Data and this is how it is, huge benefits of using it)

    • @sccur
      @sccur Před rokem +2

      This is not true. Most developers that came to JavaScript from other language backgrounds use TypeScript. But TypeScript itself, like most important Javascript libraries, is written in Javascript.

    • @drx630
      @drx630 Před rokem +4

      @TheSnowscar said someone who neither understands it or has written stuff in it (james web telescope even runs on it, yea junk )

    • @harrybilsonia
      @harrybilsonia Před rokem +2

      I think that your argument is valid but it's outside of the context of this conversation. Typescript compiles to javascript, and therefore makes the tech stack that allows js to run even deeper.

  • @RedStone576
    @RedStone576 Před rokem

    surprisingly yes

  • @shreyasjejurkar1233
    @shreyasjejurkar1233 Před rokem +7

    It's just matter of time, everything will be written in rust! Why?
    Type safe, memory safe, no GC, no runtime, compiles directly to machine code, performance and of course world class tooling it offers!

    • @fen1x591
      @fen1x591 Před rokem

      Yeah and then comes some other language that is supposed to replace javascript, and another, and another.... aaand it will never happen :)

    • @jon1867
      @jon1867 Před rokem

      nah, rust has a lot of cool things going for it, but it is undeniably a challenging language to learn, that's going to forever f**k it's adoptability for something as mainstream as JS.

  • @AbelShields
    @AbelShields Před rokem

    But is it... 🦀 blazingly fast 🦀?

  • @miraculixxs
    @miraculixxs Před rokem +18

    I really don't get what people are obsessing about with JavaScript. It's a great language and it gets stuff done.

    • @_HappyHippo
      @_HappyHippo Před rokem +3

      I would say it is an ok language (with TS) but it gets stuff done

    • @bugs389
      @bugs389 Před rokem +3

      People love to talk about how 'trash' JavaScript is without explaining how. Carmack recognizes the reasons why it's so broadly used.

    • @all_bets_on_Ganesh
      @all_bets_on_Ganesh Před rokem +1

      I love how the simplicity of javascript has provided it the flexibility to handle everything it does today, which it was never really meant to do. I agree it's messy and requires a lot of tools to push it to that level, but what doesn't? Look at java and spring boot and all the configurations it takes just to pass some outside code into your class. Dependency injection is something every function in javascript can do, off the shelf, by default, without restriction.

    • @isodoubIet
      @isodoubIet Před rokem +1

      Because it's objectively a horrible language.

    • @isodoubIet
      @isodoubIet Před rokem +1

      @@yehororlov8362 It's not about aesthetics. It's about the language being an error-prone, confusing mess filled with "gotchas" and sharp edges, so much so that people keep making framework upon framework to avoid having to deal with the thing. How many languages do you know where the basic equality operator is broken?
      "Also if you are good software engineer you have to be language agnostic"
      No, you really don't. When designing UI fluff, sure, but not every language is suitable to every application.

  • @heatvisuals
    @heatvisuals Před rokem +42

    Carmack is the Jeffrey Dhalmer of programming. He just kills it

  • @AnttiTolamo
    @AnttiTolamo Před rokem +14

    I'm previous PHP developer who moved to Javascript/nodejs/typescript. My opinion is that JS is very good at front end. Where its not is backend. Idea that you can do both ends because same languge does not hold up. Front end is mostly asynchronous, backend is not. And JS is asyncronous language. And while I think JS is easy language to learn initally, its extremtly difficult when you go further to keep up. Thats why there is Typescript for example, to make it more easier to keep up. It fixes design flaws of JS. But there you will lose lot of easiness what vanilla Javascript offers. And start to past some cases complexity of other compiled languages like C++ or Go. And like them, you will compile the code, its not anymore just a script that interprened. So you lose the easiness eventually.
    And often invidual languages dont fix performance and scalability probleems. Most web projects scale by architechture not by language. So JS is enough fast for most things. But its question mark is it best option to do backend in large scale projects in long run. My personal opinion its not. There are better options that are easier to upkeep.

    • @Belimamusic
      @Belimamusic Před rokem

      So what's good for backend in ur opinion if not js? php?

    • @AnttiTolamo
      @AnttiTolamo Před rokem +1

      @@Belimamusic I would go o Go. Its done such way that its easy to do and programers will end doing code that looks pretty uniform. Even stuff like JSON data handling, is actually better in Go natively than in JS. You can map automatically objects from JSON to Go structs natively. With JS you need some 3rd party library or write in hand such mapping stuff. Out of the box, in my opinion Go more sophisticated than JS and more simpler than Typescript.

    • @boombang857
      @boombang857 Před rokem

      NodeJS is asynchronous and event-driven. Typescript gives you type safety and many interesting ways to build scalable solutions. Great example is NestJS, you have repo. pattern, DI, annotations/decorators and so on... At the end of the day, it's all about abstraction and how far down the rabbit hole are you willing to go.

    • @AnttiTolamo
      @AnttiTolamo Před rokem +1

      @@boombang857 you cant use much of the asynchronousity on the backend you need to kill it there most of the time. And most of scalability is by architechture design not software build. Even if we go to execution level efficiency, compiled langauges like Go will outperform intereprened languages.
      Nodejs is not most efficient programming language for backend if you look the whole. Its really good at front end, but as long time backend developer, there are easier more efficient solutions.
      The myth of JS being easy is same as PHP Each generation people first love how fast it to start something. Due time they want more constistency so they make it more like Java or C++.
      Then they lose lot of that easy of use but then still keep the inferior performance compared to most compiled languages.
      Problem with lot of developers is that they are one language experts. If they would and could use efficienlty many languages, they would switch right away from some popular choices to other ones.
      Infact, I would argue most technological choices in real world are not technological choices. Lot of choices are just based what develoepers can and want to actually use.
      And this is something I dont myself like. I think for each of use there should be best tool. Whats the point of talking about better solutions and progress, if developer limitations means you need use less optimal technical solutions?

  • @elermoz
    @elermoz Před rokem

    this guy look like a mix between kevin bacon and christian slater

  • @QwertyNPC
    @QwertyNPC Před rokem +6

    I think the main thing about javascript that wasn't mentioned is that operating systems, devices etc. basically have to support it to the letter. Everything that wants to load a web page is forced to follow javascript standards. It's a blessing and a curse. More the former. The more I go down the programming rabbit hole the less and less I see the need for all the programming languages out there that basically do the same thing (within their respectable levels of abstraction).

    • @jon1867
      @jon1867 Před rokem +3

      Then why is it a curse that JS runs everywhere? It seems to imply that we're moving towards a future where we don't need as many programming languages that do the effectively the same thing. It's just that the language is probably going to be Javascript

  • @Rogueixpresents
    @Rogueixpresents Před rokem +1

    Isn’t it winning now?

  • @pspicer777
    @pspicer777 Před rokem +1

    COBOL dude, COBOL.

  • @sarveshsakpal8241
    @sarveshsakpal8241 Před rokem +4

    I love javascript

  • @markaven5249
    @markaven5249 Před 7 měsíci

    Most JavaScript apps use a browser. The browser runs on C++.

  • @robbiep742
    @robbiep742 Před rokem +6

    Has Carmack been working out?

    • @robbiep742
      @robbiep742 Před rokem +2

      Am I crazy or does he look the most fit he's ever looked?

    • @robbiep742
      @robbiep742 Před rokem +2

      Asking the hard hitting questions...

    • @TheRemake1
      @TheRemake1 Před rokem +2

      Yeah, I feel like everyone is thinking this. But not asking the question.

    • @KANJICODER
      @KANJICODER Před rokem +1

      @@ikilledthemoon John Carmack is actually doom guy. He just had to get old enough for his metabolism to slow down so he could start making gains.

  • @aaronbaron6468
    @aaronbaron6468 Před rokem

    I'm currently writing a javascript program that controls the cheap nuclear fuel in my motorcycle but i keep getting abort error cannot use callback for undefined