Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Re: Re: Perl's warts

by merlyn (Sage)
on Mar 21, 2001 at 19:51 UTC ( [id://66045]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Perl's warts
in thread Perl's warts

This statement reflects something I've said many many times before and I'll say yet again, Perl needs to be more OS agnostic. The fact that it's severly Unix biased is not A Good Thing(TM). Perl has so much to offer for developers of all platforms (and speaking from my perspective, most certainly Win32 and Unix), but there's noone that can convince me that it really "feels" like a Win32 language in any way as much as it does a Unix one. (I happen to use both OS's).
And I'll disagree with that. Perl's target market is Unix hackers. It's a toolbox for Unix. The fact that it also tries to be cross-platform is secondary in goal. I would not want any decisions made to increase portability at the expense of how well it hacks on Unix any more than I'd want Perl to be easier for beginners at the expense of experts.

Certainly, if you can add or modify a feature to make it more portable without damaging the Unix interface, I'm for that.

But let's take a common complaint: the unlink operator. Everyone not familiar with hacking C on Unix wants to rename that to something like the delete operator. No. I say no. The prime market for Perl is still the Unix hackers who are moving cross-languages, not "scripting hackers" (whatever that is) moving cross-platforms. The word unlink has a very specific meaning to Unix hackers, and helps us get the job done faster.

Perl fills the niche as well as it does because it did stay focussed on what was important for Unix hackers.

If you want vendor-neutral, equally inefficient code on all platforms, you know where to find Java.

-- Randal L. Schwartz, Perl hacker

Replies are listed 'Best First'.
Re: Re: Re: Re: Perl's warts
by sierrathedog04 (Hermit) on Mar 24, 2001 at 01:45 UTC
    If you want vendor-neutral, equally inefficient code on all platforms, you know where to find Java.
    Let's not inadvertently sell Perl short. Perl is an example of a vendor neutral language, and ActiveState's port of the language to Windows seems full-featured to me.

    On the other hand, Java can't be vendor-neutral, because it is owned by Sun Microsystems and Sun is one of the largest hardware/software vendors in the world. Even if Sun were to say that it does not use its ownership of Java to promote their own products I would not believe them.

      You are absolutely right that Sun uses its ownership of Java to promote its own products. Let me just give 3 examples.

      Java is designed so that you are forced to use threading everywhere. At the time it was written, exactly one flavour of Unix was designed to work well with heavy multi-threading, and that was Solaris. Competitors such as HP-UX used kernel threads and if you tried to open too many the box would slow to a crawl.

      Sun has a long history of using its ability to control of Java certification as a bargaining chip in negotiations with vendors.

      To get around the performance problems of Java, Sun has defined various extensions with efficient platform-specific external implementations. This includes things like vector math packages. In case the optimized implementation is not available for your platform, there is a fallback native Java implementation of the API which is much, much slower. Solaris has fast implementations of all of these standards. But other platforms, like Linux, have had trouble getting supprot even when companies existed that were ready, willing and able to pay necessary license fees and develop the package.

      The result is that Java applications developed on Solaris that run fine on Windows will crawl to a halt on Linux.

      Yes, Java may be write once, run everywhere. But not all platforms you run on are created equals...

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://66045]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2024-04-20 00:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found