[31136] in Perl-Users-Digest

home help back first fref pref prev next nref lref last post

Perl-Users Digest, Issue: 2381 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Thu Apr 30 11:09:43 2009

Date: Thu, 30 Apr 2009 08:09:09 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Thu, 30 Apr 2009     Volume: 11 Number: 2381

Today's topics:
        Archive::Tar && File::Find bernd.fischer-krellenberg@web.de
    Re: Archive::Tar && File::Find <1usa@llenroc.ude.invalid>
    Re: Is there a better way to convert foreign characters <hjp-usenet2@hjp.at>
    Re: Perl command call check <n@solenttechnology.co.uk>
    Re: Perl command call check <n@solenttechnology.co.uk>
    Re: Perl command call check (Tim McDaniel)
    Re: Perl is too slow - A statement <bart.lateur@pandora.be>
    Re: Perl is too slow - A statement <uri@stemsystems.com>
    Re: Perl is too slow - A statement <bugbear@trim_papermule.co.uk_trim>
    Re: Perl is too slow - A statement <rvtol+usenet@xs4all.nl>
    Re: Perl is too slow - A statement <grahn+nntp@snipabacken.se>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

----------------------------------------------------------------------

Date: Thu, 30 Apr 2009 07:08:20 -0700 (PDT)
From: bernd.fischer-krellenberg@web.de
Subject: Archive::Tar && File::Find
Message-Id: <41178fc0-05c7-402e-99a8-147586acbada@t36g2000prt.googlegroups.com>

I have an issue with File::Find and Archive::Tar
while trying to create a recursive tar file over
a list of files and directories.
Any time when find returns a directory without file
 aDir/bDir
it has a problem to add this or to write into the tar
archive

Use of uninitialized value in pack at
 /usr/lib/perl5/vendor_perl/5.8.5/Archive/Tar.pm line 1084.


#!/usr/bin/perl -w

use strict;
use File::Find;
use Archive::Tar;

my(
    @sources,
    $source,
    $tar,
    @files
    );

@sources = ( "aFile", "aDir", "bFile", "cFile", "bDir" )

$tar = Archive::Tar->new( );

foreach $source ( @sources ) {
    if( -d $source || -f $source ) {
        find( sub { push @files, $File::Find::name }, $source );
    }
}

$tar->Archive::Tar->create_archive( 'foo.tar', 1, @files );
$tar->add_files( @files ) or die "$!\n";
$tar->write( 'foo.tar' ) or die "$!\n";


Getting problems with this when find comes to a pure directory

aFile
aDir <- problem
aDir/aFile <- no problem
aDir/bDir <- problem
aDir/bDir/cFile <- no problem


Thanks for your inputs?


------------------------------

Date: Thu, 30 Apr 2009 15:02:31 GMT
From: "A. Sinan Unur" <1usa@llenroc.ude.invalid>
Subject: Re: Archive::Tar && File::Find
Message-Id: <Xns9BFD704CA8155asu1cornelledu@127.0.0.1>

bernd.fischer-krellenberg@web.de wrote in news:41178fc0-05c7-402e-99a8-
147586acbada@t36g2000prt.googlegroups.com:

> I have an issue with File::Find and Archive::Tar
> while trying to create a recursive tar file over
> a list of files and directories.
> Any time when find returns a directory without file
>  aDir/bDir
> it has a problem to add this or to write into the tar
> archive
> 
> Use of uninitialized value in pack at
>  /usr/lib/perl5/vendor_perl/5.8.5/Archive/Tar.pm line 1084.
> #!/usr/bin/perl -w
> 
> use strict;
> use File::Find;
> use Archive::Tar;
> 
> my(
>     @sources,
>     $source,
>     $tar,
>     @files
>     );

No reason to declare a bunch of variables like this.

> @sources = ( "aFile", "aDir", "bFile", "cFile", "bDir" )

Please post code that actually compiles and runs.

Also:

my @sources = qw( aFile aDir bFile cFile bDir );

is easier to read.

> $tar = Archive::Tar->new( );
> 
> foreach $source ( @sources ) {
>     if( -d $source || -f $source ) {

This is weird. @source contains files without path information. So, any 
files that are not just in the current working directory will not pass 
this test.

>         find( sub { push @files, $File::Find::name }, $source );

Wouldn't it be better to use a single wanted subroutine that adds files 
based on a criterion? With this, you call find on aDir and then bDir 
when bDir (according to the structure you gave below) is a subdirectory 
of aDir and would have been found using the find call on aDir.

> $tar->Archive::Tar->create_archive( 'foo.tar', 1, @files );
> $tar->add_files( @files ) or die "$!\n";
> $tar->write( 'foo.tar' ) or die "$!\n";

Have you read the documentation? I had not until now and according to 
how I read it the create_archive call is not necessary. Also, 
Archive::Tar seems to return error strings in $tar->error rather than 
$!.

> aFile
> aDir <- problem
> aDir/aFile <- no problem
> aDir/bDir <- problem
> aDir/bDir/cFile <- no problem
> 
> Thanks for your inputs?

Why the question mark? Aren't you sure you want to thank us for our 
input?

Here is a revised version of your script:

C:\Temp\test> cat t.pl
#!/usr/bin/perl

use strict;
use warnings;

use File::Basename;
use File::Find;
use Archive::Tar;

my %sources = map { $_ => 1 } qw( aFile aDir bFile cFile bDir );

my $tar = Archive::Tar->new;

find( {wanted => \&wanted, no_chdir => 1 }, '.' );

$tar->write( 'foo.tar' ) or die $tar->error;

sub wanted {
    -f or -d _ or return;

    exists $sources{ fileparse $_ } or return;
    warn "$_\n";

    $tar->add_files( $_ ) or die $tar->error;
    return;
}

__END__

C:\Temp\test> t
 ./aDir
 ./aDir/aFile
 ./aDir/bFile
 ./aDir/bDir
 ./aDir/bDir/cFile

C:\Temp\test> tar -tf foo.tar
tar: Record size = 7 blocks
 ./aDir
aDir/aFile
aDir/bFile
aDir/bDir
aDir/bDir/cFile

-- 
A. Sinan Unur <1usa@llenroc.ude.invalid>
(remove .invalid and reverse each component for email address)

comp.lang.perl.misc guidelines on the WWW:
http://www.rehabitation.com/clpmisc/


------------------------------

Date: Thu, 30 Apr 2009 10:21:56 +0200
From: "Peter J. Holzer" <hjp-usenet2@hjp.at>
Subject: Re: Is there a better way to convert foreign characters?
Message-Id: <slrngvint4.q5v.hjp-usenet2@hrunkner.hjp.at>

On 2009-04-29 18:28, Gunnar Hjalmarsson <noreply@gunnar.cc> wrote:
> Peter J. Holzer wrote:
>> For me the rule of thumb is 
[decode early, encode late]
>
> I suppose, though, that your rule of thumb is only applicable as long as 
> you don't want backwards compatibility with pre 5.8 perl versions.
>

Yes. Fortunately, that's not a problem for me.

	hp


------------------------------

Date: Thu, 30 Apr 2009 01:10:44 -0700 (PDT)
From: neilsolent <n@solenttechnology.co.uk>
Subject: Re: Perl command call check
Message-Id: <736ee995-e210-4d55-b1b9-14bb74bf5b41@u39g2000pru.googlegroups.com>

On 30 Apr, 00:45, Tad J McClellan <ta...@seesig.invalid> wrote:
> neilsolent <n...@solenttechnology.co.uk> wrote:
> > Before calling a command with system() or with backticks, is there a
> > neat way to check that the executable exists in the path (i.e. like
> > the UNIX "which" command) ?
>
> It is a Really Good Idea to use a full pathspec for external
> commands rather than relying on PATH.
>

Thanks for you post.
I disagree - at least this depends on the context.
If I fix paths to executables - I seriously reduce the portability.
If I end up calling a bad version of a command - then the system was
in a bad state to start with!
I think it is a fair enough assumption that the PATH is setup
correctly and won't cause bad things to happen. If not - much more is
likely to break than just this script.






------------------------------

Date: Thu, 30 Apr 2009 01:12:38 -0700 (PDT)
From: neilsolent <n@solenttechnology.co.uk>
Subject: Re: Perl command call check
Message-Id: <e3c7f84e-b07a-4505-96f9-3208ca38fda5@u39g2000pru.googlegroups.com>

> > Before calling a command with system() or with backticks, is there a
> > neat way to check that the executable exists in the path (i.e. like
> > the UNIX "which" command) ?
>
> File::Which. Note that this won't find shell builtins, even though you
> can invoke them with system.
>
> It is worth mentioning that there is a race condition between this check
> and the actual invocation, and that trying something and letting it fail
> is usually a better strategy than trying to second-guess the answer;
> however, I'm pretty sure that all implementations of system that search
> the PATH have the same race condition internally, so it doesn't matter
> much in this case.
>

Thanks for that.
Hmm race condition - don't like the sound of that! I think you are
right - I will just submit the commands and work out what happened
after.



------------------------------

Date: Thu, 30 Apr 2009 15:02:38 +0000 (UTC)
From: tmcd@panix.com (Tim McDaniel)
Subject: Re: Perl command call check
Message-Id: <gtceie$saf$1@reader1.panix.com>

In article <slrngvhpl4.oda.tadmc@tadmc30.sbcglobal.net>,
Tad J McClellan  <tadmc@seesig.invalid> wrote:
>neilsolent <n@solenttechnology.co.uk> wrote:
>> Before calling a command with system() or with backticks, is there
>> a neat way to check that the executable exists in the path
>> (i.e. like the UNIX "which" command) ?
>
>It is a Really Good Idea to use a full pathspec for external
>commands rather than relying on PATH.
>
>If PATH=/opt/badbin:/bin and there is an "ls" in badbin/ then
>    system 'ls *' 
>will run badbin/ls whereas 
>    system '/bin/ls *' 
>will run /bin/ls.

As another reply said, hard-coding paths is also a bad idea.  On one
system I use, perl is in /usr/bin.  On another, it is in /bin and
/usr/bin.  On another, it is in /usr/local/bin -- and that's the one
system I have no control over, so I can't symlink on it.  And I copy
my utility scripts to all systems that I use.

If someone sets up a path with their own version of a command that's
usually gotten from the system,

- there's often a good reason.  I've written wrappers and put them in
  ~/bin to paper over differences in locations as above.  I use my own
  version of hostname that compensates somewhat for different syntaxes
  and behaviors on different OSes.

- if their own version makes another program misbehave, it's their own
  damned fault and they got what they deserved.

-- 
Tim McDaniel, tmcd@panix.com


------------------------------

Date: Thu, 30 Apr 2009 09:39:07 +0200
From: Bart Lateur <bart.lateur@pandora.be>
Subject: Re: Perl is too slow - A statement
Message-Id: <paliv4d4a6evrcdugsbo7dd62gpl2eb31n@4ax.com>

Charlton Wilbur wrote:

>You go to your manager, and say, "We could develop this new project in
>C, which will take a team of six programmers six months, and we predict
>that it will require one server at a cost of $2000 to run.  Or we could
>develop it in perl, which will take a team of six programmers five
>months, but we predict that one server will not be sufficient at peak
>load, so we recommend two servers at $2000 each."

That's not very realistic. If it requires 6 programmers for the C
solution, 1 or 2 Perl developers should suffice.

-- 
	Bart.


------------------------------

Date: Thu, 30 Apr 2009 04:06:19 -0400
From: Uri Guttman <uri@stemsystems.com>
Subject: Re: Perl is too slow - A statement
Message-Id: <87k552lg5g.fsf@quad.sysarch.com>

>>>>> "NK" == Nathan Keel <nat.k@gm.ml> writes:

  NK> Uri Guttman wrote:
  >>>>>>> "NK" == Nathan Keel <nat.k@gm.ml> writes:
  >> 
  NK> Uri Guttman wrote:
  >> 
  >> >> study some computer history and come back when you have finished.
  >> 
  NK> Please don't resort to acting like your view is fact and anyone
  >> that
  NK> doesn't agree with you is somehow ignorant.  I "get" what you've
  >> said, NK> I just don't agree with it.
  >> 
  >> then you don't get it. cwilbur also covered this. sorry but no more
  >> lessons for you.

  NK> Your pitiful arrogance is incredibly unappealing.  I get it fine, you're
  NK> just acting like you know it all, because you can't handle someone
  NK> disagreeing with you.

my arrogance isn't pitiful!! your ignorance is remarkable. and you don't
get that you are being trolled as well as snickered at. my wife
disagrees with me all the time and i do fine with her.

  >> you still don't get it. sorry.

  NK> Don't apologize because you feel the need to accuse people of not
  NK> getting it because you can't handle someone disagreeing with you.

that sorry is in sympathy, not apology. learn some semantics and sarcasm
please.

  >> and yes, i have also done those types of programs in c including a
  >> major web crawler for northern light. so i know of something about
  >> development time vs cpu power. can you make the same claim? me thinks
  >> not.

  NK> When you use snobby and childish phrases like "me thinks not", you
  NK> might understand why it's difficult putting much faith in anything
  NK> you say.  I've done plenty of interesting and large scale projects
  NK> over the years.  I don't care what you've done, you're either
  NK> right or wrong about your views, or there's only room for opinion
  NK> if there's no actual right or wrong.  In this case, I believe you
  NK> are wrong.  You believe I'm wrong.  This is going to get us
  NK> somewhere by repeating what we think of each other?  By the way, I
  NK> think your "shift" key is broken.

ME THINKS THOU DOTH NOT GET THE JOKE IS ON YOU. emacs upcase-word to the
rescue!


  NK> I actually do, I just don't agree with your arrogant attitude.
  >> 
  >> no you are ignorant, vs my experience. NYAH NYAH NYAH!

  NK> Hey, that's you doing that, not me.  You have no idea what I've done,
  NK> and you base your attempts at insult on the fact that you don't like my
  NK> disagreement with you.  Instead of reading what I said, you'd rather
  NK> try and rail on me about things by saying how much more experienced you
  NK> are.  The only thing you've actually illustrated, is that you're at the
  NK> very least not socially mature and you're arrogant.  That doesn't mean
  NK> a flippin' thing to me.

nah, i base my insult on how you don't see the big vs little issue
here. and you haven't shown any real world experience in either scaling
nor fast code. put up or shut up as they say. but i am having fun with
you. please keep it up.

  >> now i will predict you will call me some more names. please do as it
  >> will validate my ESP powers.

  NK> Your ESP powers suck, I never called you a name.  So, you're
  NK> resorting to claiming knowing someone's knowledge, experience and
  NK> what they've said to try and save face?  What's the purpose?  You
  NK> think you own this damn group and you feel some need to throw a
  NK> tantrum, or are you foolish enough to think that my interpretation
  NK> that you're arrogant and ignorant (too stubborn to accept anything
  NK> anyone says because you would rather fight with them to tell them
  NK> how smart you think you are), is somehow name calling... and if
  NK> so, if you somehow think it's okay for you to call other people
  NK> clueless and ignorant?

wow, my ESP worked! you fell for my trap and replied with more silliness
and weak insults. in fact this trap always works like peanut butter in a
mousetrap.

  >> check out my cpan modules.

  NK> I've seen them.

  >> try to make them faster. please do and send 
  >> me patches.

  NK> I've not ever claimed I would or could make your modules
  NK> faster. Maybe I can, and maybe I can't.  My point was about how
  NK> some compiled languages compared to some interpreted languages,
  NK> are going to be faster running and more efficient.  Assuming both
  NK> examples are done by qualified developers.  You claim that based
  NK> on that information that it's more appropriate to just use an
  NK> interpreted language and get a faster system to run it on (if
  NK> there's a problem with the program's speed), rather than having
  NK> someone develop the program in a compiled language like C.  That's
  NK> ridiculous.  I agreed that in a lot of cases, that might be fine,
  NK> there's nothing wrong with Perl, for example.

you still don't get the cost difference. i have done large projects in c
and perl. i don't do c anymore. but you won't understand why since you
haven't done such things. most of my time in c was wasted doing mundane
and boring and nitpicky shit that perl does for me. but i won't go
further in explaining this to you. i might as well convince guido to use
perl.

  NK> You can keep stuffing bigger engines in there, until you run out of
  NK> engine compartment room and then start looking at bigger trucks, but if
  NK> it's going to actually be cheaper (yes, it's true) to start producing
  NK> the more efficient (by size and weight) product in the same or less
  NK> time, I'd go for the latter.  Maybe it's my "inexperienced" and
  NK> "younger" attitude, but it makes sense to me.  I repeat, it's not that
  NK> simple for every situation, so don't start making broad statements and
  NK> acting like that blanket statement is somehow a "fact" or that people
  NK> whom state that "this isn't always the case" and that "other variables
  NK> play a role" in those decisions, are somehow the "ignorant" one's that
  NK> "don't get it", because, honest to God, no matter how much you go on
  NK> about your experience, your modules or what you've done, it makes you
  NK> look like an arrogant asshole that's too stubborn to accept another
  NK> view point, which in the end makes you look stupid.  Instead of being
  NK> civil and asking me to elaborate or provide an example, or you actually
  NK> bothering to do the same, you resort to touting yourself.  Well, you
  NK> don't impress me.

i don't want to impress you. i want to troll you. and i am being
explicit. and if you reply again, you will be falling into the trap
again. you don't have a leg to stand on here. you don't know enough
about cpu vs developer costs nor scaling nor program speed. it is called
systems architecture (which happens to be the name of my corp, sysarch!
:). 

  >> i will use them (if you can but you can't) and even give 
  >> you all the credit.

  NK> I don't give a damn about you or your challenges.  I know you like
  NK> to think you're a big shot, as evidenced by your attitude in this
  NK> group over years.  I look past it, because you offer insightful
  NK> and good code fixes for people or ideas, but that doesn't make you
  NK> the smartest and most experienced person here about any and every
  NK> topic, and this one here is proof of that.  Instead of listening
  NK> to what I said, you revert to what you've just done.  I don't
  NK> think you're an idiot, but if you can't understand what I've said,
  NK> ask for clarification and don't be so hostile, or maybe consider a
  NK> different aspect and view of the topic's subject, or maybe
  NK> reconsider just how smart you think you are?  Maybe for kicks I'll
  NK> check out your modules and maybe I'll make improvement
  NK> suggestions, and maybe I won't find any or think it's the best
  NK> code I've ever seen, but that still doesn't mean jack regarding
  NK> the topic at hand.

i am not a big shot. i am just a very skilled and confident software
engineer with many successful projects in a wide range of areas. this
gives me the real world experience to talk about subjects such as cpu vs
developer costs. simple as that. 

  >> boo hoo. you seem to be fighting for no reason.

  NK> You need to get a grip and grow up.  Also, try looking in a mirror. 
  NK> There's no reason to be such a jerk because someone made a point you
  NK> don't agree with.  This is ridiculous.

no, you are ridiculous. you have been trolled over and over. i can argue
your side better than you can. lawyers do that all the time. the point
is i choose which side i want to be on and play with you like a kitten
and a string. meow!!

  NK> What sort of jerk would just continue to claim someone doesn't "get it"
  NK> and not bother making their point?  All you're doing is fighting with
  NK> me, which is ironic that you accuse me of just doing only that.  You
  NK> really think you're someone special.

because you keep arguing for no reason. you won't win, no one else is
defending your weak point and you don't have the experience to defend it
yourself. 

  >> MMM to the rescue. please read it. i think they have a version written
  >> in 4th grade level english for you.

  NK> And, by the way, I've read plenty of MMM, I've even got the book
  NK> and everything.  I have about 200 books that get into complex
  NK> things, I've read them and understand them.  I've applied and used

cat in the hat books don't count!

  NK> the information and am able to formulate new ideas and theories
  NK> and test them and create and do.  Yet, somehow your opinion isn't
  NK> something I agree with, so that makes me clueless to the point
  NK> where you feel it's an appropriate reaction to reply to me with
  NK> insults and accusations about my experience and knowledge, yet you
  NK> know nothing about me.  The only thing this really tells me, is

you are what you post here.

  NK> Some are more careless and foolish than others (duh)

speak for yourself!

  >> well, then you get to manage a group of perfect coders who all do what
  >> you want to do in zero time (just like Quantum::Superpostions! :).

  NK> All sarcasm aside (can you manage to do that?) one needn't be a
  NK> perfect coder, just qualified and good.  A bad coder or one that's
  NK> considered closer or further to or from being "perfect" doesn't
  NK> matter what language it is.  The point was, your argument that
  NK> someone it would increase development time so severely by not just
  NK> "getting a faster system to solve the problem", was why it's a
  NK> "good rule of thumb".  Untrue.  So, do you make these decisions
  NK> based on your lack of experience and skills in another language,
  NK> or because you can't chose actual qualified programmers, or out of
  NK> desperation, or just because that's the gap that closes you and
  NK> your code?

you still don't get it. cost is the issue. pure and simple. you can
budget for more cpu better than you can budget for more and better
coders.

  NK> Apparently, if I say a good C coder with modules, libraries, code
  NK> and function templates (which any good C coder would have) can
  NK> develop just as efficiently as someone in Perl, you read that as
  NK> "they do what you want in zero time". Apparently, you're so
  NK> arrogant that you can't accept that some people have different
  NK> experiences and opinions, else NOW they also live in a fantasy
  NK> world or lack "real world experience".  You're really something.
  NK> Think you might be going a little too far in your ranting there?

i see london, i see france, i see you in your under-rants!

  >> as for my business it is recruiting and placing perl developers.

  NK> And now I feel sorry for a group of people I've never met.

too bad. some of the best perl hackers in the world have used me for an
agent. like i said, you won't be one of them.

  NK> And you get the impression I'd WANT to send you my resume or work with
  NK> or for someone like YOU in ANY capacity?  Don't flatter yourself. 
  NK> You're not keeping me from any work.  You give yourself far too much
  NK> credit and influence points.

i never said i had influence to stop you from working. i wouldn't even
do that if i could. i just wouldn't represent someone with such a narrow
view of things, who can't properly argue a point, who can't see the
forest for the trees, who can't be flexible in thought.

  >> claiming you know all this but not understanding it is not a 
  >> skill i would promote to my clients.

  NK> I honest to God think you're clueless about this subject, or
  NK> you're just such an arrogant jerk that this is just standard
  NK> operating procedure for you.

you keep saying arrogant jerk. i don't think you know what that
means. INCONCEIVABLE!

  >> have the appropriate amount of fun!

  NK> Don't worry, I know nothing I said will get through that thick layer of
  NK> smugness.  Not that I usually care, it's not abnormal to see on usenet,
  NK> but you've not earned nor deserve getting away with it.  You're just an
  NK> impossible jerk, but I know you won't let anything I say change your
  NK> mind or attitude.  Feel free to claim I suffer from whatever other lack
  NK> of skills or experience you need to, to make you feel better and more
  NK> important about yourself, but you've not really come out on top of
  NK> anything.  In the future, try and understand why someone's not going to
  NK> put up with your smugness and arrogance and don't hold it against them,
  NK> especially when you're wrong.

my smugness is a thin layer. on the other hand, your rectum is occupied
by your cranium! get a cerebral enema soon! ta ta!

uri

-- 
Uri Guttman  ------  uri@stemsystems.com  --------  http://www.sysarch.com --
-----  Perl Code Review , Architecture, Development, Training, Support ------
--------- Free Perl Training --- http://perlhunter.com/college.html ---------
---------  Gourmet Hot Cocoa Mix  ----  http://bestfriendscocoa.com ---------


------------------------------

Date: Thu, 30 Apr 2009 09:45:08 +0100
From: bugbear <bugbear@trim_papermule.co.uk_trim>
Subject: Re: Perl is too slow - A statement
Message-Id: <2fidnTa1otiJ-GTUnZ2dnUVZ8jVi4p2d@posted.plusnet>

sln@netherlands.com wrote:
> Perl is not used in comercial applications. 

Excuse me?

   BugBear (using perl in commercial applications)


------------------------------

Date: Thu, 30 Apr 2009 10:52:00 +0200
From: "Dr.Ruud" <rvtol+usenet@xs4all.nl>
Subject: Re: Perl is too slow - A statement
Message-Id: <49f966b0$0$187$e4fe514c@news.xs4all.nl>

bugbear wrote:
> sln@netherlands.com wrote:

>> Perl is not used in comercial applications. 
> 
> Excuse me?

Can't you just ignore it? Oh wait, I can ignore you.

-- 
Ruud


------------------------------

Date: 30 Apr 2009 13:38:08 GMT
From: Jorgen Grahn <grahn+nntp@snipabacken.se>
Subject: Re: Perl is too slow - A statement
Message-Id: <slrngvja8l.2c4.grahn+nntp@frailea.sa.invalid>

On Wed, 29 Apr 2009 13:51:50 -0700, sln@netherlands.com <sln@netherlands.com> wrote:
 ...
> That is total bullshit. Nobody uses C in large comercial applications.
> C alone is not even used for development anymore. Legacy C library's stay intact,
> and can be called from C++, but nobody uses C for new development, not even for
> embedded/real-time stuff.

C is the only language I've encountered in embedded/real-time
applications. OK, also a tiny amount of poorly-written C++. I think
they'd be better off with C++, but more people need to learn it first.

I also note that the Linux system I write this on is almost
exclusively written in C.

> Perl is not used in comercial applications. Its uses are in a small niche and are
> not sold because of its extreme limitations in speed, functionality and incomprehensible
> syntax.

Depends on your point of view, I suppose. We use Perl at work when we
need to parse huge (gigabytes) text files. I doubt that I could do
that faster in any other language or with more readable code. And I
have both C++ and Python in my toolbox.

> You talk about development time and how expensive it is. You talk about buying more
> cpu's. Thats absolute insanity. Your actually talking, in a 'macro' sense, what,
> 'distributed processing'? Sort of like, what, 'pipelining' macro code?

The Chewbacca defense?

/Jorgen

-- 
  // Jorgen Grahn <grahn@        Ph'nglui mglw'nafh Cthulhu
\X/     snipabacken.se>          R'lyeh wgah'nagl fhtagn!


------------------------------

Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>


Administrivia:

#The Perl-Users Digest is a retransmission of the USENET newsgroup
#comp.lang.perl.misc.  For subscription or unsubscription requests, send
#the single line:
#
#	subscribe perl-users
#or:
#	unsubscribe perl-users
#
#to almanac@ruby.oce.orst.edu.  

NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice. 

To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.

#To request back copies (available for a week or so), send your request
#to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
#where x is the volume number and y is the issue number.

#For other requests pertaining to the digest, send mail to
#perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
#sending perl questions to the -request address, I don't have time to
#answer them even if I did know the answer.


------------------------------
End of Perl-Users Digest V11 Issue 2381
***************************************


home help back first fref pref prev next nref lref last post