Це відео не доступне.
Перепрошуємо.

Use Java For Everything

Поділитися
Вставка
  • Опубліковано 10 лип 2024
  • Recorded live on twitch, GET IN
    Article
    www.teamten.co...
    By: x.com/lkesteloot
    My Stream
    / theprimeagen
    Best Way To Support Me
    Become a backend engineer. Its my favorite site
    boot.dev/?prom...
    This is also the best way to support me is to support yourself becoming a better backend engineer.
    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-K...
    Get production ready SQLite with Turso: turso.tech/dee...

КОМЕНТАРІ • 1,1 тис.

  • @WillScrillz
    @WillScrillz Місяць тому +1258

    As a kid I watched skate vids to get fired up to go skate, now I watch prime vids to get fired up to go to work

    • @stonefist
      @stonefist Місяць тому +8

      Same. Lol

    • @GordonChil
      @GordonChil Місяць тому +5

      For reals. I hear him get all pumped and I’m like “LFG!!” 🤘🎸

    • @soliddrake11
      @soliddrake11 Місяць тому +1

      Are you me?

    • @MrJgracias
      @MrJgracias Місяць тому

      I was just thinking of this

    • @euclid9492
      @euclid9492 Місяць тому

      Yup we’re living the same life

  • @sininenblue9161
    @sininenblue9161 Місяць тому +1242

    A decade ago being 2014 physically hurts me and I'm not even old

    • @XDarkGreyX
      @XDarkGreyX Місяць тому +65

      26yo here and I feel ya

    • @LinuxEnjoyer
      @LinuxEnjoyer Місяць тому +49

      23 yo here and i feel ya. Last time i remember 1 decade ago was 2004

    • @vaoline
      @vaoline Місяць тому +22

      I‘m 23 and I feel so old already

    • @blabla415
      @blabla415 Місяць тому +8

      nice try grandpa

    • @kuil
      @kuil Місяць тому +13

      99% will say they aren’t even old. It sneaks up on you

  • @Adowrath
    @Adowrath Місяць тому +458

    Java no longer being used today is one of Prime's wildest takes the past few months, lmao.

    • @Tom-jy3in
      @Tom-jy3in Місяць тому +157

      Java today is actually good and has a worse rep than it deserves (probably old coders remembering the dark days, just like PHP). All its missing now is reified generics/C# templates and it would be golden. The ecosystem puts almost any other language into the dumpster (maybe not js/ts in terms of volume but personally I feel the quality is way worse).

    • @diamondkingdiamond6289
      @diamondkingdiamond6289 Місяць тому

      @@Tom-jy3innulls and .Equals() method is also a problem

    • @Yous0147
      @Yous0147 Місяць тому +40

      Yeah, I feel like he is half joking, half blocking out some Groovy Java trauma. Java still has its quirks, but it's a great language and has a solid foothold in the industry, even if it doesn't mix much with the frontend/functional crowd. I've personally really gotten an appreciation for Groovy, I wish you could write Java like that and have the same native run times.

    • @theshermantanker7043
      @theshermantanker7043 Місяць тому +6

      @@Tom-jy3in Reified Generics are coming, it's just taking a long time for god knows why

    • @gregorykhvatsky7668
      @gregorykhvatsky7668 Місяць тому +9

      @@theshermantanker7043 It's a huge refactor of the entire VM + you have to keep backcompat (including with proprietary class files). I hope they do it this decade lol.

  • @mtxn
    @mtxn Місяць тому +553

    interview for junior c++ developer:
    interviewer: what is your favorite language?
    me: cmake
    interviewer: ( ͠° ͟ʖ ͡°)

    • @sundae6610
      @sundae6610 Місяць тому +69

      what lead me to rust and ts is my hatred towards (c)make

    • @thanosfisherman
      @thanosfisherman Місяць тому

      There are other alternatives nowadays. You can even use Zig's toolchain to compile c/c++ apps

    • @Kiyuja
      @Kiyuja Місяць тому +67

      my favourite language is cmen

    • @nazar5549
      @nazar5549 Місяць тому +12

      The interviewer is a fan of autotools and m4/libtool ?

    • @nicolaskeroack7860
      @nicolaskeroack7860 Місяць тому +7

      better design stuff from scratch than to import stuff with cmake

  • @Fortun8Fool
    @Fortun8Fool Місяць тому +89

    "Stop using bash once you get to arrays." That explains how we ended up with a 70K line bash system at a previous job. The system was older than bash arrays.

    • @RevCode
      @RevCode Місяць тому +6

      I can see how it became a previous job o_o

    • @earx23
      @earx23 5 днів тому

      It's easier to port a shell than porting a shell script.

  • @RS999GTI
    @RS999GTI Місяць тому +376

    Now it's use React for everything.

    • @TJackson736
      @TJackson736 Місяць тому +44

      The "library" that forces its way into the entire program, changing how you write the language.

    • @paulfunigga
      @paulfunigga Місяць тому

      Bruh

    • @NoName-1337
      @NoName-1337 Місяць тому

      @@TJackson736 *framework

    • @ForChiddlers
      @ForChiddlers Місяць тому +7

      We use flutter❤❤❤

    • @alinousalinous3728
      @alinousalinous3728 Місяць тому +4

      So basically instead of Java... JavaScript?

  • @HyperionStudiosDE
    @HyperionStudiosDE Місяць тому +307

    As an unapologetic Java enjoyer I'm ready for this video. ⚔️💀

    • @gintoki_sakata__
      @gintoki_sakata__ Місяць тому +59

      I thought i was the only one that likes java 😂

    • @EpicNicks
      @EpicNicks Місяць тому +42

      @@gintoki_sakata__ I used to be a java hater and now that the language has gotten half decent I am a certified java tolerator.

    • @GordonChil
      @GordonChil Місяць тому

      Love the Java and the JVM. But nowadays when in a Java project, I find myself pulling some Kotlin in for the new code. 🫶

    • @tongpoo8985
      @tongpoo8985 Місяць тому +1

      ​@@EpicNickshow did they change it? Last time I used it was in like 2015 and I wanted to jump out the window

    • @EpicNicks
      @EpicNicks Місяць тому +14

      @@tongpoo8985 it caught up to many features C# introduced after it surpassed Java like switch expressions, type based pattern matching with instanceof, record classes, var and local final variables (something C# actually is missing still, still no local readonly), ok-ish lambdas, etc.
      Java still never made the "breaking" change of adding reified generics which is why I am still a tolerator and not an enjoyer.

  • @PhilipAlexanderHassialis
    @PhilipAlexanderHassialis Місяць тому +295

    Me, an enterprise software person: you guys *don't* use Java?

    • @almostprofessionalrecords6651
      @almostprofessionalrecords6651 Місяць тому +51

      Java 6 is the most enterprise version. You’re not fully enterprise if you’re using a newer version.

    • @mcroyal8000
      @mcroyal8000 Місяць тому

      @@almostprofessionalrecords6651 true and real

    • @theshermantanker7043
      @theshermantanker7043 Місяць тому

      ​@@almostprofessionalrecords6651Java 21 or bust

    • @mantasjoniskis
      @mantasjoniskis Місяць тому +26

      We're on Java 8 😆

    • @DrDuckmann
      @DrDuckmann Місяць тому +6

      We have mostly 8 and newer stuff in 11. The biggest issue for me is that about half of the 8 is actually groovy/grails and I do not like it.

  • @keyboard_g
    @keyboard_g Місяць тому +74

    For a histogram use the worlds most popular database and programming language: Excel.

    • @richardclark9535
      @richardclark9535 Місяць тому +14

      Excel is the most successful functional programming language

    • @Daniel_Zhu_a6f
      @Daniel_Zhu_a6f Місяць тому +7

      excel has terrible plotting capabilities. 20 f*ing years! and until recently they didn't have capability to create new functions
      but they have a giant 3d letters feature, so it's fine...
      just like ms word has almost no bibliography management, terrible picture placement tools, sh*t paragraph styling system, but has a giant 3d letters effect.

    • @robmcleod2876
      @robmcleod2876 Місяць тому

      ​@@Daniel_Zhu_a6fword art is more important than functionality!

    • @o0Donuts0o
      @o0Donuts0o 12 днів тому

      @@Daniel_Zhu_a6fMust be sad when you don’t know how to work an application but blame the application for being on the right hand side of the bell curve.

    • @Daniel_Zhu_a6f
      @Daniel_Zhu_a6f 12 днів тому

      @@o0Donuts0o the fact that i've consistently found that writing a python script is a faster and simpler solution than using an application that allegedly simplifies data manipulation, should tell you a lot about that application.
      if word had fine citation capabilities i we wouldn't have to use zotero/mendelei/endnote. and if word had normal formatting tools (good chapter numbering, picture embedding etc), latex would have probably gone extinct.

  • @smithdoesstuff
    @smithdoesstuff Місяць тому +57

    First minute I’m like, I use the back of my power drill to hammer in wall anchors. Not because it’s best, but because the hammer is downstairs and I’m not.

  • @confusedwouldwe
    @confusedwouldwe Місяць тому +273

    "If statements are UNREADABLE SPAGHETTI!", cry the clean coders, who use 23 different files spanning 5 layers of abstraction for the same functionality as a 6-line If statement.

    • @BlueDippy
      @BlueDippy Місяць тому +12

      It depends bro, for instance let’s say I wanted to determine an angle to turn something along a radius and I had sensors around the object to determine let’s say light intensity… why would I use if statements to step into the direction in a limited and bloated way when I can make a function to normalize and determine a vector based on the optimal direction derived by the light gradient cast upon all sensors… it’s kind of like looping over data one by one instead of using a hash map…

    • @colemanroberts1102
      @colemanroberts1102 Місяць тому +40

      ​@@BlueDippylooping over data is faster and simpler than a hashmap when N is small. You're right, it depends.

    • @BlueDippy
      @BlueDippy Місяць тому

      @@colemanroberts1102 darn right

    • @ZM-dm3jg
      @ZM-dm3jg Місяць тому +8

      @@colemanroberts1102 And running your for loops in reverse is faster in javascript but nobody cares about that optimization either

    • @rusi6219
      @rusi6219 Місяць тому

      I hate their irrational hatred towards gotos as well. I think they're just autistic if they can't read code like a book. Procedural code is literally step by step description of what we want to achieve, you can't get closer to pseudocode than procedural.

  • @rsKayiira
    @rsKayiira Місяць тому +40

    Java is a really supreme language. Once they can figure out how to decrease start up times using Spring Boot, its going to be a huge game changer. Otherwise Java 21 already includes a lot of impressive features that reduce verbosity, improve virtual threads as well as functional programming.

    • @gruntaxeman3740
      @gruntaxeman3740 Місяць тому +9

      I use Java only in Quarkus framework. It has excellent startup times when compiled using GraalVM.

    • @rsKayiira
      @rsKayiira Місяць тому

      @@gruntaxeman3740 Interesting!! how large is the application you’re working on and how mature is the Quarkus framework? Spring Boot still seems to have the edge in terms of features. Maybe that has changed or is in the process of changing?

    • @Ulvhamne
      @Ulvhamne Місяць тому +1

      There are a few options.
      AoT compile, or AppCDS are probably the best ones.

    • @gruntaxeman3740
      @gruntaxeman3740 Місяць тому +2

      @@rsKayiira
      I'm not using it in current projects but I really want to use it more. In past I did one small project and it was pleasure to use, and there is tons of features. All bells and whistles are found from extensions. I found it mature as it is based on open source libraries that implements Java standards but it also has Vert.x and GraalVM.
      Most of the backend code I wrote currently is for NestJS for various reasons but if I don't have any reason to use some other framework, I'm sure I would pick Quarkus. Tooling, features and performance are so good and philosophy it has is to follow standards.
      I know Spring and used that too but it kind of have "homemade" feeling around it. Spring boot was my Java stack before Quarkus appeared.

    • @neebuandsocanyou7557
      @neebuandsocanyou7557 Місяць тому

      @@gruntaxeman3740 you can run spring on graal vm

  • @benloud8740
    @benloud8740 Місяць тому +224

    3 Billion Devices Run Java

    • @ooijaz6063
      @ooijaz6063 Місяць тому +49

      3 bilions gbs of ram wasted :D

    • @marcelh7864
      @marcelh7864 Місяць тому +35

      @@ooijaz6063 I can tell you from experience that you are underestimating the wasted ram by a factor of ten at least..

    • @colemanroberts1102
      @colemanroberts1102 Місяць тому +11

      Could 3 billion devices be wrong?

    • @mirakle9375
      @mirakle9375 Місяць тому +10

      How many of these are DVD players?

    • @ekim2see
      @ekim2see Місяць тому +4

      And three quarters of them are in landfill

  • @J1Jordy
    @J1Jordy Місяць тому +18

    I started my programming journey in 2007 with de-obfuscated RuneScape clients and writing a custom server , which was all Java back then. It'll always have a special place in my heart. ❤️

    • @カイリン
      @カイリン Місяць тому +2

      Saaame! The first language I picked up was Java just because I wanted to build a RSPS for fun. That was around 2010. What great times ❤️

    • @neryortez6835
      @neryortez6835 Місяць тому

      I miss Java for Android apps

    • @SoftBreadSoft
      @SoftBreadSoft Місяць тому

      Same, but I hated Java. I liked that the community platform which is still kind of around was all wrapped in Pascal and interfaced with Pascalscript. Dealing with sniffing all the glue was ironically less of a headache than the convoluted build system of just java, so I liked working on that side of things. I never released scripts only libraries because I myself was only botting because I liked the programming. I spent way more time writing code and debugging than ever botting lol

    • @22ROM
      @22ROM 27 днів тому

      do you think java is still worth learning?

    • @SoftBreadSoft
      @SoftBreadSoft 27 днів тому

      @@22ROM Java is still pretty widely used by many companies. Particularly as the native language of Android and Oracle software.
      If you want to work for Google on Android or another company that mainly uses Java, or if you are very interested in projects using Java, then yeah absolutely.
      It depends on your goals and what you want to do. If you are new to programming entirely I would say start with something like LUA or Python, whatever ecosphere interests you, LUA is big in game modding and application scripting(like nvim), Python has a package for everything and you can quickly make useful tools and programs for anything you can think of.
      Unreal engine uses C++ for game scripting.
      Unity uses C# for game scripting.
      Google uses C/C++, Java, Go, Python.
      Meta/Facebook uses react, c++. Java, python.
      Amazon uses typescript, c/c++, python
      And so on.

  • @rdil
    @rdil Місяць тому +206

    Has it really been that Java devs are the real full-stack devs all along?

    • @HyperionStudiosDE
      @HyperionStudiosDE Місяць тому +39

      Java has always been strong in the backend. In my current project we even do the frontend in Java using Vaadin. 😆

    • @PakRoc-dev
      @PakRoc-dev Місяць тому +23

      Sip some Java and it goes straight to the backend

    • @PhilipAlexanderHassialis
      @PhilipAlexanderHassialis Місяць тому +11

      @@HyperionStudiosDE Sweet lord, do people still use Vaadin? oO

    • @entx8491
      @entx8491 Місяць тому +2

      Define "real"

    • @user-pq9sc4ur5r
      @user-pq9sc4ur5r Місяць тому +5

      @@PhilipAlexanderHassialis It is such an emotional roller-coaster that we will never get rid of it

  • @salvatoreshiggerino6810
    @salvatoreshiggerino6810 Місяць тому +25

    Java isn't terrible as a language. The problem is that everyone is so bored with it that they can't just write plain Java, they have to get clever with functional or async, make custom wrappers for dependencies or even reinvent basic stuff like ORMs and web frameworks. It's so bad that every single Java client I've had their coding style has been so radically different that practically no skills transfer from one to the other. This can even be said for much of the standard library which has to pander to three decades of programming tastes and whims.

    • @ea_naseer
      @ea_naseer Місяць тому

      stream().sorted().filter().distinct.findFirst()
      functional😂😂

    • @ZacCrawforth
      @ZacCrawforth Місяць тому +1

      It's not a horrible language, it's a HORRIBLE runtime. Write code today, next year when you try to run it again on the "current" JRE it won't run. Utter trash. Esp when compared with Go where you can compile code from a decade ago on the current version and it runs perfectly.

    • @javierflores09
      @javierflores09 Місяць тому +26

      @@ZacCrawforth what are you even talking about, the JVM is the peak of forwards compatibility, the only place where this breaks is when you include ASM magic but rarely if ever you'd have to deal with this

    • @victorbitencourt9481
      @victorbitencourt9481 Місяць тому +6

      @@ZacCrawforth still better than languages like python where every minor version has a breaking change

    • @manaslovesbirds
      @manaslovesbirds Місяць тому +5

      ​@@ZacCrawforthbackward compatibility is one of the main reasons java is used widely.

  • @josephmendoza5660
    @josephmendoza5660 Місяць тому +10

    Java is actually my favorite language because to me it's the easiest to read. I really don't like how a lot of newer languages try their best to have as few of characters as possible. People always give me crap about it takes to long to write but I just use an IDE and it types most of that for me now what I do do a lot is reading other peoples code.

  • @LuisM_Santana
    @LuisM_Santana Місяць тому +23

    2024 And I use Java for everything, let's goooooooo

  • @user-mj6vt1oy5r
    @user-mj6vt1oy5r Місяць тому +15

    This reminds me of when I was starting out in martial arts. Everyone was saying that their Kung Fu or Art was the best, but I realized that it wasn't the art that kicked ass. It was the artist. If you got good with a particular skill, guess what? You were good at using that particular skill to do just about anything, because you'd already learned the corner cases and work arounds and how to shore up its' weaknesses.

  • @alextrollip7707
    @alextrollip7707 Місяць тому +6

    I didn't "get" unit testing. Because it felt like I was testing for things that were obvious.
    And then I realised that 1. That's still very valuable.
    Especially on bigger projects
    2. It helps you realise when your code is linked badly when you can't unit test
    3. It's helps when refactoring or changing business rules to know initial intentions
    Also dopamine, 100% test success is always a nice dopamine boost.

  • @Kiyuja
    @Kiyuja Місяць тому +69

    Java is alright... I massively prefer C# over it, but Java gets stuff done you know, can do a lot of things well and be pretty efficient.

    • @thewiirocks
      @thewiirocks Місяць тому +33

      Funny, I have the exact opposite reaction. Whenever I have to write C#, I want to blow my own head off. Bad libraries, bad documentation, lots of "magic" features that are hard to track / debug, only so-so portability, constant API replacements, often objectively worse "upgrades" to APIs, etc, etc, etc.
      Java may lack the big breasted bimbo sex appeal of C#'s innumerable "cool" features, but it's full of mature smarts that make it way more attractive to me. 😉

    • @javierflores09
      @javierflores09 Місяць тому

      @@thewiirocks using "big breasted bimbo sex appeal" to describe a language is crazy and I love it

    • @protocj3735
      @protocj3735 Місяць тому

      @@thewiirocks So Java is a milf?

    • @robergroso
      @robergroso Місяць тому +10

      Java is a lot better than c# because everything works.

    • @ErazerPT
      @ErazerPT Місяць тому +6

      "Class has been compiled by a more recent version of the Java Environment (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0." - #yeahright ;)

  • @Grumpicles
    @Grumpicles Місяць тому +12

    I'd love to know more about Prime's decisions of when to use "the right language for the job". Because in almost all of enterprise and corporate development I've been involved in (from the very, very small to the very large), a language is picked and then that's what we use for a product/application. Unless you do a micro service, which is either never going to happen, or your name will very soon be "mud" because you just cost everyone a shit load of extra maintenance effort.

  • @NotMarkKnopfler
    @NotMarkKnopfler Місяць тому +26

    And lo, Prime did speake unto his lowly flock thus: "No one will ever contribute". And the people did hear the words he spoke. And the people did murmur in agreement, for they saw that it was true.

  • @kurkenfruit
    @kurkenfruit Місяць тому +79

    Screw the right tool for the job. I use R for everything

    • @infastin3795
      @infastin3795 Місяць тому

      You Rascal.

    • @CockatooDude
      @CockatooDude Місяць тому

      Unfathomably based.

    • @black-snow
      @black-snow Місяць тому +9

      Gimme a sec, need to swallow my breakfast again.

    • @siliconhawk9293
      @siliconhawk9293 Місяць тому +1

      I have never before felt this incomparable disgusted by 1 line of comment. plz stop

    • @ultimaxkom8728
      @ultimaxkom8728 24 дні тому

      What an absolute menace.

  • @jboss1073
    @jboss1073 Місяць тому +82

    I doubt Rollercoaster Tycoon had unit tests.

    • @krux02
      @krux02 Місяць тому +4

      How do you know?

    • @LARathbone
      @LARathbone Місяць тому

      ​@@krux02iykyk

    • @woodendoorgarage
      @woodendoorgarage Місяць тому +27

      @@krux02 I was written in assembly. 😎
      Transport Tycoon was the same. People do no realize it but both games were solely written by Chris Sawyer. Transport Tycoon was released in 1994 for DOS so it is 16bit binary. It has its own rendering 2D engine and windows-like UI that honestly worked better then Windows 3.11 at that time.

    • @ugib8377
      @ugib8377 Місяць тому +6

      Man, I miss those early day tycoon games. Also early day maxis stuff. SimCity/SimAnt/SimFarm.
      My childhood right there... Along with Stars!

    • @Jabberwockybird
      @Jabberwockybird Місяць тому

      Java is too intense for me.
      I've been in the pipeline queue for ages.
      I'm hungry

  • @AI-xi4jk
    @AI-xi4jk Місяць тому +15

    Scala was a prime example of a language being used for everything: Scala - JVM, Scalanative like C++ and ScalaJS.

    • @user-qm4ev6jb7d
      @user-qm4ev6jb7d Місяць тому +2

      Huh? I had no idea these things existed. Now I want to learn Scala, if I'm not going to have to use JVM!
      From what I've seen, Scala's type system will be right up my alley.

    • @theshermantanker7043
      @theshermantanker7043 Місяць тому +2

      Funny, Kotlin also has the exact same 3 backends as well

    • @nandoflorestan
      @nandoflorestan Місяць тому +2

      Scala seems awesome until you realize, hey, I have been learning the language for a year and still haven't finished. The LANGUAGE.

    • @AI-xi4jk
      @AI-xi4jk Місяць тому +1

      @@nandoflorestan that’s funny. I think some complexities come from frameworks and ways of expressing your ideas like FP. In the end it makes you a better programmer in other languages cause you are exposed to so many ideas.

  • @dmytrooleinichenko9865
    @dmytrooleinichenko9865 Місяць тому +23

    Have picked Java instead of Python for performance but you are annoyed with java verbose type declarations? Just use Kotlin - best of both worlds - very nice, expressive, concise syntax with Strong Typing and performance from Java(bonus if you are already know Java you will learn Kotlin in hours, 100% compatibility with Java).

    • @emceha
      @emceha Місяць тому +1

      I’m not a dev but my little bro that works for big corpo says they are starting new things in Kotlin now.

    • @Yous0147
      @Yous0147 Місяць тому +2

      I wish we had a language that was Kotlin but with Groovy syntax. Certain ways Kotlin defines things just doesn't mesh well with my thinking, especially since it's such a departure from Java's syntax, such as using "fun" for declaring functions and methods. Why not just do like Groovy and just define them with parantheses after a method name?

    • @weswes666
      @weswes666 Місяць тому

      ​@@Yous0147just put in the effort to learn something for once in your life.

    • @nandoflorestan
      @nandoflorestan Місяць тому

      So you are the guy who doesn't like to have fun...

    • @electricant55
      @electricant55 Місяць тому +2

      Kotlin has been pointless since like Java 11

  • @spirecz
    @spirecz Місяць тому +15

    Talk about today's Java instead of yesterday's Java. UA-camrs like Stefan Mischook talk about 2000's Java, since they did not see the latest language version or don't even know how apps are developed today with it. And newbies just see "public static void main" arguments, today it is auto-generated in a Spring Boot project same with Angular project structure.

    • @KyleDavis328
      @KyleDavis328 Місяць тому +2

      I've never had the chance to work with today's Java, because the company I work for (and from what I've gathered, most company) are still running yesterday's Java, or more realistically 10 years ago's Java (still running Java 8, released in 2014)

    • @spirecz
      @spirecz Місяць тому

      @@KyleDavis328 You can either get well paid, stay in comfort zone or change job and that again elsewhere. Depends on what you want.

    • @leeroyjenkins0
      @leeroyjenkins0 Місяць тому +8

      Never got what was wrong with `public static void main(String args[])`, it tells you exactly what it is. What you think you're gonna need most methods to be public static? If so you didn't even do an effort in understanding the basics of the language. And then `void main(String args[])` is literally the same in any other statically-typed language.
      Like yeah ok "haha long line" but the core of the language doesn't really make it much more verbose than the average contemporary language. It's mostly shitty base types/standard library that makes it look like trash out of the box imo.

    • @richardclark9535
      @richardclark9535 Місяць тому +6

      @@leeroyjenkins0 thing is that the people who feel that having to write "function" rather than "fn", is a violation of their human rights, are also the most vocal.

    • @tobyconner5827
      @tobyconner5827 Місяць тому

      ​@@richardclark9535 wdym it's an immense violation of my human rights, how dare they make me type more

  • @unscriptedrides
    @unscriptedrides Місяць тому +18

    Scala was the one language that gave me feeling of - when it runs it runs correctly. No other language not even Java which was my go-to language for more than decade. BTW - Java has changed a lot and still evolving at rate faster than new and old languages. It has all new concurrency primitives (green threads, actors etc), functional aspects (f as first class citizen, match statement case classes etc). So article's main point - Use Java for everything is still valid and in fact good practical suggestion. Today, we have more options for many different use-cases (go, rust, zig etc) but Java being go-to language still holds true. Many design choices Java had (and having when implementing new features) - hold still true and its the only true scalable language - large programs (LOC), performance/scalability covered (multi-core era), backward compatibility.. take any programming metric Java would fare decent if not in top 5. Often cited verbosity as bad feature hardly matters because of decade old matured IDES (which BTW dynamic languages can never get to sophistication level of Java).
    Java is so good that it has its own eco-system of child languages that run on JVM. Javascript was part of Java from JDK 1.5 (2006ish - Rhino). Graal Project from Oracle has not offered way to run multiple languages in the same runtime concurrently.
    My own take - Choice of Javascript as VM inside browser was wrong one. It should have been Java. (Java had applets going for it). This would have made Java truely English language of the programming and would have saved lot burn to man many programmers.

    • @AI-xi4jk
      @AI-xi4jk Місяць тому +3

      True that. It was also advertised as such by Oderski. It’s a shame it didn’t get widespread adoption

    • @Yous0147
      @Yous0147 Місяць тому +1

      It should've been Java, it should've been Java all along...

  • @JMurph2015
    @JMurph2015 Місяць тому +6

    Lowkey Java has had a renaissance. Past Java 11 or so, it's actually gotten pretty nice. It's still verbose, but that's not the worst thing :shrug:

  • @KvapuJanjalia
    @KvapuJanjalia Місяць тому +19

    1:13 there are some video games that use Flash (Yes, that Flash) for in-game UI. For example, Fallout 4 and Borderlands series.

    • @Yous0147
      @Yous0147 Місяць тому +6

      Dude, that's crazy! I thought you meant like older video games.

    • @dschledermann
      @dschledermann Місяць тому

      @@KvapuJanjalia now, that is really scary.

  • @petersonvictor6172
    @petersonvictor6172 Місяць тому +16

    Hi Mr. Parmesan
    Thanks for the video, good as always

  • @T33K3SS3LCH3N
    @T33K3SS3LCH3N Місяць тому +15

    15:00 Sure Foo x = new Foo() is just 3 useless characters.
    But that won't hold up if you need a new FooFactoryAdapterDongleFactoryBuilderBuilder

    • @ilvestaavi
      @ilvestaavi Місяць тому +8

      Java can be written without crazy abstractions as well unless you need to pull in some library that cultivates this caricature approaches you mention. And even then you can encapsulate this into some internal class. But I agree this huge amount of abstraction is really hard to get into and wastes time and obscures things.

    • @its_chris_cross
      @its_chris_cross Місяць тому

      I'd argue that's not the language, that's architectural patterns independent of Java. No one is forcing you to design your code in such a way.

    • @HunterTracks
      @HunterTracks Місяць тому +1

      A good IDE will offer you to complete the name after 5 characters at most.

  • @tropictiger2387
    @tropictiger2387 Місяць тому +27

    Something missing from the video is that languages that claim to let you "Get started quickly" or do "Rapid Application Development" tend towards being harder to maintain in the long run. This has been true since the days when WYSIWYG was new and people talked about language generations. They really do let you go fast at first, but then they become a weight that you have to carry with you everywhere.

    • @alinaqvi2638
      @alinaqvi2638 Місяць тому

      💯

    • @alexale5488
      @alexale5488 Місяць тому

      Python requires more careful planning in the long-run, but it doesn't mean it can't do the job.
      You can build 2D games, websites, networks, automation blocks, apps with Python.
      Of course, Python is though destined for small to medium scope.

  • @TheBadFred
    @TheBadFred Місяць тому +13

    Java, especially with Spring ist still massively in use. Also Java-classes can be replaced with Kotlin.

    • @Varadiio
      @Varadiio Місяць тому

      The solutions today are endless if you just personally dislike physical contact with your keyboard. You could create (or some dozens already have) an autohotkey script using word detection to write your favorite Python function into Java's verbosity. It would take some time to dream up all the shortcuts you might need, of course. There is of course now AI to contend with. Python etc. might be faster to type, but AI can do your boilerplate. It can probably even interpret the Python code you just typed into a Java IDE (haven't tried this). If you're super scared of AI privacy, use the AI to write your AHK word detection or w/e instead.

  • @tiskahar9738
    @tiskahar9738 Місяць тому +35

    "Just pick the right tool for the job" mercilessly mocked in the beginning, and unironically espoused a third of the way in. Masterful.

    • @ty.davis3
      @ty.davis3 Місяць тому +7

      JustPickTheRightToolForTheJob-agen

    • @SimGunther
      @SimGunther Місяць тому

      ​@@ty.davis3HammerANailWithAShoe-agen

    • @OatmealTheCrazy
      @OatmealTheCrazy Місяць тому +5

      I think in the beginning he moreso mocked what choices people actually made when they wanted the "right choice"

  • @vvvvvvvvvwv
    @vvvvvvvvvwv Місяць тому +8

    Java is underrated

  • @lasoloz6972
    @lasoloz6972 Місяць тому +7

    > Undocumented Python programs are horrendously difficult to maintain
    I've recently started to learn a bit of Nix. It's so hard to properly understand something that requires a virtual PhD and has no static typing. It's just hard to rely on conventions.

    • @AntonioDoesMetal
      @AntonioDoesMetal Місяць тому +4

      I've been saying this to people too. Started with Python, then got into Java, then a tiny bit of C and Rust, then using Python again recently. Not having static typing is so crazy to me and hard to track what's going on in any mid sized to large application. I try to treat Python like a much nicer bash when bash doesn't cut it and treat it mostly just for scripting and easy things like jobs/pipelines.

  • @Grumpicles
    @Grumpicles Місяць тому +2

    "REFACTOR LATER".
    Yes!
    In almost 25 years in enterprise, I've not met a situation where refactoring later was the wrong choice. And any time an optimisation was made earlier a refactor generally needed to change it.
    Solve for now.

  • @methanbreather
    @methanbreather Місяць тому +12

    The right tool is C.
    UI? C
    Engines? C
    Subsystems? C
    'but you need JS for web'. No, you don't. The web was better without the js idiocy of the last decade.

    • @starc0w
      @starc0w Місяць тому

      This!🍀

    • @theshermantanker7043
      @theshermantanker7043 29 днів тому

      Except that engines are all written in C++, not C

    • @starc0w
      @starc0w 29 днів тому

      @@theshermantanker7043 That's not the case at all my friend.
      Some of the very best and most stable ones are written in C.
      And what about the most stable and secure operating system kernels, like BSD and Linux?
      The answer is C and not C++. And there are good reasons for that.

    • @iXPilot
      @iXPilot 29 днів тому +1

      Segfaults? C

    • @starc0w
      @starc0w 28 днів тому

      @@iXPilot Skill issues?

  • @PintsWithJack
    @PintsWithJack Місяць тому +5

    1:30 I think you missed out on a C. S. Lewis quotation here....
    "The first qualification for judging any piece of workmanship from a corkscrew to a cathedral is to know what it is-what it was intended to do and how it is meant to be used. After that has been discovered the temperance reformer may decide that the corkscrew was made for a bad purpose, and the communist may think the same about the cathedral. But such questions come later. The first thing is to understand the object before you: as long as you think the corkscrew was meant for opening tins or the cathedral for entertaining tourists you can say nothing to the purpose about them." - Preface to Paradise Lost

  • @JP-hr3xq
    @JP-hr3xq Місяць тому +8

    I feel like Lua is the most obvious embedded language for things that aren't browser engines.

    • @honkhonk8009
      @honkhonk8009 Місяць тому

      Why dont browsers use Lua.
      Seriously that language is just used in everything. I think torch used to be a lua library until python fags got mad and ported it over to python.
      I would much rather use lua over python. I started off with Lua cus of roblox so i might be biased, but the sheer simplicity of that language makes it nice.

  • @tomekg6629
    @tomekg6629 Місяць тому +2

    I cannot believe seasoned software engineers discuss "python programming". Python is just a scripting tool with powerful libraries. It is used far much beyond the scope it was designed for (just like javascript). Actually it's a tool to allow powerful scripting available for non-programmers.

  • @forrestwei2478
    @forrestwei2478 Місяць тому +2

    I read a lot of Lawrence's articles. My favorite is "Write code top-down", which I've been doing ever since.

  • @lordm31
    @lordm31 Місяць тому +13

    the side quest to make a "this nuts joke" is one of many reasons I'm subscribed

  • @SLAMarshall
    @SLAMarshall Місяць тому +37

    If I have to make a histogram I’m going to bust out the TI-83

  • @stnhld2841
    @stnhld2841 5 днів тому

    In the UK on July 5, 1948 the NHS was created. Within a week, there were reports of it being “on its last legs” or “about to go under”. Seventy-six years later it appears to be here still, different to how it started, but still here and still the same headlines about it being about to go under. Feels the same about Java, known even SME’s use spring boot projects for mission critical stuff.

  • @MAG320
    @MAG320 Місяць тому +29

    Me: Assembly
    The interviewer: 😳 what?

  • @krellin
    @krellin Місяць тому +9

    the main complaints for java were verbosity and startup/runtime overhead
    both of which are entirely solved with kotlin... want to do something in the relm of low level (like zig/rust) go kotlin native...
    want to do actually typesafe javascript? -> kotlin with targetting js,
    want wasm? sure you can do that too,
    want to do everything? web/native/server and whatever... go kotlin multiplatform...
    jetbrains will absolutely dominate programming language and tooling world in ~10 years... they are fuckin smart about it, and no one absolutely no one is doing anything to even be remotely competitive.

    • @bobderbraumeister6919
      @bobderbraumeister6919 Місяць тому

      Its great, its just Gradle and everything around Kotlin that sucks (package management and stuff).

    • @krellin
      @krellin Місяць тому

      @@bobderbraumeister6919 it will get solved, i dont like gradle either, but its such a small problem compared to having one language to share code in all platforms i don't really care about that downside... we have to mess with builds so rarely that its irrelevant.

    • @Mglunafh
      @Mglunafh Місяць тому +2

      Having misread your nickname as "kremlin" and then reading about domination gave me a chuckle

    • @lengors7327
      @lengors7327 Місяць тому

      ​@@bobderbraumeister6919 what about gradle sucks? (Genuine question).
      I didnt like it at first, but the more I use it, the less I'm bothered by it.
      So much so, that nowadays I prefer gradle over maven

    • @krellin
      @krellin Місяць тому +1

      @@lengors7327 most problems with gradle boil down to them using groovy so you have no completion when working with plugins, you are in js developer mode, copy pasting shit until it works, instead of working with the api of the plugins. Also many issues boil down to "upgrade to newer version or lower version to make it work"... backwards compatability being broken etc... its not consistent

  • @cptCrax
    @cptCrax Місяць тому +3

    Ada. That's the other language where once it compiles, it probably runs right.

  • @peninja_
    @peninja_ 25 днів тому +2

    Bro not even lying i use Java for everything

  • @herlegz6969
    @herlegz6969 26 днів тому +2

    Java for maximum job security... And job dissatisfaction and maintenance exhaustion.

    • @bionic_batman
      @bionic_batman 14 днів тому

      I feel like PHP beats Java in those departments

  • @T1000Rex
    @T1000Rex Місяць тому +9

    I started programming when i was 10. I first learned Java, (for Minecraft, obviously) then C++ (for Arduino, obviously) then Python (i fucking hate it so much but i use it because libraries). I know a ton of other languages, but I prefer java for everything. If there's a good library in java, I use it, so I dint die waiting for my code to run before it checks syntax.
    Im 25.

    • @liwaak
      @liwaak 19 днів тому +2

      It’s amazing how we share a common backstory. I also started programming 10 years ago in Java for Minecraft, mods - plugs - etc... Funny enough, also transitioned onto C++ for Arduino (around 7 years ago). At this point, I’m also quite good at swift, python, kotlin, php, javascript (including typescript) and more.
      Java is my favourite. Python is my goto for scripting. I only use C/C++ when necessary (ie. Arduino/ESP/PIC), and other languages based on the platform I’m building for.
      I’m 23, currently running a startup.

  • @DePhoegonIsle
    @DePhoegonIsle Місяць тому +7

    Honestly, I'm glad I started with windows batchscript & java.

  • @theAmazingJunkman
    @theAmazingJunkman Місяць тому +4

    I only say “depends on what I’m doing” because my favorite languages are Python and C. If Python had an alternative to front-end JS frameworks, I would never touch JS again

    • @leeroyjenkins0
      @leeroyjenkins0 Місяць тому +1

      Htmx implied?

    • @dominikvonlavante6113
      @dominikvonlavante6113 Місяць тому +1

      @@leeroyjenkins0 Serverside rendering is usually a bad idea ... I don't want to pay for the CPU cycles (and the horros of maintaining state and sessions) of displaying stuff at client computers. I want to offload as much work as possible onto clients actually.

    • @leeroyjenkins0
      @leeroyjenkins0 Місяць тому

      @@dominikvonlavante6113 depends what you're doing I guess, probably not ideal (perf-wise, which isn't necessarily only factor) in most cases if you're doing frequent updates no. But if you don't want to use JS there you go.
      Unless you want to have a python interpreter in JS, which sounds wonderfully awful. But who knows with wasm 🤔

  • @comphys8178
    @comphys8178 Місяць тому +1

    My problem with Java is that in my experience despite all the improvements in recent versions, we're all stuck writing Java 8 (or 11 if you're lucky) at most corp jobs.
    I bet modern java is nice, but if I wanted to use modern java it'd have to be in my free time, and at that point I'll write rust

  • @sacredgeometry
    @sacredgeometry Місяць тому +16

    0:48 The language you ... rather your team is most familiar with is often the right language for the job as that is a massive factor in deciding the language. Especially if there are not enough detriments to using it.
    For personal projects I will just use the stack and language that best fits the task at hand. If that means learning a new language that is what I will do. In the context of running a business and working with other developers having everything written in different languages just for the sake of doing it in the "perfect language" is rarely something where the benefits outweigh the detriments.

    • @sacredgeometry
      @sacredgeometry Місяць тому

      6:33 But python isn't statically typed ... it is strongly typed ... right im out on this one.

    • @TJackson736
      @TJackson736 Місяць тому

      @@sacredgeometry maybe he means mypy

    • @sacredgeometry
      @sacredgeometry Місяць тому

      @@TJackson736 Maybe.

    • @KeeganDoomFire11
      @KeeganDoomFire11 Місяць тому

      This was my take for Python / Airflow. I could learn it in a month after having not touched python for a decade. In 6 months I was proficient. Onboarding the rest of my team took ~6 weeks. Migrating ~150 ETL jobs from Talend (java based gui etl tool) made everything easier to read and more transparent.

    • @sacredgeometry
      @sacredgeometry Місяць тому

      @@KeeganDoomFire11 I am skeptical that that had anything to do with python and I would argue its just an argument for refactoring.

  • @discotecc
    @discotecc Місяць тому +2

    Your content really does get me hype to work. You have such great energy

  • @LucaMolari
    @LucaMolari Місяць тому +1

    My (controversial) argument about Tests: the biggest value of writing them is that they force you to write testable code

  • @jwittyinnit
    @jwittyinnit Місяць тому +2

    To the man with only a hammer, every problem appears to be a nail. Expand your toolkit

  • @vincent_sz
    @vincent_sz Місяць тому +3

    I had to build servers for ad tracking. The old php backend was able to handle 30 Mbit/s of incoming traffic per server. cpu on the befiest server we could by from our hoster was at max with php. The new backend rewritten in go and optimised with running profiling in production easily saturated 1 gbit/s with moderate resource utilisation.

  • @tinrab
    @tinrab Місяць тому +14

    I used to do gamedev in Java and be in the same community from where Minecraft originated. Java is not that terrible, you can do a lot of stuff with it.
    But now, I would prefer doing everything in Rust and TypeScript. The DX is unmatched.

    • @no_name4796
      @no_name4796 Місяць тому +6

      Ew typescript. It's just javascript with useless types.
      Rust is good, although the moment you need to go a little bit deeper, it gets so fucking crazy.
      Personally i have come to prefer easier and more "stupid" languages like lua or go

    • @tinrab
      @tinrab Місяць тому

      @@no_name4796 TS is great. React is an obvious choice, and if you combine it with tRPC is superb. You won't be able to avoid webdev anyway, and TS>JS obviously.

  • @19975amitsingh
    @19975amitsingh Місяць тому +2

    In C/C++, if-else hinders the generation of jump tables since you can evaluate any expression. Switch, on the other hand, forces you to evaluate a single type that is easy to generate a table. This might not be true if the compiler can reason about the if-else statements, but it's a rare case (if the expression is trivial), This might be true for the other languages, but it's true for most of the compiled languages.

    • @krumbergify
      @krumbergify Місяць тому

      and you can use constexpr to switch on strings :).

  • @Frank-xu2ed
    @Frank-xu2ed Місяць тому +1

    I love the article because I just came back to Java last year after almost 10 years and I can't agree more.
    Just write everything in Java, it's just not worth the effort to do it in other languages.
    If I really need something I can't do good enough in Java, I do it C or hell in ASM even

  • @tomiekk6255
    @tomiekk6255 Місяць тому +4

    what about writing in the language you like, and only writing the part in the necessary language when you hit the wall?

  • @aj-jc4cv
    @aj-jc4cv Місяць тому +4

    8:26 never mind java is that what's left of Kermit wrapped around you microphone stand?

  • @PrzemP
    @PrzemP Місяць тому +1

    Why would you have an emotional connection with a language? Is he sad when he is not working with his favorite? "I am most familiar with language X" is a good answer, and should tell the interviewer what he wants.

  • @JimTheScientist
    @JimTheScientist Місяць тому +2

    The only thing worse than maintaining undocumented python code is trying to read java code written by a Java developer… Java devs tend to know so many extra language tricks they will make a calculator program look like it was written by a nasa engineer.

    • @JimTheScientist
      @JimTheScientist Місяць тому

      (To be clear, most java code doesn’t need many comments, but people who only program in java write horrendous code)

    • @leeroyjenkins0
      @leeroyjenkins0 Місяць тому

      Undocumented python is redundant, there is no documented python code. We just abuse the all-mighty "grep"

  • @Marque734
    @Marque734 Місяць тому +7

    wow he talked about C# without making a spitting sound. Looks like some sort of personal growth.

  • @EinfachNoriskky
    @EinfachNoriskky Місяць тому +3

    Kotlin or Java or Both are great to work with

  • @girraiffe
    @girraiffe Місяць тому +1

    > If you need fast string processing
    Perl is knocking on the door

  • @andythedishwasher1117
    @andythedishwasher1117 25 днів тому

    The correct answer to the language question is "depends on the task. I use C# for game dev, Go for web backends, JS for pure web front ends, Dart and sometimes C# or Go for cross-platform front ends, and Python for building chat pipelines into docs for all those other languages."

  • @korasov
    @korasov Місяць тому +20

    11 years of writing groovy, hello

    • @RT-.
      @RT-. Місяць тому +2

      Hi 🥵

    • @gtnbssn
      @gtnbssn Місяць тому

      I am starting a new job writing groovy in 2 weeks, this is where all the tech jobs are going!!!

  • @GingerGames
    @GingerGames Місяць тому +16

    "I just choose the right language for job". I effectively said this for tools in general with my interview with ThePrimeagen but I did caveat it with you need to know the alternatives. If you don't know the alternatives, you can NEVER say it is the best tool for the job because you only have one option. It is by definition the worst choice too because it's the only choice.
    And when it comes to programming languages, I am one of those weirdos who is a polyglot who knows literally 100s of programming languages because that's kind of what I do for a living. So knowing "the best language" in that case is because I know the alternatives; most people don't.

    • @gercius
      @gercius Місяць тому +2

      Knowing about 100s of languages is not knowing 100s of languages.

    • @Mglunafh
      @Mglunafh Місяць тому +5

      ​​@@gerciusthat Ginger Bill fella on which comment you've made a remark unironically designs and writes the languages, so he actually can know this amount

    • @gercius
      @gercius Місяць тому

      @@Mglunafh What kind of depth of knowledge are we talking about, writing "Hello, World!"? I do not see, how is it possible to be proficient with 100s of languages unless you have eidetic memory or similar abilities.

    • @Mglunafh
      @Mglunafh Місяць тому +2

      @@gercius you must've misunderstood me. By "Writes the languages" I meant "writes the compilers for languages", not the "writes some programs on languages". At this point I'd assume that for being efficient in this endeavour one should consider diving into various languages on a routine basis and sniff out some intricate details for better understanding of the formal language theory behind the features and technical details implementation-wise.
      If that's a language barrier, then yeah sorry, I'm not a native speaker

    • @gercius
      @gercius Місяць тому

      @@Mglunafh Thanks for clarifying. It makes more sense.

  • @greyalice
    @greyalice Місяць тому

    I think the main takeaway from this video for me is, stop obsessing about what language to learn for a personal project, and just go with what I know. Getting the job done will give me an experience and make me a better programmer, which at some point down the road I may apply to learning and using other languages.

  • @user-nc3gf8gt8m
    @user-nc3gf8gt8m 29 днів тому +1

    I've written a python script to get the coordinates from more than 6 thousand clients right out of google maps, no API. Just mouse and keyboard controls (pyautogui). No classes, no compiling. Less than 50 lines of code.
    Go ahead and do this with java.

  • @nomadtrails
    @nomadtrails Місяць тому +3

    for everyone raging about react, or js embedding into c++ / games etc, you have to understand soemthing: its not JS people want, and its certainly not React specifically, its html+css+js. Its the easiest and simultaneously the most powerful ui toolkit, and that is why so many native developers even are reaching for it... IMO what we need is an embeddable dom rendering engine with bindings for a better language directly like potentially Dart... Imagine writing native components in dart that just worked in the browser, and could be embedded into native applications. That could be done, but the browser manufacturers and w3c don't do it because they are already all in on js.

    • @Yous0147
      @Yous0147 Місяць тому +1

      Many people, me included, are still hoping for WASM to get access to the DOM the same way JS has. This would allow any languge that can compile to WASM to also render on the DOM directly. Right now you can do it in Rust in a roundabout way with automatically binding to JS bindings you can call from WASM, but it's slower and has limitations that makes it wonkier to use.

    • @vitalyl1327
      @vitalyl1327 18 днів тому

      "the most powerful ui toolkit", really?

    • @nomadtrails
      @nomadtrails 18 днів тому

      @@vitalyl1327 yes "Its the easiest and simultaneously the most powerful ui toolkit". The alternatives are full on pixel shaders (too difficult/time consuming for uis) or native ui toolkits (too limited for achieving super custom designs). Am I missing something?

    • @vitalyl1327
      @vitalyl1327 18 днів тому

      @@nomadtrails there is a whole range of alternatives. From the approach similar to Dear I'm GUI to things like Tk (which is insanely versatile and vastly underrated).

    • @nomadtrails
      @nomadtrails 18 днів тому

      @@vitalyl1327 ImGui pitch literally says it is not designed for UI for end users. For Tk, I just checked out the 'modern' tkdocs website, and took a peek at the button widget, and man... you have to be kidding me. My guess is that you have never programmed a UI with web tech. I would recommend checking out svelte. Then revisit Tk, and tell me which is simultaneously more powerful and more easy.

  • @clemch97
    @clemch97 Місяць тому +6

    To be honest, I'm a C# dev and I try to use it whenever possible. My time is most valuable and I see little point in wasting it by deliberately choosing a language I'm unfamiliar with. On the other hand, if there are existing libraries in Python, I'm not gonna be an idiot and try to parse Python into C# - even though it's possible.
    I think you should know 1-2 languages well and use others when you absolutely have to or really makes sense in terms of time effort.

    • @ZedDevStuff
      @ZedDevStuff Місяць тому

      Same, everything I do can be done with C#, outside of web development (no, I'm not gonna use Blazor) so I learned Svelte+Typescript because I don't hate myself enough to use React

    • @digitalspecter
      @digitalspecter Місяць тому

      Well, I think one would do well to learn different paradigms.. write something semi-substantial in languages like Haskell, Ocaml, Lisp, Prolog.. maybe Erlang/Elixir and Rust. Even if you don't end up writing your stuff in those languages they teach valuable lessons about pros and cons of very different approaches to problems... and you can borrow some ideas from them.
      Or.. you can just write code and be happy.

    • @sealsharp
      @sealsharp Місяць тому

      For C# devs it makes sense to know a medium bit of C/C++ and PInvoke because then you can use C-Style DLLs.
      It doesn't have to be fancy C++ because what DLLs expose is data structures with a fixed layout that can be recreated in other languages, so it's structs, it's always structs and pointers to structs.

  • @TravisBerthelot
    @TravisBerthelot Місяць тому +1

    I use Java for 90% of everything. I have builds from Java for J2ME, Android, J2SE (SWT and Swing), native, and HTML5. I even have the ability to do Flash, Applets, and JNLP outputs if they came back. Nearly all of the other 10% is Javascript for simple webpages. Oddly my WSYWIG editor is JSON output from a Javascript tool called GDevelop.

  • @NukeItAll
    @NukeItAll Місяць тому +1

    The article is still correct.
    Java is orders of magnitude faster then js/python and that's why it is suitable for a large set of problems that require more performance. Not just because the author is good at it.
    The same could be said about Go.

  • @AlanDarkworld
    @AlanDarkworld Місяць тому +9

    Java is dated, yes. It has some poor defaults too. But what people forget is that the JVM is a freakin' amazing piece of software, and it doesn't force you in any way to use Java as a language. Use Kotlin, target the JVM, be happy.

  • @__idan__
    @__idan__ Місяць тому +6

    Modern Java isn't so bad, I'd argue it's better than C#, give Java 21 a try.

  • @miloszivkovic6256
    @miloszivkovic6256 Місяць тому

    We have the same problem when we talk about proper domain boundaries, people complain that writing mappers is boring and tedious and it is but it's also very easy to test and maintain that code. And it's your job.

  • @samtv19981
    @samtv19981 Місяць тому +1

    I know JavaScript, Java, Go and Rust. The one time where performance did matter and I recommended Go because it's very fast and has a small footprint I was told by a Senior we always write Java lets write this also in Spring Boot :)

  • @batboy49
    @batboy49 Місяць тому +3

    I have been playing with Zig for about 6 months. Other than it changing so damned much it has been real fun. Well maybe it is so much fun because it is so new. I agree with your quick diagram but I do not really find C all that tough (done dev in it). Rust is REALLY hard to get productive in. Go is literally super easy (and probably almost as fun as Python to write). Zig is almost as safe as Rust, almost as fast as C, almost as easy as Go. Just kind of in that magic perfect spot.

  • @keyboard_g
    @keyboard_g Місяць тому +9

    Java for everything is a 2004 Sun Micro take. 2014 was already too late.

    • @MrLordLowbob
      @MrLordLowbob Місяць тому +3

      I feel like java got better lately. java 8 was okay, since 11 and now espeically with stuff that got new in 17 and is expected to be in newer LTS versions, java is kind of decent.
      other languages are still more fun by themselves. but combining javas improvements lately with the vast ecosystem of usually well proven, production ready libraries in the ecosystem make it a powerful tool.

  • @Soromeister
    @Soromeister 26 днів тому +1

    I agree, Java is THE way to go forward.

  • @jeffparent2159
    @jeffparent2159 Місяць тому

    One of the best things i ever did as a developer is pick a "New Language of the Year." I would focus on a specific aspect or paradigm of programming and pick a language to use for random tooling, or as a (bad) solution for many problems that weren't mission critical.
    I've now got many tools in my toolbox that all have specific features that make them good for a specific task. Need math, i got R. Need purely functional and types i have Haskell. Scripts with quick and dirty UI, tcl/tk. Meta programming, Scheme/Racket. Been a programmer for 20+ years so i have a dozen more.

  • @IndellableHatesHandles
    @IndellableHatesHandles Місяць тому +10

    Java? I put that s*** on everything.

  • @TOZA
    @TOZA Місяць тому +4

    I personally don't think its bad to use React/Svelte/Vue for UI in games, because it's easy to make something good without learning some random library or making one, but best for it would be js/ts engine that is only for this purpose and removes all non-sense things that you don't need.

  • @muayyadalsadi
    @muayyadalsadi Місяць тому +2

    10:46 people who say python is slow are those who fail to do things the pythonatic way. Python is good at string processing but if you compile your regex inside the loop it's your fault.

    • @leeroyjenkins0
      @leeroyjenkins0 Місяць тому

      People write python like they're not thinking about the underlying code at all then complain it's not as fast as C. Yeah it's not, but at least try to leverage the way the language is built over C in very predictable and understandable ways.
      "Is there a way I can make this go through optimised paths within cpython instead of doing generic manipulation in the context of the interpreter" is the question to ask, and exactly what "pythonic" means in the end.

  • @deusexmachinareznov4975
    @deusexmachinareznov4975 Місяць тому +1

    My current workplace banned Agile Methodology in 2002, the CEO built the company from the ground up as an engineer in the 80s and hated agile the very moment he encountered it for the first time.

  • @leshommesdupilly
    @leshommesdupilly Місяць тому +3

    **Quiche eating intensifies**

  • @FlaviusAspra
    @FlaviusAspra Місяць тому +4

    Java is great because it's the ideal middle ground.
    It's statically typed at compile time, but dynamic at run time.

  • @brianr.6376
    @brianr.6376 16 днів тому

    I feel attacked when he said someone will make an app just to print graphs. Long story short, during college I need to print out a graph (can't remember the specifics). I should've used something like RStudio to do it but the end result was not something I envisioned, I was a beginner at RStudio. On the other hand, I have had to build a website with chart before (I think it was using Chart JS). So I just remade the some of the backend, build a database, inserted all my data, and grab the end result image from it. It was stupid but it took me only 1-2 hours because I just needed to change a few things rather than having to write a whole R queries.

  • @taylorallred6208
    @taylorallred6208 Місяць тому +1

    I’m realizing something more and more: When people complain about languages, they are most often complaining about how most people use the language and not the language itself.

    • @digitalspecter
      @digitalspecter Місяць тому +1

      Well, the design choices of a language often affect how people tend to use it.

  • @dschledermann
    @dschledermann Місяць тому +3

    I used to use PHP for everything. Now I use Rust for everything. I'm fully away that neither is/was the right tool for everything. Someone will always tell you that whatever you're using isn't the right tool. Especially C# and Java guys seem to have a nose-in-the-sky-feeling and are very fond of telling you that their favorite tool is "superior".

    • @dominikvonlavante6113
      @dominikvonlavante6113 Місяць тому +1

      Then those are really bad C# and Java programmers. I am personally big fan of Java/Kotlin/Springboot/Quarkus, but I am aware that there are different skillsets in teams and different tasks and many ways to skin a cat.

    • @dschledermann
      @dschledermann Місяць тому

      @@dominikvonlavante6113 Thank you for not being one of those. The thing I find most infuriating is the dismissive attitude. "PHP is just a web programming language". "Rust is just a systems programming language". And Java/C# being promoted in a more general way "well, it's enterprise" (whatever that means to you), implying that you are not a serious person for not using the same tools as they do.

  • @egorsozonov7425
    @egorsozonov7425 Місяць тому +16

    Now it’s use Rust for everything

    • @krumbergify
      @krumbergify Місяць тому +1

      Exactly. Rust is just a much better C++, so if you never needed C++ then you don’t need Rust.
      I agree that Go is fast enough in almost all cases!

  • @lineage254
    @lineage254 Місяць тому

    Using one language for everything is handdicaping youself, for front end react, js, angular, etc, for back end c#, C++, and sometimes java.

  • @bjorntrollowsky4279
    @bjorntrollowsky4279 Місяць тому +7

    Being slow is not primarily b/c of the language choice, the root cause is the different mindset of the developer who chose ruby/php/... over C#/Java/... It is a mindset which prefers speed of development over good engineering. The same way as "enterprise" developers gave a bad reputation to java, but java was never that bad, its just that those "enterprise projects" were so horrible.

    • @leocarvalho8051
      @leocarvalho8051 Місяць тому +3

      Nah. Java is really like that. Very opinionated towards enterprise

    • @adamk8724
      @adamk8724 Місяць тому

      I'm reading this comment after making a change to the Ruby system that was terribly slow in one spot. The guy did split the search function into several classes to add abstraction, but in doing so, he created an N+1 problem. Also when rendering the list, each element included a select menu containing around 5,000 items. No wonder it was running like crap.
      On the other hand there are places in the codebase that would be at least 10x faster if it was written in Go, there is no way around this.

    • @br0ken_107
      @br0ken_107 19 днів тому

      nah java is just bad, if you really prefer java like C# is superior to java in every way. mindset of choosing php/ ruby / python (i know you wanted to put python in there) so I guess engineers using python forks in the largest websites in the world with most users like youtube, spotify, instagram, etc are bad? and engineers at enterprises are better than them?
      If someone codes in Java, they are simply a bad programmer or not a smart person in general.