Slashdot Mirror


Microsoft Embraces and Extends Perl

Anonymous Coward writes "According to this Press Release, Microsoft has signed an aggreement with Active State to add missing functionality to the Windows version of Perl. But the FAQ states that they also want Perl to "take advantage of platform features on Windows". "

256 comments

  1. How nice... by Anonymous Coward · · Score: 0

    Now, MS is gonna make Perl suck worse.
    Is anyone surprised? I'm not...

  2. Re: O, were it so simple... by Anonymous Coward · · Score: 0

    Why should anybody care? Gimp plugins aren't compatible with Photoshop. Does it make the ground shake?

    Grow up, people.

  3. Duh - already extended by Anonymous Coward · · Score: 0

    Perl for windows already has lots of windows specific stuff. The engine is implemented as a scripting engine - you can embed perl in your html page and run like javascript in IE.

    You can use perl to create and use COM objects - you can't do this on *NIX.

    If anything the press release seems to make the implementation closer to the *nix one - like a better fork().

    There is nothing new here most of you guys are just spreading FUD.

  4. Active State has always been in bed with MS by Anonymous Coward · · Score: 0

    Heeelllllloooo get a clue. This is nothing new - Active State has always created modified versions of perl for windows.

    1. Re:Active State has always been in bed with MS by WebDosa · · Score: 1

      Yes, I know, but upto now, they were just holding hands :-)

      --
      Later,

      WebDosa

  5. Re:First MS-HTML ... soon MS-Perl by Anonymous Coward · · Score: 0

    Forget the fact that there ARE no advantages to the Windows platform in regards to Perl ... in my opinion

    Yep, in your opinion.

    Sun's fighting back on Java, probably more than anything Microsoft has done, is what has damaged that language.

    Have you ever heard of a language called C? Lots of platforms have extensions to C that are optimized for that platform only. Does that make C any more or less powerful on the other platforms it is implemented on?

    A bunch of whiners who want a world where every building is painted the same dirty grey.

  6. This is not bad, people... by Anonymous Coward · · Score: 0

    Odds are that all this entails is making Perl's COM support and Unicode support better than it currently is. If they're really ambitious, maybe they'll add better support for Windows threading (process creation is expensive on Windows, but threads are cheap and easy, so the Unix fork() trick doesn't work so well).

    If you want to see what the end result will probably look like, take a look at the Python Win32 extensions or the Active Haskell package for Haskell. These extensions let you do things like write COM servers, conveniently access the Win32 API, and so on from within your scripting language.

    This will just add one more language to the toolkit of those who need to automate tasks on their WinXX boxes. It is an event of no particular metaphysical or political significance, so relax.

  7. The Evil Empire Strikes Again by Anonymous Coward · · Score: 0

    Will the never ending torment ever end?

  8. Re:Assimilation by Anonymous Coward · · Score: 0

    I hate to see the day where Micros~1 takes one of our languages and uses it against us.

    Have you read the license recently? It's not your language, any more than it's Microsoft's language. It's everybody's language.


    (Microsoft does not have to undermine Linux. Linux has a license to undermine itself.)

  9. Re:compitition by Anonymous Coward · · Score: 0

    If you can't beat them - at least drag them down to your level.

    That sounds like something Sun would say in defense of Java.

    I guess you can say it in defense of 80's technology like Linux as well.

  10. What do we worry about? by Anonymous Coward · · Score: 0

    Microsoft wanted to do four things:
    (1) Add real fork() support
    -- Which will add something useful to *Windows*.
    (2) MS Installer support
    -- Microsoft can't hold a candle to RPM.
    (3) Globalization; adding UNICODE support
    -- We've got UNICODE too. Let's be consistent.
    (4) Caching of parsed scripts
    -- They're worried about performance. But
    eventually they'll discover Linux!

  11. Re:You have to wonder... by Anonymous Coward · · Score: 0

    But I sure don't like the idea of OUR darling Perl being raped by M$...

    If Perl is your darling then you'd better be willing to set it free, and hope it comes back.

    If you insist on controlling it, then you're trying to make it your whore.

  12. Re:They have every right to to this (don't they?) by Anonymous Coward · · Score: 0

    Wake up.

    Perl isn't contaminated with the GPL virus.

  13. Re:No suprises by Anonymous Coward · · Score: 0

    Of course they eventually allowed 'Frontpage' extensions to be incorporated into other web servers, once they were found out.


    Sorry you're wrong here. There have been extensions for Apache and Netscape Servers since version 1.0 which is before MS even bought the company that made front page.

  14. Re:let's not be hypocrites... by Anonymous Coward · · Score: 0

    "Having the ability to do good system-integrated admin scripts on Windoze in something other than VBScript or J-don't call it java-Script would be a
    Good Thing in my book,"

    Python works beautifully on Windows already. It has as great OLE support on Windows as it does posix support on Unix. Python also makes it easy to develop software that is either portable or platform-specific. If you don't import platform specific libraries, your code will be as portable as the C standard library allows it to be.

  15. Nothing new by Anonymous Coward · · Score: 0

    I'm seeing all of these messages saying: "It will be great when we can use Perl on Windows."

    YOU ALREADY CAN. This is really just a continuation of a relationship that ActiveState and Microsoft have had for years. Who do you think paid for the original Perl port to Windows???? O'Reilly?

    I'll admit that Perl for Windows sucks but this deal isn't going to change that. Perl has a totally Unix centric design and most of the maintainers are Unix-centric. ActiveState did a lot of really nasty stuff working around that unix centricity and some stuff still doesn't work.

    If you want a truly cross platform language you could of course use Java or Python. But Java forces that lowest common denominator thing on you.

    Python's Windows implementation is powerful and mature. It can do all of MFC, OLE, the Registry and all of the other Microsoft crap. Even better, when you write code on Windows you can usually move it to Unix without a problem (if you are careful with filenames, of coures) and vice versa. Python's platform dependencies are mostly isolated into clearly labelled platform-specific modules.

    If you need to administer Unix and Windows boxes you don't need to wait for Microsoft to pay ActiveState take Larry's Unix tool and try to make it work in a foreign environment. Just use PYTHON! It was designed for cross platform use from day 1!

  16. Re:MS Perl by Anonymous Coward · · Score: 0

    Yawn. Wow. This mean a lot coming from a former Best Buy employee (ROTFL).

  17. Re:let's not be hypocrites... by Anonymous Coward · · Score: 0

    Thats right -
    Call it ECMAScript

    Of course you know that Microsoft's implementation sticks almost 100% to the ECMAScript spec, where Netscape's implementation doesn't even come close...

  18. fact error: iis not required for fp by Anonymous Coward · · Score: 0

    IIS is not required for frontpage. frontpage extensions run on many servers (apache, netscape) and operating systems (unix,..)

  19. Re:How nice... hahahaha by Anonymous Coward · · Score: 0

    hahahaha. Perl suck worse? Is that possible?
    I mean, it does nice things, but the syntax
    is the most disgusting bag of junk I've ever seen.

  20. Re:ActivePerl is great! this is good! by Anonymous Coward · · Score: 0

    I have to agree with you. Same situation. I have to admin NT boxes (Not by choice) and Perl for Win32 is damn good. I hope this doesn't screw things up and A BIG HOPE that it makes NT ALOT BETTER.

    NT sucks and you have to do 20 steps to do something that you can do in Unix in 2. Visual Basic is good but you may have conflicts when you add SP's or patches. I throw in a Perl script and blam it works faster than my Visual Basic or VBscripts. Plus I don't have to recompile my VB exe's if I want to change something.

    I think this is another M$ attempt to show that NT is better or will be better than Linux. They have to have something to challenge that Linux is 10 times more stable than NT. If Linux can come up with a standard good desktop GUI interface and big name Apps/Games deployed/support, M$ is real trouble as far as the desktop OS market. They are starting to feel the server market from Linux and it will only get worse. THEY KNOW THIS.

    My prediction is we will see, not Office 2000 or the next version after that, but the 3rd version of Office 2000 being ported to Linux to REGAIN Micro$oft's #1 status.

  21. Funny. Java, IE, Netscape...Perl. by Anonymous Coward · · Score: 0

    That was worth a laugh. "They know their platform" -- appearantly you've never tried to code on Windows. It's a horrible mess of bizarre APIs with no other intention than to make the program totally dependant on The Monopoly. They don't even know their own platform.

    Re: applets on IE vs. Netscape.
    You're right, IE performs better. Know why? :)
    Watch your CPU usage: IE takes the majority of your CPU cycles for even a simple applet.
    Most of those applets were probably made with an MS Development tool (J++) which we all know is not 100% Java and was designed with the intention of breaking compatible with non-Microsoft VMs.
    They were sued over this remember, and had to fix it. (They later won on appeal I >think and the dirty, semi-legal, and monopolistic practice continues.)

    This is what they're going to do with Perl, and as someone earlier stated you're being naive if you don't realize this. Why do they care about Perl? They have WHS and OLE for semi-automation. They can extend WHS. Likewise, they extended Java with the intention of taking a platform independent language and tying it to The Monopoly's horrid half-OS and pathetic excuse for a browser. (Netscape 4.6 is 10-20% faster than IE 5, and BTW, that 60% thing they advertise is with a "LAN connection" according to their own fine print. That means the data comes down rapidly, lower-bandwidth users will not notice an improvement because they have a huge network bottleneck. Don't people get this?"

    Now, of course, Perl is fairly closely tied to unices, but it's also open. Microsoft has never been interested in truly crossplatform tools, and if you don't believe this...well, wait and see.

  22. A true test of the artistic license by Anonymous Coward · · Score: 0

    This will tell us whether we should or should not use such a permissive license.

  23. So how can we be sure..... by Anonymous Coward · · Score: 0

    ...That Microsoft isn't going to force ActiveState into "improving" core language functionality? Yeah sure, right now it's just simple Win32 hooks, but can you be certain that MS wont try to undermine the overall goals of the Perl community by forcing you to code things in that cause major platform dependance on Win32? Can you be sure that MS wont force the depreciation (sp?) of core libraries under the guise of "performance"?

    All I keep hearing is "Don't use the new APIs if you want cross-platform Perl", but it's the possibility that Microsoft will make it impossible for scripts written on Win32 to run on Unix that causes concern, and I don't belive that it would be all that difficult to quitely shift people from the Perl standard to MS Perl.

    ActiveState is performing trusted transactions with an untrusted entity, and it's going to create unnecessary problems for the Perl community as a whole. Sadly, we will be doomed to repeat history here untill we realize that MS just can't be trusted.

    Goodluck to ActiveState their going to need it after this sellout.

    Jason Burke
    jburke@motion.net

    1. Re:So how can we be sure..... by Anonymous Coward · · Score: 0

      "Have you ever actually written Perl code on Win32, or Perl anywhere for that matter? Perl on all platforms is filled with opportunities to write non-portable code."

      Did you actually read anything I wrote? I wasn't talking about modules, and I have no problems with modules since you can make your own decision about using those. I was talking about depriciating core Perl keywords and replacing those with proprietary extensions!

      To answer your first question: Yes, I have coded Perl on both win32 and Linux, and I really like that I can take my win32 code and run on my home Linux box without _any_ modifications, but I guess that isn't important to you so to hell with my portability, and to hell with being able to run identical CGI scripts on both WinNT, and Linux! Your logic would have us belive that this isn't important, but it is!

      "Making modules to take advantage of platform-specific features is not only old news on Perl, it's one of the main points of the language. It's the whole idea."

      Again the use of those modules are based on choice, and no one forces you to use them. It's my opinion that Perl is about doing it anyway you want, and I don't like that ActiveState and MS may change that.

      "Maybe you've never written a Windows program before, but Windows programmers are used to the idea that some of their programs will only work on Windows, and are willing to trade that off for optimal utilization of features on Windows, which is the most popular platform in the world. It's a rational decision and they don't do it unwittingly."

      My point exactly! Your attitude only tells me that MS (read: corrupt, and nonporatable) Perl isn't too far off in the future. Your comments about willing to trade assures me that your average windows programmer is like a lamb to slaughter, and will happily follow this foolishness to it's logical, inevitable, and disasterous conclusion. I find your attitude very short sighted, and that's unfortunate.

      Jason Burke
      jburke@motion.net

      PS: Feel free to take this to personal email if you have any response to this.

    2. Re:So how can we be sure..... by ljs127 · · Score: 1

      Have you ever actually written Perl code on Win32, or Perl anywhere for that matter? Perl on all platforms is filled with opportunities to write non-portable code. Go to CPAN and you're immediately faced with module names like Mac/MacConversions Mac/MacFileSpecUnixish Mac/MacOSASimple Mail/MailCclient RADIUS/RADIUS RADIUS/RADIUSUserFileX11/XformsPerl X11/XFvwm X11/XMotifb X11/XProtocol X11/XWcl VMS/VMSLock_ VMS/VMSMonitor_ VMS/VMSPriv_ Tk/TkTreeGraph Tk/TkWaitBox Tk/vstadaf Tk/xdbfdump OS2/OSAttrib OS2/OSExtAttr_ OS2/OSFTP_, not to mention Emacs/EmacsLisp

      Making modules to take advantage of platform-specific features is not only old news on Perl, it's one of the main points of the language. It's the whole idea.

      Maybe you've never written a Windows program before, but Windows programmers are used to the idea that some of their programs will only work on Windows, and are willing to trade that off for optimal utilization of features on Windows, which is the most popular platform in the world. It's a rational decision and they don't do it unwittingly.

      LJS

  24. Re:RPM better at installing? by Anonymous Coward · · Score: 0

    'course, you can never totally get rid of a program under windows, and install wizards don't actually have to check if replaceing a file will do bad, bad things(tm) to other installed programs. RPM isn't perfect, either, but I'd rather have that than the add/remove programs wizard.

  25. Re:You have to wonder... by Anonymous Coward · · Score: 0

    I thought the one in the resource kit was an MS-financed port by Intergraph....

  26. The glass is half full by Anonymous Coward · · Score: 0

    I know that when M$ dips it's hand into anything, the kneejerk reaction is pessism. This news is only good. Perl will not be destroyed. If a WinPerl does evolve from this work, then it does. As another post said, you can choose to write portable Perl or Win-specific Perl.

    Personally, I don't see myself writing Win-specific Perl unless the "WinPerl" becomes an alternative to VB for A. I think it would be awesome to be able to use Perl in Access, Excel, or Word instead of VBA. I don't want to learn VBA because I'd use it so rarely and it's utility is constrained. However, I use Perl all the time on *nix and Windows. So, I wouldn't have to learn a new language and I might actually use Access/Excel/Word more or better as a result.

  27. Re:BZZZZZT - Didn't think for long enough. by Anonymous Coward · · Score: 0

    You guys are both infants, and need to exercise patience before flaming each other.

    In your original post, were you stating that perl ought to be relicensed under the GNU GPL, or were you just advocating that new software be written under that license to avoid embrace-and-extend sabotage? I believe the post that started this thread was speaking specifically about perl; and since old versions of perl have already been released under the Artistic license, this might not be an effective strategy even if Wall could be convinced to do it.

  28. What everyone's problem is... by Anonymous Coward · · Score: 0

    I believe that what everyone's problem is
    (of those who are complaining about WinPerl)
    is that they realize MS will probably NOT
    stick to "improving" the Win32::* extensions.
    Rather, they will (as they tried to do w/ Java,
    etc.) muck with the core Perl structure in some
    unspecified way, and maybe with some other modules, such as IO::Socket, etc...to make them
    more "windows compatible", creating extensions
    that work fine on windows, but conflict with the LW's official versions.

    -Just Another Anonymous Coward

    1. Re:What everyone's problem is... by Chris+Burke · · Score: 1

      Exactly!

      The fear is not that it will be _possible_ to write win32 specific code, but that it will be _inevitable_. Meaning code that was designed to be portable won't be. Just as Java code won't run under The MS Program Formerly Known as Java and vice/versa. Just as html written for Netscape won't work right under IE, and vice/versa.

      --

      The enemies of Democracy are
    2. Re:What everyone's problem is... by EnglishTim · · Score: 1

      However, I think it's a bit of a big step to assume that Microsoft *will* do this, when all they have said is that they will help with perl...

      The reason they went after Java was because of the abiulity to run precompiled binaries on any Java compliant platform, which would undermine people's reliance on their operating system. However, perl is just another language that people find useful - it's not got the 'write once, run anywhere' features (i.e. abstraction of most of the operating system). Compare it to C - you can write portable code, but there's quite a few little incompatibilites to with endedness, standard libraries etc - perl is and probably will be exactly the same. A largely portable core language with platform-specific modules.

    3. Re:What everyone's problem is... by rmrfken · · Score: 1

      Looking back at the history of products Microsoft has released, I cannot think of a single item which it has not "embraced and extended"... Witness J++, Visual C++, Visual Basic, etc...
      It really isn't "a bit of a big step" to assume that Microsoft will do the same to Perl.

      The perl's license has gives companies the right to do extend... However, extending a language to prevent server/code migration is not a good thing. From reading the FAQ, it sounds as though the main intent is to prevent people from switching from windows to another operating system. There were only 3 real useful features which were added.

      All corporations and people have the right to make money... But limiting choice for the consumers (A Microsoft specialty) is not necessarily a good thing.

    4. Re:What everyone's problem is... by ljs127 · · Score: 1

      >>Meaning code that was designed to be portable won't be.

      How could this be possible in Perl? Either it's interpreted, and therefore it's exactly as portable as it's designed to be, or it's compiled and completely unportable. Your argument makes no sense.

      LJS

  29. Over-reaction-ism by Anonymous Coward · · Score: 0

    I am appalled at the display of ignorance in the
    replies to this story. (Most of them.) Perl
    already has a lot of Windows-centric add-ons,
    such as perlified access to the registry, COM,
    etc.
    Perl is a glue language. NT needs a lot of
    glue. Windows is a legacy system after all,
    until you can upgrade to Unix. :)

  30. Re:`Server-side' and `Scripting' as pejoratives by Anonymous Coward · · Score: 0
    I'm afraid it's nothing so simple as that. Both Perl and Java compile into what we always used to refer to as P-code. Does anybody
    else but me remember UCSD Pascal on the LSI-11's? Sometimes this turns into machine code, sometimes it doesn't. The only honest
    thing you can say is that all programming languages are by definition interpreted. You cannot a priori look at a program and say what is
    going on. In fact, nothing is going on at all. :-)

    The fact that it needs perl... the program perl to load it and interpret it is what i see as a interpreted language.
    A C/ASM program don't need another program to interpret it... the prosessor do it.. that's when it is compiled :)

  31. Re:How nice... hahahaha by Anonymous Coward · · Score: 0

    Given the tone of the surrounding threads,
    are you TRYING to make yourself flame-bait?
    while I am repeating the mantra,
    I WILL NOT TAKE THE FLAMEBAIT I WILL NOT...
    I must say, where did you get that?
    It has a well defined syntax, much better than
    C's, once you get to know it.
    As well, it only one of two languages that
    natively allow a function to return multiple
    values (the only other one I know of is the
    HP's *RPL language). Sure you could do it in C,
    with structs, but please...that gets ugly.
    Then again, if you don't like it,
    I shant stop you.
    My only complaint with perl is the absence of
    recursiveness in 'use' and 'require', but I don't
    really need that.

    Perl is my woman, and I shall defend her honor.
    -Just Another Anonymous Coward

  32. Re:RPM better at installing? by Anonymous Coward · · Score: 0
    um... what's so hard about these points? your comments make me wonder if you've actually tried installations on either platform...

    find the path you downloaded to: if you don't know where you put it, why are you bothering? a fundamental computer skill is navigating the filesystem --- you have to do this on windows as well when you search for that icon!! and, it just so happens that if you can't find it, there's a nifty tool called find which is pretty easy to figure out, since you just type man find to read its manual.

    probably from the command line: if this is all you're afraid of, i have no real sympath for you. many many many old-school dos folks around where i work refuse to use the graphical file managers for their work, relying instead on the dos command prompt, which is a primitive, backward hindrance by comparison with unix shells. modern unix shells will even complete your typing for you...

    find the path to install to: every single windows installation wizard i've ever seen asks you where you want to install something. rpm's install to default locations for those not interested in knowing, and even give you the option of changing this. also, with rpms you can check what it's going to install before the fact, so you don't wind up with the standard WinInstallWizard surprises. even most modern open source packages install by default to /usr/local, which is where they should go anyway. again, this is nothing that's difficult!

    and then figure out if you've installed all the dependant RPM's!: well, rpm will tell you if you haven't. if you use glint, grpm, or gnorpm or some other front end, this is even easier. while it is a pain to have to download and upgrade some other package, there's nothing much to finding out if you have it.

    don't even start about mounting file systems!: why not? what's hard about that? in BeOS you must mount and unmount file systems; in MacOS, you must unmount a disk by dragging it to the trash. in each of these OSs the disk then becomes part of the filesystem. only windows/dos is crazy enough to hold with the drive paradigm...

    really all this stuff isn't that hard.

  33. Re:Hold on; this might not be so bad... by Anonymous Coward · · Score: 0

    We have scripting now. The "Windows Script Host" installs with the nt service pack 4 and is available for win9x. It's ok, j/vbscript based. THere are rexx and perl plugins for the language.
    BTW, there has been a perl interpreter available as part of the NT resource kit for a while now. Not a good one, but one none the less.
    I think that gettting perl out of the box with windows is going to be cool. I work in a win environment and I've added every ported gnu tool I can find along with the win32 port of perl. I do things with vim and awk around here that leave people who've spent there whole lives in windows amazed.
    After all, o'reilley has a Learn Perl on Win32 book now. I'm just glad to see the tools coming in.

  34. Re: O, were it so simple... by Anonymous Coward · · Score: 0

    >You know, if stopping M$ was as simple as me
    >not using (or paying for *cough*) their >products,

    Um so your problem has nothing to do with wether
    or not Microsoft does somethign with Perl.
    and your intrest and or comment not really related to this discussion.

    As I see it you do not believe in the free market
    nor letting ppl having a choice of OS.
    You feel a great need to COMMAND ppl to use
    whatever OS you like.

    I actually fear you more than I fear IBM,
    Sun or MS.

  35. Re:That is _not_ a safe assumption by Anonymous Coward · · Score: 0
    "The one thing you can be pretty certain of is that Unix perl scripts running on Unix hosts are pretty well immune. The source to it is available, and it's not subject to being seized or perverted."

    "scripts from the archives or scripts from Unix that shouldn't be causing problems, would cause problems or fail. I don't know exactly how this would be done- it'd be syntactic- but this is definitely what would be happening."

    Aren't you contradicting yourself? How could a change to MS-Perl cause a *nix perl script to fail?

  36. Re:let's not be hypocrites... by Anonymous Coward · · Score: 0

    From what I hear,
    The next scripting release from Microsoft will have SendKeys support.. So you will be able to do quite a bit from WSH..

  37. Re:(semi-)Great! by Anonymous Coward · · Score: 0
    Read above, my deliciously recursive friend. Perl uses the Artistic License, not GPL :)

    I understand your digusted feeling toward MS Perl modules.

  38. Please, show me... by Anonymous Coward · · Score: 0

    ... where exactly in that post it was commanded that anyone use or not use anything. As far as I could tell, it said that people using certain programs (presumably meaning those that embrace and extend, with intent to extinguish) is a problem.

  39. About that 60% faster thing... by Anonymous Coward · · Score: 0

    It was 60% faster *page rendering*, so they didn't even need a network connection to test it. Why, then, use one and not a page cached in RAM? Wonderfully prudent and honest, these benchmarkers are... any wagers as to what web server they were using?

    1. Re: About that 60% faster thing... by Anonymous Coward · · Score: 0

      Uh, me bets it was a Solaris system (fastest web serving platform), tho Linux running Apache still woulda whooped arse outta NoTerminal (NT) and IndecisiveInternetSlug (IIS)..

      Too lazy to make a new account, but I am:
      Casey Lyon
      casey@digitaljunction.com

  40. And about that Java thing by Anonymous Coward · · Score: 0

    I believe it's because the IE Java uses a much different technique than the one included with Netscape. The IE one, if I remember, uses dynamic (so-called "just-in-time") recompilation, whereas the Netscape one has a more elaborate interpretive mechanism. This is similar to the difference between a compiled and interpreted program. In other words, you're comparing apples to oranges, and this has nothing to do with quality of code, but with the technique used. Before you go and say "Well, MS just used the better technique so theirs is better" it's my understanding that dynamic recompilation has a couple of serious limitations (whether they will matter in a Java program is questionable), such as the fact that IIRC a dynamic recompiler generally can't deal very well with self-modifying code, whereas a proper interpreting engine goes through it the same way it does through other code. Feel free to blast me if I'm wrong.

    1. Re:And about that Java thing by Anonymous Coward · · Score: 0

      Netscape also uses JIT. The difference is just that IE takes over nearly all of the CPU's resources.

    2. Re:And about that Java thing by Anonymous Coward · · Score: 0

      Java, as near as I know, doesn't allow you to change code dynamically as you can with some interpreted langauges (old basic comes to mind) or assembly. In fact, even trying to do it in C/C++ would be a nightmare, and then non-portable up to the point that you would have to use the same version compiler and the same command line switches when all was said and done.

      And isn't the whole "Just In Time" compilation with Java supposed to be a *GOOD THING*? Sun has been hyping doing it with HotJava for awhile, but I haven't seen it myself.

      I'm sure AOL would love to put JIT Java compilation into Netscape (who knows, Sun may eventually give it to AOL when all is said and done!)


    3. Re:And about that Java thing by Kingpin · · Score: 1

      JIT heavily speeds up Java programs. As for IE, well - it's basically a part of the OS (Wintendo) and is 'pre loaded' when you boot your machine. Java does allow dynamic change of code, use the Reflection API or just generate the code and compile it runtime

      --
      Unable to read configuration file '/bigassraid/htdig//conf/14229.conf'
      Geocrawler error message.
  41. Wall is a moron by Anonymous Coward · · Score: 0


    [ActiveState's] market has always been the Windows space, where you're actually doing people a favor by charging them money for things, because that's the only way to keep from confusing them. Linux users are smarter than this, of course . . .

    What a shithead. Every damn word I hear out of Wall, I like the man less than before. I'm a Windows user. I use free software. I don't use Perl, because it's not well suited to anything that I do, but I do use GCC, gawk, and whatnot. Basically, Wall's just another childish asshole who flames people because of the platform they use.


    Perl [is] a postmodern language that is sensitive to context . . .

    This is pure babble. It's easier for Larry Wall to memorize new syntax than to learn algorithms. Okay, so he wrote a language that suits his kind of mind. Since he's not the only one who prefers to work that way, he's done us all a great service: Those who aren't into that can continue to use languages we like, while other people who like Perl can use Perl. Wow: Diversity, choice -- it's really a cool thing, you know? Everybody's happy and we all get more stuff done. But don't make it out to be more than it is by surrounding it with self-congratulatory, pseudo-intellectual bullshit about "post-modernism". Outside of Wall's little fan club, that phrase has been known as a sure sign of a pretentious fraud for quite a few years now.

    1. Re:Wall is a moron by Anonymous Coward · · Score: 0

      What a shithead. Every damn word I hear out of Wall, I like the man less than before. I'm a Windows user. I use free software. I don't use Perl, because it's not well suited to anything that I do, but I do use GCC, gawk, and whatnot. Basically, Wall's just another childish asshole who flames people because of the platform they use.

      Larry has a point. Most Windows users are skeptical of free software, especially software which lacks a formal support agreement. You are definitely in a minority by using GCC under windows. While I commend you for choosing the best tools for your job you should lighten up on Larry. Half the time he's just trying to be humorous. His attitude is very refreshing in comparison to most charisma-lacking gearheads.

  42. It's worse than that... by Anonymous Coward · · Score: 0

    I wish they would use the 32/31 bits unicodes, but they have gone insane and are extending unicode with lead words and trail words...

    They are defining D800 - DFFF into to ranges, D800-DBFF and DC00-DFFF, when you combine two 'characters' one from each range to make one whole CJK character. If I knew who suggested this, I would slap them.

    1. Re:It's worse than that... by BJH · · Score: 1


      The "surrogate pair" concept, right? Well, it's not just CJK that's affected - languages with umlauts, Hebrew, and several other languages have to use them as well. Of course, the Unicode standard hasn't actually bothered to define what can be displayed with surrogate pairs and what can't, making them fairly pointless at the moment...


  43. Re:What about the Larry Wall interview? by Anonymous Coward · · Score: 0

    Lessons from history indicate that sometimes lands are gained by populating areas with colonists. By analogy then, MS Perl will allow so many Windoze lusers to use non-standard extensions to the language that they will have to become standard. Once they become standard, M$ sells the source to the extensions. We all know what happens when Microsoft "embraces" something:
    1) They talk about "compatability" and "standard compliance"
    2) Then they generate their own incompatable variant
    3) They market the sucker to Windoze lusers and thus force it on the professional population of users.
    4) Microsoft goes from "embracing" to "attacking" in three simple steps.

    While I'm sure that not ALL of M$ software has done this, an example of a true "embrace" by M$ escapes my memory. And, lastly, How could they make Perl any better?

  44. Re: O, were it so simple... by Anonymous Coward · · Score: 0

    hi,

    problem is, that M$ got a stake in AS. The Perl licenses for the Win distribution are a bit different already.

    you will find "copyright M$" a bit.

    there is one more problem: they got with gurusamy sarathy the leading force behind the win port of perl. he joined AS in february or so.

    and: larry wall works for o`reilly, which owns another stake of AS.


    uniting the 2 available perl distributions for win (which had been a big problem due to incompatibilities) is done with his help.

    oh my.

    anyways. why use a win box at all? if you got some work for perl, use a linux box.


    greetings from bavaria, germany

  45. Re:Useless buzzwords on crap... by Anonymous Coward · · Score: 0

    That's funny.
    Some in my field consider Linux the "Unix made for Microsoft Windows."

    ~gurly

  46. Devils Advocate by Anonymous Coward · · Score: 0

    I could write a minimalist scripting language that
    would not allow for dynamic generation of code for use at run-time.

    I'm not sure that you're on the right track with that definition.

    1. Re:Devils Advocate by the+red+pen · · Score: 1
      I came up with a better definition that avoids this obvious case:
      • If whatever is considered the executable form of the program (what you'd send to someone and say "run this") is not loaded directly into the processor (whatever the hardware designers of your system would consider "the CPU")
      • via an instruction fetch cycle, then it is interpreted.
      If you are unclear what exactly constitutes a CPU is or what differentiates an instruction fetch cycle from any other kind of cycle, RTF Hardware Docs.
    2. Re:Devils Advocate by Tom+Christiansen · · Score: 1
      You may be right.

      --tom

  47. Re:Visual Perl...let's all be communists! by Anonymous Coward · · Score: 0

    oooh wow InterDev!
    Stupid a$$. Get out of here you tree hugging shmuck.
    One day your trying to save the rain forest, the next your chugging cock.

    ~gurly

  48. Re:What determines "interpreted." by Anonymous Coward · · Score: 0

    Face it Tom. If Perl were marketed as a compiled language we wouldn't have to deal with a lot of this nonsense. Ask 10 Java programmers what they dislike about Perl and they'll all complain that it is "interpreted". Maybe you and Larry should name the next version of Perl to P++ and then rename .pm to .dll. Add a slick IDE, sell it for $700 and people will wonder why they never heard of this fantastic language before.

  49. Re:This is the last time I'm going to explain this by Anonymous Coward · · Score: 0

    The better Perl on Win32 the more Perl on Win32.
    The more Perl on Win32 the better Win32
    The better Win32 the more Win32.
    The more Win32 the less *NIX.
    The less *NIX the less Perl on *NIX.

    At some time in the above cycle Micros~1 can do a great deal of harm to Perl. If you are unable to see this you are totally blinded or work for Microsoft.

    > They know their platform

    Oh yeah? Then why did they fail in including parts of their old platform into their new?? (DirectX I mean)

    > Ever tried running aplets on IE
    > versus Netscape ?

    Makes no sense. Netscape is not designed for running them fast. Netscape's not even Java compatible anymore. You need real SUN (or IBM) JDK and compare that to MS.

  50. Re:That is _not_ a safe assumption by Anonymous Coward · · Score: 0

    Too late. Lots of Perl is already written that's broken under Windows. People running ActiveState's Perl interpreter are already running into system-specific problems, and working around them with Windows-specific hacks.

  51. What ticks me off about Activestate by Anonymous Coward · · Score: 0
    I've extensively used Activestate's version of Perl and I don't know how I would survive on NT without it. They have a product called PerlEx which offers many of the same features of mod_perl on Apache but PerlEx is designed for IIS. PerlEx, however, costs loads of money. Reading through the faq, this has always pissed me off:


    Are there any Unix versions of PerlEx(TM)?

    There are currently no PerlEx Unix versions available.

    If you owe so much of your business to the open-source world, why not be considerate enough to point people to a solution which YOU begged the question to? Especially when your product does exactly the same thing as a free version that you stole liberally from and then you don't even bother to acknowledge it?

    -off rant

  52. Re:time to think quickly... by Anonymous Coward · · Score: 0

    >You can't. That's what Open Source means - >your enemies as well as your friends can use it. >The Serbs can use it as well as the >Kossovans. Straights and gays. Republicans >and Democrats. Once you open it, you can't >put it back in the box.

    There's a simple way to stop this. Whenever someone creates a new Perl script under Linux/BSD/Unix Perl script all the author of the script has to do is include a licence forbiding users of the M$ versions of Perl to modify the script's code in any fashion.

    Since most Perl usage is under Linux/BSD's/Unix, the Windows crowd won't be able to take someone's Perl code and "improve" it or use it without someone's permission, which for the most part they'll never get.





  53. Re:MS Perl by Anonymous Coward · · Score: 0

    Could there be no ridicule of your worst job? Perhaps daddy took care of you so you would not have to endure such a humble position.

  54. Re:Problem by Anonymous Coward · · Score: 0

    That was without doubt one of the better comments I've seen around here. I compliment you for your equanimity and the thoughtful wording of your prose. More comments from you and I might actually start to enjoy these discussions.

  55. Lighten up? by Anonymous Coward · · Score: 0


    Most Windows users are skeptical of free software, especially software which lacks a formal support agreement.

    Actually, you're dead wrong about the support agreement thing, as far as that goes. Every Windows user I know uses shareware, and if WinZip were free-as-in-speech, they wouldn't care one way or the other. True, MIS suits are often skeptical of free software, especially in terms of formal support agreements, but they hardly count for "most" windows users. A lot of MIS types use Solaris, AIX, or HP/UX anyway, and a lot of those guys aren't 100% gung ho for the GPL either (any more than they're gung ho for NT). Suits are suits.

    Yes, it is true that there is an army of Windows droids who won't use any non-trivial software not from Microsoft, and a lot of them are visual basic "programmers". That is indeed true, and they're a large part of the target "market" (so to speak) for Perl in Windows. But since Perl shares all of the features of Visual Basic which most annoy me, I can't (for my own purposes, which obviously are not yours nor Wall's) see that it really matters which one they use.


    you should lighten up on Larry.

    Well, gee. He's flaming people about whom he knows nothing. I'm flaming somebody about whom I know more than I care to. I'll lighten up when he does. The guy's a rock star. He made those remarks to score points with the intellectual low end of the free software "community"; the kids who flame each other about which operating system they use. It's pathetic.


    Half the time he's just trying to be humorous. His attitude is very refreshing in comparison to most charisma-lacking gearheads.

    I find his attitude almost invariably insulting. In this case it was intentional, but more frequently (to his credit, I suppose) it's not at all intentional; he just seems to have a cloyingly cutesy mind. Well, I guess that's not his fault, and others seem to enjoy it, so I can blow it off.

  56. Class library != "Native functions" by Anonymous Coward · · Score: 0


    Perl has only around 300 native functions where Java has around 5000 native functions

    Any language with 300 built in functions (if that's what you mean) was born dead and should be left to rot. Java is nowhere near as bad as that. ANSI C has what, 32 keywords or something? And people bitch about bloat in ANSI v. K'n'R. With the grace of God, C9x will never be implemented.

    The way MS broke Java was by adding non-standard features (something with event handling IIRC) to the language so their bytecode wouldn't run in a conforming virtual machine, and vice versa. They also broke the native method invocation thing, which is a major pain in the ass. This hasn't affected Java use by corporate MIS, because those guys can decree that all users shall use a given JVM, and make it so. When that kind of top-down authority is unavailable (as when you're distributing .class files to random strangers, which is what Java was for originally), you're screwed because you can't count on the code running properly. Can they do the same to Perl? Technically, of course they can break the runtime environment, but in practical terms that won't affect anybody, because nobody distributes Perl scripts in Windows. Perl code is written to be used locally. As with MIS use of Java, you control the interpreter as well as the compiler, so you can do as you like and compatibility isn't an issue. Oh, yeah. They can absolutely and surely kill any future Perl may have had as an actual development language; because if anybody does try to distribute Perl code to end users outside of his own company, it will hit the same compatibility snags as Java. Hmmm . . . suddenly, MS doesn't seem so bad after all . . . :)

  57. Speaking of "rabid", it's ol' froth-at-the-mouth by Anonymous Coward · · Score: 0


    . . . himself.

    You're a shrieking, polemical, hysterical flamer. You can't take part in a rational discussion, and you respond to disagreement (however polite and well reasoned it may be) by flaming people.

    Grow up.

    What you call "freedom" is the freedom to rip off the users. What Richard Stallman calls "freedom" is the freedom of the users to get the best possibly use out of the software. Of course, for a scripty-guru like you, users are pretty much the enemy, aren't they? I've seen your moanings and howlings about replacing the GNU utilities with buggy, stripped-down Perl substitutes. If that's not an anti-user tactic, I can't imagine what is.


    If you want freedom, don't tie people up with duct tape.

    If you want freedom, you need the source code. I will repeat this again, very, very slowly, because you don't seem to be very bright: If you want freedom, you need the source code.


    What, by the way, did the Free Software Foundation allegedly do to Apple?


    Notice how Mac OS X is BSD-based, not Linux-based. Think about that for a while, please.

    Some of us actually have thought about that, thank you very much. Apple chose BSD over Linux because the BSD license leaves them more wiggle-room than the GPL to take previously free software and make it proprietary. Does this strike you as a good thing? If so, why?

    One last thing: Are you still whining and whimpering about how we should use egcs "instead of" gcc? And have you been following the announcements lately? :)

  58. Activestate & Microsoft agenda? by Anonymous Coward · · Score: 0

    Is there an OpenSource make utility out there? I thought there was a GNU make for windows somewhere.

    If there is then it makes you wonder if Activestate.Microsoft is insiduously pointing people towards SelfishSource software given an opportunity.

    See: http://www.activestate.com/activeperl/docs/perl-wi n32/perlwin32faq9.html#Where_do_I_get_a_ Win32_make

    We can either
    1) Help give support to windows users and point them to OpenSource software and gradually OpenSource operating systems. Bwahahaha.

    2) Ignore windows users and let Microsoft/Activestate give their "help", in which case there will probably be a split at some point.

    Too many people tend to go for 2)

    The more users heading towards OpenSource the better for OpenSource. Microsoft has their bigmoney agenda but they aren't stupid and if most of the users continue to insist on heading towards OpenSource, Microsoft will be dragged slowly there kicking and screaming :).

    Come on! What better sell is there than it's free, faster, more reliable, flexible AND more choice. You should be able to get "converts" easily!

    If we're nasty/unhelpful and alienate potential "converts" guess who is going to "comfort" them..

    Think about it. Think strategy.

    Tactics:
    Have an OpenSource oriented Perl/Win32 FAQ website.

    Microsoft would want to make Linux + OpenSource more like Windows. So why not make Windows more Linuxlike/OpenSource ? List OpenSource Windows development tools/apps, advertise OpenSource/Free O/S.

  59. Re:Speaking of "rabid", it's ol' froth-at-the-mout by Anonymous Coward · · Score: 0

    attack the ball not the man.

    Tom is right, perl would be nowhere if it was GPLd, cause most cool people have to work for money in companies, otherwise they cant eat. Companies will mostly avoid what to them reads like a communist manifesto (even if thats an unfair description), if there is absolutely any alternative. The alternatives are microsofts (or before them, IBMs), so with no perl and no linux, ironically you get more of what you hate.

    Thats the world, its better to work with it and subtly around it rather than scream at it in frustration like Stallman.

    Linux and perl has got a lot of mainstream attention recently, and I think the FSF zealots are getting a bit of the green eyed monster... they have waited a long time for the revolution to come and now to their disbelief and amazement, its happening to someone else!

    Nobody is going to change the world by writing a new twist on a terms and conditions document, no matter how lovely the thought.



  60. Re:What determines "interpreted." by Anonymous Coward · · Score: 0

    And I could say that Java is an interpreted language, as the bytecode gets translated to machine-specific function calls by whatever VM happens to be executing it.

    Face it, the dichotomy of compiled or interpreted languages DOES NOT EXIST. They're all languages, all the same. Use whichever one you will. Just don't bash mine.

    And on a side note, why does this argument ALWAYS come up whenever someone mentions Perl? Doesn't seem to matter what the original discussion was about.

  61. Re:let's not be hypocrites... by Anonymous Coward · · Score: 0

    Limiting perl to that which is completely portable hacks large chunks of usefulness out of it. Without the VMS::* modules, there'd be considerably less use for perl there, and similarly for MacPerl. Especially for MacPerl. I urge anyone that thinks that perl is identical in all its ports to sit themselves down in front of a Mac, or to tell me how to build a droplet in unix perl :-) For that matter, if you want to maintain pure portability, then you end up with a lowest-common-denominator language -- and you wouldn't even have fork().

    *If* Microsoft changes core Perl, then there'll be some compatibility problems. But there's nothing stopping you from going to CPAN and getting the "real" module, or from coming up with a whole new port. I'm not that familiar with Java politics and implementations, but I suspect that it'd be considerably more difficult to branch that than perl, for instance.

    Besides, this was the big issue with ActivePerl, when they became the 'main' win32 perl port. "No, they're going to branch perl! It'll be all windowslike and incompatible with the rest!" But the sky didn't fall, and I'm not sure what more Perl FUD is accomplishing for *anyone* involved.

    I realize that most slashdotters think that "everything should be the same" means that "everything should work like unix", but that's just not the case in all situations. Using the unix paradigms in MacPerl, for instance, would just frustrate both unix people using it (whose paradigms have been wrapped around an OS that really doesn't want to think that way) and Mac people (whose programming concepts aren't unixlike).

    Perl isn't Java, controlled tightly by Sun; it's not IE, a particular program. It's considerably more difficult to derail. (Microsoft offers C in Windows, but that hasn't derailed the language there, either.)

    -Rich rich@vax2.concordia.ca

  62. Who's responsible for this anyway? by Anonymous Coward · · Score: 0

    I was under the impression that ActiveVoice or whoever it was, was responsible for adding the functionality, not M$, and that this functionality was not going to be markedly different from the *nix-specific functionality such as fork(). If it's not M$ who's implementing the new functionality, and the implementer is aware of the "embrace and extend" history of M$ (which is overwhelmingly obvious from reading the FAQ) then what's the problem?

    The Win32 port *is* a pain in the ass. I have to switch over to Linux to avoid making myself crazy. Probably a lesson to be learned here...hmmm.

  63. Re:Looking at the FAQ... by Anonymous Coward · · Score: 0

    Amen to that. Unicode is a typical example of 'standardization' folks completely overlooking the 2 billion or so people that use languages with large numbers of glyphs.

    Moreover, with today's CPUs, 32-bit data manipulations is probably considerably easier to work with, and better performing, than 16-bit integers. The only disadvantage is the increased space needed for storage, and any decent compression algorithim will be able to efficiently pack 32-bit unicode with sparse allocation.

  64. Re:Sorry, but you're wildly wrong by Anonymous Coward · · Score: 0

    You've missed several points. You claim "Unicode is NOT AN IMPROVEMENT over present schemes for CJK encoding". The present schemes are completely incompatible from country to country and can't be used for encoding multilingual text without simply switching from encoding to encoding. This is seen as an enormous problem by most people. The equivalent of having a different JPEG standard for each country.

    Unicode is to the world's languages what Latin-1 was to the western languages: a way to write them all with the same, unified encoding. That's a huge advantage in the eyes of most of us who work in multiple languages, yet it is "NOT AN IMPROVEMENT" to you. Imagine working in French, German, Spanish, and English and having to switch encodings for each. Then, along comes Latin-1. Would that be "NOT AN IMPROVEMENT"?

    It seems as though your point is that this is of NO VALUE unless 1) every conceivable written symbol, version of any character, etc., no matter how obscure is given its own unique codepoint, 2) that codepoint encodes not just which character it is but which language is using it, and 3) the system for encoding this vast volume of characters be of a fixed, rather than variable, width.

    In the case of Latin-1, there are quite a few characters that are occasionally of some use in a western language but that are missing from Latin-1. Has this made Latin-1 of no use for "any serious work" in any western language, and no improvement at all over all the mutually incompatible national "extended ASCII"s that we were seeing before Latin-1? Hardly. It is overwhelmingly popular for almost all computer uses in those languages and a vast improvement over the system we almost ended up with.

    Does that mean that Latin-1 was the perfect solution, without compromises, covering all possible needs? Certainly not, but it was a very significant improvement, and a great balance of cost/benefit--as long as only western languages mattered.

    Unicode is an analog to the move to a unified "extended ASCII" in the form of Latin-1. To say it is not an improvement at all because it doesn't have all that you want is absurd.

    This is especially true because what you say you want is not free. If you examine today's writing, of all sorts in all places, and add it all together in one big pile of characters, there won't be one character in 1,000,000 that is missing from the basic 2-byte unicode character set. That one in a million character can be represented visually using all the standard workaround techniques used today for symbols of all sorts: special fonts, graphic images, etc.

    The surrogates system allows an escape valve to be added to implementations that absolutely REQUIRE those one-in-a-million characters to encoded with their own totally unique codepoints for reasons other than presentation. I don't anticipate many implementations bothering with surrogates, since the BMP character set plus special fonts for user-defined characters (using the user-defined codepoints, so there's no question that a special font is required), plus graphic images, is going to be sufficient for ALMOST EVERY computing need. The extra value added by surrogates is so small that, given the costs, they won't be implemented often. When they are required, though, by some special community of users, they can be added to existing software while maintaining backward compatibility. That's useful in the practical world.

    As I said, plain 2-byte Unicode plus custom symbol fonts, etc. will be sufficient for almost all purposes. Almost all is not all. You're right that this doesn't cover everything. The crucial issue in real technological solutions is whether that tiny sliver of uncollected value is worth the COST of burdening the entire system with 4-byte characters, massive font system complexification, etc.

    I'm NOT missing the point that 2-byte Unicode lacks some things that could be had with a 4-byte Unicode. There are things I could imagine that could be done with a 16-byte/char system that can't be done with a 4-byte/char system, too.

    What YOU seem to be missing is any discussion of costs. All you mention are benefits. 2-bytes per character is such a bitter pill for most western developers to swallow that telling them they really ought to go to 4-bytes/char for a little bit extra is living in a fantasy world.

    For example, you propose a fixed-width 4-byte/char encoding. Well, you're talking about a code space so vast that it will always be sparsely populated. That means that compression and alternative forms of representation (such as UTF-8) will be the rule, not the exception. With any compression scheme, you'll end up losing your simple, fixed-width encoding and you'll be back to a variable width encoding, in most cases. No better off than with surrogates, except that surrogates will seldom be implemented, but your 4-byte proposal would pretty much mandate something like it.

    The need for backward compatibility, not just with the "atrocious 2-byte Unicode" but all the way back to the ASCII-based file systems of most OSes, will also force a variety of compression/encoding alternatives. You'll never see your 4-byte fixed-width encoding.

    This always happens. It's the reason for Shift-JIS, UTF-8, surrogates, etc. Practically speaking, you simply can't have what you demand: a pure, fixed-width 4-byte universal encoding. The benefits of going that far aren't worth the cost, and even if you got it, it would be compressed right back to a narrower, and more complex encoding form.

    "You say that JIS has been sufficient for all but the rarest applications. That's totally incorrect. JIS has been insufficient for any serious work, resulting in a wide variety of incompatible workarounds." I clearly said the "JIS character sets", which is obviously different from the JIS encoding. In fact, the current character set, whether encoded as Shift-JIS, EUC, Unicode, whatever, certainly does cover the needs of the vast majority of computer applications in Japan. For you to suggest that this character repertoire is "insufficient for any serious work" would be rather offensive to the majority of serious Japanese information industry workers who get along just fine with it. As more characters are determined to be necessary by the Japanese national representatives, they will be added to the BMP in Unicode which, contrary to what many believe, still has a lot of room set aside for just that purpose.

    Eventually, though, there will be characters that won't fit into the BMP. The question becomes, what is the way to deal with this? Are they important enough to burden the entire world, in every single character written by anybody in any language, with a 4-byte/char system? Or, are they scarce enough that it is more cost effective to deal with them in some alternative way? Almost everyone in the world (and Unicode is the world's encoding, not just the Japanese') would vote for some less-costly alternative to handle those cases.

    "You dismiss Japanese characters not included in Unicode as "spelling mistakes". The spelling used by Shakespeare differed greatly from modern spelling; does that mean his work was full of spelling mistakes?" Actually, I was quoting a term used by the NEC representative at a recent UTC meeting to describe them. They had some statistics showing that the vast majority of ALL characters in the Kang-Xi dictionary, upon which all large Asian dictionaries have drawn, had only been used by a single author in all of history, and in most cases only ONCE by that author.

    As a result, there was great reluctance to grant them their own codepoints. After all, they were not "characters" that could be represented in a variety of different fonts, but either variant "spellings" (in other words, glyphs) of a standard character, or else they were just something made up on the spot and never reused or mistakes that were never repeated.

    There are so many characters in this category that you really need to think twice about whether they ought to all be assigned a codepoint, thus burdening the entire system. The Japanese decided for themselves that they had no interest in making their own national standard 4-byte character set to deal with these characters. The Chinese, likewise. They might at some point decide to do a special encoding for just those specialty systems that need this, but they haven't indicated any desire to make such a thing their national standard for normal use. There's so little demand among users and implementers that they simply can't justify the extra overhead.

    If that's true even in Japan and China, how anxious should the whole world be to shoulder this burden? It's just not worth the cost for the extra benefit.

    "You talk about how the large database companies support Unicode "to address a global market". Rubbish. They support Unicode because it allows them to say that their software handles i18n."

    Rubbish. That's making the assumption that Asian customers will buy software from western companies purely on the basis of claims of i18n, because they're too stupid to be able to judge for themselves whether Unicode works or not. NEC, Japan's biggest computer company, and JustSystem, the makers of Japan's best-selling word processor, are both members of the UTC. If NEC decided that Unicode was "insufficient for any serious work" in Japan, they would tell their buddies at MITI and the Keidanren, and Oracle, Sybase, Informix, IBM, Sun, Microsoft, etc.'s sales would dry up in Japan. You don't think they would notice? If the Japanese really demanded a 4-byte encoding, wouldn't Japanese companies jump on that as a way to take business away from those "culturally arrogant" western companies and their Unicode?

    You'd also have us encode the same character with different codepoints if it came from a different language. This is probably the number one benefit you seek from your 4-byte system. This would mean any Japanese who wrote the name of a Chinese person, or a place name like Beijing, or a Chinese gov't ministry, or any of several other cases where the characters were the same in both languages and it wasn't really clear whether you were writing Japanese or a snippet of Chinese, would have to make that decision right in the input method editor and encode them as different characters, depending on the decision. Some Brits consider the word "restaurant" to still be French, while others consider it English. Imagine having different codepoints depending on your opinion on that issue! Now, try and use a search engine with that mess. Yet you seem to think that this approach would be a lot better for data processing than an out-of-band language tag that is modularized separate from the character itself. And as for different versions of JIS to Unicode conversion, that isn't a problem that could be resolved by any 4-byte encoding, unless you chose to also give a unique codepoint to each character depending on which table was used for the conversion.

    This is preposterous. I think your view of this industry is wildly skewed by your "DTP" myopia. You're thinking about things that would be nice to have, assuming that building them all into the encoding would be the best possible solution, and completely ignoring what others in the industry think about the costs of such proposals vs. their putative benefits. You think that everyone else is ignorant of the cost/benefit issues, too, including the Japanese and Chinese themselves.

    The Japanese themselves don't seem willing to bear the burden of the system you think the whole world should bear. Why should anyone else?

  65. Was supposed to be? by Anonymous Coward · · Score: 0

    It's funny that you should say this,

    "So are you saying that perl code should be platform independant like Java was supposed
    to be?"

    If Java isn't platform independent, then I am willing to be that MicroReich(M$) had something to do with it. After all, who did win that law suit between Sun and M$?

  66. Re:Dont use activestate use this instead. by Anonymous Coward · · Score: 0

    Ya right...

    What the hell is the matter with all you people?? From what I read, all they where going to do is install a fork() and make the installation processes compatible with the new MSI process.

    Its not like they are trying to change localtime() or embed DBI::ODBC (propietary version, hehe) into the core distribution!

    Get a grip... I've used ActiveState's Perl on Win32s and the "original" on *nix and I'm quite happy with the results from going cross platform.

    If your scared now, I'd wait a bit... Maybe the new application package from M$ will contain Visual P++!!!

    :o)

    Cheers,
    Johnny

  67. Re:let's not be hypocrites... by Anonymous Coward · · Score: 1

    > Doesn't perl "take advantage of the platform
    > features of *nix" right now, intentionally
    > and without shame.
    Sure it does. Right now, however, perl on win32 is pretty much the same as perl on unix, except for fork() performance. It *does* make things more tolerable for people trapped in win32-land, much the same as Cygnus' gnu-win32 gives them a bunch of unix tools and gcc. It's great that they're adding Unicode support to perl. The only travesty is that they're doing it for Windows only. They're undoing all of the previous bridge-building that got perl to the point where you could run a perl script anywhere. That's wrong.

  68. MS didn't kill java by Anonymous Coward · · Score: 1

    MS could never kill java. Its pickup has been slow because it has been crap before 2.0 and dev tools are expensive.

    Java is huge and getting bigger all the time...

    1. Re:MS didn't kill java by spectecjr · · Score: 1

      MS could never kill java. Its pickup has been slow because it has been crap before 2.0 and dev tools are expensive.

      Java is huge and getting bigger all the time...


      Ummm ... "Dev tools are expensive"?!?!?!?

      So, let's see... Sun gives away a free compiler since the first release of Java, and you claim that the reason Java's not taken off in leaps and bounds is because a FREE COMPILER is too EXPENSIVE?

      Come on, please!

      --
      Coming soon - pyrogyra
  69. ActivePerl is great! this is good! by Anonymous Coward · · Score: 1

    PERL != Java, folks. Adding OS specific modules only enhances the product. I use ActivePerl ALOT in the administration of my NT servers (yes, i admin unix, too, the nt boxes were forced on us). VBscript, and all that other MS garbage doesnt cut it, PERL for win32, does. They even have GUI libs for it now, modules to hook into the event logs, registry, APIs, etc. take a look at it!

  70. Uneducated Slashdotters...Beef Take 1 by Anonymous Coward · · Score: 1

    This isn't a flame, and I'll do my best to try and not make it one, but it seems a majority of posters really do jump to conclusions too quickly. Yes, Microsoft employers aren't known for their fantastic programming skills. But, to me it sounds like Microsoft will mostly just give Activestate information to assist in the development of their ActivePERL product. ActivePERL has been nothing but rock solid for me, and I expect it to remain so. As per the press release, all of the core parts of PERL will be Open Source. This is good. Some "value added" (i hate that phrase) components will be closed source (this sucks, but they've gotta make money somehow). I have the utmost confidence in the Activestate folk's ability. Good luck to them. To the people so quick to jump to conclusions, I ask you to STFU until you go download ActivePERL and try it :)

    The more UNIX-originated tools on NT the better. UNIX has a lot of what NT doesn't (stability, power, flexibility), and if some of that can rub off on NT and make my hellish job better, all the better. thank dog for ActivePERL, vim/win32, and thegnu tools for NT. Now if only we could get an Open Source GNU NT kernel replacement! (GNU NTURD?)

    Don't be so quick to evangelize everything. Try and keep an open mind. It's painful to read the comments sections on Slashdot as of late, because it's usually composed of flames, and the "Linux Or Die" attitude, and as a UNIX person, I don't like to see it. It only pushes people away. Look on the bright side, the more NT assimilates UNIX, the easier it is for the average m0r0n MCSE to migrate to UNIX after he realizes NT just doesn't cut it in the enterprise...

    1. Re:Uneducated Slashdotters...Beef Take 1 by Chris+Johnson · · Score: 1

      If his job is that bad...
      If his boss is devising new ways to make it even worse just to keep him from going near _you_ and your oasis...
      If his boss is working out contracts removing more and more of his rights and turning him into property rather than an employee...

      MAYBE HE BETTER FSCKING QUIT HIS JOB.

      Be more ruthless, people. Sympathy is earned, not to be taken for granted. If you see slaves, do you feed 'em and save their owner the expense of feeding their property, give them water saving their owner the expense of bothering to find water for them, do you take over all the responsibilities of the owner without asking for the injustice of their situation to be changed- or do you save your efforts for the ones trying to break free?

    2. Re:Uneducated Slashdotters...Beef Take 1 by Tom+Christiansen · · Score: 2
      The more UNIX-originated tools on NT the better.
      For a long time, the only tolerable way to address this paralysing lack of tools was to use MKS, but that's a poor solution because you have to buy it (strike one), you can't hack it (strike two), and it doesn't have everything you want/need (strike three).

      The advent of freely available, plug-and-play substitutes for our standard Unix tools has been a great relief to victims of Big Bad Bill. These include the vi (vim, actually, but that's fine), Perl, the entire UWIN environment, the Cygwin suite, and of course, Perl Power Tools, which also work on non-{Microsoft,Unix} systems.

      Some folks feel that we shouldn't port our tools to the evil one lest it thereby become easier to exist under his yoke, and thus perhaps decrease the chance of someone upgrading to Unix. But hold on there. Imagine that you're living in a fertile oasis of plenty, and on a dayhike, come across your friend toiling for his business in the searing desert that surrounds you. He is parched and crying out for aid. You invite him back to your oasis to refresh him, but he says that his job is there in the infernal sands. What do you do? Do you just walk away and abandon him? Of course not! You give him a sip or seven of that cool water you've brought with you from your safe haven.

      So too should it be with our tools.

      --tom

  71. This is not cut and dry, analogous to politics. by Anonymous Coward · · Score: 1

    Whatever the backgound motivations of M$ are, there is a useful analogy to the polical process here. M$, rightly so, identified a threat to itself. Whether they see this threat as an inadequacy on their part or just as a target to shoot does not matter. They are adapting (this perl thing is just one case) to the pressure.


    Much like politicians. Clinton, as evil and inept as he sometimes is, morphed to the right. Not for good reasons, just for votes. But the effect is the same. Forbes is very aware of this effect, and never intends to actually win, but he applies pressure for change in his direction by running.


    M$ may being doing things like this just for votes/sales, but this sort of thing will change what M$ is. Our pressure for good can morph the giant instead of killing it. Face it, we cant kill it.


    I am not saying I will ever advocate or use M$ voluntarily, but if their power for evil reduces through magnitude or intent below a critical threshold (total brainwashing of PHBs) our lives and good engineering sense may return to some sane state.

  72. Sorry, but you're wildly wrong by Anonymous Coward · · Score: 1

    Gee, what a bunch of misinformed nonsense! I'm "sorry [you're] not clearer", too. Too bad I didn't catch this thread earlier. It's probably too late, now.

    I work in CJK computing, and I speak all three languages. I use a Unicode-based machine to read all three. I assure you that I have none of the difficulties you describe. Someone working in just one of those languages would have it even easier. You're not going to get hit in the face by some horrible Chinese font if you are trying to read Japanese on a Japanese-only machine.

    You say the following:

    "The whole point of Unicode was that code points were supposed to be kept separate between languages - so an A in English and an A in French (as well as German, Dutch, etc. etc. etc.) are all supposed to have different code points, because usage differs between these languages. (This is just an example; I'm not positive that all these languages have a different code point for A)."

    This is extremely misinformed. The whole point of Unicode was never such a thing. It was to create a single, unified encoding for all languages, just as Latin-1 (ISO 8859-1) was a unified encoding of major western European languages. Latin-1 was valuable because it kept the French, Germans, Americans, etc. all from using different code points for the same characters.

    No, there are not different code points for "A" in different languages in Unicode, and there never were. It's ridiculous to suggest that there should be. How often do we suffer because the French word "chat" (cat) and the English word "chat" are represented by the same code points in Latin-1? Approximately...never.

    Because English and French share a common encoding, in the case of Latin-1 (ISO 8859-1), you can tell at a glance what language it is and what it is saying. If you want to switch to a font that is more "French" in appearance, that's easy to do. If you want that change to occur automatically, use language tagging or font tagging.

    I agree that the font differences are greater between the C-traditional, C-simplified, J, and K than between English and French. They are not so great, though, that you can't read any of them in any of the others' fonts well enough to easily determine what language they're in and switch to a more appropriate font. Usually, they are so easy to read that you might not even bother to switch fonts unless you plan to print it.

    When you need to indicate explicitly what language a sample of text is written in, you tag it with an ISO standard language tag, or one that is customized for your application. If it needs to be represented with a certain font (say MS Gothic for Japanese Win32 instead of MS Song for Chinese Win32), you use a font tag (or some equivalent out of band markup.

    It's simply not necessary for the codepoint to declare both the character and the language and absurd to imagine doing so. There are something in excess of 5000 languages that use the Latin alphabet (cf. SIL's Ethnologue). Are programmers clamoring for 5000 different codepoints for the letter 'A'? They would all fit in a 4-byte encoding, but is that what you'd really want? There are dozens of languages that use the Arabic script. Should there be dozens of copies of each character? Even something like the Hebrew script, which you'd think would be limited to Hebrew language, is used in half a dozen other languages (Yiddish, Ladino....)

    Essentially, creating a separate code point for each character in each language is the equivalent of adding language tags character by character. Is this really better than having language tags used only where actually necessary?

    Imagine the font size! If you just use tables of pointers to the same glyphs instead of containing multiple copies within the same font, imagine the lookup table size! Imagine the performance hit to do that kind of nonsense for each character.

    You say even the current system is better than Unicode. Really? Currently, if I send you a snippet of text in some East Asian language, how do you know what characters it represents? The major national encodings for Chinese, Japanese, and Korean completely remap the same double-byte codepoints. You have different characters depending on which encoding it is, so you have to be told the encoding, don't you? Having an encoding tag is just an out-of-band markup, but unlike the case of a language tag, the text is complete gibberish without the encoding tag with things as they currently are.

    Also, you say there aren't enough codepoints in double-byte Unicode to hold the needed number of Asian characters. Really? There are no currently implemented computer systems in all of Asia that contain any characters than are not already encoded in today's 2-byte Unicode, and more are being added from obscure old paper sources--characters so rare that nobody has yet used them on any computer. There's still room for many more of these in Plane 0, and surrogates allow for the addition of nearly a million more without going to 4-byte encoding.

    There are too many other flaws in your diatribe for me to be willing to go on any longer, especially when I don't know if anyone will even read this comment so late in the game.

    You are too uninformed about these issues to be making such a fuss. (For example, you mention a 4-byte Unicode. There is no such thing. You're thinking of ISO 10646's UCS-4, which is not a part of the Unicode standard, but then you only seem to know enough about this to have a lot of strong mistaken opinions, so that's no surprise. I'm not going to get started again....)

    1. Re:Sorry, but you're wildly wrong by Anonymous Coward · · Score: 1

      "DTP is not presently practical under Unicode". Unicode is a character encoding, not a page description language like PostScript. Unicode is as practical for DTP as Latin-1 or Shift-JIS or any other encoding for conveying which character is which. That's all any encodings currently do. All the rest is handled by markup of various sorts, the kind of markup that could be just as easily applied to Unicode as any other encoding or group of encodings. DTP is "not presently practical" due to lack of Unicode-based software tools, which took years to develop for the older encodings. As an encoding, Unicode doesn't lack anything the other encodings have.

      "what I said was that what the Unicode standard calls the same character can actually be a character that appears superficially similar (but not necessarily) but has a completely different meaning depending on the language."

      Character encoding isn't supposed to resolve "meaning" in the sense you mean. It's supposed to distinguish one character from another. The question was one of whether those cultures considered it to be the same character in a deeper sense that "what connotations and usages has it taken on in the modern language". It's the same as do all languages consider the ampersand to be an ampersand, even if it has all sorts of different usages and variant preferred glyphs in different cultures. We don't need a different ampersand for each culture.

      Most characters' meanings have morphed significantly over the ages, even if you limit yourself to a single language, say Chinese. The Chinese don't consider a character to be two characters just because it used to mean one thing and now it usually means something else. (In cases where they DO consider two characters different, they encoded them separately in their national character sets, and they remain separate in Unicode.) In the same sense the Chinese consider one character to be "the same character", the Chinese, Japanese, and Korean scholars have been able to agree on which characters they share are "the same character", even with variant usages and preferred glyphs.

      "This statement alone is enough to condemn Unicode for gross cultural arrogance. "All the languages of the world"? Yeah, right!"

      Which ones have they missed? While I admit that it is always possible for me to find an obscure unencoded symbol, or to make up one of my own, and always will be, there are no modern languages whose normal-use characters are not either in Unicode already or are in the process of being standardized. As the quote said, Unicode supports all of the world's languages in the same sense that Latin-1 supports Western European languages.

      "Did you actually read what I said? I was using the letter A as a theoretical example."

      Sure I did, and I pointed out that your example was wrong. The letter A example you chose was a good example of your point, because it clearly illustrated the fallacy of that point.

      "Great. You seem obsessed with on-screen appearance; try printing your text some time (and I'm not talking about using any TrueType crap here. Use a proper PS font.) Not to mention the fact that merely switching the fonts isn't going to work when you have two languages mixed in the same document."

      It's you who seem obsessed with "appearance". I'm not talking about appearance at all. I'm talking about character encoding. Character encoding is not a field of DTP. What characters are represented by a bytestream is the point of character encoding. Its only relevance to DTP is that it provides one piece of information that, combined with font info, page layout metrics, and other forms of data allow a printed representation of the data to be created. Your only valid complaint about Unicode would be that it doesn't do its job of telling you WHICH CHARACTER is meant. All other claims are spurious. Font technology comparisons, for example, are a complete red herring.

      Also, if you have two languages mixed together in some sort of display, you either represent them with the same font or with different fonts for the different languages. If you choose to do the latter, you have to have some information other than the text itself to tell you which text is in which language. If you use escape codes to switch from one encoding to another, then assume that a given encoding could only mean one language, then you could use those escape codes as markup to tell you when to switch fonts. That's fine, but it leaves you nothing to complain about when I suggest that you could use other out-of-band markup systems as well, say marking the font changes explicitly, or marking the language changes and letting that imply different fonts the way your encoding change marks currently do.

      You seem confused by the difference between characters and the glyphs used to represent them. If I have a magazine page that contains both English and bits of French, I might choose to italicize the French, as is common in serious publishing. That's no reason for me not to use Latin-1 for the whole page, which is also what serious publishers tend to do. The glyphs to be used, in this case normal vs. italics, are chosen on the basis of two pieces of info: the character and the language. The latter can be marked, just as I said, by language tags that your system then uses to automatically pick a font, or by font tags, or by italics tags, or whatever. The info doesn't come from the character encoding.

      It's no different if you're using Unicode for a mixture of Asian languages. You have the same issues and solutions as when using Latin-1 for Western languages. Those solutions haven't been widely implemented in software yet, so a lot of people tend to assume that an encoding escape sequence is somehow the same as a language tag. (The fallacy of this would become obvious to you if you worked in Arabic and had to switch among several languages that all use the same Arabic encoding, for the most part (ISO 8859-6, as I recall), but different presentation forms.)

      Yes, Unicode requires out of band information to indicate things like language or font. So do all encodings. Some people just use the escape sequence that switches encodings as that out of band info, but that's still out of band info. It's not the text itself.

      "Before you go spouting off about how Unicode is sufficient, and how "no currently implemented computer systems in all of Asia" use more characters, take a look at something like the GT Mincho Project, which has already defined 64,000 Japanese characters, and which will be extended to more than 100,000 characters in the near future. (And please don't tell me again about surrogate pairs; the UTC hasn't bothered to do much work on defining the code points yet, making them effectively useless.)"

      The JIS character sets have proven quite sufficient for all but the rarest of Japanese applications. All JIS characters are currently encoded in Unicode. As new characters are added by the Japanese national standards org, they are also added.

      A project to exhaustively find every character ever written by anybody in Japan, most of which are essentially spelling mistakes, is of extremely limited practical interest to those implementers and users of modern computer systems. Nevertheless, if it turns out that a set of 100,000 characters is of enough value to be worth implementing at all (doubtful, considering the cost/benefit of any fonts that covered them), they will have to be adopted into something larger than the current Japanese JIS, Shift-JIS, or EUC-jp encodings.

      If the Japanese do adopt and implement such a system (I'll believe it when I see it), then it will also be added to the surrogate space in Unicode. You say the UTC hasn't done much work to define those codepoints yet. That's because it will be left to projects such as this Japanese one to come up with the character set and encoding support, then they can present it to the Japanese national body who will decide whether they are interested or not. If they are, then they will present it to the UTC, and the code points will be added, almost certainly based on a simple algorithmic conversion of the Japanese national system. It's not the UTC that does this job, "culturally arrogant" as you claim they are.

      "Try searching using CJK Unicode. Depending on the characters you use, you'll pick up a whole pile of false hits because of the CJK unification."

      If you search a multilingual database without any specification of language, you ALWAYS have this problem. Try searching for "chat" in mixed English and French. Some of the hits will be the English for chat, some the French for cat. There are a gazillion words that are spelled identically and mean different things in different languages. Given that there are almost always multiple languages using the same script system, it's foolish to think that you could ever just mix languages together and search a database that had no language data other than the codepoint of its characters.

      The big database companies are the biggest proponents of Unicode because of their need to address a global market, so they don't seem to agree with you.

      "If you really believe surrogate pairs are a good thing, you're an idiot."

      Yes, very persuasive argument there. I'm agnostic about surrogates.

      Surrogates, for anyone who reads this and doesn't know, are a way of changing Unicode from fixed 2-bytes per character to a variable [usually two bytes, but occasionally, for really obscure characters, 4 bytes]-type encoding. This adds some extra processing, but it's not very complex. It's an analog of what's already being done by most popular Asian encodings, which usually combine single-byte and double-byte characters in the same encoding. There is no horrible complexity problem that isn't being handled just fine by almost every Asian software implementation today, but it is sort of a wart on the purity of double-byte Unicode. It's an escape valve, really, for users who insist on writing in Klingon, for example. Because of the extra processing required to parse variable-width encodings, and the fact that there is so little of any importance to the vast majority of computer systems that ISN'T in the pure 2-byte Unicode, I don't expect to see a lot of implementations that bother with surrogates. Any implementation that decides to use it, though, can add surrogate support in a later version and still maintain complete backward compatibility with pure 2-byte Unicode data. That's really a huge practical advantage.

      In contrast, you propose forcing everyone to switch to 4-bytes per character for every character. There simply is so little to be gained by this, and so much hassle for most users, that it isn't going to happen. It's dead. A font that contained one glyph per codepoint in a 4-byte space would weigh in a, what, nearly a terabyte! Of course, nobody anticipates actually using any sizeable portion of the codepoints, so you'll have an extremely sparse array with all of the complexity of translating codepoints into glyphs moved into font lookup tables and algorithms that simply shift some of the complexity from the encoding to the font subsystem. I could live with that, too, if there were something really important to be gained, but few people see enough advantage in it to be willing to put up with 4 bytes per character.

      In practice, the great majority of people are going to just use the user-defined areas of 2-byte Unicode in combination with special fonts to handle those rare characters not in the fixed-width 2-byte plane (BMP). With the addition of language tags, this system will even allow for the listing of Klingon names in your Oracle database without even having to go to surrogates, much less 4-bytes/character. Unless you propose including 5000 different 'A' characters, one for each of the world's romanized languages, the languages will have to be recorded out of band in any fully multilingual searchable database anyway, so that capability will already be there.

      My summary would be that going to a double-byte Unicode is a big hassle in a lot of ways, but it adds so much value by its unification of the world's script systems into a single encoding(like using Latin-1 for all Western languages instead of a different encoding for each) that it is inevitable. Surrogates are an escape hatch that probably won't be widely implemented because they add so little for most people.

      A pure 4-byte per character system is so much more hassle than a 2-byte system, and adds so little extra value, that it is a hopeless cause. With a pure 4-byte system, you could do more than encode a few rare characters, of course. You could put all kinds of extra goodies into it that it would leave the realm of character encoding and become a more rich and detailed description of written language.

      Don't imagine that I see no advantage in that. It's just that I think that modularizing the description of text into characters in a fixed 2-byte encoding, plus other data in out of band markups of various sorts that can be used or not as needed, is the more practical approach and the one that has the best chance of persuading people to move from today's confusion of incompatible encodings to a single, unified encoding for most (but certainly not all) purposes. A 4-byte system is such a big pill to swallow for so little benefit beyond that offered by 2-byte Unicode that it will never be practical as a mainstream technology.

    2. Re:Sorry, but you're wildly wrong by BJH · · Score: 1

      "I work in CJK computing, and I speak all three languages. I use a Unicode-based machine to read all three. I assure you that I have none of the difficulties you describe."

      I speak and read two out of three, and I work at a publishing company that handles all three. You obviously don't do DTP. DTP is not presently practical under Unicode; give it a try sometime and you'll see what I mean.

      "Someone working in just one of those languages would have it even easier. You're not going to get hit in the face by some horrible Chinese font if you are trying to read Japanese on a Japanese-only machine."

      I didn't say that you would; what I said was that what the Unicode standard calls the same character can actually be a character that appears superficially similar (but not necessarily) but has a completely different meaning depending on the language.

      To quote from the Unicode.org home page: "The design of Unicode is based on the simplicity and consistency of ASCII, but goes far beyond ASCII's limited ability to encode only the Latin alphabet. The Unicode Standard provides the capacity to encode all of the characters used for the written languages of the world. It uses a 16-bit encoding that provides code points for more than 65,000 characters. To keep character coding simple and efficient, the Unicode Standard assigns each character a unique 16-bit value, and does not use complex modes or escape codes."

      This statement alone is enough to condemn Unicode for gross cultural arrogance. "All the languages of the world"? Yeah, right!
      And they say they do not use "complex modes or escape codes". Excuse me, last time I looked surrogate pairs weren't exactly simple. And an out-of-band markup or font tag is worse than an escape code; an escape code can at least be handled within a text stream, without having to look elsewhere for information about what language the text is supposed to be.

      "No, there are not different code points for "A" in different languages in Unicode, and there never were. It's ridiculous to suggest that there should be. How often do we suffer because the French word "chat" (cat) and the English word "chat" are represented by the same code points in Latin-1? Approximately...never."

      Did you actually read what I said? I was using the letter A as a theoretical example.

      "Because English and French share a common encoding, in the case of Latin-1 (ISO 8859-1), you can tell at a glance what language it is and what it is saying. If you want to switch to a font that is more "French" in appearance, that's easy to do."

      Great. You seem obsessed with on-screen appearance; try printing your text some time (and I'm not talking about using any TrueType crap here. Use a proper PS font.) Not to mention the fact that merely switching the fonts isn't going to work when you have two languages mixed in the same document.

      "You say even the current system is better than Unicode. Really? Currently, if I send you a snippet of text in some East Asian language, how do you know what characters it represents? The major national encodings for Chinese, Japanese, and Korean completely remap the same double-byte codepoints. You have different characters depending on which encoding it is, so you have to be told the encoding, don't you? Having an encoding tag is just an out-of-band markup, but unlike the case of a language tag, the text is complete gibberish without the encoding tag with things as they currently are."

      You're missing the point; Unicode still requires out-of-band information to determine the correct character to display for a particular code point in CJK, and converting text data from a current encoding scheme (take your pick; JIS, SJIS, EUC-J, Big5, whatever) to Unicode makes it IMPOSSIBLE to convert back to any of those coding schemes with a 100% guarantee of no loss of information. Try it; it really does work like that.

      "Also, you say there aren't enough codepoints in double-byte Unicode to hold the needed number of Asian characters. Really? There are no currently implemented computer systems in all of Asia that contain any characters than are not already encoded in today's 2-byte Unicode, and more are being added from obscure old paper sources--characters so rare that nobody has yet used them on any computer."

      That's because it wasn't POSSIBLE to use them on any computer, and it's still not possible with present implmentations of Unicode. And you seem to be rather misguided about the existence of characters not available under today's computer systems. What do you mean by "characters so rare that nobody has yet used them on any computer"? So what? Is this now the definition of a "useful" character - whether it's available on computer or not? In my opinion, we should be making the tools fit the job, rather than the other way around.
      Before you go spouting off about how Unicode is sufficient, and how "no currently implemented computer systems in all of Asia" use more characters, take a look at something like the GT Mincho Project, which has already defined 64,000 Japanese characters, and which will be extended to more than 100,000 characters in the near future. (And please don't tell me again about surrogate pairs; the UTC hasn't bothered to do much work on defining the code points yet, making them effectively useless.)

      I could go on about problems with Unicode, but I'll just give you a quick list of some points:
      - Try searching using CJK Unicode. Depending on the characters you use, you'll pick up a whole pile of false hits because of the CJK unification.
      - Try typesetting with Unicode. It just doesn't work, and it's difficult to see how the UTC is going to make it work (if they even care).
      - Take a look at the conversion tables between Unicode and JIS. There's already at least three of them (not to mention Microsoft's implementation, which uses a fourth); how do you decide which is the correct one?
      - If you really believe surrogate pairs are a good thing, you're an idiot.
      - Look at Unicode's implementation of other Asian languages, like Thai. It sucks - but the UTC insists that they have "supported" these languages.

      And lastly, about UCS-4: the Unicode.org home page has this to say - "The international standard ISO/IEC 10646 allows for two forms of use, a two-octet (=byte) form known as UCS-2 and a four-octet form known as UCS-4. The Unicode Standard, as a profile of ISO/IEC 10646, chooses the two-octet form, which is equivalent to saying that characters are represented in 16-bits per character. When extended characters are used, Unicode is equivalent to UTF-16."
      ISO-10646 was originally supposed to be a 31-bit standard, supporting CJK without unification of the code space - but because of the UTC, it was refused approval, and eventually turned into the 31-bit ISO-10646-1 standard, which just places the whole goddamn mess of 16-bit Unicode into the ISO-10646-1 31-bit codespace. And you're trying to tell me that the Unicode standard is good because it doesn't support 4-byte character codes?

    3. Re:Sorry, but you're wildly wrong by BJH · · Score: 1


      Once again, you're missing my point. Unicode is NOT AN IMPROVEMENT over present schemes for CJK encoding, and in some areas introduces new problems.

      You say that JIS has been sufficient for all but the rarest applications. That's totally incorrect. JIS has been insufficient for any serious work, resulting in a wide variety of incompatible workarounds. Unicode provides yet another woefully insufficient solution that will lead to yet more workarounds (and I include surrogate pairs in this). You say that you're agnostic about surrogates. You work with CJK, and yet you don't care that what the surrogate system does to Unicode is almost exactly what SJIS did to 8-bit characters? SJIS is the worst of the commonly-used Japanese encodings, yet the UTC chose the same path. Surrogate characters are an ugly solution to a problem that should never have happened, but they are the only solution proposed by the UTC. They're a patchup job to a coding scheme that was not properly thought out to begin with.

      You ignore the proliferation of conversion tables from JIS to Unicode, and the fact that JIS to Unicode is not reversible. Any data that is converted to Unicode is stuck in Unicode; you can't even be sure which conversion table was used, meaning it's impossible to know whether a particular Unicode version of a document matches any other encoding.

      You dismiss Japanese characters not included in Unicode as "spelling mistakes". The spelling used by Shakespeare differed greatly from modern spelling; does that mean his work was full of spelling mistakes? What if Unicode forced English scholars to use a particular spelling? They'd have been up in arms in a second. Yet, this is almost exactly what Unicode (and other encoding systems, to a certain extent) have done to CJK. It has been impossible to convert historical documents to digital form because of the limitations of present encoding systems - yet Unicode, rather than trying to solve these problems, has added greater complexity without providing a full solution. The UTC had a shot at getting it right, and they blew it. They refuse to acknowledge that, and as a result, the CJK-using countries will suffer.
      You talk about how the large database companies support Unicode "to address a global market". Rubbish. They support Unicode because it allows them to say that their software handles i18n. This is most likely the worst part of Unicode - it prevents better systems from having a fair chance, in that Western companies think that by supporting Unicode, they automatically gain entrance to non-Western markets. Because of the UTC's shortsightedness, nobody else can do anything about i18n without being told "Well, Unicode support is enough". It's not enough, and in its current form it never will be.

  73. ActiveState & Perl by Gleef · · Score: 2

    I currently use ActiveState Perl when I'm stuck with the Windows platform. They seem to be a pretty together company. Their commercial license is annoying, but all of the stuff they do that I care about is under the normal Perl license.

    As long as ActiveState keeps control over their version of the codebase, and stays autonomous, I don't see any problem here. On the other hand, this is Microsoft we're talking about here. With an agreement in hand between ActiveState and Microsoft, I fear ActiveState is not much longer for this world. Microsoft's past behavior with similar agreements is pretty scary.

    --

    ----
    Open mind, insert foot.
  74. Re:ActiveState / Perl by Gleef · · Score: 2

    I wasn't aware that it was the base Perl, I just assumed there were some Win32 specific patches that were needed (i.e. the patch file would be their codebase). I stand corrected, but that wasn't my point.

    My point is that the agreement itself makes little difference, but it shows that a small company (ActiveState) has gotten Microsoft's attention. Historically speaking, such attention generally means a short term benefit for the small company, and a medium-to-long term disaster. If ActiveState goes byebye, it would be IMHO a loss for the Perl community, particularly any Perl for Windows users out there.

    --

    ----
    Open mind, insert foot.
  75. Re:Embrace and Extend? by jandrese · · Score: 1

    I read that phrase differently than you did. It looks to me like activestate plans to add features to the "windows" version of perl that do not exist on other platforms (activex controls for example). This means that a lot of perl written by windoze coders may not run on every other version of perl, which is exactly what MS and other commercial software houses love to do. (it's called "value adding")

    Of course if Activestate keeps their version of perl in line with the "main" distribution, and contributes ALL relevant changes back to the community, then this will be an undoubtedly good thing for perl. I should point out that history is against this course of events.

    --

    I read the internet for the articles.
  76. Problem by Aaron+M.+Renn · · Score: 2

    In general, there is no reason to oppose anyone changing a free software product. The whole idea of free software is that it puts the user in charge and allows him to make changes to suit his needs, even those change the author might not approve of. Larry Wall has stated that he wants to try very hard to ensure that there is only one version of perl (the implementation is the standard) and it looks like this company will be donating most of their code back, so a split is probably unlikely in this case.

    Where I have a problem is with the proprietary add on components it looks like they will be developing. I'm not familiar with this company, but from the FAQ it looks like much of their business is writing "freedom subtracted" add-ons to Perl. I think this is very unfortunate and do not think companies should be rewarded for leveraging free software to sell proprietary products.

    1. Re:Problem by Bob+Uhl · · Score: 1
      Where I have a problem is with the proprietary add on components it looks like they will be developing. I'm not familiar with this company, but from the FAQ it looks like much of their business is writing "freedom subtracted" add-ons to Perl. I think this is very unfortunate and do not think companies should be rewarded for leveraging free software to sell proprietary products.

      What is wrong with this? Red Hat '[leverages] free software to sell proprietary products' such as support, documentation, CDs, t-shirts &c. This company ports Perl to Windows (a not insignificant contribution to the community) and distributes it for free. It also provides several very useful tools for a fee. Now, some find it immoral to charge a fee for one's own software, but that is another discussion. It is legal, ethical and IMHO moral. More to the point, no one else has written such programs; to my knowledge there is no other Perl IDE/debugger. If this company wishes to charge for its unique service, let them.

      Really, you cannot expect someone to put man-years into a product and then give it away. If he does, that's a good thing. If he doesn't, he is perfectly within his rights.

      This goes back to the whole closed/open source argument. Some argue that closed source is morally wrong. Others argue that open source is intellectually foolish. The fundamental problem is that they cannot see that both approaches are good, and both are bad. Closed source is good for certain reasons (tight central control, increased chances of better software design &c.). Yet it is also inherently selfish. Open source, OTOH, has some benefits regarding code reliability and other areas, in addition to which it is more selfless (although not entirely; programming for recognition is not all that different from programming for money). Yet open source projects can suffer from a lack of a coherent design and vision.

      A Western perspective, overly influenced by the philosophy of Aquinas and the Scholastics, can see onl in terms of black and white, good and evil. Seeing the the benefits of open source are greater than those of closed source, and that the detriments are lesser than the respective, a Western observer states that open source is good, closed is evil.

      An Eastern perspective sees things not just as black and white, but as black fading through grey to white; it is the difference between the integers and the reals. Open source is better than closed source, but closed source is not evil. Open source is not good, either; in a fallen world, nothing is perfect. It is all a matter of degree. Both have elements of good; both have elements of folly. The key is to apply each where needed.

      Note that I say Western and Eastern, not Christian and non-Christian. Eastern Christianity (i.e. Orthodoxy) maintains this non-polar attitude. Western Christianity had it once, but lost it in the early Middle Ages.

      To reiterate my point: you cannot fault someone for taking the appropriate path. If there is no other means to obtain, e.g., a perl debugger, then the one who sells it should be thanked for bothering. It is not wrong to do so.

  77. That is _not_ a safe assumption by Chris+Johnson · · Score: 1

    The one thing you can be pretty certain of is that Unix perl scripts running on Unix hosts are pretty well immune. The source to it is available, and it's not subject to being seized or perverted.
    What MS will be doing if they want to play hardball is this: breaking Unix perl scripts for THEIR OWN PEOPLE. Making little changes so only MS-Perl runs properly, and scripts from the archives or scripts from Unix that shouldn't be causing problems, would cause problems or fail. I don't know exactly how this would be done- it'd be syntactic- but this is definitely what would be happening.
    Again: they would break it FOR THEIR OWN PEOPLE, w.r.t running scripts from the Unix community. This is a dangerous tactic because if they do it too much (combined with all the lovely license and 'user protection' schemes they're into), the temptation will simply be to abandon ship entirely. However, that is a risk they have to take because their only real option is to poison their own well- to make MS-Perl begin to act incompatibly and hope they can load so many examples into it that people will still choose that fork- this in spite of the fact that someone could try to make another Win32 Perl to compete with MS-Perl (at least until legislation is passed that is draconian enough about reverse engineering to make this awkward to impossible- in that case they would change Win32 just a bit and not update the docs and then the choices (for that API) become 'fail' or 'break the law')
    Expect MS Perl to not run *nix perl scripts forever- however, the example given ('my perl script running on a *nix server') _would_ be safe as the script only has to run on *nix, and the Win32 browser does not have to run it.
    Perhaps they will build it into IE and attempt to get people to make MS-Perl scripts that run on the client, not the server. After all, IIS seems not to be the most effective way of producing dynamic content anyhow, and offloading that dreadful processing load could be a real win :)

  78. No way by Chris+Johnson · · Score: 1

    You can't. This is a suicidal strategy.
    You can't make sure anything runs better on Windows, because you do not own it. You can't count on reverse engineering, because legislation is being forced through to make that a crime. You can't significantly help free software by establishing beachheads of it on MacOS and Windows, because it is a luxury on those platforms, easily outmaneuvered in flash and glitz by proprietary vendors, and it cannot be certain the APIs it relies on are the true APIs- the vendor can change the rules of the game at any time.
    Hell, I _program_ GPLed free software on MacOS, and I don't think this is a sane strategy. I program that way because I _use_ MacOS and because I want there to be GPLed software there, not because I have any illusion that this will cause Mac market share to be lost to Linux because I'm putting GPLed stuff there. It is not- the stuff that I write can only _increase_ the market share of MacOS. I'm OK with this, it could do with a bit of increasing and is a nice weird option to have around the industry, plus easy to maintain :)
    If you want to get market share for Linux then present people with no option- the arrogance of commercial software will do the rest.

  79. (semi-)Great! by gavinhall · · Score: 1

    Posted by FascDot Killed My Previous Use:

    This is great news, in a way.

    I tried using Perl Win32 about 1.5 years ago to do NT login scripting. It totally sucked. So I'm glad Win32 functionality will be expanded.

    OTOH, I'm not sure I like the idea of MS doing the work.

    I haven't studied Perl's licensing very closely so I don't to what extent the GPL applies to modules. And, of course, I have no idea what form MS's extensions will take.
    --
    "Please remember that how you say something is often more important than what you say." - Rob Malda

  80. Re:Looking at the FAQ... by gavinhall · · Score: 1

    Posted by Lulu of the Lotus-Eaters:

    I am confused by BJH's discussion of CJK characters and Unicode. I am sure s/he is correct, but I just don't understand it.

    How does the fact that a Chinese-based character appear differently in a different font differ from the fact the the Roman "A" appears differently in TimesRoman than in Helvetica? Would not the solution to DTP in Chinese-based languages simply be to install multiple Unicode fonts on a system, and choose the correct font based on the context (much like one does in DTP for Roman-based alphabets/fonts)?

  81. Roll your own ;) by mds · · Score: 1

    I've tried to use gcc/egcs to build Perl for MSWin32-x86. For the most part, it works fine.

    My most critical criterion, in a grossly heterogeneous environment (*NIX, OS/390, Tandem -- you name it, we're running it ;), is the ability to ``write-once-run-anywhere''.

    Unfortunately, I haven't been able to compile many of the modules thusly, such as the libwin stuff.

    I've brought this up to perl5-porters and comp.lang.perl.misc; but, I've received only apologies and ``we'll get there eventually''.

    Do any of you, dear readers, have truly Open Source Perl deployments running on wintel and *NIX? How do you compile modules?

    --
    Best Regards, mds
  82. Interesting admission buried in there... by DunbarTheInept · · Score: 1
    I noticed this in the article, talking about the goals of this 'enhancement':

    1) fork() This implementation of fork() will clone the running interpreter and create a new interpreter with its own thread running in the same process. Goal is functional equivalence to fork() on UNIX systems without the performance hit of NT's process creation overhead.

    Uhm, aren't they basically admitting publicly that NT's process creation model is dog-slow? It's pretty strange to hear them admit that outright.

    And also, isn't that just a horribly bad idea to alter the Perl interpeter so that when a perl script does a 'fork' that it ends up making just a thread instead of a process? It sounds like a good idea for performance, but pre-existing scripts that *expect* their forks to create processes are going to run into trouble on this. (One reason for forking in a server is so that if the sub-server dies from a bug the main server is still going - this change blows that idea out of the water.)

    --

    Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

  83. First MS-HTML ... soon MS-Perl by DaBuzz · · Score: 1

    I think we all remember what MS has done to in regards to HTML right? Any webmaster knows what I'm talking about.

    What about what they have done to "take advantage of platform features on Windows" regarding Java? Another clusterf**k. Luckily Sun had the $$$ to fight it.

    Forget the fact that there ARE no advantages to the Windows platform in regards to Perl ... in my opinion, so what is there for MS to take advantage of? Nothing. They will simply try to bastardize the popular CGI language and lock in even more MS shops because they were foolish enough to follow suit.

    --
    If you can read this message, your threshold is too low.
  84. ...this is also a Micros~1 attempt to beat Apache by Kurt+Gray · · Score: 1

    Notice that goal #4 of this project as stated in
    the FAQ is to "improve PerlScript performance
    under IIS" -- I think someone at Micros~1
    realized that beating Apache/mod_perl in the
    perl scripting department would be a bid win
    for them.

    I'd have to admit it is a noble cause, but it
    will take more than that to convince me to run
    NT web servers instead of UNIX.

  85. Don't panic. Unlike Java, Perl will survive M$ by Kurt+Gray · · Score: 2

    Bear in mind that PERL is not as vulnerable to
    Micros~1 "embrace and extend" game as Java
    is because Perl has only around 300 native
    functions where Java has around 5000 native
    functions -- meaning there is less under the hood
    for Micros~1 to mess around with. Also Perl is
    less GUI dependent (in fact it is GUI independant)
    than Java which makes it much harder to break than
    Java. And let's not forget that Perl is Open
    Source and Java is not (so far).

    When Microsoft corrupted Java all they had to do
    was change the behavior and calling conventions
    of just a handful of functions and "Voila! It's
    now incompatible!" -- with Perl that trick is
    not so easy. If you consider Perl's "API" to be
    CPAN, well it is almost impossible for Micrsoft
    to mess with CPAN since each module is under the
    control of each author.

    So overall I'm not worried. In fact maybe I would
    still use Windows if Micros~1 had released a
    "Visual Perl" package -- especially if they
    would release a "lite" Visual Perl package for
    free maybe I would consider using Windows -- no,
    just kidding -- I won't be using Windows any time
    soon!

    As a perl programmer I sense that this will do us
    more good than harm. I have faith that Perl is
    strong enough to withstand any "contributions"
    from Micros~1.

    1. Re:Don't panic. Unlike Java, Perl will survive M$ by banky · · Score: 1

      Don't think in terms of CPAN. M$ can afford to sit down and have their people just rewrite the whole damn thing, under their control, as their owned code. Also, a visual builder in the style of other MS products wouldn't make much sense, or for that matter wouldn't work all that well; there's more than one way, after all, to do it, and I think a builder would tend to marginalize this property of the language (but I might be wrong, I don't use the things).

      --
      ZOMG I WOULD LOVE TO KNOW ABOUT YOUR FEELINGS ON MACINTOSH VERSUS WINDOWS, VI VERSUS EMACS, AND HOW YOU'RE NOT A DORK
  86. Tyop? by sterwill · · Score: 1
    most of the time one of the first comments about Linux people make is something like " why is it so slow ", talking about X windows
    I think you meant to type "why is this so fast?" I have never heard a new Linux user favor the "speed" of Windows to X and a good window manager (Window Maker does very well). There's just no comparison--X responds to a user's events, Windows slugs back at them.
  87. History tells us more. by bjepson · · Score: 2
    This is the second time to my knowledge that Microsoft has committed resources to Perl development.

    As I remember it, some of the folks at ActiveState worked at Hip Communications, the company that did a lot of the original Perl for Win32 work. Guess who provided some of the initial investment to jump-start that port of Perl 5 to Win32? Microsoft.

    The last time Microsoft was involved with Perl, the Perl for Win32 port was not in the core Perl distribution. It would have been easy to morph it into WinPerl or VisualPerl or who knows what.

    But the truth is, Microsoft didn't hijack it back then. Even if they had intentions to do so now, I think it would very difficult given that ActiveState's distribution is based on the core Perl source tree. ActiveState and many other people put a lot of time into merging the core Perl and Win32 branches, and I doubt they are going to allow a split to occur!

  88. Perl supports UTF-8, not limited to 16 bit chars by Chip+Salzenberg · · Score: 3
    Perl's new Unicode support -- which is already in the development sources -- is mostly in the form of support for UTF-8 encoding. The neat thing about UTF-8 is that it is NOT limited to 16-bit Unicode. It's an encoding-neutral way to put big (up to 40-some bit) characters into an otherwise ASCII byte stream.

    So if Unicode grows beyond 16 bits -- which I'm sure it will -- Perl's UTF-8 support will already be there, ready to support it.

    In other words: Don't Panic.

  89. Re:Good or Bad? by Thomas+Charron · · Score: 1

    Looks to me like it's not Microsoft who would need to worry, but ActiveState.. THEY are working with Microsoft themselves, not the other way around..

    --
    -- I'm the root of all that's evil, but you can call me cookie..
  90. Re:ActiveState & Perl by Thomas+Charron · · Score: 1

    Err, Activestates codebase and the BASE Perl codebase where mereged as of 5.005.. Maybee I'm just not getting your point here, though..

    --
    -- I'm the root of all that's evil, but you can call me cookie..
  91. Re:They have every right to to this (don't they?) by slim · · Score: 1

    Perl isn't under the GPL. It's bad to assume things are GPL'd, in case they're not. See also mySQL...
    --

  92. Good by slim · · Score: 3

    Seems fine to me. Activestate will be doing it, not MS, and the results will be released under the Artistic Licence. Perl will prosper.
    Note that Larry Wall himself did a fair amount of work making Java play nice with NT -- O'Reilly paid for that; and nobody complained then.
    The only danger I can see here is a glut of Perl scripts that don't run under non-Windows environments -- but it's already perfectly possible to write Perl scripts that call C functions from Windows DLLs (don't ask me how; I skipped past it in comp.lang.perl.misc)
    --

  93. ActiveState's Perl is surprisingly good. by Outlyer · · Score: 1

    I worked for an (unnamed) company, and I needed to automate a wide variety of Windows tasks, including accessing the Windows NT registry, and the IIS Metabase. Without Perl, this would have taken forever, as I would have needed to write a complete compiled program.

    Instead, with ActiveState, and the ALREADY exiting Win32 extensions, I managed to write a usable program using batch files and Perl in just a few hours.

    You can complain about Win32, (I do) but a lot of us have to work on it, and more tools that we know inside out, never hurt.

    After all, try telling me to use Windows without using the Win32 port of VI.

    --
    ----------------- "I have a bone to pick, and a few to break." - Refused -------------------
  94. CJK unification by Erik+Corry · · Score: 1
    The idea is, you have two or three characters that look very similar. One is Chinese, one is Japanese, one may be Korean. They look similar, but usage differs (ie, they have different meanings). Because of the ridiculous Unicode proposal, they are all unified into the same code point

    According to the Unicode web page and everything I have ever read on Unicode the unification only takes place if the characters have the same meaning. Can you name an exception where that rule hasn't been followed?

    depending on the Unicode font used, you might get the Chinese character, you might get the Japanese character, or maybe the Korean character

    That's just font management and/or language management. Every decent DTP system needs font management anyway, and if it is going to get hyphenation right it needs language tagging, even if you are only using Latin-1.

    The whole point of Unicode was that code points were supposed to be kept separate between languages

    What on earth makes you think that was the whole point of Unicode?

    One of the big points in Unicode is that it should be possible to convert from any character set encoding to Unicode and then back again. That has caused some compromises for example the fact that the Greek capital letter Alpha has a different encoding to the Latin capital letter A although you could argue that they are the same character.

    But you can't make that 2-way conversion guarantee for encoding systems that let you switch from character set to character set with escape codes. Amongst other problems that would make that impossible is the fact that you can use the same escape codes to switch into Unicode, so you would get an infinte recursion.

    If you want to convert to and from escape-code switching encoding systems you will have to extract the implicit language and font information and make it explicit in the Unicode version of your data. That is probably a good idea anyway, and is possible in HTML and any other serious text format.

    If it's a 'plain text file' then you can't embed the font or the language information, but that's why plain text sucks, and the same problem appears in Latin-1 plain text files.

  95. Hold on; this might not be so bad... by Millennium · · Score: 2

    Consider the following:

    1) M$ will not be doing the work itself. We all know what happens when Microsoft intervenes directly; things get wrecked. At least with some other firm Perl has a chance of remaining intact.
    2) The development will be Open-Sourced. Under the same license as Perl itself, no less (which does make sense). In other words, we won't have to scramble so much to keep up with the damage M$ does.
    3) M$ doesn't dare try to kill Perl. The Internet is the only thing Microsoft has ever fought against and lost. They tried killing TCP/IP; that didn't work. They're doing their damndest to wreck the Web, but that isn't working either (the piece of crap known as IE might be popular, but there are not many sites using IE-only features). And they will not be able to stop Perl for the same reason: it is too deeply entrenched already. Java failed because MS attacked early, while it was still weak. Apple's hanging on because M$ was a little too late; MS has weakened it severely (there was a time when Apple II's and Macs had more marketshare than Windoze or DOS, way back in the beginning) but it can't kill Apple off completely. Likewise, Perl has dug itself in too deep for MS to totally uproot.
    4) Consider that DOS and Windows have no native scripting systems. Macs have AppleScript, Unix/Linux have Perl and the shells, DOS/Windows have... nothing. Not as a normal part of the operating system, at any rate (I hardly think batch files count). Simply put, Windows needs scripting, and Perl could well fit the bill. MS needs Perl, so it can't harm it (too much) or it hurts itself.

    We should have an open mind about this. It's possible that Perl might just get some improvement out of this deal.

  96. Specifics of port (Mostly harmless?) by Improv · · Score: 2

    From the FAQ, the main changes are:

    1) fork()
    This implementation of fork() will clone the running interpreter and create a new interpreter with its own thread running in the same process. Goal is functional equivalence to fork() on UNIX systems without the performance hit of NT's process creation overhead.

    2) Microsoft Installer Support

    3) Globalization
    Extend Unicode support to all system calls in the core. This includes file names, environment variables, etc. Note that this functionality will only be available on Windows NT and Windows 2000 systems.

    4) PerlScript performance

    These look fairly harmless, no? Firstly,
    #1 looks like they're probably keeping the
    call on windows' being named fork. That's
    pretty good, as it isn't a great departure and
    would keep XP compat more likely than replacing
    fork w/ something else...

    #2 probably won't change anything -- if they're
    talking about Perl itself (making a fancy installer), shouldn't change a thing. If not,
    whatever it is, it probably will be done in
    a module.

    #3 this is probably the most cause for worry, but
    isn't Unicode supposed to be the big thing in
    5.006? If so, the "only on windows" statement
    here is probably irrelivant, and all we're talking
    about is platform parity, which is a good thing.

    #4 So long as this happens w/o changing the
    language, this isn't going to really hurt
    anyone.

    We've seen embrace and extend from Microsoft, but
    this particular instance doesn't look too
    dangerous, as the extend part seems to be little
    more than optimizations which won't change the
    language...

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
  97. But... I don't *want* it to crash! by Colin+Smith · · Score: 1

    A feature I'd rather Perl didn't have.

    --
    Deleted
  98. Easy; GPL everything you write. by Colin+Smith · · Score: 1

    It's simple to stop proprietary extensions to software ala "embrace and extend".

    Simply use the GPL.

    --
    Deleted
  99. Re:BZZZZZT by Colin+Smith · · Score: 1

    Please carefully read the question, and then the reply and then sit and think for a few minutes, then when you are just about ready to post, sit and think for a few more minutes.

    GPL'd software can also be extended at whim.

    --
    Deleted
  100. Re:BZZZZZT - Didn't think for long enough. by Colin+Smith · · Score: 1

    You haven't taken my advice I see. I know exactly what the artistic license is and I know exactly what the GPL is.

    Tell you what, have another go, on me, for free... All you have to do is read the little words one after another to see if you can work out what my point is, look I'm even using short words for you now.

    --
    Deleted
  101. Re:!?! That made no sense by perfecto · · Score: 1
    So are you saying that perl code should be platform independant like Java was supposed to be? This seems like a ridiculous expectation. According to that notion I should be able to use the same perl script that I use to change passwords in /etc/passwd, to change passwords in the WinNT registry!

    with a properly designed perl object this should be a reasonable expectation. but as far as this whole thing goes, i don't see any real danger. if they destroy that version of perl, i'm sure another version will come up. i tried to be a purist and use the win32 compile of perl and all i got were headaches. the activeperl distribution just installed it. i liked that. i still have some problems with some custom modules though. i do wish that i could just do a make on the modules in either platform and have it work. but yeah it would be nice to have it only as a module. i hope that's what they're thinking!

    "The lie, Mr. Mulder, is most convincingly hidden between two truths."

  102. Weal license by Andy · · Score: 1

    Larry Wall was a fool for not using GPL for Perl. One would expect to see M$ try to exploit a bad "Open Source Compatable" licence. Use the GPL!

  103. Let's just STOP comparing Java and Perl, OK? by the+red+pen · · Score: 1
    Perl isn't like Java - for the most part, it's a server-side scripting language, not a half-compiled binary which is meant to run on the client.

    I'll defer to tchrist's clarifications of the perl side of this statement.

    On the Java side, nobody said you had to run Java on a client. In fact, Java's most vital current development is on the server side. Some Perl bigots find this threatening because Java servlets are displacing Perl CGI, but Java and Perl have different strengths and weakness -- they are not interchangable and we should just stop trying to compare them.

  104. What determines "interpreted." by the+red+pen · · Score: 1
    How's this:
    • A language is interpreted if it's able to generate dynamic code and run it at run time.
    Java can do this (you can generate new classes in bytecode on the fly), BASIC can do this (you can evaluated BASIC code in strings), Lisp can do this and non-compiled Perl can do this.

    Compiled C/C++ cannot do this. You can generate machine code on the fly, but you can't generate C/C++ code on the fly and run it at run time. It has to be compiled.

    1. Re:What determines "interpreted." by the+red+pen · · Score: 1
      I'm sorry to be a stickler for correctness and honesty here, but someone has to fight against the confusion...

      Start with yourself. I know what I mean. Most people know what I mean. I understand what you're getting at, but it's a total waste of time.

      The root of the problem is that you can't really have a Science of computers for the same reason you can't have a Science of furniture. For example, everyone knows what a "couch" is, but can you precisely define it? Go ahead and try, but you'll leave some couches out of the definition or, inadvertently, include benches (which are not couches).

      Same goes with "interpreted" or "compiled." Suffice to say that compiled code is fed via electrical signals into the processeor (whether that processor is one a chip, or a board). If the processor never performs an actual instruction fetch cycle on whatever is considered the program's "executable form" (such as bytecode for Java), then it's interpreted. I know, "ew, gross, hardware, reagisters, bus cycles! That's... hardware." Yeah, it is and maybe you shouldn't get so high and mighty when entering areas of computer "science" in which you have no expertise, Tom.

      Yes, Tom, those of us who have actually designed CPUs know that there may be microcode (or even several levels of microcode) in the processor. That just means the definition isn't perfect, but it's servicable and everybody knows what it means.

      Except you.

      I can't believe you have time for this flame. Jave digging into your server-side mindshare?

    2. Re:What determines "interpreted." by the+red+pen · · Score: 1
      So, [javac] is not really a compiler the way everyone says it is

      No, it is a compiler the way everyone says it is, you smug bastard.

      Everyone (meaning anyone with enough of a clue to be making these kinds of statements) says that javac compiles Java into bytecode for a Java machine. Pretty much nobody has a machine designed to run Java, so the bytecode is interpreted by JVMs which are compiled to run on real machines. Again, nobody seems to have a problem with this, except you.

      And, again, the problem is that "compile" does not have a strict definition. Maybe you could formulate one and develop a new career promoting it. Instead of lecturing, teaching and writing on Perl (a subject of interest to many), you could lecture, teach and write on the proper use of the word "compile", which is a subject of interest to pretty much no one.

      Personally, because I use Java so much, I tend to use the term "native" instead of "compiled", because "Java compiler" becomes a confusing term when people are trying to discuss Java-to-native versus Java-to-bytecode compilers.

      Now, back to your little pet peeve. There is a chip, the picoJava chip, that runs bytecode native (that's bytecode compiled from Java source). There no picoPerl chip. You cannot run a Perl program unless you either have a Perl interpreter or you compile the Perl source to a native binary.

      Again, here's another career opportunity, Tom. You could invent the Perl Virtual Machine and propose a hypothetical picoPerl chip and then, maybe people would start talking about compiling Perl the way they talk about compiling Java.

      Until then, you will just have to suffer from compiler envy.

      Gotcha.

      Grow up.

    3. Re:What determines "interpreted." by Anthony · · Score: 1

      taurocoproloquy - what a quaint word for such a distasteful outpouring.

      --
      Slashdot: Where nerds gather to pool their ignorance
    4. Re:What determines "interpreted." by Tom+Christiansen · · Score: 1
      ...non-compiled Perl can do this.
      I'm sorry to be a stickler for correctness and honesty here, but someone has to fight against the confusion. All Perl is compiled! I keep telling you that. Every little bit of it. There are no exceptions. Go read /usr/src/perl/toke.c and perhaps /usr/src/perl/perly.y if you don't believe me.

      Likewise, all programs are interpreted! Those PCs and SPs are there for nothing, you know. And that's just the start of it. I can compile into a VAX-11 polynomial expansion expression, and this still has to play patsy-cake with the firmware interpreter before it hits silicon.

      You probably really meant `Perl that has only been compiled into parsetrees or bytecode for the PP interpreter to interpret, but which has not been compiled into C code and thence compiled into assembly language and thence compiled into machine language for the current or target firmware to interpret'.

      But if so, I'm afraid that you'd still be wrong. One simply links in the whole image of the compiler as needed by things like do and eval. There's a good reason to keep a libperl.so lying about, and this is one of them. Of course, now that this is merely a shared library, of course there's no interpreter involved. :-)

      Sigh. Where do they teach these mistaken notions of what a compiler really does? Doesn't anybody write a slew of diverse mini-compilers in school anymore? If you compile into P-code, who's to say you won't some day run on a chip with P-code-enabled hardware? Or it could be dynamically generated machine language, the way ML works, or the way Java's JIT stuff works.

      We have one generic front-end compiler, three different optional code generators (bytecode, unrolled interpreter style C code, or optimized C code), a bytecode-to-PP rebuilder, and a PP-interpreter. That's the story, and I'm sticking to it.

      --tom

    5. Re:What determines "interpreted." by Tom+Christiansen · · Score: 1
      ...compiled code is fed via electrical signals into the processeor (whether that processor is one a chip, or a board). If the processor never performs an actual instruction fetch cycle on whatever is considered the program's "executable form" (such as bytecode for Java), then it's interpreted.
      So, that thingie that turns Java source code into Java bytecode is not really a compiler the way everyone says it is, but rather merely a thingie-that-turns-Java-source-code-into-Java-byte code?

      Gotcha.

      --tom

    6. Re:What determines "interpreted." by Tom+Christiansen · · Score: 1
      Face it, the dichotomy of compiled or interpreted languages DOES NOT EXIST.
      Well said!
      Why does this argument ALWAYS come up whenever someone mentions Perl?
      Perhaps it's because some simpering simpleton always bashes Perl with yet another dissembling "it isn't compiled" taurocoproloquy.

      --tom

  105. tchrist sure can write -- can he read? by the+red+pen · · Score: 1
    ...the mere current existence of this chip that interprets Java bytecodes means that [javac] really is a ... compiler, but that the ... lack of an equivalent chip for Perl bytecode interpretation ... indicates that the Perl thingie-that-might-be-a-compiler isn't really a compiler at all.

    Yes, and I'll go further: even if the picoJava chip didn't exist, the fact that you could create one would be sufficient. I don't think a "picoPerl" chip could be designed, much less fabricated.

    That means that all I'll have to do to make the Perl thingie-that-wishes-it-were-a-compiler into a true compiler, is, ... wave my magic wand and create a chip that happens to directly use the Perl bytecodes as its native instructions.

    Yes, that's what I said. Should I say it again? Would that help?

    Meanwhile, get a really good wand, Tom 'cause it will take some powerful magic to implement Perl in silicon. Gosling designed Java to be implementable in an embedded computer. Wall had no such plans with Perl and I don't think it's possible. Of course, you've made it clear to anyone still reading this thread that I'm a numbskull who knows nothing of the true "Computer Sciences", so post your schematic post haste and make me the laughingstock of slashdot.

    Because I can already convert the Perl bytecodes into something to feed a C compiler...

    ...means you can compile Perl to native. Big deal. You don't do this operation at runtime and you don't meet my condition that the bytecodes get loaded into a processor (even a hypothetical one) by an instruction fetch cycle. In this oh-so-cutsie example, the bytecodes never hit the instruction pipeline at all.

    If you want to call a Perl-to-native process "compiling," I'll be in agreement. Most of the time, however, Perl is interpreted by a "perl.exe". Again, you seem to be the only person who finds this distinction puzzling.

    You have demonstrated... [blah blah blah]

    So, when you're losing an argument, you retreat into "my thesaurus can beat up your thesaurus"? Pathetic.

    1. Re:tchrist sure can write -- can he read? by the+red+pen · · Score: 1
      • Converting source code into bytecode is compiling. Period.
      Fine. It's compiling. I wrote several times (enough times for you to read it at least once) that "compiling" doesn't have a very precise definition. Nobody is going to argue with you that what you call compiling is compiling. I'm certainly not.
      • It matters not what's goingto be handling those bytecodes, be it a code generator or a bytecode interpreter.
      Again (for what, the fourth time?), I'm not disagreeing with this. What we were debating was whether Perl is "interpreted" or "compiled." In the likely case that your memory is as defective as the rest of your cognitive aperati, the important point of the original poster was that Perl is interpreted. You haven't really refuted that; all you've done is establish that "compile" and "interpret" are not mutually exclusive. Don't pull a muscle patting yourself on the back.

      For the last time: if the bytecode is not loaded into the CPU in an instruction fetch, it's being interpreted. Period. Even you, Lord God Price of Perl, use the words "bytecode interpreter."

      You can use the word "compile" any way you want. You're not going to change the fact that Perl is interpreted.

      • I can think of plenty of words on my own much more easily than I could stick somebody else's words into my prose.

      You are sooooooo cool; when's your guest spot of "Friends"?

    2. Re:tchrist sure can write -- can he read? by Tom+Christiansen · · Score: 1
      Converting source code into bytecode is compiling. Period. It matters not what's going to be handling those bytecodes, be it a code generator or a bytecode interpreter. Go back to compiler class next time you think you know what you're talking about.

      And for the record, I don't believe I even own a thesaurus. Of what use would it be? I can think of plenty of words on my own much more easily than I could stick somebody else's words into my prose.

      I'll try to use some choice small words just for you, like these here of just one sound group each, from now on so that you will not fear to give some sign that you still have no clue what I said, as you have just now done.

    3. Re:tchrist sure can write -- can he read? by Tom+Christiansen · · Score: 1
      Fine. It's compiling.
      Oh good. I'm so very glad you've finally figured that out.
      What we were debating was whether Perl is "interpreted" or "compiled."
      Perl is always compiled. And just like all programs, Perl is always interpreted. It's just that sometimes the interpreter is your firmware.
      In the likely case that your memory is as defective as the rest of your cognitive aperati
      At least mine are sufficiently functional as to be able to discern the various declensions of Latin nouns. Yours, equally clearly, are not.

      You see, there has never existed a word *aperati as you wrote it, nor even the more plausible but still absolutely wrong *apparati. That's because apparatus (note please the proper spelling, which you hopelessly mangled) is a fourth declension noun, along with prospectus, hiatus, status, nexus, and plexus. Fourth declension nouns never take -us => -i the way second declension nouns do, such as abacus, bacillus, incubus, and phallus. These also inflect differently than do the notorious third declension neuters, such as opus, genus, and corpus. This is also unlike words like ignoramus and mandamus, which are of course not even nouns in Latin, but rather verbs of the first conjugation that have been inflected in the first person plural of the present indicative.

      Permit me to blunt rather than erudite. You're clearly reaching far beyond yourself here, and it's painful for the rest of us to watch you flounder in uncharted waters. I strongly suggest that you should restrict yourself to simple English plurals (-s or -es) until you manage to procure a bit of higher education. A suggested reading list is available upon request.

      Perl is interpreted. You haven't really refuted that.
      Why should I bother? It's still faster than your beloved Java, even without converting to C code. :-)

      Very well. I'll repeat myself now for the logic-impaired, whom I am apparently addressing.

      • Perl code is always compiled -- so are most programming languages, including Java and Awk.
      • Perl code is always interpreted, just like all programming languages, including Java and C++.
        • Sometimes the PP interpreter is doing that interpretation.
        • Sometimes your firmware is doing that interpretation.
      I suppose other possibilities could arise, but at this point, it would seem the wiser course not to overwhelm you with too many possibilities. Otherwise, I fear a return to your putative Heisencompilers.
      I can think of plenty of words on my own much more easily than I could stick somebody else's words into my prose.
      You are sooooooo cool; when's your guest spot of Friends?
      From what I have gathered by reading between the lines and listening to the busboys at local college restaurants, I surmise that you must be alluding to some sort of serial television program. If that is the case, then I have a spot of bad news for you. Your pop-culture (can you say `oxymoron'?) references are completely lost on me, and so I cannot begin to imagine your implied meaning. I do not do television, nor have I since Sesame Street was the preferred program for members of my erstwhile age group. Instead, I pursue a long-forgotten diversion called the reading of books.

      You might try it some time.

  106. Latin. How novel. by the+red+pen · · Score: 1
    • [I know a lot about Latin.]

    Fluent in a dead language. When Nietzsche wrote about the Superman, did he have you in mind or what?!

    • Perl code is always interpreted, just like all programming languages, including Java and C++. ... your firmware is doing that interpretation.
    What if there's no firmware? You... uh... did know that not all processors have firmware? Right? You're not trying to argue a point outside your narrow and increasingly inconsequential sphere of expertise? You wouldn't do that, would you?
    • Your pop-culture ... references are completely lost on me...
    Well, at least they're in good company. My brilliant insights are completely lost on you too.
    • I do not do television ... I pursue a long-forgotten diversion called the reading of books.

      You might try it some time.

    Fear not, I have not lost the ability to read, although your posts are inspiring me to try. I have also not become so narrowminded and stagnant that I can'n appreciate music, film, television, dance or any number of arts.

    Get out more.

    -trp
    P.S. I left you a typo to criticise! I'm try to be kind to the rhetorically handicapped.

  107. Apache -> IIS Migration Path(?) by Dr.+Evil · · Score: 1

    Am I the only one who smells MS setting up a migration path?

    4) PerlScript performance
    Caching and cloning of compiled scripts will significantly boost the performance of PerlScript running under IIS/ASP.

    Personally, a better Perl on NT is fantastic. It increases the value of Perl as a programming language... Now I have no reservations about spending the time to learn it. On the otherhand, it bugs me that Microsoft seems to be making a good move, and integrating one of my favorite features of Unix into NT. Not necesarily Perl, just a good scripting language.

    The less I have to deal with NT the better.

  108. Re:Not flamebait - I think this is good by otis+wildflower · · Score: 1

    Win32::* should be OK, with attribution in perldoc... I wonder if we'll get to see Win32::MFC::*?

    (Hardly.)

  109. Let Perl turn the tables on M$! by otis+wildflower · · Score: 1

    Why not permit WinXX developers to use Perl instead of VB? I'd love to see Perl embrace and extend Microsloth...

    1. Re:Let Perl turn the tables on M$! by spectecjr · · Score: 1

      Why not permit WinXX developers to use Perl instead of VB? I'd love to see Perl embrace and extend Microsloth...

      MS already does; see "Windows Scripting Host", which enables you to use Perl, JavaScript, VBScript, NetRexx and more to write scripts against applications and the OS.

      And NT4.0 Resource Kit comes with a version of Perl, as well as a host of other handy dandy utilities (like vi) :)

      --
      Coming soon - pyrogyra
  110. Before you freak out... by Nekromantic · · Score: 3

    Before everyone freaks out, think about how this will affect you directly. When Microsoft E&E'ed Java, it was a problem because it introduced incompatible VMs to potential users of your code base -- good code could be broken by a bad interpreter. It also led many developers to use their "extensions" of the language, which meant that if you had a correct VM, you couldn't run their software.

    What can Microsoft do to Perl? Ask yourself this: If MS were to mess around with win32 perl, would it break your code? Probably not. Because perl code is run in an environment of *your* choice, there no place where MS can break your code. The client doesn't have to run a (possibly broken) interpreter - you choose the interpreter. And if someone else uses an "extended" perl, will you still be able to use thier site? Of course. They run the MS version on their side, and all is well.

    Whether you use perl for system administration or CGI, take a moment to think what microsoft could do to break your environment - probably not much.

    --

    --
    -- "Machines have no conscience" - Queensryche
    1. Re:Before you freak out... by th0m · · Score: 1
      the only disconcerting thing is the idea of MS-Perl modules showing up on CPAN.

      yes, i know there's already some win32-specific stuff up there (registry, thread manipulation, blah de blah) but i fear the day i download a perl application and the first thing it does is try to install itself in the fucking system tray.

      --

      -- in china, chinese food is just called food.

    2. Re:Before you freak out... by jcrosby · · Score: 1

      Exactly. I've made some paranoid assumptions in the past, but killing the *nix version of Perl is not an issue. Use your port of Perl on your platform. This only amounts to more freedom. Nothing on the client side will be broken (as in the case of Java), so my Perl script running on a *nix server will still work correctly on a Win-user's browser.

  111. ... already slashdotted! by cthonious · · Score: 1

    This story's only been up for a few minutes ... and it runs on Micros~1 (it doesn't end in "asp" but it does end in "htm" - a sure giveaway).

    Everyone hit your reload buttons a few times!!

    --

    support gun control: take guns from cops
  112. You have to wonder... by WebDosa · · Score: 1

    ...just what the hell ActiveState is doing in Bed with M$. My guess is that M$ is splashing some cash on ActiveState...well, is that so bad? I don't know. But I sure don't like the idea of OUR darling Perl being raped by M$...

    Just my 2 cents...

    --
    Later,

    WebDosa

    1. Re:You have to wonder... by Yohimbe · · Score: 1
      ActiveState has always wanted to be in bed with whoever it can get in bed with. First Microsoft. Then O'Reilly (Perl Resource Kit for NT), now Microsoft again. Can you blame them?

      When you are small firm, without a strong case for an IPO, you need to hitch your wagon to the stars.

      In this case, the technology industry has about 6 real stars: M$, O'Reilly and the rest of the book publishers, Sun and the rest of the Unix Makers, (The PC makers as a whole), the Open source movement, and the Internet.

      ActiveState has hitched itself to 3 of the six. Big surprise. By anyones logic they should be financially successful.

      Whether they are _pure_ in the light of the Open Source movements ideals is completely irrelavant, to them.

      --
      -- Perl Hack, Web Hack, SQL Hack, Guitar Hack
    2. Re:You have to wonder... by ljs127 · · Score: 1

      Like you said, ActiveState was founded to make Perl specifically for Win32. Some of their original funding (as Hip Computing I think) came from Microsoft so that they would have a Perl to ship with NT Server.

      In case nobody here knows, a version of their Perl has always shipped with the NT Resource Kit.

      LJS

    3. Re:You have to wonder... by ljs127 · · Score: 1

      Check out the copyright to \winnt\resource kit\Perl\Perl.exe:

      Copyright 1987-1994, Larry Wall
      Win32 port Copyright (c) 1995 Microsoft Corporation. All rights reserved.
      Developed by hip communications inc., http://info.hip.com/info/

      Perl for Win32 Build 107
      Built Apr 29 1996@22:56:57

      Hip Communications is now Activestate (although they seem to have sold the hip.com domain to someone else).

      LJS

  113. Visual Perl...interesting idea... by wynlyndd · · Score: 1

    Maybe they could integrate Perl support into Visual Interdev and allow you to make the scripts and such inside of their project mentality. For purist reasons, I don't want Microsoft subverting Perl for their own ends, but I would like an cross-breed Visual Interdev/Visual Perl beast. This isn't a troll.

    --
    "Dogs and cats, living together...it's mass hysteria!"
  114. This is probably a good thing... by Anonymous+Commando · · Score: 1

    ActiveState sent out a message about this on their announcment list this morning. They said that there are four main areas of development with M$:

    • improving the impementation of fork() to reduce overhead
    • improving the Windows installer (especially for Win2K compatibility)
    • improved Unicode support
    • performance boosting of PerlScript (embedded Perl within Active Server Pages)
    I don't rightly see how any of this could be seen as a bad thing - it'll be easier to install and use Perl on Windows, which will result in more developers writing Perl code, which means it'll be easier to port their existing code to other operating systems when they decide to ditch NT/Win2K.

    As for people's fears of embracing/extending, there are already a number of Perl modules specific to the Win32 platform for system services, registry, ODBC, etc. so it's already happened - and it's users who did it, not M$. As other people here have noted, most Perl scripts run in a controlled environment (i.e. your server) rather than an uncontrolled environment (i.e. someone else's web browser), so the comparison to Java is mostly irrelevant.
    ________________________

    --
    Corporate Jenga: You take a blockhead from the bottom and you put him on top...
  115. Re:!?! That made no sense by ocie · · Score: 1
    text parsing is text parsing whether you are on NT or Unix

    Not so fast! A line of text on UNIX ends with a CR, while in the M$ world it is CR + LF. When you use your perl chop() function, will it work on M$ text? also, I have noticed that unlike UNIX programs, windows programs have output that is difficult to parse, assuming that there is a text version of the utility to begin with. Something like expect might be handy.

    --
    JET Program: see Japan, meet intere
  116. Re:!?! That made no sense by Optic · · Score: 1

    No, you use the more modern chomp() which removes EOL's from lines as defined by the $/ variable.

    I imagine that $/ defaults to CRLF on Windoze.


    RTFM. :)

  117. Re:No suprises by eponymous+cohort · · Score: 2

    The thing MS hates most is anything that allows programs to run on different platforms without modification, this makes Windows irrelevant, which is what gives MS its power.

    They will make their own version of Perl, and try to convince people that the other versions of Perl are substandard.

    They could pull something like they did with their "Frontpage" strategy. If the Web server did not have "Frontpage Extensions" (IE, did not run MS IIS), a "helpful" alert box would appear and inform the user that their ISP 'sucks' and they should choose a different (MS-friendly, of course) ISP. Of course they eventually allowed 'Frontpage' extensions to be incorporated into other web servers, once they were found out.

    --

    Of all the comments I've ever posted, this is definately one of them

  118. The "never ending" torment will ipso facto never end -- else it would not be never ending. Hence the answer to your question is no.

    :-)

    --

    DFL

    Never send a human to do a machine's job.

  119. Re:let's not be hypocrites... by grahamm · · Score: 1

    There is also Tcl/Tk available for Windows. I am using it in a project at the moment.

  120. Key words in press-release by atw · · Score: 1

    A significant amount of the development effort will be released as Open Source code under the Artistic License, Perl's Open Source license.

    This makes me wonder of to whom it will be significant: Microsoft or OSS community? For the latter I think 100% open source is the only significant amount, otherwise someone will yet again have control over features dooming portability. This reminds me cool language called Java.

    AtW,
    http://www.investigatio.com

  121. The extensions will be mostly open source by elflord · · Score: 1

    I am not clear why everyone is whining so hard. The FAQ indicates that most of the work will be open source. But the knee-jerk whine-about-everything-that-MS-does slashdot peanut gallery want a good whine about how MS are trying to make perl windows only and blah blah blah. I doubt it will happen soon. And the people who care about portability will not use MS perl anyway. They'll stick to the standard release.

  122. You don't need to mount filesystems manually by elflord · · Score: 1

    You can set up autofs so that removable media is
    automatically mounted. See my homepage for an autofs tutorial if you're
    interested.

  123. Re:Embrace and Extend? by treyb · · Score: 1
    It looks to me like activestate plans to add features to the "windows" version of perl that do not exist on other platforms (activex controls for example).

    How is this any different than Xlib or Tk extentions for *NIX? Or native GUI support under BeOS, DECWindows or GEM? Not all Perl scripts are meant to be portable.

  124. MS-Perl? I don't think so... by Belgarath · · Score: 1
    Many people here have posted replies about fears the Microsoft would try to add features to Perl or change the core functionality such that scripts written for Windows Perl would not be functional on non-MS platforms. This fear is based on the assumption that MS will try to corrupt Perl in the same way that it's attempting to corrupt Java. However, I don't think this will be the case.

    Now, you may ask, why would I think this? Well, let's see... Java is a language whose purpose is to be able to write full-blown, platform independent applications. Why does this scare Microsoft? Well, it has the potential of making the OS a "commodity", since an app written in Java will run on any platform. So, MS decided to try and corrupt Java to ruin this "write once, run everywhere" philosophy.

    However, Perl does not have the same purpose. Perl is designed to be almost a swiss army knife of programming languages... it allows the user to perform a myriad of different tasks and, as Larry Wall stated, acts as an excellent "glue" language, joining various tools and components together. In this way, it doesn't threaten the Microsoft hegemony, since it doesn't commoditize the OS in the same way that Java potentially can. As well, there is no strong corporation controlling the Perl language, so there's less of a corporate threat.

    So relax, people. From what I can tell, the point of this partnership is to make Perl work better on Windows. And the only thing this can do is benefit the community, since more people will become aware of Perl and start using it. And isn't this what we all want?

  125. A beginning for better things? by malkavian · · Score: 2

    As far as I can see, this is a perfectly sensible move on the part of MS, and Active State, and one they should be commended on.
    The idea of PERL from the beginning, has been to make the job you have in mind easier to achieve.
    And faster. It's a damn good tool, and I love it dearly.
    Due to the market, I have to use Windows products, as well as my preferred Linux, because, well.. That's what's out there.
    One of the things that's always made me sit back and sigh about using Active State PERL is the lack of a fork(). And now, with a little financial aid from MS, it's getting put in.
    There are many other functions in PERL that rely on *NIX platforms, and you can find these by reading the PERL docs on functions unsupported by Win32.
    I would rate some of these among *NIX platform specific options.
    But is that a problem? Not really. If I want to know how to do something specific on a particular platform, I RTFM. And there it is.
    I currently use PERL on both *NIX and Win32, and am heartily glad I _can_ use PERL on Windows, as it cuts the hassle of having to learn VB (Use PERL/TK for most GUI functions), works across platform with few mods, and gives Windows a useable script language without having to worry too much about paying huge licence fees to a company selling a new and totally incompatible other language.
    By introducing people to PERL, you're introducing them also to the ethic of Open Source (to a good degree), and the wider world of the Perl Mongers, and in general a very nice bunch of people who are altruistic in nature...
    Maybe this will push home to even more companies that Open Source works for everyone, be it MS users, Linux, BSD or whatever...
    And having a better port only lets me do my job even better, which is no bad thing.
    PERL is a well engineered, well thought out language that's stood the test of time..
    I say "hurrah!" that windows users now can slowly catch up on where the rest of us have been for years.

    Just my tuppence worth,

    Malk

  126. Oh Please! by EnglishTim · · Score: 1

    Whereas most of the Perl that has been written by Unix users is always *completely* compatible with perl on other platforms...

    Come on! Any extensions that Microsoft add that are windows-specific are likely to be just that: specific to windows. You *wouldn't want* to do them on Unix - things like playing with the registry etc..

    If anything, any windows-specific extensions will probably result in *more* portable perl code being written, as the 'write portable code' issue becomes more visible. Windows perl users are used to the idea that you have to give a little thought to portability, because of all the Unix-specific perl out there that they've had to alter.

  127. Re:compitition by Elian · · Score: 1

    actually linux, like most unixes is a 70's technology. WinNT is loosely based on VAX/VMS which is a 60's technology. Dragging 70's technology down to the 60's level is a disservice to everyone.

    I'm afraid you've got that backwards. Unix started, more or less, in 1970, and much of its early development was done on DEC PDP machines. VMS was first released in 1978 and developed in conjunction with VAX microprocessor, which was one or two generations past the processor in the PDP systems, depending on whether you're looking at the PDP-11 or PDP-8 machines.

    Both systems have seen development since, of course, though VMS in general still holds a mild technical lead over Unix in some areas. Cluster support on VMS, for example, makes the Unix and NT offerings look sad and pitiful. (If you think the FUD microsoft spews at linux is bad, try wading through the cluster MarketSpeak Micro$oft emits after comparing VMS clusters with NT 'clusters')

    And yes, everyone things VMS is dead and sucks technically. That's only because Digital's Marketing department was filled with AntiMarketroids... Dec had a marketing department every bit as good as Microsoft's. Alas, they were using that skill to drive customers away, rather than keep them.

  128. Re:Good or Bad? by olle · · Score: 1

    Q: Is this going to be a custom version of Perl for Microsoft?

    A: In a word, no. We will always use the mainstream version of Perl as our core technology. All potential
    work we undertake to do on the mainstream Perl source code will be achieved through open development
    with the community.

    Q: Why is Microsoft doing this?


    ...
    FOR IMMEDIATE RELEASE

    FAQ - ActiveState and Microsoft
    Vancouver, Canada - Update June 2nd, 1999

    We want to make sure that you, as members of the Perl community, are informed on our latest efforts to
    advance Perl technology for Windows. We are quite excited about this development, and see it as a truly
    winning proposition for Perl.

    Below we have attempted to answer the questions that many of you will have about this development. If you
    have further questions or concerns, please send them to Press@ActiveState.com

    Q: What is the scope of the work that is being done?

    A: ActiveState proposed many potential areas of work to Microsoft, based on feedback we have had from
    Perl users over the years. Microsoft accepted the items of work listed below as being important enough for
    them to support with funding. As a result, there are four main areas of development, all of which target the
    Windows platform.

    The interfaces and implementation of all parts of the work that have a chance of being generally useful will be
    discussed amidst the Perl development community (perl5-porters@perl.org, archived at www.deja.com) for
    inclusion in Perl.

    fork()

    This implementation of fork() will clone the running interpreter and create a new interpreter with its
    own thread, but running in the same process space. The goal is to achieve functional equivalence to
    fork() on UNIX systems without suffering the performance hit of the process creation overhead on
    Win32 platforms.

    Emulating fork() within a single process needs the ability to run multiple interpreters concurrently in
    separate threads. Perl version 5.005 has experimental support for this in the form of the
    PERL_OBJECT build option, but it has some shortcomings. PERL_OBJECT needs a C++ compiler,
    and currently only works on Windows. ActiveState will be working to provide support for revamped
    support for the PERL_OBJECT functionality that will run on every platform that Perl will build on,
    and will no longer require C++ to work. This means that other operating systems that lack fork() but
    have support for threads (such as VMS and MacOS) will benefit from this aspect of the work.

    Microsoft Installer Support

    Microsoft is moving towards providing improved package management facilities in Windows 2000.
    This aspect of the work will make the ActivePerl installer compatible with the new MSI DB, which is
    an important requirement for easy management of the Perl installation process on Windows 2000
    systems.

    Globalization

    The Unicode support that Larry Wall created for Perl extends to Perl operations but not to system
    calls. Windows NT supports Unicode at the system-call level, and it would be natural to provide a
    way to enable the Unicode variants of the system calls. This allows users to create files that have
    names comprised of Unicode characters, for example.

    This aspect of the work covers extension of the existing Unicode support to all Win32 system calls
    in the Perl core, for such things as file names, environment variables, command-line arguments, etc.
    This functionality will only be available on Windows NT and Windows 2000 systems (not on
    Windows 98 or similar).

    The implementation for this is Windows-specific, but the interface to enable it from Perl will be
    general and portable to all platforms that support Unicode. This interface will be decided based on
    discussion with the development community. The implementation will be built over Perl's existing
    abstraction for system calls, which means other platforms that need to support Unicode system
    calls can follow the same model if they wish to do so.

    It must be noted that support for Unicode will have no effect on the default behavior of Perl. It will
    continue to be enabled only when explicitly requested by the script with a pragma. Other existing
    internationalization features like locales will continue to work as they have done before.

    PerlScript Performance Enhancements

    Caching and cloning of compiled scripts in memory will significantly boost the performance of
    PerlScript running under IIS/ASP.

    The implementation of this aspect will utilize the facilities for creation of multiple interpreters, but will
    be otherwise independent of the Perl core.


    Q: Is this going to be a custom version of Perl for Microsoft?

    A: In a word, no. We will always use the mainstream version of Perl as our core technology. All potential
    work we undertake to do on the mainstream Perl source code will be achieved through open development
    with the community.


    Q: Why is Microsoft doing this?

    A: Microsoft knows first hand that Perl is an important tool for their customers, since they are a heavy user
    of Perl internally. They want Perl to work well on the Windows platforms and to take advantage of platform
    features on Windows.

    Some people have expressed fears about a potential "embrace and extend" manoeuvre by Microsoft. We
    would like to reassure the Perl community that we see no danger of this ever happening with Perl. Perl's
    development model is based entirely on open discussion of changes, and is one of the most important
    reasons for the dynamic evolution that Perl has enjoyed over the years. To change this would be
    counter-productive to any commercial entity that may have a stake in Perl's success.



    It seems more to be like Microsoft is FUNDING them to code on Win32 related perlcode, in the official perl release... I don't think we have to worry about anything...

    /olle


  129. Re:`Server-side' and `Scripting' as pejoratives by The+Dodger · · Score: 1

    I'm afraid that your statement is disingenuous at best, deceptive at worst. Perl is hardly a `server-side scripting language' as you portray it.
    [...snip...]
    I hope that's all clear now. :-)

    Yikes, that told me! (-:

    I bow to your obviously far superior knowledge on the subject, but would humbly point out that my intention in describing Perl as a `server-side scripting language' was not to denigrate the language in any way, but to differentiate it from Java, in order to point out that the problems caused by Microsoft's hijacking of Java were less likely to occur if they hijack Perl in the same way.

    Not that I'm implying that Perl can't be used for client-side operations - merely that it's most common use is on the server and that I, for one, won't give a monkeys if Perl scripts/programs written on a Unix box won't run on an NT box and vice versa.

    As for the definition of `interpreted', I will say that I would define Perl, along with the Bourne, C and Korn shells, and TCL as interpreted scripting languages, as opposed to Ada, C, C++ and Java, which I would define as compiled programming languages. I'm not implying that either is better or more powerful than the other. I'm in no position to do so as my "programming" expertise extends no further than unix shell scripting.

    As an aside - don't Microsoft claim that NT is POSIX compliant? If it is, then why do they have to make custom changes to things like Java and Perl?


    The Dodger
    A Systems and Network (not a software) Engineer (-:

  130. Good or Bad? by The+Dodger · · Score: 5


    This isn't necessarily an altogether Bad Thing (tm). It means that Microsoft must feel they are losing out by not supporting Perl fully. Unfortunately, the nature of the Perl source licence means that Microsoft don't have to publish the source for their implementation.


    And before people start spouting off about how Microsoft shouldn't be allowed to embrace Perl like this, don't forget that the whole idea of Open software is that anyone can use it, and one of the reasons that Perl uses the Artistic licence, as opposed to the GPL is to allow companies to use Perl in commercial software. It's not something I personally agree with, but the creators of Perl decided to do it that way, and it was their choice.


    I also foresee dire predictions that Microsoft will turn Perl into a proprietary technology, like they did with Java. However, so what if they do? Perl isn't like Java - for the most part, it's a server-side scripting language, not a half-compiled binary which is meant to run on the client.


    The main thing is, don't panic. This will probably turn out to be good for Perl in the long run.




    The Dodger

    1. Re:Good or Bad? by Arandir · · Score: 1

      I'm not an expert on licenses by any means. But I understood the Artistic license to mean that Microsoft could include parts of Perl into their products, and have few restrictions, but if they released a full Perl, they would have to release the source.

      Certainly, if they announced and proclaimed a Windows "port" then they have to release all source code.

      The best way for them to proceed would be to make a fully open Perl port, and add all closed stuff to a module. They could even make an API module, provide a visual programming shell, and eliminate VB althogether!

      --
      A Government Is a Body of People, Usually Notably Ungoverned
  131. Perl and Java by Mapc · · Score: 1

    Yes, Microsoft tries to do to Perl exactly what it did to Java.
    Make it incompatible with other platforms.
    Times change, Microsoft doesn't

    --
    --Roman , remove spamless. to mail me.
  132. Re: O, were it so simple... by TrentC · · Score: 1

    The problem is not me (or dare I say us) using it, the problem is the rest of the world, especially the non-clued suits using it and bringing it to the fore.

    Aren't "non-clued suits" already using it? Isn't the fact that Perl is so widely used and accessible one of the reasons Microsoft is doing this?

    WinPerl will not be totally compatible with our current incarnations of Perl, and that will be the problem.

    Correct me if I'm wrong, but isn't one of the licenses Perl is distributed under the GPL?

    If so, then aren't any of the modifications that ActiveState/Microsoft makes to the Perl interpreter itself also covered under the GPL (which, I beleive, they state in their FAQ)? That is, we can pick it apart, correct "intentionally broken" functions and the like?

    I don't know how or if the GPL covers modules, so it could be possible that ActiveState/Microsoft could write a proprietary Win32 module and restrict our ability to dissect it, but as someone else said, don't write scripts using that module and you should be okay.

    I mean, gimme a break. If you write cross-platform code, then don't use any modules that gives advantages to one OS over the other -- I could be wrong, but I think MacPerl has some of those (especially for mac Toolbox functions). If you want to write platform-specific code (optimized for performance on a given OS/application combination) then use their stuff and be bound by whatever restrictions thay come up with.

    Isn't that one of the meanings of TMTOWTDI?

    Jay (=

  133. What the heck.... please clarify... by cswiii · · Score: 1

    Am I mistaken, or isn't Perl supposed to be a language where the code can be ported across several platforms with very-little-to-no code change (hence why you should sometimes avoid system() or exec() calls)?

    Wouldn't Microsoft's proposed implementation of Perl extensions damage this methodology?

  134. Ever here of boycott? by falser · · Score: 1

    If nobody were to implement these Windows specific extensions then it wouldn't be an issue. The problem is that many Windows programmers are so easily sucked into the black hole of platform specific coding.

    1. Re:Ever here of boycott? by warmi · · Score: 1

      He he , you see it is simple. Windows developers don't give a damn about anything else. They are out ther to make products and sell them. The competition on Win32 market is so great that you need all the possible advantages you can get and portability is not one of them ( just compare Netscape to IE or X windows with Win32 windowing system.) It wouldn't be that hard to optimize X windows servers and Xlib to specific platform ( say Intel Linux ) but it will not happen ... And results will be that X will aways be lagging behind Windows ( most of the time one of the first comments about Linux people make is something like " why is it so slow ", talking about X windows )

  135. there's already lots of Win32 bindings by falser · · Score: 1

    It'll be good to have the Win32 port fully compatible with the unix version. There are already tons of Win32 specific bindings that one can use to create windowed applications/scripts with Perl which are much like the tcl/tk and gtk bindings. MS would just be doing similar things to these so it's not that these things hasn't been done before. I say we just have a mass-boycott.

  136. Re:Looking at the FAQ... by BJH · · Score: 1


    Yeah, that's pretty much it. The whole point of Unicode was that it's not supposed to depend on the font, but here we are with the same problems as Big5, JIS, SJIS, EUC, etc., had. In other words, there's not a lot of point in shifting to Unicode for people using these character codes.

  137. Re:Perl supports UTF-8, not limited to 16 bit char by BJH · · Score: 1


    Yeah, the fact that UTF-8 allows the use of ASCII in its present form was a big plus when it went up for approval.

    Unfortunately, while it can handle UCS-2 (16bit) and USC-4 (31bit) characters, the Unicode codespace standard is brain-damaged; they decided to transfer the whole 16bit code space to UCS-4, which means we're still stuck with the mess of CJK unification, whereas if they'd had a clue, they would have thrown out UCS-2 and redefined the whole ball of wax for UCS-4.

    The upshot is, even when we shift to 31bit UCS-4, people using CJK characters are still going to deal with the pile of crap that is UCS-2.



  138. Re:Looking at the FAQ... by BJH · · Score: 2


    Sorry I wasn't a bit clearer...

    The idea is, you have two or three characters that look very similar. One is Chinese, one is Japanese, one may be Korean. They look similar, but usage differs (ie, they have different meanings). Because of the ridiculous Unicode proposal, they are all unified into the same code point (ie have the same character code, which means there is no way to distinguish them through Unicode alone).

    Now, the problem is, depending on the Unicode font used, you might get the Chinese character, you might get the Japanese character, or maybe the Korean character - but there is no way to be sure beforehand which one it is going to be without breaking the "universal" concept of Unicode.

    The whole point of Unicode was that code points were supposed to be kept separate between languages - so an A in English and an A in French (as well as German, Dutch, etc. etc. etc.) are all supposed to have different code points, because usage differs between these languages. (This is just an example; I'm not positive that all these languages have a different code point for A). This concept unfortunately breaks down for CJK fonts.

    I hope that was a little easier to understand...

  139. Looking at the FAQ... by BJH · · Score: 4

    It would seem that Microsoft is out to improve Perl performance on WIndows, but a closer look at the FAQ makes me suspicious. I know that Larry Wall said that ActiveState isn't so bad, and the fork() stuff doesn't bother me, but it rather goes against the grain of Perl to make alterations like MS is proposing (converting all applicable calls to use Unicode) without doing it in a cross-platform manner.

    One other thing - the press release says that Unicode is greatly desired by Asian customers. This is nothing but marketing bullshit. Anyone in Asia who works with text processing knows that the current implementations of Unicode (including 2.0) are almost pitifully inadequate. And before anybody leaps forward to defend Unicode, please study up on the CJK problem before doing so. Unicode causes so many problems in its present state that it may simply be easier to continue using present "standards", at least in Asian countries. I'm quite simply disgusted with the way countries that don't use an ASCII superset have been treated with regard to Unicode.

    (The CJK problem I'm referring to above, for those who can't be bothered looking it up for themselves, is that the present implementations of Unicode allow pretty much only for 16bit characters, which is nowhere enough to contain the number of characters required for Chinese-based fonts - ie, China, Japan and Korea (CJK). The idiots in charge of Unicode then decided that "similar" characters would have to use the same code point, thereby defeating the whole point of Unicode - that is, for CJK characters, the appearance of a character can vary depending on the font used, even though Unicode is supposed to define separate characters based on differences in usage between languages. To put it simply, a Unicode font is useless for DTP or other areas where the appearance of a particular character must be clearly defined. Iknow, there is a 31-bit version of Unicode, but nobody has made any serious attempt at defining code points outside of the 16bit code space.)

    With this development, it would seem that Microsoft is going to ride roughshod over Asian markets by saying that Unicode is the complete solution to all our problems. Well, I say, stuff that where the sun don't shine, Billy boy.

    BTW, my sig has been the same since I first registered at /. - I didn't change it just for this post...


    1. Re:Looking at the FAQ... by Endymion · · Score: 1
      How does the fact that a Chinese-based character appear differently in a different font differ from the fact the the Roman "A" appears differently in TimesRoman than in Helvetica?

      It's that there are so many characters in these Chinese-based languages, that they don't all fit in the encoding scheme. Say you were looking at the letter "A" in font1, and changed to font2, the letter might change to "B".

      It's not a good thing when you change fonts, and the text changes meaning.

      Choosing the correct font is annoying, and not very accuate.

      --
      Ce n'est pas une signature automatique.
  140. Re:Useless buzzwords on crap... by DeadFish · · Score: 1

    That's funny, I remember seeing "Plug and Play" stamped all over the power strips and UPS's when I worked at a computer store. I laughed my off.

    I've seen "Y2K Compliant" keyboards...

    --
    Another damned comic
    +++ NO CARRIER
  141. Embrace and Extend? by bmetzler · · Score: 2

    ...take advantage of platform features on Windows in this case does not appear to mean the same embrace and destroy strategy as seen in the halloween documents. Instead, Microsoft wants to take standard PERL and optimise it for the Windows platform. It will be the same PERL as before, but will run better. And it will still be Open Source. Thumbs up for Activestate!

  142. good! by jetson123 · · Score: 2
    They are adding fork(), improving performance, and adding internationalization. All of those are good. I'd be much more concerned if they added Win32:: to the UNIX version.

    I doubt they'll keep the source proprietary--that would seem to be self defeating in this case.

  143. there is no general purpose programming language by jetson123 · · Score: 2
    Perl is a general-purpose programming language whose process, file, and text manipulation facilities have made it the programming language of choice for tasks involving quick prototyping, system utilities, software tools, system management tasks, database access, graphical programming, and world wide web programming--just to name a few.

    I don't think there is any such thing as a "general purpose programming language".

    All programming languages involve tradeoffs. Some are easy to implement, some have lots of features, some can be compiled into very high performance code, some are backwards compatible with others, some are easy to understand for a particular community, some catch a lot of errors at compile time, some catch a lot of errors at runtime, some use lots of resources, some are well-suited to development projects with lots of developers, some are well suited to development projects with only a single developer, etc.

    Somewhere in that space, Perl, Python, Java, Tcl, Eiffel, Fortran, Lisp, Scheme, C, C++, and all those other languages each have their place. If you pick the best language for each job, it is my experience that there is actually very little overlap between those different languages. Each of them has their communities, and few of them are in danger of going away because some other language supposedly superceded them.

  144. Re:This is the last time I'm going to explain this by warmi · · Score: 1

    "The problem is new Perl users getting
    introduced to MS-Perl, and MS-Perl becoming defacto standard so that the majority of Perl out
    there becomes Windoze based, thus basically
    eviscerating a perfectly good language. "

    Are you on crack ? How is it going to happen ? You are not using Windows right, so your Perl will always be the same. And how can you assume that mere fact of extending Perl to better support Win32 platform will be "eviscerating a perfectly good language." If you think that your computing platform is so much better than anything else then stick with it and be happy. For many people ( majority) Win32 is the platform and they are perfectly happy using MS tools and "dreaded" IDEs. And I bet ( just as it was with Java) MS extensions will kick ass. They know their platform and therefore their tools are almost always the best in the industry ( on Win32 , that is.) Ever tried running aplets on IE versus Netscape ? Then you know what I am talking about.

  145. I agree, look at AppleScript by Etcetera · · Score: 1

    AppleScript is really the best of both worlds here. It is a command line interface to a purely graphical environment. Remember that Windows and UNIX are at their base, CLI's with a GUI spattered ontop of it. The Mac OS is pure GUI. There's no "native" or "underneath" CLI to work on. If you want one, you have to make it yourself, and it runs On TOP of the GUI.

    That does't mean that CLI's ontop of GUI's aren't useful... I spend the better part of my day using AppleScript to create turnkey systems for the computer lab I work for... it's great. Of course, this is purely proprietary to the Mac OS, and it requires significant effort by the 3rd party Mac programmers to make their programs "scriptable". but there's a tremendous pay off.

    Proprietyary schemes show that a CLI interface ontop of a GUI *can* make sense, but I wouldn't trust MS would an Open Source one.

  146. Re:don't use it then by Arkahn · · Score: 1

    I wish it were that simple. If Micro$oft "extends and embraces" something, and I don't like what they turn it into, I may very well have no choice but to use it. If my language choices were governed by language quality alone, I don't think any of us would have a problem with what Micro$oft is doing. The unfortunate reality is, due to politically pressures in the job-world, the programmer rarely (in my experience) can choose to program in something based on language quality alone (or at all)!

  147. exactly... by Zebulun · · Score: 1

    implementing in Windows and integrating it with the OS would be nice..


    but the "extend"ing features bit scares me..

    memory: remember back when Java was written platform independant? Remember how M$ added "features" that made you code Java for either M$ machines or everyone else

    perl is nice cause its powerful and platform
    independant. Let's keep it this way!


    Let M$ add it to their OS: but if they extend it, it will ruin it, as perl scripts will have to be written either for M$ machines or everyone else


    -Z

    --
    I'm afraid. I'm afraid, Dave. Dave, my mind is going. I can feel it. I can feel it. My mind is going.
  148. Re:let's not be hypocrites... by phred · · Score: 2

    After slogging through all this, I'm annoyed -- no, I'm irate -- that so much of the discussion has been sidetracked by a gale-force Slashdot Paranoia storm.

    Sure, Microsoft is blah blah blah [insert favorite pejoratives here]. As a matter of fact, they are not the devil incarnate and some of their stuff does work pretty well. You can thank them for the fact that the Win32::ODBC module is the backbone of many a fine Web site (or didn't you notice that ODBC, a Microsoft project, is a protocol that despite some faults Doesn't Suck).

    I'm also appalled that so many of the commenters here didn't even bother to check basic facts about Perl and its history in the DOS/Win realm. I've been using it since I was running everything under DOS 5.0 in 1992 (still have the old .exe of Perl 4.0.1.6, ported by Diomidis Spinellis and dated 2/23/1992 -- it would not be exaggerating to say that it changed my life almost more than any other single program).

    I've also used the various ActiveState Win32 Perl releases for years with excellent results. For example, I use it to munch 2-gigabyte raw dumps from databases and produce crosstabs and statistics two orders of magnitude faster than the databases can do so themselves. One of my main reasons in moving to Linux, actually, was to double that performance, but it's certainly not bad under NT.

    I'm glad tchrist showed up to correct some of the more egregious misunderstandings about Perl. The evolution of Perl between 1994 and 1997 from basically a fairly limited domain of text processing to a platform for all kinds of useful things, through the addition of object oriented structures, the revision of the library approach into the full-blown module environment we now have, and so forth, ought to be a classic study in how computing tools can evolve in a positive sense rather than a bloatware sense.

    If Microsoft wants to hook into that in a bigger way, that's a very good thing. Perl makes my life in the NT context bearable. However, I don't want to see it fork from the standard distribution in any significant way. Larry understates the importance of reunifying the code bases between the standard development tree and the ActiveState version with the One Perl initiative. And he also plays down the fact that it was not a guaranteed win. But nonetheless it did work out.

    So now consider the real story: Microsoft has conceded where the locus of authority is for Perl. They are promising in public to play nice. Their tendency not to do so is well understood and their activities will be thoroughly scrutinized.

    In other words, this is precisely the opposite of what happened with Java. And it is no surprise, given that Perl is open source and Java is not.

    And that is the most important lesson to be drawn from this.

    I don't mind Microsoft throwing in some things to optimize local processing, as long as they are themselves open source and don't fork my code. Because the bottom line is that if I can't run the basic stuff across platforms, their optimizations will disappear from my code first. That is market discipline Microsoft has never had to face, and they may have to grow up (maybe just a bit, but grow up nevertheless) as a result.

    Perl is a remarkable accomplishment. Learning more about its history, philosophy and development is a rewarding experience. And, golly guess what, it's all out there readily available to be discovered.

    -------

    maybe he funds Perl, but

    --
    Bill Gates Is My Evil Twin.
  149. I repeat, did we learn nothign from java? by Bob9113 · · Score: 1

    Many poosts have already said this,
    I gotta repeat the obvious.

    Microsoft intentionally killed Java.

    Keep them away from my language.

    Bob

  150. not GPL'd by th0m · · Score: 1
    perl's under the artistic license, not the gpl.

    ianal, but the gist of it is that you can modify and redistribute perl as you wish, in accordance with some fairly lenient conditions (which do *not* oblige you to redistribute the source, although you get out of some other clauses if you do).

    beware the trap of thinking that everything's gpl'd.

    however, this can't really be as bad as it first looks. if microsoft go ahead and 'embrace' perl, what's the worst market it's going to affect? NT web servers? do we care?

    --

    -- in china, chinese food is just called food.

  151. Re:No suprises by blaine · · Score: 2

    I think he was referring more to the fact that originally, if a person was uploading to a web site (html, images, etc) from Frontpage, and the server did not have Frontpage Extensions installed, an message would pop up and tell the user that they might want to switch ISPs due to the fact that the one they were using didn't support frontpage extensions, and therefore their web pages might not work right. After this was found out, MS was made to change it.

    --

    -[Blaine]- "'Oh dear,' says God, 'I hadn't thought of that,' and promptly vanishes in a puff of logic."
  152. Could be good, could be bad, could be both by Ripp · · Score: 2

    See subject line.
    IF the MS team working on this project "respects" the concept that (most) Perl programs should be able to (pretty much) run on either Win32 or *nix...IF they don't try to make key parts of the core Win32 Perl package MS property...IF all they are doing is adding functionality that exists in *nix versions of Perl that currently does not in Win32 versions....and IF, as it appears, they are trying to help make it compatible with this Win2000 thing....

    Then hopefully this is a good thing.

    The problem will be if they try to subvert it into "WinPerl" by adding tons of amazing new functionalities and properties that are propietary to MS and closed. I haven't got a problem with adding functionality to Perl for Win32 that takes advantage of OS features. As long as it stays open. As it is, the *nix version of Perl has this edge with all of it's *nix functionality built in.

    The simple fact is there are differences between the two OS's that limit usage of a lot of Perl programs between platforms, and if this fixes it, great. Maybe we'll see more *programs* being written in Perl, Tcl/Tk, etc. etc. for Windows.



    --
    Blech. Signatures.
  153. Re: O, were it so simple... by alfredo · · Score: 1

    My fear is that they will do to Perl what they are trying to do to Java.

    --
    photosMy Photostream
  154. Not Panicking by Neoplasm · · Score: 1

    As has already been pointed out elsewhere, Microsoft funded the initial port to Win32 years ago and Hip did a decent job of it. Most of Sun's complaints about the MS Java port were related to omissions and not breakage. RMI comes to mind.

    I must be a sort of oddity here though because I don't view the 'purity' (whatever that is) of Perl as a religious issue. I run a small network of NT workstations because that is what was provided me by my employer. I have no user account issues because they are running an HMI (Human-Machine Interface) package. I suppose QNX was an option instead of NT, but that isn't free or open either. Another reason is the operators are familiar with the interface.

    I use Perl because the scripting tools provided by the HMI vendor is utter garbage for anything more complex than turning a pump green if it is running and grey if it isn't. We have many instruments that provide text data in fixed width or comma delimited formats and Perl is great for extracting and reporting operational data from them.It's great for quick and dirty programs that would not be worth the effort in C. I suppose it could be done in Python too but I don't really want to learn yet another language for cross-platform compatability that I don't need anyway.

    This announcement (by ActiveState and not by Microsoft you'll notice) appears to be a minor upgrade to an existing product and not a major rewrite by Microsoft employees for release as a sort of Visual Perl (tm) that doesn't play nice with others. People who need multiple platforms will find a way to support them anyway and those of us who don't will be happy with this.

    --
    Do this don't do that Can't you redesign.
  155. time to think quickly... by ywwg · · Score: 1

    Anyone know how we can stop them?

    1. Re:time to think quickly... by ben_ · · Score: 2

      You can't. That's what Open Source means - your enemies as well as your friends can use it. The Serbs can use it as well as the Kossovans. Straights and gays. Republicans and Democrats. Once you open it, you can't put it back in the box.

      --
      ben_ the technologist and platform agnostic
  156. Re:!?! That made no sense by Mr+Bill · · Score: 1
    You don't understand that a Perl script written for this new MS breed of Perl will not work for other platforms, that is where the problem lies.
    So are you saying that perl code should be platform independant like Java was supposed to be? This seems like a ridiculous expectation. According to that notion I should be able to use the same perl script that I use to change passwords in /etc/passwd, to change passwords in the WinNT registry!

    There will probably be functions added to allow you to change the registry from within Perl among other things. But I don't expect anyone to find these functions useful on the Unix side. If you want to build platform independant system utilities using Perl, you may have to do some magic (do an if else on the OS version). But I expect that most of your perl scripts will work no problem on either platform (ie text parsing is text parsing whether you are on NT or Unix).

    And if you only use Perl on Unix, the fact that Perl may have Windows specific functionality in it will have ~zero effect on you.

    Now what would be ideal, is if these extensions were done as part of a module. That should make everyone happy...

  157. Make a better version by Can · · Score: 1

    It seems that the only way to really fight Microsoft on this front is for Open Source developers to make the current Win32 version of PERL run better. If the open source, free version of perl for Windows runs better than this "proprietary-ish" version, what incentive would there be for others to use it?

    In fact, the open source movement could really turn the tables on Microsoft if we could get even half as many Windows-specific open source programmers as we have for *ix. As an example, there is currently no good cross-platform group scheduling and contact management software, even between MacOS and Windows. If some group were to take something like KOrganizer, add some polish and a good port to MacOS and Windows as well, I think we could easily steal market share away from Outlook. I'm hoping that Mozilla's calendaring component will be able to do this if nothing else.

    In the long run, as long as Windows is the dominant platform, the best way for us to gain market share is to port the best open source programs to Windows and Mac, rather than waiting for the commercial programs to come to us from the other platforms.

  158. don't use it then by sporkboy · · Score: 1

    If it turns out to be evil, then don't use it. I know this has been said 1.0e6 times but you don't have to use anything. You can go on writing batch files, or WSH scripts, or using the open Perl distro or just sticking to Linux. But it may just solve some people's problems. Note that it's semi-proprietary to begin with (ActiveState) so users of that system may actually gain benefit from it.

    1. Re:don't use it then by ljs127 · · Score: 2

      >>WinPerl will not be totally compatible with our current incarnations of Perl, and that will be the problem.

      Where did you get this idea? All the FAQ and press release say is that there will be access to Win32-specific features, and there have always been such extensions in ActiveState Perl. You can write portable perl and it will work in ActiveState just like on any other platform, or you can write Win32-specific code and it will work only on Win32. You can do the same thing on UNIX; don't tell me you've never seen a Perl script that would only work on UNIX, cause there are plenty of them. It's as easy as `/usr/bin/whatever`

      I've written a lot of ActiveState Perl, some of it portable, some Win32-specific. It's impossible to use the type of features they are talking about accidentally. You always have to use some Win32:: module. What could more explicit than that?

      LJS

  159. think management (not fortunate but true). by sporkboy · · Score: 1

    Java is a lot easier to write Windows apps in than MFC, IMO. And Perl scripts, if well written are alot more readable and maintainable and scalable than batch files. Management is interested in saving development time and if they're tied into Windoze choosing the "best language for the job" while still "having all the features" is a tempting thing. M$ sees this and gives it to them, so they don't jump ship. Developer relations is more than just providing the best technically elegant solution, it's giving the suits (or aspiring suits) what they want.

  160. let's not be hypocrites... by sporkboy · · Score: 4

    Doesn't perl "take advantage of the platform features of *nix" right now, intentionally and without shame. Having the ability to do good system-integrated admin scripts on Windoze in something other than VBScript or J-don't call it java-Script would be a Good Thing in my book, and make life somewhat more tolerable for those used to the platform tightness on *nix.

    1. Re:let's not be hypocrites... by PapaZit · · Score: 1

      Windows really needs a good scripting language. VBScript and JScript are okay, but not great. Perl is great for unix, and would probably be really good for unix.

      There are a few tasks, though, that can't be easily done in a graphics-based OS like windows with a command-line based tool like perl. The ability to have the script emulate a user pressing Control-Alt-Shift-F7 (or whatever else), or clicking on the third icon from the left would be really handy in windows. Since unix is command-line based, it wouldn't benefit as much from something like this.

      --
      Forward, retransmit, or republish anything I say here. Just don't misquote me.
    2. Re:let's not be hypocrites... by Nose · · Score: 1

      I think it will definitely be good to have a perl implimentation for windows that doesn't completely blow. I always wonder what will happen to something once micros*ft gets their hands in it. Look at Java after all (it has made me wonder if their slogan should instead be "Who should we rip off today") I would like to see some specifics on the platform advantages that they want to add. Maybe your scripts will randomly crash and be generally unstable :) Maybe the next thing we see will be an all new product : "Perl Script 2000 - Build your very own scripts without any programing experience at all!" Nothing like setting up some false expectations to sell something to the general, untechnical public.

      --
      Nose -Common Sense isn't.
  161. Re: O, were it so simple... by Le+douanier · · Score: 1


    I really love *NIX but I think that there would be more games on the Mac. *NIX isn't really easy to use for a non techie (it's coming thanks to Gnome and KDE) and the Mac had less HW compatibility problems than the PC and less OS compatibility problem than *NIX.

    --
    "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." Bill Gates,
  162. perhaps i'm paranoid... by krog · · Score: 1

    ...but this seems like it could turn into a move in MICROS~1's game of defying, overrunning, and closing standards. there is nothing wrong with MS adding to Perl; this is somewhat admirable of them. but i see this going in the same direction as Browser Wars did; "HTML" and "Java" became very subjective terms and one could not count on certain features ALWAYS being there.

    and couldn't this be construed as MS "embracing" free software? i can't even imagine the spin they might like to put on that.

  163. Re: Unicode support by dgfitch · · Score: 2

    I assume they mean, adding it in Windows in a way which is compatible with the way it's being added to the standard Perl base. Larry and co. have been working in Unicode for quite a while now, someone correct me if I'm wrong on an estimate of 2 years.

    Perl wasn't designed with Unicode in mind, but as Mr. Wall is fond of saying, Perl is really great at text processing... Unicode is a natural addition.

    I don't think this is a big deal. Is it possible for Microsoft to take the Perl idea and pervert it like the wondrous things they've done with Java? I highly doubt it. They are just adding Windows functionality and access points for those who need them.

    I won't.

  164. They have every right to to this (don't they?) by Ivo · · Score: 1

    Hey,

    I was thinking, when MS was 'embracing and extending' java, Sun could sue them for it, but I think the GPL explicitly gives MS the right to take perl and change it. (I nevertheless expect a lot of 'oh no! we must stop them!' posts.)

    One thing though, if they do this, they must release the source to their modifications (don't they?). Will be the first time that MS releases something that 'takes advantage of their platform' as source.

    Hmm.. and if they don't release the source code, then we might see the first legal fight involving the GPL (remember the thread a while back stating that the GPL has never been tested in court?)

  165. Sorry, forgot that Perl uses Artistic License by Ivo · · Score: 1

    But still, doesn't article 4 of the osd
    ("the license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time.")
    still apply?

  166. Re:Weak license -- NOT! by profi · · Score: 1
    Do you think Apple would touch anything GPL'd after what the Fascist Software Foundation did to them?

    Tom!!! You crack me up! It takes a lot of cohones to post this on Slashdot.
    Way to go pal!

  167. compitition by smillie · · Score: 1

    Microshaft languages are not platform independent. When they can "extend" other languages so they lose their platform independence then Microcrap languages are on an equal footing.

    If you can't beat them - at least drag them down to your level.

    --

    Dyslexics Untie!

    1. Re:compitition by Zurk · · Score: 1

      actually linux, like most unixes is a 70's technology. WinNT is loosely based on VAX/VMS which is a 60's technology. Dragging 70's technology down to the 60's level is a disservice to everyone.

  168. This isn't what it appears to be. by parkrrrr · · Score: 1
    Odd, I seem to be running a Win32-aware Perl on this WinNT box already. I have a script over here that updates an MS Access database using the Win32::OLE module, and another one over there that can find and close a window by name using the Win32::API module. In fact, the Win32 subdirectory on this installation of Perl (not the ActiveState abortion, by the way, but a real honest-to-God Perl) contains 23 separate modules for everything from admin tasks to general UI tasks. If I wanted them, there are probably more Win32 modules on CPAN.

    Here's what annoys me: The FAQ says

    We are counting on the Perl Community, in particular those working on globalization issues, to work with us to create quality code that solves real problems.
    So if they're counting on the Perl Community to do the work, what exactly is it that they're getting paid for again?

    Oh, and of course none of the Win32-specific scripts will work on Unix. But then, none of your scripts that use fork or other various process- and user-management features will run on Win32, either (though one of the goals ActiveState has is to implement fork on the Win32 port.) I don't see how this is a problem.

  169. Re:++TMTOWTDI by parkrrrr · · Score: 1
    I'm curious how it will avoid the insanely inefficient process start-up penalties one incurs under Microsoft, as well as how the non-shared data pages will be fast without being copy-on-write.
    The FAQ says they will implement a parent and child process as multiple threads in the same process space rather than as multiple processes. No new processes means no process startup penalties. As for the nonshared data pages, NT supposedly supports copy-on-write via the VirtualProtect API function, so that aspect of the performance equation would likely only be a problem on Win9x.
  170. Re:`Server-side' and `Scripting' as pejoratives by parkrrrr · · Score: 2
    As an aside - don't Microsoft claim that NT is POSIX compliant? If it is, then why do they have to make custom changes to things like Java and Perl?
    NT has a POSIX-compliant subsystem. The Win32 subsystem is not POSIX-compliant. Programs executing in the POSIX subsystem have no easy way to communicate with programs running in the Win32 subsystem. The result is that hardly anyone does anything with the POSIX subsystem - why bother, when you can get the same results by just opening a telnet session to a real Unix box?
  171. Re:RPM better at installing? by fReNeTiK · · Score: 1

    Clicking on an icon and a couple of "next" buttons may be more convenient but... Have you ever come to the point where you decided you didn't like that particular piece of software and used the uninstall "feature"?

    --
    I strongly believe that trying to be clever is detrimental to your health. -- Linus Torvalds
  172. Perl by Tekhir · · Score: 1

    Perl wasn't invented for the web. It was invented for Unix as a scripting langauge. It just happen to make it into the web too. So of course Perl uses native Unix functions and crap like that. It was design for it. Porting it to Windows has been hard because of it.

  173. Re:Hmmmmmm let's think about it.......... by Tekhir · · Score: 1

    Java is still a threat, but not quite in the same way. The current thing to do if you nee a cross platform app is to use C/C++ to write the frontend and native OS things and hook Java into it with Corba. So You can get a program that loads fast and about 80% Java which is cross platform.

  174. Re:No suprises by deacent · · Score: 1

    The thing that makes me wonder is why any company will still deal with MS. I know that MS is powerful and if you can get in with them, you'll have an advantage. I can certainly see where ActiveState would be in the driver's seat if they were the sole source of the "MS Approved" Perl distribution. But I can't think of a single deal that MS has made where the other party didn't get screwed. I guess Barnum was right.

    I know it's premature to judge MS on their Perl efforts, but their history makes this smell bad (and a bit like Java). As for me, I need to run my scripts on three different platforms (one of them Win32). I hope they don't decide to redefine the behavior of existing functionality to be more Win32 dependent, ahem, I mean savvy.

    Can't wait to see "MS's" latest innovation heralded in the press.

    -Jennifer

  175. Re:How nice... hahahaha by Another+MacHack · · Score: 1
    As well, it only one of two languages that natively allow a function to return multiple values

    LISP, ML, Scheme, and just about any other functional language will let you return multiple values from a function.

  176. Silverware by E29 · · Score: 1

    I guess the fork is mightier than the FUD.

  177. MSPERL by mondainx · · Score: 1

    Just one more thing for Microsoft to convert to bloatware.. Now PERL will always be in a state of BETA.

    --

    The early bird gets the worm, but the second mouse gets the cheese!
  178. What about the Larry Wall interview? by Quaternion · · Score: 5

    Correct me if I'm wrong, but didn't Larry Wall sort of address the commercialization of Perl issue in the interview he gave to Linux Journal (a few stories ago on /.)?

    I think the quote was:
    "I'm not directly affiliated with ActiveState, but I've worked with them, and I think the problems they've solved far outweigh any problems they've created. You've got to understand their market has always been the Windows space, where you're actually doing people a favor by charging them money for things, because that's the only way to keep from confusing them. Linux users are smarter than this, of course, but some Linux users aren't quite smart enough to realize Windows is a different culture, and Perl, being a postmodern language that is sensitive to context, will look different in a different culture. "

    Don't get me wrong... I'm not a big Microsoft fan. But it seems to me that if even more people use Perl, that will be good for the community in general. And it wouldn't violate any of the "sacred principles" of Perl/Linux advocates in the process....

    --

    "The horse leech's daughter is a closed system. Her quantum of wantum does not vary."

  179. Re: let's not be NAIVE by ebbv · · Score: 1


    If that's all they were going to do (make
    Perl function better under Windoze) that would
    be fine. But do you REALLY believe that M$
    has these noble intentions? Read between the
    lines, my friend.
    ...dave

    --

    Think different? I'd be happy if most people would just think...
  180. !?! That made no sense by ebbv · · Score: 1


    Exactly how does Perl on Windows and Perl on
    *nix (etc.) allegorize well to Gimp and PhotoShop?
    Gimp and Photoshop are 2 TOTALLY different
    animals, and are used in totally different ways
    than a programming language.

    You don't understand that a Perl script written
    for this new MS breed of Perl will not work for
    other platforms, that is where the problem lies.
    Yes, Gimp plugins and PhotoShop plugins aren't
    compatible, but that's like saying Doom saved
    games and Half-Life saved games aren't compatible
    (or maybe i should say mods.)

    It would also be nice if you weren't so flip at
    the end of your posts when you're not even making
    any sense.
    ...dave

    --

    Think different? I'd be happy if most people would just think...
  181. This is the last time I'm going to explain this. by ebbv · · Score: 1

    Ok, one last time :

    a) It's not said explicitly that this will be
    an all-snafu'd up implimentation of Perl, but with
    M$ involved you can lay your bets pretty safely
    that it will be.

    b) The problem is not those of us who know
    what we're doing writing incompatible Perl on
    accident. The problem is new Perl users getting
    introduced to MS-Perl, and MS-Perl becoming defacto standard so that the majority of Perl out
    there becomes Windoze based, thus basically
    eviscerating a perfectly good language.

    If you don't understand this, then I don't know
    what else to say, it's plainly obvious to me.
    ...dave

    --

    Think different? I'd be happy if most people would just think...
  182. Re: O, were it so simple... by ebbv · · Score: 3


    You know, if stopping M$ was as simple as me
    not using (or paying for *cough*) their products,
    then guess what? They would not be where they
    are today. IE would not be so popular, there
    would be more *nix games, et cetera, et cetera..

    The problem is not me (or dare I say us)
    using it, the problem is the rest of the world,
    especially the non-clued suits using it and
    bringing it to the fore. WinPerl will not
    be totally compatible with our current incarnations of Perl, and that will be the
    problem.
    ...dave

    --

    Think different? I'd be happy if most people would just think...
  183. No suprises by SYS2066 · · Score: 1

    This is just what happend with Java... WHY do they do such things???

    // Simon

    1. Re:No suprises by Hard_Code · · Score: 1

      Targeted assassination.
      Read the Holloween papers.
      Take out major components of the open-source movement. Attack the process by making them proprietary.
      PERL and Wall are a threat.

      --

      It's 10 PM. Do you know if you're un-American?
  184. CALM yourselves people! by ctimes2 · · Score: 1

    C'mon! What's with all the pessimism? If windows writes its software with pearl, it will be that much easier for us to port windows apps to *nix! A major complaint of business' that there aren't enough apps for *nix! We win.
    I say it's time to fear the peguin instead of the DAC (Digital Anti-Christ, BG). Someone needs to make a peguin icon wearing guerilla clothes! Wahooo!

    --
    My cube. My friend. My solace. My prison.
  185. oops- I meant perl. by ctimes2 · · Score: 1

    :}

    --
    My cube. My friend. My solace. My prison.
  186. RPM better at installing? by ctimes2 · · Score: 1

    pardon me - but my a[??]!
    I'm a reletive newbie to Linux, a little less so to unix, and I would take an installation wizard from Winblows over an RPM any day. I'm still trying to figure out how to get gnome working, apparently I'm missing some files or something... that just doesn't happen with M$ wizards (assuming of course the app doesn't crash. A Technicality ;) RPM may be more flexible, but to an end user (the majority of users)...
    So get real. In winblows you find the right icon, double click and your home free, or just stick the cdrom in the drive. In *nix you have to find the path you downloaded to, probably from the command line, find the path to install to, and then figure out if you installed all the dependant RPM's! And don't even start about mounting file systems!

    --
    My cube. My friend. My solace. My prison.
  187. oh please. by ctimes2 · · Score: 1

    ...wonder if you've actually tried installations on either platform...

    Responses like that make me think you are WAY too defensive, and can't read. The wizard/RPM point I was making was that for first time users, or those who don't care to use the command line, or for those who just don't give a $#i! as long as it gets done, wizards are easier. Plain and simple my friend, wizards do what most users can't.

    Get over it.

    And to Donovan below, Thanks! nice to see someone posting here who can demonstrate their knowledge (your web page) and be constructive. And he's not a "coward".

    --
    My cube. My friend. My solace. My prison.
  188. Not flamebait - I think this is good by L1zard_K1n6 · · Score: 1

    Lets face it - to be accepted in the mainstream you have to work and work well on Microsoft platforms.

    As long as they isolate most of the changes, I don't mind.

    A Microsoft:: package hierarchy would be just fine - such a hierarchy already exists for others OSs.

  189. BZZZZZT by L1zard_K1n6 · · Score: 1

    Sorry, perl does not use the GPL. It can be extended at whim.

    1. Re:BZZZZZT by L1zard_K1n6 · · Score: 1

      Please go learn about the artistic license and come back and formulate something intelligent to say.

  190. Re:Dont use activestate use this instead. by Malcontent · · Score: 1

    Please see Pete's Place for an alternative to activestate PERL. If we use the alternatives then activestate may back off in any case we should get the word out that activestate is not the only game in town win32 PERL.

    "One World, One Web, One Program" - Microsoft Promotional Ad

    --

    War is necrophilia.

  191. Re:Useless buzzwords on crap... by Morgo · · Score: 1

    Sounds like the "Made for Windows 95" monitors we used to have here.

  192. There's already plenty of Win32-specific options by ljs127 · · Score: 1

    I've written lots of ActiveState Perl and there are modules for registry access, for NT security management, not to mention plenty of famous 3rd-party modules, like Win32::ODBC.

    It's just like the Win32-specific Java stuff in Microsoft's Java. Nobody can use it accidentally, but if you want to write a Win32-speicific program it's there for you to do (just like you can write UNIX-specific Perl programs just by calling native code).

  193. Re:This is the last time I'm going to explain this by ljs127 · · Score: 1

    So the problem is not smart people like you, it's all those stupid people out there. All those novices buying computers at CompUSA and then unwittingly writing Windows Perl scripts. Sounds real plausible to me.

    LJS

  194. Perl Communities... by Desco · · Score: 1

    I've heard many posts saying "Micros~1 can't hurt Perl the way they did Java" and things like that. People basically defending the language and Micros~1 porting of it. Sure, they cannot ruin the unix version of perl, or directly affect what we do with it. What they CAN do is create a handful (And for Micros~1, that's a pretty big hand) of Perl programmers who know MS-Perl, and not Perl as it REALLY is. This would diversify and seperate us in to multiple communities, and put us at arms with each other. Just the same as I consider nothing makes MS happier than seeing new Linux distros come up, because that makes war among us, and less Big Brother'll have to do to get people to stop converting...

  195. Useless buzzwords on crap... by Desco · · Score: 1

    That's funny, I remember seeing "Plug and Play" stamped all over the power strips and UPS's when I worked at a computer store. I laughed my butt off.

  196. Yes, it "forks" the code... by isdnip · · Score: 1

    An ironic quote from news.com's article on what's being added... noting that "forking" in the open-source world means something on its own...

    For example, something that's present in Unix but missing on the Windows version is the "fork" feature, which lets a program make a copy of itself, Hardt said, a very useful ability for programs that use the network.

    ActiveState will add the fork function into Perl for Windows and release the code to the
    open source community, he said.

  197. Re:`Server-side' and `Scripting' as pejoratives by Tom+Christiansen · · Score: 1
    The fact that it needs perl... the program perl to load it and interpret it is what i see as a interpreted language.
    And the fact that you need some shared library (that's DLL in the Black Speech of Mordor) to interpret certain kinds of function calls would by that criterion make any such program an interpreted one. After all, the shared-library/DLL/run-time-system is fielding the calls for you. You're not doing it yourself.

    Do you write Lisp scripts? Do you write BASIC scripts? Do you write Java scripts? Do you write Pascal scripts? Do you write C scripts? You can, of course. You can set those all up so they are run by a different virtual machine than the one that's doing firmware interpretation. And just who is doing the interpretation and how much preprocessing is done on the very same source code can vary from run to run.

    Face it, this is an altogether silly idea borne of marketroids and other atechnical jargonizers with no legitimate foundation in the computing sciences.

    --tom

  198. Re:Weak license -- NOT! by Tom+Christiansen · · Score: 1
    Larry Wall was a fool for not using GPL for Perl.
    No, he was sly. This way, many companies get to use and even ship Perl who otherwise would be restricted from doing so. Do you think Apple would touch anything GPL'd after what the Fascist Software Foundation did to them? Notice how Mac OS X is BSD-based, not Linux-based. Think about that for a while, please.

    There are plenty of other cases, some of which are not obviously public, of companies shipping products with Perl bundled in, companies whose lawyers absolutely would not have permitted their product to require a GPV'd program. Whether the contamination were really there or not, the lawyers would only know how to say no.

    And that helps no one. This way, more people can use Perl, and on their own terms, and without fear of reprisal from any rabid lawyers. Perl is more useful, more widespread, and more free than it would be were it saddled with nothing but the GPV. If you want freedom, don't tie people up with duct tape.

    The Artistic Licence does just exactly what it was intended to do, and consequently is unlikely to disappear just because you want to remove people's freedom with a more restrictive, binding licence. Perhaps you might please reread it seen in this light.

    --tom

  199. Important MicroActiveSoftStateFAQ Update by Tom+Christiansen · · Score: 1
    The current degree of concern and confusion about the relationship between the intertwinglelingly aforementioned businesses may be out of proportion with the reality of the matter. In response to your concerns and those of others, the parties involved (of which I am not one) have updated the relevant FAQ with more concrete details. I believe that these clarifications stand a chance of allaying a few of your more conspiratorial fears.

    --tom

  200. Heisencompilers by Tom+Christiansen · · Score: 1
    There is a chip, the picoJava chip, that runs bytecode native (that's bytecode compiled from Java source). There no picoPerl chip. You cannot run a Perl program unless you either have a Perl interpreter or you compile the Perl source to a native binary.
    Oh, good. I see now that what you've so generously explained is how the mere current existence of this chip that interprets Java bytecodes means that the Java thingie-that-might-be-a-compiler that produces bytecode really is a real, honest-to-Dennis compiler, but that the current albeit potentially ephemeral lack of an equivalent chip for Perl bytecode interpretation similarly indicates that the Perl thingie-that-might-be-a-compiler isn't really a compiler at all.

    Let's see now. That means that all I'll have to do to make the Perl thingie-that-wishes-it-were-a-compiler into a true compiler, is, without touching a single little bit within the aforementioned pseudocompiler's tender little binary image, wave my magic wand and create a chip that happens to directly use the Perl bytecodes as its native instructions. Voila! The old thingie-that-wished-it-were-a-compiler has had its heartfelt desire granted, all without altering it at all.

    Because I can already convert the Perl bytecodes into something to feed a C compiler and thence an assembler using one of our various code generators, it would to appear that the existence of such a process has magically elevated the hitherto humdrum role of the whilom pseudocompiler into that of a proper compiler, but that before such code generators for Perl existed, no such appellation was merited. In short, the presence of an external, unrelated entity alters the very nature of a particular process, yet miraculously does so by changing neither the input nor the output of that same process.

    You have demonstrated how the principle of strange action at a distance is one limited not merely to quantum physics, but that its reach in fact extends even to compiler theory. Your peccable perspicacity, sir, has so completely overwhelmed me, that I can but stand in humble awe--nay, call it shock--before you. Doubtless this is but the tip of the iceberg, and wholly new fields of figmentation await your inventive elaboration. You must definitely write a thorough treatise on your fascinating findings of Heisencompilers. Do be sure to please include some of that tasty postmodern deconstructionism while you're at it.

    --tom

  201. CRLF myths by Tom+Christiansen · · Score: 1
    No, you use the more modern chomp() which removes EOL's from lines as defined by the $/ variable.

    I imagine that $/ defaults to CRLF on Windoze.

    Um, no. That's not the way it works. It's just a \n. Here's an excerpt from The Perl Cookbook:
    Not everyone agrees what a line in a text file is, because one person's textual character set is another's binary gibberish. Even when all parties involved are using ASCII instead of EBCDIC, Rad50, or Unicode, discrepancies arise. There is no such thing as a newline character. It is purely virtual, a figment of the operating system, standard libraries, device drivers, and Perl.

    Under Unix or Plan9, a "\n" represents the physical sequence "\cJ", a linefeed. However, on a terminal that's not in raw mode, an key generates an incoming "\cM" (a carriage return), which turns into "\cJ", while an outgoing "\cJ" magically turns into "\cM\cJ". This strangeness doesn't happen with normal files, just terminal devices, and is handled strictly by the device driver.

    On a Mac, a "\n" is usually represented by "\cM"; just to make life interesting, a "\r" represents a "\cJ". You will note that this is exactly the opposite of the way that Unix, Plan9, VMS, CP/M, or nearly anyone else does it. This means that Mac programmers writing files for other systems, or talking over a network, have to be careful. If you just send out "\n", you'll deliver a "\cM" and no "\cJ" will ever be seen. Most network services prefer to receive and send "\cM\cJ" as a line terminator, but most are also content to receive merely a "\cJ". The old adage ``be liberal in what you accept, and conservative in what you send'' is still true today.

    Under VMS, DOS, or derivatives thereof, a "\n" represents "\cJ", in a similar fashion to Unix and Plan9. From the perspective of a tty, Unix and DOS behave identically: a user who hits ENTER generates a "\cM", but this arrives at the program as a "\n", which is "\cJ". And a "\n" (that's a "\cJ", remember) sent to a terminal shows up as a "\cM\cJ".

    But these strange conversions happen to Windows files as well. A ``text file'' in DOS actually contains two characters at the end of every line, "\cM\cJ". And the last block in the file has a "\cZ" in it to indicate where the text stops. When you write a line like "bad news\n" on those systems, the file ends up containing "bad news\cM\cJ", just as if it were a terminal.

    When you read a line on such systems, it's even stranger. The file itself contains "bad news\cM\cJ", a ten-byte string. When you read it in, your program gets nothing but "bad news\n", where that "\n" is the virtual newline character, that is, a linefeed ("\cJ"). That means to get rid of it, a single chop or chomp will do it. But your poor program has been tricked into thinking it's only read nine bytes from the file. If you were to read ten such lines, you would appear to have read 90 just bytes into the file, but in fact would be at position 100. That's why the tell function must always be used to figure out where you are. You can't infer your position just by counting what you've read.

    This legacy of the old CP/M file system, in which their equivalent of an inode stored only block counts and not file sizes, has been a source of frustration and despair to programmers for decades now. And there's no end in sight. Because DOS is compatible with CP/M file formats, Windows with DOS, and NT with Windows, the transgressions of the fathers have truly been visited unto the children of the fourth generation.

    And here's an excerpt from the perlport manpage:
    Some of this may be confusing. Here's a handy reference to the ASCII CR and LF characters. You can print it out and stick it in your wallet.
    LF == \012 == \x0A == \cJ == ASCII 10
    CR == \015 == \x0D == \cM == ASCII 13

    | Unix | DOS | Mac |
    ---------------------------
    \n | LF | LF | CR |
    \r | CR | CR | LF |
    \n * | LF | CRLF | CR |
    \r * | CR | CR | LF |
    ---------------------------
    * text-mode STDIO

    The Unix column assumes that you are not accessing a serial line (like a tty) in canonical mode. If you are, then CR on input becomes "\n", and "\n" on output becomes CRLF.

    These are just the most common definitions of \n and \r in Perl. There may well be others.

    There, got all that? :-)

    --tom

  202. Re:`Server-side' and `Scripting' as pejoratives by Tom+Christiansen · · Score: 2
    As for the definition of `interpreted', I will say that I would define Perl, along with the Bourne, C and Korn shells, and TCL as interpreted scripting languages, as opposed to Ada, C, C++ and Java, which I would define as compiled programming languages.
    I'm afraid it's nothing so simple as that. Both Perl and Java compile into what we always used to refer to as P-code. Does anybody else but me remember UCSD Pascal on the LSI-11's? Sometimes this turns into machine code, sometimes it doesn't. The only honest thing you can say is that all programming languages are by definition interpreted. You cannot a priori look at a program and say what is going on. In fact, nothing is going on at all. :-)

    Nostagically relevant, consider pi, pix, px, and pc on old BSD systems for a Pascal environment. I can present you with Pascal source, and ask what it is. You cannot tell me. It could be run under a pure interpreter, a bytecode compiler-and-interpreter, or further translated into some machine's assembly language. All are still interpreted.

    As an aside - don't Microsoft claim that NT is POSIX compliant? If it is, then why do they have to make custom changes to things like Java and Perl?
    Oh, they claim, they claim. But see the old article by Heinz Lycklama. Everyone else who did POSIX compliance did so to create something genuinely useful for their customers. Why use persnickety technicians when you get to hoodwink the courts to ordain you POSIX in a bait-and-switch game? I leave it to the readership to judge Microsoft on their own.

    --tom

  203. ++TMTOWTDI by Tom+Christiansen · · Score: 3
    Larry Wall once wrote:
    Some of you know what the Perl slogan on Windows is, and you can say it with me: ``It's a good thing there's more than one way to do it, because most of them don't work.''
    There will now be one fewer way for Perl not to work under Microsoft: forking is good for you. This helps everyone because we can all fork off at will without the grinch that stole Redmond barking at us.

    I'm curious how it will avoid the insanely inefficient process start-up penalties one incurs under Microsoft, as well as how the non-shared data pages will be fast without being copy-on-write. The multiple-interpreters-in-one-process work will also help everyone.

    I'd say to reserve one's fears until there's something to fear. ActiveState can't after all be all bad: they even list the Perl Power Tools on their pages to help people sentenced to tool-deprived systems. :-)

    --tom

  204. `Server-side' and `Scripting' as pejoratives by Tom+Christiansen · · Score: 5
    Perl isn't like Java - for the most part, it's a server-side scripting language, not a half-compiled binary which is meant to run on the client
    I'm afraid that your statement is disingenuous at best, deceptive at worst. Perl is hardly a `server-side scripting language' as you portray it.

    First, to relegate Perl to nothing more than CGI is a tremendous disservice. Perl is a general-purpose programming language whose process, file, and text manipulation facilities have made it the programming language of choice for tasks involving quick prototyping, system utilities, software tools, system management tasks, database access, graphical programming, and world wide web programming--just to name a few. Systems administrators, network administrators, and web administrators on all platforms flavors especially love it because of its potential to automate virtually everything they need to do.

    The second misconception to disabuse oneself of is this whole `scripting' notion as being somehow different from `programming'. It's not. They're quite the same thing, at least as used in the vernacular now that JCL scripts and uucp chat scripts are largely (and thankfully) gone. And before you mumble something about `interpreted', you should think about how, contrary to popular misconception, not merely Perl but all programming languages are interpreted. The only question is, at what level?

    In the normal case, the Perl compiler compiles source code into parsetrees of Perl Pseudocode (PP), and hands those off to the PP interpreter to execute (one could say `interpret') these trees.

    In other cases, the Perl compiler compiles source code into parsetrees of Perl Pseudocode (PP), and hands those off to a code generator, which generates bytecodes. These bytecodes are then later loaded by a special module that converts them back into PP trees, which are then handed off to the PP interpreter to execute (one could say `interpret').

    In still other cases, the Perl compiler compiles source code into parsetrees of Perl Pseudocode (PP), and hands those off to a code generator, which generates C source code, which is handed off to the C compiler, which generates assembly source code, which is handed off to the assembler to produce object code, which is handed off to the linker to create a linked binary image, which is then handed off to the kernel to execute (one could say `interpret') at some later date, whose instructions are then often handed off to the firmware to execute (one could say `interpret').

    In all cases, the Perl compiler runs an optimization pass, just like any other compiler. For example, the expression $x = 2 ** 31 - 1 would be computed at compile-time, since it's a constant expression. But the Perl compiler is rather more clever than just that, sometimes inlining certain subroutines, ignoring unreachable code, doing loop hoisting, etc.

    I hope that's all clear now. :-)

    The main thing is, don't panic.
    That part is certainly true!
    This will probably turn out to be good for Perl in the long run.
    And I hope that part is, too.

    --tom

  205. Dont use NT by Nahuel+Greco · · Score: 1

    Yes.. we are about to won in the server side (desktop is other history) ... Perl is used in Server side primarily, so.. use a Linux/*BSD in the server.. and never..never..never..never touch MS-Perl for nothing.

  206. Hmmmmmm let's think about it.......... by agtofchaos · · Score: 1

    1. Java could have possibly damaged the windows monopoly, but because of Sun's stupidity it probably will only exist as a C++ for dummies style language.
    2. M$ doesn't like technologies that it doesn't make. This makes it look like it isn't the constant innovator.
    3. Java was made by a company that is in direct competition with M$

    --
    ---Got Coffee?---
  207. BePerl has native GUI support? by agtofchaos · · Score: 1

    Did not know this. I might try to get it to work again on my BeOS partition. BeOS r4 is a sweet little OS that beats Linux, Windows and MacOS in the home market. Don't get me wrong though, even though I am a newbie, I really like linux. However if I had to choose between giving a newbie Linux or BeOS, I would give them BeOS since it is so easy to use, configure and fix problems. Who needs a station wagon or a sports car when you have a tank and a flying bat mobile?

    --
    ---Got Coffee?---
  208. Re:Linux is basically in a state of beta by TummyX · · Score: 1

    in one way or another :P