what should i learn first java or c#

slee8251

n00b
Joined
Apr 3, 2012
Messages
4
i'm a beginner to programming. i am midway through my first programming course in C. I want to start learning other languages.

do you recommend me learning java or c# first. what would be easier to grasp since I have some knowledge in C

also, anyone know of any good books for either languages?

Thanks
 
both of them are good languages.
if you plan to code only windows programs then go for c#
otherwise java is a good choice, or even c++

you really can't go wrong with any of them, they are all pretty similar as far as syntax goes, learning how to code a real application is the hard part
 
i'm a beginner to programming. i am midway through my first programming course in C. I want to start learning other languages.

do you recommend me learning java or c# first. what would be easier to grasp since I have some knowledge in C

also, anyone know of any good books for either languages?
Either language is fine. At this point in your programming experience, just focus on learning and asking questions.

The "Head First" books are decent, though it's been quite a while since I've looked at a beginner Java or C# book. Just be sure to set aside some time to work through the chapters and program along with their examples.
 
If you want to kill some time go to codecademy . com to learn java for free. It's pretty fun & you'll actually get to type code while you learn.
 
Java. It's simpler and more "pure" than C#. Plus there's a lot more educational stuff on Java than C#
 
Java. It's simpler and more "pure" than C#. Plus there's a lot more educational stuff on Java than C#
This reads more like you're familiar with only one of the languages being compared. And how is that even helpful to the OP, given the OP's stated experience level?
 
Java. It's simpler and more "pure" than C#. Plus there's a lot more educational stuff on Java than C#

You're clearly delusional. There is barely a difference between Java and .Net(C#). And I would beg to differ about the educational stuff, C# is heavily supported by the community and MS. You sound like you only know Java.
 
You're clearly delusional. There is barely a difference between Java and .Net(C#). And I would beg to differ about the educational stuff, C# is heavily supported by the community and MS. You sound like you only know Java.

BS. There's a lot more advanced features in C# that may be confusing to beginning programmers and muddle up the OO model, I'll just list some here -

Structs
Pass by reference/value
Properties
Lambda Expressions

And that's just off the top of my head. It sounds like YOU don't know the two languages thoroughly enough.

Most universities teach in Java instead of C# therefore there's alot more textbooks out there for beginners in Java than C#.

- someone who's programmed in C# professionally for 4 years, and Java for 6.

This reads more like you're familiar with only one of the languages being compared. And how is that even helpful to the OP, given the OP's stated experience level?

Funnily enough I prefer C# due to its fuller feature set (although Java is slowly catching up).
 
Last edited:
I think Java would be a slightly better language to learn with. Most universities use it to teach as well for good reasons.
 
I think if you want to learn OO programming Java is slightly better. If you want an easier language to learn (one that's closer to C) C# is slightly better.
 
I would learn lower-level languages first like C/C++ or even some variant of assembly before moving to higher abstractions like Java and C#. You'll understand what's going on more.
 
BS. There's a lot more advanced features in C# that may be confusing to beginning programmers and muddle up the OO model, I'll just list some here -

Structs
Pass by reference/value
Properties
Lambda Expressions

And that's just off the top of my head. It sounds like YOU don't know the two languages thoroughly enough.

Most universities teach in Java instead of C# therefore there's alot more textbooks out there for beginners in Java than C#.

- someone who's programmed in C# professionally for 4 years, and Java for 6.
There's a lot of mis-information here...

1. Structs, passing by heap/stack, and properties are all basic concepts -- and perhaps even the OP has already been exposed to this. Lambdas are more complex, and have a prerequisite understanding that is needed of delegates.

2. Changing your earlier point of "educational stuff" to "textbooks" and trying to draw a parallel between some undocumented statistic of college classes offered to the number of reference materials available for (fill in the blank programming language) is quite absurd.


However... All of the earlier rants and expressed opinions overlook the bigger picture: this is all out of scope for the OP's experience level. Don't pollute his/her education with (mis)information and pointless biases. Any languages suggested in this thread, or the countless other similar derailments in this forum, are fine. Let him/her learn.
 
I was taught OOP in java and now spend most of my time in C# and I think java is a better language to learn the concepts. Passing values and by references are fundamental in most/ all high level languages. Both have pros and cons and are treated differently.

I love the beauty Linq and lambda give me in C#, but I wouldn't say that is something to jump into. Java is definitely more pure with less bells and whistles.
 
C++

Learning C++ as my first language and coding everything in VI and compiling via command line was one of the most beneficial things I've ever done.

Reading my errors and going back thru my code to correct them was one of the most beneficial things in my early years. I would like to say my debugging skills/sorting thru other programmers bull shit is top notch because of this... With C# you have visual studio to flag all your syntax errors so you might not pick up on little debugging traits...

Thinking back to when I was first taught object oriented programming in college I thought "wtf is the point of this I could do it procedurally quicker". It took my first "big" project to really appreciate OOP. It literally just "clicked" for me one day and I never looked back. Now I look at a lot of legacy applications that I have been dumped with that are all procedural style programming and I want to poke my eyes out/rewrite the whole damn thing.

Whatever you end up picking up... please comment your code. It might make perfect sense to you... but the developer that is looking at it 10years down the road it might completely mind-fuck. :)

Just my two cents.


Background: Web Developer focusing in PHP and javascript. PHP was a natural transition for C++. I love it and the community behind it. :)

I also maintain several large scale legacy banking systems(vb6), oil analysis applications that interface with daq boards(VB.net), and a few classic asp web apps(classic asp).

^^and I hate every minute I spend in any of those legacy apps. :)
 
Either is fine. Seriously. I tend to stick to C# as my managed language nowadays, since I'm used to it and the IDE (VS) kicks ass, but any OOP language is fine. Learn the concepts, not the language.
 
Back
Top