• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Bear Bibeault
  • Junilu Lacar
  • Martin Vashko
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Knute Snortum
Saloon Keepers:
  • Ron McLeod
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Scott Selikoff
  • salvin francis
  • Piet Souris

New Programmer - Here for some help

 
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
 
Rancher
Posts: 43011
76
  • 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.
 
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.
 
author
Posts: 23845
141
jQuery Eclipse IDE Firefox Browser VI Editor C++ Chrome Java Linux 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.
 
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
 
Ranch Hand
Posts: 57
Python Java Linux
  • 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!
 
Skool. Stay in. Smartness. Tiny ad:
Java file APIs (DOC, XLS, PDF, and many more)
https://products.aspose.com/total/java
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!