remarkpk

I've been coding using C# for some time now, and I thouroughly enjoy it. However, I'm not exactly sure what all of the hype about C# really is and why it is so popular. Of course, I do see the similarities to Java.

I've heard different things like C# was designed to be platform independent... but, what are the other advantages/features that make it so desirable.

IS C# platform independent From what I understand all of the .NET languages are compiled into MSIL, which is what the CLR executes. I have paralleled the MSIL to be similar to Java bytecode. Wouldn't that make all .NET languages potentially platform independent

Does Microsoft have plans of creating different runtimes for other platforms to allow .NET or C# applications to be platform independent

Someone, please help me understand the key pieces and selling points of C#.

Thanks.



Re: Visual C# General What is the big deal about C#???

Bora Inc

WIndows Mobile devices and Windows Desktop are primary focus, I guess.

C# language is also evolving, new keywords are being added although they are not new stuff in object oriented programming but it makes your source code a lot more readable and less errors. I love C++ but when you compare with C# it is full of unnecessary punctuations and boilerplates, C# handles everything with its new keywords. Even simply an encapsulated field (property) is a lot tidier. C++ is more than 25 years old and full of boilerplates.

Java is not that much evolved if you compare with C# also inner classes in Java is against OO (my opinion). Java 5 they had ¡°foreach¡± and Java 7 will have property keyword so there are some signs of evolution, not that bad. (I foresee that C# 7, we will speak in C# to do tasks or even before version 7)

But of course Java and C# exists with their framework so their framework decides which one better. Who collects garbage faster, who handles exceptions efficiently, who supports good debugging, and who has better development environments, which has better database framework¡­ This is a long discussion.

Also Application Server (IIS) is quite efficient if you combine with SQL Server and developing is user friendly. That's a selling point.

Anyway, for me they shouldn¡¯t spend time on porting to other platforms, other platforms will object anyway when it gets the popularity, it is better to keep C# and its Framework evolving.

Note: Sun Microsystems decided to distribute Windows Server (with Solaris) for their servers.

There are discusstions on web about these. Run-time performance and development time are the primary issues then cost of course for me. Java development is not slower if you really have experienced developers but that will affect cost.

Regards,

Bora Inceler





Re: Visual C# General What is the big deal about C#???

remarkpk

Thanks for the response. I guess I haven't been in the loop long enough to see the transformation of the .NET languages... before they were .NET languages when features were built into the language itself and not a framework.

C# had been reccommended to me by numerous people when I asked what a newer, beneficial language to learn might be. Hands down, the majority of recommendations were for C# and Java.

But, what about Visual Basic I realize that many programmers cringe at the sight of those words, but I understand that VB has made quite the transformation in recent years as well, and it has implemented useful features that C# does not have.

So, are my assumptions about MSIL correct in that any runtime capable of interpreting the MSIL can run .NET programs, whether or not users of different platforms would support it

For my purposes, the difference in efficieny of the garbage collector, exception handling, etc, in Java vs. any .NET language is not any kind of a deciding factor. I personally like the Visual Studio IDE and IntelliSense compared to other free, open-source IDEs available for Java. VS is far superior.

I am currently a 3rd year Computer Science student and while I'm young and not completely set in my habits, I would like to have a solid understanding of the advantages, features, and uses of different languages... and not just Microsoft technologies. I'm not sold on C#... just using it because it's available and I like the syntax more than VB.





Re: Visual C# General What is the big deal about C#???

smartyP

i fell in love with C# over 4 years ago, and not because of any bullet point list, but for my own personal reasons - probably the same reason why others have suggested it to you.. here is a run down for me (all highly biased and only in my opinion):

1) it is the most functional and elegant language on the market, none of the random upper case definitions from VC++, a full range of support for every OO principle, and more on the way with .net 3.5
2) the language does not lock you into a given development sector - I can develop in C# for applications (WinForms), web (ASP.Net), portable devices (.Net compact framework), xbox 360 (XNA), as well as create GUI focused products for the web or applications via WPF and Silverlight - if i grow weary of application development i can move to a new sector and not have to learn a new language or throw away my language experience
3) it is microsoft's primary language of focus for new work and expansion, and has been for a couple years
4) it is developed via Visual Studio - the best IDE on the market
5) it is part of .Net - clickonce deployment, garbage collection, etc.

in my opinion it is the best language out there. i have friends that code in java, and we have no ill will towards one another, in fact a couple i know would like to code in C# instead, but aren't able to yet.






Re: Visual C# General What is the big deal about C#???

H. Tony

I really like vs.net, it's not just the language that hooks me on. the intellisense which gets smarter all the time that really helps, a great IDE really brings me into the new era, instead of the command line days back in the 80's.




Re: Visual C# General What is the big deal about C#???

OmegaMan

As to cross platform there is the (non Microsoft) Mono implementation for Unix flavors and Mac OS. With Silverlight, using new tools such as Xaml and a .Net managed language in the backend (beta currently), you will be able to give a rich text GUI experiance on any platform and on any browser.

(IMHO) Sun is distancing itself from Java and it does not appear to be as dynamic as it was in the late nineties. I tell people outside the industry this,

C++ improved on C. Java improved on C++. C# improved on Java.





Re: Visual C# General What is the big deal about C#???

Mr. Javaman

I remember when Java was the defacto new kid on the block. The buzz was that it was an improvement on C++ and that it was going to be the defacto internet language. It was those things, and still is to some degree. C# is JAVA with Microsoft Extensions. Thus the lawsuits between Sun and Microsoft. C# is not as portable as JAVA is but is getting there. JAVA's mantra was "write once, run anywhere" which was mostly true. SUN did an excellent job getting JAVA to run on many different platforms. C# did not run on different platforms out of the box. It was a bastardization of Java for the Windows operating system. Since then, with MONO it is spreading to other platforms... etc. etc.

For old timer Microsoft programmers, the .NET revolution is all about Object Oriented Architecture. Finally Mircosoft languages grew-up. So what's the buzz of C# Well, it's just a neat language stolen from Java. Java borrowed from C++, C++ came from C. The cool thing is this: If you know C# you can easily know VB.NET and JAVA. You now have the ability to move around to different languages with relative ease.






Re: Visual C# General What is the big deal about C#???

H. Tony

I think the most difficult things for me to move around is the 'difference' between those languages, especially for things like c# attributes and windows system related functions, I remember the old days when those application server in java requires a lenghty XML file to config and reboot. I am never a fun of that kind of stuff. now for WCF, before orcas, it seems similar.

I like to treasure the 'over all' experience with programming IDE instead of just a language. I'd rather stick with a managed C++ subset and extension which works just like C# but still the old C++, but I dont think that's the same marketing buzz like JAVA or C# or iPod.

btw, I dont own an iPod or zune, I have some other mp3 players though.

Mr. Javaman wrote:

I remember when Java was the defacto new kid on the block. The buzz was that it was an improvement on C++ and that it was going to be the defacto internet language. It was those things, and still is to some degree. C# is JAVA with Microsoft Extensions. Thus the lawsuits between Sun and Microsoft. C# is not as portable as JAVA is but is getting there. JAVA's mantra was "write once, run anywhere" which was mostly true. SUN did an excellent job getting JAVA to run on many different platforms. C# did not run on different platforms out of the box. It was a bastardization of Java for the Windows operating system. Since then, with MONO it is spreading to other platforms... etc. etc.

For old timer Microsoft programmers, the .NET revolution is all about Object Oriented Architecture. Finally Mircosoft languages grew-up. So what's the buzz of C# Well, it's just a neat language stolen from Java. Java borrowed from C++, C++ came from C. The cool thing is this: If you know C# you can easily know VB.NET and JAVA. You now have the ability to move around to different languages with relative ease.






Re: Visual C# General What is the big deal about C#???

abcdefgqwerty2

C# is only good because it has C syntax which was and is a great overall language. C# uses .net which is good and most of all its just easy and fast to do things because .net has a lot of nifty libraries that do all the heavy lifting for you. In all honesty java did it first. .net is just a copy cat.




Re: Visual C# General What is the big deal about C#???

OmegaMan

abcdefgqwerty2 wrote:
In all honesty java did it first. .net is just a copy cat.


The predecessors to Java, namely C++ and C, had libraries and components way before Java.





Re: Visual C# General What is the big deal about C#???

IsshouFuuraibou

abcdefgqwerty2 wrote:
C# is only good because it has C syntax which was and is a great overall language. C# uses .net which is good and most of all its just easy and fast to do things because .net has a lot of nifty libraries that do all the heavy lifting for you. In all honesty java did it first. .net is just a copy cat.


In all fairness... Java is hardly the first language with libraries to do a lot of work for you. MFC anyone VB runtime AFL

Java and .Net are unique in that they aren't compiled in the normal method, nor are they interperated like some languages would be.

However the actual method of compilation in Java and .Net are very different.

To say that C#/.Net is a just a copy cat, you'll have to say every languages but the original initial programming languages are copy cats, including C.

.Net is doing new things that weren't previously though or able to be drawn together in such a way. Things like tha addition of LinQ makes the .Net framework so robust.

.Net may make it easy and fast to do things but it also has a lot of power and complexities that if you wanted to or needed to get into you can.

Regarding the original issue of why C#: C# is a tool with specifications that differ from other tools that use the .Net Framework. For many it is the tool of choice because of it's robust nature and the ancestor languages (C++/Java/etc).





Re: Visual C# General What is the big deal about C#???

Bora Inc

For me the biggest issue in .NET Framework is its component oriented structure. It is not just object-oriented. Before Java, Borland came out with good library also; I don¡¯t remember that I was short of any functionality in Borland Pascal or Turbo C++. (But those times everybody wanted to write their own linked-list classes). Also there were ANSI C libraries, and those libraries were platform independent. Java used the platform-independent term and made a big hit. I am not against Java, they did a good job. Also Java is now improving its libraries to be more component-oriented. MFC was there also you cannot say .NET got the idea from Java, clearly not, Framework was the only direction after MFC. Java had one focus which is to be platform independent and on most of the cases Java library is not enough (or not enough to give performace) and people use platform dependent solutions to complete their projects. Anyway Java is still fulfilling its purpose.

In .NET components have run-rime behaviors but also they behave different depending on their habitat. (See reflection, attributes, security, domain). .NET has a good foundation now so it can have more libraries easily like WCF.

I said this in my first post also (permission objects and all those) but that is the most important part of Framework. It is efficient and it has an excellent IDE. For example writing COM+ is easy in .NET Framework because of attributes. (Compare with C++ examples also RMI-IIOP in Java ¨Cdon¡¯t compare deployment, it might be a nightmare in Java-, then you can see the difference between Java and .NET)

I only don¡¯t like .NET Framework¡¯s name. A question related to platform-independence; what is rotor [http://research.microsoft.com/programs/europe/rotor/] by the way I mean, I can read and I can see what it is, but is it because of EU Commission Why the URL has ¡°europe¡±

(Microsoft shouldn¡¯t sell anything to Europe so Europe will go 20 years back, and open source community will take advantage of no-Microsoft market and sell solution to high costs and Microsoft should sue whoever uses similar technologies. Anyway this is becoming personal Smile ... )

Regards,

Bora Inceler