Will Javascript win? | John Carmack and Lex Fridman

Поделиться
HTML-код
  • Опубликовано: 5 авг 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
  • НаукаНаука

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

  • @SigSelect
    @SigSelect Год назад +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 8 месяцев назад +1

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

  • @stupidguy97
    @stupidguy97 Год назад +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 Год назад +8

      This was every 90s programmer's idol.

    • @bruuuuuuuuuh
      @bruuuuuuuuuh Год назад +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 Год назад +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 Год назад +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 Год назад +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).

  • @bliggode
    @bliggode Год назад +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 Год назад +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 Год назад +155

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

    • @over1498
      @over1498 Год назад +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 Год назад +46

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

    • @flowerofash4439
      @flowerofash4439 Год назад +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 Год назад +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 Год назад +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 Год назад +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

  • @BubblegumCrash332
    @BubblegumCrash332 2 года назад +14

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

  • @rpyt_7
    @rpyt_7 10 месяцев назад +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 7 месяцев назад

      You do that programmatically or by hand?

  • @StephanHaloftis
    @StephanHaloftis Год назад +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 Год назад +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 Год назад +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 Год назад +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 Год назад +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 Год назад +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 Год назад +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.

  • @bsheldon2000
    @bsheldon2000 Год назад +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.

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

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

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

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

  • @mudaquetoca
    @mudaquetoca Год назад +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

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

    This is really awesome all javascript programmers should watch this

  • @DamonCzanik
    @DamonCzanik Год назад +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 Год назад +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 Год назад +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 Год назад +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 Год назад

      ​@@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 Год назад +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.

  • @chairlovawitabat
    @chairlovawitabat 2 года назад +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 2 года назад +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 Год назад +22

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

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

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

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

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

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

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

  • @Roboprogs
    @Roboprogs 7 месяцев назад

    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.

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

    He's very humble. What a great guy.

    • @trex511ft
      @trex511ft 9 месяцев назад

      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 8 месяцев назад

      @@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

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

    Starting a JavaScript based bootcamp in January, excited!

  • @a.k8069
    @a.k8069 Год назад +4

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

    • @SmallSpoonBrigade
      @SmallSpoonBrigade Год назад +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 4 месяца назад

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

    • @paca3107
      @paca3107 3 месяца назад

      skill issue

  • @Narblo
    @Narblo Год назад +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

  • @Kevinjimtheone
    @Kevinjimtheone Год назад +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.

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

    what a great guest, thank you

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

    That was quite a journey for a simple question.

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

      Just needed to invoke Betteridge's law of headlines.

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

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

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

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

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

    I hope WebAssembly decouples from js on browsers

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

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

  • @mtbjason4
    @mtbjason4 Год назад +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 Год назад

      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.

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

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

  • @JohnWilliams-gy5yc
    @JohnWilliams-gy5yc Год назад

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

  • @arcanernz
    @arcanernz Год назад +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 Год назад +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 Год назад

      Same here at the startup I'm at.

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

      No it's not

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

      @@miraculixxs I’ll agree to disagree.

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

      @@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.

  • @Oi-mj6dv
    @Oi-mj6dv Месяц назад

    Carmack is an entirely different animal. Highest respect

  • @Ready_Fire_Aim
    @Ready_Fire_Aim 8 месяцев назад

    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. ???

  • @0xABADCAFE
    @0xABADCAFE Год назад +4

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

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

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

    • @curls6778
      @curls6778 Год назад +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 Год назад +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 Год назад +2

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

    • @testtestsson4927
      @testtestsson4927 Год назад +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 Год назад +1

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

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

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

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

    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 2 года назад +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 Год назад +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 Год назад

      @@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 Год назад

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

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

      @@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 Год назад +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.

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

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

  • @dinobotpwnz
    @dinobotpwnz 2 года назад +2

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

    • @MagnumCarta
      @MagnumCarta 2 года назад

      Why do you have a problem with mandatory garbage collectors?

    • @dinobotpwnz
      @dinobotpwnz Год назад +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.

  • @Master-me5ed
    @Master-me5ed Год назад

    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.

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

    JS is the best thing since sliced bread

  • @Henrix1998
    @Henrix1998 Год назад +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 Год назад

      Exactly try making an OS in JS lol

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

    My man said our human code is meh 💀🤣

  • @greed7513
    @greed7513 7 месяцев назад

    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

  • @miikavihersaari3104
    @miikavihersaari3104 Год назад +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.

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

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

  • @rolendude
    @rolendude 7 месяцев назад

    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.

  • @ordermind
    @ordermind 2 года назад +14

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

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

      Nice

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

      He does, in the full interview.

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

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

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

      I hear good things about Rust's Theft Police .

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

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

  • @victorpinasarnault9135
    @victorpinasarnault9135 2 года назад +6

    Total agree on nuclear fission energy.

    • @dinobotpwnz
      @dinobotpwnz 2 года назад +7

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

    • @mbuckholz
      @mbuckholz 2 года назад

      anti matter reactors.

    • @paulvarjak7378
      @paulvarjak7378 2 года назад +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 2 года назад +1

      @@dinobotpwnz Or indeed at *any* cost.

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

    What a smart dude.

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

    Man these clips are forcing me to watch the whole podcast

  • @tomvance3646
    @tomvance3646 Год назад +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 Год назад +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...

  • @AndrewMorse-ex6yb
    @AndrewMorse-ex6yb Год назад +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.

  • @tkoghdn
    @tkoghdn Год назад +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 Год назад +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 Год назад +1

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

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

      @@tkoghdn why

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

      @@fallenIights read my full comment

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

      @@tkoghdn ok tnx

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

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

  • @g.4279
    @g.4279 Год назад

    UNEXPECTED STRING

  • @mackie5004
    @mackie5004 Год назад +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.

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

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

  • @Mafiosaboy
    @Mafiosaboy Год назад +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 Год назад +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 Год назад

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

    • @all_bets_on_Ganesh
      @all_bets_on_Ganesh Год назад +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 Год назад +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 Год назад

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

  • @gast128
    @gast128 2 года назад +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 Год назад +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 Год назад +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 Год назад

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

    • @gast128
      @gast128 Год назад +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 Год назад +1

      @@gast128 r/iamverysmart

  • @newsmansuper2925
    @newsmansuper2925 11 месяцев назад

    DNA/Cells however, operates in 3d space.

  • @MaidensRag
    @MaidensRag 2 года назад +1

    as an OSRS player this is weird

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

    Did this guy comment on Rust? Would be interesting.

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

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

  • @fullmontis
    @fullmontis 8 месяцев назад

    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

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

    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).

  • @markaven5249
    @markaven5249 7 месяцев назад

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

  • @dmitriynesterkin5672
    @dmitriynesterkin5672 2 года назад +1

    It already has.

  • @niks660097
    @niks660097 4 месяца назад

    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!?

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

    Jonathan Blow is coming for you

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

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

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

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

  • @Roboprogs
    @Roboprogs 7 месяцев назад

    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.

  • @shreyasjejurkar1233
    @shreyasjejurkar1233 Год назад +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 Год назад

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

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

      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.

  • @QwertyNPC
    @QwertyNPC Год назад +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 Год назад +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

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

    Qbasic will dominate in the long run

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

    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😂

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

    Very pragmatic, I like it.

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

    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.

  • @drx630
    @drx630 2 года назад +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 2 года назад +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 Год назад +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 Год назад +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 Год назад +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 Год назад +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.

  • @robbiep742
    @robbiep742 2 года назад +6

    Has Carmack been working out?

    • @robbiep742
      @robbiep742 2 года назад +2

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

    • @robbiep742
      @robbiep742 2 года назад +2

      Asking the hard hitting questions...

    • @TheRemake1
      @TheRemake1 2 года назад +2

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

    • @KANJICODER
      @KANJICODER Год назад +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.

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

    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).

  • @Dee-Ell
    @Dee-Ell Год назад +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 Год назад

      I have one word for you: vite

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

      Why

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

      Not sure what you mean by efficiency is also simplicity.

    • @Dee-Ell
      @Dee-Ell Год назад +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 Год назад +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.

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

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

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

    I love javascript

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

    But is it... 🦀 blazingly fast 🦀?

  • @DriveandThrive
    @DriveandThrive Год назад +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 Год назад +2

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

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

      @@brymstoner unlikely. Building what?

    • @brymstoner
      @brymstoner Год назад +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 Год назад

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

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

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

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

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

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

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

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

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

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

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

  • @AnttiTolamo
    @AnttiTolamo Год назад +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 Год назад

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

    • @AnttiTolamo
      @AnttiTolamo Год назад +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 Год назад

      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 Год назад +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?

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

    surprisingly yes

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

    11:09 This is an annoyance to me, because the "shortest possible" code is almost always incomprehensible. And there's a great irony to that because it means the programming language "allowed" you to do this complex operation in "very few" instructions. The truth is that "short code" ("fewer lines/characters of code") does _not_ translate into "short" machine/assembly/byte code. Most of it is syntactic sugar which translates what you wrote into something else more complicated.
    _However_ it allowed you to do that in (likely) the most efficient way (by fully utilizing the programming language). This isn't always the case though (and I'd argue usually isn't the case). But it's an example where it's better to use a math library than create one on your own--it's better to use a parallelized collection than trying to write the parallelism yourself, etc.
    I find that the "short code" examples are generally just syntactic sugar for something much more complicated and will get compiled just as complicated as if you'd written it in 10 lines as opposed to 1--difference being the 10 lines are comprehensible to nearly anyone with PL experience and the 1 line is only comprehensible to a language expert.

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

    I just don't understand the obsession with type safety 99% of the problems that happen in prod aren't due to "static types". All the old programmers love to shit on JS as if its the only language that has problems.

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

      @@UCgx7OseCrundqkE8oEVeobg Thats not really a true type safety issue though, thats just poor testing on their part and type safety won't save you from that.

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

    I was learning C++ today, I installed it, read the first page of my handbook and went to sleep 😴

    • @trex511ft
      @trex511ft 9 месяцев назад

      C++ is very powerful but very ugly and boring too.

  • @Tokieejke
    @Tokieejke 2 года назад +6

    What about Dart? It a better version of JS with cool types and classes.

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

      If I looks at Dart my brain hurt with all those different brackets.

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

      @@test-zg4hv what Facebook is built with? PHP? Why would it not work with Dart? Is PHP better?

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

      Dart is more C ish in syntax with garbage collection
      Why are we reinventing java so many time now?

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

      @@aravindpallippara1577 Java must be the crab of programming world.

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

      @@aravindpallippara1577 Because Java is old and overly verbose, the web framework Spring is pretty bad even though Java devs swear by it.

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

    JavaScript and its frameworks are not interesting to many of us outside of the Webdev bubble.
    When all you have is a hammer…

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

    It's funny because that's how many people feel about rust.