What computer language should i learn after java?
Posted by Ok_Theory_1212@reddit | learnprogramming | View on Reddit | 15 comments
I know java basics and i am looking for something useful to learn. Please recommend a programming language which will allow me to understand computer architecture better and will prove to be useful in the future.
_Happy_Camper@reddit
python and go.
Maybe rust too if you want to stretch to that.
What’s more important to know are cloud-related frameworks like kubernetes and terraform, as well as networking and security concepts
Made-In-Slovakia@reddit
Kubernetes is not a framework. And TBH anybody should learn containerization (a.k.a. Docker) first before he touch k8s. But I agree that he should learn stuff around network, OS and security before just hoping to another language.
MissinqLink@reddit
Whatever tickles your fancy
Made-In-Slovakia@reddit
Your question has more complicated answer that most of comments provide.
C and potentially also C++ will teach you a lot of about how computers work. For example memory management is free in Java but in C you have to be more careful and understand it well otherwise you are in big troubles. C/C++ are still very popular languages for development and used for almost every desktop app in some degree. If it is useful for future... For employment, if you learn it well it may be useful but that can be Java, JavaScript or C# too. And TBH a lot of stuff you learn in C you learn with other languages too and if you do not plan to use C daily or in work I would skip it and learn deeper your programming language. With Java/C#/etc you still can learn a lot.
You can also learn assembly and that will you teach a lot around how computers work. But usefulness of assembly in daily work is very very limited unless you want to focus your career on path where it is required.
My recommendation is learn C if you want to learn more about computers but do not expect to use it unless you want to develop desktop apps or maybe games in some specific engines. If you want to learn more about development itself you can learn JavaScript and some framework (Angular, React, etc) for frontend development. You can also learn Python for scripting or GO for creating very nice cli based apps. It is up to you what direction you want to take on your path.
kantank-r-us@reddit
Java is C#’s parent language, arguably more modern and capable. Check it out.
Witty-Afternoon-2427@reddit
C or C++ is the natural next step if you want to actually understand memory, pointers and how things work under the hood
Backtawen@reddit
if you want to understand how computers actually work, C is the answer. pointers, memory management, no hand holding. painful but nothing teaches you more
if you want something practical and marketable, C# is basically java but cleaner. switch is pretty fast if you already know java
itsmunzir@reddit
i went from java to c and it finally clicked why objects live on the heap vs the stack - but only after i wrote a garbage collector toy project that kept segfaulting. you mentioned wanting to understand computer architecture better, so my honest take is learn c next but don't just read about pointers, build a tiny memory allocator. java taught you object thinking, c will teach you what the machine is actually doing underneath.
augustcero@reddit
may sound backward but C
plastikmissile@reddit
C. It's only a step above Assembly, and is very close to the metal.
trauma_doc@reddit
none ,programming is dead
ShoulderPast2433@reddit
Java is for backend, you could learn JS for frontend.
Conscious_Bank9484@reddit
Java might be as complicated as it gets. I think you pretty much just need the syntax of the others. Not much more to learn.
SourceScope@reddit
C.
No doubt.
aw3sem@reddit
Understanding computers: C
Useful in the future: Java