Archive for the ‘.NET’ Category

SQL and XML are not that different

Monday, May 9th, 2005

About a year ago, I had presented my 8th semester presentation on Xen, now called C Omega. It is a language that combines SQL, XML and OOP into one tight language. The paper that proposed this language was named Programming with Circles, Triangles and Rectangles. The circle represents the encapsulation behavior of objects and OOP, the triangle represents the tree structure of the XML and the rectangle represents the tabular structure of databases.

Video of Anders Hejlsberg talking about C# 3.0

I recently came across Anders Hejlsberg’s interview on Channel 9 regarding programming data in C# 3.0 and it looks like C-Omega is going to be ‘merged’ into 3.0. Its amazing that MS has taken this concept (which seemed totally radical to me when I first read about it) to production quality and is actually going to make this a core part of their platform.

Let us consider an example of using C-Omega. Suppose you want to handle books in a program used to manage libraries. Then you could write a book class using C-Omega as

[code] public class book { sequence { string title; choice { sequence{ editor editor; }+; sequence{ author author; }+; } string publisher; int price; } attribute int year; } [/code]

The cool part is that the above same class can be used to store the data either as XML or in a relational database. You can also instantiate an object using XML syntax:

[code] book b = SwaroopC H www.byteofpython.info 250 ; [/code]

Note that this syntax is still static typing. Needless to say, the C-Omega compiler must be one heck of a monster.

The Python connection is that the C-Omega-ish method of access will probably be included into IronPython at some stage. Even if that doesn’t happen, we already have Pythonic ways of doing XML as pointed out long ago by wspace.

If you have ever written a program that uses databases, I highly recommend reading the Circles, Triangles and Rectangles paper. It just might change the way you think about databases and SQL, or even XML for that matter.

You can also download that old presentation of mine on Xen.

How to kill an open source project…

Sunday, March 27th, 2005

… by hiring the top guy into your company and then cut off all incentives for the community to get interested.

Yes, I’m talking about IronPython and in this case, the company happens to be MS.

Read what Edd Dumbill has to say about it, especially this part:

Third-party patches won’t be considered until after the 1.0 release. Hugunin encourages people to be involved, but only in filing good bug reports and feature requests. And when doing this involves a .NET passport, and using the GotDotNet web forums rather than good old mailing lists, it’s a bit of a disincentive. Added to that, there’s some uncertainty about the freeness of IronPython’s license. While it looks free, it’s got the same name, “Shared Source”, as several Microsoft licenses that definitely are not free.

I have nothing more to say except that such an awesome ‘open source’ project has been effectively killed off - IronPython may go on to become 1.0 but it is now reduced to a one-man show when so many people could have contributed to it.

Dynamic Java

Thursday, December 9th, 2004

Good to hear that Sun is finally serious about dynamic languages on Java. It’s no secret that I don’t like Java. I don’t want to start a holy war here - it’s just simply my personal preference, I don’t like the ’smell’ and ‘feel’ of it. But it would be great to write stuff in Python and get it running on top of the Java platform. That would surely be good for everybody. It would make more sense if all the big corporates also tried using Jython or Groovy - it would lead to much happier and saner programmers and better products as well. Oh, and it’ll run on the Java platform.

Then again, I agree with Dumbill that the lack of activity on IronPython is discomforting.

Btw, don’t forget to read that first link - It must’ve been awesome to have Larry Wall (creator of Perl), Guido van Rossum (creator of Python), Dan Sugalski (Parrot) and Samuele Pedroni (Jython), James Strachan (Groovy) all in the same room and discussing dynamic languages! :D

IronPython is open source!!

Thursday, July 29th, 2004

IronPython has been released as open source!! Get it while it’s hot at IronPython.com !

Idea 2 Language

Wednesday, June 9th, 2004

Eric Gunnerson explains how an idea becomes a C# language feature….

The C# 2.0 Specification has been been updated on generics, iterators, anonymous methods, partial classes and other miscellaneous features .

All about Longhorn

Tuesday, May 18th, 2004

Here’s the one stop shop for all your Longhorn news and information - Paul Thurrott’s SuperSite for Windows: Longhorn Activity Center

I love the screenshots put up here.

Innovations in C#

Tuesday, April 20th, 2004

I’m reading a very interesting article on the next version of C#. It’s fascinating. I seriously wonder why Java does not make strides like this, especially with supposedly much more widespread support than C# and .NET??

What does the open community lack in making such huge innovations? Don’t get me wrong, I’m not saying the open source community lacks innovation - it doesn’t, see the Dashboard to understand what I mean. What I am trying to say is that I feel there are no major initiatives such as new platforms like .NET by this community.

Is the widespread nature of this community the very reason for this? Or is it just that Microsoft is really good at integrating good ideas and packaging it into a neat manner like Longhorn? Why isn’t there anything to match Visual Studio .NET yet?

I am at a loss to understand the answer to this question.

The Original and the Next-generation Clone: Java and C#

Monday, April 5th, 2004

I always wanted to put down what I felt were the improvements in C# over Java. Looks like I don’t have to do it - Gary Cornell has done a good job of it already.

Managing The Future Of Open Source Software

Monday, March 22nd, 2004

There is an open discussion going on about the future of open source software. It all started when Havoc Pennington started a discussion on Java, Mono or C++ - Thoughts on the future of open source desktop development. This was followed by replies from Lupus and by Miguel de Icaza and further discussion from Havoc on his log. This is a very intriguing and interesting discussion.

My thoughts on the discussion… well, see my writing on Why Mono?

For me, the only thing stopping Mono from taking over the world ;-) is the legal situation, especially, vis-a-vis Microsoft. It’s sad that creating software has got more to do with lawyers than programmers now-a-days. I am keeping my fingers crossed for the results of the Novell Legal Review of Mono!

Nemerle

Wednesday, February 25th, 2004

There is a new kid (language) on the block called Nemerle . It is an interesting hybrid language and at first impression, it looks like a mix of Perl and C#. It has some interesting things such as the when loop instead of the if loop as well as dynamic typing which makes it an interpreter-kind of language. I liked the def syntax but not the mutable syntax. Just first impressions…

The tutorial gets right down to business and there is a separate page which neatly lists the differences between Nemerle and C# in a table. There has already been a 0.10 release as well and works on Mono 0.30 as well as Microsoft .NET.

An interesting aspect is that Nemerle is yet another open source technology, and language in this case that is taking advantage of the .Net and Mono frameworks (as compared to the Java framework). The fact that these frameworks are fuelling such innovation is very compelling. Also, the multi-language capability of .Net/Mono is highlighted here.