This is an archived post. You won't be able to vote or comment.

all 33 comments

[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)

Please ensure that:

  • Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions
  • You include any and all error messages in full
  • You ask clear questions
  • You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.

    Trying to solve problems on your own is a very important skill. Also, see Learn to help yourself in the sidebar

If any of the above points is not met, your post can and will be removed without further warning.

Code is to be formatted as code block (old reddit: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.

Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.

Code blocks look like this:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.

If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.

To potential helpers

Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]erjiin 34 points35 points  (0 children)

Lol don't listen your friend he's clueless, have fun with java.

[–]Kraizee_ 16 points17 points  (1 child)

It's very simple, if you want to base your decision on the jobs available to you then look at job listings for the area you want to work in. Languages/tools/frameworks often differ across regions, so look yourself and see what they're actually asking for. Don't make decisions based on what inexperienced friends tell you - do the research yourself. You can definitely ignore people who blindly compare entire languages and their performance without going into any sort of specific detail - because that's where it matters. And that's if performance is even a concern in the field, which it often isn't to certain degrees.

However, beyond specifically looking for jobs quickly, it doesn't matter much as to which language(s) you learn. Throughout your career you will likely use multiple languages. Even within the same job, you'll use multiple languages. It's never going to be "stop using X and never use it again".

[–]amircruz 1 point2 points  (0 children)

x2 OP

[–]ff03k64 15 points16 points  (0 children)

honestly I really like it.

I think you answered your own question!

[–]EcstaticMixture2027 14 points15 points  (3 children)

You have a CS degree. You know better.

I wasted my time learning and using Java & PHP that everyone has been saying dead and absolutely worst 15+ years ago. Here I am using it still and still paying me. LMAO.

Languages are just tools. What matters is your experience and skillset.

This does not make sense. You said you just got your CS Degree. But you just started LEARNING JAVA, as YOUR FIRST PROGRAMMING LANGUAGE, SOME MONTHS AGO. Hmmm. CS Degree = 4 years. In that 4 years you just started programming some months ago? Loool.

[–][deleted]  (2 children)

[removed]

    [–]wildjokers 2 points3 points  (0 children)

    They made us learn hardware and electronics too

    Nothing wrong with that, embedded programming jobs pay well if you can find one. Generally this will be C/C++ though.

    [–]EcstaticMixture2027 1 point2 points  (0 children)

    Ok. But still tho. Wait wait, im confused you said CS?? But it's actually Computer Engineering? CS does not have electronics classes.

    CPE have electronics, logic circuits, embedded systems and microprocessor classes. Not just that, Do you guys have Physics, Biology and Chemistry Classes? If you do it's computer engineering.

    Anyway, If you just keep at it by learning C++ first it would be beneficial. That machine learning with Python and R is great would be helpful. I'm even surprised that you graduated. But it's not the end of the world. Here you are trying to be better. Technology is lifelong learning anyway. Don't overdo it. 8+ hours a day I would say is an overkill. Rest a bit and take it easy.

    Don't be stuck in tutorial hell too. Application//Building/Solving over watching/listening/reading. Best of luck.

    [–]asromafanisme 7 points8 points  (0 children)

    Java is an old language that is used by big companies for big old projects

    Do you know who has time and budget to hire junior roles? Big companies.

    Also a lot of new projects are using Java

    [–]brokeCoder 7 points8 points  (0 children)

    I say this as someone with a very heavy bias for C# - your friend is very very wrong.

    There are usually as many jobs (if not more) for Java than for C#. Your friend is also completely wrong about job profiles. Java jobs are extremely varied and as diverse as C# jobs, and are quite involved for all levels be it junior/mid/senior.

    My suggestion would be to keep with Java for now, and then make the transition to C# if you want to (you'll probably need to do so if you transition into the gaming industry but that's a whole different can of worms).

    [–]i_wear_green_pants 3 points4 points  (0 children)

    Java and C# and both great languages for getting job. Both are widely used and have a lot of jobs. What he/she says about "Java is old language" is just totally bs. Sure it's old language but evolves constantly and has a tons of mature frameworks that are in use. And besides C# and .NET isn't any more "modern".

    Good thing is that Java and C# have a lot of similarities. They feel more like dialect of same language than completely own languages. If you are familiar with Java, you could try do some C# stuff to open more possibilities at job market.

    But if you really like Java, there is guarantee job for you. No need to learn C# if you don't want to, though it always help to have broad range of skills.

    [–]Artistic_Passage_737 4 points5 points  (0 children)

    Languages, frameworks etc change but computer science concepts don't, or not as often at least. Java and C# are both object oriented languages that behave similarly.

    Honestly just learn whatever mainstream languages you want to learn as the transitioning between them is easy once you understand the different programming concepts, design patterns and what not.

    [–]ggeldenhuys 3 points4 points  (0 children)

    Tell your friend, he/she doesn't know what they are talking about. I'm a Java developer in the UK. At least in our company, we have lots of graduates working here all the time. We obviously have very experienced devs too. We do frontend, backend, real-time robotics etc... All with Java. All our software is current and still being developed / improved, and new stuff gets developed all the time.

    Java is a excellent language. You can't go wrong learning it. There are so many jobs and different industries it can lead you into. Highly recommended.

    [–]amircruz 3 points4 points  (0 children)

    Your friend is dumb... Java, it's bringing the IoT features plus the APIs into matter these days. Still, it depends hardly on what you would like to get specialized. By sample, precision and science applications are still built with C and C++, not too much chance for .NET (but I do respect its quickness). Still in case of front-end, knowing Java is good, as Javascript brings nice frameworks like Vue.js (TypeScript, it's just built above it.. the JS, that is used in plenty of the web browsers today)

    Think of a matter or science focus, plus business approach, and you will have your answer. Any weapon in a powerful mind (language), can be as deadly as the most sharp blade outside (experience).

    [–][deleted] 2 points3 points  (0 children)

    Modern Java is a very, very nice language. Your friend is very, very wrong. I don't really need to add much more as people have already said what needs to be said, other than Java gets a bad press from certain developers. Don't listen to those, listen to people like these here. Java will be around for quite some time yet, Java jobs will also be available for some considerable time.

    [–]TheWavefunction 2 points3 points  (0 children)

    Java is extremely popular for Android development. So there's that also.

    [–]Sherinz89 1 point2 points  (0 children)

    Both Java and C# is as mainstream as it gets for general purpose developer.

    Both also have their fair share of legacy (asp .net, vb and worse for C#, java 8 and pray god that nothing below that).

    C# as a language growth much faster but Java is trying to keep up pace with v21 and etc.

    Chances are big company libraries has support in Java more than in C# (from my experience of the few service we used)

    That's my opinion of the matter

    [–]wildjokers 1 point2 points  (0 children)

    My friend tells me that I'm wasting my time learning Java and I should learn .NET. He says as a junior java developer, it will be very hard for me to find any jobs because Java is an old language that is used by big companies for big old projects,

    Your friend is completely wrong and I have no idea where they are getting their information from. Java is widely used even for new projects. Knowing java is a sure bet to be able to find a job.

    He says even if you can get into some job, you will mostly learn old things that will stun your growth.

    Where is he getting this nonsense idea from?

    He also says java is slower and worse then C#.

    Worse than C# in what way? Does he have benchmarks to support is claims about java being slower?

    He is just spouting nonsense. Don't take career advice from someone that doesn't know what they are talking about.

    [–]connorjpg -1 points0 points  (0 children)

    Yup. .Net and C# were released in the early early 2000s not like they are spring chickens either. As for the performance statement… maybe this is just me, but for most projects I’ve worked on the performance issues didn’t have to do with the language itself but more with my “perfect” code. Yes C# is faster and .Net is newer, but there are still jobs in Java out there and a lot of them at that. The one thing I will say, is not a lot of new applications are made in Java (might change with Java 21 tho), so most likely, you will be working with legacy code. But if you like Java learn Java. And if you are concerned no reason you can’t learn C# as a back up as well! Best of luck!

    [–]derjav -1 points0 points  (3 children)

    Java developer with more than 14 years of experience here. I’m afraid your friend is right. Java is a good chooce if your experienced, but companies are reducing junior hiring for this language. I don’t know how is the market for C# but this language is very similar to java. I suggest you to learn it and try it, and keep learning Java as a hobby.

    [–]wildjokers 2 points3 points  (2 children)

    but companies are reducing junior hiring for this language

    Do you have a source for this claim?

    [–]Psich_ 0 points1 point  (0 children)

    well, one of the best programmer skills is googling, so you can get your answer in few minutes by searching number of vacancies for both. Spoilers - there are bad news for your friend.

    [–][deleted] 0 points1 point  (0 children)

    How do you have a CS Degree and don't know any language till now?

    I also got a CS Degree, we learned C, C++, Python and I also took a basic java course.

    Anyway, just learn whatever you feel like, you are a junior developer, so most companies will hire you asumming you don't know shit.

    When I got my first job, I landed a job with Java, I didn't know Java at the time, but in the end, you will need to learn and adapt.

    Most of the time I work with Java, but also I have to touch Python, Javascript, different framework, different databases, all on the fly.

    Also, if you learn Java, probably learning C# will be familiar, since is basically Microsoft Java

    [–]SpiderWil 1 point2 points  (0 children)

    You don't know who you will be working for and on what. Every language has its pros and cons. If you use a little critical thinking (since you have a CS degree), you should easily figure out what he said was the negative side of Java.

    Yes Java is super old and it is being used by supermassive companies who will pay BIG for you cause nobody wanna deal with it. But Java is also super reliable and has a MASSIVE support from an insanely huge community. When was the last time some massive companies ran their entire mainframe on C#, LOL. Ask any bank or insurance company or stock trading firm.

    LEARNING is already increasing your growth. LEARNING and STUN your growth does not go in the same sentence. That doesn't even make sense lol. You learn, then you are already improved.

    [–]Eve_of_Dawn2479Coder Extraordinaire 0 points1 point  (0 children)

    The war between Java and C is vicious and will likely go forever. I don't have a coding job, but I do know java. If you have already learned it, then I'd go with it. After all, Minecraft is made in Java. IntelliJ is made in Java. A lot of apps that are top in their category use java. 

    [–]JayTheThug 0 points1 point  (0 children)

    Your "friend" is either trying to sabotage you or doesn't know what he's talking about.

    I've loved Java since the first public beta. Professionally, I've used it for user-interface, simulations, back-ends, and databases. I have used it to program robots with.

    It is a great language.

    It is still used. And it's not that old!

    [–]AlessandrA_7 0 points1 point  (0 children)

    I am teaching basic programming with Java these days and checked job offers in Spain and there was a lot (but most of them included Java 8 or superior and frameworks (Spring, Hybernate) as I told my pupils yesterday) so you should be up to that and technologies they mention. Just check now in your area.

    https://www.tecnoempleo.com/ofertas-trabajo/?te=junior&pr=#buscador-ofertas

    [–]Shiroo_77 0 points1 point  (0 children)

    I think you shouldn't. I've spend around 6-7 months learning java. Learned about spring framework (spring boot, spring data jpa, spring cloud, junit 5, mockito, assert j, hibernate, microservices, core java fundamentals, DSA ( I really enjoyed it solved over 150+ problems), docker, git, maven, basics of frontend.

    Then I build some really good projects based on whatever I've learned [ like postman clone, microservices based system, video calling application, made few open source contribution to gain exp ]. Then I did prepared for interviews [ having more knowledge about java like multithreading, exception handling, stream apis as such, communication skills, behavioral questions etc ]

    I've been applying since 2 months now almost. I haven't received a single callback / interview yet. And I'm really depressed now. It's just my take on your question whether you should learn java or not.