Feeds

C# pulling ahead of Java

Lead architect paints rosy C# picture

SANS - Survey on application security programs

C# has come a long way since it emerged from Microsoft's mythical "Project Cool" back in 2000. It is the primary language of Microsoft .NET, and has pulled ahead of Visual Basic among professional Windows programmers.

At last week's Tech-Ed conference in Barcelona, C#'s lead architect Anders Hejlsberg drew large audiences for his sessions on the future of the language.

The big new thing in C# 2.0 was generics. So what's coming in C# 3.0? The headline feature this time is LINQ (Language INtegrated Query), which integrates database query as part of the language.

Why LINQ? "It's effectively to remove the impedance mismatch between a programming language and databases," Hejlsberg said. "The whole concept of query and set transformations is one that really has been missing from general purpose programming languages for no good reason. Why is it that I can query data when it sits in a database but the minute I fetch it into memory I can't query it at all? I can write primitive for loops and if statements, but I have nothing that even approaches the declarative query power that you see in SQL or XQuery?"

LINQ is built on lower-level language features including lambda expressions and expression trees (which allow lambda expressions to be represented as data). Hejlsberg said much of this is borrowed from functional programming. "In C# 3.0 we are looking at a lot of research that has occurred in functional programming languages. Lisp is the classical grandfather of a lot of functional programming, but also Haskell and ML."

When C# first appeared, it looked in some respects uncannily similar to Java. Since then, Java's designers seem to have returned the compliment, with features such as autoboxing (treating simple types as objects) and liberal use of annotations seeming to echo similar features in C#. Are the two languages becoming one and the same?

"If I look at where the innovation is occurring, I would venture to say that we're being a bit more innovative these days than is the case in the Java world," he said. "Java has generics, but they chose to do it in a different way where it's really just compile time sugar that goes away, and they don't in my mind realise all the full benefits of not just a generic language but a generic type system in the runtime. I think we're pulling ahead a bit now by pulling all these functional concepts into C#, and language integrated query is an innovation that is only in C#."

Java on the other hand is cross-platform and is being open sourced. Then again, there is Mono, an open-source implementation of C# and the .NET framework sponsored by Novell. Does Microsoft support or oppose this competition?

"I welcome other implementations, and the Mono guys have participated in the standardisation process in ECMA. We remain committed to the standardisation process with .NET and C#, wherever that may take us."

The trouble is, while this welcome may be true of the language and core runtime, Microsoft's attitude to the non-standardised parts of its Framework, including the popular ASP.NET web platform, is less clear. The recently announced agreement with Novell gives little real comfort, other than to a narrow range of Novell customers, and may even increase the suspicion that Microsoft may one day cause legal problems for Mono. Otherwise, why is there need for a patent agreement? Microsoft needs to do more before cross-platform C# can reach the mainstream. ®

3 Big data security analytics techniques

More from The Register

next story
OpenBSD founder wants to bin buggy OpenSSL library, launches fork
One Heartbleed vuln was too many for Theo de Raadt
Got Windows 8.1 Update yet? Get ready for YET ANOTHER ONE – rumor
Leaker claims big release due this fall as Microsoft herds us into the CLOUD
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Ubuntu 14.04 LTS: Great changes, but sssh don't mention the...
Why HELLO Amazon! You weren't here last time
Patch iOS, OS X now: PDFs, JPEGs, URLs, web pages can pwn your kit
Plus: iThings and desktops at risk of NEW SSL attack flaw
Next Windows obsolescence panic is 450 days from … NOW!
The clock is ticking louder for Windows Server 2003 R2 users
Batten down the hatches, Ubuntu 14.04 LTS due in TWO DAYS
Admins dab straining server brows in advance of Trusty Tahr's long-term support landing
Red Hat to ship RHEL 7 release candidate with a taste of container tech
Grab 'near-final' version of next Enterprise Linux next week
Apple inaugurates free OS X beta program for world+dog
Prerelease software now open to anyone, not just developers – as long as you keep quiet
prev story

Whitepapers

Securing web applications made simple and scalable
In this whitepaper learn how automated security testing can provide a simple and scalable way to protect your web applications.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Mainstay ROI - Does application security pay?
In this whitepaper learn how you and your enterprise might benefit from better software security.
Combat fraud and increase customer satisfaction
Based on their experience using HP ArcSight Enterprise Security Manager for IT security operations, Finansbank moved to HP ArcSight ESM for fraud management.