Lambda the Ultimate

inactiveTopic C# Language Specification 2.0 (new features)
started 10/24/2003; 3:19:47 PM - last post 3/29/2004; 11:46:30 AM
Ehud Lamm - C# Language Specification 2.0 (new features)  blueArrow
10/24/2003; 3:19:47 PM (reads: 13479, responses: 15)
C# Language Specification 2.0 (new features)
(via Isaac, in the discussion group)

You may need the MS-Word Viewer.

The C# Language site is here in case you don't remember.

I'll take this opportunity to ask for the LtU readership opinion on whether C# is ready to replace Java as the language of choice in courses that currently use Java, and are essentialy OO oriented.

I don't like the Microsoft-centeric nature of C#, but I must confess that without having spent a large amount of time with it, it looks far less ugly than Java.


Posted to general by Ehud Lamm on 10/24/03; 3:21:23 PM

Mark Evans - Re: C# Language Specification 2.0 (new features)  blueArrow
10/24/2003; 9:53:27 PM (reads: 1525, responses: 1)

Ehud missed a golden opportunity to plug OpenOffice; it reads this Word file and also handles PowerPoint and Excel. Since Ehud mentioned his disdain for the "Microsoft-centric nature of C#" see my plug for non-Microsoft C# goodies. Not that I have a beef against Microsoft, but they should have called it C-sharp-elbow in deference to their business practices. If you've never heard of Microsoft's "kill the baby" strategy, or studied their financials, take the time to get acquainted.

Isaac Gouy - Re: C# Language Specification 2.0 (new features)  blueArrow
10/24/2003; 11:28:51 PM (reads: 1497, responses: 0)
Microsoft-centeric nature of C#
Guess the solution to that, is for Sun and IBM to develop implementations of the language? To be continued on comp.lang.java.advocacy... ;-)

looks far less ugly
Not as clean as Nice (should that be as nice as Clean?)

Seems like more features of C# are intended to allow the compiler to catch potential errors: out parameters, non-virtual methods by default, explicit overide and new method keywords, checked integer arithmetic (yipee!) ...

Ehud Lamm - Re: C# Language Specification 2.0 (new features)  blueArrow
10/25/2003; 5:06:40 AM (reads: 1498, responses: 0)
Please notice that my question is about MS owndership of C# as such, but rather about how it's going to fare in the education market.

LtU regulars know I like Liskov and Guttag's Program Development in Java. Will they write a C# edition?

Isaac Gouy - Re: C# Language Specification 2.0 (new features)  blueArrow
10/25/2003; 10:17:52 AM (reads: 1422, responses: 0)
Short list of non-obvious things determined from the C# 2.0 draft
(via Artima)

Mark Evans - Re: C# Language Specification 2.0 (new features)  blueArrow
10/25/2003; 11:24:48 AM (reads: 1409, responses: 3)

Ehud: Please notice that my question is about MS ownership of C# as such, but rather about how it's going to fare in the education market.

Yes, but MS ownership may have much to do with the answer to that question. Read Wired, ZDNet.

Note that I admire the .NET runtime architecture, and respect Microsoft Research, if not the whole corporation. C#'s impact on education will be the usual function of Microsoft hegemony. Hasn't it been your experience that schools tend to teach what industry asks them to teach? Or is your attention on specific technical differences that will affect how students come to understand what OO is all about?

Ehud Lamm - Re: C# Language Specification 2.0 (new features)  blueArrow
10/25/2003; 11:40:50 AM (reads: 1421, responses: 2)
Both. See the recent exhange with Peter Van Roy.

My prediction re the success of C# stems from the fact that I assume students will demand to be taught the "industry standard" language.

Mark Evans - Re: C# Language Specification 2.0 (new features)  blueArrow
10/25/2003; 12:11:05 PM (reads: 1403, responses: 0)

I assume you mean this discussion. OK.

Isaac Gouy - Re: C# Language Specification 2.0 (new features)  blueArrow
10/25/2003; 12:20:31 PM (reads: 1424, responses: 1)
See the recent exchange with Peter Van Roy

students will demand to be taught the "industry standard" language
And if that's what they want there are now plenty of vocational courses.

If students are choosing between CS programmes according to which PLs are used on courses, then that seems to be a statement about how poorly they understand or value the bulk of the programme.

Adewale Oshineye - Re: C# Language Specification 2.0 (new features)  blueArrow
10/25/2003; 2:35:28 PM (reads: 1373, responses: 0)
Having said that I've met people who sat through 3 years at University and were effectively unemployable because they didn't have a single industrial language on their CV. Whilst people who understand the fundamentals can pick up new languages fairly easy the sad truth remains that companies want employees who can hit the ground running.

Using that criterio a curriculum which didn't cover either Java or C# would be doing students a disservice. Assuming that is that those students want to get jobs in corporate software development.

Ehud Lamm - Re: C# Language Specification 2.0 (new features)  blueArrow
10/25/2003; 2:45:46 PM (reads: 1410, responses: 0)
But of course...

Chris Rathman - Re: C# Language Specification 2.0 (new features)  blueArrow
10/25/2003; 4:56:19 PM (reads: 1384, responses: 0)
Short list of non-obvious things determined from the C# 2.0 draft
In just glancing at the list, I see item #1 and item #3 as being at odds with each other. In #3, the author laments that type inferencing is confusing, but in #1 the author wants the compiler to do more inferencing than it already does. Ok, so one has to do with the overloading mechanism and the other has to do with generics. wrt to the specifics.

- Overloading on return values is rather tricky. The question is how you go about convincing the compiler which type is the proper return type. The author sites Eiffel, but I vaguely recall that Eiffel does not have overloading at all (though I could be misremembering). IIRC, Meyer spurned function overloading on types as being too confusing.

- Nullable types is rather difficult if you want to maintain primitive types within the language. C# does have boxing/unboxing but it does introduce some inconsistencies along the way.

- Type inferencing is just in the nature of generics. If you are going to use generics, then it's only proper that you know how the compiler translates into the instance types.

- Partial types are intended more for the code generators than they are for human consumption. MS wants to seperate the environment maintained methods/properties and the programmer supplied ones. The intention is not aimed for compiled partials. As such, I don't see why the complaint.

Randall Loffelmacher - Re: C# Language Specification 2.0 (new features)  blueArrow
10/27/2003; 1:04:01 PM (reads: 1034, responses: 1)
Please!

Well, I can't say that C# will overtake Java in the schools, but I can say without doubt that they ought not.

Besides, the language that you learn to code in is very unimportant. That ought to be the easy part about studying computer programming. These languages they are all the same.

The only distinction I really make is between the functional and the imperative programming languages. That's why I read LtU in the first place!

Ehud Lamm - Re: C# Language Specification 2.0 (new features)  blueArrow
10/27/2003; 2:19:28 PM (reads: 1038, responses: 0)
I am not sure I understand what exaspertaes you so much. Nobody denies that the language only plays a mnor role.

But seeing as the languages are rather similar, I don't see a reason to say that without doubt Java should not be replaced by C#.

What's the big deal?

Mark Evans - Re: C# Language Specification 2.0 (new features)  blueArrow
10/28/2003; 9:39:13 PM (reads: 877, responses: 0)

The decisive battle is between VMs, methinks. On that note a Java VM for .NET.

Isaac Gouy - Re: C# Language Specification 2.0 (new features)  blueArrow
3/29/2004; 11:46:30 AM (reads: 162, responses: 0)
More up-to-date examples of C# 2.0 Create Elegant Code with Anonymous Methods, Iterators, and Partial Classes