Single Language Productivity Is Fake

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 มี.ค. 2024
  • Recorded live on twitch, GET IN
    / theprimeagen
    Become a backend engineer. Its my favorite site
    boot.dev/?promo=PRIMEYT
    This is also the best way to support me is to support yourself becoming a better backend engineer.
    Article link: www.breakneck.dev/blog/single...
    By: / _maskoe
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
    Have something for me to read or react to?: / theprimeagenreact
    Kinesis Advantage 360: bit.ly/Prime-Kinesis
    Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
    turso.tech/deeznuts
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 707

  • @ryanvogel5895
    @ryanvogel5895 2 หลายเดือนก่อน +175

    "You're not authenticated. You need to suck it."
    This should definitely be the detail returned in a 401 response.

    • @anuragbishnoi3208
      @anuragbishnoi3208 2 หลายเดือนก่อน +5

      epic response.

    • @sadranezam3367
      @sadranezam3367 2 หลายเดือนก่อน +3

      True

    • @TheSoulCrisis
      @TheSoulCrisis 26 วันที่ผ่านมา

      🤣

    • @RomediusWeiss
      @RomediusWeiss 23 วันที่ผ่านมา

      you are giving me stupid ideas :D

    • @Neme112
      @Neme112 22 วันที่ผ่านมา

      That will just make me horny when I see it.

  • @kristiyangerasimov6708
    @kristiyangerasimov6708 2 หลายเดือนก่อน +156

    I have a few hundred hours of watch time on this channel and the biggest takeaway I have is "any time people claim some technology is worse than x and y it's just a skill issue" and it really stuck with me.

    • @pavlebn
      @pavlebn 2 หลายเดือนก่อน +15

      Everything is a skill issue if you think about it...

    • @keoghanwhimsically2268
      @keoghanwhimsically2268 2 หลายเดือนก่อน +11

      As long as you remember that some skills are more useful or productive than others.

    • @Napkino948
      @Napkino948 2 หลายเดือนก่อน +1

      usually. Tank is just worse than swerve. somebody might get that. that somebody might disagree though.

    • @7th_CAV_Trooper
      @7th_CAV_Trooper 2 หลายเดือนก่อน +7

      people should spend more time creating awesome stuff and showcasing their work than bashing other people for their tool choice. except for javascript programmers, who totally suck. :)

    • @XDarkGreyX
      @XDarkGreyX หลายเดือนก่อน +1

      ​@@pavlebnlife is?

  • @mattburgess5697
    @mattburgess5697 2 หลายเดือนก่อน +78

    For the record we use JavaScript front and back. Approximately zero code is shared.
    The actual reason is sharing developers. Not code.

    • @Macheako
      @Macheako 2 หลายเดือนก่อน +4

      Oh man, this is too good 😂❤

    • @mattburgess5697
      @mattburgess5697 2 หลายเดือนก่อน +3

      @@Macheako What am I missing?

    • @doceddie
      @doceddie หลายเดือนก่อน +3

      Much easier to find a ton of JavaScript devs.

    • @Macheako
      @Macheako หลายเดือนก่อน

      @@mattburgess5697 nah man lol I actually enjoyed that last sentence
      Unless I'm missing something? lol

    • @mattburgess5697
      @mattburgess5697 หลายเดือนก่อน +2

      @@Macheako Nah it just read like you thought I was being a big dumb stupid. Just one of those things. Tone in text, etc.

  • @Iscream4j0y
    @Iscream4j0y 2 หลายเดือนก่อน +99

    People need to stop obsessing over what they learned in a bootcamp

    • @7th_CAV_Trooper
      @7th_CAV_Trooper 2 หลายเดือนก่อน +8

      based

    • @BrunoCodeman
      @BrunoCodeman หลายเดือนก่อน +8

      People should stop thinking they're ready to work as developers just by taking bootcamps and not having a degree

    • @Epic-so3ek
      @Epic-so3ek หลายเดือนก่อน

      ​@@BrunoCodeman "
      why don't you know formal logic yet dammit?! how the FUCK are you gonna be a FUCKING web dev without knowing formal logic?! Go pick up a logic textbook you shameful excuse for a frontend dev!!!!"
      - An unemployed CS grad
      "And NOT only that...WHERE is your calculus knowledge? You need THREE courses of calculus to even THINK actually WRITING javascript. You're supposed to just LOOK at javascript, and prove it using formally methods, ya DUNCE! Not actually write it!"
      "Where on GODS. GREEN. EARTH. Is your knowledge of fucking CHEMISTRY, BIOLOGY, PHYSICS?! You need AT LEAST ONE! DO you even know the simple difference between MOLES and GRAMS?? Programmers will NEED this in industry!"
      "Where is your philosophy knowledge?!! Plato? Socrates? Ring a bell??!"
      "Your LITERARY STUDIES?! HMMM??"
      "Do you even know if finite automata are turing complete???"
      "Feminism and french literature?! Bah. You wouldn't understand a WORD in that course!"

    • @bdidue6998
      @bdidue6998 25 วันที่ผ่านมา +2

      ​@@BrunoCodeman It REALLY depends 😂. I went to a bootcamp/trade school which taught C VERY heavily, and I mean HEAVY. Rewrote common libs, wrote printf, wrote a small kernal, DB, etc. It depends on where you go and what you learn, but i doubt any camp teaching javascript only, actually produces competent engineers. Thats just web dev and barely even that

    • @hardbrocklife
      @hardbrocklife 22 วันที่ผ่านมา

      ​​@@BrunoCodeman never been to a bootcamp nor have a degree and I make 85k 🙂

  • @neko6
    @neko6 2 หลายเดือนก่อน +28

    After working professionally on servers in Java, PHP, Node, Python, Ruby, Rust - I can confidently say it's all the same. Whenever one language has some significant superiority, the others copy that functionality anyway (whether in a library or as part of the language)
    The only significant factors are execution speed (Rust/Go with a clear advantage) and development speed (Python/Node with a clear advantage)
    In 95% of scenarios, it doesn't really matter

    • @Theaverageazn247
      @Theaverageazn247 27 วันที่ผ่านมา +1

      yes but for scaling its better to use popular languages. Good luck scaling with haskell. Finding java, js, python devs are a dime a dozen

    • @tonysolar284
      @tonysolar284 21 วันที่ผ่านมา

      No Node Bun?

  • @penguindrummaster
    @penguindrummaster หลายเดือนก่อน +12

    Oh man, the comment "How different is Go from JavaScript" lmao. At my previous employer, they absolutely refused to take my solution written in Python because no one on the Dev team knew Python (I was in QA). I spent two of my weekends rewriting it in C# with Thread primitives (because I had never written C# before, so I was winging it as best I could) and they still rejected it because they didn't have anyone qualified to QA my work. Suffice to say that I'm still salty about it to this day .
    At current employer, someone wrote a bulletproof web service in Go, and no one at the company writes Go anymore. Incidentally, I'm learning Go (after your frequent praise of it), and the engineer who was tasked with patching it recently said it was easy to learn and he doesn't get the fuss.
    Some people are just stubborn and unwilling to change.

  • @disieh
    @disieh 2 หลายเดือนก่อน +183

    "Deployment -- figuring out shouldnt' cost you any more than a day" In my experience the people who say this are those who commit AWS keys into git and get their AWS account immediately hacked.

    • @defeqel6537
      @defeqel6537 2 หลายเดือนก่อน +15

      he did qualify it with (something like) "if you've done it before"

    • @nemanjatrivic9505
      @nemanjatrivic9505 2 หลายเดือนก่อน +2

      What's the alternative? I know, spending a month creating deployment pipeline in Jenkins.

    • @anobodyscontentstream5347
      @anobodyscontentstream5347 2 หลายเดือนก่อน +1

      I feel like in my experience, people who say that don't work at companies that disallow you from making AWS secrets manager keys...

    • @tc2241
      @tc2241 2 หลายเดือนก่อน +3

      @@nemanjatrivic9505if it was ever that easy I’d be out of a job 😂

    • @disieh
      @disieh 2 หลายเดือนก่อน

      @@nemanjatrivic9505 github actions, gitlab CI/CD or similar is just fine. One nice trick is make a runner in AWS (EC2 instance, EKS pod, whatever), use instance roles instead of IAM user. Now you're not exposing credentials directly. Downside you must harden the runner.

  • @Leetngreet
    @Leetngreet 2 หลายเดือนก่อน +39

    I say that I only use c++ because it makes me feel bigger brained than everyone, but it's really because I was traumatized learning it as my first language and don't want to learn others as a result.

    • @FlanPoirot
      @FlanPoirot หลายเดือนก่อน +5

      no other language is as convoluted and messy as C++, rest assured, anything you learn afterwards will be easier than C++ (with the exception of maybe learning haskell and some other vastly different language from ur standard C like language)

    • @petercizmar3197
      @petercizmar3197 หลายเดือนก่อน

      i suggest you trying out python then, i actually used python yesterday to convert images into uint16_t C arrays for display ... after C++ using python will be such a joyful experience

    • @keithjohnson6510
      @keithjohnson6510 หลายเดือนก่อน

      @@FlanPoirot Apart from Rust. :)

    • @keithjohnson6510
      @keithjohnson6510 หลายเดือนก่อน +2

      C was one of my early languages, not my first, that would be Basic. But moved from C to C++, then from C++ to Pascal, and lots of others. What I can tell you things get easier when learning a new language, and I would argue becomes fun learning a new one. All the skills you have learned in C++ should easily transfer to most other languages, apart from Rust. :)

    • @FlanPoirot
      @FlanPoirot หลายเดือนก่อน

      @@keithjohnson6510 rust is fairly easy, it had saner defaults than C++, u don't have to fight the language to get good behavior out of RAII and the language doesn't make expensive copies behind ur back
      rust only becomes "hard" if you try to write certain types of programs in safe mode when it should just be unsafe. the only people that think that rust is "hard" are people that tried it for 10 minutes,got annoyed at the borrow checker and left.
      Rust is more annoying to write cause the borrow checker is constantly in odds with u but other than that the language isn't really "hard".
      of course u might not always want Rust or might just not like it, which is ok. U can use something else, no one is forcing u to use rust

  • @u9vata
    @u9vata 2 หลายเดือนก่อน +39

    I had a project where they installed Windows 10 IoT core just because of single language productivity just because the department where R&D team was situated was in the C# department of the buiilding - despite the project was an embedded project.
    A whole team tried to work out how the hell to get the IoT core "properly" work (not just 256 colors, have network, etc), while I secretly gave the FULL task to two interns who coded the whole application in linux. They finished - not the prototype, but the app - in two weeks. Just imagine how much I had to explain what is being happening - especially that this task was supposed to take man-months :D

    • @DavidSchmitt
      @DavidSchmitt 2 หลายเดือนก่อน +4

      Brilliant 😂😂😂

    • @u9vata
      @u9vata 2 หลายเดือนก่อน +23

      @@DavidSchmitt Oh and missed to add, but from the context it was clear that the interns never even used embedded linux before - just knew this secret human skill called reading documentation :D

    • @s0nspark-public
      @s0nspark-public 2 หลายเดือนก่อน +11

      @@u9vata that IS a secret skill these days... ;-)

    • @Asto508
      @Asto508 2 หลายเดือนก่อน +1

      Maybe someone should have told the C# department that .NET became cross-platform a few years ago...I hope you weren't the project manager in this, otherwise you can also blame yourself.

    • @u9vata
      @u9vata 2 หลายเดือนก่อน +4

      @@Asto508 Plus information is that the reason they literally wanted to use C# is to "create the GUI" in either UWP or something they supposedly "know" (according to management(tm))
      So it was management thinking like an excel table: "what is in it that this department already knows" - and this was heightened by them being some kind of MS gold partner and advisors advising this IoT core bullshit to them haha. They literally couln't make the OS at all to work, the libraries in that environment literally did not work (at least not at the time) and just booting windows took like 120% of the resources of the little machine.
      All this for a "GUI" that literally had 2-3 buttons, some thing and a single screen... It was for a logistics appliance / equipment.

  • @mikerope5785
    @mikerope5785 2 หลายเดือนก่อน +48

    Gatekeeping is when you're an active 42 year old and the surgeon is reluctant to fix your shoulder because "these injuries are part of the natural ageing process"

    • @ChrisCox-wv7oo
      @ChrisCox-wv7oo 2 หลายเดือนก่อน +6

      "you are not an athlete" -Louis CK

    • @Sethbeastalan
      @Sethbeastalan หลายเดือนก่อน

      Deck the dude and then tell him it's a natural part of the growing process. Now he'll know not to be such an asshole.

  • @yajobaby
    @yajobaby 2 หลายเดือนก่อน +353

    i hate programming

    • @giggleways
      @giggleways 2 หลายเดือนก่อน +20

      What are you doing here ?

    • @yajobaby
      @yajobaby 2 หลายเดือนก่อน +1

      @@giggleways hating

    • @johnyepthomi892
      @johnyepthomi892 2 หลายเดือนก่อน +56

      You mean you hate JS

    • @Jack_in_the
      @Jack_in_the 2 หลายเดือนก่อน +5

      me too man

    • @tiger_of_kai
      @tiger_of_kai 2 หลายเดือนก่อน +30

      WE* hate programming

  • @Seofthwa
    @Seofthwa 2 หลายเดือนก่อน +8

    Hi Prime, Thanks for all the info you put on your channel. Even though I am not a dev, I have learned a lot about the industry and how things work at a nuts and bolts level.

  • @supdawg7811
    @supdawg7811 2 หลายเดือนก่อน +52

    He never said “programming language”, he just said “language”

    • @IARRCSim
      @IARRCSim 2 หลายเดือนก่อน +8

      Yes. HTML is a language even if it isn't a programming language. English is another language not mentioned in the video. Prime also kept interchanging "language" with "programming language" incorrectly as if he forgot about every other type of language. That said, config files and libraries are not languages of any kind. The single language article author should have said "technologies" or something sufficiently broad if he wanted to list non-languages like config files.

    • @supdawg7811
      @supdawg7811 2 หลายเดือนก่อน +5

      @@IARRCSim Yeah i'm just mostly coming to the defense of HTML and YAML, etc. YAML may be simple, but if you want to fully understand what you're writing, you still have to Read the Friendly Manual or some kind of thing to learn it.

    • @Kane0123
      @Kane0123 2 หลายเดือนก่อน +1

      Brazil mentioned?

    • @Epic-so3ek
      @Epic-so3ek หลายเดือนก่อน +1

      Bonjour, monsiuer.

  • @firemyst9064
    @firemyst9064 2 หลายเดือนก่อน +6

    I like your pep talk on feelings. Something everyone tries to work on and fix in high school. Just a good skill for everyone to have.

  • @disgruntledtoons
    @disgruntledtoons 2 หลายเดือนก่อน +78

    There is no getting around the fact that querying a relational database is a fundamentally different thing than just about everything that doesn't involve the DB. One language isn't enough if you care at all about getting the best performance out of your system.

    • @monad_tcp
      @monad_tcp 2 หลายเดือนก่อน +12

      Relational Algebra really is very different than any Type System (most type systems are based on Set Theory) or Imperative/OO programming language.

    • @thelaw3536
      @thelaw3536 2 หลายเดือนก่อน +3

      This is nonsense. All we are doing is reading from and writing to memory. So long as a program can do that than you can optimize performance by doing just what you need in a way the computer can do the fastest it can. All languages just give varying degrees of control and boiler plate to do that.

    • @adambickford8720
      @adambickford8720 2 หลายเดือนก่อน +13

      @@thelaw3536 in real life, what you claimed is nonsense. It's a completely different paradigm; the language is irrelevant.

    • @zyriab5797
      @zyriab5797 2 หลายเดือนก่อน +9

      C in the front, Elm in the back and TOML to query my DB made of barrels of salty water

    • @cosmic3689
      @cosmic3689 2 หลายเดือนก่อน +3

      @@adambickford8720 its like "technically correct" but in a "you should just write every program in asm" kind of way

  • @keyser456
    @keyser456 2 หลายเดือนก่อน +25

    WASM (and Blazor in particular) has allowed me to use C# on both the server and client-side. I've been very happy with it. I have a hate relationship with javascript. Yeah, I said it. Not love/hate, just hate. I'm old school and hate web development in general, but it refuses to die as we continue to twist and bastardize HTTP/S to do things it was never meant to do. From a business standpoint though? It's so damn convenient to have access to everybody with a browser and internet connection (see: everybody on the planet). My shared library I use for both server and client-side just works right out of the box. It continues to grow, and this is just my first go at it. As a game running server-side, I don't need (or want) my server-side logic on the client, but if I did, there's no reason it wouldn't work. As much as I hate MS, their .NET team has done an amazing job bringing C# / .NET into the browser. Nearly everything I know about .NET and C# just works, in both paradigms.

    • @IronJmo
      @IronJmo 2 หลายเดือนก่อน +8

      I also hate JS. You are not alone.

    • @the_mastermage
      @the_mastermage 2 หลายเดือนก่อน +8

      javascript was a mistake

    • @summerishere2868
      @summerishere2868 2 หลายเดือนก่อน +5

      Blazor and more importantly webassembly are awesome.

    • @Macheako
      @Macheako 2 หลายเดือนก่อน +4

      I did a side job with a web server, shared api, and mobile app (Xamarin) all in C#…
      And I’d do it again! 😂❤

    • @lucasblanc1295
      @lucasblanc1295 2 หลายเดือนก่อน

      It sucks when I need the best UI library for something, and it's available just for React. I had to ditch using vue for the project because the React DndKit library was the best available. I never did a project this large, and just setting up the library was a pain, I'm learning React and Typescript and all of that front-end package mess.
      I never had such complexity with setting up my dev environment with python, surely, I get packages not being compatible with each other sometimes for things like Automatic1111 which I have to deal with even though I'm not even developing, I'm just using the thing as a user. (For generating images with Stable Diffusion).

  • @ivonakis
    @ivonakis 2 หลายเดือนก่อน +26

    The fact that no one is mentioning PHP is hilarious.

    • @BusinessWolf1
      @BusinessWolf1 2 หลายเดือนก่อน +16

      Laravel is quite possibly the best web tool ever made, sadly it's built for the worst web language ever to grace the corporate world

    • @stefanalecu9532
      @stefanalecu9532 2 หลายเดือนก่อน

      If PHP is bad, then you haven't seen shit, it's one of the better languages out there and you're probably just malding because you hate its syntax ​@@BusinessWolf1

    • @mattburgess5697
      @mattburgess5697 2 หลายเดือนก่อน

      @@BusinessWolf1Bang for buck in terms of ecosystem Laravel is hard to beat. I don’t do it anymore, but I built my career on PHP.

    • @DEVDerr
      @DEVDerr 2 หลายเดือนก่อน +3

      @@BusinessWolf1 language which quickly becomes a good language actually

    • @TheSoulCrisis
      @TheSoulCrisis 26 วันที่ผ่านมา

      When Prime said "people don't think of PHP as where great things happen," I lol'd.

  • @dalicodes
    @dalicodes 2 หลายเดือนก่อน +45

    Data Scientist on the edge

    • @TheOriginalBlueKirby
      @TheOriginalBlueKirby 2 หลายเดือนก่อน +19

      Edge the data scientist

    • @Mkrabs
      @Mkrabs 2 หลายเดือนก่อน +1

      how long can the data-scientist (be on the) edge ?

    • @TheOriginalBlueKirby
      @TheOriginalBlueKirby 2 หลายเดือนก่อน +3

      ​@@MkrabsDepends on if he's caged or not

    • @devadutsbalan9135
      @devadutsbalan9135 2 หลายเดือนก่อน +1

      @@Mkrabs maybe edge computing

    • @yesyes9698
      @yesyes9698 2 หลายเดือนก่อน +1

      @@TheOriginalBlueKirbybruh. Y’all unhinged 🦫🦫🦫🥵🥵🥵

  • @Exilum
    @Exilum 2 หลายเดือนก่อน +44

    I love that the guy was "subtly" shilling C#. Linq is one of the greatest inventions known to men.

    • @vitalyl1327
      @vitalyl1327 2 หลายเดือนก่อน +5

      Linq is sort of meh when you think of all the Datalog eDSLs.

    • @Exilum
      @Exilum 2 หลายเดือนก่อน +1

      @@vitalyl1327 I mean sure, I'll concede that, I've never written Datalog. I'm not sure what to think of Datalog as a backend, I'd need to try it to see if it works. The fact it requires a DSL is still a step down. If I wanted that, I'd say C# extensions are the greatest (essentially adding static methods to the class definitions at any point), but I mentioned Linq, which is built on top of said extensions. The reason why is simply that Linq gives you the benefits of extensions without the drawbacks of writing them and footgunning yourself like you will inevitably do. It also doesn't require any external code.

    • @IndigoTeddy
      @IndigoTeddy 2 หลายเดือนก่อน +5

      System.Linq is pretty intuitive, even as someone whose only experience w/ C# is Unity development.

    • @Exilum
      @Exilum 2 หลายเดือนก่อน +1

      @@IndigoTeddy I started C# with winform and stuff like that, but I really got into it due to Unity development.

    • @LuisM_Santana
      @LuisM_Santana 2 หลายเดือนก่อน

      .Net sucks though

  • @mostafijulislam8776
    @mostafijulislam8776 2 หลายเดือนก่อน

    I really freaking loved this one! It's a really good video and definitely a beautiful article. Loved the video prime. 💙

  • @thekwoka4707
    @thekwoka4707 2 หลายเดือนก่อน +5

    If you work with Requests and Responses in the front end...it does translate to working with Requests and Responses on the backend....

  • @Scobbo
    @Scobbo 2 หลายเดือนก่อน +2

    I learn of so many new programing concepts that I have to search up what they are, why they are useful, and how to use them because I feel like I am just a script kiddie when I listen to Prime's videos.

  • @prism223
    @prism223 2 หลายเดือนก่อน

    I enjoy listening to conversations about strong typing versus dynamic typing in e.g. web dev. It makes me appreciate Common Lisp so much.

  • @matrix01234567899
    @matrix01234567899 2 หลายเดือนก่อน +42

    HTML is a language, but is not a programming language

    • @Sammysapphira
      @Sammysapphira 2 หลายเดือนก่อน +7

      It's a markup language, it's literally in the name. Hypertext markup language.

    • @dforj9212
      @dforj9212 2 หลายเดือนก่อน +5

      HTML is a programming language, it's 2024 let it go already

    • @Leeway4434
      @Leeway4434 2 หลายเดือนก่อน +4

      htmx called said ur mom's not a programming language

    • @bitesizedkiran
      @bitesizedkiran 2 หลายเดือนก่อน

      @@dforj9212 Markdown is a programming language, it's 2024 let it go already

    • @diogofelix8626
      @diogofelix8626 2 หลายเดือนก่อน

      It's a programming language, a domain specific programming language, not a general purpose one tho, no need to trust me on that, just open the blink source code of Chromium and search for the grammar parser for both CSS and HTML in there, there's a tokenizer and parser for both.
      HTML is parsed and outputs to a DOM tree, and CSS becomes the CSSOM which both are used by the browser, they were implemented using... yeah, that's right, compiler theory.
      See HTMLTokenizer.cpp and CSSTokenizer.cpp for a start.

  • @Griffolion0
    @Griffolion0 2 หลายเดือนก่อน

    In the main codebase I work in pretty much all of the JSON we work with is validated at runtime using JSON schemas. It works well but something like protobuf frankly seems better for validating for type safety while a JSON schema can validate for structure.

  • @gigitrix
    @gigitrix 2 หลายเดือนก่อน +1

    There is friction between client and server being different, but it is a necessary friction, a useful divide and speedbump that ensures you are always thinking about the contracts between the very different execution environments

  • @Rohinthas
    @Rohinthas 2 หลายเดือนก่อน

    Article aside (good content!), thank you for that very concise explanation why you dislike the term Gatekeeping, sometimes you say shit that turns me off and getting your actual thought process with it often makes it more understandable or even agreeable

  • @vsspctr
    @vsspctr 2 หลายเดือนก่อน

    Once I was extending functionality of BE written in Groovy with use of Spring, hosted on Heroku (internal proj) being a "Seniour" (0 BE exp) Android Dev writing code in Java, and it was totally fine. Didn't notice diff between Java and Groovy syntax except String formatting back then lo (maybe it wasn't even Groovy, it was too long ago lol)

  • @kevinryan2992
    @kevinryan2992 2 หลายเดือนก่อน +1

    after moving to protobufs with basic validation built into the message definitions themselves with protovalidate i cant image going back to loosey goosey JSON for the wire format

  • @johanneswelsch
    @johanneswelsch 2 หลายเดือนก่อน

    Hey, I have a question. What speaks against "encoding" type safety into the field names of json? Str for string, Num for Number:
    {
    "nameStr": "Mike..aegen!",
    "ageNum": 44,
    }
    Does it make sense? You could have complex types this way too, "customerPerson" : { ... } , I'm not sure it makes sense. Maybe it would help in apps which have similar times, like customer and employee with similar fields and when receiving that data one might not know which is which, because they have similar fields?

  • @emptydata-xf7ps
    @emptydata-xf7ps 2 หลายเดือนก่อน +7

    If you want to do it all as a solo developer in a short time frame, yes single language increases your productivity but the quality and performance suffers. That being said productivity is a corporate measure, where there are teams dedicated to each section, so the single language doesn’t really matter. If you’re not a corporation, productivity should be lower on your list of concerns. Quality should be your main concern, that’s where you will beat out the corporations.

    • @rushyscoper1651
      @rushyscoper1651 2 หลายเดือนก่อน +1

      i think the question here what is "short time frame" sometimes u see ppl overstaying their welcome in one language.
      i think for me when someone can make any professional project its time to move from language focus to project focus.

  • @VitorF7
    @VitorF7 2 หลายเดือนก่อน +26

    Before you said it I was shouting protobuf 🤣🤣🤣

  • @Nellak2011
    @Nellak2011 2 หลายเดือนก่อน +1

    Yup and Zod are very useful in vanilla JS, as they are runtime "type safety". However, after some thought, it turns out that Zod and Yup can provide features that are impossible in compile time type safety.
    When interacting with an unknown API, where it is unreliable, sometimes it may have proper types and sometimes not.
    Compile time types are indispensible and extremely important due to the efficiency they bring, but they cant cover all scenarios.
    Another case that Yup would cover that static types don't is with input coercions. If your data is invalid, you just get an error and it stops. With Yup, you can force it to be valid, but just log the errors without crashing.
    All in all, it is better to have both rather than just one.

  • @penguindrummaster
    @penguindrummaster หลายเดือนก่อน

    This article takes me back to some other topic you covered. You are most productive in the language you are most comfortable with. There may be a language that solves your specific problem perfectly, but if it takes you forever to understand it, you could spend that time being productive in your comfort zone and then revisit the idea when it's not critical for delivery.
    That said, I've had to change the language I use at each new job, so I am uniquely familiar with picking the "right" language for the job, and feel comfortable switching. That said, I don't fault someone for being a "one-trick [language] pony". I have seen experts do crazy things in their language of choice, while I'm usually writing bog-standard code that is as-intended.

  • @CheapoPremio
    @CheapoPremio 2 หลายเดือนก่อน +1

    I feel like the author as well as prime to some extend hand wave the genuine benefits of going single language just because you can achieve these benefits with different languages as well.
    That doesn't take them away, it just means that if there are compelling arguments to go with different languages that there is a way there too.

  • @tc2241
    @tc2241 2 หลายเดือนก่อน +4

    From my experience the closer you can get to one, the better. Only extending when it makes sense

    • @Macheako
      @Macheako 2 หลายเดือนก่อน +2

      At the very least don’t be out here chasing the next big tech, and adding languages to the list JUST cuz some new API is Shinier than yours 😂❤
      Some guys legit just get bored with being able to do their job in an appropriate amount of time 😂

  • @krss6256
    @krss6256 2 หลายเดือนก่อน +1

    I managed to clean up my kitchen and Primegen didn't even get past the title of that article.

  • @kierandansey7293
    @kierandansey7293 2 หลายเดือนก่อน +8

    I reckon Primeagen could do a pretty good Jack Nicholson impression if he gave it a go.
    Edit - Middleware is between request and response

  • @jma42
    @jma42 2 หลายเดือนก่อน +1

    django man, just feels like home. I mostly write javascript but goddamn its so tempting to use django for everything that involves web enterprise apps.

  • @jebotipasmater
    @jebotipasmater 2 หลายเดือนก่อน

    There was a 4 hour git workshop on you channel yesterday, but the video has since been privated, is it coming back or was it not meant for public?

  • @fischi9129
    @fischi9129 2 หลายเดือนก่อน +2

    about the orm argument, I generally just use orms to setup the db connection and then rawdog sql most of the time. The reason for that is simply: orms generally maintain the schma/anatomy of the db,tables etc. I just don't want to care about that and let the orm do that stuff.

  • @theLowestPointInMyLife
    @theLowestPointInMyLife 2 หลายเดือนก่อน

    If you have really solid validation on one end, you effectively have it on both. I have rust on the backend and as a result I know exactly what im getting from the server in my typescript code, and vice versa, if im sending something wrong from typescript, rust will let me know in no uncertain terms, in fact it will be so desperate to let me know, it will be in a panicked state.

  • @jhonatanjk1251
    @jhonatanjk1251 2 หลายเดือนก่อน

    My favorite part of your videos are the inevitable moment when you get an alert and you proceed to say I forgot to turn off alerts lol. I think it happens in every single one of your videos.

  • @rmidifferent8906
    @rmidifferent8906 2 หลายเดือนก่อน +36

    Saying that javascript is bad for the backend is not gatekeeping. It's telling the truth

    • @nikhiljugdan724
      @nikhiljugdan724 2 หลายเดือนก่อน +12

      Even if it's gate keeping it's good. Don't want JS only devs anywhere near backend

    • @laughingvampire7555
      @laughingvampire7555 2 หลายเดือนก่อน +2

      people use ruby on the backend, they will be ok with JS

    • @Hive-wm1vj
      @Hive-wm1vj หลายเดือนก่อน

      I am working on a client project which is in js backend. 😂😂 It's billion dollar company.
      Js sucks

    • @jakobhetland4083
      @jakobhetland4083 หลายเดือนก่อน +4

      saying that it's not a "real" language or that it's not for backend is the gatekeeping part. It can be as bad as you want it to be, it's still a real language, and can be used for the backend.

    • @rmidifferent8906
      @rmidifferent8906 หลายเดือนก่อน

      @@jakobhetland4083 Having an opinion or saying something (especially when it's a fact hehe) is not gatekeeping, because it is not "trying to control who gets particular resources, power or opportunities and who does not"(Cambridge dictionary). Stating an opinion by anyone is not gatekeeping unless acted on. If a boss would fire someone because they believe that js is good for a server that would be gatekeeping. If a person would harass others because of their opinion that would be gatekeeping.

  • @seeker4430
    @seeker4430 2 หลายเดือนก่อน

    Seriously dude... Why did you remove the 4 hour live course in GIT? I was close to half way through.... Just why?

  • @eileennoonan771
    @eileennoonan771 2 หลายเดือนก่อน +2

    The gate is "you are gatekeeping me from feeling good about myself"

  • @eactif
    @eactif 2 หลายเดือนก่อน +16

    using Dart for mobile and web dev with Flutter ( no html , no css; just Dart ) , and Dart on server is IMHO a real joy, and can certainly be a productivity win for a solo developer or even a small team

    • @aeggeska1
      @aeggeska1 2 หลายเดือนก่อน +6

      Flutter is so nice. I hate html and css and JavaScript

    • @draakisback
      @draakisback 2 หลายเดือนก่อน

      Yep, dart is extremely underrated and has been for years. It's one of those languages that I use every chance I can. I do understand why the JavaScript community rejected dart when it first came out, after all it was backed by Google and they were trying to monopolize the internet (and they still are). If it was released by any other company or group, It would have been amazing had it been embedded in every browser as a JS alternative. I vehemently hate JavaScript and typescript is not much better.

    • @LuisM_Santana
      @LuisM_Santana 2 หลายเดือนก่อน +3

      If you're doing a crud app perhaps. Using a language created to do mobile apps to perform db operations on the backend is asking for problems later on and sometimes right away

    • @superderpyderps
      @superderpyderps 2 หลายเดือนก่อน +6

      Dart was originally designed as a language that runs in a dedicated VM. It wasn't designed for mobile, Flutter is just a framework they built for Dart to act as a GUI wrapper. Flutter for frontend is fine but not necessarily amazing beyond certain use cases. Dart on the backend is basically just newer/shinier C#. It was designed for it, it's the frontend where it was always sort of designed for but never found its footing and it took until Flutter for it to see any serious uptake

    • @LuisM_Santana
      @LuisM_Santana 2 หลายเดือนก่อน +3

      @@superderpyderps fair, but my point is, the tools designed to use Dart with (AKA Flutter) are more mature than the backend one's. And I say this as I worked In project where the tech lead was pushing to use Dart on mobile/backend (to handle same language in fron/back). This was 3 years ago. He was eventually fired and we ended building the backend with Java. There are tools/languages that are inherently better for backend for a bunch of reasons

  • @kaanatakan
    @kaanatakan 2 หลายเดือนก่อน +1

    I don't think that protobuffs are going to be able to make it so that when I remove a property from an object type in my backend code I will instantly be able to see what bugs it will cause in my frontend. I'm assuming I would have to manually export the definitions from my backend repo and then manually trigger code generation for the corresponding typescript interfaces. Setting all this up is not trivial either.

    • @kevinb1594
      @kevinb1594 2 หลายเดือนก่อน +1

      That is a failure of your process. You do not update one system without updating the other - meaning you check to see your proto files agree before deploying anything. Ever.

    • @kaanatakan
      @kaanatakan 2 หลายเดือนก่อน

      @@kevinb1594 I think you are missing the point. With full stack typescript i get instant feedback in my editor. I don't have to make any PRs, I don't have to run any commands, I type something and in about 2-3 seconds the ts compiler running in the background in watch mode draws squigly lines under all the places affected by my change.

    • @kevinb1594
      @kevinb1594 2 หลายเดือนก่อน

      @@kaanatakan Ok? Those aren't exactly the same issue. Protobuf ensure the contract between your backend/microservices/apis are in alignment. Has nothing to do with linting. Assuming your backend is the source of truth, you removing that property IS the correct, updated contractual change.

  • @tengamangapiu
    @tengamangapiu 2 หลายเดือนก่อน

    By single language, do you mean write front-end, back-end, db etc, in Javascript ? Because it reminds me of this excerpt from the blog "Coding Horror": Atwood's Law is a humorous observation made by Jeff Atwood, a software developer and blogger, which states that "any application that can be written in JavaScript, will eventually be written in JavaScript."

  • @lcarsos
    @lcarsos 2 หลายเดือนก่อน

    Yaml can have schema definitions, and almost anywhere you see Yaml used the project also has jinja or go templates. Of the markup languages, yaml is the most likely to have real logic running right next to it.

  • @claudiogofe
    @claudiogofe 2 หลายเดือนก่อน

    The only way I can see JS developers struggling in Go is the "import cycle not allowed". Even after 6 months using Go coming from Node.js for server-side applications, sometimes I'm still stuck into "refactoring" the the implementation I had in mind, to avoid import cycles 😥

  • @foji-video
    @foji-video 2 หลายเดือนก่อน

    Also, type safety encoding on the network was already "solved" back in the day with XML.

  • @Ver2ion
    @Ver2ion 20 วันที่ผ่านมา

    ive been using gamemaker for my frontend and nodejs for my backend for a video game ive been developing for a while and it is nice because they are different languages with different strengths, but are gml is really just javascript even with the same syntax so the communication goes very smoothly, and can integrate lots of middleware to my game

  • @TheNewton
    @TheNewton หลายเดือนก่อน

    23:57 but muh OrderByDescending , that's a weird take as the only difference is whether or not you bother to have an OrderByDescending function added to the array prototype, it's just a wrapper for a sort in most languages.
    And both are NOT onelines for legibility on purpose, and in deployment both can still become one line when shipped, if not outright minified.

  • @nathanfallet
    @nathanfallet 2 หลายเดือนก่อน

    My team actually write everything in Kotlin and we share models between backend and app, is it better than reusing JS/TS? 😂

  • @CaptainWumbo
    @CaptainWumbo 2 หลายเดือนก่อน

    the energy in the first 5 minutes of this video is so tense I hate it. Because it reminds me of the circles I go in my mind when I think about things at work that annoy me, and I know it's unhealthy.

    • @quantumzed420
      @quantumzed420 2 หลายเดือนก่อน

      Womp womp womp

  • @JavierGuerra_g
    @JavierGuerra_g 2 หลายเดือนก่อน

    nitpicking: protobuf doesn't encode the type. that's on the .proto file, which must be shared between all ends (likely to codegen the (de)coding routines)

  • @danconcep
    @danconcep หลายเดือนก่อน

    yaml, config syntax for specific techs, etc are languages. Other thing are languages that are so complex that you can program with them.

  • @ConernicusRex
    @ConernicusRex 2 หลายเดือนก่อน

    @11:00 this is why everyone says frontend web developers aren't real programmers.
    It's about what they don't know that they don't know.*
    *Usually any elementary computer science at all or that HTML isn't programming

  • @user-mikesmith
    @user-mikesmith 2 หลายเดือนก่อน +21

    The language libraries, ecosystem, and community support matter more than familiar syntax.
    Syntax is the least important factor when building anything. Matching the needs of the problem being solved is everything.

    • @vitalyl1327
      @vitalyl1327 2 หลายเดือนก่อน +4

      Libraries and ecosystem only matter to the glue "programmers" who just bolt libraries together. They are not needed anyway and will be replaced with stochastic parrots. Real engineers care much less about any third party libraries and frameworks.

    • @khai96x
      @khai96x 2 หลายเดือนก่อน

      @@vitalyl1327Quick, build Vulkan from scratch!

    • @user-mikesmith
      @user-mikesmith 2 หลายเดือนก่อน

      @@vitalyl1327That’s not true, mostly everyone needs to interface with middleware, OS, or hardware. And redoing commodity code isn’t something “real programmers” do, it’s a waste of time.
      If you are a game engine dev, you are going to use DirectX or Vulkan and shader languages. That’s usually C++.
      If you are an AI developer, you are probably going to use a mix of Python, C++, and cuda.
      If you are an iOS developer, you may be using Swift.
      The problem being solved and support needed is what matters.
      People that reuse high quality components and pick the best tools for the problem are “real developers”
      Lots of languages support calling other libraries that weren’t authored in that language, but sometimes the shim code is more work and more problematic than using one of the natural languages the rest of the community uses to solve that problem.

    • @rushyscoper1651
      @rushyscoper1651 2 หลายเดือนก่อน

      @@vitalyl1327 outside of lib languages have domain that they shine in because they view the world differently which let them be better at type of project.
      c is better for system programming because of it simplicity, C++/rust give u more complexity and reward u with features which make large lib ecosystem easier to make, etc... i think one should focus on trying to see what language fit the project rather then the opposite.
      there a lot of stuff in C++ that is really just rewritten ur own core stuff and extend that by using 3rd big lib that can solve almost anything, u can find almost anything under the sun, i don't think it say much about u being real engineer or not but rather what world view fit better the project.
      for example C++ is clear winning for robotic and games

    • @CheapoPremio
      @CheapoPremio 2 หลายเดือนก่อน +1

      @@vitalyl1327 Real engineers also seldom do common full stack projects. What's your point?

  • @adambickford8720
    @adambickford8720 2 หลายเดือนก่อน

    It's the problem space and solution paradigm that are hard, the language is almost incidental.
    I know this because I write immutable/functional java... and the oop dinosaurs say its 'unreadable' despite being "java". They'd have an easier time coping with OOP solutions in typescript.

  • @LupusMichaelis
    @LupusMichaelis หลายเดือนก่อน

    I worked at a card processor where they chose to use different framework on the front and the back because it would lower the probability that a bug would affect both frameworks. Of course, as they share the language and many libraries, the gain was very relative. But the idea to use different technologies in layer to make the path harder for an attacker is my main argument for using different techs and different OS through the attack path.
    I'm sad this argument wasn't in the article

    • @keithjohnson6510
      @keithjohnson6510 หลายเดือนก่อน

      That's got to be the weirdest argument, that's maybe why it wasn't in the article. You have just doubled the chance of getting an error in the first place, doesn't matter if it only effects one end or not, it still needs fixing. From an attackers perspective the only security hole is backend anyway, get that wrong and it's game over, get the client side wrong, doesn't matter a jot from a security perspective.

    • @LupusMichaelis
      @LupusMichaelis หลายเดือนก่อน

      @@keithjohnson6510
      It rely depends on what you call Frontend and Backend. At the time, SPA weren't a thing, the frontend was a Symfony app (with access to server disk and db), the backend an API where most of the business logic was sitting. I do agree it's not the best, I was complaining a lot about this arch
      The idea behind using different technologies is not to prevent attacks, it's to make them more expansive and slow. Like when you plant forest of different essences, or you're using different OSes in your network: raising the cost of any foothold and the cost of the next move
      There is companies where they use a BSD flavor for network security bastions, and a Linux distros for cutting edge apps. All this in the spirit to a multilayered security scheme (oh, and L1/L2 switches of different brands, not all from CISCO)
      And I bet that nowadays, hardware architecture is coming back as strategic choice to prevent binaries to hap between machines

  • @philipp04
    @philipp04 2 หลายเดือนก่อน

    5:22 Sometimes it takes me more time than it should to realize that I've been blessed to have a professor that teaches me programming at university and is close to the real world (and is also one of the world's leading experts in parallelization)

  • @dezly-macauley
    @dezly-macauley 2 หลายเดือนก่อน +1

    Spicy take: I regret ever going anywhere near the JavaScript / TypeScript ecosystem. Should have just gone with Go, while learning Rust (when finer control is required)
    Heck. I think Python would have been a better investment because of all the AI trends. Also not learning C sooner was a dumb move on my part.

  • @felixallistar
    @felixallistar 2 หลายเดือนก่อน +3

    really love how you start by trying to understand the actual point behind their... points, instead of just basing everything off of your own. empathy is rare in robot world

  • @abrotherinchrist
    @abrotherinchrist 2 หลายเดือนก่อน

    I've been using HTML and CSS for 20+ years and have been exposed to JS and PHP quite a bit. Recently I embarked on the journey to learn more about programming. It was and is DAUNTING. I don't know how it's possible to find any joy in that unless you literally LIVE programming.

  • @elieobeid77
    @elieobeid77 2 หลายเดือนก่อน +2

    productivity is not the reason, cutting cost is, my flutter devs can do everything from the backend to the frontend to whatever. That's why I used flutter for my previous startup. Productivity plays a role, for instance, my flutter devs couldn't edit nodejs cloud functions and I'm not going to hire nodejs devs just to maintain few functions. But it's a cost game not a productivity game.
    At the end of the day, management pays the bills and salaries, so everything comes down to cost, no one cares about productivity, productivity is nice if it decreases the cost but it's not the main concern whenever we choose a language. I picked flutter back in 2018, when ti was in beta stages and I didn't know anything about it, all I know is it can publish web and apps, I needed both and couldn't afford to hire many devs.

  • @Diamonddrake
    @Diamonddrake 2 หลายเดือนก่อน

    That hot take around 30 mins where you say “if someone says JavaScript isn’t a real language and you get so discouraged you stop programming maybe you should stop programming” is my favorite thing you’ve ever said. I use js practically every day. But opinions can’t hurt you! ❤ sticks and stones man

  • @alejandrombc
    @alejandrombc 2 หลายเดือนก่อน

    How good is the grpc web support?, does someone knows?

  • @0x0404
    @0x0404 2 หลายเดือนก่อน

    We have fairly constant pressure to have a single shared language for our app since half the devs are doing ios and the others android. It never turns out well. Nobody else wants to go down to c/c++ that completely works on both platforms(for all the non-ui).

  • @logank.70
    @logank.70 2 หลายเดือนก่อน

    The thing I've experienced is that a polyglot is perfectly fine as long as you are adhering to the boundaries. Our frontends are Angular / TypeScript and our backends are C#. I think the argument is more about having different languages within the same boundary. We aim to use the same language / tools for each backend. If we need to deviate from those tools for the backend the project had better have a really good reason as to why, and "because I like it" isn't a good reason. Otherwise, it makes sense. Have different languages for the different areas and try not to mix languages / tools within an area. It's a huge pain when one product is using Angular, React, jQuery, etc. all in the same product.

  • @furycorp
    @furycorp 2 หลายเดือนก่อน

    I have worked on pure TS (in monorepo w/ shared packages) and mixed language projects this past year and I do find pure TS workflow less redundant and faster. However TS is only as strong as the weakest link -- can't have cheats like "any" and codebase must rigidly ensure that runtime type safety is assured (zod, valibot, etc) so there is 100% confidence that types are what they say they are, with verification at every boundary. Its best to think of TypeScript as a sophisticated linter for JS. Codebases where n00bs have littered it with type lies and cheats obliterate the advantage.

  • @theredscourge
    @theredscourge 25 วันที่ผ่านมา +1

    Type safety, single language productivity, and languages like Python with authoritarian tabbing requirements are all just copes for not being a better programmer. You don't need all these fancy things that greatly restrict you in an attempt to reduce errors if you just don't make errors. If you routinely write code that's too hard for you to debug, you need to write less complex code, you don't need to switch to a less powerful language that does more hand-holding.

  •  2 หลายเดือนก่อน

    PHP and JS being in the same file made me hella confused for months when I was learning web dev... Honestly having client side and server side separate may have helped a lot.

    • @gavipk
      @gavipk หลายเดือนก่อน

      its awful. Ive seen so much awfully butchered js in php ive had to deal with it gives me nightmares.

  • @Abu_Ubaida9
    @Abu_Ubaida9 22 วันที่ผ่านมา +1

    It's funny that he doesn't remember 401 but remembers 418

  • @theindependentradio
    @theindependentradio 2 หลายเดือนก่อน +2

    the way "json" is said reminds me of the french chef from the Little Mermaid

    • @Epic-so3ek
      @Epic-so3ek หลายเดือนก่อน

      ah, childhood. such a shame.

  • @andreicojea
    @andreicojea 2 หลายเดือนก่อน

    gRPC? Is that available in the browser?

  • @635574
    @635574 2 หลายเดือนก่อน +1

    I have my big brain discovery, nobody actually speaks a 100% of their language, and neither should be exected from programming languages.

  • @user-fd3mk4df8k
    @user-fd3mk4df8k 2 หลายเดือนก่อน

    The first 6 minutes of this video are crucial information. Never heard of any of those things before. Thank you!

  • @kevinb1594
    @kevinb1594 2 หลายเดือนก่อน +2

    Uhhh... Isn't the argument for single language related to the cost of hiring and ease of integration? If anything it means companies don't have to hire two developer to do front end and backend and even if you do have such teams, they have a common language/understanding and therefore no compatibility issues. I.e. Javascript object is a javascript object.

  • @dkchen
    @dkchen หลายเดือนก่อน

    The nice thing about having everything in typescript is that you do save time on packaging.

  • @judgewest2000
    @judgewest2000 หลายเดือนก่อน

    Definitely sticking to a smaller pool of languages is probably good so you can keep decent knowledge them in your head - I would not suggest to people to not learn other languages. In my heart I'm C# through and through (along with react / javascript / typescript / SQL / powershell / bash) but recently have been doing a lot of LLM stuff which lives in the world of Python. There are some very clever people that have made wrappers for C#, but honestly, just go native Python as your pain barriers will be almost zero. It took me a weekend with youtube and some docs to write pretty much everything I need and would need - and I'm no Mensa member!

  • @giorgos-4515
    @giorgos-4515 2 หลายเดือนก่อน

    xml and xml schemas, WSDL and all of that seems like something we moved on from but maybe shouldn't have, anyone with practical experience what were the problems with those?

  • @michealkinney6205
    @michealkinney6205 2 หลายเดือนก่อน

    First time I've heard you say "JSON" and I love it, lol.

  • @dipolito4294
    @dipolito4294 2 หลายเดือนก่อน

    20:00 So relatable, I only used camelCase until I started writing ruby, the rule is snake case and I hated It. But It ended up being the thing I like the most

  • @laQwoter
    @laQwoter 3 วันที่ผ่านมา

    In one company we started to write services in Node so frontend people can join on the backend fun. In the end, only backend people touched them and were grumpy about it, do not recommend.

  • @prgnify
    @prgnify 2 หลายเดือนก่อน +2

    The gatekeeping conversation was really bad to witness. Prime example of how it is absolutely impossible to have meaningful conversation between one person and a thousand monkeys on typewriters.
    The conversation STARTED because Primeagen disagreed with the author that he said Javascript was not a real language, saying the author should've said something along the lines of "a language designed for the backend" or something like that.
    People in chat "probably" (I can't assume I know what they were thinking, ofc, but am steelmanning their position) said it was bad gatekeeping in this case because the author apparently created a gate beyond which all "real" programming languages are, and JS is out of this gate, so the author is gatekeeping the status of "real" programming language to javascript. I'm sure that Primeagen agrees this is a stupid take, and there is no real way to logically defend this position. JS is a programming language whether we like it or not.
    Is the gate between "real" programming languages and "not real" a good gate to keep? Well, sure. Just like thePrimeagen at the beginning talking about YAML, and however many conversations we can have about HTML, and the argument on turing completeness etc., but never in a million years no one will seriously say Powerpoint is a programming language.
    But JS is a programming language by any (reasonable, imo) measure.
    But then of course, people got rustled because if all they know is JS and someone is out there saying JS is not a "real" programming language, then they might feel like the person is saying they are not "real" programmers.
    All of which does not bare in the whole conversation. The whole discussion of what is gatekeeping, what is the gate, how is it being kept, prime talking about the person feeling welcomed or giving up programming, most of what I saw in chat... ALL OF IT was people talking past eachother.
    The author, by saying JS is not a "real" programming language, created a gate and kept JS out of it.
    ThePrimeagen had his take that the author shouldn't have used the wording he did.
    Chat said that what the author did was gatekeeping.
    It APPEARS thePrimeagen saw the comments about gatekeeping and thought it was about the separation between back and front end that was being kept, and argued from that position. "saying other programming languages are better for the backend is not gatekeeping".
    Chaos ensued and no-one learned nothing.

  • @katanasteel
    @katanasteel หลายเดือนก่อน

    The Vulkan API even has the first member of all the structs be the StructureID enum.

  • @constantinegeist1854
    @constantinegeist1854 2 หลายเดือนก่อน +2

    Having same validation code on both sides is literally the only argument I've heard for having same language, and it's the one Prime mentioned too. Doesn't sound like a super critical thing worth ditching everything for and try to shoehorn JS everywhere

    • @dv_xl
      @dv_xl 2 หลายเดือนก่อน

      Some projects exist to let you write validation rules that are agnostic to the language, like protovalidate.

    • @MrMeltdown
      @MrMeltdown 2 หลายเดือนก่อน

      Regex validation ftw…
      No problems there!

  • @sindragore8566
    @sindragore8566 2 หลายเดือนก่อน

    Gatekeeping part was amazing :)

  • @CouchProgrammer
    @CouchProgrammer 2 หลายเดือนก่อน

    21:31 Yes, of course you can do N+1 with LINQ, or you can throw an exception at the orm level every time someone does N+1. Then all N+1 will be explicitly specified by you in the code. In js you'll have to run the request and look at the generated code to find out. So there is a difference in the feedback loop with the ORM: c# - when you type, js - in production. (I haven’t written C# for more than 8 years, today probably C# servers are generated with chatgpt, so no one cares about N+1)

  • @iancarlson3421
    @iancarlson3421 2 หลายเดือนก่อน

    One aspect I didn’t hear mentioned in this video is using libraries and tooling. If the FE and BE are different languages then the libs and tooling will be entirely different. That will definitely add cognitive overhead that I would argue is not insignificant.

  • @Dogo.R
    @Dogo.R 2 หลายเดือนก่อน +2

    Or just use languages with javascript transpilers like clojure.
    Idk why transpiling is always ignored when its alot better than javascript supersets.

  • @noxagonal
    @noxagonal 2 หลายเดือนก่อน +1

    I was going to say this doesn't apply to me as I'm interested in desktop apps in C++ and I can get by with just C++. Then I remembered, I use CMake... And I parse JSON. And I often mix python in there somewhere.

    • @stefanalecu9532
      @stefanalecu9532 2 หลายเดือนก่อน +1

      If you're really willing, you could hand roll your own basic build system in C++ like what Tsoding has with nob and have it bootstrap the building process from there

    • @noxagonal
      @noxagonal 2 หลายเดือนก่อน

      @@stefanalecu9532 LOL. Yeah I guess I could... XD
      Talking about CMake, I made a recursive CMake project where one of the targets re-generates the project so that I can automate some steps. Because of some annoying multiconfiguration build system limitations. This being the easiest solution made me guestion my sanity.

  • @AJMansfield1
    @AJMansfield1 2 หลายเดือนก่อน +1

    Single Language can be a tool to reduce implementation skew, as part of the "Bean" design pattern: i.e. using exactly the same chunk of code to check the form fields and enable the submit button, as to validate the resulting POST server-side to accept or reject it.
    But in practice, frontend and backend have different concerns and will have very different code paths leading into the validator call, so there's still an opportunity for implementation skew. And you can just write your beans in something like Haxe, to transpile into whatever languages you need.

  • @fischi9129
    @fischi9129 2 หลายเดือนก่อน +1

    hot take: most languages designed for the backend are not designed for the backend

  • @miscbits
    @miscbits 2 หลายเดือนก่อน +1

    Maybe a bit of a hot take, but I don't think we should argue about what the industry standards should be based on how beginners will be able to handle it. The arguments that center around it being easier for beginners really implies to me that single language stacks are something that you grow out of. If that isn't the case then why aren't we telling people to move to a different backend? It is so clearly not about beginners imo.

  • @TimSavage-drummer
    @TimSavage-drummer หลายเดือนก่อน +1

    It saddens me when somebody gets upset that I don't like JS server side and you find out JS is the only language they know.

    • @keithjohnson6510
      @keithjohnson6510 หลายเดือนก่อน

      No need to be sad, I didn't like JS for a long time, already had lots of experience in other languages, to be fair don't like JS now without TS. (JSDoc is not an option for me either).

  • @festussabu
    @festussabu 2 หลายเดือนก่อน

    Where is yesterday's git stream?

  • @justanaveragebalkan
    @justanaveragebalkan 2 หลายเดือนก่อน

    It does contain a gate, to their mental capacity. There is this threshold that's hard to break with some folks.