What is JAVA'S HUGE Problem? I'm spilling the BEANS!

Поделиться
HTML-код
  • Опубликовано: 21 сен 2024
  • Java has a HUGE problem! One of the world's oldest Java developers is spilling the BEANS!
    🔥 STEF'S DEVELOPER BOOTCAMP AND MENTORING PROGRAM
    unclestef.com/
    🔥 JOIN STEF'S 'CODER'S CAREER PATHS' NEWSLETTER:
    newsletters.st...
    🔥 FREE: LIZARD WIZARD KOMODO - TRANSFORMATIONAL MIND TRAINING:
    newsletters.st...
    *************
    Channel Discord Server: / discord
    WEB HOST PAYS FOR YOUR WEB DESIGN TRAINING IN 2023:
    www.killersite...
    POPULAR & EASY CODING COURSES:
    Full stack web developer course: school.studiow...
    Python 3 Foundations & Certification: school.studiow...
    Complete Freelancer: school.studiow...
    Complete Entrepreneur: school.studiow...
    *************
    🦎 Lizard Wizard Course:
    school.studiow...
    📚 BOOKS TO READ:
    My Beginners HTML5, CSS3: amzn.to/2wKsVTh
    … Complements Studioweb courses on HTML5, CSS3 and JavaScript.
    Refactoring: Improving the Design of Existing Code (2nd Edition) amzn.to/3o5cTbw
    HeadFirst Design Patterns: amzn.to/2LQ0Gdh
    Java Refactoring: Improving the Design of Existing Code (1st Edition) amzn.to/3a9nSsZ
    The Naked Ape:
    amzn.to/3fhS1Lj
    ✉️ STAY IN CONTACT:
    Stef's social links:
    Instagram: www.instagram....
    Twitter: / killersites
    Stef's business channel:
    / @unclestef8239
    👉 GOOGLE REVIEW:
    g.page/studioW...
    Leave a Google review about Stef.
    MY MOUSE & KEYBOARD:
    Logitech Keyboard I use: amzn.to/38jYDqE
    Logitech mouse I use: amzn.to/2IeVvBj
    SUPPLEMENTS THAT WORK AMAZING FOR ME:
    Protein Essentials Beef Gelatine Powder:
    amzn.to/2Pf52vL
    ... Healed my very bad knee. If you have joint problems, this *could do miracles for you.
    Webber Naturals 88862 Glucosamine Chondroitin
    amzn.to/3ss9WEa
    MY CAMERA GEAR:
    Godox VL150 lights: amzn.to/3lhsYZP
    Sigma 18-35 lens: amzn.to/33sRh0T
    Canon EOS C70 Cinema Camera
    Thanks!
    Stef
    #java #javaprogramming #mentoring #javajobs #unclestef

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

  • @learn_with_phil
    @learn_with_phil Год назад +64

    Most of the stuff said here refers to the old Java6 ecosystem and the usage of Sublime or VI to write code.
    With modern IDE support such as IntelliJ, and Spring Boot framework and the latest versions of Java (17 and 21) the speed of development is much faster.
    I worked with many languages, but Java still stands as the best language to create mission critical applications (banking, traffic control, medical software) because of its reliability.

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

      Any interest or experience with Kotlin?

    • @louis9116
      @louis9116 6 месяцев назад +1

      The problem with modern IDE's that are heavily coupled with any particular language, like JetBrains for Java is configuring the IDE itself! It still takes a huge amount of time to do all the groundwork.

    • @babutschi
      @babutschi 4 месяца назад +1

      The documentation for spring boot is a nightmare and development with all the annotations is a disaster.

  • @robrick9361
    @robrick9361 Год назад +139

    Don't you need to first create a HugeJavaProblemFactory which extends JavaProblem which implements HugeProblem.

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

      😂

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

      And then throw that out because you found a JavaProblem that isn't a HugeProblem :D :D

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

      Lol, yup

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

      Nice joke, but Java doesn't need that horrible Spring-esque style. That's a problem of a particular framework amd techniques, not the language per se. Once you start writing Java like Groovy (or use Groovy as a 'better Java') then it can be lightweight and very rapid. See the Spark microservice framework (**not** Apache Spark) as a way to do it. The best thing about Java is its stability. 15 year old systems that are now huge still work with very small modification to update.

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

      @@staubsauger2305 I tried programming in Java yesterday and my dog died. COINCIDENCE? I THINK NOT!

  • @timphilby
    @timphilby Год назад +73

    Kotlin nowadays is not improving as much as it used to. And they tried to develop way too many things at the same time. Java after 17+ has quite a lot of good language features and its a lot faster on build time compared to Kotlin. 20+ is ridiculously more fast in comparisson to older version

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

      There is also the rise of Kotlin Native & Kotlin Multiplatform and the new compiler 2.0 which are pretty amazing !

    • @niccolomedici4482
      @niccolomedici4482 11 месяцев назад +2

      If Kotlin won't get improved, Java too won't get improved. That's because the only reason Java got the recent improvements is to complete with Kotlin (and some other languages). No competition, no gain.

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

      @@niccolomedici4482 This is a valid point. Java needs the competition to grow and the reduction of the cycle of new releases was an important decision.

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

      ​@@niccolomedici4482 the real competitors of Java is not Kotlin, kotlin is nothing out of the android world. The real competitors are C# and recently GO.

  • @HyperionStudiosDE
    @HyperionStudiosDE Год назад +80

    I have quite the opposite impression. Java is fast to develop in. With IntelliJ and Spring Boot you can easily pump out solid microservices in no time.
    I think it's a misconception to think others are more quickly to develop in just because you can get Hello World running more quickly.
    Maybe the right way to put it is that Java has a higher overhead, but once your project reaches a certain complexity it pays off.
    I also use Kotlin and I'm really not sure if using Kotlin without knowing Java is even a viable path.
    Kotlin relies so heavily on the Java ecosystem that you're forced to read a lot of Java resources.
    Tbh I think Java's huge problem is its image. Hating on Java is a bandwagon that people jump on even if they have no clue.

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

      beans spilled

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

      A certain complexity? If you create microservices you are right. But of all webapplications world wide how many really reach that kind of complexity? And if you do reach that complexity I think Go is way better than Java (except that it's easier to find Java developers). To conclude: 80% is better of with PHP or Node. and for a little more reasons than the hello world app...

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

      Yeah, definitely. Java has changed a lot the past few years, and unfortunately Stef hasn't kept up. I'd like to see a video with code comparing other languages and frameworks to Java + Spring.

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

      Java has the same issue that C# has.
      The new stuff going for it is great but much of the old guard still holds onto their old ways.
      Thus for innovation and branding, it will remain the same.
      In the next few years maybe we would have something different but we aren't moving fast enough to change people's minds.

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

      @@paulholsters7932..Yeah I'd rather use Go. Been working with Jenkins lately for CI/CD, and it's written in Java and the build/deployment pipelines are Groovy script, but it uses a TON of memory and CPU because of Java bloat.

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

    It is just not true. I work for a company that makes software for start-ups. And we develop mostly in Java. The AI stuff is developed in python, but the rest is basically Java. Java is an amazing language and ecosystem for making your startups. Firstly, every infrastructure system or service will give you Java support. All database systems, weather reporting systems, basically anything has a Java API. Java makes it effortless to enable extremely feature-rich support for IDE. The IDE will basically write all the verbose parts of it. But, the verbose part makes it easier to read other people's code. The code is more or less organized in a predictable manner, so reading other people's code is way easier. My personal favorite is the lack of arbitrary macros, which saves you from a lot of confusion (ye, sometimes a lack of a feature is a feature). The list goes on. The only businesses that do not use Java are the ones that value their technological coolness over utility.

  • @tomaszzieba315
    @tomaszzieba315 Год назад +81

    I'm building a startup based on Java.
    The trend is the opposite for Java in my view, it's getting simpler and simpler, for example, Quarkus. Even the spring framework is getting leaner.
    But I agree that overall it's heavy

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

      We are migrating from Node + TS to Quarkus in the startup I work for. I am so happy to get out of the clown land of JS.

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

      Do you have any source to back up your claim....like if the trend for startup or small organizations is going towards Java, just curious?

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

      yes but people are not upgrading past java 8

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

      @@rock_0075 no, I do not have. Maybe it is not even a trend, it is the opposite, and people leave Java.
      What I can say is that Java for startups is not bad. It can be even great when you use it properly. Writing Java in the old way with tons of XML is a nightmare, but in a modern way is great.

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

      i like java, i use it right now in my startup company too. But @tomaszzieba315 if you could check with me, I could help in your startup too

  • @jonathanjohnson2785
    @jonathanjohnson2785 Год назад +26

    All my buddies think Java and JavaScript are the same😂😂

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

      You must have no developer friends?

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

      All my buddies think Java and C# are the same.........so I slapped them with a law suite. 😎😎😎

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

      BTW, it's Javascript! LoL!

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

      ​@@driversteve9345that's incorrect. It's JavaScript.

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

      ​@@robrick9361ok, there bill gates

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

    It doesn’t sound like a Java problem though; it sounds like a business problem.

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

    "we bought books those days", nostalgic.
    Thank you.

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

    Another great commentary, Stef. Refreshing to just hear you riff on the state of things, large and small. Keep up the terrific work, you’re a great uncle to many! Cheers

  • @SumanRoy.official
    @SumanRoy.official Год назад +4

    Love to see your youtube channel grow, I have been here since you had 50K subs

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

    I think the biggest issue with java today is that everything is a class in the language. OOP is good, but i think it should ne be the default. To me, the thing missing in Java are:
    - support functional programming because i am tired of seeing util classes everywhere
    - remove method overloading. It's overused and is a hell to debug
    - support for default value for parameters
    - last but not least, why in the duck, does it consume so much memory

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

      - Java already supports function programming to some extend with the Lambdas and the Stream API.
      - Somewhat agree, method overloading can be annoying at times.
      - Strongly agree.
      - With tools like Quarkus and GraalVM, this problem was already been solved.

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

      @@athirsonsilva3808 while I agree that they have tried to add a little bit of functional programming but it's still verbose. Have you tried kotlin ? If not I would recommend to give it a shot.

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

      Java already has functional programming. You can use the built in stream API or create your own lamda expressions using functional interfaces.
      Seriously guys, you seem to not have touched a single line of Java since Java 5

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

    I honestly think you’re wrong. Java can’t be in the same sentence as scripting languages; php, python, node etc. Java solves problems those languages don’t solve and it need to be compared with like minded, like C#, Go, etc. C++ you compare it with rust etc. once you can get past this then we can get to other parts you’re addressing. This video was just waste of my time really.

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

    I evolved from Cobol/Fortran/Assembler Code/ ... and got involved with Java that fit a certain use for a interface type coding language between the
    basic design of human interface to C, etc. for system performance if used correctly between low level high speed hardware scrapers
    and between interface and business functions that Java can use Classes to organize WEB ... Java .... C, ASM, Databases ...
    I STILL LOVE IT AS A VERY POWERFUL TOOL ... Using Classes, etc. And interfacing with specific low level code and custom code for data bases and certain systems ....

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

    💯 on learning java.

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

    All these points were valid... 10 years ago. Java has moved well beyond the era of Struts, JBoss, EJBs.
    Nowadays, with Spring Boot you have a lot of goodies right out of the box: embedded web server, ORM coupled and ready to use, dependency injection - everything is already configured. And with a vast dependency repository like Maven you can do almost everything.
    There's rarely any xml manipulation or any extending of classes or implementation of interfaces happening now (except when it actually makes sense).
    And while I agree it's still pretty verbose - this actually helps a lot when reading someone else's code. Or even the code of your past self. :D

  • @lourdesm.velandia-calderon3486
    @lourdesm.velandia-calderon3486 Месяц назад +1

    So Uncle Stef suggests to learn Java & its positive outcome. Other than that don't go & look for a web dev job working with Java.
    Got it!
    As usual valuable advice!!

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

    Bruce lee once said, he is scared of a person who has practised one kick a thousand times. I think the same applies here. Java is more frequently used by very specific big corps, that it scares all other languages😂.

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

      This is untrue, most start ups use Java because it has a the biggest QUALITY open and free ecosystem (specially attention to Quality, because npm is bigger but it's also a fucking hell of poor written shit, half of the no longer maintained)
      That allows you to build any kind of application quickly and easy to both maintain and deploy.

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

    Stef I've been watching your videos for years now...I'm sure others could say the same, the wealth of knowledge youve imparted, has helped beyond words.

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

    I believe in use case, its all about whats the job, deadline, dev proficiency in the company and more. Its not really a one and done of course you can do that but there will be languages that perform better for the job

  • @CARPB147
    @CARPB147 11 месяцев назад +2

    Good job Stefan. I also lost 70 lbs in the last 2 years (down to ~155), and everything you say about that is spot on.

    • @StefanMischook
      @StefanMischook  11 месяцев назад +1

      Congrats! I am now talking about health more and more because it is key to success and happiness.

  • @yasseral-agbari4864
    @yasseral-agbari4864 Год назад +8

    I think u r talking about java before java8 and Spring before Spring boot where most of configurations are automated.

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

      SpringBoot is the very definition of bloat

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

      @@thewiirockscompared to what? Django? Laravel?
      Spring Boot is not bloated. Well, if you pull every spring boot starter there is in your project then yes, you’ll get something bloated.
      Spring Boot does it all but it allows you to pull what you need. You wan’t a web server? Pull in spring boot web. You want server security? Pull in spring security. Want a database connection? Pull in spring data. But you don’t have to pull everything if you’re not using it.
      Try setting up a project in whatever language beyond the HelloWorld and you’ll quickly get to appreciate the ecosystem of Java where whatever you need there’s probably a library you can use that does it. And that’s actually maintained.

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

    Good Video. While Java is modernizing, slowly but it is, I agree with almost everything you say. A lot of legacy code, there are new great features in Java and new versions of Spring e.g. but most of it I feel is legacy. What alternatives do you suggest for a programmer who wants to switch? Kotlin, C# or Go?.

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

      I have the same questions, I switched to Kotlin couple years ago, it was mistake.
      When Java started to release new version each 6 month, Kotlin felt that.

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

      If you want to do enterprise, then perhaps .net. But I haven’t looked at it recently and don’t know where it stands. That said, I would suggest considering HOW you like to spend you days, how you like to work and this determines what type of company you want to work for. This will factor in greatly regarding the language.

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

      ​@@StefanMischook Thanks for replying, I appreciate the advice!.

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

    And true, Java is getting better nowadays, release cycle every 6 months, boot speed goes down (they say so), latest SpringBoot even has autostartups for docker compose which really is a handy thing, with many other built now

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

    Honestly this is how I feel about React also.

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

    Great information. Thank you for sharing.

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

    It's been a long time since I've watched one of your videos, Uncle Stef. It's good to see you again. I miss the coffee run from prior videos. I've gotten burnt out on web development, but you're still an inspiration.

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

      What do you do now ?

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

      @@GinsengNative Thanks you for asking. I'm retired, so I pretty much do what I want. Lately, I've been putzing around with Python GUI programming. I love the coding part of web development, I just don't have a good sense for aesthetics. I know there are ways around that, but all seem too tedious for me.

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

    I still by books for programming. So much more engaging and thorough than videotutorial-hell.

    • @StefanMischook
      @StefanMischook  11 месяцев назад +1

      Yes ... and published books will of tech editors validating the information.

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

    Thanks for this video. I second much of what you said. I myself moved from JavaEE7 (11 year old Wildfly Application) to Go because my customer moves his architecture towards a Microfrontend/Microservice oriented one and during my years in that big Java project I found, that simplicity is, what really makes good software. So the coding patterns which are the most impportant ones for me are: KISS and YAGNI. And if one would characterize Go, these two patterns apply fully to Go. That said, there are languages for any kind of work (e.g.: embedded: C, System: Rust, GameDev: C++ and so on). And if I may add one thing when it comes to languages: companies don't search developers for a specific task, they search developers for a specific language. We as developers on the other hand say: choose the language best for solving a particular problem. These two approaches are not compatible with each other. And, sorry to say, most of the time, the companies win in this battle. On top of that, very often, we developers tend to solve all kinds of problems in our language of choice too instead of choosing the language for the problem 😉

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

    The general life lessons along with coding that you give makes your videos priceless.

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

      Thanks! I am happy to share my experiences.

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

    - java is great for learning software development, principles, practices.
    - no way would i do a project in java these days.
    I 99% agree.

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

    Cracked me up when I heard "keep it nimble" as I have started programming in Nim.

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

    I wouldn't start in a startup as junior 3:17, what if the whole company vanishes 9 months from now?
    Big established companies usually don't vanish like that. Once you have the experience you will find jobs much easier and have some of your cash in the bank it worth risking startups.

  • @32zim32
    @32zim32 Год назад +6

    Im writing business logic in PHP, which is super easy and tons of libs. And rest apis (read part )in rust, which is super fast. Best of the two worlds

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

    "..if you write some super-complex code where the logic is difficult to follow...." Having that problem now - there's a "superstar" contractor that knows every tiny nuance of the frameworks and languages that we use, and he uses them all - even if, arguably, older structures / features would be ok performance-wise.
    His code is frequently nearly-impossible to follow. I've been doing software for 40 years, and am completely up-to-date in my sphere. I remember a particular instance where THREE of us - total experience over 65 years - could not figure-out what the h**l the code was doing. We were there because it had a bug in it.
    The solution was to rewrite that section and fixed the bug. He came back-in a couple months later and removed our working fix, and replaced it with more incomprehensible stuff.
    Oh, and he doesn't comment anything except in the PR / commits, and frequently doesn't bother there, either.

  • @gsilva877
    @gsilva877 11 месяцев назад +3

    This is java from 20 year ago, things have evolve a lot. 😊 but what he says about unnecessary complexity and boilerplate mind you will find i coorporate projects. What I start to face is a set of patterns in the enterprise that all teams have to follow with a good reason to make teams and projects more easy to change, but bad part is that it cuts criativity, everything is a hammer. I tend to write functions for common repetitive patterns, I also have different views on how to solve a particular problem and even following the arquitecture bondaries that creates friction in the PR even with the result being the same in tests. I will have to adapt but to follow the script, what makes sense ok, what doesn't just dont discuss too much 😅

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

    Thanks so much my friend. I'm an aspiring developer who has not missed a single day for weeks at the library for hours of studying for my OCAJP so I can make it past HR and recruiters (I've developed several portfolio projects using Java, JS/React, Spring Boot, Kafka Kubernetes, several DBMS's etc.) and I'm exhausted by the end of this week but this vid reignited my motivation at least for the rest of today lol. I will go to the library for this damn cert...

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

    Please talk about functional languages such as Erlang/OTP, Elixir, Haskell etc. Thank you

  • @rallealyt
    @rallealyt 11 месяцев назад +1

    I have used a lot of languages and still keep returning to Java. I avoid Spring (too verbose), I use Vert.X. I avoid typical logging frameworks, I use TinyLog. Using recent Java versions you can have very readable and organized code. Java is mature and has a lot if things, but it can be very simple if you want. To me, "bloated" is to use some modern fullstack and frontend environments that got to an absurd level of unnecessary complexity. Programming languages are always victims of popularity contests and fanboys. If a language isn't hated enough, it means it is not taken seriously enough.

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

    This format of overview and historical examination of technologies from your point of view is very interesting. Like here that what happened to Java and why it got to the point where it is now. Very very interesting to hear it from a professional that has witnessed it happen close by! More of this please :)

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

    daddy Stefan coming thru with another banger!!!!!!!!!!!!

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

    I did .NET API work for a while then started to do Java Spring Boot API work. MVC patterns improved things gave way to script based builds. I still like Java Spring Boot for API work but recently found micro service architectures introduced new challenges. Reliability with continued changes in versioning and the splintering of open source support towards monetization left me frustrated with controlling and learning. Streaming and threading concepts crashed more systems and demanded more resources. Last week I started to learn Nest.js what they call the Angular of API. All script based which brings me back to things I did once in MEAN and MERN. Express existing in Nest.js. Will this language be more of a thing? Don't know but I am finding it quite agreeable to work with.

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

    Thanks uncle Stef

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

    What is the sense to use Java if there are Node.js and Typescript. Anything you can do 5x times faster with them.

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

    please make video like this about c# and .NET platform

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

    great video!
    For me, java needs to solve a couple of headache problems to stay updated on the market and at the same time not being a pain to work with it:
    - The confusion of what you need to install, it will bie easier to have an official installer for the jdk, just one, no 1000000 with different kinds of jdk ( azul jdk, open jdk, etc. etc. ). Sdkman kinds of solve this issue but is not enough
    - The problem of dealing with an ide just to create a project, you have maven gradle, along with all the complexity of both, and it still just too difficult to start a project without and IDE, just look at this mvn command to generate a project
    mvn archetype:generate -DgroupId=ToolsQA -DartifactId=DemoMavenProject -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false.
    - Too many standars , too much annotations, no simple code to read in the mainstream frameworks, this kind of depends on the programmer taste but for mee is too much abstractions.
    Some positive things with the last releases
    - They added virtual threads
    - They added pattern matching for switch

  • @Tomasz-ug4ru
    @Tomasz-ug4ru Год назад +13

    I think you have missed decade of java development. Spring is no longer "lightweight". It became what Java EE used to be. Configuration "nightmare" - argh you think maven, but take a look at gradle or CDIs. Java records, new var, switch style statements. If you want "lightweight" framework, see quarkus (microprofile) which is very tiny subset of java ee (but no darn EJBs or whatever java ee thingy you think) and kubernetes native (especially with graalvm). I tried kotlin and it's awful. Nothing new (comparing to modern java) and only new syntax (not well thought out comparing to scala or haskell). So please learn new modern java 17+ environment

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

      Wealth of knowledge for new frameworks is pretty small compared to Spring.
      Though Spring itself is still one of the worst frameworks a beginner can learn as there are too many conflicting guides/tutorials made for the old versions of spring and the best practices to use it.

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

      ​@@sageplays1404spring is too big and has too many features, most of the time you can be just fin using quarkus or Micronauts.
      But the fact is that the Autor of the video seems to get stuck in java 7.
      Syntax wise there is no real benefits of kotlin over Java since Java 17, not at least anything that worths migrating anything or learning kotlin unless you an Android dev (and this is most due to Oracle idiocy suing google for using Java on Android than kotlin benefits)

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

    I'm currently learning Java to better understand what I'm doing in Kotlin w/ Android

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

    When I first started dabbling with programming back in 2017, Java was the first language I tried. I spent about a month on it before moving into Python. A simple “Hello World” example showed me everything I needed to see - 10 lines in Java vs 3 lines in Python. Sold!

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

      Wow, that says it all🥶

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

      Here's "Hello world" in Java today (As of jdk 21):
      void main() {
      System.out.print("Hello world");
      }

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

      No comments. Looks like this is the main reason new developers don't like Java

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

      Why do you count code editor work 😅

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

    "slow to develop" is a strange statement. Writing code is rarely the bottleneck in terms of speed of feature development. You spend far more time doing everything that's not writing code

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

    Since java 17 there is no really any real productivity improvement in using kotlin over java.
    Nullsafesty? Java have optionals, a far more powerful and flexible tool.
    - Type inference? Java has it since java 11.
    - data classes? Java has records.
    - functional programming? You have the stream api.
    I know java is probably never going to be as consice (sintax wise) as Dart or kotlin, but the improvements of Kotlin over Java are just not worth nowadays.

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

    Hi Stef. Thanks for video. Which modern platforms can Java developers easily evolve to? As a 6 months experienced java developer I want to stay updated and staying open to global jobs?

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

      I think any really. Java has had such a huge impact on the developer community that you will see many of the Java paradigms being expressed in other platforms. I wouldn't worry too much about it. You will be fine.

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

    Is it verbose? Sure, the good thing is that learning other languages become that much easier once you have a good grasp of it. I would also consider the verbosity and coding speed a trivial issue with the advent of AI code completion tools. I personally prefer Kotlin to Java but I'm going the testing route and unfortunately Java is more widely used in the QA space so I will continue with Java and transition to Kotlin down the road since I plan on doing Android development later.

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

      Too much verbosity is a problem not just for writing but also for READING. The code becomes an exhaustive mess to read.

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

    and what is your opinion on scala? worth learning or no? difficult to work it?

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

    as always, honest opinions

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

    Fantastic nuggets of wisdom 🎉

  • @Code-with-Zakariyae
    @Code-with-Zakariyae Год назад +2

    Hey uncle Stef what platform do you recommend more for beginners fiverr or upwork for web development

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

      both are good. there are downsides you will find in both too. best to keep updated all the time so you can find possible problems & solutions earlier. all the best ♥

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

      @@aldrinseanpereira140 Should i learn Java to become a Java developer because it seems AI can't match with Complex java server codes with respect to backend development? OR should I learn Java script because its the most trendiest and hottest language right now after Python but soon its frameworks and stacks are going to be dismantled by AI because of tools like Webflow, Framer and GPT4 OR should I learn Python for django framework for full stack or MERN development and various upcoming fields like AI itself, ML, Data Analyst and *DATA SCIENTIST* ?
      Which one? sir!

    • @Code-with-Zakariyae
      @Code-with-Zakariyae Год назад

      ​@@aldrinseanpereira140Thanks

    • @Code-with-Zakariyae
      @Code-with-Zakariyae Год назад

      ​@@abhishekpatra7954 I think the best thing is just to pick something you find interesting or may like and go with it and learn something that you'll use so on a need to learn basis just like steff said in one of his vids. Then learn fundementals and start building projects from there right away, from small all the way up. Ai may take a long time to really replace deveollpers and programmers in general. People are probably going to start learning right now something from scratch and eventually make a lot of money from it way before ai takes their job. Just decide and start working.

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

    Awesome video!👍

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

    if are interested in building a minimalistic service that has the advantage of a garbage collector based language, and that the deployable executable is a single binary with no shared libraries or other runtime dependencies to manage, then Go language is a compelling alternative to Java.
    Is more streamlined on multiple fronts but relatively easy to learn and master.
    If the indeterminacy of a garbage collector is a problem, then there's Rust.

  • @122mlb
    @122mlb Год назад

    Learn Java if you want to get a steady and ever increasing income, you build your knowledge over the years in a solid and proven language for building large projects.
    Learn JS or Python if you want to get fired in a few years because the language changes so much and break compatibility that you cannot build knowledge over time, and you can get easily substituted by a kid fresh off college for the small projects that you going to get hired to work on...

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

    I wish all the Scala and Java devs took a serious look at Clojure. The simplicity and hocoiconic power of LISP is still unmatched in the industry.

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

      Na, Haskell stole Lisp's thunder, and until Frege picks up more steam, Scala is the most Haskelly language on the JVM, esp. with Cats

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

    What do you think about the future of C# blazor? SSR/web assembly PWA .Net8 etc is it worth it? I find it very easy to develop in c# and it's much less verbose than java, without configuration hell

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

      Yes I thought the same thing when listening to Stef's comments. It really explains the direction of dotnet over the last 5 years with things like minimal APIs, top level (classless) programs, and Blazor. Basically making sure modern dotnet is as lightweight (or lighter) than things like express, react or svelte.

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

      Lightweight, easy to work with tech always wins in the end. For example, PHP, with all its faults in the early days (there was a lot!) it still ended up being the dominant server side programming language simply because it was really easy to get up and running with.

  • @ArisTotle-pm5ep
    @ArisTotle-pm5ep Год назад +1

    Hi Stef,
    is Rust better or worse than Java?

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

      Rust people will say Rust is better, and Java people will say Java is better! LOL! Depends on what you are building and where.

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

    With Spring-Boot its not that bad anymore.
    I have been working with Java-Portlets you can gain lots of complexity with it if you want. But if you leave it simple its ok. If you work with Spring boot its way less complex and easier to deploy. But still you are slower and you have more Time with configuration compared to php.
    Escepcially if you use Angular or Something with spring boot its way better than JSF and still faster development than JSP

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

    Good video.
    I'm struggling now what the language to choose for my new startup (backend part).
    What can you suggest?
    It's a dating app.
    I'm considering Kotlin since it's easier for a Java developer to switch to.

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

      PHP or Js because the speed of development is substantially faster. Remember that scaling is really a database thing. Not that you have to worry about that now.

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

    using static types is good for some stuff but not for most webapplications. PHP or node is better. in Belgium Java jobs is like times 4 the other stacks

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

    I would disagree that spring boot is 'light weight'. Vert.x is light-weight, and so are the Frameworks based on it or similar async libraries.
    Moral of the story - pedigree matters. All Frameworks that began life as 'enterprise' frameworks are going to be bloated. The ones that were developed in the cloud/IOT/fintech era are far better in every respect - including performance wise.
    For instance, take a look at the Lmax disruptor and all the libraries (including for the web) built around it. Brilliant engineering.
    The book 'Functional programming in Java' by manning is probably one of the best FP books out there (rivalling its scala equivalent).

  • @SK-yb7bx
    @SK-yb7bx 10 месяцев назад

    Spring Boot is excellent. I'd build a backend with it.

    • @toby9999
      @toby9999 10 месяцев назад

      I have been involved in a project where the backend uses spring boot. Sadly for me, I couldn't make any sense of it and basically failed to pick up Java. The whole mess almost did my brain in. The front end is pretty much all C++, so that's where I stay.

    • @SK-yb7bx
      @SK-yb7bx 10 месяцев назад

      @@toby9999 Java is a pretty simple language, but I can see where it can be frustrating starting out because it's strict about type safety.

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

    Look guys I work in a mid sized company (around 1000 employees). We combine both php and java, and go services. If you need a job out there learn java. There's almost no mid to large sized company that doesn't use it. If you are about to start a new company consider go. That about the simplicity and all, is more depended (if not entirely) on the structure and architecture and not on the language.

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

    After 10 years, I am still waiting for a decent all in one command line toolkit, package manager like bun, cargo, npm.
    Mvn and gradle are horrible to deal with; especially when you have a lot of plugins.

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

    spring boot is pretty alright. but yeah, i don't use it anymore. there's other stuff that's more alright.

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

    I had that huge Java unleashed book too. 😮

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

    what do you think of Scala.. It is some thing good to start learning. I was in Java for 10+ years and now working on a scala project. Do you think it is worth to learn and master it as well. Mean time I m getting rusty on java.. What is ur good advice for this.

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

      Don't need to go to deep into any language or framework. Learn on the job and learn from other developers. One of the best moves you can do is to find companies with good developers and good principles for development and join them because you will pick up on how the write their code and it will help you to improve.

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

    Great video and awesome lessons Uncle Stef!

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

    Good advice for 2005
    update your knowledge about building applications in Java and Jakarta EE
    For everyone else :
    To build an application you have to know max 10 annotations
    check Adam Bien conference talks from 5-6 years ago and you conclude that Uncle Stefan didn't do his homework before talking about a subject

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

    You talk like a medical doctor. I agree with you.

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

    It's the simplicity of various annotation-based toolkits that slows down Java. Businesses don't want to hire a bunch of engineers to write stuff from scratch, and so they adopt libraries like Spring. You can still tease a lot of performance out of Java with the right mindset. One of those mindsets is to apply OO concepts judiciously rather than _only_.

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

    Hi Stef. What languages and general advice would you recommend for a newbie who is starting to make web apps with HTML and JavaScript with goals to eventually cross develop said apps into andriod app development?

    • @32zim32
      @32zim32 Год назад

      Dart

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

      if your learning web focus on html and css first then JS then React (for a job) or Svelte (for enjoyment) then React Native, knowing React and React Native will allow you to apply for a lot of jobs but alot of people know this so you'll compete against alot. If you wanna be a bit more niche learn Angular or Vue and for Mobile you could Also Learn Flutter but if you just wanna do IOS then learn Swift and if you just wanna do Android then learn Kotlin

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

    C++ is heading that way now too. It is now being designed by committee. Everyone on the committee wants to have their favorite fantasy feature in and no one is saying no.

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

    Is there any reason to use Java over C#?

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

      Only if the infrastructure already has Java. Other than that, I can’t think of an obvious reason. But there could be some specifics to the project that will make Java a better choice sometimes.

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

    Very good video! I was at the university when Java was the hot new thing, and I saw all the "evolution" thet you described during the years where I was using it as a professional developer

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

    6:52 I think the same thing happening now in Javascript!

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

    Please check out the new features of Java 8 - 21, Lombok, Spring and Spring Boot and you might change your mind about it being too verbose and heavy-weight 🙂
    There have been a lot of improvements in the past 15 years.

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

    Stef please I need your help. I am new for python. I am using Pycharm interpreter/VS code. some code do not display an output when I run. e.g. type(12) --- it says Process finished with exit code 0 but no output. however it runs code like print("Hello world"). I appreciate your help

  • @its-me-dj
    @its-me-dj Год назад +2

    I agree to everything you said Stefan. I learned Java back in the day when I was in school and I think Java is a great foundation language to learn in the education space. In the real world, there are other lighter weight and less complex languages like JS, Python as you mentioned.

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

    Your Java experience seems to be from the 90's - early 2000's. You always say things like
    "Java does not make development quick and it's verbose, not for Startups, etc".
    But you have to consider how Java is used today. Usually with IntelliJ, Lombok, Spring Boot, build tools etc. These rapidly speed things up and minimizes boilerplate.

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

      I agree that things are speedy today relative to say 15 years ago. But I still believe it is slower to develop in relative to scripting languages like Js, Python and PHP. Although sometimes you’d want to use Java.

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

    My friend started a company and the group that did the initial development was in Java. I've done a lot of java work over the years and wasn't super excited to take over the codebase but I'm going to say that 17 (and now 21) is really a pleasure to work with. If you haven't looked at Java in a while it's time to take another look. Yeah, it's still fairly verbose but I'm loving it right now.

  • @TuxTuxedo-oc9kg
    @TuxTuxedo-oc9kg Год назад +2

    I learned java and will apply as a java junior dev just so that I can 100% learn Kotlin. once java disappears Kotlin will prevail, and if it doesn't then Scala will live.

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

      Once you have 3-4 years of Java experience, you will be able to pivot to just about anything! You'll be good.

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

    This guy is the real MVP at the art of bullshiting.

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

    Again, don't agree. Python and JavaScripts are chaos with their versions and immature package managers. That's what I call bloat. What a relief to have Maven which is relatively well thought out in comparison. And in JetBrain's tools, all three languages I mentioned feel nimble anyway. However, you are right that there are Java projects out there which ARE bloat. But that isn't Java's fault.

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

    I love Java but Oracle is pushing updates so fast to beat Scala and Kotlin. I'm honestly going to back out of the JVM until the dust clears, and pick up Go.

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

      Is the JVM getting nutty?

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

      @@StefanMischook Not nutty just competitive, Java, Kotlin, Scala, Groovy, Clojure. Ever since Google shifted to Kotlin for Android, after the lawsuit, I think Oracle feels it needs to push Java as a current and future language. Which is ironic considering it's startup adoption but you can see it in how quickly they are pushing updates.
      Not to mention the rise in big data has seen gains for Scala as a core language. To the point where even Spark was given pySpark.

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

    Java is still a tech that is used by many startups. Saying that it's its for the big enterprises with existing infrastructure and legacy is just ignorance

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

    What do you think about Spring Boot? I'm junior Java, and I know basic Vue and Nuxt. I'm thinking about learning Elixir Phoenix. But I can't find job ads for Elixir

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

      Solid framework, can do about everything related to server-side development. Golang is a good functional programming language that has a fair amount of jobs, a better option in the moment, you can learn it instead of Elixir.

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

      @@athirsonsilva3808 I'm using Spring Boot. I've even build full stack invoicing app with spring boot(jwt, caching, liquibase, jasypt, etc.), vue and mysql.
      I'm wondering is Java Spring Boot still bad compared to other languages in terms of boilerplate?

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

    I don't get developers nowadays, Java is easy and even more if you use spring boot. A lenguage is only a tool. For example if you want to do something quick, low memory use and cheap hosting use node, if you want to optimize the use of cpu but not so much memory use Java or Go, if use want to optimize both use rust

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

    Great info!

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

    I was working in a data center for a multinational lottery vendor and many of their apps were built with Java.

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

      yes mate, that's called legacy apps and code!

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

    Spring is just another aspect (AOP = Aspect Oriented Programming / AspectJ).

  • @碇信志
    @碇信志 Год назад

    Abour your bootcamp is it a full stack bootcamp or just a front end BootCamp?

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

      Full stack ++. It covers MUCH more than just the coding.

    • @碇信志
      @碇信志 Год назад +1

      Thank.I will join your bootcamp after like two months or so. Hope I can learn a lot from it😀 @@StefanMischook

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

      @@碇信志 You will! And I am expanding it soon!

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

    Java is used a lot in France

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

      Do they run it on Le JVM.

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

      ​@robrick9361 well, you're actually pretty close but it's "La JVM"

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

    Another video thank you so much very useful.