.NET for Apache
PerlGuy was so kind as to forward us the news about the joint Apache/Microsoft combined press conference scheduled from Wednesday at the OSCON Quote: "We will announce news related to the Apache web server and Microsoft's
development technology, .NET. This should be one of the biggest
announcements of the conference..."
The email he recieved: Covalent Technologies will be holding a press conference at the O'Reilly
Conference on Wednesday at 3:15 in suite 415 (during the afternoon break).
We will announce news related to the Apache web server and Microsoft's
development technology, .NET. This should be one of the biggest
announcements of the conference and an interesting follow up to Microsoft's
appearance last year at the show as well as to their general comments on
open source. Executives will be on hand to answer questions or to conduct
one-on-one interviews after the announcement.
Yes and Yes. Go to http://www.asp.net and you can download compilers and participate.
Sorry to disillusion you.
It's all about the libraries. I think the massive ammounts of libraries are the main reason Kaffe only supports Java 1.1. Do we have any idication that the .NET library set will be smaller than the Java 1.2 library set?
Do you think the .NET upgrade cycle is going to go throug versions any slower
than Java? (Remember, selling new library/VM versions makes MS more money.)
In short, the CLR will be cross-system. .NET probably will not work well at all
cross platform unless the program writers strictly discipline themselves to use a
small subset of the .NET libraries.
Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
How is that a joint press conference? My guess is the Covalent folks have an Apache application server targeted to the .NET runtime, that integrates well with .NET and web services. Just like Apache Tomcat, etc., does for Java. Probably open-source.
Should I be scared, or concerned? I don't see why. It'll be another interesting technology to play with.
Ryan T. Sammartino
"Ancora imparo"
C# and other key parts of .NET have been submitted to standards bodies, so yes, there is an open forum for people to have input. More, in fact, than their is for Java, which Sun have refused to submit to standards bodies.
I'm too lazy to bring up the ./ article, but there were some benchmarks less than a year ago showing that for most applications (graphical I/O being the notable exception),
the latest IBM JIT JVM outperforms C++ using the MS VC++ compiler with the default optimizations.
I'll agree that sometimes the JVM takes forever to load, but the latest IBM JIT JVM continuously profiles your code and then does the equivalent of compiling the most commonly run parts with all of the optimizations turned on. I would guess that C++ does better relative to Java on non-x86 platforms, at least if you're using one of the older JITs. This is becuase the register-starved x86 looks pretty much like a stack-based machine in comparison to say the IBM POWER, HP PaRISC, or Sun SPARC CPU families. However, the latest IBM JIT probably does wonders to naorrow the gap on machines with 16 or more general purpose registers.
Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
I hate to sound like I'm defending MS, but IE runs on my Mac (I replaced it w/ Moz) and I believe there is/was a Solaris version as well.
I've never purchased an MS os and I don't use them willingly. However, claiming that IE only runs on Windows when the Mac version is more standards compliant than the Windows version is just silly.
t'nera semordnilap
Mono is only going to implement the VM, you most likely are still going to need tons of libraries.
.NET framework - most noteably the classes pertaining to web applications (ASP.NET).
This is wrong. All someone has to do is go to the mono project's home page and see that they are implementing the vast majority of the
There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
It really is a classic example of using disruptive technology ( http://www.accesstoenergy.com/view/ate/s41p877.htm ) to try to take down an entrenched and massive competitor (apache). MSFT is 'embracing' now; watch for them to 'extend' like this: "IIS is much easier to administrate and it comes free on that OS you had to buy anyway. Plus, it's got better native support for that .net stuff everyone's doing on Apache." In true disruptive fashion, they'll be smart to close the specs more and more as they become less of an underdog. I'm not trying to be cynical, that's just the most efficient way to take mindshare, and ultimately marketshare. Once people see IIS and Apache as interchangeable, you can be sure MSFT will start the extending process to differentiate its product from the competitors.
.Net desktop apps on a cheap *nix box. Now that would be cool...
Mono, on the other hand, is an interesting project because Gnome is vastly eclipsed by the Windows desktop. They could actually get to the point where they're disrupting MSFT windows by running
Whoah there!!! That's some concentrated FUD you're spreading there (FUD is like vegemite...anything more than a thin layer will leave a bad taste in your mouth).
.NET. Sure, it's not finished yet, but it proves that competing implementations *are* possible, if someone is motivated enough to get off their ass and code the thing...The specs are publicly available.
.NET time, and we'll see competing implementations.
.NET etc) has made Apache a trivial communication layer to implement the HTTP protocol. So MS never has to develop a quality web server (something they are aparently incapable of,) and Apache will run on every computer that isn't running some bass-ackwards NES server.
.NET was an implicit endorsement of J2EE. Now, with this announcement, Sun loses that endorsement. Frankly, considering how Sun has treated the Apache group, they deserve this.
As for implementations, check out Mono. Pure, open-source
I doubt you've been seriously using Java from its inception, 'cause if you had, you would've remembered how long it took before we saw non-Sun JDKs...give
Sure MS is evil, but this is a win for Apache too. MS is basically conceding that their web server is sub-par...and they have no reason to compete with apache. The evolution of the app server (J2EE,
Frankly, the only loser with this announcement is Sun. The fact that Apache supported J2EE and not
"Don't blame me, I voted for Kodos!"
Cheer up folks... DotGNU, the GNU project's complete replacement for MS.NET, is the answer.
DotGNU's Portable.NET provides support for C# development and a CLR to run the IL bytecodes with. The compiler is written in C, meaning that its performance is far better than the Mono and MS.NET compilers. Also, it can bootstrap off of gcc (side-stepping many legal issues with MS that Mono will probably have to deal with).
The DotGNU SEE provides the framework for data marshalling and security of downloaded components. The plugin architecture of the SEE provides the ability to run a JVM (or Perl's Parrot vm, for that matter) as easily as the pnet CLR; plugins should also be able to provide data marshalling between the runtimes as well as between runtimes and native code. The DotGNU DEE (a distributed collection of SEEs) provides the server side support.
The DotGNU Virtual Identities system provides a passport/hailstorm replacement that is secure, decentralized, and even allows the individual to serve up their own info. instead of relying on a third party.
The DotGNU project is also a GNU/FSF project; most of the code is owned by the Free Software Foundation, and is therefore permanently GPL protected.
DotGNU is also aiming for full ECMA compliance, while still providing an ever-growing collection of GNU extensions which are available via the non-standard DotGNU namespace.
Within a year, DotGNU will be a superior and fully working replacement for MS.NET, and if the folks at Apache have any sense, they'll leave the darkside and join us back in the light.
Actually, I'm willing to bet they release it for FreeBSD as well as windows. The MS source for the CLI,CLR (can't remember what the acro's mean) and other bits can compile itself for FreeBSD already here.
this is a Covalent thing not a apache thing.
you will have to pay $$$ for this
Ok here is what ASP.NET is.. you all know about jsp and servlets right...how you use jsps to format data in beans into html tables and use servlets to populate/create the beans from requests.
.NET well it is really just a runtime.. like the jvm that runs byte code. What is .NET to windows... well it is a bunch of class libraries that interface into the lower level API for doing things like making gui interfaces; creating sockets... marshelling remote function calls...passing proxy objects... its kind of like RMI,SWING,RT.JAR,JDBC for windows.
... M$ is just a tool vendor that didn't like to play in Sun's court and made their own. Of coarse they own the tools and the tool runtime ... known as windows.
Now in ASP.NET all your servlets/beans are controls/session state that gets managed for you. So instead of making that table in a jsp file and then running a loop over a result set to output your table; now you make a datagrid control and hook up the dataset directly to it. So the web guy can change the L&F of the datagrid (through properties on the control tag) but not really mess with whats displayed unless they know how the select was formed and then can add or remove columns that are displayed. ASP.NET runs everything in one form on a page and routes button clicks through interesting javascript code that posts special things to the Page class backend; which then parses all this stuff and fires an event on your backend control. (Note I haven't had the best of luck with the routing of these damn js events=>backend dynamiclly created controls)
As far as just plain ole
Nothing new here
you don't even need a .java file per class...if you are creating a private class (one which may only be accessed by members of its package) then it may go in the same .java file as a public class which may access it...bad project management, trying to find a class only to realise it doesn't have its own file and is in another I agree!
Personally I think java is great for when you have to get something up and running fairly quickly and can't be arsed to look for all those memory leaks you can get in c/c++. Which would you prefer, fast incremental garbage collection or a memory leak and the need for a reboot? I know which one I would go for.
Also with the release or Merlin (j2 v 1.4) and the non-blocking I/O api's (i.e. no need for a thread to be dedicated to each incoming connection as a client handler) java's a good choice for R.A.D. of server code (hell...I wrote a new version of a chat server I sell in seven days...it's been live on a large, ahem, "adult entertainment website" for a couple of months with no problems reported back to me yet (and they know that they can contact me 24/7 on my mobile...how many times do you think I've taken a call, let alone been woken up in the middle of the night? Zip).
Basically I don't think this feat would have been possible using c++.
I am NaN
What you said about needing .NET on both ends is absolutely untrue. Web services produced by .NET are perfectly capable of interoperating with any other platform that can be made to make SOAP calls.
(Oh, look, work on Tomcat and we'll make it the reference JSP engine! Oh, now we've changed our minds!)
Sun no longer considers Tomcat to be the reference implmentation for Servlets and JSP? Well, someone should really tell the Jakarta people about that. Look, right on their Tomcat Site, they've got: "Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed by Sun under the Java Community Process." If that's not the case, they really should be told so they can change that blurb!
It's obvious that 95% of you slashdotters haven't ever used .net. Currently .net executables will run under the apache webserver. so long as it's on a windows box and the .net framework are installed on the machine. they do not run on linux and won't until the mono project(linux version of the framework) is complete and I don't think that's anytime really soon. and don't forget .net for OpenBSD in ROTOR is in the works too.
I love this. "Some benchmarks less than a year ago." How about a citation for that? I'd certainly be interested.
These sorts of comparisons are notoriously difficult because they are often inherently apples-and-oranges comparisons. However, here are a few reasonable (and recent) citations that document a persistent performance gap between Java and C/C++.
@article{ fitzgerald00marmot, author = "Robert P. Fitzgerald and Todd B. Knoblock and Erik Ruf and Bjarne Steensgaard and David Tarditi", title = "Marmot: an optimizing compiler for Java", journal = "Software - Practice and Experience", volume = "30", number = "3", pages = "199-232", year = "2000 }
@inproceedings{ veldema01optimizing, author = "Ronald Veldema and Thilo Kielmann and Henri E. Bal", title = "Optimizing Java-Specific Overheads: Java at the Speed of C?", booktitle = "{HPCN} Europe", pages = "685-692", year = "2001"}
@article{ prechelt00empirical, author = "Lutz Prechelt", title = "An Empirical Comparison of Seven Programming Languages", journal = "IEEE Computer", volume = "33", number = "10", pages = "23-29", year = "2000" }
If you are a software developer and want to leverage a Microsoft component you have no right to do that at all. Or does Microsoft now permit you to take some of its proprietary code and distribute it under a license of your choice? Last I checked you could not distribute their code at all.
You don't expect to have any rights to a proprietary code, yet, just because something is Open Source, you assume that you have a God-given right to do with that code as you please, and GPL takes that right away. Bullshit. You cannot distribute someone else's code unless they grant you permission to do so. In the case of proprietary libraries, that permision comes in exchange for payment. In the case of GPL, such permission comes automatically if you accept the terms of the GPL.(*) If the payment is not acceptible to you, then write the code yourself! And stop repeating the "viral" FUD, it makes you sound like an idiot.
(*)Some GPL developers will also let you use their code in your proprietary product in exchange for monetary payment. Just like proprietary developers.
___
If you think big enough, you'll never have to do it.