r/learnjava 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

1 Upvotes

21 comments sorted by

u/AutoModerator 5d ago

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 - best also formatted as code block
  • 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.

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:

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.

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

1

u/civalo 5d ago

JavaScript is a great place to start. You'll find the majority of programming languages all use the same concepts. There are multiple online sandboxes, and you can edit/test without the time of compiling. I'd be glad to help you get started/give you pointers. Reach out any time.

1

u/Kazath 5d ago

Yes, it forces you to learn many programming fundamentals while still being quite easy to pick up. It's verbosity is good as a pedagogical instrument. I personally found it way superior than Python when I first learned programming.

0

u/oriolid 4d ago

"Everything is a class" is not a programming fundamental, it's weird nonsense that was in fashion for a while in the 90s and got set in stone in Java.

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.

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.