Slashdot Mirror


Perl and .NET

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."

62 of 166 comments (clear)

  1. Vaporware? by lemox · · Score: 5

    It's already released (well, as beta at least). MS sent out the beta 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 plugin for VS.NET, along with Perl for .NET.

    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.

    --

    "We obviously need a new moderation category: (-1, Woo-fucking-hoo)" --Mr. AC

    1. Re:Vaporware? by bmajik · · Score: 2

      Fuck. hitting tab + enter is not a good idea :)

      To continue where i left off,

      alot of the people that are badmouthing .net say one of two things:

      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 .NET platform is all about interoperability. THe question is, what will the developer experience be like? How easy will it be for you to the equivlanet of

      dlopen("http://somesitehere.com/greatLibrary.xml ")

      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.

      --
      My opinions are my own, and do not necessarily represent those of my employer.
  2. Re:"Java is the only language..." by jilles · · Score: 2

    This page: http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.ht ml offers a nice overview of languages built on top of Java. Some of them (e.g. AspectJ and JPython) are very interesting. The JVM can already interoperate with COM (i.e. embedding java in visual basic is dead easy) so consequently all the languages on top of Java can use it as well. Assuming .Net builds on top of com, java .net interoperability is already there. No doubt Sun or someone else (voyager?) will fill in the missing pieces (if any) soon after .net is released.

    --

    Jilles
  3. Firewalls still useful by ChaosDiscord · · Score: 2
    " This will make all current firewalls obsolete as not there will be all of your data going thru the 80 port. To me, this means that the firewall is now useless...."

    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, it's darn well possible to tunnel IP over HTTP.

    All you've lost is your false sense of security.

  4. Re:Efficiency by deusx · · Score: 3

    "impossibly inefficient"? It's a "serious abuse"? I beg to differ. It's not like building an XML document and sending it in an HTTP request is an O(n) algorithm or something. Yeah, maybe you can preserve CPU and bandwidth with some pure binary stream protocol, maybe even direct marshalling of your internal data structures. Like, say... many other similar protocols in the past. But you lose intercompatibility, convenience, blah blah blah.

    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.

  5. Awesome!! by tswinzig · · Score: 2

    The perfect article to unveil my new .sig!

    --

    "And like that ... he's gone."
  6. Re:.NET might be very good to us by digidave · · Score: 2

    Why are you assuming people want what Linux has to offer over what Windows does? If you truly believe that Linux is a better OS then you are completely unaware of what most people want in an OS. The power user and developer community is very small.

    .NET may become cross-platform, but that won't stop people from using Windows. You should really stop bashing MS just for the sake of it. .NET is an amazing platform to develop for and if it does become cross-platform it will revolutionize the way most professional developers write web applications. If .NET doesn't become cross-platform then it will be neglected by all but VB and ASP developers.

    --
    The global economy is a great thing until you feel it locally.
  7. "Java is the only language..." by MAXOMENOS · · Score: 3
    From the article:

    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 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 (GPL'd Java ODMG) needs volunteers.

    1. Re:"Java is the only language..." by Col.+Klink+(retired) · · Score: 2

      Incidentally, there is a Jacl (Tcl (not Tk) implemented in Java). Nice for testing your java stuff or adding a scripting language to your java app.

      --

      -- Don't Tase me, bro!

  8. Re:RTFA by sohp · · Score: 2

    "Not Real" languages: Tcl, Haskell, Lisp, Scheme, BASIC, LOGO, Eiffel, Smalltalk, COBOL, Ada. More at Programming Languages for the Java Virtual Machine

  9. This would have happened anyway. by Ars-Fartsica · · Score: 2
    It would only be a matter of time beofre before tunnled arbitrary proxies over whatever port they liked.

    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.

  10. Re:.NET on UNIX by macpeep · · Score: 2

    Uh no. The standard libs are VERY platform dependent as they wrap around things such as sockets, the windows gui with buttons, windows, scrollbars etc., graphics, sound, threads.. All of that is completely different on each platform. It will NOT fall into place in fact it's the exact opposite.

  11. .NET might be very good to us by Proud+Geek · · Score: 3
    If there is a high quality free implementation of .NET on Linux, then a lot of people would have no reason to use M$ Windows at all. All their favourite programs would run great on Linux.

    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.

    --

    Even Slashdot wants to hide some things

    1. Re:.NET might be very good to us by donutello · · 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

      --
      Mmmm.. Donuts
    2. Re:.NET might be very good to us by gallir · · Score: 2
      Well, that sounds great and all, but you know that Microsoft will work day and night to try and screw us over...

      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
      - 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
      - ... just use Linux and OS software.

      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

      --
      sgis ddo ekil t'nod i
    3. Re:.NET might be very good to us by gallir · · Score: 2
      And also, I don't see .NET as a threat but a HUGE opportunity for Linux and some OS languages.

      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

      --
      sgis ddo ekil t'nod i
    4. Re:.NET might be very good to us by sesquiped · · Score: 2

      A few months, ago, I heard a research presentation at my school from someone from Microsoft who worked on part of the .NET core. It was quite an interesting presentation, and I came away thinking that the .NET thing, if the manage to pull it off successfully, will be quite impressive, technologically.

      The presenter said that MS has plans to port .NET to other platforms in the future, but that the 1.0 release would be just for Windows. After the talk, someone asked about crossplatform considerations, such as byte order and alignment, in the IL VM. He replied that they had made no provisions at all for those issues. Now, my multiplatform programming experience is a bit limited, but I would tend to think that if you don't build something from the start to make it easy to port, it will almost certainly turn out to be hell to port it. Given that, and MS's obvious reluctance to reduce dependence on Windows, I think it will be a very very very long time before we see a high quality implentation of .NET on any free platform.

    5. Re:.NET might be very good to us by toofast · · Score: 3

      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.

      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.

  12. Re:I'm Not Convinced by schwar · · Score: 2

    Here is a good definition of .NET the basis of it I found on a messageboard somewhere but I've modified it a bit: What is .NET? In a nutshell, it is an architecture for allowing multiple languages to create executables which work on any platform (like Java, though with more multi-language emphasis). It is built with internet protocols as a foundation for intercommunication (SOAP is simply a technology to allow objects to be called over HTTP using XML as a serialization protocol). The framework includes standards for code packaging and distribution as well as security, something made easier by the completely self-describing nature of MSIL (Microsoft's analog to Java bytecodes(stand for Intermediate language)). Practically on windows this works much the same as activeX components. except instead of being registered.dll's they are code compiled into the IL with and XML wrapper exposing their methods/properties. Technologies such as ASP+ and WinForms are BUILT on .NET technologies, but are NOT .NET, something which is often confused in the Microsoft documentation.

  13. I'm with you bud by ch-chuck · · Score: 2

    I don't know much about DOM,COM,SOAP,.NET,C#, but I'm sure if it's Microsoft it's

    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.

    --
    try { do() || do_not(); } catch (JediException err) { yoda(err); }
  14. .net and multiple languages by StrawberryFrog · · Score: 3
    Perl, Visual Basic and C# can be compiled down to IL.

    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.

    --

    My Karma: ran over your Dogma
    StrawberryFrog

  15. Re:Efficiency by antv · · Score: 3
    Well, CORBA is not "impossible for developers to use". See here, you create object interface definition using IDL - which isn't any harder than creating XML DTD - and then it is compiled by IDL com piler in binary form. Easy and efficient. Now SOAP seems to - correct me if I'm wrong - at least involve XML parsing, sending data in uncompressed text format, extracting SOAP protocol data from parsed XML query - and all this is encapsulated in HTTP query. Lot's of processing, for, take a note - each SOAP object call. It could be optimized, I suppose - persistent HTTP connection, maybe compressed data for bandwith - but then it's uncompressing overheat, etc - but CORBA does this already.

    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.

    --
    Obama 2012: our incompetent asshole is slightly less of an incompetent asshole than the other incompetent asshole !
  16. Re:Efficiency by Jeffrey+Baker · · Score: 3
    I'm getting pretty tired of programmers claiming that their time is worth more than CPU power. A CPU is a magnificent human achievement, and each one is the result of millions of hours spent by engineers electrical and mechnical, mathematicians, technicians, and line laborers to bring you the power of using the most inefficient RPC mechanism ever devised. The amount of human effort required to make a fast CPU is orders of magnitude larger than the marginal effort expended to understand CORBA as well as SOAP.

    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?

  17. Re:Styx / 9P is so much better, and simpler by Fjord · · 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.

    --
    -no broken link
  18. Re:And you can't turn it off... by Animats · · Score: 2
    Therefore, Microsoft essentially funded the development of Perl for Windows systems, and also came up with the worlds first Perl IDE.

    There goes the neighborhood.

    Note that ActivePerl isn't entirely free software:
    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.

  19. Layout managers by harmonica · · Score: 2

    To get rid of the problems of resizing (different graphics resolutions, different fonts and font sizes), layout managers as used in Java's AWT or Swing are a good solution. You specify how items like buttons, text fields etc. are laid out in a visual component and the rendering is done automatically by the manager. You'll need a while to get used to it, but then you never want to go back to pixel-based GUI construction.

  20. no advantage of .NET over Java by q000921 · · Score: 2
    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. That is, Perl, Visual Basic and C# can be compiled down to IL.

    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. It lists about 130 systems that implement existing languages based on the JVM.

  21. "only" language by gnat · · Score: 3
    I meant that while Microsoft is funding and encouraging other languages to compile down to the IL, Sun never seemed to do that with the JVM. As far as I could tell (and I am the first to admit that I am on the fringe of the Java world), their main push was to have Java be The Language. I'm interested to hear whether they really did encourage other languages to compile to the JVM.

    Poor choice of words on my part, sorry for the confusion. See http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.ht ml for a great list of languages that compile to the JVM.

    --Nathan Torkington

    1. Re:"only" language by bjepson · · Score: 4

      Jon Udell's December 18th column addresses the issue you raised, questioning whether it is in Sun's best interest to keep the language and the JVM tightly coupled. The column includes a survey of some of the people who have implemented languages for the JVM.

      --
      Brian Jepson

  22. Re:Enough of XML by Masem · · Score: 2
    The advantage of XML is very subtle, but well suited to any system where your have random-length data fields, with the possibility of some data fields not present in the data file, or the parser not understanding those fields, so that it could skip to the next 'valid' entry.

    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.

    --
    "Pinky, you've left the lens cap of your mind on again." - P&TB
    "I can see my house from here!" - ST:
  23. Re:Enough of XML by fear_and_loathing · · Score: 3

    Heh! This will make all current firewalls obsolete as not there will be all of your data going thru the 80 port. To me, this means that the firewall is now useless....

  24. Re:the first mark-down language by Ars-Fartsica · · Score: 2
    the wacky syntax of DTDs

    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??

  25. Re:the first mark-down language by Ars-Fartsica · · Score: 2
    what I know of SAX is parsing. who cares about parsing? it's something that should be simple, which it's not with XML, hence the need to used canned parsers.

    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.

  26. Re:Enough of XML by Anonymous Coward · · Score: 2

    Keep in mind that .NET "can" use SOAP for talking between objects. That does not mean that you MUST make this your protocol of choice. You CAN also use other commnications plugins, and send the data in various binary formats over various protocols. And if none of them meet your needs, write your own plugin for it. Read up on the remoting section at MSDN. Don't flame without the facts.

  27. Re:.NET may signal the demise of Linux by daviskw · · Score: 2

    KDE already has a decent browser. You can also use Netscape, if you are so civic minded.

    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 .Net is important. That's why Microsoft is supporting it, and that's why Linux needs to support it.

    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 .Net, that's where the money is.

    --
    Beware the wood elf!!!
  28. SOAP Web Services by Shimmer · · 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 for live examples.

    -- Brian

    --
    The most rabid believers in American Exceptionalism are the exact same people whose policies are destroying it.
  29. Re:What is .NET really? by gmhowell · · Score: 2

    Thanks for the quotage, but, uhhh... Why should I or my company care?

    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)

    --
    Jesus was all right but his disciples were thick and ordinary. -John Lennon
  30. Just wait till... by Kartoffel · · Score: 2

    ... Microsoft ActivePerl shows up in Visual Studio.
    --

  31. Inefficienct but useable and can do more by Fjord · · 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, 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.

    --
    -no broken link
    1. Re:Inefficienct but useable and can do more by Hard_Code · · Score: 2

      I think .NET is basically for entirely Microsoft shops, and other hangers-on, who want to graduate from native legacy code, into the WORA/web/standards universe, under Microsoft's protection.

      Where I work, we've been big into Java, J2EE, CORBA, and XML for a while...so it's nothing new to us.

      --

      It's 10 PM. Do you know if you're un-American?
    2. Re:Inefficienct but useable and can do more by antv · · Score: 2
      I agree with practically everything you say, XML is great for exchanging complex data structures with added benefit of error checking, etc. That's what XML was designed to do.

      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.
      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 .NET does, hopefully I'm wrong.

      Opinions are mine only and could change without notice.

      --
      Obama 2012: our incompetent asshole is slightly less of an incompetent asshole than the other incompetent asshole !
  32. Re:Efficiency by Bob+McCown · · Score: 2
    bandwidth is cheap

    You obviously haven't tried to get high speed net connectivity 30,000 feet from a phone company central office...

  33. Re:What is .NET really? by jeff.paulsen · · Score: 2
    Thanks for the quotage, but, uhhh... Why should I or my company care? 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.)

    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.

    --
    -- Jeff Paulsen
  34. I'm Not Convinced by phred · · Score: 2

    I'm not at all convinced the .NET stuff has anything going for it other than whatever marketing millions Microsoft can throw at it.

    For one thing, nobody can describe what .NET really is. It's a framework! No, it's a protocol! No, it's a platform! No, it's a floor cleaner! No, it's a dessert topping!

    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 .NET These are universalized "solutions" to problems which cannot be addressed on a universal scale. The component frameworks (CORBA, COM and, it seems, .NET) try to resolve an essentially unresolvable issue, which is that the network world is complex. The inability of any of these frameworks to conclusively address latency, replicability, security and other problems in the realm of distributed network resources is indicated in their rapid and unstable evolution, and eventual diversion to one of two fates: either oblivion (SAA) or some localizable usage that does not correspond to the original dramatic claims made for universality.

    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, .NET will make a lot of money for Microsoft and a whole generation of programmers, consultants and hypesters. But what value does it offer that less tightly coupled, less rigidly doctrinaire approaches don't?

    --------

    --
    Bill Gates Is My Evil Twin.
  35. And you can't turn it off... by Animats · · Score: 2
    Perl seems to have gone over to the Dark Side. The official release of Perl for Win32 is now ActivePerl.

    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.

    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.

    1. Re:And you can't turn it off... by Pinball+Wizard · · Score: 4
      >> Now the "ActivePerl" books will start to appear

      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.

      --

      No, Thursday's out. How about never - is never good for you?

  36. When the Martians Land by FatHogByTheAss · · Score: 2
    I'll believe it when I see it. My real fear is that .NET technology will give MS a foothold into a whole host of development technologies that it can then "embrace and extend" in the manner which we have become so familiar.

    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.

    --

    --

    --
    You sure got a purty mouth...

  37. Efficiency by Jeffrey+Baker · · Score: 5
    Soap uses HTTP to send XML-encoded instance and method calls on remotely defined objects and receive return values

    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.

    1. Re:Efficiency by Samrobb · · 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.

      --
      "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    2. Re:Efficiency by Chris+Hind · · Score: 3

      bandwidth is cheap. processor power is cheap. why should we dick around with formats that are impossible for developers to use? anyway, bandwidth issues will be mitigated by the new binary xml formats that are coming up.

      --
      nal 11
  38. Re:Enough of XML by Frank+T.+Lofaro+Jr. · · Score: 2
    Your web server will have to be secure. I hate to break it to you, but even as of now, if your web server isn't secure - you are at risk. They can get through your firewall via port 80, compromise your web server and use that as a jumping off point for attacks.

    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.

    --
    Just because it CAN be done, doesn't mean it should!
  39. Re:Efficiency (maybe) by whitehorse · · Score: 2
    I had the same feeling unit I tested the performance. Comparing SOAP/CORBA/RMI/DCOM/Vanilla RPC with network latency on a 100 baseT network SOAP performs just as good as any other remote object technology. All calls average around 100ms round trip.

    With any remote call the following sequence need to occur:

    1. marshal parameters on client
    2. Open a socket to server
    3. Receive / unmarshal params on the server
    4. Create/invoke object
    5. Marshal return values and write to socket
    6. Unmarshal on the client.
    Marshalling becomes negligible. Web servers and XML parser are being further optimized by the day. XML can be very efficiently parsed without creating a DOM using SAX checkout http://xml.apache.org. Combine an apache module with Xerces parser and you will have one fast socket listener (web server)/ marshaler(SAX parser) that is very easy to use. Write some test code an you too will be a SOAP believer :-)
  40. Re:Efficiency (maybe) by Jeffrey+Baker · · Score: 2

    On what horribly broken network are your CORBA calls taking 100ms? Across the public internet at peak time, perhaps, but with CORBA calls using OmniORB on a 100mbps local network I get echo responses in about 1ms.

  41. Python by costas · · Score: 3

    ObPythonPostInPerlThread:

    Python will also be part of .NET along with Perl, and it can do SOAP as well. Moreover, JPython already makes Python a Java platform language. In other words, it doesn't matter who "wins" the cross-platform war, Python is already there.


  42. Enough of XML by eGabriel · · Score: 2

    Why is putting words between angle brackets
    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 .PDF.

    Oops.

  43. Comment removed by account_deleted · · Score: 3

    Comment removed based on user account deletion

  44. .NET on UNIX by macpeep · · Score: 3

    I recently saw a presentation by Microsoft about .NET and they said something along the lines of:

    "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 .NET standard libraries.. However, until they do, any app you wrtite on .NET will not work on another platform since the libraries you depend on are not available for that other platform.

    Seems to me Java still has an edge but .NET is definitely showing a lot of promise and I think it warrants some attention on all fronts; even by the most die-hard GNU & open source & Linux fans.

  45. More Idiotic Slashdot Devil's Advocacy by Ars-Fartsica · · Score: 2
    I'm so tired of listening to the wannabes in here coming off with this devil's advocate BS.

    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.

  46. Re:Efficiency (maybe) by whitehorse · · Score: 2

    100ms+ is for a full text search or database query that returns 100+ records that requires post processing takes at least that long. I would agree that CORBA is faster than SOAP for an echo, but for calls that take any sort of process time like a LDAP or DB query SOAP would come out in the wash, especially when the HTTP connection is kept open.

    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.

  47. Misleading Java/CORBA/SOAP Statement by rasbora · · Score: 2
    The article seems to imply that Sun has standardized on CORBA as the way to do distributed applications with Java. I don't really think that's true. Most distributed Java applications that Sun has created use RMI, which is not CORBA. CORBA just happens to map very easily to Java, which is why there are plenty of implementations for it.

    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.

  48. .Net on non-Microsoft platforms? by znu · · Score: 2

    .Net looks pretty interesting to me, and Perl support gets me even more interested. But I Don't Do Windows(TM). I'm a Mac OS and Unix guy, currently using the OS X beta quite a bit. Am I going to be able to do serious .Net development? Is there even going to be a .Net implementation for non-MS OSes? All of this .Net stuff is rather irrelevant to me and I imagine to most of the open source community if .Net is going to be just another way to write Windows apps.

    --

    --
    This space unintentionally left unblank.
  49. What is .NET really? by kerb · · Score: 3

    What is it? (according to Jim Farley of O'Reilly)

    Current ruminations about .NET in various forums are reminiscent of the fable of the three blind men attempting to identify an elephant: It's perceived as very different things, depending on your perspective. Some see .NET as Microsoft's next-generation Visual Studio development environment. Some see it as yet another new programming language (C#). Some see it as a new data-exchange and messaging framework, based on XML and SOAP. In reality, .NET wants to be all of these things, and a bit more.
    First, let's get some concrete details. Here's one cut at an itemized list of the technical components making up the .NET platform:

    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 .NET and J2EE compare?

    quoted from : http://java.sun.com/features/2000/11/dotnetvsms.ht ml