Should you still LEARN Java in 2023

Поделиться
HTML-код
  • Опубликовано: 6 фев 2023
  • 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/courses
    💯 Join Private Facebook Group and Discord - amigoscode.com/p/join-community
    NEW COURSE COMING SOON
    Join Waiting List Now - waiting-list.amigoscode.com
    🙊 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/p/join-community
    💯 Follow me on Instagram | bit.ly/2TSkA9w
    ❤️ Thanks for watching
  • НаукаНаука

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

  • @amigoscode
    @amigoscode  Год назад +41

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

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

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

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

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

      @@future_teknokrat7585 Uhhhh thats C buddy 🤓☝

  • @codinghoca
    @codinghoca Год назад +72

    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.

  • @Slavigrad
    @Slavigrad Год назад +136

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

  • @selahadinjemal7138
    @selahadinjemal7138 Год назад +31

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

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

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

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

  • @semicharmedkindofguy3088
    @semicharmedkindofguy3088 Год назад +41

    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.

  • @Jelvix
    @Jelvix Год назад +16

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

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

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

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

  • @samirzafar
    @samirzafar Год назад +20

    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.

  • @techwithattila
    @techwithattila Год назад +318

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

      “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

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

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

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

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

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

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

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

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

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

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

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

  • @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". :)

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

    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.

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

  • @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,.
    بارك الله فيك وفي علمك

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

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

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

    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.

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

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

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

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

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

    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.

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

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

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

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

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

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

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

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

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

    Good question and thought! thank u!

  • @lwa.dev74
    @lwa.dev74 4 месяца назад

    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.

  • @Bouryal.Y
    @Bouryal.Y Год назад

    I think the best programming language to start with if you want to remove the fear of languages is C/C++ with manual memory management and no gc you need to do all by yourself than switch to java where you do all the things by yourself except for the memory management and after pick any language you want, it will be super easy
    You can take look at assembly to know how the cpu execute your code, just to have the bigger picture

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

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

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

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

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

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

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

    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.

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

    thank you, this makes me excited.
    salam from Jakarta

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

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

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

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

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

    Hey Amigo :) thx for the videos!

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

    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.

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

    Great video, I agree Java is still a great language to learn. It has a lot of capability in a various Tech areas.

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

    Thank you! Wisdom :)

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

    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

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

    thanks for the video!

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

  • @mdanas.7539
    @mdanas.7539 Год назад +1

    Walekum assalam akhi,
    Appericiated your work

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

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

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

    MasAllah brother great summary!

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

  • @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. :)

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

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

  • @nitishhaldar2567
    @nitishhaldar2567 3 месяца назад +1

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

  • @arifarif-br2xi
    @arifarif-br2xi Год назад

    Jazakallahu Khair, Akhi

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

    Thanks for your content 👍🏻

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

    Thank you, I agree...

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

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

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

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

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

    Thank you for this. I liked the video

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

    Hooray! new video!

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

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

    This is encouraging to hear ☺

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

  • @supa.scoopa
    @supa.scoopa Год назад

    Kudos on the video!

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

    Language is a tool , we should always see it as choice to solve the kind of the problem. Good Video

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

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

    Agreed! Java is still mesmerizing!

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

    Brother i watched your git-github video i really thanks to you to make this awesome and some way of teaching✌️.but rebase is a little bit confusing part✅

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

    Whyyyyy... anyways very nice video explaining details. I am still learning and sometimes i feel like i learned nothing.. Good thing i found your video that encourages me to push through. Thank you!

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

    Jazakallah fantastic advice.
    Could not agree more with you. A language is just a tool.
    If I may add. I would always recommend a developer to specialise first in one language. Become a master in it, but also keep yourself open and adaptable to other language where required.

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

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

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

    I hundred percent agree with you ❤

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

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

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

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

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

    Considering the points you raised you should have recommended C++ which is a much more powerful and elegant language
    and one which Java is tracking along the way
    C++ actually showed the OO way to a bunch of languages (including Java), plus that C++ has no garbage collector which required the programmer be much more professional that one that uses languages where a garbage collector keeps your back

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

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

    Could you do a video on Completable Future!?
    One of the reason my node developer friends always give me is that node allows to write non blocking code. I tell them you can do with modern Java too.

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

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

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

    Thank you sir ,I am new to programming I want to learning

  • @AsilbekSuyunov-bc8hw
    @AsilbekSuyunov-bc8hw Год назад

    Very good video.Most people says that PHP is over.But PHP still in demand and there are various vacancies for all level programmers in PHP.

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

      PHP is ok if you already learn it but i wouldnt recommend a beginner to start with PHP. Rather Typescript/JS since that is destined to stick around.

  • @user-rb5ql5sy7v
    @user-rb5ql5sy7v Год назад +1

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

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

    @Amigoscode, you mentioned that learning Java after learning other languages are quite difficult. I know Javascript/Typescript/React and NodeJS. I am getting more interested in Java because where are job opportunities with it in my region. What are the main challenges to learn Java after technologies I mentioned? T.Y. in advance :)

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

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

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

    Really a good one Nelson.
    Just a question: can you do a course with Quarkus framework or atleast share the resources or path I need to follow in order to learn Quarkus. I know it'll be a bit easy to learn when we learn spring framework. But however I follow spring framework tutorials, I could not grasp Quarkus, as there are not much resources on Quarkus.

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

    Ualeikum as salam, brother and thank you for your contribution 😁

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

    thats good point dude

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

    Thank you for the video/

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

    Verbosity apart, i think the biggest challenge for people coming to java is how trash the naming can sound (i'm talking to you java beans) sometime it can get quite confusing, and let's not forget OOP. I think they should really consider adding functions support to java. it would make things a lot more easier for new comers and make java applications a lot more interesting to design because you can choose between OOP or functional or combine both (which we do in kotlin for example), I'm a go developer and i would say coming from java to go is not hard but it won't be easy too. GO is simple for sure, but it' s programming style is different than most languages you would see out there and it's quite low level (not as much as C or C++ but it is)

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

    Fair assessment.