Goto Blog Home PageRevell Research Systems: Alastair Revell's Web Log
On this page....
Archive
<February 2020>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
1234567

RSS 2.0     Atom 1.0     CDF

Summary
Search
Navigation
Categories
Blog Roll
About Alastair Revell
Alastair Revell is the Managing Consultant of Revell Research Systems, a Management and Technology Consulting Practice based at Exeter in the United Kingdom.
Contact Alastair Revell
 EMail Revell Research Systems Limited Email Me
Copyright
Legal & Other Notices
Sign In
Disclaimer
The material published in this web log is for general purposes only. It does not constitute nor is it intended to represent professional advice. You should always seek specific professional advice in relation to particular issues. The information in this web log is provided "as is" with no warranties and confers no rights. The opinions expressed herein are my own personal opinions.

Web Log Home | Welcome to this Web Log | Using this Web Log | New to Blogs? | About Revell Research Systems | Contact Details

Review Entries for Day Wednesday, August 22, 2007

I've just read an article on Hans-Eric Grönlund's blog, which discusses how close Java and C# are as languages. He concludes that "C#.NET is the best platform for Windows based systems since it was in fact designed for it. Java on the other hand is the only option for systems that are targeting other operating systems."

I would agree that Java is probably the only realistic option for systems targeting non-Windows environments. However, I would be reluctant to assert that C# was the best language for Windows development, although I would certainly agree that .NET is now the best platform for it.

The issue is that on this front we are discussing three levels: the language, the platform and the operating system. The only language supported by the "Java" platform is Java, but it targets multiple operating systems; whereas .NET supports multiple languages and mainly targets the Windows operating system (although as Hans-Eric mentions the Mono project widens this base a little).

While I would certainly agree that C# is the lead language for the .NET platform, I would suggest that the differences between the majority of the .NET languages (such as VB.NET, etc) are now almost non-existent, which leads to an interesting conclusion.

It seems to me that an undeniable trend is that modern programming languages are converging in terms of their functionality and that sooner or later the choice between one language and another will largely be down to personal preference over the syntax used by a particular language.

Obviously, this trend is driven by the use of virtual machines that run compiled bytecode (ie: virtual machine code) rather than native machine code.

More about Alastair Revell

Wednesday, August 22, 2007 11:54:58 AM (GMT Standard Time, UTC+00:00)  #
Comments [1] Coding | Trackback

Wednesday, August 22, 2007 1:54:36 PM (GMT Standard Time, UTC+00:00)
Great post!

My comparison was restricted to the two platforms: Java and C#.NET (since that was what the topic of the article I wrote for the computer magazine). I should have been more clear in my conclusion which should have been "the best platform, of the two, for Windows based systems"...

I totally agree with you though, the trend of language convergence is driven by VM-based and interpreted languages. There is one shining exception though: The D Programming Language. It combines the power of C and C++ with cool modern features like garbage collection, dynamic arrays, design by contract, and built in unit testing. I've written a post with the topic "Agile low level development in D" on my blog in case you would be interested.

Best regards
Comments are closed.
RSS 2.0 Feed If you enjoyed reading an article on this blog, why not subscribe to the RSS 2.0 feed to receive future articles?
   
Revell Research Systems Logo Visit the Revell Research Systems Web Site if you want to learn more about this management and technology consulting practice.