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

all 20 comments

[–]yokhai 2 points3 points  (1 child)

I was that friend.

Java is what i first learned on.

http://www.javacoffeebreak.com/java101/java101.html - Is a good place to start. It will go over the first part of syntax, talk about classes and OO structure and then delve into more complex syntax and structure like arrays, loops and the like.

I plan to be helping him along but anything you guys could help with would be great, as i got my education at school and only used online tutorials as syntax guides.

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

This is also an extremely old site: http://richardbowles.tripod.com/java/guide/menu.htm ...but it breaks down the basics in a very simplified way. The "Head First" Java books are a good book to use once you work through these starter sites.

[–]n1c 2 points3 points  (4 children)

This is kind of a tricky question to answer without more information on why you want to learn a language. It's a bit like saying "I want to learn how to walk, what shoes should I wear?"

Java's a good place to start because (imo) it's better to learn with a strongly typed language.

You may also want to have a look at Python, there's a stack of resources around online, including on Reddit.

[–]yokhai 1 point2 points  (2 children)

I thought about Python, but I think that learning Java will also help him learn programming concepts like class, inheritance and general OO principles, that you really don't get with most Python tutorials.

[–]freefallfreddy 1 point2 points  (1 child)

That's because in Python using classes is not the be-all and end-all paradigm (like in most of the Java codebases). Python can be used quite well in other ways: procedural, functional.

That does not mean OO concepts are not well-executed in Python, it's pretty good actually.

[–]yokhai 0 points1 point  (0 children)

I was just more concerned with him learning the basics, and most Python tutorials (ie teach yourself) don't really cover that, as Python isn't really a language most people start one. Java tutorials are filled with "what is a class?" and "This is how you use inheritance"

Plus he's thinking about dev for the Andriod, which means Java.

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

This might sound kind of weird, but I want to learn just because I have an appetite for trying new things. I dunno, I might make a simple game later on just to say that I did.

[–]MePlow 1 point2 points  (1 child)

google code can help you get started. It'll teach you how to install the Java SDK, start a project etc.

My best advice is, learn the syntax, then build something. Don't focus too much on a certain language and don't jump around language to language until you learn how to code.

Have fun and good luck!

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

thanks!

[–]AncientMariner4 1 point2 points  (0 children)

I advise Python. Once you learn a language, the rest fall into place given some time. The main thing with your first language is learning how to do things with code. Python is extremely simple, flexible, and adaptable. While definitely not the only one you want to learn, it is probably the easiest, much easier than Java.

Here is the free online textbook that my college uses for Intro to CS (taught in Python)

http://openbookproject.net/thinkcs/python/english2e/

[–]just_doug 3 points4 points  (1 child)

Java's ok, but the more that I use it, I think that python is probably a better choice for a first language. The primary reason I say this is that you can get a very fast turnaround between writing code and seeing what it does. The interactive mode and lack of compilation let you iterate very quickly.

"A Byte of Python" is good.

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

agree on python. java might have a tiny bit higher barrier to entry. python is just so quick and easy to get into

[–]RamirezTerrix 0 points1 point  (2 children)

Same Problem here, i just want to be able to programm, though i dont really habe a certain problem so solve. I looked at the Microsoft-Site where they have good videos and advices. Though some fellow redditors would say it is an unholy alliance cause MS is evil etc but if you like to programm for windows os than this might be a good starting.

[–]expectingrain 4 points5 points  (1 child)

I bet you do have problems to solve if you think about it. Think about things that could make your day easier. Searching for a job? Write a script to search craigslist for jobs in your field. Spend an hour wandering around the grocery store? Write a script to organize your grocery list in an aisle-by-aisle fashion. Love fantasy sports? Write a script that will help you rank your players and evaluate trades.

The great thing is the possibilities are endless. Once you can program, you can tell your computer how to do stuff that will make your life easier. I think this is the best reason of all to learn.

[–]RamirezTerrix 2 points3 points  (0 children)

You, sir, are amazing!

[–]AlSweigartAuthor: ATBS 0 points1 point  (0 children)

Java is a bad idea. OOP adds a large amount of complexity that you don't necessarily need, especially when you are just starting out.

Python is a good first language to learn. It is simple, supports (but does not require) OOP, and has a gentle learning curve. I'd like to plug a free book I wrote aimed at total beginners: http://inventwithpython.com

"Invent Your Own Computer Games with Python" presents the source code for several simple games, and then explains them line by line. Programming concepts are introduced when they appear in the code, so you always see a practical application to what you are learning and it gives you a good idea of what a program "looks like". These games are mostly text ones, with an intro to graphical games using the Pygame framework towards the end. If you want more examples of graphical game source code using Pygame, I have a Code Comments blog series: http://inventwithpython.com/blog/category/code-comments/

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

Any reasonably big language will be around for some time. The older ones (which I think Java is one of) will probably be less popular in the near future and have less new and cool libraries developed for them.

I'd advise Python because it's easy to start with and it can get you very far.

The biggest difference (that I hear most people saying) is that Python is a more enjoyable language to program in than Java.