You want to do a quick and dirty script to solve some small problem, perl will do, but then revisit the same script some time later and I am telling you, you will not know what you were thinking or why did you use a certain perl idiom that may have seen brilliant while coding in a hurry.
Funny, I don't have that problem. Then again, I factor my code into manageable parts, use good identifier names, use well-tested code whenever possible, and code for maintainability, just as I would when using any other language.
Of course if you write bad code it'll be difficult to maintain! That's what happens when you write bad code.
Under the GPL, they are only required to provide source if you pay for the binary.
It's actually if they distribute the binary to you. They can charge or not. The GPL only governs redistribution of copyrighted works. It's up to you how you redistribute a work.
I use vertical whitespace to delineate more than just blocks. Unfortunately, Python offers no visual way to distinguish between my various uses of vertical whitespace.
Hint: you have to cast everything to the "scalar" datatype before you can pass it in or out of a function.
Perl's dereferencing syntax can be grotty, but that's no reason for you to spread misinformation. If you're going to criticize it, stick to things that are actually true. (I recommend something like "Perl 5's requirement for taking explicit references to aggregates confuses/frustrates me.")
All you'll end up storing is an index into a non-persistent table, unless yet-another-glue-module is written to provide for the serialization of such objects.
It's even easier as that. All you need is to add freeze() and thaw() methods, and you can get those almost for free from Class::Std.
CPAN isn't Perl's standard library. You might as well complain that any other language allows different people to solve the same problems in different ways.
If the language permits you to do something in 26 different ways, you'll use 4 in the first version of your script, 7 in the second, 11 in the third, and you'd better be prepared to understand all the 25 different ways to do it all do the same thing, when debugging the 13th version of your script a year later.
May I respectfully suggest that you avoid the breakfast cereal aisle of American supermarkets? I fear you might either starve or eat yourself to death with all those choices.
Languages that enforce legibility (Python is great for that) lead to lower maintenance costs in the long run.
Oh, does pychecker run by default on all Python programs now? Does it enforce variable declarations and warn on potential shadowings? Does it force the use of good identifier names?
No?
Hm. Pity. Those are much bigger parts of maintainable coding than the lack of sigils or enforced horizontal whitespace.
You could adopt the practice of doing a lock_keys on the hashref at the end of the object/creation initialization stage, and then if anyone accidentally tries to create a new hash field later, it will throw an error. A simple, effective trick, and I wish it were better publicized...
Because Perl is a general purpose programming language, it can do a lot more than sed or awk. Learning all three is useful if you do a lot of Unix administration or command-line work, but you can get by with Perl alone if you only learn one.
... apparently Perl is better for smaller/one line regexp manipulation in scripts, and python for building large applications.
It depends on the application. I appreciate perl2exe (though I've heard good things about PAR and wxPython has better documentation than wxPerl, but Perl also has the CPAN. I've had no small success building large applications in Perl.
12 years old (December 21st, 1995) but who's counting a few years.
Matz, I suspect, who started in February 1993, if I recall correctly.
It was basically unknown in the west until Dave Thomas and Andy Hunt wrote the first book in English in 2000. At that time, the language started to take off, and only in the last few years has development really ramped up. So technically it is 12 years old, but in reality it is a very new language.
Immature, maybe, but it's about the same age as Java.
I think this is just because of the age of the language, as the same was true for Perl and others when they were young.
Ruby's almost 14 years old! By 2001, Perl had fantastic Windows support.
Now people may deploy Ruby or Perl or Python or PHP applications to Unix and Unix-like servers, but I know plenty of people who develop on Windows. Some of them even have a choice.
Some people want Linux to be a vehicle for their political and world views...
We call those people the developers of Linux and much of the code found in a GNU/Linux system. You can tell because of the licenses they've chosen under which to distribute their code.
Unlike with proprietary software, you are free to use the software without agreeing with the philosophical view of its developers. However, you may wish to review their philosophies before telling developers what they should and shouldn't do.
If the defenders of the poor could get their collective heads out of the beggar's bins perhaps they would recognise that that which benefits the rich might also benefit the poor in the longer term.
Or that the poor have very little money to "steal", which is why they're poor.
Unless selling out = working with microsoft to provide non-GPL proprietory tools which allow better linux/windows interoperability...
Microsoft has access to its own source code, as well as all of the free and open source code in the world. If Microsoft wanted to interoperate, it could.
Beyond Good and Evil, for example?
Everyone knows Haskell is the best language for writing a Fibonnaci generator.
If I owned a store, it wouldn't carry certain items that are legal to sell in my jurisdiction. Is that censorship or a matter of principle?
Funny, I don't have that problem. Then again, I factor my code into manageable parts, use good identifier names, use well-tested code whenever possible, and code for maintainability, just as I would when using any other language.
Of course if you write bad code it'll be difficult to maintain! That's what happens when you write bad code.
It's actually if they distribute the binary to you. They can charge or not. The GPL only governs redistribution of copyrighted works. It's up to you how you redistribute a work.
I use vertical whitespace to delineate more than just blocks. Unfortunately, Python offers no visual way to distinguish between my various uses of vertical whitespace.
Of course. It's self-discipline that's important. I don't know how any language can enforce that, though.
Perl's dereferencing syntax can be grotty, but that's no reason for you to spread misinformation. If you're going to criticize it, stick to things that are actually true. (I recommend something like "Perl 5's requirement for taking explicit references to aggregates confuses/frustrates me.")
It's even easier as that. All you need is to add freeze() and thaw() methods, and you can get those almost for free from Class::Std.
CPAN isn't Perl's standard library. You might as well complain that any other language allows different people to solve the same problems in different ways.
May I respectfully suggest that you avoid the breakfast cereal aisle of American supermarkets? I fear you might either starve or eat yourself to death with all those choices.
Oh, does pychecker run by default on all Python programs now? Does it enforce variable declarations and warn on potential shadowings? Does it force the use of good identifier names?
No?
Hm. Pity. Those are much bigger parts of maintainable coding than the lack of sigils or enforced horizontal whitespace.
Hey, that's Perl Hack #87!
Actually, pseudohashes made everything slower, so they've been long deprecated and won't be in Perl 5.10.
Because Perl is a general purpose programming language, it can do a lot more than sed or awk. Learning all three is useful if you do a lot of Unix administration or command-line work, but you can get by with Perl alone if you only learn one.
It depends on the application. I appreciate perl2exe (though I've heard good things about PAR and wxPython has better documentation than wxPerl, but Perl also has the CPAN. I've had no small success building large applications in Perl.
Matz, I suspect, who started in February 1993, if I recall correctly.
Immature, maybe, but it's about the same age as Java.
Ruby's almost 14 years old! By 2001, Perl had fantastic Windows support.
Now people may deploy Ruby or Perl or Python or PHP applications to Unix and Unix-like servers, but I know plenty of people who develop on Windows. Some of them even have a choice.
Note that Parrot has had little optimization too.
I know! I merely have to look at the logs of my own OpenID server to see a list of sites I've visited! That's... horrible?
We call those people the developers of Linux and much of the code found in a GNU/Linux system. You can tell because of the licenses they've chosen under which to distribute their code.
Unlike with proprietary software, you are free to use the software without agreeing with the philosophical view of its developers. However, you may wish to review their philosophies before telling developers what they should and shouldn't do.
Or that the poor have very little money to "steal", which is why they're poor.
Is this a criminal trial?
Microsoft has access to its own source code, as well as all of the free and open source code in the world. If Microsoft wanted to interoperate, it could.
You said:
Still not sure that context matters?
Finally, a presidential candidate I can support!