Portable.NET Now 100% Free Software
rhysweatherley writes "Finally after months of hard work and bucket loads of caffeine, the
DotGNU community has finally got
Portable.NET
to the point of building our C# libraries on many Free Software
platforms with our own C# compiler.
This is a big deal! Portable.NET is now 100% pure Free Software,
with no dependencies on third party C# tools. The compiler, which
is written in C, bootstraps off gcc, so there are no icky 'how to
compile the compiler' problems. And it's fast! The DotGNU team consists of lots of contributors, many of whom are
coincidentially named 'Rhys Weatherley,' but this wouldn't have been
possible without the support of the DotGNU community, especially
the Weekend Warriors. .NET is not the only thing we are doing. We're playing around with JVM and Parrot (of perl6 fame) backends to the compiler. And we have a
C compiler front-end that generates pure bytecode apps that can run
on any decent CIL implementation (Portable.NET, Mono, etc). We are about 95% of the way towards our first milestone of an
ECMA-compatible C# implementation. There are lots of things still
to be done in the low-level C# libraries, runtime engine, and the
compiler. So, if you have some time on your hands, and like messing with
languages and stuff, like yours truly ... have look and maybe
have some fun!"
Time to re-evaluate... It might be good afterall...
So confused... Is it weekends that we like MS, or just Saturdays, or just 6-7pm EST...
Damn it...
Tournament Management Online &
So how do the two projects, DotGnu and Mono compare? I could be way off base here, but it seems to me like yet another of the great OSS wars. You know, vi and emacs, kde and gnome, etc.
Can someone please tell me I'm wrong and explain why?
Blink
You should have a look at #Develop. I really like it and it is Free Software too :-)
t .a sp
http://www.icsharpcode.net/OpenSource/SD/defaul
"I'm not sure why so many man months were spent trying to hook into .NET. Couldn't we have spent more time refining the applications, utilities, and system code that we already have rather than wasting time extending the Microsoft monopoly?"
Alternative C# compilers have the potential to undermine rather than extend the MS monopoly, simply because they are an alternative source for a C# platform.
The real trick would be getting C# programmers in the habit of targeting just the ECMA standard rather than the standard + MS lock-in extensions.
I guess I have some rather severe misgivings about this - how useful is this going to be given the lack of the proprietary MS libraries that you are going to need to run real-world applications, or move code in a portable fashion from one machine to another?
It's nice to have something like a this in the free software regime from a technical perspective, but is it really ever going to be anything but a little sister to the Microsoft version? Won't that reality diminish the corporate view that Linux is really just a hacker's toy, and if you want the real thing get Windows?
Interoperability and portability are good, but interoperability really occurs at the protocol level, and portability requires libraries.
I can see this resulting in are misleading market claims from Microsoft saying things like Lookie Here C# code is portable just like Java code !!
One good thing that could come out of this is that it might force Sun to loosen it's grip on Java a bit so that we get more serious open JVM's etc.
This is an interesing development. However: I wonder how useful this language is on non-windows platforms. Let me explain.
You see, I have just started a new job that is heavily leveraging the
If you haven't written JScript, VBScript, or WSHScript, you have no idea just how amazingly powerful this is. A database connection & query takes around 4 lines of code. I was able to master in-code LDAP (Lightweight Directory Access Protocol, aka Active Directory on Windoze boxes) queries in less than one day, having never touched an LDAP server in my life prior to that.
.GNU project aims to bring ActiveX functionality over to *NIX, and port all of the cool ActiveX objects like ADO (Database), DOM (XML), System.DirectoryServices (LDAP), FSO (Files), etc.
Sadly, *NIX has never really implimented anything like COM. Each programming language still has to be manually extended in some form or another to recognise new APIs -- headers for compiled languages (and remembering to link to the libraries), or worse, "extension agent" coding for dynamic languages like Perl and Python (assuming the API code is a binary shared library). And APIs are almost never identical accross multiple languages.
So, really: what is the need for C# on *NIX? None of my c# code that I am writing will port, because it is heavily dependent on the COM/ActiveX objects to get the real work done. Unless the
Is thes even feasible to do?
In comparison, Sun has granted the Apache and all open source developers FULL access to the specs, test kits and granted the full rights to develop competing products under the JSPA. Sun mhas also fully opened up the Java development standards process under the new Java Community Process (JCP).
There those that claim that .NET is open to re-implementation, but until Microsoft make a simliar public legal declaration to Sun's JSPA, any .NET reimplementation represents a pending legal mindfield.
Sure, C# is a good language compared to C and all that. But then that's true of a whole bunch of languages out there. You could easily enthuse just as much about OCaml or Scheme or Ruby or Smalltalk. It doesn't seem that C# is the best language out there, just that it is 'better than C most of the time' (which isn't difficult, now that CPUs are so fast) and 'what other people seem to be using', in other words herd mentality. Which is fine - and the reason why I use Perl - but it's a mistake to think that technical merit and expressivity are something magically invented with C#, any more than the graphical user interface suddenly came along when Windows was released. Although some journalists do seem to have that idea.
-- Ed Avis ed@membled.com
The C programming language does everything I need it to do.
I too once was a C zealot. Then I had a job at Compaq which required me to develop in TCL which I hated at first, but eventually it opened my eyes a lot.
These days I do 90% of my work in python, it's a bloody great language. I remember when I first started hacking C about a decade ago, I'd pump out these little programs quite quickly but anything large took a lot of time, usually debugging. I never got tierd of C but I suppose when I started programming professionally it lost a lot of its appeal.
Anyway, I diverge.
Python lets me create complex systems very fast. The first time I used python I worte a client/server chat program, it took about half a day to do (including the basic python tutorial). I find I don't have the time to fuck around with C anymore, I don't find the joy in hunting down bugs either (at least I hunt less in python).
I still use C on occasion though. But only then I can't do it fast enough in python, the C code is still usually ran from python in the end.
He who defends everything, defends nothing. -- Fredrick The Great
cant_get_a_good_nick wrote:
n ium/mgoals.html).
.Net runtime). Install it, or let it install itself, and you will be making regular payments to Microsoft if you ever want to use your computer again.
.Net is available for Windows, and well on its way for Linux and OS X. Longhorn may well be Millennium.
> thinking Microsoft would have to wait until 2002
> for a cross platform threat...
No, they had to wait until they had a Java-a-like that they could control, and a bunch of silly collaborators to port it to anything in sight for them. Convincing the world to make regular payments for the continuing use of their products, as opposed to one charge up front would also be a big help.
Then they can pull out the operating system Microsoft Research has been sitting on since the late 1990's. The operating system that is platform independent and runs on top of their Java replacement. The operating system that will swallow the internet into a single giant distributed network under their control, giving them the 100% monopoly of their wildest dreams. The operating system called Millennium (http://research.microsoft.com/research/sn/Millen
With per use charging, the OS itself could be given away on CD ala AOL, made available for free download, and/or automatically installed on XP machines via Windows Update (gee, I hope you didn't install XP Service Pack 1 which includes permission for them to do this and the
I don't think we have too long to wait.
Mind you, this is a giant gamble on Microsoft's part, and they are as likely to get nuked (figuratively, or even literally if a foreign country gets too annoyed with Microsoft's attempt to take over their country's computers) as they are likely to succeed. I don't think the company would survive a stunt like this, but they survived Bob, the antitrust trial's joke of a penalty phase, and Licensing 6.
This isn't a case of poor misunderstood Microsoft, either. Why else would they codename the original Millennium JVM "Borg" (http://research.microsoft.com/research/sn/)?
Shinoda: "The age of Millennium."
Io: "What does that mean?"
Shinoda: "A thousand year kingdom. It wants to create a home for itself. There is one flaw in its plan: Godzilla."
"Godzilla 2000 Millennium" (Japanese version)
This place is really getting full of M$ trolls.
.NET$ "innovation". Bill and his buffoons must be smoking a big fat one with a smile now.... And we are even lighting it for them...
.NET vital infrastructure source code real soon now, since we are so nice in contributing to the hype and fud ourselves. And of course, there is no way in hell Bill will pollute his own spec just for our own good and for the sake of his own pocket... Noooooo, of course not!
.NET$ aberration and you will be the one laughing, not Bill and his monkeys.
Dont you all see the pattern here? Oh geez, let's all begin developping using this so neat C$ language and let's contribute to this so great
The trap is set, and we are happily jumping on the trigger using both feet. Of course, Bill will help us out by releasing his
During this time, Java continues to die slowly, getting fewer and fewer developpers. Don't you realize that we are contributing in digging our own grave?
Java might be not so great, but it is still the only true alternative to this M$ obscenity.
Please people, read the J2EE spec, the Java language spec., and go play with JBoss for a while... Then, come back, and take another look at this
Wake up people!
Zruty
Zruty -- Ruler of Zrutland
I've yet to see anyone address this point, which must be made. I'm not sure what that "remoting and web service architecture" is. I don't know. But I damn know one thing: in three or four years Microsoft will obsolete that technology, and it will be replaced with something else.
Microsoft receives significant revenue from training armies of MCSE, using endless arrays of certifications and development programs. And, as such, they have a vested interest in keeping the revenue alive with what I call a "steady technology churn." They can't just pick an API, and go with it for the long term future. They need to force all the MCSEs back into the training camps, in order to make sure that their paper certifications do not expire.
I dabbled with some Windows programming, many years ago. You wanna know one thing? Nothing that I've learned back then is worth today any more than a hair on my ass. VBX controls, DAOs, all of that has long been made obsolete. I've done _nix programming for quite sometime before trying the Windows waters, but I quickly figured out what was going on: that the primary occupation of a Windows developer is to provide revenue to Microsoft, in terms of continuing MSDN subscriptions, fees for an endless stream of documentation for Application Interface Of The Year.
"Developers, developers, developers", indeed...
So I quickly ended that short term experiment, and went back to hacking _nix. The thing about _nix -- which is 180 degrees opposite of Windows programming -- is that the skills and the knowledge that you've learned ten or fifteen years ago is still used, and is as valid today as it was back then. If you go and learn today's crop of Windows APIs, in just a couple of years all the time you've spent today would be a complete and a total waste of time, because nothing that you've learned now is relevant any more, it's been obsoleted.
On the other hand, things like file descriptors, pipes, sockets, and other basic POSIX APIs will still be just as useful ten years from now as they are today, and as they were ten years ago. That is not to say that you won't learn anything new in the mean time. On the contrary, I have learned many great _nix technologies over the years, and I'm sure that I'll keep learning more exciting stuff in the years to come.
The key difference is that everything that I will learn will only complement, enrich, and add to my existing, growing base of knowledge. Unlike with Windows, where its only purpose would be to replace stuff that's been obsoleted by Microsoft. As a Windows programmer, I'm in for a lifetime's worth of a struggle to keep churning through one API after another, one Microsoft language, or library, or interface API after another, all while being milked by Microsoft for the training and development fees in the mean time. As a _nix programmer, I'm in for a lifetime of enrichment and expansion of my technical skills and knowledge.