• Post Reply Bookmark Topic Watch Topic
  • New Topic

New Programmer - Here for some help  RSS feed

 
Serhat Ordek
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello, I'm 17 and in september I'll be starting my As levels in preparation to study Computer Science at university. After quite a bit of searching (and a lot of headache) I've decided that Java would be the best language for me to start off with in preparation for university.
Having said that, it seems that the first step is much harder that I'd actually thought it would be... I bought the Head First Java 2nd Edition book in hopes that I could learn with a book on my own with solid content that I could understand and knew would actually help me advance without picking up bad habits. However when I was trying to download Java 5/6 along with the API documentation (not even knowing what the hell API means) from the java.sun.com website as the book tells me, it seems kind of impossible to download. I'm kind of frustrated that I may be missing something ridiculously obvious but annoyed too that I bought this book intended for beginners and it would seem I may not even be able to use it. Could someone please help me out? Really interested in getting Java down, I want to see what coding is like before studying it at university and get a language or two under my belt, I like being prepared and I want to make sure that this is something I will enjoy.

Just for reference, my plan is:

Learn Java,
Do a Big/Small project in Java
Learn C#
Learn Ruby

I was told that these 3 languages would be best since they tackle different areas really well, I know that java is good for smaller apps and C# is more for windows programming, whereas Ruby is more webpage based programming?

To be honest I would be really grateful if anyone could tell me if I'm even going about this the best way or if there is anything I should do differently, I'm kinda lost lol.
- Also in reference to where I want to study, I'd like to attend Edinburgh/Lancaster, if that would affect what I should be learning in any way

Thanks a lot for any help that you guys give me,
Serhat
 
Ulf Dittmer
Rancher
Posts: 42972
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch.

However when I was trying to download Java 5/6 along with the API documentation (not even knowing what the hell API means) from the java.sun.com website

It seems you're using an outdated book. That web site, as well as Java 5 and 6, are obsolete. If you search for "download java sdk" you'll get to the right page at oracle.com. I recommend to use the latest version of Java 7.

I know that java is good for smaller apps and C# is more for windows programming, whereas Ruby is more webpage based programming?

Sure, you can use Java for small apps, but it's also suitable for very large apps (just mentioning it in case you thought that was a differentiating factor). It's mostly used for server-based apps, like web apps, rather than desktop apps (which are possible, though). (As an aside, while I don't follow those statistics, I doubt that Ruby -while an interesting language- is more widely used for web apps than Java. I'd say either Ruby or Python would be a nice change of pace after you learned Java.)

Since C# ties you to a single OS, I wouldn't invest much time on that except maybe enough to compare it to other languages, unless you're specifically interested in developing for Windows for some reason. Due to that I'm fairly sure it won't be used in university in the beginning, so if your plan is to prepare for that, I'd lay off on it until later.
 
Mike. J. Thompson
Bartender
Posts: 689
17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, Java 5 and Java 6 are very old. Also in the time since those versions were released, Sun Microsystems (the original creators of Java) have been bought out by Oracle. I would expect the links to Sun webpages will redirect to an Oracle page, and if the book gives specific instructions on what to download then that will likely have changed.

The latest major release of Java is Java 8 (released earlier this year). This is backwards compatible with previous releases, so all of the examples in your book should work. There have been some syntax additions in Java 7 and a lot of additions in Java 8, so if you look at Java code elsewhere you may see things that your book does not explain. The basic syntax has changed very little though, so as a beginner it should still be able to teach you what you need to know.

There are two basic Java downloads on the Oracle website. The JRE (Java Runtime Environment), and the JDK (Java Development Kit).

The JRE contains everything you need to run a Java program that has already been written and compiled. The JDK contains everything that is in the JRE, and also the tools that you need to compile a Java program.

You need to download the JDK for the operating system you are going to be developing on.

Oh, and API stands for Application Programming Interface.
 
Henry Wong
author
Sheriff
Posts: 23295
125
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Serhat Ordek wrote:Hello, I'm 17 and in september I'll be starting my As levels in preparation to study Computer Science at university. After quite a bit of searching (and a lot of headache) I've decided that Java would be the best language for me to start off with in preparation for university.


Personally, I would not worry too much on the languages, they may change by the time you graduate...

I would focus on the topics... data structures, algorithms, compilers, graphics, databases, artificial intelligence, etc. etc. etc. Languages come and go. IMHO, you should learn more on the topics, and less on the languages.

Henry
 
Serhat Ordek
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for all the responses guys, I'll get Java 8 then and work through the book, and I was told something about there being 3 different categories of languages; OO(object orientated), then Scripting languages and programing languages.. I think, not too sure but what other languages would you all recommend I try after Java, but maybe instead of that...

Henry Wong wrote:Personally, I would not worry too much on the languages, they may change by the time you graduate...

I would focus on the topics... data structures, algorithms, compilers, graphics, databases, artificial intelligence, etc. etc. etc. Languages come and go. IMHO, you should learn more on the topics, and less on the languages.

Henry


since the languages aren't as important how could I go about focussing on these topics? Is there any books I can get that focus on the theory or would I need to just focus on these areas from the books I learn the language from (if that made sense)? I just want to build a foundation early on to be honest to be in good stead for when I start. I wanted to start with Java first because I've read that once you learn java it's generally easier to get your head around other languages since it's easier to pick up and more straightforward. I was also planning to do a project (making my own app/program) in order to test my aptitude and have something course related to mention on my personal statement.


Oh, by the way you mentioned graphics, not sure you meant gaming but just to clarify... I'm not intending to go into gaming, I'm not sure what exactly I want to do/specialise in but I want to work at a company like Windows,Google,IBM... maybe not work at somewhere like there when I'm fresh out of university but I would like to work in those kinds of sectors. Developing software for Windows/Google or something along those lines, not sure atm but as much fun as games are to play I don't want to work in that area
Thanks,
Serhat
 
Mike. J. Thompson
Bartender
Posts: 689
17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Serhat Ordek wrote:Thanks for all the responses guys, I'll get Java 8 then and work through the book, and I was told something about there being 3 different categories of languages; OO(object orientated), then Scripting languages and programing languages.. I think, not too sure but what other languages would you all recommend I try after Java, but maybe instead of that...


Scripting languages and OO languages are both programming languages. If you wanted to name 3 categories then you would probably say procedural languages (such as C), OO languages (such as Java and C#), and functional languages (such as Haskell and Scala).

As for what languages to learn next, that's up to you. Just try and learn whatever will be used on your degree. However I agree with what Henry said, the language you pick is not too important, it's learning the concepts that matters. Since you're just beginning concentrate on learnings the basics of just one language though. It will probably get confusing if you have a partial grasp of several languages at once.
 
Steve Kedzie
Greenhorn
Posts: 22
Mac Netbeans IDE Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Since C# ties you to a single OS,


That is no longer the case with Mono, but that is a whole different monster for another thread.

Core Ruby programming is not necessarily intended for Web development. However, Ruby has been extended into some Web development frameworks, the most common being "Ruby on Rails," followed by Rack and Sinatra among others. It's debated if one should know Ruby before using Rails, etc, but I feel that depends on the user and how steep a learning curve they can handle. Conventional wisdom should dictate that at least a basic understanding of core Ruby should be attained before tackling rails, etc. "rails tutorial" by Michael Hartl, is a pretty good (and free!) book online that walks you through setting up a Rails development environment to using git to running you rails app in the cloud.

Ulf mentioned Python, which is (IMHO) is another good language to have in your arsenal. One of the beauties of Python is that it plays nicely with other languages and there are many libraries available and Python Web frameworks as well. I think Henry's post is probably the best advice in this thread. I recommend looking at some of the "MOOC" courses out there offered by many universities. You do not have to participate in the course, but you can see what text book was used and probably get instructor notes as well. This may help you gain an understanding of the topics Henry suggested.

Steve
 
Edwin Torres
Ranch Hand
Posts: 57
Java Linux Python
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I teach computer science courses at the college level. It's important to learn basic programming concepts (e.g. input, processing, output, selection, repetition, etc.) Once you learn these concepts, you can learn any programming language. Here's a free Coursera course that teaches the basics of programming in Python: Programming for Everybody (Python). Good luck!
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!