Computer Science Canada

Please give me some advice

Author:  Joel92 [ Thu Jul 31, 2008 8:42 pm ]
Post subject:  Please give me some advice

I'm currently 16, and I understand Visual Basic, PHP, HTML, Pascal, and am currently learning Delphi and Python, I have self-taught myself those. I am going to be taking computer science for the first time in grade 11 in september. I plan to go into the computer science field for a career eventually.

I was just wondering if you could advise me on what languages I should learn if i want to succeed in the Computer Science field. What languages will give me the best advantage, i've been reading alot of stuff and it looks like Oracle and MySql knowledge is needed in most high paying salary jobs... aswell as Java and J2EE

So if possible could you please throw me some advice!

Thanks, - Joel.

Author:  michaelp [ Thu Jul 31, 2008 9:10 pm ]
Post subject:  RE:Please give me some advice

For tools, from what I've read, Java and C# seem to be "the" languages. So might want to check on those. They seem to be hitting it big.
For games, the no-doubter is C++.

Author:  Joel92 [ Thu Jul 31, 2008 9:21 pm ]
Post subject:  Re: RE:Please give me some advice

michaelp @ Thu Jul 31, 2008 9:10 pm wrote:
For tools, from what I've read, Java and C# seem to be "the" languages. So might want to check on those. They seem to be hitting it big.
For games, the no-doubter is C++.


hey thanks, but what about Oracle and SQL? I heard those can be very useful in being a DBA and that the money is decent.

Author:  Vermette [ Thu Jul 31, 2008 9:34 pm ]
Post subject:  RE:Please give me some advice

"Oracle" is not a language any more than Mircosoft or Google are languages; You're probably thinking of PL/SQL, which is SQL+scripting facilities for Oracle DBs. Oracle consultants can pull in great money if they have the chops and the contract, but this is not universally true, just like any other IT profession.

Author:  michaelp [ Thu Jul 31, 2008 9:54 pm ]
Post subject:  RE:Please give me some advice

Depends what you want to do. I'm pretty sure SQL is for internet/server related stuff.
But like I said, Java and C# seem to be solid languages to learn right now.

Author:  Joel92 [ Thu Jul 31, 2008 11:10 pm ]
Post subject:  Re: RE:Please give me some advice

Vermette @ Thu Jul 31, 2008 9:34 pm wrote:
"Oracle" is not a language any more than Mircosoft or Google are languages; You're probably thinking of PL/SQL, which is SQL+scripting facilities for Oracle DBs. Oracle consultants can pull in great money if they have the chops and the contract, but this is not universally true, just like any other IT profession.


yer sorry my mistake!

thanks for your responses, I think I will try and give SQL a go this month seeing as it could be valuable to me in the future... and as for C# and Java I will try Java, but I dont think im going to learn C# just yet... because looking at some job adverts i didnt see more than 1 or 2 requiring C#


So from you've told me so far, the languages that will take me the furthest in the a job would be; SQL, Java and C# ?

Author:  rdrake [ Thu Jul 31, 2008 11:15 pm ]
Post subject:  RE:Please give me some advice

No language can teach you what is most important; problem solving. The language is just syntax that helps solve a problem.

That being said, if you must learn either C# or Java, learn Java first. That way when you go to learn C# you won't be disappointed by anything missing which would be the case going the other way around Smile.

Oh, and any SQL languages are pretty different from your standard C-style languages. They feature weird syntax and such. They're usually use on the DB side to compliment fat client or web applications.

Author:  Joel92 [ Thu Jul 31, 2008 11:24 pm ]
Post subject:  Re: RE:Please give me some advice

rdrake @ Thu Jul 31, 2008 11:15 pm wrote:
No language can teach you what is most important; problem solving. The language is just syntax that helps solve a problem.

That being said, if you must learn either C# or Java, learn Java first. That way when you go to learn C# you won't be disappointed by anything missing which would be the case going the other way around Smile.

Oh, and any SQL languages are pretty different from your standard C-style languages. They feature weird syntax and such. They're usually use on the DB side to compliment fat client or web applications.



Do I need to know any .NET to learn C# first?

Author:  Tony [ Thu Jul 31, 2008 11:37 pm ]
Post subject:  RE:Please give me some advice

@Joel
My blog has a large "Contact" link at the very top; though I'm glad you found your way to the forums.

Just to make sure you didn't miss rdrake's point -- learning a lot of languages is not the way to go. If your abstract computer science ability allows you to say "hello world", and you learn to express the exact same thing in 12 other languages... then you are not really any better off.

Learn Math, study Algorithms, understand the "Science" of "Computer Science".

Languages are simply tools that help you express ideas. Proficiency at those underlying ideas is what drives success in the field.

Author:  Joel92 [ Thu Jul 31, 2008 11:46 pm ]
Post subject:  Re: RE:Please give me some advice

Tony @ Thu Jul 31, 2008 11:37 pm wrote:
@Joel
My blog has a large "Contact" link at the very top; though I'm glad you found your way to the forums.

Just to make sure you didn't miss rdrake's point -- learning a lot of languages is not the way to go. If your abstract computer science ability allows you to say "hello world", and you learn to express the exact same thing in 12 other languages... then you are not really any better off.

Learn Math, study Algorithms, understand the "Science" of "Computer Science".

Languages are simply tools that help you express ideas. Proficiency at those underlying ideas is what drives success in the field.


@Tony

yer i read your blog about "do you really know that language" and i get what you mean. I don't want to learn as many programming languages as possible, I just want to know which one is most in demand in workplace. Or perhaps im not ment for computer sciences... i thought it was just in general programing to solve problems.

If possible could you tell me if DBA falls under "Computer sciences" because I think I may want to do that...

Author:  Tony [ Fri Aug 01, 2008 12:01 am ]
Post subject:  Re: RE:Please give me some advice

Joel92 @ Thu Jul 31, 2008 11:46 pm wrote:
I just want to know which one is most in demand in workplace.

That's not something you should be worrying about now.

You still have grades 11, 12 + 4 years University = 6 years to go before you graduate. Java (and PHP, and Ruby) have first appeared 12~13 years ago. C# first appeared 7 years ago. This is meant to show that the field could change dramatically. So concentrate on what matters.

CS is very broad, and with the right selection of courses one could certainly continue towards a DBA position.

Author:  Joel92 [ Fri Aug 01, 2008 12:09 am ]
Post subject:  Re: RE:Please give me some advice

Tony @ Fri Aug 01, 2008 12:01 am wrote:
Joel92 @ Thu Jul 31, 2008 11:46 pm wrote:
I just want to know which one is most in demand in workplace.

That's not something you should be worrying about now.

You still have grades 11, 12 + 4 years University = 6 years to go before you graduate. Java (and PHP, and Ruby) have first appeared 12~13 years ago. C# first appeared 7 years ago. This is meant to show that the field could change dramatically. So concentrate on what matters.

CS is very broad, and with the right selection of courses one could certainly continue towards a DBA position.


ok you are right and i agree. I just wanted to get a head start on language(s) incase I get into college or university and dont understand them enough.

This is going to sound like a dumb question, but are you taught a language in CS in College or University, or do you have to know the language already then you do work in it in college or university..?

Author:  DemonWasp [ Fri Aug 01, 2008 1:30 am ]
Post subject:  RE:Please give me some advice

You will not be taught the language (at least, not very thoroughly) at University, unless it's fundamentally different from the most common style (I think the word is "imperative"), such as Lisp / Scheme, Prolog, Snobol, Haskell, Rebol, etc. You will, however, be expected to pick it up on your own.

To be able to do this, your best bet is to learn a few different languages, and to buff up your problem-solving skills. Don't fixate on the language, because that will only hinder you. Instead, learn to be adaptable: because one way or another, you will be forced to learn for the rest of your life...especially in IT, as things change very quickly, and it's either learn, or get left behind.

Author:  jeffgreco13 [ Fri Aug 01, 2008 9:00 am ]
Post subject:  Re: Please give me some advice

Computer Science programs tend to lean towards Java, while engineering leans towards C and C++. While you'll learn or touch on C under a CS major, Java will be a main focus. As for SQL, great chance you'll be expected to learn how to interact between Java and MySQL which doesn't have to be web based at all.. just installed and configured on a server.

Keep in mind this is just what I am going through right now in University. If you want to broaden your horizons and learn learn learn, then look into learning various languages that have different uses. If you want to be proficient then try learning Java and/or C++, and then maybe some Assembly and then throw in a web language like PHP or ASP. You're clearly ambitious and you're looking for a super high paying job for something you love to do (as am I Smile ) so start with touching on different areas.

If you try to learn too many similar languages before u become fluent in any one, you'll just bury yourself.

Author:  Joel92 [ Fri Aug 01, 2008 3:47 pm ]
Post subject:  Re: Please give me some advice

jeffgreco13 @ Fri Aug 01, 2008 9:00 am wrote:
Computer Science programs tend to lean towards Java, while engineering leans towards C and C++. While you'll learn or touch on C under a CS major, Java will be a main focus. As for SQL, great chance you'll be expected to learn how to interact between Java and MySQL which doesn't have to be web based at all.. just installed and configured on a server.

Keep in mind this is just what I am going through right now in University. If you want to broaden your horizons and learn learn learn, then look into learning various languages that have different uses. If you want to be proficient then try learning Java and/or C++, and then maybe some Assembly and then throw in a web language like PHP or ASP. You're clearly ambitious and you're looking for a super high paying job for something you love to do (as am I Smile ) so start with touching on different areas.

If you try to learn too many similar languages before u become fluent in any one, you'll just bury yourself.



thanks for the advice, and i will follow what you said. Smile

Author:  jbking [ Tue Aug 19, 2008 6:57 pm ]
Post subject:  RE:Please give me some advice

Just to echo some of the other responses, I think a key is what kind of language are you wanting to know:

Databases - MS-SQL, MySQL, PL/SQL, and MS Access.

Web - PHP, Java, C# for server side. JavaScript, HTML, CSS for general pages. Flash and Silverlight for more eye candy stuff.

Then there's the usual C/C++, Visual Basic .Net, and other imperative languages which you may know a few already.

Consider a couple different kinds of Mathematical programming languages: Matlab for numerical analysis stuff or Maple for symbolic computation where these are wildly different areas as the former deals with floating point numbers and often approximates things and the latter leaves constants like pi or e alone in the computations and thus can be more prone to symbols.

Then there are AI-ish programming languages like Lisp and scheme.

Lastly, there is also the question of what kind of environment do you want to be in: Making games, web applications, windows applications, multimedia demostration stuff, etc.

JB


: