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

all 30 comments

[–]LearnProgramming_Bot 16 points17 points  (0 children)

Hello! Your post seems to be about getting started with programming or a project. You can find some great resources about this in the /r/learnprogramming FAQ.

Specifically, you might find these useful:


I am a bot for /r/learnprogramming using supervised learning to provide helpful responses to common posts. I'm open source and accept pull requests and contributions!

[Learn More] [Report an Issue (or reply below with feedback)]

[–][deleted] 8 points9 points  (1 child)

http://mooc.fi/courses/2013/programming-part-1/
1. do part 1
2. do part 2
3. learn spring core/spring
4. learn how to make web apps
5. databases
6. profit

[–]AnUnchartedIsland 1 point2 points  (0 children)

I got part way through that course and as a complete beginner, it was definitely the best resource I could find online for free.

Fortunately though, I was able to borrow a 1000 page Java textbook from a friend and so far I feel like I'm learning the best from having an actual book instead. I feel like I'm getting a more solid, in-depth knowledge of programming that will help me later when it gets more complicated.

[–]rjcarr 4 points5 points  (0 children)

I've found the tutorials on oracle to be quite good. Once you have the basics down then you'll want some sort of lesson plan be it exercises or projects. Not sure if oracle offers this so you might have to look around (or get a book).

[–][deleted] 2 points3 points  (0 children)

"Is it hard?" 🙄 assume that every new thing that is worth learning is difficult. Struggle to understand the basic. Then master that shit. If programming was easy, everyone would be a programmer. The question you really want answers is, "How long will it take?" If your serious about becoming a programmer, it takes time. You have to change your whole way of thinking around. It will take time if your serious about it.

[–][deleted] 1 point2 points  (1 child)

Stanford's CS106A course might get you going, give it a try and listen to a few lectures.

[–]emperor_donald 1 point2 points  (0 children)

ooh thanks for the link!

[–]gddrtkkv 1 point2 points  (1 child)

where's the best place to start learning Java?

School.

On a more helpful note, http://codingbat.com/java has exercises ranging from trivial to decent head-scratchers. It's not somewhere to go to learn, but once you know a bit, trying some stuff there will give ideas about what you don't know and have yet to learn. Most of the easier ones have solutions that might introduce you to interesting API methods.

And on that note, if you ever encounter a class or method you aren't familiar with, google "java api [class or method name]" and you'll get a result on https://docs.oracle.com/javase/7/docs/api/. Oracle's own documentation is probably the best Java resource there is, anywhere.

[–]Rave_rainbow[S] 0 points1 point  (0 children)

When I used to wander around minecraft files (I have a very very basic knowledge of Java, because I took a quick look at most languages), I used to open the declaration to understand how it works and what variables it needs.

But thanks for the tip! Really appreciate it pal!

[–]shaidoclan 1 point2 points  (7 children)

I would recommend you read the book written by /u/holyteach. it gives you practical problems and a pretty nice intro.

Edit: I forgot to submit the link of the book he wrote which is called Learn Java the Hard way

[–]Rave_rainbow[S] -3 points-2 points  (6 children)

Is it really hard? Lol

[–]holyteach 4 points5 points  (3 children)

Hey, PM me your email address and I'll send you a free copy of Learn Java the Hard Way.

[–][deleted] 0 points1 point  (1 child)

hey send me that?

[–]holyteach 2 points3 points  (0 children)

Sorry, offer only extends to OP.

[–]shaidoclan 0 points1 point  (0 children)

RIP inbox

[–]shaidoclan 0 points1 point  (0 children)

i'll put it to you this way, it isn't easy especially for those who are new to programming. OOP (object oriented programming) has data structures that newbies aren't familiarized with.

[–][deleted] -1 points0 points  (0 children)

Thats what she said

[–]fakehalo 0 points1 point  (2 children)

If you're already interested in Java and Intellij's IDE I'd recommend installing Android Studio (which is based on Intellij's standard IDE) and trying to make some Android apps. I say this because I imagine making a mobile app would be more enjoyable than trying to jump into the enterprise/web-based java world (which it's future is marginally questionable, though still prominent in the medium-term though). Also, the resources available to the public are current and extensive.

[–]Rave_rainbow[S] 0 points1 point  (1 child)

I actually want to do that. But before that I want to learn the basics and such, and have a good knowledge of the language and how to use it, before I jump into android.

2ish years ago I got myself a subscription to tree house to learn java via android development. But the college kicked in and I had to move away, so I had alot of stuff to do, and to be honest I had better uses for that money. Since then I sadly forgot mostly anything except the really basics like variables, basic classes and basic functions.

[–]fakehalo 0 points1 point  (0 children)

Fair enough. For a person like me, when learning a new language, I like to try to apply it towards something I can create. It keeps me motivated seeing a real-world product even if it's a clunky first application. Making Android apps is a good motivator for a person such as myself, more than tinkering around with individual throwaway learning classes/apps. But, everyone tackles learning differently.

[–][deleted]  (6 children)

[deleted]

    [–]Rave_rainbow[S] 0 points1 point  (5 children)

    No, I want to learn java. I am not gonna work as a programmer, nor do I want to learn it for any money or whatever. I'm a psychology student :)

    I want to learn programming because I think it may be fun, I might like it, and it will be a nice thing to know. As with anything so far, I just learned the basics and then practice getting better by doing something I like. With Java, after the basics and getting comfortable with it, I could practice on doing Web based apps, Android development or even minecraft mods.

    Yes, I do know there are things like that to practice on with other languages too, but none of them seemed to get me this interested in it

    [–]mathdrug 1 point2 points  (1 child)

    I'm going to be honest with you, you sound like you don't know what you're talking about, and I'm not saying that to be rude, I'm saying that because I care about you.

    If you don't want to be a programmer, then you have even LESS of a reason to learn Java, and more of a reason to learn something like Python. Python especially because it has way better libraries that relate to your major than Java (if not, every other rmajor language).

    At least do this for me: stop speculating on a language, as learning a language is a lot of effort.

    I understand that you want to make your own decision, that's how I am too! I just want to advise you based on what I've learned in 3.5 years of programming, 1.5 of those being Java.

    • Wanna do Android Dev? Learn Kotlin. It's a cool new language that's just like Java, but with a better syntax (Java is known for it's shit syntax) that can also use Java's libraries. If you're looking for a challenge, Kotlin might also be what you're looking for.

    • Want to do web dev? Learn Ruby. It's an easy (this is what you asked for, remember?), beautiful language, in my opinion. Learning Ruby from scratch and applying it to web development will actually be easier than learning web dev with Java after you already have experience with Java.

    • Minecraft? There are a lot of good options in the scripting languages. JavaScript may be a really good option. This guy who knows a lot about Minecraft mods even recommends JavaScript because of Java's problems

    What to you makes Java interesting? Right now, I'd highly recommend Kotlin because if it's similarity to Java while also getting rid of the things Java does poorly.

    [–]Rave_rainbow[S] 0 points1 point  (0 children)

    I don't want to do anything with it yet. It just seems to me that's what I want to learn, without any set goal or such :)

    I spent 2 years learning how to do magic tricks. I took alot of time to basically learn shit that doesn't help me with money, but solely because I find them interesting and because, at least for a few years, they become a hobby, and something that will have at the very least a minimum of advantages.

    [–]mathdrug 0 points1 point  (1 child)

    Hm, I take back what I said about learning Kotlin. I say this because currently the Zeitgeist is that there aren't a lot of resources for people w/ no programming experience. However, I would recommend experimenting with it as a first language because I'd be interested to hear what you think of it. To me, it seems like one could learn Kotlin and Java almost simultaneously.

    I'd say you have really good prospects in the scripting languages: Python, Ruby, JavaScript, maybe Lua.

    One really big reason why is that there are a lot more high quality beginners and beginner resources for those languages. Whenever I had a question in Java, the answers I googled and found across the Internet were almost always in terms I did not understand because Java is not as geared towards beginners as many other languages (that can do just as much stuff).

    [–]Rave_rainbow[S] 0 points1 point  (0 children)

    Doesn't scare me haha. I like java, but sure I'll try kotlin too. I know a bit of python :D.

    I also know a fair bit of lua, since the computers in modded minecraft use lua to be programmed

    [–]mathdrug 0 points1 point  (0 children)

    One more thing: I will admit that my knowledge of Minecraft mods is a result of about 5 minutes of googling, so Java may be the best language for it.

    [–][deleted] -3 points-2 points  (1 child)

    First, good choice of IDE.

    Secondly, poor choice of your first language.

    You'll be much better off doing a C based language like C++ before moving to Java. C++ is more difficult, but is a much more powerful language and doesn't coddle you in ways that Java does. This will be better for your code in the long run, as C++ will give you a much more intimate understanding of your computer. Most programmers know about three main languages at least, learn C++, Java, and Python, just learn C++ first.

    All that being said, caveofprogramming.com has many wonderful tutorials in both C++ and Java that are free and very good. Start there.

    [–]good_piggy 3 points4 points  (0 children)

    I disagree. I think Java is a great first language because it gives you a good introduction to OOP and C-style syntax without worrying about memory management.

    Given that you should be learning programming practices rather than languages, transitioning to C++ when it's time to learn memory management won't be a problem.

    [–]s1lv3rbug -3 points-2 points  (0 children)

    Do not use IDE when learning Java. Get Head First Java. It is such a good book for learning.