Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Watabou

macrumors 68040
Original poster
Feb 10, 2008
3,425
755
United States
Anyone know of a good website that can teach me java...that is free?

I mean I want websites that actually teach me from the beginning. I have visited websites that just go straight to applets or object oriented programming.

I know some basic stuff from java including oop but I'm not that good so I figured that starting from the beginning would help. I'm really interested in programming and its fun when I figure out something right and make a program even though its frustrating at times.

I would greatly appreciate the help.
 

RaceTripper

macrumors 68030
May 29, 2007
2,867
178
Ok thanks.

cube, I will start learning programming instead if you feel that is the way I should go first. Thanks for the link.
You do want some programming fundamentals before you tackle the Eckel book. But as as soon as you are ready this book is what I recommend.

I design and teach Java and XML courses for Washington University's Center for Application of Information Technology. We give the Eckel book to students of the core Java programming classes. I like it because it goes beyond just teaching the language.
 

Watabou

macrumors 68040
Original poster
Feb 10, 2008
3,425
755
United States
You do want some programming fundamentals before you tackle the Eckel book. But as as soon as you are ready this book is what I recommend.

I design and teach Java and XML courses for Washington University's Center for Application of Information Technology. We give the Eckel book to students of the core Java programming classes. I like it because it goes beyond just teaching the language.

Thank you for helping me.

Also, anybody know if Apple is interested in programmers? I mean how much is the salary on average in any companies? I was thinking I could maybe develop OSes. That I want to do. I think I might set a goal to be computer scientist.
 

Cromulent

macrumors 604
Oct 2, 2006
6,802
1,096
The Land of Hope and Glory
Also, anybody know if Apple is interested in programmers? I mean how much is the salary on average in any companies? I was thinking I could maybe develop OSes. That I want to do. I think I might set a goal to be computer scientist.

Well I imagine they are looking for programmers yes. But don't expect a job there without a Masters or PhD.
 

elppa

macrumors 68040
Nov 26, 2003
3,233
151
Well, actually Apple recruit largely on talent and proven experience, rather than academic qualifications.

Sure you'll probably need a degree, but I wouldn't say a Masters or PHD is necessary.

Apple do need software engineers and programmers — look at Leopard, delayed because they did not have enough staff with the relevant expertise to do their Desktop and Mobile Operating Systems.
 

RaceTripper

macrumors 68030
May 29, 2007
2,867
178
Well, actually Apple recruit largely on talent and proven experience, rather than academic qualifications.

Sure you'll probably need a degree, but I wouldn't say a Masters or PHD is necessary.
That's probably true of many companies in the IT sector.

I have a team of about 20 software engineers, and hiring them involved reviewing their experience and checking them out in pair programming sessions. Academic degrees count for far less. While I've done some grad. studies in computer science, I have a liberal arts degree (music and history).
 

lee1210

macrumors 68040
Jan 10, 2005
3,182
3
Dallas, TX
<snip>
I mean how much is the salary on average in any companies? I was thinking I could maybe develop OSes. That I want to do. I think I might set a goal to be computer scientist.

http://dice.salary.com/ is a good place to start to see average salaries. Look for computer programmer, software developer, and software engineer positions to get an idea of a range. Software architect as well, but at this level that's not what you'd be aiming for.

If you want to learn more about OSs Apple's Darwin, which is the basis for OS X, is open source, as is Linux. You can get the source code and look around. It is very complex, however, so that is not where I would start.

The goal of being a computer scientist might not be exactly what you mean. From wikipedia:
"Computer science (or computing science) is the study of the theoretical foundations of information and computation and their implementation and application in computer systems."

Note there is no mention of programming. They are different though related pursuits. I would not discourage you from getting a theoretical basis while you're learning programming, but just wanted to let you know that there is a distinction.

I doubt a lot of PhDs are actually coding operating systems. Highly educated computer scientists are probably building the foundations of OS design, investigating security, etc. but not doing a lot of the coding. I'm not saying they couldn't, but you don't get a PhD in programming you get one in Computer Science (or some similarly titled program). Some of the best programmers don't have degrees, and some of the worst do.

-Lee
 

psingh01

macrumors 68000
Apr 19, 2004
1,571
598
A graduate degree is not necessary for an entry level job. Obviously it helps, but once you have a PhD you are not likely to be applying for an entry level programmer anyway :)

Salaries are different in different parts of the country. I once had a job as a "Junior Programmer" that paid $25K/yr....I quit and went back to school where I made more as a graduate research assistant after you factor in that they paid my tuition as well LOL. With other companies I was offered around $50-55K/yr after I had my bachelors. With higher degrees expect to get more (and you should ask for more!) too.

As far as developing OS's goes, there aren't many places that do that. There's Apple, Microsoft, Sun, IBM, various companies that contribute to Linux. These are the common ones that people know about and maybe you had in mind. Not to discourage you, but if that's what you want to work on then those are the places you need to target and research what is available.

Studying up on Operating Systems couldn't hurt either ;)
 

Watabou

macrumors 68040
Original poster
Feb 10, 2008
3,425
755
United States
A graduate degree is not necessary for an entry level job. Obviously it helps, but once you have a PhD you are not likely to be applying for an entry level programmer anyway :)

Salaries are different in different parts of the country. I once had a job as a "Junior Programmer" that paid $25K/yr....I quit and went back to school where I made more as a graduate research assistant after you factor in that they paid my tuition as well LOL. With other companies I was offered around $50-55K/yr after I had my bachelors. With higher degrees expect to get more (and you should ask for more!) too.

As far as developing OS's goes, there aren't many places that do that. There's Apple, Microsoft, Sun, IBM, various companies that contribute to Linux. These are the common ones that people know about and maybe you had in mind. Not to discourage you, but if that's what you want to work on then those are the places you need to target and research what is available.

Studying up on Operating Systems couldn't hurt either ;)


Yes I am about to call human resources on Apple's costumer service and see what is up. I'm already doing my research :)

Oh and I have to tell you, I didn't even start my uni. :p I'm still in high school. Going to uni next year.
 

maxjg

macrumors member
Aug 6, 2006
92
0
Yes I am about to call human resources on Apple's costumer service and see what is up. I'm already doing my research :)

Oh and I have to tell you, I didn't even start my uni. :p I'm still in high school. Going to uni next year.

If you haven't invested in any specific programming language yet, it may be awhile before you start looking for a job at Apple. And if you do intend to someday work for Apple, Java is waaay off course. You need to be looking at Obj-C.
 

RaceTripper

macrumors 68030
May 29, 2007
2,867
178
If you haven't invested in any specific programming language yet, it may be awhile before you start looking for a job at Apple. And if you do intend to someday work for Apple, Java is waaay off course. You need to be looking at Obj-C.
But Java is still a great first language. No one who gets to the level of obtaining a developer job at Apple is going to get there knowing only one language. Java is also more mainstream than Obj C and will provide many more opportunities to gain experience. One that experience is gained, one can pick up new languages to prepare for other job goals.

If you start with only Obj C, you are pretty much locking in to a narrow job market in the grand scheme of things.
 

yeroen

macrumors 6502a
Mar 8, 2007
944
2
Cambridge, MA
If your eventual goal is to learn OS development, Java will be of no relevance.

You will however need to learn C, and to become fairly expert at it (C is simpler, if trickier, than Java). All mainstream OS's are written in C. In fact, if you learn C/C++ first, you'll have a definite edge up on your peers who only know Java. Learning Java when you already know C/C++ is much easier than learning C/C++ when you only know Java (in fact Java itself is implemented in C).

XNU, the (open source) Mac OS X kernel, is about 80% C, with the remainder in assembler, and C++ in the IOKit. Sources for Darwin/XNU are available for free download from the Apple site. It may be instructive to download the source tar bundle ( or other free OS's like BSD/Linux) and have a look see to find what you're getting into.
 

lee1210

macrumors 68040
Jan 10, 2005
3,182
3
Dallas, TX
If your eventual goal is to learn OS development, Java will be of no relevance.

You will however need to learn C, and to become fairly expert at it (C is simpler, if trickier, than Java). All mainstream OS's are written in C. In fact, if you learn C/C++ first, you'll have a definite edge up on your peers who only know Java. Learning Java when you already know C/C++ is much easier than learning C/C++ when you only know Java (in fact Java itself is implemented in C).

XNU, the (open source) Mac OS X kernel, is about 80% C, with the remainder in assembler, and C++ in the IOKit. Sources for Darwin/XNU are available for free download from the Apple site. It may be instructive to download the source tar bundle ( or other free OS's like BSD/Linux) and have a look see to find what you're getting into.

Seconded.

If it were up to me every person that wants to learn to seriously program would start with vi, gcc, and "The C Programming Language". It's nice to know that so many people want to program apps for the iPhone (this is not OT, but i think it will help the point I'm trying to make) and they're trying to write their first program using XCode, Cocoa and Objective-C. I think that's too much to get caught up in. If you don't know how to use a hammer I wouldn't trust you with a high-powered nailgun.

C is essentially the foundation for most modern languages. When C++, Java, Objective-C, C#, etc. were built it was to do things that C didn't, but they still maintained a very similar syntax. Just because you can't do pointer arithmatic in Java doesn't mean that knowing how the machine lays data out in memory is useless.

-Lee
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.