alexhicks22

Distinguished
Oct 11, 2010
8
0
18,510
Im wanting to learn a programming language in my spare time. In college i have kind of learnt c# but not very indepth. Any ideas what language i should learn? preferabble object oriented. Thanks!
 

kyeana

Distinguished
May 21, 2008
230
0
18,860
Personally for a higher level language I prefer java. If you want to get into some lower level concepts then c++is a great way to go.
 

Ijack

Distinguished
As you've already made a start with C# I would be inclined to continue and learn it in greater depth. It's an excellent language and, together with the .NET framework, allows a beginner to write just about any program that they wish to.
 

mindless728

Distinguished
Jul 15, 2008
130
0
18,660


another agreement here, if you are not that familiar with it, learn it better, then when you know C# well picking up a different language is easier
 

kitkat12012

Distinguished
Nov 12, 2010
3
0
18,510



+1 to this



but if for some reason you hated C#, Java would be a good 2nd choice
 

alucardvpr

Distinguished
Apr 22, 2011
4
0
18,520
Depends on what you want to do. Client side, server side, application. You'll find that many languages are rooted in other base languages and that you can easily learn more than one.

Personally, I know VBA, PHP, Perl, Python, ASP, AutoLISP, Oracle, MySQL, PostgreSQL, C++, C, Objective-C, Cocoa, XML, XHTML, HTML, CSS, Java, JS, Ajax, Ruby On Rails, *.NET - and those are just the ones I know "really" well lol
 

Rusting In Peace

Distinguished
Jul 2, 2009
312
0
19,060


ZOMG!111onehundredandeleven

That makes you a cool and interesting person! I can't believe you didn't list the ones you only kind of knew or heard of!

;)

@OP: I'd echo what other people are saying by continuing on with C# or Java. Best of luck buddy.
 

Fenrir190

Distinguished
Jun 9, 2011
9
0
18,510
I'm in the same boat man. This is my senior year in undergrad so a bit of personal advice. Once you learn one language the concepts you learn for the most part stay the same from language to language, and if statement does the same thing in C, C++, Java, etc. Just getting the concepts I've found that there isn't a hard language to learn. Currently I'm teaching myself HTML, python, and C/Cuda C nothing at all hard its just finding the time to do it.
 

penguin_guy

Distinguished
Mar 10, 2011
6
0
18,510


I disagree with the most people here. Learn a "free" language. Not C#. Not a language owned by a company.
 

Ijack

Distinguished
So that rules out Java (Oracle), C and its derivatives (AT&T) and many other languages. So what would you suggest? BASIC?

C# is as free as any other language. Let's not get involved in religious wars.
 

penguin_guy

Distinguished
Mar 10, 2011
6
0
18,510


There is no need for a war. However there are certain facts. I am not talking about if a company made the language. I am talking about the if they are free or not.

And no C# is not free as any other language. You can only develop C# only in Windows.(I don't count Mono as free too) .You can only run C# in Windows. You have to buy C# development tools from MS. You have to pay $1000-2000 for an MSDN subscription. And what is C# language license? Free? No. Public, we all people "owns" it? No. Microsoft owns it? Yes. Only the company can develop and change the language? Yes.

On the other side,
Java is GPL(General Public Licence and it means your software is free as in speech) as many languages i counted below. So i suggest OP to try:

Java, C, C++, Objective-C, Python, Ruby, Perl, Awk, PHP, Lisp, Unix Shell, Haskell and other less known ones(Forth, ADA, Tcl/Tk, Erlang etc..)

They are cross-platform.(This means you can run them on any OS's). You can develop and run on any OS you want with free tools, no subscription, no license fees.

I don't see any reason to choose C#, ASP or any other MS language over these languages.
 

Ijack

Distinguished
Oh dear. You are a little misinformed about C#. You mention Mono and then make the false statement that you can only develop And run C# on Windows. Obviously not true. And you compound the error by saying that you need to pay for C# development tools. Again not true. The C# compiler (ignoring Mono for the time being - although it is a very fine implementation of C#) is a part of the free ?Net development framework. If you want an IDE, debugger, etc. You can use the free Visual C# Express.

You can develop and run C# programs on most any platform without paying any fees. You can develop the program on Windows and run it on Linux if you wish (not so easy with C).

I'm happy to argue the merits or otherwise of various languages, but please don't perpetuate mistruths about them. I realise that you have no interest in C#, and that's fine, but the OP is already using it. It makes perfect sense for him continuing to develop his skills in a language that he is already used to.
 

penguin_guy

Distinguished
Mar 10, 2011
6
0
18,510
I was referring to Visual Studio.(because nothing comes close it. In future if you want to develop a serious project probably you'll want to buy it) Yes you can but with Mono. And i mentioned about it. There is a jukebox software on Linux written with C# named Banshee.(likewise TomBoy, Beagle, F-spot etc...) But most people don't think good things about it, so i did not count it. Most users don't even use a software written with Mono. It is clearly an insidious move from Microsoft to support it.(Mono developed by Novell)

It is a breeze with Java, Bash, Perl, Php, Python, Ruby, Tcl. For C and C++ you can compile for Windows or Linux or whatever.

And nothing you say could change the fact that "C#" is a closed-source, not-free language owned by a monopolistic company.

If OP has a basic programming comprehension, the he can easily learn another language.

My suggestion is not to be "confined" in the world of Microsoft. But maybe the OP doesnt care about these things, its easy for him to continue in C# and Microsoft is just fine then C# is the way to go.
 

Ijack

Distinguished
Visual Studio C# Express is free. You can do anything with it that you can do with any of the other editions. Personally I use notepad and the command-line compiler for a lot of C# programming.

To reiterate, it is just untrue that you need to spend anything, let alone thousands of dollars, to program in C#. In the same way, you can buy an expensive version of Visual Studio to program in C or C++ in Windows if you wish to; but you don't need to.

Let's stick with the facts and leave prejudice against Microsoft out of the discussion.