Live data from Hacker News

C# Tutorials

msdn.microsoft.com

11–20 of 66 posts

Re: C# Tutorials

#11
post #5

From a distance, C# looks like an incredibly awesome language, but the way it's tied so closely to Visual Studio and Windows really crimps its growth. I love it's syntax, the libraries look great, and apparently the performance isn't that bad either.

Mono and Xamarin [2] are things you should be looking at.

[1]- http://www.mono-project.com/Main_Page [2]- http://xamarin.com/

Re: C# Tutorials

#12
Unsafe code( pointers ), shows and example of a copy, where a byte* is casted to a int* and then dereferenced. Such operation in c produces undefined behavior( even if byte points to data large enough ).

Safe or not, does c# consider such dereference as defined behavior?

Re: C# Tutorials

#13
post #4

In broad strokes, what are the differences between Java and C# and why should I bother with it? (Disclosure: I hate Java)

I'll give you a broad answer to your question:

C# is a streamlined platform that is designed to work with Microsoft's platforms and tools. If you use what Microsoft has to offer (Visual Studio, Windows, NuGet, IIS, ASP.NET MVC) and some of the really well-maintained OSS packages, you'll have a great experience. Bad news is: you don't get a lot of freedom in terms of platform choice.

Java is a broad platform that comes in thousands of different flavors; there are tons of mature, well-maintained options for just about everything from web framework to IDE to build tool and so forth. The problem is: everyone does everything their own way, so you kind of have to jerryrig everything yourself. Java can feel really janky, but you have a ton of options.

disclosure: I'm ex-Microsoft and LOVE .NET, but I feel that I need to know the JVM better in order to work on some of the projects I love.

Re: C# Tutorials

#14
post #5

From a distance, C# looks like an incredibly awesome language, but the way it's tied so closely to Visual Studio and Windows really crimps its growth. I love it's syntax, the libraries look great, and apparently the performance isn't that bad either.

Mono and Xamarin [2] are things you should be looking at. [1]- http://www.mono-project.com/Main_Page [2]- http://xamarin.com/

I got the impression somehow recently that Mono has become or is becoming somewhat abandoned, which led me to dismiss it. Not sure if it's true or not, but if I thought so, then probably many others do too.

Re: C# Tutorials

#15
post #4

In broad strokes, what are the differences between Java and C# and why should I bother with it? (Disclosure: I hate Java)

I only started using C# because I wanted to write some Windows programs[1]. And just like ObjC for Apple, C# is the primary blessed language of the platform, so if you want to write apps there, you have to use this. But even though I came for the platform, I might stay for the language.

[1]: I'm porting my OS X window manager (https://github.com/sdegutis/zephyros) to Windows.

Re: C# Tutorials

#16

Earlier quoted context omitted.

Mono and Xamarin [2] are things you should be looking at. [1]- http://www.mono-project.com/Main_Page [2]- http://xamarin.com/

I got the impression somehow recently that Mono has become or is becoming somewhat abandoned, which led me to dismiss it. Not sure if it's true or not, but if I thought so, then probably many others do too.

Mono's not been abandoned so much as that its direction has changed. Lately it's been more about native experiences on mobile OSes rather than services running on Linux.

That being said, Xamarin has done an admirable job keeping Mono up-to-date on the latest .NET features lately.

Re: C# Tutorials

#17
post #3

These feel pretty outdated. C# 2, I believe? It has generics and delegates, but none of the things C# is appreciated for these days, such as LINQ, lambdas, async/await, etc.

Is there an updated version with all the new goodies? This is the link that Bing/Google bring me to when typing "C# tutorials".

Re: C# Tutorials

#18
post #4

In broad strokes, what are the differences between Java and C# and why should I bother with it? (Disclosure: I hate Java)

In my opinion, the best way to see the difference between the two language philosophies is the way compiled programs are started.

[Java] > java SomeRetardedAnd.Inconsistenlty.StructuredNamespace.AndARidiculousClassNameThatHasAnObligatoryOrSuffixLikeForExampleAMotherFckingInflector arg1 arg2 arg3

# wait for what subjectively seems like 20 minutes until JVM starts, 19 if it's Hotshot.

[.Net] > MyProgram.exe arg1 arg2 arg3

Very superficially the languages are very much alike, but somehow C# doesn't manage to get in the way all the time.

Re: C# Tutorials

#19
post #10
post #4

In broad strokes, what are the differences between Java and C# and why should I bother with it? (Disclosure: I hate Java)

C# is years ahead on the language feature side: - lambdas - Expression trees - sensible operator overloading - value type semantics (you can define your own types that behave like primitives) - reified generics instead of type erasure, which means that you can have an table (just two ints instead two pointers to Integer) - "async monad" baked into the syntax On the other hand, Java wins easily on the open source lib…

The way I heard it put some time ago was, Java/JVM couldn't make some important changes because it would break backwards compatibility in an unacceptable way (I'm assuming this means there are mission critical apps written in Java 1 that the whole world depends on), but since C#/.NET were from scratch, they were free from this legacy baggage and could take huge steps forward.

Re: C# Tutorials

#20
post #9

Fortunately this tutorial is very high-level and assumes you know another high-level programming language, which allows it to keep a quick pace, preventing it from getting too dry or slow. I submitted it because I read it last night after starting a new C# project, and was quite surprised to see that it wasn't just a strict subset of C like Objective-C is, but it's a whole language of its own, with some additions and…

[deleted]
Post reply on HN