[–] MrPim 0 points 5 points (+5|-0) ago 

you should learn to farm and shoot, weld, small engine repair, dig graves, fish, tie knots, IED, make your own killdozer...

[–] SithEmpire 1 point 2 points (+3|-1) ago 

Python: No - it is painful, infuriating, and cannot multi-thread. Popular libraries for it such as NumPy will contain pre-threaded code compiled from something else such as C, but otherwise the Python interpreter itself is single-thread (I was amazed when I found that out, and due to that I actually had to tell one of my team to abort a small data-processing project and start porting it over to Java (I don't buy the "use multiple processes" excuse because shared memory in Python is also a failure)).

JavaScript: Not for primary use unless the browser is your primary platform, otherwise it can be good to know a little for browser-related tinkery. If you do get deep into it, be prepared to deal with a barrage of arbitrary libraries which go in and out of fashion every few months (if at all possible, try not to use more than JQuery).

C: Not for primary use, though I find it very nice on Linux for treating as a scripting language which runs very efficiently with no runtime overhead. Lacks various modern conveniences such as classes and some flow control (good old goto still has a place here), and you'll need to allocate memory for structs and such yourself, but the pointer system is lovely and I wish modern languages would have it.

C++: Decent, though comes with a lot of clunk. Otherwise, it's C with modern conveniences.

Java: Decent and less clunky than C++ in terms of source code (for programs bigger than Hello World at least), though sacrifices some capability for portability (does have a native code interface though, actually works better than expected). Remains top for global usage commercially and has had some interesting language innovations recently. Remember to stay with OpenJDK specifically; avoid Oracle's non-free version.

Another language: If you're looking for something useful on the side I would say Bash, and generally learn about what you can accomplish with standard Linux utilities from a Bash terminal. Bash is technically just a command interpreter as opposed to a language, however it has been designed quite cleverly such that its "keywords" are actually implemented as built-in commands, a notion which is key to a good understanding of its quirks.

[–] AnotherRetard [S] 0 points 1 point (+1|-0) ago 

Ok thanks man i think what i will do is learn java, then Bash. I might learn Javascript sometime but C++ is pretty high on my list. much appreciated.

[–] shitface9000 0 points 2 points (+2|-0) ago 

Javascript is cross platform in the true sense of the word. It runs on the server (node.js) in mobile (react native) and of course the browser. It's the most widely deployed language on the planet.

It is however a shitty language, which is why people use TypeScript. I would suggest learn the shit out of one language, then pick up others. I would suggest JS, then move to TS. Use it on the server\

and browser environments. Mobile is too advanced for beginners.

Java is versatile as well, and you'll find jobs using it. Easy to learn as well.

C/C++ are lower level and more specialized languages. They are more complicated languages, and not recommended IMO unless you want low-level or specific needs requiring it. I would learn these after y\

ou master JS/TS or Java first.

[–] hedidnothingwrong 0 points 1 point (+1|-0) ago 

C/C++ will teach you how to code and how your machine works. It's harder but more rewarding in the end. IF he can learn it, then he should.

[–] shitface9000 0 points 1 point (+1|-0) ago 

I think all programmers should use it at some point.

[–] doormane 0 points 2 points (+2|-0) ago 

Java if you want a job, c++ if you want to build stuff for yourself, and JavaScript if you want to slam you head into a wall.

[–] hedidnothingwrong 0 points 2 points (+2|-0) ago 

Java if you want to throw up while looking terrible and convoluted code made by incompetent coworkers.

C++ and CUDA If you actually want to learn how to code, how your hardware works, and how to make beautifull and optimised code.

Java teaches you nothing, every java code I've seen is overcomplicated and has terrible performance.

I saw a C++ code made by a java programmer, here are the performances : 45mins to make some basic computations, 30GB of memory used. Completely rewritten the code, now it takes a couple seconds and uses less than 1GB of memory... Still haven't used the GPU.

It's better to learn how to code using C++ than doing java and being clueless all your life. Also java jobs are boring as fuck, oh here can you design that interface? What do you prefer doing a boring app on a windows machine or making embedded softwares for a drone?

[–] Octocopter 0 points 2 points (+2|-0) ago  (edited ago)

Java is NOT javascript, Java is an amazing learning language and I actually encourage parents to use it to teach. It is also strong on its own and has over a decade now of relevant materials/media and shared work.

Stick with Java until you feel you need to move on or branch out, your skills with Java will easily carry over to C++ or C# when you are ready. Pick up a scripting language along the way.

[–] hedidnothingwrong 0 points 2 points (+2|-0) ago 

Don't know about C# however I can say one thing, if you learned coding with Java please never do any C++.

Thank you,

sincerely a C++ developper who doesn't want to see terrible code made by programmers who have no clue how to use pointers, references, and who will leak every possible allocated memory

[–] Octocopter 0 points 1 point (+1|-0) ago 

You have a point but people who can't learn C++ probably should not be coding in the first place.

[–] AnotherRetard [S] 0 points 1 point (+1|-0) ago 

Ok thanks man i think this is what i will do

[–] shitface9000 0 points 2 points (+2|-0) ago 

I would also look at Kotlin, as it can run in Java environments, and it considered a better language by the cool kids.

[–] GM2829 0 points 1 point (+1|-0) ago 

Learn something that is not dominated by the H1B indians. Stay away from Java. Consider Objective-C and MacOS, and iPhone development. Indians (Pajeets) can't go into that (as much) because they can't afford that stuff. Unless you are a Pajeet, which in that case you can get lost.

[–] AnotherRetard [S] 0 points 1 point (+1|-0) ago 

I already started learning C++ and just made a calculator! So cool what 30 minutes of learning can do.

[–] Alt_Account_No_738 0 points 1 point (+1|-0) ago  (edited ago)

Depends on what your are wanting to do.

JavaScript will only really be handy if you are willing to be tied to a browser.

Java will give portability*

C/C++ will give you speed*

*Among other pros and cons.