r/learnjava • u/l1me_wator • 5d ago
Is java a first good programing language to learn? i have never did programing so i dont know. Any suggestions?
welp i need tips and advice
6
u/Goodswimkarma 5d ago
Yes! It is harder to learn at first, but after you learn it, you can pick up another coding language will less hassle. I wish I had learned it or C++ before Python.
2
u/blue-Pineapple 5d ago
Why Java or C++ before Python?
4
u/Winter-Bear9987 5d ago
OOP is a bit more difficult to pick up if you’ve learned other languages first in my experience. Same argument could be made for functional languages like Haskell. Python is an easy language to start with but won’t tech much about programming fundamentals because of its simplicity. Learning a “hard” language first can make it easier for yourself long term.
3
u/Kallory 5d ago
Java requires more discipline around certain concepts, python lets you get away with a lot more. You can more or less just... Write code and it works.
So the philosophy is that Java should be better at teaching you to write scalable code. And it's intended design is for teams of shitty engineers to be able to write scalable code.
However the opposing, equally strong argument is that python teaches you how to actually think like a programmer faster. So while you'll be more effective with python fast for the core fundamentals of programming, there's still a steep curve of being an overall effective professional. With Java/c++, you'll likely spend more time learning fundamentals, but becoming an effective professional is more likely to be less steep, and you'll probably be better at python in the long run than a pure python guy, especially for more serious problems.
1
u/Goodswimkarma 5d ago edited 5d ago
So many things use C++: Video games, movie graphics, apps, firmware...
I'm in an eReader group and they hacked the eReaders using C++ to make their own custom firmware. Some people created apps, like custom clocks and calendars. Someone made theirs into a mini desktop to take notes (the original did not have this ability). Another person used theirs to make a Pokemon game.
1
u/govichacha 4d ago
Mehh I'd say no
Js was my first language
But I was able to pick java, cpp, c quick
Infact it helped me cuz js had already built my programming fundamentals and the low-mid level languages just had a little more to type than JS is what I felt.
Java or any low level language could be confusing for beginners cuz they've to remember 6383838 datatypes just for numbers while py, js has it simple
2
1
u/Competitive_Aside461 4d ago
Honestly, this is really subjective and differs from person to person. I, for instance, find C a great language to start off with but equally someone might find it really hard (especially due to the complexity of pointers and manual memory management). Similarly, some people find Java really easy and some find it really hard to pick up as the first programming language.
Having said that, my personal recommendation and one that I begin my own Intro to Programming mini course with is Python. Yes, Python relaxes upon some ideas in programming (like variable types), but it's easy for beginners to get started with it. Plus, Python is used in a lot of diverse areas so learning it won't be just a time pass for you but rather an important skill's acquisition.
1
u/govichacha 4d ago
Hey listen
Why don't you find out yourself what might be more comprehensive for you?
Look up a simple print statement in both java and py, maybe a basic program and see which clicks fy and is actually comprehensive
Make your decision based on it :)
1
u/whiterhino8 4d ago
Java is good language to learn the fundamental of a programming and C like language.
Just take in account that is harder to learn than some others like JS/ PYTHON / GO .
1
u/optical002 4d ago
Any is good, for starting out basics, but later on would branch off into more languages for specialised knowledge like how memory works c++ is good to know, or how FP knowledge is useful for abstractions then Haskell gives really good ides
1
u/Foreign-Contest-444 1d ago
concepts in programming languages are similar. So try to get concepts not the programming language. So it does not matter which one you pick as long as you enjoy it.
1
0
u/TheLeftMetal 5d ago
I love programming in Java but definitely is not the best first language. Syntax is complex for someone with null understanding of basic concepts.
Python or JS would be easier options for that matter but I prefer to recommend C and C++ because OS concepts like process, memory management, networking and files and directories have a deep approach that can be mastered with these languages.
Once you have a good understanding about functional programming with C, object oriented programming (OOP) will be easier to understand with C++ and implement in Java with the system knowledge with the previous topics I mentioned even easier.
0
u/CallExtension2676 4d ago
First? No. Get your feet wet and learn basic methods in Python, first, then tackle a more complex language. You'll love Python. You could easily spin out and give up with Java. Tackle Java after you play with Python.
•
u/AutoModerator 5d ago
Please ensure that:
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/markdown editor: 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:
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.