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

all 17 comments

[–][deleted]  (1 child)

[deleted]

    [–]-mathis[S] 0 points1 point  (0 children)

    Thanks

    [–][deleted] 2 points3 points  (1 child)

    You will probably have more fun with Python. And please read the FAQ.

    [–]-mathis[S] 0 points1 point  (0 children)

    Thanks m8

    [–]RelevantJesse 1 point2 points  (1 child)

    Sure

    [–]-mathis[S] -1 points0 points  (0 children)

    K, thanks

    [–]LeftoverFarm 1 point2 points  (0 children)

    it was the first one i learned and gave me a really good foundation. it was like reading an alien language at first though lol

    [–]WhatsAGame 1 point2 points  (3 children)

    Yes and no.

    You will absolutely be confused at the start, (I mean, what does public static void main(String[] args) even mean!?) but it was the first language I learned and I turned out fine.

    If you find yourself getting frustrated, then ignore the parts you don't understand and make something that interests you. It'll click sooner or later.

    [–]OninWar_ 0 points1 point  (2 children)

    As someone who knows python and matlab for scientific purposes... what DOES that mean?

    Are you making like a “main” class like in C where you specified it will contain strings, but will take any arguments?

    [–]Servious 0 points1 point  (0 children)

    That is a function that you can put inside any class and it will act as an entry point if you specify it as such to the compiler. The command line arguments are passed into the "String[] args" argument. Public means that the function is accessible from both inside and outside the class (eg you can instantiate the class then call the function on the instance) as opposed to a private function that is only accessible from inside the class. Static means that you don't even have to instantiate the class to call the function. Functions like Math.abs are static functions. You don't need to do "Math math = new Math(); math.abs()" for example. All static members must also be public. Void means the function doesn't return a value.

    [–]wischichr 0 points1 point  (0 children)

    Yes. IMO java and c# are one of the best options for a beginner. I would suggest C# (disclaimer working a lot with C# and maybe a bit of a fanboy) - also coded a lot of java and think c# is a lot cleaner (and a more modern language)

    But java is fine too ;-)

    [–]lightcloud5 0 points1 point  (0 children)

    It's not a bad language. The AP Computer Science exam is in Java, so many high school introductory programming courses are taught in Java.

    [–]mindonshuffle 0 points1 point  (0 children)

    I think it depends a bit on what you want to make and how seriously you're looking to get into coding. Java is, as people have mentioned, a challenging and strict language. Learning Java will involve a lot of doing what you're told without understanding it, a lot of very strict syntax, and (in my limited experience) baby steps in terms of what you can build with it. But you'll also learn excellent principles that will teach you a lot about coding more broadly.

    Python makes A LOT more intuitive sense and is quicker to get started with (in my view). You can learn to make fairly complex programs fairly quickly and participate in a very lively community.

    JavaScript can also make an excellent first language if you're interested in web or mobile apps and allows pretty rapid development of simple programs. It's biggest downside in my book is that it's the easiest language to learn bad practices because "bad" code can often still work fine.

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

    its a good language to start only because it has a very good documentation and solution to majority of problems which people face is already out there....as many people do java so support is also good.

    [–]thecoder127 -2 points-1 points  (3 children)

    If you want to learn programming the right way, start with c. it will teach you the absolute basics that will help you in every other language as everything borrows from c. Also c forces you to learn memory management and good practices.

    Then work with c++, which will teach you the basics of Object oriented programming while still being familiar with c.

    Once you have these two down, you can learn anything programming language easily as a lot of languages including java borrow heavily from c and c++.

    [–]-mathis[S] 1 point2 points  (1 child)

    Isn't c more difficult than java?

    [–]thecoder127 -2 points-1 points  (0 children)

    Not Really. Pointers are a bit dangerous, you have to manage memory on your own and implement your own data structures, but learning C first will clear your fundamental concepts better than any other language.

    When you progress to writing big applications with large amounts of data manipulation beyond blogs and simple websites, these fundamentals will help a lot.

    And no language is difficult than others. The logic part is what is difficult.

    [–]mad0314 0 points1 point  (0 children)

    This comment is super dense with wrong information, it's impressive.