Perl and .NET 166
Kaufmann writes "Good old Perl guru Nathan Torkington has an article on O'Reilly's perl.com about "What every Perl programmer needs to know about .NET". It's quite short and, unsurprisingly, favourable to .NET (although not to Microsoft). Points to the SOAP module on CPAN and a bunch of other stuff. It contains a nasty error, though: claims that Java is the only language that compiles to the JVM. Check it out anyway."
Vaporware? (Score:5)
It's already released (well, as beta at least). MS sent out the beta [microsoft.com] kit for Visual Studio .NET about a month ago, anyone can get it and try it out. A few weeks ago, ActiveState released the Visual Perl [activestate.com] plugin for VS.NET, along with Perl for .NET [activestate.com].
I'd say .NET already has a strong presence, for better or for worse. The Question really is when it's actually going to be released as a final product.
Re:Ugh... (Score:1)
Re:"Java is the only language..." (Score:2)
Re:no advantage of .NET over Java (Score:1)
Oh man that's funny MS actually going to deliver some cross platfrom thingie. That's just rich. Thanks for making me laugh so hard.
This is a good point, even if it's from an AC. We should be skeptical of Microsoft's claims in this regard, given their long history of promising new technologies in order to retard the market and then ultimately not delivering. Also, consider that Microsoft really has very little motivation to provide a truly cross-platform development environment, but strong motivation to provide a competitor to Java.
If .NET is successful (and it may very well be if the technology is as cool as some people are saying -- and we know Microsoft's name will get it some serious attention even if it's crap) and if MS can keep control of it, I predict that MS will make sure that the non-Windows versions always lag just a little behind the Windows version, making it possible to argue that Windows is the better platform for .NET software.
Then again, maybe MS is finally deciding that, in the long run, locking your customers in is a bad business practice. IBM managed to learn that lesson and has become a staunch supporter not only of open platforms and Java, but even of open source software (not that DB2 will be GPLed anytime soon).
Nahhh... IBM had to get beaten severely about the head and neck before learning that lesson. MS has barely been bloodied...
Outside a dog, a book is a man's best friend. Inside a dog, it's too dark to read. -- Groucho
Re:What is .NET really? (Score:1)
While it's true that lots of languages can now target JVM's, this is not widely known, and for the most part the people that do know it say "so what? The JVM is dead".
Microsoft solved this problem by making the language a preference choice from the beginning. By emphasizing the CLR and IL from the get-go. Sure, C# has gotten lots of coverage, it's not the primary focus of
.NET has become a platform, instead of an environment or language in most peoples eyes. And one other thing, MS has submitted C# and the CLR to the ECMA for standardization, something that Sun said it would do, but then refused at the last minute (several times).
IMO, Microsoft is doing the right thing here. I know it's hard to trust them, and you probably shouldn't, but you can still recognize a good thing for being a good thing.
Firewalls still useful (Score:2)
I suspect you don't understand the value of firewalls.
You can still stop external computers from initiating connections to local computers. No need for the whole world to see my intranet web server. So blocking incoming port 80 is still valuable. Maybe I have a public web server behind my firewall, I can block incoming port 80 for all destinations except my public web server. The rule of thumb that you should firewall all incoming ports you don't need remains useful.
This leaves outgoing ports. If you open HTTP, a desperate enough program or user can always sneak out through the port. If it's possible to tunnel IP over DNS [slashdot.org], it's darn well possible to tunnel IP over HTTP [nocrew.org].
All you've lost is your false sense of security.
Re:Inefficienct but useable and can do more (Score:1)
Not really. Just don't fill out the data members that you don't want to. Perhaps include a mechanism for checking which ones are valid. Or, use a map/dictionary data member. You can be as selective as you like with CORBA objects, and there are many ways you can implement that.
Re:What is .NET really? (Score:1)
Oh yes, we have a winner here! Because as everyone has noticed the bug count on new software has been declining in the last decade due to the big improvements in developer tools.
Yes, we finally have it, THE SILVER BULLET!
And I have a bridge to sell you...
Re:.net and multiple languages (Score:1)
The code for Python under
IMO,
Re:Inefficienct but useable and can do more (Score:1)
A large supporter? What do you base this on? The last I checked Sun hasn't done anything noticeable with regards to SOAP.
In fact, the OASIS [oasis-open.org] group just recently rejected SOAP as their transport protocol and I believe Sun is a large supporter of that effort.
They've also announced the early access release of the JAXM API (XML messaging) so I'm wondering where you're getting this "large SOAP supporter" point of view...?
Re:Enough of XML (Score:1)
Re:Efficiency (Score:3)
Seriously, it's not that heavy weight. And you DO NOT need to build a DOM tree, there are myriad alternatives, such as event-driven processing of XML for one. XML-RPC is very easy and very simple. I can't speak for SOAP, not having used it, but XML-RPC has performed great in my work. It crosses OS'es, crosses languages, crosses platforms, and leverages protocols and knowledge we already have. This is great stuff.
Honestly, CPU power is cheap. In comparison to my hours producing something and diagnosing problems, CPU power is nothing. People are expensive, computers are getting ever cheaper and more powerful. Hell, cut back on bandwidth by using some of that cheap CPU power to gzip the XML stream as it goes across the network. As far as I'm concerned, fretting over the performance hits (which are really close to negligible from what I see) is silly when faced with how easy things can get.
Awesome!! (Score:2)
Re:"Java is the only language..." (Score:1)
Re:What is .NET really? (Score:1)
Re:.NET might be very good to us (Score:2)
Re:Efficiency (Score:1)
And anywho, it always fastest to just code everything up in assembly. You just have to decide where you draw the line between ease of implementation and speed of execution. I don't mind drawing it above and XML parser and HTTP client server.
Re:Enough of XML (Score:1)
As for HTTP, most firewalls will let it through so sys admins won't have to start opening up new ports for this newborn system.
There are other ways of doing this, such as CORBA. Look how that caught on like wildfire!
Re:When the Martians Land (Score:1)
M$ adds support for their new C# language, and for Visual Basic (their 'we're going to shove this down your throat whether you like it or not' language), and perl.
M$ controls C# and VB. It doesn't control perl. Basically they'll say "Hey -
At least, that's probably how M$ is looking at it.
It's entirely possible that this will go the other way and perl will become the standard language for
M$ doesn't need to make it's own perl - it just has to shoulder it out of the way.
"Java is the only language..." (Score:3)
Where Microsoft betters Sun is that while Java is the only real language that compiles to the JVM, Microsoft intends IL to be cross-language.
It's already been pointed out that this statement isn't true. Here's why, for those of y'all that don't already know. :)
First off, Java isn't the only programming language (or even the only "real" programming language) which works with JVM. One can point to JPython [jpython.org] as an example of a language which works with JVM. (Of course there are many out there who think Java isn't a "real" programming language. I'm not going to argue with them too vigorously, execpt to say that if BASIC on the Apple was a real language, then there's no reason why Python shouldn't be, either.)
The second reason, which is more substantial, is that JVM, while not exactly an open standard, is pretty much available to the public. In particular, the byte codes are well-known. While it's not trivial to port a language to a new instruction set, it's far from impossible. The only reason why there isn't, for example, a JPerl, JSmalltalk or JOberon, is because nobody's done the port.
Microsoft does have a vested interest in making .NET as widely useable as possible. That will probably include porting other languages to .NET, and maybe the unthinkable, porting .NET to other operating systems. Then all they'd have to do is keep .NET proprietary (but sell, for example, a standardized .NDK for people who want to port their favorite languages to .NET) and they could make a killing off the platform. Then it would be Microsoft versus Sun. A very ugly battle indeed.
ObJectBridge [sourceforge.net] (GPL'd Java ODMG) needs volunteers.
Re:RTFA (Score:2)
Re:Vaporware? (Score:1)
SOAP might not be MS only, but
So if I'm not on a Windows platform then how the heck is a component depending on ADO+ for its database connectivity going to work on my machine? Who is going to port all this stuff to all the platforms. They're closed proprietary technologies and I've seen no sign from Microsoft that would indicate this is about to change.
SOAP works across components on heterogenous systems because it's based on XML, but what makes it any more special than several other XML over HTTP solutions? SOAP alone certainly won't make components cross-platform, and neither will C#. A language without libraries and a transport protocol won't be enough. You will need cross platform libraries and in that area MS is several years behind the competition.
the future medium of all communication is going to be XML over HTTP.
Hardly. XML over HTTP is very good at integrating services on distributed systems but it certainly won't work for anything that requires high scalability. The overhead of XML will become a factor. I certainly would not recommend doing all communication - from client layer to the web layer to the middle tier all the way to the database in XML. That will just kill any heavily used distributed system. For infrequent data exchange and communication sure, but for those situations any protocol you're able to get through the firewall will work.
What is more critical for distributed component architectures and their integration is how will the transaction and security contexts be propagated from one component to another in the system. Fail to come up with a very good solution for this, and the
Re:Lots of languages for JVM (Score:1)
C++ for
Re:And you can't turn it off... (Score:1)
So? What do you want? Support for Windows 3.1? You have to draw your line somewhere when it comes to compatibility. They just happen to have chosen a spot that is between major releases of NT. It's a balancing act: make your life hard as a developer by not using newer technologies, or piss off a diminishing subset of users. I could complain that as a Slackware v2 user, that everything these days requires an upgrade to glibc!
Re:.NET might be very good to us (Score:1)
Possibly true, but that still is a metric-buttload of developers. Where I live, it's a lot easier to find work doing that then even Perl.
The Linux community really must get on board with this. IMO trying to outdo Microsoft might be possible by actually riding it's coattails on this one for a while. A web service implemented on Win2k for a bazillion dollars in hardware/license fees, etc. that could be implemented easier, cheaper and faster on Linux would be a reason to switch for a lot of people.
As somebody firmly in the Windows world, it is my feeling a lot of people don't approach Linux/BSD, etc. because it is hard for them to make the correlation between the stuff that they do/use/build with Windows and how you would do things on Linux/BSD. Lots of Windows developers got their start writing macros in Excel in VBScript.
Just a thought. Jeff
This would have happened anyway. (Score:2)
How long did you think blocking a port would sustain security? Ultimately, all traffic coming across the wire will have to be scanned, likely by highly adaptive heuristics that will attempt to discern the intention of the bits coming across. In this sense, SOAP may be useful - at least with a standard for encapsulating RPC over HTTP, we can strengthen this heuristics pre-emtoively, as the standard is being advanced.
Re:.NET may signal the demise of Linux (Score:1)
Can anyone point me at the definition of MSIL (Microsoft Intermediate Language)? I can find plenty of overviews of it but no detailed definition such as would be required to write a Linux back-end for it.
Thanks!
Re:no advantage of .NET over Java (Score:1)
It's about interoperation between the languages. JVM only supports the Java object model. No accomodations have been made for any other languages. If you want to interoperate, it can get quite difficult -- basically everyone ends up writing Java (even if it is Java in Scheme or Java in Perl).
You are also completely wrong about C++. Microsoft lets you use C++ to interoperate with .NET. You can use all of C++ (it gets generated
as binary code) and then at the edges you can use
a restricted subset to interface to .NET code (actually the restricted subset is an extension
on the side known as Managed Extensions for C++).
The switching from native code to bytecode is done for you. The .NET bytecode supports (unverifiable, but useful) instructions to do raw
pointer manipulations which mean you can access
C++ data structures from bytecode.
Your claim that there are "no major problems" is complete bullshit. The only language that compiles into JVM without problems is Java. Every language that is based on recursion has to jump through hoops just to do procedure calls. (Scheme, Lisp, Prolog, Haskell, etc). Languages with by-reference parameter passing are screwed too, they have to use crummy temporary classes (Ada, Pascal). Real dynamic method dispatch is very painful too (Python, Smalltalk).
The page listing 130 systems that implement existing languages based on the JVM fails to mention that they all suck. Doing the same on .NET sucks too, but it sucks significantly less. Microsoft have made *some effort* and have actually spent several *million dollars* getting
the feedback of 3rd party languages. Sun just
turn to 3rd party languages and say "you are
ruining our 100% Java policy -- go away!".
I know it's normal on slashdot to post about things you have only heard about 3rd hand, but since it's the holiday season perhaps people could take a little more time to read before they post. At least go back and read the other slashdot articles about .NET.
Re:What you don't know about .Net (Score:1)
Come back and complain when it reaches the release candidate stage instead of barely out of Alpha.
Re:gotta say, it sounds promising... (Score:1)
Re:.NET on UNIX (Score:2)
Re:I'm Not Convinced (Score:1)
DAO was really just the first go at an object oriented ODBC.
ODBCDirect was in response to the poor performance of ODBC.
RDO was a mistake.
OLE DB (despite it's crappy name) is actually a very good system.
ADO is merely a COM interface on top of OLE DB to create data collections and the like. For all intents and purposes, ADO uses OLE DB, as will ADO+)
RDS - Anything with the word Remote in it is a mistake, dont' use it (at least from MS).
Re:Efficiency (Score:1)
500 bytes is a huge IIOP packet. The same semantic could probably be expressed using 1/10 of a bandwidth in CORBA.
To handle a SOAP request, the software must not only handle the HTTP protocol, but also build a DOM tree from the request body and act on the nodes of that tree. So? Acting on the request itself (e.g. "buy 10 roses") is likely to be 100x slower than building the DOM tree.
But that's only if you want "to buy roses". What if you want to stream video? Or have real-time quake session? Because if all you want is to buy roses, frankly I don't see what's wrong with the current HTML-Form post.
DOM trees get built all the time for HTML documents. Why is building an XML DOM tree any worse?
Why do you insist on comparing this to HTML? HTML was never designed for RPC. IIOP is.
The point is that while SOAP may not be the most lightning-fast way to accomplish a particular remote method invocation, it is extremely scalable and flexible.
How is it more scalable or flexible then CORBA? Any proof?
SOAP, XML and HTML encoding is just a waste of bandwidth and latency for people who get confused by binary protocols.
Re:.NET might be very good to us (Score:1)
.NET might be very good to us (Score:3)
It would also be a great way to introduce a lot of people to free software. Once they saw the alternatives to Micro$oft bloatware, they would never go back.
They are plowing ahead so quickly that they will cause their own destruction, and Linux will step in to pick up the pieces and allow people to get work done better.
It's pretty neat actually (Score:1)
Re:Why .NET scares the hell out of me (Score:1)
Re:I'm Not Convinced (Score:2)
compiling to jvm (Score:1)
Lots of languages for JVM (Score:1)
The article makes the very inaccurate claim that .NET differs from JVM's in being cross-language. JVM's allegedly only support Java as a language, according to the writer.
This is nonsense. There are literally dozens of languages you can use to target JVM's right now. Two of my favorites are JPython (Jython) and NetRexx. But there are plenty of others, such as functional languages, Jacl (a version of TCL), Basics, and various other special things. About the only thing missing from the list of languages that target JVM's is Perl (perhaps this informs a bias of the articles).
Take a look at: Languages for the Java VM [apollo] for more information.
SOAP potentially a security problem. (Score:1)
At least existing RPC protocols utilize unique transports I can allow or deny easily.
I'm with you bud (Score:2)
1) A new, improved & innovative implementation of something someone else created 15 years ago
2) A new, improved & innovative implementation with lots of fresh undebugged code that nobody is responsible for, least of all Microsoft
3) A new, improved & innovative scheme to ensure that each cpu is running licensed code by 'phoning home' to central control, somewhat like a grand global version of the old Netware "there another server with my serial #" alarm (Office is already starting to do this, with a "you MUST electronically register this product, or it will cease to run after 50 times")
4) The usual code to "detect and complain" about foreign, non-Microsoft products via complex, baffling error messages to give the impression that the OTHER code is at fault and how wonderful everying would be if you would only use genuine, interlocking, Msft products.
.net and multiple languages (Score:3)
If I may make myself look smart after other people have corrected my mistakes on other fora: .NET has, at present count over 15 languages that work with it. To be sure, C#, Java and VB are not that different in principle, but languages like Scheme and ML have been integrated as well. This is no mean feat. Legacy code is catered for with COBOL and others. PERL and Python to round up the internet/scripting programmers.
They are so well integrated that an object in one language can be subclassed in another. Early reports are favorable - it remains to be seen if this amount of multi-language integration is a good thing (tm), but it's definitely an experiment to watch.
BTW, .net is thought to be more portable than win32 so it's not inconcievable that MS are contemplating cross-platform as well as cross-language.
MS is allowing third parties to plug in thier own languages, but comercial windows programming language vendors won't exactly be thrilled by the prospect of thier tool being reduced to a plugin for visual studio.
I'm thinking specifically of my favorite toy, Borland Delphi, here - are there any other major Windows programming tool vendors besides Borland any more? Microsoft's genius is that whilst other people may get good at thier game, they are in a postion to change the rules, and periodically they do. This is one of those. No wonder Boland are running for the safety of Linux.
BTW, one of the languages in .net is component-pascal, an OO descendant of Oberon, Modula and Pascal. I have no idea what's really like, or if it's ready to leave the safety of academia yet, but it's a carrot - from a brief glimse it looks nice. Oberon was used to implement an OS, so it can't be that constrictive.
Re:Efficiency (Score:3)
My guess is sooner or later we'll get binary XML encoding, then some "preparsed SOAP", and then finally something similar to CORBA - or M$ would switch to CORBA, which is unlikely because it means, gods forbid, Java compatibility
Opinions are mine only and could change without notice.
Re:Ugh... (Score:1)
Is this true? MS's site addresses some of the technical details and vision issues, which may or may not have substantial merit, but is this
Styx / 9P is so much better, and simpler (Score:1)
Contrast both SOAP and Corba to Styx/9P, the object protocol of Inferno and Plan 9, also available for other environments as a product which at least used to be called InfernoSpaces. It was available as Java classes and C libraries for several development environments.
See The Styx Architecture for Distributed Systems [vitanuova.com], Styx/9P-search [google.com] on Google, a real life example [vitanuova.com] of an interface to remote functionality, Styx manual pages, [vitanuova.com]Inferno home [vitanuova.com] and Plan 9 home [bell-labs.com].
You just mount all your remote procedures as a hierarchy of files. You call them by opening them and writing to them. You receive the results by reading them. You can inherit / modify / augment / restrict functionality of a set of procedures / files by mounting file sets (objects) as a stack / union directory, where the topmost names hide the lower names.Listing, naming and accessing of "remote objects" become trivial. Permanent and transient objects look the same, and just like regular files. Commands are usually issued as text content. So bindings to functions are language independent.
Optional authentication, data integrity and confidentility are built in, and can be configured at run time, transparent to the programmer.
Re:What is .NET really? (Score:1)
In what way has Java failed?
Re:SOAP Web Services (Score:1)
By hijacking HTTP (which extant firewalls treat liberally) You're making it much more difficult to selectively allow traffic based on its purpose.
Don't worry, sysadmins. SOAP mandates the use of a "SOAPAction" HTTP header in every call. Firewall admins can filter SOAP requests based on the value of this header.
-- Brian
Re:no advantage of .NET over Java (Score:1)
Re:Efficiency (Score:1)
XML is hugely more expensive to parse than even multipart/form-data, much less application/x-www-form-urlencoded.
Even if it is (which I doubt), the parse time is typically dwarfed by the time it takes to actually execute the request, so it doesn't matter.
HTTP is stateless, and the first thing every application does is roll its own half-baked session state management
This frustrates me too, but you can hardly blame it on SOAP. It's just a fundamental conflict between HTTP (stateless) and OOP (stateful).
Constructing a SOAP request using printf() would be an absurd waste of time. Anyone with a clue will use a toolkit library, and a toolkit that generates SOAP request documents could generate IIOP/ASN.1/DCE/JRMP requests just as easily.
Okay, let's come back here in a year. You can then count up all the publicly availble IIOP/ASN.1/DCE/JRMP services, and I'll count up all the SOAP web services. The proof's in the pudding, and I'm pretty sure this pudding's gonna be made out of SOAP.
-- Brian
Re:Efficiency (Score:3)
Doing more with less is a good philosophy for a sustainable human existance. SOAP is the opposite. SOAP does the same shit and uses more resources in the process.
Think for a minute on my point. What if you could reduce the number of computers in use in the world by half, and along with that reduce the amount of energy and human effort needed to design, build, and operate those computers, simply by using more efficient software? Would that still pale next to the awesome value of your personal time?
Re:Styx / 9P is so much better, and simpler (Score:2)
I can see where this would have it's uses. For the majority of my stuff, XML-RPC is best because I need to format it to XML anyways, so the RPC pretty much just passes through an XSLT based on the accept mime-types of the caller. That being said, there are definately circumstances that streaming would be preferable.
I'm not too sure about the "mounting" metaphor. It seems like an extra bit of complexity if it is necessary (i.e. there's no automount for rare RPCs). I can understand why it would be needed for highly used RPCs, just for the efficiency of it. There may also be connection pooling aspects to consider. But I don't know if I agree with keeping the memory overhead of that many mounts.
Anyways, cool stuff. I'll have to look into it more.
Re:And you can't turn it off... (Score:2)
There goes the neighborhood.
Note that ActivePerl isn't entirely free software [activestate.com]:
ActivePerl is freely distributable. However, ActiveState puts considerable time, effort and resources into developing and further enhancing ActivePerl. Charges for commercial redistribution of ActivePerl reflect our time in establishing the agreement and, if you have difficulty meeting our marketing requirements, any lost opportunities that we have in our market.
This would seem to be a clear violation of the GPL.
Re:Efficiency (Score:1)
1) CORBA object can be made stateless too, you know. It's up to a system designer. Inability to use state actually is a big disadvantage in some systems as performance suffers and implementation gets complicated. CORBA gives you a choice. SOAP doesn't.
You can implement a stateful architecture on top of SOAP, it just doesn't force you to. I guess it's just a question of whether it's easier to add state to SOAP or remove state from CORBA. You may be right about CORBA in theory, but in practice SOAP is so simple that its rapid adoption will simply render the question moot.
2) With SOAP you need at least a full blown web server and XML-DOM parser. ORB-runtime usually is just a shared library.
Okay, but in a few years, every friggin' toaster sold by Target will have a "full blown" web server and an XML parser. Just about every server on the Internet today is already listening for HTTP on Port 80. What's the big deal?
3) IIOP can be tunneled through HTTP as easily as anything else. There are plenty of IIOP/HTTP gateways. Why reinvent the wheel when this is so easy?
Okay, but then where are all the CORBA web services on today's Internet? For one reason or another, people are not doing this. You tell me why.
-- Brian
Re:Efficiency (Score:1)
One way or another, CORBA still needs to deal with the basic problem of object serialisation. Which would seem to be close to functionaly equivalent to building a DOM tree.
Re:Inefficienct but useable and can do more (Score:1)
There was a lot of talk about SOAP at JavaOne last year. This was before Microsoft put the SOAP stake in the ground of .NET. There have been quite a few indications from Sun that they feel XML-RPC is going to be a large part of the furture of distrubuted computing and have given more credibility to SOAP than the OMG standard (even the OMG is making CORBA XML-connectable).
As an aside, the XML-Apache group has some SOAP stuff [apache.org], too. People aren't thinking of it as a Microsoft thing. Just a distributed thing.
Layout managers (Score:2)
Re:"Java is the only language..." (Score:2)
no advantage of .NET over Java (Score:2)
Microsoft may be better on public relations there but no on substance. Perl could easily be compiled into Java byte codes (in fact, there is a project around to do just that), just like Python, Smalltalk, Scheme, Basic, Modula, Pascal, and lots of other languages are. While the JVM is most natural as a target for a Java compiler, it is a pretty universal runtime for safe languages, and most of them can be compiled into it without major problems.
And when it comes down to the one area where Microsoft could genuinely differ, compilation of C++, they fail to deliver what they promise: only a restricted subset of C++ is compiled into their intermediate language; you could do the same for compiling a restricted subset of C++ into the JVM.
If you want more information on language for the Java VM, look here [tu-berlin.de]. It lists about 130 systems that implement existing languages based on the JVM.
"only" language (Score:3)
Poor choice of words on my part, sorry for the confusion. See http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.ht ml [tu-berlin.de] for a great list of languages that compile to the JVM.
--Nathan Torkington
Re:Enough of XML (Score:2)
Before XML was buzzworded, I had developed a XML-like structure for saving data in a program I was writing (no, I'm not going to apply for a patent on it :-P). The program used plug-ins, and as the final version would have allowed user-created plug-ins, I needed to be able to account for versioning of the plug-ins. But I also needed to recognize what to do when a plug-in couldn't be found, if it didn't critically affect the program.
The XML structure allowed me to do this easily:
the data was in a tree, with keywords that started and ended each 'branch'. Certain keywords were guarenteed to work (ie not part of the plugin part), and data for a plugin identified itself as a string. If that string couldn't be matched with a plugin, the file was 'forwarded' until the end of the plugin data was id'ed. Same thing with versioning in plugins... if data from a newer plugin was not understood by the older one, then the plugin could fastforward into the file to get past that extraneous data.
Re:Enough of XML (Score:3)
Re:the first mark-down language (Score:2)
DTDs are extinct
coupled with the meaningless complexity of the DOMs
qualify this statement. How is the DOM overly complex? Are you aware of SAX, literally a Simple API for XML??
Re:the first mark-down language (Score:2)
I don't understand this - SAX and DOM parsers are canned by various vendors already.
Semantics is what is interesting, but after parsing XML, DOM does not provide rich or useful semantics for manipulating hierarchical data.
You should look at the Sun project to bind elements directly to objects. This is presume is your holy grail - binding arbitrarily complex data types to fully maleable objects directly.
Re:Enough of XML (Score:2)
Re:.NET may signal the demise of Linux (Score:2)
Just so you know, Microsoft is very concerned about the state of Windows. If they weren't they would be dumping hundreds of millions of dollars into it every year. Even Microsoft realizes though that eventually the OS will do pretty much all that it can on an individual machine. It's not there yet, but soon it will be.
.Net is Microsofts answer to the death of enforced obsolescence. The Linux community needs to get on this particular bandwagon because they are, in essence, in the same boat as Microsoft. Eventually the market for Linux won't grow anymore because people will find that these machines already do everything that they want them to do.
.Net is the strategy that gets OS companies and platforms around this because it allows companies to group computers and information together in ways that nobody has ever done. That's why
Forget about the browser crap, the browser isn't anything really important, and it will get better. Dump more time and efort into interfacing with
SOAP Web Services (Score:2)
You may or may not like .NET, but SOAP web services are very likely to be the architecture for distributed, cross-platform, firewall-friendly development in the near future.
Check out XMethods [xmethods.net] for live examples.
-- Brian
Re:What is .NET really? (Score:2)
Seriously. Not flaming or trolling. Sounds great and all, but what we have is a description of the means, not the ends. (An all too common situation in technology.)
For example: I chose Gnome over KDE (back during KDE 1.1 or 1.2, so this probably is no longer valid) because Gnome was prettier and had better themes. Who gives a crap about CORBA?
Will any of this make things easier for the end-user?
(Sorry, just read Mythical Man-Month and am starting on the Lunatics are in Charge of the Asylum. I'm beginning to feel that the end users are REALLY being left out)
Just wait till... (Score:2)
--
Re:"only" language (Score:4)
--
Brian Jepson
Re:.NET might be very good to us (Score:2)
Don't forget, nowadays, people think it's totally normal to reboot a server after changing it's DNS or IP address, or after enabling packet forwarding.
You don't have to do that anymore with Windows 2000
Inefficienct but useable and can do more (Score:5)
I'll agree that XML-RPC is inefficient compared to CORBA, but you would be surprised at how useable it is. A long time ago I decided that I wouldn't shun a technology because it was billed as slow until benchmarks show it really is too slow for what I am using it for. I used XML-RPC in enterprise medical systems, and it was never shown to be an important bottleneck.
Plus, you can do so much more with it. The area I found it to excel the greatest in was in security. When you are bulding the XML response, you can be choosy as to what fields you include beased on the user in the session. Contrast this to passing an object by value. It becomes an all or nothing prospect.
Then there is the small bonus that testing your client involves writing a static XML file served to it when it makes the call. It makes automated tests a lot easier. This is a good thing for an XPer [extremeprogramming.com], like myself.
Another thing is that is does greatly simplify a design. You don't have to force everything into terms of object models. You just think of it as formatted data, formatted however is logical for the call. This really is a great, and better experienced than explained.
One final note (although there are other good things about XML-RPC), if you are making a web applications, using XML-RPC to distribute the system, gives a homogeny to the model. This is a good thing, because it also makes the overall metaphor for the architecture easier to understand.
It is important to note that XML-RPC is not intrinsic to .NET. The systems I've worked on with it have all been J2EE systems. I just finished a JSP taglib, that, among other things, allows you to select blocks of JSP to include based on the Accept tag. It also does XML/XSLT with xalan. With this, you can use the same application logic for HTML, WML, and XML agents. You can use XMl-RPC to call into .NET (I've done this calling into ASPs before .NET) and .NET can call into J2EE systems. And Sun is a large SOAP supporter.
Re:Efficiency (Score:2)
You obviously haven't tried to get high speed net connectivity 30,000 feet from a phone company central office...
Re:What is .NET really? (Score:2)
The end user gets applications written faster, that do more, install easier, and have fewer bugs. That's about it - the same benefits the end user gets with every big improvement in developer tools and back-end tech.
Re:.NET might be very good to us (Score:2)
Although moderators might think it's a flamebait and burn my karma, I will say it:
We read this kind of crying many many times... Stop crying and help:
- write good OS code or ... just use Linux and OS software.
- write documentation or
- translate existing docs to other laguages or
- teach Linux in your classrooms or
- install Linux in your student labs or
- install Linux in your friend's computers or
-
And mainly, accept and do self criticism, M$ might be an evil, but they _do_ also good things, and it's very convenient to recognize what's good and what rubish. OTH, OS developers, sometimes also write craps and bloated software.
--ricardo
I'm Not Convinced (Score:2)
For one thing, nobody can describe what
Frankly, if something like this can't be described so ordinary mortals can understand what it is, maybe it isn't anything to begin with.
I think Microsoft has finally reached the point where IBM was in the mid-1980s wth SAA. Anyone here remember the late unlamented SAA, the framework/protocol/platform/etc. that was Finally Going To Tie All the Pieces Together? "Just say LU 6.2 and run like hell, baybee."
Sure, there are parts of ".NET" that might actually be useful. But the notion of some kind of universal intermediate level language is JUST PLAIN HOOEY.
If someone else like, you know, IBM or Sun, were trying to do this, I could say, "OK, nothing to see here, time to move along."
But this is Microsoft we're talking about, the same company that didn't put real arrays into Visual Basic until release 6. And Microsoft has a crappy, crappy track record for these framework exercises. Let me illustrate with a little example series:
ODBC
DAO
ODBCDirect
RDO
OLE DB
ADO
RDS
Do I make myself clear? This way lies madness.
CORBA and COM are both bad enough. I reach diametrically opposed conclusions to those of Miguel de Icaza concerning CORBA, component frameworks in general, and the overall thrust of
Really, the whole approach is just wrong. These are top-down "solutions" being imposed on already complex and messy landscapes, not even on blank tablets. Even a cursory understanding of self-evolving systems shows that this simply won't work.
No doubt,
--------
And you can't turn it off... (Score:2)
ActivePerl has all the problems you'd expect from a Microsoft-oriented product, requring forced upgrades of Microsoft software. (Requires NT Service Pack 5, Internet Exploder 5, Microsoft Installer 1.1, etc.) The pure Perl release for Win32 seems to have been killed off, unless you build it from the sources. No current pure Perl binary distribution for Windows is available from the main Perl site or from CPAN. [cpan.org]
Now the "ActivePerl" books will start to appear, seducing programmers into using the Windows-only features. It's Microsoft's "engulf and devour" as usual.
Re:Inefficienct but useable and can do more (Score:2)
Where I work, we've been big into Java, J2EE, CORBA, and XML for a while...so it's nothing new to us.
When the Martians Land (Score:2)
If .NET gains strong market share, MS is then in a position to say "Well, for version 6, we're supporting this special, enhanced Perl, called PerlMS."
But like I said, I'll believe it when I see it.
--
Efficiency (Score:5)
The above is what turns me off of SOAP, XML-RPC, and the like. The actual implementation is impossibly inefficient. To make a SOAP call, one's software must build an XML document and an HTTP request, and send them together. To handle a SOAP request, the software must not only handle the HTTP protocol, but also build a DOM tree from the request body and act on the nodes of that tree. This is a serious abuse of CPU power, and not the way to build a performant system.
I like systems that are easy for programmers, but I also like those systems to have advanced, efficient, performant implementations. The two goals need not conflict.
Re:Enough of XML (Score:2)
Smart companies put their external web server in a "DMZ" (neither fully inside or fully outside) where it is protected from the Internet (except port 80 of course) and has limited or no access to the internal network.
Re:Efficiency (maybe) (Score:2)
With any remote call the following sequence need to occur:
Re:.NET might be very good to us (Score:2)
Does Linux (or xxxBSD) do the right thing with Apache and HTTP? What about HTTP for RPC standard? Isn't sound better than Corba?
Do you already have a SOAP module for PERL? Isn't Perl (and Python) a good language for building [text, XML] parsers?
Ooops... How long it will take until you get same modules for Python, PHP, TCL/Tk and the likes?
Do you think O'Reilly is not interested in compiling Perl to the IL? Do you think it will be slower? Don't think so...
Do you think is very hard to have in short time a kind of xml-inetd for Unix/Linux/BSD?.
This will be heaven for many of us.
--ricardo
Re:Inefficienct but useable and can do more (Score:2)
However, if I understand correctly - I can't find any exact description of what .NET internal structure looks like - M$ is using it for procedure calls. .NET does, hopefully I'm wrong.
XML is a right tool for data exchange, CORBA is right for procedure calls, and I thought we're supposed to use right tool for right job, or even beter, have a choice what to use - Java doesn't force you to use CORBA, you could use XML RPC if you want - heck, it you really need you could send Java class as data and let it run on remote machine, with it's own security manager, if you want - sometimes this is the best solution for distributed systems. But Java gives you a choice. I can't find any evidence that
Opinions are mine only and could change without notice.
Re:Efficiency (maybe) (Score:2)
Re:Efficiency (Score:2)
There's absolutely no reason why you can't use a source format (say, IDL) to produce both COM/CORBA and SOAP representations of the same interfaces. We're currently doing that, although not using IDL as the source; it seems to work well, and offers you performance via COM/DCOM where you need it, with interoperability via SOAP when you want it.
Re:Vaporware? (Score:2)
To continue where i left off,
alot of the people that are badmouthing
1) It's MS only
this is blatantly false. obviously if people are deploying applications _today_ using SOAP, and the future medium of all communication is going to be XML over HTTP, it is amazingly interoperable. Microsoft isn't stupid. You may not know this, but microsoft has already said that they realize the operating system is becoming a commodity product and in the near future you wont be able to have a dominant role in the industry if all you ship is an OS. With that in mind they're designing future products to be best of breed solutions in an interoperable environement. Either you'll like their products/tools or you wont.
2) I can do everything VS.NET promises today with open source tools.
Well, you can, sort of. Afterall, the
dlopen("http://somesitehere.com/greatLibrary.xm
and have it "just work" ?
Don't make any statements about what VS.NET can and can't offer with complete confidence until you've sat down and used it.
Python (Score:3)
Python will also be part of
Enough of XML (Score:2)
revolutionary? Did we want a way to represent
hierarchical information in a way that it
could be easily manipulated and checked for
validity?
Maybe I am wrong, but couldn't you do that with
LISP? Just send your data across in lists and
let a tiny lisp interpreter figure out what to
do with it.
And HTTP? This is our lightning fast protocol
for object communication? Next thing you know
we'll be drawing to our screens with
Oops.
Comment removed (Score:3)
.NET on UNIX (Score:3)
"Interestingly, because we [Microsoft] are standardizing the common language runtime with a standards body [ECMA], they will *require* us to do two reference implementations. One of them will obviously be Windows (NT + 9x) but the other will be some 'open source' operating system, such as BSD."
Then he stopped, paused for 10 seconds and said "or Linux..". Paused for another 10 seconds and said "or possibly even both".
I asked if standardizing and thus implementing the common language runtime on BSD/Linux would mean just the runtime or also the standard libraries and to that, he replied that it just meant the common language runtime (the equivalent of having the JVM standardized and ported but not the Java core API). He continued that he was very sure the open source community would quickly write their own version of the
Seems to me Java still has an edge but
Re:.NET might be very good to us (Score:2)
The presenter said that MS has plans to port
More Idiotic Slashdot Devil's Advocacy (Score:2)
Are you honestly telling me we should drop all the progress made with XML and think of some newfangled LISP mechanism??? Ever heard of DSSSL? Know anyone who uses it???? There's your answer.
As for HTTP, sure its showing age, but you show me a protocol that has become as succesful as quickly as HTTP.
No one cares how whiz bang your technology is if no one adopts it - hence CORBA and LISP.
Re:Efficiency (maybe) (Score:2)
People from application server companies such as BEA recommend kepting the objects on the same server as the serverlets.
I'll have to check out OmniORB, thanks. What are the differences between calls that do processing other than echo?
Since many firewalls are setup to not allow CORBA ports so we have two ways of calling out search service, one via CORBA for intranet, and one via SOAP for internet.
Misleading Java/CORBA/SOAP Statement (Score:2)
People might also read this and get the impression that you can't do SOAP with Java. There's a couple of SOAP implementations for Java, most notably the one from IBM alphaWorks [ibm.com].
Re:And you can't turn it off... (Score:4)
Hate to burst your bubble, but the O'Reilly book "Learning Perl on Win32" was written by the founder of ActiveState. Also, from the beginning there was always much more development done on the ActiveState port of Perl than the "pure Perl release" you mention. ActiveState was started with a grant from Microsoft, and since its inception it has worked the "pure Perl" people to merge the two products.
Therefore, Microsoft essentially funded the development of Perl for Windows systems, and also came up with the worlds first Perl IDE. ActiveState, essentially a subsidiary of Microsoft, is also releasing the Perl IDE as open-source software for Linux.
I watch the sea.
I saw it on TV.
.Net on non-Microsoft platforms? (Score:2)
--
What is .NET really? (Score:3)
Current ruminations about
First, let's get some concrete details. Here's one cut at an itemized list of the technical components making up the
C#, a "new" language for writing classes and components, that integrates elements of C, C++, and Java, and adds additional features, like metadata tags, related to component development.
A "common language runtime", which runs bytecodes in an Internal Language (IL) format. Code and objects written in one language can, ostensibly, be compiled into the IL runtime, once an IL compiler is developed for the language.
A set of base components, accessible from the common language runtime, that provide various functions (networking, containers, etc.).
ASP+, a new version of ASP that supports compilation of ASPs into the common language runtime (and therefore writing ASP scripts using any language with an IL binding).
Win Forms and Web Forms, new UI component frameworks accessible from Visual Studio.
ADO+, a new generation of ADO data access components that use XML and SOAP for data interchange.
How do
quoted from : http://java.sun.com/features/2000/11/dotnetvsms.h
Re:.NET might be very good to us (Score:3)
As the devil's advocate, if Microsoft advance too quickly and Linux doesn't advance quickly enough, people will be generally disappointed with the advance difference in both environments, even if Windows is considered crap. Don't forget, nowadays, people think it's totally normal to reboot a server after changing it's DNS or IP address, or after enabling packet forwarding.
If too many people see only the Microsoft way, they'll consider that as the norm, and anything else as sub-par.
Re:Efficiency (Score:3)