Superior and beutiful. I would like to hear from you reasons for disliking perl and code examples that illustrate the reasons thanks.
Name:
Anonymous2006-09-19 21:57
>>1
As a language, I like Perl very much, and use it every day. And yet it's not difficult to find snippets that make you wan't to go Hanamizawa-style on the retards who wrote them. The problem with Perl is not so much the language as the people who think they're cool just because they can write illegible code.
Perl is a fine language, once you understand its quirks. Readability isn't a problem if you aren't a complete dolt while writing it.
What does bother me are the troubles I've had while making ADT (things like arrays within arrays). It's much simpler in other languages.
Name:
Anonymous2006-09-20 7:53
>>1
The absolutely insane "DWIM" and "automagic" shit. No, while (<>) is not cool. No, missing parenthesis and having to guess what the fuck will it do in one or another condition is not cool. No, writing $x++ if ($x < 5); just because they botched the syntax and it won't support if ($x < 5) x++; is not cool. No, pseudo-Hungarian notation is not cool. No, backslash is a fucking ugly character and best avoided, so is -> as an operator, and don't even get me started on string comparison. No, there was no reason to change break and continue into last and next, and they sound ugly. No, $_ is not nice. No, I wanted function parameters, I don't like to have to write and maintain extra code to hack them out of a stupid list, and Python's solution is 10000x better. No, automatic global variables is not cool but the worst scope policy I've ever seen. And no, $< $| $_ $fuck don't make any sense to me. And I just mentioned the few easiest issues.
Not only you can write terrible code and Perl encourages it, but sometimes there's no other way but to write terrible code, such as functions. Everything related to functions sucks mightily.
Name:
Anonymous2006-09-20 10:28
>>5
Agreed. But as a matter of fact, Perl rocks for the simple tasks you usually choose it for and for everything else there are real programming languages. Python and Ruby are answers to questions nobody ever asked.
Name:
Anonymous2006-09-20 12:26
>>5
All your reasons except maybe function parameters are stupid and even that is not that annoying.
Automagic is very practical because it does stuff without having to specify too much what you want to do.
$@% etc is nice because you can coerce things and you know whether the type is scalar, list etc. References can be confusing especially in scripting languages. It is useful but making and referencing an array of arrays is annoying.
What exactly is wrong with string comparison?
$_ is super useful because you don't have to have a lot of annoying temporary variables.
What exactly is the problem with functions except for parameters? All a function is supposed to do is accept variables and return a value.
I use perl all the time. I think it does a good job but there are many problems.
Try putting file handles in an array and going print $a[2] "FUCK";
That doesn't work.
Bareword file handles fuck everything up. The comma operator fucks shit up and makes lots of things unclear.
Many modules use stupid IO routines and don't allow you to provide your own interfaces (think proxying).
Tonnes of gay little corner cases all over the place.
No OO or namespaced interfaces to built in functions.
Dumb shit like determining if a string is a number or not.
Name:
Anonymous2006-09-20 16:31
operator overloading. lots of it is hella gay.
Name:
Anonymous2006-09-20 17:11
(format t "Perl sucks.")
Name:
Anonymous2006-09-20 17:36
>>6
Python and Ruby are real programming languages.
>>7 All your reasons except maybe function parameters are stupid and even that is not that annoying.
I'm glad you're not my co-worker, otherwise I'd have to deal with your /(#"%)"?")=(&%()= code.
$@% etc is nice because you can coerce things and you know whether the type is scalar, list etc.
Perl automatically casts "1" into int, then you come and say you want to differentiate completely different things.
References can be confusing especially in scripting languages. It is useful but making and referencing an array of arrays is annoying.
When everything is a reference, as in Python, they are simple.
What exactly is wrong with string comparison?
eq and the other stuff. I wonder why Perl people bash PHP for === .
$_ is super useful because you don't have to have a lot of annoying temporary variables.
Oh, so you save typing 4 characters of code and punish maintenance and risk bugs.
What exactly is the problem with functions except for parameters? All a function is supposed to do is accept variables and return a value.
Parameters suck more than having a nigger rape your ass as he sings rap and steals your bike all at the same time. It's like forced Python's f(*a), with an even worse syntax and no possibility of giving it a reasonable name. After knowing Python and having the flexibility of f(a, b), f(a, *b), f(**a), f(a, b, arg=val), f(*a, **b), and so on, dealing with Perl's functions is like having my balls smashed with a door. Then you have scopes. Same shit as JavaScript, what the fuck.
>>9
Oh, and I had forgotten about file handles! What kind of shit is that!? That's the worst hack ever. Magical non-dollar variables (did we need dollars after all?) that cause all sorts of trouble.
In a good, powerful language, it shouldn't matter if you're making a list of string, int, list, handle, or grandma objects.
Adding the comma operator to Perl's insane syntax is another terrible idea.
Perl lacks a file protocol/convention as Python has and a clean, nice standard library that conforms to it.
>>10
Operator overloading is actually good, as long as you use it properly. For example, it makes sense to concatenate some kind of list with "+", but it doesn't make sense to use "+" to tell a widget to accept an event. It also allows for redefining the standard behaviour of the language and use your objects instead of core objects. It's basically polymorphism, only people is afraid of it. The only difference between a == b and a.equals(b) is that second is gay and assymetric and stupid and fugly. And you should be able to do as much of the core language as possible, and having a language where there are magical core objects with magical operators you cannot do yourself is not nice.
Name:
Anonymous2006-09-21 12:24
>>12
>Python and Ruby are real programming languages.
Keep telling that yourself.
Name:
Anonymous2006-09-21 12:47
VB.NET for the win
Name:
Anonymous2006-09-21 14:57
Real CGI programmers use assembly.
Name:
Anonymous2006-09-21 18:03
Programmers that are thinking ahead focus on Javascript and PHP.
Name:
Anonymous2006-09-21 22:51
I think by what you meant by "ahead" was without a head.
Name:
Anonymous2006-09-22 0:04
>>17
say that again in a few years when your entire operating system is merely a web browser.
Name:
Anonymous2006-09-22 0:31
>>18
Which has nothing to do with PHP as a backend, now, does it?
Name:
Anonymous2006-09-22 0:43
>>19
if you don't want it to be anything worthwhile.
Name:
Anonymous2006-09-22 5:25
>>20
If I want it to be something worthwhile, I won't be using PHP either. Get out much?
Perl is like being molested by your uncle. There's something off about him, but everyone regards him very highly, so you trust him, and then on a family camping trip out at Montauk Point he takes advantage of you. Years later, you accept and acknowledge what happened, but you still refuse to believe that he's scarred you, because that would put him in control, not you, and the last thing you want is a molester in control of your life -- but your denial doesn't make it the truth. You want to believe that deep down inside, Perl is a good person, and you see that Perl has very redeeming qualities, but you sit down to try and program Perl and all you can think of is that camel's hard, throbbing cock.
>>52 Javascript OO is utter crap.
JS OO is just prototype based, hence the features you want are unimplemented. You can implement them and get classes and all. The problem with this kind of thing is that EVERYBODY can implement them, so everybody gets a different JavaScript base to work on. Consequently, you can't read or mix everybody's code, and you have to pick on some framework or build your own before you can start doing anything with it.
Perl OO is very flexible and works well.
Can't be compared to Python's.
>>63
You've obviously never used OO Perl. It is a bolted on hack that works better is more flexible than python ever can be. There are many different ways to actually implement the objects in perl and you can easily handle Aspects if you need to.
Even better you can use actual information hiding techniques via closures to make even faster safer object implementations. Too bad python just says MAKE YOUR ATTRIBUTES HAVE MORE UNDERSCORES.
Why even use python for OO when Ruby is so much richer and better designed and perl is so much more flexible and useful.
Name:
Anonymous2006-10-27 9:17
>>64
Insert epic pub(l)ic vs. private members flamewar where I argue that you don't need to document private stuff and you don't use it, and you argue that people will still use it, then I say but we have property(), then you say you still like Perl, then I say =/(()=&/=%/&)=($&()/= is fucking ugly, then you say no it's not /()$/=()/=()/) lolol and you still have Ruby, then I say Ruby is still ugly, while Python looks pristine crystal clear (even if written __pristine__ __crystal__ __clear__), then you say lol noob get a job, then I say I got a job, go back to /b stupid /b/tard, and you say..... etc.
Name:
Anonymous2006-10-27 10:09
Ruby FTW faggots.
Name:
Anonymous2006-10-27 12:13
>>64
yeah... public variables aren't really a problem if you know how to program. You shouldn't ever be *trying* to access those variables, hence if you rename any private variables to have a single underscore in front you know when you should access them.
Python just lets you write programs far easier and faar more readable than most other languages.
Comparing its OO to ruby is a bit strange imo. ruby is 'zomg oo ftw'. Python can use it if you want. If you want to build a giant prototype app or ruby on rails shit, then yes, you should use ruby instead (I program both), but for smaller programs I've pretty much given up on perl nowadays, python is just easier.
Name:
Anonymous2006-10-27 12:22
but for smaller programs I've pretty much given up on perl nowadays, python is just easier.
O rly? I hate Python because it has the infinitely retarded thing where you can import specific functions from ``modules''. Stupid Perl legacy.
In Ruby, you simply include files.
Name:
Anonymous2006-10-27 20:19
>>69 In Ruby, you simply include files.
I don't know how they are implemented in Ruby, but I know them from PHP, and includes can turn into an include hell as well, but I'll agree that modularization has, at least, not an obvious solution and it could be rethougt.
Nevertheless, Python still has a cleaner, nicer syntax than Ruby, more general purpose libraries, and a larger userbase, and it's a better multiparadigm language where you can work procedurally, functionally or object-oriented, without making either your religion (which is bad because you should use the right tool for every job).
Name:
Anonymous2006-10-27 20:45
Python still has a cleaner, nicer syntax than Ruby
like hell
multiparadigm language where you can work procedurally, functionally or object-oriented
Unfortunately while Python supports all of these, it supports them all badly.
>>68
Actually I consider this one of the few Good Things about Python. It allows you to avoid cluttering the namespace.
Name:
Anonymous2006-10-27 20:49
>>69
| Python still has a cleaner, nicer syntax than Ruby
>>71 I don't care, I write my own code
Lol, will you ever finish anything longer than 10 kloc? Do something real for a change.
lol buzzword
What buzzword? I don't require it. I can say you can program in several different styles, or you can do all procedural, OO and functional programming in Python.
Name:
Anonymous2006-10-27 21:31
You can do the same in Ruby. What's your point?
Name:
Anonymous2006-10-27 23:06
Ruby doesn't force the OO upon you like Python does.
Name:
Anonymous2006-10-28 4:47
>>72
| Lol, will you ever finish anything longer than 10 kloc?
Do you mean at work or at home? I don't count all the C++ trash I spit at work, I prefer the adventure game I'm writing right now, but no one count lines of code anymore, it's stupid and doesn't mean anything.
| What buzzword?
Multi-paradigm is a buzzword. Python is "bad OOP" without all the features of other OOP languages. And no, Python is not a functional language, it lacks macros for example (and no, lambda is not a macro definition, it's just an anonymous function).
Name:
Anonymous2006-10-28 5:28
Python's lambda is neutered.
Also, lexical scoping and shadowed variables are retarded. If you've ever mucked with Python's closures, you know what I'm talking about.
Name:
Anonymous2006-10-28 7:30
>>70 Actually I consider this one of the few Good Things about Python. It allows you to avoid cluttering the namespace.
What's the point of that? If you need something from the Ruby standard library, and you include it, while at the same time creating a class that conflicts with it, do you not have yourself to blame?
The larger includes use namespaces as well.
Name:
Anonymous2006-10-28 8:29
>>75
Macros have nothing to do with FP. They're just the thing Lisp has and nothing else, because other languages are cluttered with syntax and shit.
Name:
Anonymous2006-10-28 8:37
cluttered with syntax and shit.
For a machine, sure. For a human... shit, Lots of Irritating Superfluous Parentheses is true. That language is like Perl: write only.
Name:
Anonymous2006-10-28 10:25
>>79
"write only" if you don't have any talent in coding, but then you would find another job which I advise you to do.
>>80
You're welcome to share your shit code with your Enterprise Grade Best Practice Scalable Developer coworkers.
Name:
Anonymous2006-10-28 15:34
>>82
This post demonstrates that 'omg enterprize lul' doesn't always result in a good putdown. The reason being that Lisp is possibly the least enterprisey of languages. If >>80 had been talking about Java it would have worked, but instead it just made you look dumb.
Name:
Anonymous2006-10-28 16:11
The module CGI annoys me because I don't want a way to write HTML code with.. functions
startform(), end_form() lol! Not even consistent naming.
I just want a simple way of getting POST and GET variables, and a way to distinguish between these.
Name:
Anonymous2006-10-28 18:27
>>74
I don't know Ruby to tell, but I have heard otherwise, and I can tell for sure Python doesn't shove OO up your ass. In fact, you don't even have to use OO syntax in the standard library either, because "lol".upper() is the same as str.upper("lol").
>>75 no one count lines of code anymore, it's stupid and doesn't mean anything.
I agree that it's stupid to measure things in lines of code, but the order of magnitude of them helps for describing "tiny projects", "small projects", "medium projects", "large projects", "huge projects", etc.
Python is "bad OOP" without all the features of other OOP languages.
Lol it's bad OOP cause it doesn't do what my teacher said it should. Nevermind it has the one of the nicest implementations of OOP ever and beats the crap out of Java's and C++'s any day for a large number of reasons, and in practice, is far superior, simpler, more productive, and truer to the original intent of OOP.
BTW, macros? Not required for FP, and lambda is an anonymous closure.
You don't need statements for pure functional programming, even less now that Python 2.5 got if...else as an expression.
Also, lexical scoping and shadowed variables are retarded. If you've ever mucked with Python's closures, you know what I'm talking about.
It has its advantages too. Mainly feeling natural as you override them. I know it backfires, but there are solutions for it. I wish they had an outer-scope declaration though; something like global but for the first outer scope, not the last one.
>>81
It is, in fact, harder to read (lol noob) as the separation function name and arguments is not as clear. Lisp also fails because you can't use arbitrary parenthesis, you have to use the ones it requires, nothing less and nothing more, and it utterly fails for making it fucking ugly and more difficult to read for things like if and cond, where you separate condition and execute expressions by a mere space, with nothing to tell them apart more clearly, and not a single good way to indent it.
>>80,81
You guys obviously haven't written much in Lisp.
Hey, I love the power Lisp gives, but claiming it's readable is ridiculous. If Lisp is so easy to read, why do all the Lisp editors do coloration of each paren's twin? Ever tried without that?
There aren't many languages that almost require you to use an IDE to write something non-trivial.
Name:
Anonymous2006-10-28 23:12
>>74 I don't know Ruby to tell, but I have heard otherwise,
Here's a plan: learn Ruby. Whoever told you otherwise didn't know what they're talking about. You can code in a procedural style with equal ease in both Python or Ruby.
Other than blocks/closures, Python and Ruby are extremely similar feature- and semantic-wise. If anyone says otherwise, they're clueless. It's just quibbling about syntax and fine-print.
Also, while I hope 2.5 has fixed it, lambda in 2.4 and prior were gutted. If 2.5 allows if/else, at least it's a step in the right direction.
>>83
I was being sarcastic, if >>80 was actually employed, he'd be fired for writing Perl code.
Name:
Anonymous2006-10-29 5:08
>>89 You guys obviously haven't written much in Lisp.
Name:
Anonymous2006-10-29 6:49
>>89
I am going to stop trolling for a few minutes. This only happens like once a week so listen up
You can really have some good times with your computer. You seriously should learn to fix it yourself. Nobody cares about how it runs but you. If you take it to some jackhole and tell him to fix it, it's not going to get done right. Even if you have a father/brother/boyfriend/whatever that you LIVE with who is a Lunix tard and fixes computers for a living, he can't fix it like you can. Even if you're mediocre at best dealing with hardware. Only you use it enough to make a true diagnosis of your computer's health.
Start troubleshooting. Rule everything you can out, then make an educated guess about the source. You know where all the components came from (or have at least a good guess). You know that hard disk failure is probably not the culprit because it's new. Did you install Windows from scratch on it, or did you use some utility to move it from your old disk (like MaxBlast/dd/etc.)? Can you consistantly get your disk to register in the BIOS? Can you make it consistantly fail? If either is true, you found the cause. Try replacing the IDE cable. If that fixes it, you found the cause. Try removing one stick of RAM and see if the problem happens still. If so, take it out and try the other. If still, try one stick in the other DDR channel or another slot. If that still doesn't fix it, you ruled out a RAM error too. Remove all PCI cards but the graphics. Remove all other disk drives. If this doesn't fix it, you've ruled out the possibility of a power drought (not enough power from the power supply causes brownouts that show this kind of behaviour).
Try anything else reasonable you can think of. If all else fails, you have a bad IDE channel on the motherboard. In that case, you need a new motherboard.
>>94
hey are you still around? Could you tell me what compelled you to copy pasta that? (I wrote it). Am I a retard? Are you doing it because it needs to be told to practically everyone who posts a support thread here?
I'd like to hear from you with questions/comments/feedback!
Name:
Anonymous2006-10-29 14:53
>>95
hey are you still around? Could you tell me what compelled you to copy pasta that? (I wrote it). Are you a retard? Are you doing it because it needs to be told to practically everyone who posts a support thread here?
I find your ideas interesting and I'd like to subscribe to your newsletter.
Perl is only fun when obfuscated. The least explicit variables, the funnier.
BTW, it's "Practical Extraction and Reporting Language" : it's not intended for clean code or large programs, it's intended for (coding) efficiency in fast-written, quite small scripts.
Name:
Anonymous2006-11-01 16:41
>>98
Not my deed and best viewed with a monospace font.
>>102
Slashdot lame joke generator (hence the /. is ascii art). It outputs a random joke.
Posted on /. a few years ago.
And I failed to guess how to set monospace, obviously