Hello everyone,
Time and time again, i return to Codecall, either to post some project, or ask some potentially irrelevant question.
I hope that won't be the case now. You can skip the introduction part. The bold question is this post in a nutshell.
[Overly descriptive introduction]
I have first learned C# from a beginner book, written (or translated) in my native tongue. It was there that i learned C# basics: the usualy if-else-while-for constructs, OOP stuff, like classes, getters, setters, indexers and some C#-specifics: delegates etc.
But that book was probably about C# 1.0, or 2.0. And my knowledge of C# has not grown in a theoretically sound way - i've 'learned' by necessity - i've used generics, lambdas and the kind, but never read anything theoretically structured, like a book (except some exposure to Lisp). And no experience in a medium-to-large project either came to solidify that knowledge.
[/Overly descriptive introduction]
We are in C#/.NET 4.0 right now, with a ton of features, keywords, LINQ and stuff hanging around the language.
Can someone point me to a comprehensive list of all that C# knows in this very moment?
It is possible that my workplace will require me to use either C# or Java, and i want to be aware of the choices i have to work in C#. I am not sure what keywords should i use on Google to search for this, and some of you are probably C# gurus.
While you're at it, any links/advice regarding C# coding guidelines/design in 4.0 are VERY welcome. Also even Java (my knowledge of Java is very thin, but i have the impression that Java itself is thin and i don't have to worry), so if Java too has undergone some massive changes, advice regarding that will also be appreciated.
Thank you very much.
1 reply to this topic
#1
Posted 11 July 2011 - 03:20 AM
|
|
|
#2
Posted 11 July 2011 - 07:16 AM
The best site is probably MSDN Library
It's important to realize that with both C# and Java, you have three distinct things to consider: there is the core language, the libraries that are available, and the development tools that are available. Comparing C# with Java is about comparing language constructs without regard to any use of libraries. Most of the Java library is going to be compared with .NET 4.0, and both of them are enormous. Beyond that, your choice of development environment (Visual Studio, Eclipse, Notepad++, etc) will have a significant impact on general productivity with each language choice.
The other thing to be aware of is that C# is based off Java. The result is the languages are very similar in a lot of ways. You will have differences, such as JDBC vs LINQ, but they both offer a lot of powerful features, many of which are very similar. You will also want to examine cross-language features, and perhaps cross-platform features. The Mono project and MonoDevelop make .NET 2.0 available cross-platform. .NET allows you to use a mixture of C#, VB.NET, F#, etc. Java allows you to also use Scheme, Clojure, etc.
Finally, Java is owned by Oracle, so it has some native bindings to Oracle and MySQL Databases. Microsoft, of course, is more concerned with making .NET work with Access and SQL Server. Sometimes that can make a slight difference in your choice of languages.
It's important to realize that with both C# and Java, you have three distinct things to consider: there is the core language, the libraries that are available, and the development tools that are available. Comparing C# with Java is about comparing language constructs without regard to any use of libraries. Most of the Java library is going to be compared with .NET 4.0, and both of them are enormous. Beyond that, your choice of development environment (Visual Studio, Eclipse, Notepad++, etc) will have a significant impact on general productivity with each language choice.
The other thing to be aware of is that C# is based off Java. The result is the languages are very similar in a lot of ways. You will have differences, such as JDBC vs LINQ, but they both offer a lot of powerful features, many of which are very similar. You will also want to examine cross-language features, and perhaps cross-platform features. The Mono project and MonoDevelop make .NET 2.0 available cross-platform. .NET allows you to use a mixture of C#, VB.NET, F#, etc. Java allows you to also use Scheme, Clojure, etc.
Finally, Java is owned by Oracle, so it has some native bindings to Oracle and MySQL Databases. Microsoft, of course, is more concerned with making .NET work with Access and SQL Server. Sometimes that can make a slight difference in your choice of languages.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users


Sign In
Create Account


Back to top









