Living Every Minute
Boy... what a weekend... When you work as much, and as hard, as I have been working, weekends seem like the idea time to slow down, catch your breath, and rest up for the week ahead. Yet, when it's the only really good time I get to spend with my kids, it's not a time to rest, but rather a time to play.
That makes it a very tiring time... I come home on Friday, tired from the 12+ hour days and want to rest. But that's just when the kids want to play. It's rough-n-tumble, or it's hide-n-seek, or it's reading books, listening to what's happening, or playing games. Whatever it might be, it's non-stop activity for me. Yikes! It's hard work, but I can't imagine not doing it. I just wish I felt I could hold up under this stress... I have a feeling that this can't hold up for long.
On the work front, things are going well. When I was working in JDK 1.1.8 and read about JDK 1.3 (a.k.a. Java2) I was convinced that there wasn't a thing in Java2 that I couldn't do in JDK 1.1.8. Now that I've been working in Java2 for a month, I am convinced that I was right.
Oh sure, the HashMap is better because it allows nulls, but that's a marginal improvement in functionality as opposed to adding really new classes like built-in persistence, object-relational mapping, or even something as simple as altering the security system to allow JDBC connections from within the sandbox to a machine different than the one the applet came from. Those would have been changes that would have made the move to Java2 as compelling as the move to Java in the first place. And while I understand Sun's financial motivations, I can't help but wonder what Java would be like if it were backed by something more like the Open Source movement.
I think we'll never see all that I want in Java within the language. And it's primarily because Sun wants to sell these components that it feels are "add-ons" and I feel are fundamental parts of the language. Oh well... it's nice to know that my impression of Java2 was right on the money.
I finally got back to Slashdot today and caught some of the hub-hub about Mono, Ximian's new project to compete with Microsoft's .NET project. There are always folks that want to make life black and white... Microsoft is Bad and anyone dealing with them is, by association, Bad. And while I can't imagine I'd ever buy a Microsoft OS again, I can see that you have to respect the fact that Microsoft is the major player in the desktop market, and they will succeed if it's at all possible for anyone to succeed. They simply can afford to give it away until it becomes a success.
So in comes .NET - a sham in my book because I can't see the reason for it. The web is nice, the web is good, but there's a fundamental limitation in the web because of the page-based representation. It's good, but shouldn't be pushed into applications where it doesn't belong. There are plenty of web-building frameworks out there, and ASP/IIS is certainly as successful as any other. Why they need to make it accessible from all languages - and even create a new language (C#) to use it is beyond me. But they did, and if they want to, it'll be like IIS/ASP and be in every server (for free) they sell.
This means it'll succeed simply by having a large user base. Consulting shops will use it because it costs them nothing to deploy it, and their clients will already have it. It's a real no-brainer.
Yet to try and make it work with Open Source - specifically, to try and build an alternative is, I believe, very ambitious. I don't know that I'd try it. I don't think it's needed, but if I believed that it was needed, then I'd be very interested in having some competition to Microsoft. And I'd think Microsoft would be interested too, in light of their anti-trust issues.
But on Slashdot there are kids that still live with their parents, and teenage beliefs in good and evil are easily enraged by Ximian's move to try and fill the need as smoothly as possible. In this case, that means working with Microsoft as opposed to fighting them on it.
Again... I can't imagine why I'd ever want to do this, but if I did, I'd much rather it be through something like Mono - even if it eventually goes to Microsoft's systems eventually, than having to use a 100% Microsoft system from the jump. It's just like FreeTDS, or EasySoft's Bridges... it may be a fact of life that I have to deal with Microsoft at some point, I'd just like to be able to control what that point is.
OK... I've read more on Mono and I have to say that the hub-hub is even more overblown than I had thought. Also... I might like to have Mono.
The real project is about getting the C# language and APIs to Linux in an Open Source project. The real point for Microsoft is to create a VM that can be embedded within any language and therefore make shared components very easy to use. If you make a C# object that does authentication, then you could use it within Visual C++, VB, Ada, etc. No need to mess with recompiling the library, etc. It's a Java-like .class file and VM that makes it all work.
In that sense, it's a language and might be quite useful to have. If there is going to be a lot of code generated in it, it could be quite beneficial - like having f77... maybe you might not need it for a year, but when you do, it's nice to know it's there and will work for you.
Then in comes Mono and all they plan to do is to build the C# development environment, integrate it with CORBA and GCC, and get it going on Linux as well as it will be going on Windows. That's a reasonable goal. The design seems OK, and while it's nothing really new (when compared to GNOME) it's being backed by the 800 lb. gorilla, and that makes it something to think about supporting simply because of market share.
Interesting... and the Slashdot comments seem even more incredible...
Most importantly, Mono is not a complete .NET replacement... it's just the language, APIs, libraries and runtime. That's it. In that spirit, it's no different than putting Java on Linux - new language, new runtime, new libraries, and it took a long time to get Java stable on Linux. But it was, and is, a good thing. Mono may succeed, and it's just a C# environment, which is fine.