Should you still LEARN Java in 2023

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ต.ค. 2024
  • Java is one the top programming languages and one the oldest. Should you learn Java. Is Java even relevant?
    Don't Forget to
    ===========================================
    💯 Subscribe to Amigoscode - bit.ly/2HpF5V8
    💯 Courses Available for free here - amigoscode.com...
    💯 Join Private Facebook Group and Discord - amigoscode.com...
    NEW COURSE COMING SOON
    Join Waiting List Now - waiting-list.a...
    🙊 Here are the goods for all my videos video 🙊
    ► Recommended Books
    ===========================================
    Clean Code - amzn.to/2UGDPlX
    HTTP: The Definitive Guide - amzn.to/2JDVi8s
    Clean Architecture - amzn.to/2xOBNXW
    ► Computer and Monitor
    ===========================================
    New Apple MacBook Pro - amzn.to/3464Mmn
    Dell 27 INCH Ultrasharp U2719D Monitor - amzn.to/2xM3nW1
    Double Arm Stand Desk Mount - amzn.to/3aYKKfs
    USB C Hub Multiport Adapter - amzn.to/2Jz7NlL
    ► Camera Gear
    =============================================
    Sony ILCE7M3B Full Frame Mirrorless Camera - amzn.to/346QIJn
    Sigma 16 mm F1.4 DC DN - amzn.to/2wbic3Q
    Sigma 33B965 30 mm F1.4 DC DC - amzn.to/39G37Fd
    ► IDE & Tools I use for coding 💻 🎒
    ===========================================
    ITerm
    VsCode
    GoLand
    IntelliJ Ultimate
    Sublime
    P.S
    ===========================================
    💯 Don't forget to subscribe | bit.ly/2HpF5V8
    💯 Join Private Facebook Group and Discord - amigoscode.com...
    💯 Follow me on Instagram | bit.ly/2TSkA9w
    ❤️ Thanks for watching

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

  • @amigoscode
    @amigoscode  ปีที่แล้ว +42

    🔥New Course Coming Soon
    Join Waiting List - waiting-list.amigoscode.com

    • @michelchaghoury9629
      @michelchaghoury9629 ปีที่แล้ว +1

      Dear can you please make a tutorial on ORACLE ADF Please and thank you

    • @truth-7380
      @truth-7380 ปีที่แล้ว +2

      SUN micro services.
      No,
      SUN Micro systems

    • @PutsOnSneakers
      @PutsOnSneakers ปีที่แล้ว

      @@truth-7380 Truth!

    • @PutsOnSneakers
      @PutsOnSneakers ปีที่แล้ว

      @@michelchaghoury9629 Yes darling, at what starting level would you prefer it to be at sweetheart. Should the tutorial start at beginner level honey? Or should it be at intermediate level my sugar pumpkin pie? Baby please reply so we can make an arrangement for you okay love?

    • @programmingwithnurulhuda
      @programmingwithnurulhuda ปีที่แล้ว

      It's always good to learn something.

  • @pierregerard8215
    @pierregerard8215 ปีที่แล้ว +511

    I'm a professional Java developer for years and I can say, without hesitation that Java is definitely not dead. Its still largely adopt in IT services. The community is absolutely huge. Also, the last release of Spring 6, project Loom and so on are very excited for us.
    But if I could recommend something for beginners, just focus on well established languages instead of trending ones. I mean, Java, Javascript, Typescript, Python are the most popular OOP languages. I would not recommend to learn new languages such as Rust or Golang for beginners cause the learning curve may be to complicated for you and to be honest they are not many companies compared to OOP languages which hires developers ;)
    BTW : thanks for you content @Amigoscode, its perfect as usual ;)

    • @amigoscode
      @amigoscode  ปีที่แล้ว +30

      Well said buddy

    • @ProMinecraftSprite
      @ProMinecraftSprite ปีที่แล้ว

      can you say from your perspective how this AI will affect java related jobs?

    • @pierregerard8215
      @pierregerard8215 ปีที่แล้ว +22

      @@ProMinecraftSprite I don't know exactly what you're talking about but if you think about AI like ChatGPT. I use it every day, and after 1 month of daily usage clearly there are still lots of issues with the generated code. But its the most overpowered, game changer tool I ever used for boring or complicated tasks such as writing documentation, reverse engineering of legacy applications, writing postman tests, sql, elasticsearch or mongo queries. I'm sure that it will not replace developer (or maybe in many years) but it allow us to be productive as f*ck in some cases.

    • @ProMinecraftSprite
      @ProMinecraftSprite ปีที่แล้ว +2

      @@pierregerard8215 Thanks for your answer, I was wondering how companies(that you work in too) look at it.

    • @konga8165
      @konga8165 ปีที่แล้ว +11

      I would highly recommend learning Rust and Go. Java has been trending down since 2016 in usage. Go especially is way more simple than Java and way easier to learn.
      I think we are going to see Go and Rust dominate the landscape in the next 5-10 years. They are just objectively better in every way. They are way more performant, have a better type system, they have a cleaner syntax, and their dependency management system is way better.

  • @Exiide89
    @Exiide89 ปีที่แล้ว +56

    Java acts like a Rosetta stone for programming languages. Learning Java equips you to use any programming languages without even the need to learn them. You simply need a basic cheat sheet for that language in front of you and you can take off.

    • @re1konn
      @re1konn ปีที่แล้ว +4

      Not so much for the functional languages brother...you could call it a rosetta stone for OO languages. But abstraction is a theme found almost everywhere.

    • @future_teknokrat7585
      @future_teknokrat7585 ปีที่แล้ว +1

      Uhhhh, C++ is the Rosetta Stone pal.

    • @ceciphar
      @ceciphar ปีที่แล้ว +4

      @@future_teknokrat7585 Uhhhh thats C buddy 🤓☝

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

      Yes, you technically can write same abstraction bloatware everywhere, because all modern languages unfortunately support classes and interfaces.

  • @codinghoca
    @codinghoca ปีที่แล้ว +75

    I worked my first job in Java at a database company and later also using it in the backend at Google, and it's definitely still thriving. It might not be the hot thing that all startups are defaulting to using it today, but it definitely 1. provides a great foundation for OOP/type-based language (I would actually prefer to hire someone who has past Java experience vs just JS experience) 2. is still relevant in a large number of big (and small) companies who choose to use it.

  • @selahadinjemal7138
    @selahadinjemal7138 ปีที่แล้ว +33

    "Learn Java and the rest of the programming languages are going to be easy" that I can say is true. I'm coming from a JavaScript environment and I realized I've missed a lot of fundamental concepts like design principles, best practices and most of the OOP concepts as JS is more like code however you like.

    • @DnKZone
      @DnKZone ปีที่แล้ว

      do you recommend web developer to learn Java, primarily to shift from web to software industry?

    • @selahadinjemal7138
      @selahadinjemal7138 ปีที่แล้ว +1

      @@DnKZone yeah I think Java is a good choice for that. One reason is, it is well documented and you'll find many experienced individuals who'll guide you and also many of the design principles are well implemented in java.

    • @DnKZone
      @DnKZone ปีที่แล้ว

      @@selahadinjemal7138 You just motivated me, thanks!
      Can you tell me the learning path you are following? Because I am all confused, should I learn Kotlin and go for App development or learn Backend systems development. I am also confused, what does this Backend Systems means?
      I am also doing web development for some years now. I also think I need to acquire software industry knowledge for long-term career.

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

      "Best practices" are not even good, you technically can write that exact code in Javascript or Python, like in Java, but you don't have to.
      In Java you just don't have a choice, you locked in endless OOP brainrot with boilerplates.

  • @semicharmedkindofguy3088
    @semicharmedkindofguy3088 ปีที่แล้ว +43

    I was taught java in highschool and learned C in college (and use for my job), and although I don't really like programming in java, the concepts that java taught me have helped me throughout my career. Knowing both java and C I got a very deep understanding of how all of this works.

  • @techwithattila
    @techwithattila ปีที่แล้ว +329

    Java is just thriving just as it has been for 10 years. All the big companies who started with a more trendier language eventually migrate over. And Spring Boot is just 🤩

    • @konga8165
      @konga8165 ปีที่แล้ว +21

      “Java is just thriving just as it has been for 10 years” this comment is objectively false. Usage has been declining for the past 10 years

    • @meostyles
      @meostyles ปีที่แล้ว +13

      @@konga8165 Not objective, you’re interpreting thriving == usage. Java is thriving in the sense it gets releases every 6 months and it’s so much more enjoyable to code with nowadays

    • @meostyles
      @meostyles ปีที่แล้ว +5

      @@konga8165 also given that the number of good languages has exploded, of course java’s usage would go down. However their ecosystems are much less established, as well as their communities

    • @konga8165
      @konga8165 ปีที่แล้ว +3

      @@meostyles PHP and Ruby usage is down and I would say that they are not thriving. If less people are using a language, I don’t think it’s “thriving”. Also if “thriving” is based off of release frequency then Rust wins. It has a 6 week release cycle.

    • @konga8165
      @konga8165 ปีที่แล้ว +1

      @@meostyles I do agree that Java has a higher quantity and maturity of packages.

  • @Slavigrad
    @Slavigrad ปีที่แล้ว +141

    I am a Java backend developer (cloud, microservices) and there is still plenty of work for me. I am now on working on big project for next 2-3 years with this stack.
    If you want to learn Java then the market demand is - Java, Spring Boot, Docker, Kubernetes, AWS, Hexagonal architecture, microservices…
    Plenty of work and demand for this on European market.
    If you like frontend then pick also Javascript, React and Angular.
    If you know Java and Javascript you can be fullstack developer…

    • @ulankdt
      @ulankdt ปีที่แล้ว +2

      Same situation

    • @shaikh.quadeer
      @shaikh.quadeer ปีที่แล้ว +2

      i learned all this and also you need docker kubernetes

    • @themadmen1717
      @themadmen1717 ปีที่แล้ว +1

      Can you recommend any books or courses you recommend to learn all those stuff please

    • @Slavigrad
      @Slavigrad ปีที่แล้ว

      @@themadmen1717 I don’t know… I think book “Thinking in Java” is still valid. I use it when I forget something… Check what Amigoscode has to offer :)
      Find a good course on TH-cam that would be about “Object oriented programming with Java”.
      Not just learning Java… Find something yourself that would fit your style.
      Then learn Data Structures and Algorithms in Java. Maybe something like AlgoExpert or Log2Base2 sites. Or courses for free on TH-cam. And Amigoscode maybe :) I used AlgoExpert and it was good.
      Then I used course Spring Framework master class on Udemy.
      First try what is for free. Try different people, courses etc and find your style to learn… Once you find best way you can learn then try some payed courses.

    • @raahimkhan7461
      @raahimkhan7461 ปีที่แล้ว

      what about python for backed? Most popular option....

  • @kchemutai3483
    @kchemutai3483 ปีที่แล้ว +65

    I was previously working with python and JavaScript but learning java has cemented my OOP concepts and made me understand the difficult parts in JavaScript and python. I totally agree with Amigos code that learning java makes you learn other OOP languages easily

    • @encapsulatio
      @encapsulatio ปีที่แล้ว +1

      Except...that Java, Python or JavaScript has a submediocre implementation of proper OOP. Smalltalk remains the best OOP implementation, the original one based on messages where the OO part is the lesser concept.

    • @deistormmods
      @deistormmods ปีที่แล้ว +1

      ​@@encapsulatio No point in learning Smalltalk. OOP is bad.

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

      Just because Java enforces you to write code in classes, you're not writing better code. Its quite the opposite.
      Most of the time you're using wrong tool(OOP) for the task, and have to cope with all SOLID workarounds.

  • @samirzafar
    @samirzafar ปีที่แล้ว +21

    I totally agree with the Video.
    I know a lot of languages are becoming more high level & abstract i.e. Python. But when a beginner has to work with Legacy code written in Java, they often feel overwhelmed and confused by the boilerplate code, however if you learn Java first then move on to higher level languages you'll generally find it a lot easier.
    Having said all that, a big thank you to Nelson for producing quality content surrounding Java and how to make scalable, commercial applications with it.

    • @businessparis9364
      @businessparis9364 ปีที่แล้ว +4

      I agree. I think Java is a good "mid tier" language, where its not too high level like JS or Python but its also not "scary" low level with too much detail/complexity like C++/C. Just a decent first language to learn most concepts you need.

    • @programmingwithnurulhuda
      @programmingwithnurulhuda ปีที่แล้ว +1

      @@businessparis9364 It's always good to learn something.

    • @encapsulatio
      @encapsulatio ปีที่แล้ว +1

      Plus modern Java is just as succinct as you would expect from a modern language.

  • @Jelvix
    @Jelvix ปีที่แล้ว +18

    Thank you for bringing up this topic! Our assessment is that Java will maintain its relevance due to its versatility and active community. By integrating new frameworks and features, Java has solidified its position as a flexible programming language that continues to evolve and adjust to new technological advancements. That's definitely a reason to believe that it's gonna run not only 2023, won't it ?

  • @jordanmoore4104
    @jordanmoore4104 ปีที่แล้ว +14

    I absolutely adore this video! As a backend developer, I have the privilege of working with Java on a daily basis. Despite not being as widely discussed as JavaScript, Java remains an incredibly relevant and powerful language that continues to drive the backend systems of some of the world's most well-known companies. As you rightly pointed out, Java is the building block of many other programming languages, making it a valuable investment of time and effort for those just starting out in their coding journey. 🙌

  • @Ritsuchan95
    @Ritsuchan95 ปีที่แล้ว +11

    I learned programming 10 years ago with Java and I think it might have been the best decision I took. Not as hard to learn as C/C++ (no need that much control over memory and such) but not as simple as JavaScript or Python. Great mid-way to learn OOP and make games/apps multi-platform.

    • @nobytes2
      @nobytes2 ปีที่แล้ว +1

      This. I started learning to code in 2009 bought some c++ books that made me hate programming. A few years later Java made me understand everything and eventually now I know several languages. Python, cpp, golang, and more.

    • @codewithvenky
      @codewithvenky ปีที่แล้ว +1

      Hi sir...can you guide me to start Java learning
      :) Please reply

    • @Ritsuchan95
      @Ritsuchan95 ปีที่แล้ว

      Hey @@codewithvenky! I would recommend starting with a more language focused tutorial (just a Java tutorial) to get some language basics + programming logic & OOP (object oriented programming). Then it really depends on what you're interested in to doing. There are a lot of different frameworks, each of them focused on a solution. If you want to make websites then learn Spring Boot, you can make android apps with Android Studio (although I think they are switching to Kotlin) and much more. Also I would recommend thinking a bit about what kind of software are you looking to develop. (Ex: for iOS apps it's better to learn Swift and make them native). Hope that helps, don't feel bad if you don't know what you want to do, I have been testing different things over the last 10 years (Started with Games on pure Java, switched to websites with HTML5 + CSS3 + Javascript, then tried some C++ in Unreal Engine, C# on Unity, back to webdev with React and ended learning backend [JavaScript/Typescript + Node.js + Express], [C# + .NET] & [Java + Spring Boot]).
      Just try to not waste time in "tutorial hell" as many of us self-taught people end up doing.
      Watch tutorials to learn how a language/framework works, but then create your own projects from scratch. If you just copy over and over projects from youtube tutorials.
      Like TheCherno said a long time ago "You can read a 1000 books about how to play a guitar, but if you don't take a guitar and try to actually playing it you won't learn how to do it". :)

  • @MaJetiGizzle
    @MaJetiGizzle ปีที่แล้ว +11

    Not to mention a lot of big companies are finally starting to convert their old COBOL systems over to Java code. So knowing Java means consistent employment for helping with replacing those billions of lines of COBOL still out there.

    • @programmingwithnurulhuda
      @programmingwithnurulhuda ปีที่แล้ว

      It's always good to learn something.

    • @mistertexaz
      @mistertexaz ปีที่แล้ว

      @@programmingwithnurulhuda what are you on about? Learn to do something with your brain.

  • @tonykung07
    @tonykung07 ปีที่แล้ว +7

    Java is definitely still relevant for a lot of enterprise systems. The question is that if people are using Java that much for new projects with new architecture. My impression is that Java memory footprint with JVM is relatively large when compared with more modern languages such as Golang. That makes Java not the first option when microservice architecture is adopted. I guess new versions of Java might have considered this to allow people tweak configurations of the JVM, yup then you might need learn something additional to make it suitable for microservices given that microservice was not a thing back in 1995 when Java was designed.
    Simply put, modern languages don't just mean "trendy" but they mean they have been designed from scratched for modern system architectures as software development has evolved gradually. Java might not be the top choice in a lot of situations anymore. I have seen people build new web backend with NodeJS, Golang for microservices, Python for data science, Solidity for web3 smart contracts, Golang for devops programs such as k8s and docker.

  • @chinmays420
    @chinmays420 ปีที่แล้ว +5

    2:42
    I am a self taught python developer. Recently I got job as a java developer. I found it really hard to get comfortable with java and springboot but as I have learned java
    Now when i got back to code in python I do find it very easy.

  • @Boyarsskiy
    @Boyarsskiy ปีที่แล้ว +5

    I agree that if you know assembler then any language will be very easy to learn, and if you know Java you can learn any higher level languages very easily and quickly. But in the long run, I recommend to learn more than just Java. After you master Java as a backend developer, learn JS, HTML, CSS and try to develop your own simple fullstack application with pure JS on the front end and Java/Kotlin on the backend. After mastering this step you will be able to easily understand other JS frameworks such as NodeJS, React, Angular, Vuejs, etc. After that, you will be able to easily find any job as a software developer and will be able to understand the whole picture in your company project: from the point of view of the users of the product, the front-end developer, and from the point of view of the back-end developer. And even if you will be primarily a back-end developer, knowing the rest of the application layers will help you better design your back-end architecture, as well as communicate effectively with front-end development teams. You will be think not like a coder but like an architect.

  • @umer-media
    @umer-media ปีที่แล้ว +5

    You should learn Java as beginner language. Because you will learn CS basics and some foundational tools for programming. Design Patterns. Lots of good CS books and university courses still uses java. I learn JavaScript as beginner language and i regret learning it. I wish I could have learn Java.

  • @dera_ng
    @dera_ng ปีที่แล้ว +5

    Hello Amigoscode Wa-Alaikum-Salaam!
    Really enjoyed your video and I watched till the end. I do have some personal reservations about Java by the way. When I started fiddling with programming in 2012, I started out with Java and I really didn't like the "public static void main Strings args" ritual. I didn't understand it and I was still in junior high school when I started reading a book called "Head First Java". I eventually switched to Python around 2014 and it was probably the best decision I made. After a couple of years, I wanted to try out Java again; I soon found out that Java was too verbose / long to write [for me]. I really didn't appreciate that I had to write so much code for a functionality I could write couple of lines for in Python. I haven't been back to Java ever since.
    I do think maybe work-related projects would eventually bring me back to writing Java code one day. Funny enough, I seem to enjoy writing C, C++ code than any other static programming language [and that would probably include Java as well - I'll only know when I have to write Java for something important].
    Thanks for the interesting video. The motion graphics in the text did improve retention for me...
    Cheers.

  • @devdeckardCain
    @devdeckardCain ปีที่แล้ว +2

    The only reason why people are saying that Java is dying is that there is a MASSIVE influx of programmers in recent years, almost all of which are flocking to Javascript, Go, etc because they're immensely popular. This doesn't mean that Java is dying.

  • @ifechukwuudorji8274
    @ifechukwuudorji8274 ปีที่แล้ว +7

    I started out programming with Java and it has been very easy picking up other languages, so far I switch between Java, Kotlin and Dart at work and my Java background has been super helpful.

    • @SuperGojeto
      @SuperGojeto ปีที่แล้ว +4

      Great. I am learning Kotlin now to switch permanently from Java. Java is great but to much verbose.

    • @ifechukwuudorji8274
      @ifechukwuudorji8274 ปีที่แล้ว +2

      @@SuperGojeto There are a lot of newer language features on the newer versions of Java its just unfortunate we cannot use them on Android

    • @programmingwithnurulhuda
      @programmingwithnurulhuda ปีที่แล้ว

      @@ifechukwuudorji8274 It's always good to learn something.

    • @programmingwithnurulhuda
      @programmingwithnurulhuda ปีที่แล้ว

      @@SuperGojeto It's always good to learn something.

  • @felreizmeshinca7459
    @felreizmeshinca7459 ปีที่แล้ว +3

    Wa'alaikumussalam.
    Alhamdulillah thank you for the video.
    I stopped working last 2 years and started applying for jobs again.
    Saw that people are still trying to look for Java developers and the pay while not being the highest, it definitely is still in-demand.
    I used to work in a big company. The down side is that I don't know the whole system. I'm learning Java again but it gets overwhelming seeing the road map.

  • @ONFROZE
    @ONFROZE ปีที่แล้ว +2

    السلام عليكم ورحمة الله وبركاته
    Alhamdulilah i’m happy to see a Muslim brother teaching these things. May Allah Subhanahu Wa Ta’ala bless you akhi

  • @KyrosNox
    @KyrosNox ปีที่แล้ว +3

    In my experience and opinion. Learning java for me was challenging, but I understand how processes work. Which is very important to me.

  • @benfowler1134
    @benfowler1134 ปีที่แล้ว +1

    I gave myself brain-damage when learning to code, by starting out with old-school BASIC (AppleSoft, GW-Basic) and then I was told by a teacher to go and learn Pascal. Same argument as Javascript vs Java -- start with the sane language ASAP to undo my bad habits, and make it easier to pick up other languages. It was excellent advice, because it was much easier to pick up C after that.

  • @yutubl
    @yutubl ปีที่แล้ว +2

    I agree: learning for long run is good for young people and Java has big advantages: 1. wide spread language C-style syntax (like C, C++, C#, JavaScript); 2. fatal error safe features; 3. object oriented programming libraries to learn advanced concepts & architecture of how to make good software design, development and test. I recommend learning Java with already learned entry level programming skills (e. g. on Raspberry Pi: BlueJ Java IDE, JavaScript or Python).
    Thats was the reason why I supported my son learning Java, after he showed interest about mathematics, physics, programming (self taught LEGO Mindstorms Robot, school: Pascal, Java).
    Unfortunately I never got a Java job after learning it, after long time C++ and C# jobs saved me. And these programming languages are closer to Java, or Java is closer to them as you might look at it.

  • @mistymu8154
    @mistymu8154 ปีที่แล้ว +10

    I completely agree. While I started with Objective C and then Swift, like Java, it really gave me a good fundamentals to understand and quickly pick up other languages, so jumping to C# and Java was simple as was picking up other languages like Go, Javascript, Typescript and Python. Unfortunately, there are too many people in software development who become too fixated on one language and then want that one language to solve every problem. Like you say, a programming language is just a tool and you should use the best tool for a specific purpose. Also, especially in the Javascript world, developers change to the hottest new framework every 6 months, while Java may not be as exciting it has a solid ecosystem that doesn't drastically change every few months.

    • @PutsOnSneakers
      @PutsOnSneakers ปีที่แล้ว +1

      Yea that's my biggest hate about javascript they never stick to a single damn foundation lol frameworks are out of control there

    • @programmingwithnurulhuda
      @programmingwithnurulhuda ปีที่แล้ว +1

      It's always good to learn something.

    • @mistertexaz
      @mistertexaz ปีที่แล้ว

      @@programmingwithnurulhuda shut up

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

    I never wanted to be a java developer. I love python. But after 5 year, I have do springbot projects continuously.

  • @mosopefoluwaadebawojo3543
    @mosopefoluwaadebawojo3543 ปีที่แล้ว +10

    Thank you for this video; it came at the right time.
    I had the same opinion as you do - it's still important to learn java because it'd be a good programming foundation, and it'll make it easier to work with other programming languages.
    This was my plan (to be well vast in java) but what if I don't have enough time to learn java and need to learn what I need for the moment because I have a project that would be better written in another language, for example, Python?

  • @zb2747
    @zb2747 ปีที่แล้ว +2

    If I could start over again I would definitively start with Java and/or PHP. Yes, all these modern tech stacks are cool but most of all enterprises companies today are built with enterprise tech stack/solutions…I.E .Net, Java/Spring Boot, and LAMP

  • @DWEthiopia
    @DWEthiopia ปีที่แล้ว +4

    I can see Kotlin slowly surpassing Java as the programming language to know for running apps on the JVM. However, it will be a SLOW process. It can be fast, if JetBrains can figure out a way to make migration from Java to Kotlin a breeze.

    • @ahmedbathily7013
      @ahmedbathily7013 ปีที่แล้ว

      Never out of Android Kotlin is very unpopular in used and becomes more complicated

  • @konga8165
    @konga8165 ปีที่แล้ว +1

    I group languages into 4 different buckets
    C and C++ - high performant
    Java and C# - memory and type safe
    JavaScript, Python, Ruby, PHP - simple
    But Rust and Go take the cake. They are high performant, memory safe, type safe, and simple.

  • @spheenik
    @spheenik ปีที่แล้ว +5

    A language is always only as powerful as the tooling you can have, as well as the amount of quality libraries out there that you can use to build applications. After all, you do not want to reinvent the wheel. For Java, you have really top class IDEs (albeit for other languages too, but especially as a statically typed language the amount of knowledge an IDE can have over your project is stunning), and the amount of really well written, performant libraries and frameworks out there is just top class). Show me something like Spring Boot in another language...

    • @richarddettinger
      @richarddettinger ปีที่แล้ว +2

      Exactly. I learned Python a few years ago after being a life long Java developer and its a find tool. Heck, its a great tool. But the IDE support is like being in the dark ages because of the lack of static typing. I often hear people talk about other languages being more efficient to write in than Java. I think a proficient java developer with a good IDE and a framework like Spring Boot is pretty damn fast.

  • @pyp2205
    @pyp2205 ปีที่แล้ว

    I'm honestly not surprised to see this in my recommendations. Probably because I'm going to go through Java next week in my university, after 5 weeks of C. But it's not going to be too hard since I learned the basic syntax of these languages beforehand. While Python was my first programming language. Transitioning to C++ a year ago wasn't hard, because I tried to learn it sometime before I learned Python 4 years ago.

  • @learn2fly.2024
    @learn2fly.2024 ปีที่แล้ว +2

    thank you, this makes me excited.
    salam from Jakarta

  • @tribaltalker1608
    @tribaltalker1608 ปีที่แล้ว +5

    One of the problems for beginners when they approach older popular languages like Java is that the sheer number of highly specialised areas in which they are used makes it hard to evaluate what to learn. Also the scope of these languages can seem overwhelming. Clarifying what the core elements of a language are can really help reduce the initial shock.
    I used to be a trainer, developer and team leader. Java was my go-to tool for most projects. But problems with deployment and licensing (still ongoing, as I understand) shifted my focus to other languages. I'm not a fan of Oracle's approach and I'm glad to be out of it.

  • @babyboie20
    @babyboie20 ปีที่แล้ว +4

    I think Java is still being used, or at least in the codebase, but I don't think for new projects, many companies are choosing Java. Mainly because of the way Oracle has handled their situation with Google. I don't think it's because the language is stale more about the owner and not wanting to deal with a legal battle if they don't have too.

  • @mrreese2342
    @mrreese2342 ปีที่แล้ว

    This is so random, but i remember watching a video of yours last year where you said that you quit your company, and i was devastated to know that, because you gave such a good impression of how a software engineer works and it seemed fun there and you seemed happy

  • @sophi145
    @sophi145 ปีที่แล้ว +4

    Brilliant advice. The world is shifting towards cloud so js and Java are very good choice together with python. For Android kotlin and Java are good to go.

  • @mosesvuma1811
    @mosesvuma1811 ปีที่แล้ว +6

    Salesforce also designed a language based on Java, namely APEX. So learning Java puts you in a position to be a Salesforce developer as well.

  • @Alex-bc3xe
    @Alex-bc3xe ปีที่แล้ว +1

    Java makes the standards all the time on how to do things in the backend so that's why enterprise code is always there. It's robust and mature. I hate Java for the boilerplate but it's by far a great language for solid backend. Example, Dependency Injection which is also masively used on Angular, Nestjs that is a masterpiece which was 'standard' in Java way before ... so be smart not hyped.

  • @codingfuture7140
    @codingfuture7140 ปีที่แล้ว +4

    I am not a Java developer but it's certainly not dead. It's still very popular in most Software dev stacks together with javascript since both languages are OOP oriented. In my area, there is demand for backend java developers without needing too much experience (2/3 years), while earning 4 -6k in the first period, which is well above average pay.

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

    Mainframe code is being replaced, finally. The replacement is Java, so it has good few decades ahead of it.

  • @alejandro_930fbcfc14
    @alejandro_930fbcfc14 ปีที่แล้ว +1

    I would add the fact that Project Loom is about be released and that would be a turning point in Java history as regards performance and resource consumption optimisation

  • @moogdaroat4710
    @moogdaroat4710 ปีที่แล้ว

    I learn java back days on college, i was hesitanted to ask or starting learn spring boot, i have solid knowledge in java so it will be easier to me, thank man,.
    بارك الله فيك وفي علمك

  • @lstuma
    @lstuma ปีที่แล้ว +1

    Short answer: No
    Long answer: It depends..

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

    I started with Go and contrary to what you've said in the video I found it very easy to pick up Java later. I personally have to disagree with many things you said here, and would recommend against starting with Java for a few reasons:
    1. Java is HEAVILY object-oriented. Everything has to be a class, object, method, etc. It might be a good idea for big projects with massive codebases and many contributors, but it's overkill for most programs you want to build (public static void main(String[] args) just when you want to make a hello world program is a notorious meme), because what could've been just a few functions needs to be implemented as an entire new class with methods. OOP is very different from other programming paradigms and will make it hard to learn other programming languages that are more imperative or functional in nature, and eventually a fresh programmer that started with a heavily-OOP language like Java is going to pick up bad practices.
    In OOP terms, imperative programming is a "class", and object-oriented programming is an "instance" of that class. Child instances can inherit from their parent classes ("Cat" and "Dog" both inherit from "Animal"), but they are not comparable to one another ("Dog" is going to be much different from "Hamster"). Learning imperative programming first with C, JS or Python will be better at teaching you programming in general, but object-oriented programming is a niche that is different from the rest, and has its own set of rules and practices. It's like learning how to drive by getting a forklift certification, as opposed to learning how to drive a regular car. The best place to start would be C, as it's a simple language (though not easy) and is considered the Latin of programming languages, and will teach you everything you need to know about how a program operates and how programming works. C is so influential that it serves as the "blueprint" for most languages - like Java, JavaScript, C#, Go, Rust, and many others, additionally the Python interpreter is written in C.
    2. Java tooling is not the greatest, and it's all over the place. There are many different Java JDKs and build tools etc. and a beginner will get easily confused and deterred from Java after not knowing what to pick and the differences between everything. And I do not wish debugging a Java program even to my worst enemies - error logs and debug traces are excruciatingly verbose, yet they barely tell anything useful. If I started with Java and saw such an ominous looking wall of text on an error, I would've probably thought to myself "this is not for me, my mental capacity is not big enough to understand this black magic" and given up on such a beautiful thing that is programming.
    3. OOP is being moved away from. Trends both in business and hobby are signaling that programmers in general are moving back towards imperative programming. Functional programming also picked up a lot of notability in recent years and even started being supported in JavaScript and Python. With the amount of hate OOP has been getting for decades, and the rise of object-oriented languages that get rid of traditional (and controversial) OOP features (such as classes and inheritance) - i.e. Go and Rust - it seems the world has decided Java and OOP aren't good enough to be the "standard" anymore. This basically suggests that learning Java means you'll be maintaining legacy codebases, while most new projects will be done either in much more portable JavaScript and Python, or "cooler" languages like Rust and Go.
    BTW, "A language is just a tool to solve a problem. People say "oh I hate this language because of this", don't be one of them. Be a person that can work with any language." is such a real and valuable and underrated statement, you get points in my book for that. People forget that at the end of the day programming languages, code editors, etc. are just tools to get the job done and petty fights serve no purpose other than distract you from your work. I picked up Java just because I wanted to, and no amount of Java/OOP hate will change my mind. A good programmer is not one that masters a specific tool, but one that can solve a problem no matter what tool you throw at them.

  • @BossFlight
    @BossFlight ปีที่แล้ว +1

    Java addressed many software engineering pain points that plagued the development landscape for mid/large applications during decades, increasing the chance of success for projects where using a scripted or weak typed languages are liability right off the bat. There has been a unjustified derogatory campaign against Java, whilst none is forced to like something, I think someone that programmed mid/large systems or understand architectural concepts and has actually learned Java, hardly ever would bash Java for no reason, this might sound pretentious but I usually think twice about working with someone that has that attitude and if the developer is really versatile or competent when they bash just for the sake of it.

  • @GenjaOrigins
    @GenjaOrigins ปีที่แล้ว +2

    Java, Spring , React/Angular +RDBMS make CRUD Operations with all this as full stack

    • @GenjaOrigins
      @GenjaOrigins ปีที่แล้ว +2

      BackEnd: Java Best Choice and learn a framework Spring.
      FrontEnd: React Best choice or Angular
      SQL: MySQL/Postgre?
      Combine all these with Crud Applications and keep learn more like microservices etc. Just be better dont change languadge and start from scratch.

  • @lwa.dev74
    @lwa.dev74 9 หลายเดือนก่อน

    Thank you Nelson, that was a brilliant analogy of programming languages of which i cant believe i never thought of like that untill you explained it so simply I feel quite embarrassed to admit. But aside from that I am now taking onboard your welcome advice and I think i will seriously concider java as a language to learn and get comfortable with.... blessing my brother.

  • @mohit4902
    @mohit4902 ปีที่แล้ว +1

    Java is the most important language and almost 80% of legacy code is build in Java. Java is never going out of demand

  • @maviyomathobela8837
    @maviyomathobela8837 ปีที่แล้ว

    Thank you for the reminder, Java is still BIG.

  • @ThoughtsInVideo
    @ThoughtsInVideo ปีที่แล้ว +1

    As a email from a mailing list once told me, Java is the Fight Club

  • @ntcc2821
    @ntcc2821 ปีที่แล้ว +1

    As someone who had been searching for graduate programs in big companies...l can tell you the most common language they all screem is JAVA

  • @lucaspiano
    @lucaspiano ปีที่แล้ว

    I work with Java since 2001. Got a Sun Certified Java Programmer in 2004 and still working with Java today. At those times in 2001 wee were coding in Servlets with out.println(" hello world!"); AHHAAH
    There was no JSP, no Struts, no Spring, no JSF HAHA.
    Today Java is a paradise compared to those seasons and the Java version was 1.3!
    I move to Kotlin recently as well and Im working with both of them together.

  • @mariofernandez238
    @mariofernandez238 ปีที่แล้ว

    This video is gold, it is very very important to pay close attention to what it says. Great video, you have one more subscriber!
    Sorry for my english hehe, i'm from Argentina and my native language is Spanish hehe. :)

  • @matstark776
    @matstark776 ปีที่แล้ว +1

    Great Video!. I almost agree with all of your points, but even now, where there are a lot of java jobs, I've seen a lot of them related to maintaining legacy code or migrating legacy code (which is great but time consuming). Maybe I'm wrong, but there are new alternative languages to build backend apps related to microservices, AWS, hexagonal architecture, and so on. Golang, Kotlin (which I know is primarily used in mobile apps, but I've seen it used in backend as well), and even C# are improving in terms of language features. With new Java versions, I hope this will change, but obviously Java is still a great language.

  • @ZimCoding
    @ZimCoding ปีที่แล้ว

    🎉🎉🎉 Java is not dying.. for instance although in android app development we do have Kotlin however Java still dominates as well.

  • @fcoGaz
    @fcoGaz ปีที่แล้ว

    Thanks for your Video... Forever Java.. Grettins From Mexico.. Amigo

  • @tuba_codes
    @tuba_codes ปีที่แล้ว

    Wooouuuwwww.... I got mesmerized.. amazing explanation. Thank you so much for this video. I always thought same as you but nobody use to take serious. Now I believe in me again that I was right.

  • @svetlintrapkov6970
    @svetlintrapkov6970 ปีที่แล้ว

    Thank you Nelson I have landed a job thanks to your videos , you content is awesome !!!

  • @drelinsmedia2262
    @drelinsmedia2262 ปีที่แล้ว +1

    Thank you so much this clip just opened my mind and turned my life around

  • @mohammedmustapha1320
    @mohammedmustapha1320 ปีที่แล้ว +1

    Good...that's why I am never gonna stop learning it

  • @Kasiux
    @Kasiux ปีที่แล้ว +1

    "Don't learn programming languages, learn concepts" that's what you made a video about

  • @gyphed111
    @gyphed111 ปีที่แล้ว +1

    The only problem to solve problems w java is that this language has a syntax that hinders more than it helps, this certainly makes life difficult for the programmer. Today I really appreciate some other languages, like Kotlin, because this language takes the best of Java concepts, for example, it decreases the code size, causing faster development of large Android projects. But it's really necessary to understand that Java is very important and necessary for some projects, besides being fundamental for understanding modern software development.

  • @ufookoro1
    @ufookoro1 ปีที่แล้ว +5

    Lovely video.
    I started my programming journey with high level languages and really love them.
    Totally love Java when I browse its syntaxes, but do not see myself learning it though.
    In my early years, I dabbled in Swift, Node JS.
    Now I am into Python and script extensively in PowerShell.
    I will not consider myself as a developer/ Programmer as I do this as a hobby, except for PowerShell which I work with.
    Love coding and will continue.
    Thanks 🙏

  • @techmentormaria
    @techmentormaria ปีที่แล้ว

    I manage a team in big tech and we desperately need Java Engineers on all fronts (especially on gaming + mobile).

    • @encapsulatio
      @encapsulatio ปีที่แล้ว

      Well the improvements that project Panama ,Amber and Loom have added to modern Java not only makes it competitive to so called *modern* languages but it actually surpasses them in some aspects.
      The biggest problem is that there is no complete beginner to programming courses that have a goal to bring you up to speed to modern safer Java that you would be using if using Java 19 and Java 20.

  • @DaiLeeKnoX
    @DaiLeeKnoX ปีที่แล้ว

    Aye I had to subscribe off this insight and passion i could really hear in the positivity ! I am really really greatful for your video so I am going to make a video and send it out

  • @StephanHaloftis
    @StephanHaloftis ปีที่แล้ว +1

    In my experience C# and Java are like twins. Sure, there are differences. But they're very, VERY similar.

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

      If you know one, you know most of the other

  • @michel_dutch
    @michel_dutch ปีที่แล้ว +1

    Java is paying my bills and I don't see that changing in the near future.

  • @AliSattarBarani
    @AliSattarBarani ปีที่แล้ว +5

    I started learning C# since a two weeks ago. As I know there is no big difference between them and you can do approximately anything by using both languages.

    • @elkhoukhi
      @elkhoukhi ปีที่แล้ว +1

      I just started my journey with C# as well, happy learning

    • @programmingwithnurulhuda
      @programmingwithnurulhuda ปีที่แล้ว

      @@elkhoukhi It's always good to learn something.

    • @neomangeo7822
      @neomangeo7822 ปีที่แล้ว

      I'd argue C# and .NET is actually a bit better than Java. The language has more complete and cohesive features and syntax, libs generally seem a bit higher quality, and it seems to have better tooling. I know many people or companies got with Java because they basically didn't want to deal with Microsoft licensing or be locked into their ecosystem. but now .NET is open source and cross platform too.
      Java does have the jobs going for it though, there seems to be more than C#, and also higher pay quite often. Also, it is a little bit of a different job market here and there (eg. Android development) so depends what you want to do. I started initially with C# partially because of learning Unity (game engine), but actually use it professionally for backend now.

    • @AliSattarBarani
      @AliSattarBarani ปีที่แล้ว

      @@neomangeo7822
      Do you have a course related to c# for backend. Any course you recommend it will be highly appreciated.

    • @neomangeo7822
      @neomangeo7822 ปีที่แล้ว

      @@AliSattarBarani I never did a course on C# actually. Just youtube videos and mostly used the official documentation. It might seem confusing at first but once you understand the documentation structure it is quite good I think. Quite a lot of tutorials and examples on there of how to use all their different technologies.

  • @ASVINVT
    @ASVINVT ปีที่แล้ว +1

    Really Really thanks for amigoscode for posting this video becuz recently i had doubt that java is dying becuz most people switch to python ,golang ,kotlin.This video gives me boosting to learn java becuz i am fan of java.And Once again java is back on track hurrah!.once a king always a king

  • @artefacto_raro
    @artefacto_raro ปีที่แล้ว +1

    Watching your video makes me understand much faster. By putting text and graphics you make us understand both visually and aurally, thank you =)

  • @shantohossain1372
    @shantohossain1372 ปีที่แล้ว

    i am learning java since july 2022, just one word I want to say "I just love JAVA"😍😍😍☕☕

  • @coyne20
    @coyne20 8 วันที่ผ่านมา

    I found that learning C++ prior to Java really helped.

  • @BarretoArthur
    @BarretoArthur ปีที่แล้ว

    There are almost 30 years of accumulated experience of a community and a set of tools around the java language used in problem solving. You can't despise that.

  • @无事-r6o
    @无事-r6o ปีที่แล้ว

    Depends on your goal and the market. But learning Java is something can help you to have a deep think.

  • @ChickenMacFrise
    @ChickenMacFrise ปีที่แล้ว +2

    MasAllah brother great summary!

  • @randomguy81185
    @randomguy81185 ปีที่แล้ว

    I am Java Developer I needed some discussion like this thanks guys...

  • @shk6296
    @shk6296 ปีที่แล้ว

    Completely right, after learning Java I moved to JavaScript which I find easy to understand

  • @StephanHaloftis
    @StephanHaloftis ปีที่แล้ว

    Okay cool, the way you opened the video just saved me 8 minutes. Thanks bro.

  • @balloney2175
    @balloney2175 ปีที่แล้ว

    I totally agree. Java was offered in universities/colleges offering the course on computer science.

  • @yekajay5961
    @yekajay5961 ปีที่แล้ว

    Anyone who says Java is dead or even close to dead doesn't know much about Enterprise Systems and Business Applications. Java is everywhere in businesses and companies, both small and large alike. Lots of new projects are built in Java. Java is battle-tested and highly effective and secure. There's virtually no Business Application that can't be built using Java. Most average people like to language-hop and jump on the next shiny object/tool but effective people/companies know how to leverage existing systems/tools to get the job done; Java is such an effective system/tool.
    Java is a very good language (for beginners and seasoned professionals) and has a bright future

  • @Gladtoseeyou-n3d
    @Gladtoseeyou-n3d ปีที่แล้ว +1

    Assalamu Alejkum brother. I recently started learning Java and your videos help me a lot. Keep doing your good deed. Thank you bro.

  • @Jumataev
    @Jumataev ปีที่แล้ว +1

    Hooray! new video!

  • @bigbooduh
    @bigbooduh ปีที่แล้ว +1

    I do lots of application security testing, the amount of projects iv worked with 9 out of 10 its been java. I decided to learn java since I depend on Burp Suite and need to write custom extensions.

  • @kondisrinivas325
    @kondisrinivas325 ปีที่แล้ว

    Superb explanation. Thank you so much for your information. I also learned core java first. Now I am working on javascript.
    Haven't stopped learning java. Please keep doing more sessions like this. 👌

  • @Rostik96
    @Rostik96 ปีที่แล้ว

    You definitely have a lot of charisma, dude!
    Respect😎👊

  • @businessparis9364
    @businessparis9364 ปีที่แล้ว +1

    Java is a great language with a mature ecosystem. Its not going anywhere. Have got a new job as a Java Developer just 2 months ago, the market is still looking for Java Devs. Learning Java is a wise choice for anyone who likes object oriented style code, strong typing and garbage collection/JVM. Im not saying Java is the best language, remember guys this is all just a tool for us to create these great digital worlds. There are plenty other great programming languages. Long term your goal should be to learn as many languages as you can.

  • @SingleWingAcademy
    @SingleWingAcademy ปีที่แล้ว

    Love your tutorials and enthusiasm. Thanks for the awesome content.

  • @JDMorris81
    @JDMorris81 ปีที่แล้ว

    Great video, I started with Kotlin which is derived from Java and plan to learn Java next.

  • @kelvinmichael9194
    @kelvinmichael9194 ปีที่แล้ว

    Thanks Buddy you have always been a great Facilitator to me.

  • @gosnooky
    @gosnooky ปีที่แล้ว

    I've worked with Java for years and years, but these days I've migrated to using Typescript for a few reasons, the first is barrier to entry for newer developers, Java has great features, the best standard library API of any language out there, but still at its core is very verbose. The second reason is the weight of the memory footprint for any sizable application - with thread pools and dependencies, the memory footprint of a single Spring application is astronomical. The third reason is the fact that the JVM is still using multi-threading and blocking I/O - this isn't something that Java/Oracle can solve within a 6-month release window. Adding async/await type structure would be a fundamental change to the entire environment that I don't ever see happening. Java does, however though it's conventions and standardization, imbue developers with good coding practices that apply to nearly any other language or environment. It should also be noted that Java package dependencies are solidly tested and seem much more professional than most NPM packages.
    I love the language, but as far as my current project workload stands, it's not and never will be the best choice.

    • @encapsulatio
      @encapsulatio ปีที่แล้ว

      You must not have done your research at really looking at all the modern java improvements. All of your cons are addressed.

  • @csabavadasz2239
    @csabavadasz2239 ปีที่แล้ว

    Hey Amigo :) thx for the videos!

  • @michaelnyabanga7956
    @michaelnyabanga7956 ปีที่แล้ว

    Thanks for the video I was really getting confused on whether I should start with java or another language

  • @EliBates95
    @EliBates95 ปีที่แล้ว +1

    I agree with you that java is a good foundation language, and that is why many schools are teaching it (hence why there are so many tutorial searches). For me personally I think JavaScript/Typescript offer a much more appealing journey that can open up many more doors.

    • @kazukiaj8565
      @kazukiaj8565 ปีที่แล้ว +3

      Why is it that you think JS/TS is better in your opinion??
      I'm a coding bootcamp graduate who can comfortably code with js/ts. Now that I am going through the job hunting process, there are so little back-end rolls that require only js/ts, hence why I started doubling down in Java. If you have a different experience, I'd love to hear about it! (I live in Japan, so the tech market might be a little different...)

    • @EliBates95
      @EliBates95 ปีที่แล้ว

      ​@@kazukiaj8565 It's not that I think it's better, you can make killer API's with both Java or Typescript.
      My opinion is that it has more marketability for an individual. Web applications dominate the industry and are primarily written with JS. The fact that you can use JS for frontend, backend, mobile apps, etc gives you a lot of value and the more value you can bring to a team the better. But if your goal is to be a backend developer only, I think Java is a very respectable & valid path.
      Personally, in my situation we don't have a big team so we can develop applications rapidly sharing typescript types & logic between front & backend services... so we get a huge efficiency boost from it.

    • @programmingwithnurulhuda
      @programmingwithnurulhuda ปีที่แล้ว

      @@kazukiaj8565 It's always good to learn something.

    • @NathanHedglin
      @NathanHedglin ปีที่แล้ว

      ​@@kazukiaj8565 yeah Java or C# for the backend is the way to go to get a job. Go / JavaScript are really only used by startups.

    • @mistertexaz
      @mistertexaz ปีที่แล้ว

      @@programmingwithnurulhuda no it’s not

  • @mdanas.7539
    @mdanas.7539 ปีที่แล้ว +1

    Walekum assalam akhi,
    Appericiated your work

  • @Cooked1
    @Cooked1 ปีที่แล้ว

    If you want a job right out of college, JAVA is an absolute must...

  • @rukiye6884
    @rukiye6884 ปีที่แล้ว

    Companies are still looking for Java Developers so it is enough for me to continue with Java.

  • @semilife
    @semilife ปีที่แล้ว

    Thanks for your comments. Not quite sure why there is this debate, C/C++ have been around far longer and they are still in wide spread use. Java is a very good general purpose language, suitable for all manner of apps.