You seem to believe that everyone is capable, and indeed wants to push themselves to do above-average things. I've got at least one co-worker whose skills were born of the COBOL days and though the language he writes in has changed, he feels obsolete and has little desire to compete at the level of, say, me (and I don't blame him, he has a family and his free time is a lot more valuable than the time I spend reading technical manuals and doing programming for fun). He gets his work done, though he may not do it up to my own personal standards, I am not his boss and will not dictate how he does things.
That said, he is reliable, he converses with clients well, he understands the code that the more-advanced developers create and can fix bugs in it just fine. He's great at small solutions to relatively small problems, but I wouldn't trust him to start a major new project requiring a stable, flexible API that has lots of interlocking/interchangeable parts.
Yes, calling them an idiot or a dummy or indeed any disparaging adjective is not constructive (and is probably outright false), but if the boss has a large, complicated project that cannot go wrong (must deliver on-time and under-budget), the boss will not pick the person who can't deliver. Yes, the title of this article says more about the author than it does the people the author is describing, but we're not all "rockstar developers", and we can't all be treated as such.
1) I agree that extensive use of magic vars (the topic var, $_, especially) can create a major problem for readability. But the magic vars, $_ especially, allow concise constructions that would otherwise take a lot of my time to type and longer to verify I typed correctly. The onus is on me, the programmer, to ensure my code is readable, no matter how much the language assists me in that, and I find I can write readable Perl faster than I can write readable JavaScript (choosing two languages I feel I am equally competent in).
2) The rules is the rules, every language has them. "00" isn't false because the rules say only "0" is false. There's even a special case "0 but true" that explicitly does not warn when used in arithmetic operators. This is a necessity due to some of the fundamentals (much like other languages have some crazy constructs due to the interaction/conflict between fundamental concepts). But here, as in 3, you're right: The plural of anecdote (my claim that this does not bite me anymore) is not data.
3) You're right, though you're arguing a technicality. Your next paragraph is also anecdotal: "I find it inadequate" would be accurate, and fully supportable. It is not intrinsically inadequate for large projects, no more than any language is.
To this day I'm surprised at how much the shell can do for me, and I spend most of my time there. I find myself writing fewer Perl scripts and more shell scripts to Get Stuff Done.
I've kept saying "Perl is the UNIX philosophy taken beyond its logical conclusion."
Which industry? Finance seems to like Java, C++, and then Python. Web seems to like JavaScript, Ruby, PHP, and then Python. Those are the only industries I have first-hand experience with.
(Though I do recognize the fact that Perl is on none of those lists, even though I'm hired as a Perl programmer in both those industries, I've found it to be one of those things that, like an infection, spreads to every task that needs doing in a unix network)
Was this during Perl's heyday, when it was... shudder... popular? The popular language of the day always suffers from very poor programmers making very bad decisions.
I disagree, but perhaps that is because I learned how to program by learning Perl. I've written huge projects in Python, C++, Java, and JavaScript, and I still prefer Perl for my daily problems (but then, I also actually like C++, so it is possible that I am irreparably damaged). I have had no problem moving to other languages, I even like what they offer (even Java).
Python's idea of the ternary operator, now that's weird. STRING.join( ITERABLE ), that's weird (though the only obvious solution because of how Python is). `string + number = string concatenation`, that's weird. There's weirdness all around!
Dancer was inspired by Sinatra, but if you wanted something close to the metal, you wanted Plack (like Rack or WSGI). But really, you wanted Mojolicious.
Dependencies are not a bad thing. CPANTS makes sure they work. But if you don't like dependencies, you wanted Mojolicious.
2) This is one of those things that causes frustration the first 3-5 times it happens, and then you find the right habits. I can't remember the last time that actually bit me. Every language has its own definition of falsey.
3) I've never had to read the Perl source to actually solve a problem in my Perl code (except that one time there was an actual bug in Perl, back in 5.10.0). The documentation explains everything, including all the obscure edge and corner cases.
The p5p (Perl 5 Porters, the main p5 dev group) are removing a bunch of cruft. Old OSes and EBCDIC are up on the chopping block next. They're also removing microperl, which unfortunately probably is the best chance of getting more than perl to parse Perl (microperl removes just about every OS-specific function of Perl, like the unix user/group/passwd file stuff).
But honestly, there's so few people working in the core code, and I don't imagine any of the major forks I've heard about gaining any steam either.
The unions have the same problem the government does: An ostensibly democratic/representative organization that is dominated by special interests and concerned more with self-perpetuation than the welfare of the people it is supposed to represent (who themselves are generally lazy, selfish, and short-sighted).
When pitted against each other, this is fine (ideal, even, checks and balances). When one side gains too much power over the other (as unions have in Illinois, or as government has in Wisconsin), they cannot permit the other to live. It's becoming worse as government becomes the mouthpiece of big business...
Forgot the other bit: I believe companies should either be required to pay salary, or the gov't should be required to pay at least minimum wage for jury duty. But I also believe that the US is behind most civilized countries when it comes to labor rights. Unions are one way of fighting for rights, but those are being broken pretty handily these days.
I agree with your stance on taxes. I take the itemized deductions I'm entitled to for my house and my small business (tax incentives for contributing to the economy), but I would be fine without them. The spreading of tax burden down the economic ladder is class warfare and has been going on for a long time...
Mod this up. The Jury is (by design) the closest the average citizen gets to the system of laws and government that controls them. This belief that jury duty is to be avoided is one of many reasons why this country is in the fucking toilet. Whole treatises have been written on The Jury Trial being the keystone of a fair and just society, but nobody seems to care or understand why.
I continue in my belief that Civics should be taught every year from 8th grade through 12th grade.
We don't have a justice system, we have a revenge system. It continues because we will always want revenge on those that damage us, society. We already know we're murdering people, these people "deserve" to be murdered.
It's never as simple as you think: http://www.joelonsoftware.com/...
Disclaimer: I did not RTFA.
You seem to believe that everyone is capable, and indeed wants to push themselves to do above-average things. I've got at least one co-worker whose skills were born of the COBOL days and though the language he writes in has changed, he feels obsolete and has little desire to compete at the level of, say, me (and I don't blame him, he has a family and his free time is a lot more valuable than the time I spend reading technical manuals and doing programming for fun). He gets his work done, though he may not do it up to my own personal standards, I am not his boss and will not dictate how he does things.
That said, he is reliable, he converses with clients well, he understands the code that the more-advanced developers create and can fix bugs in it just fine. He's great at small solutions to relatively small problems, but I wouldn't trust him to start a major new project requiring a stable, flexible API that has lots of interlocking/interchangeable parts.
Yes, calling them an idiot or a dummy or indeed any disparaging adjective is not constructive (and is probably outright false), but if the boss has a large, complicated project that cannot go wrong (must deliver on-time and under-budget), the boss will not pick the person who can't deliver. Yes, the title of this article says more about the author than it does the people the author is describing, but we're not all "rockstar developers", and we can't all be treated as such.
Shell has marginally better whipituptitude, until you want
1) Arrays
2) Deep string operations
3) Documents
(though, side note, I'm working on a project to make (3) easier to handle because it comes up so often, and there's jq already)
1) I agree that extensive use of magic vars (the topic var, $_, especially) can create a major problem for readability. But the magic vars, $_ especially, allow concise constructions that would otherwise take a lot of my time to type and longer to verify I typed correctly. The onus is on me, the programmer, to ensure my code is readable, no matter how much the language assists me in that, and I find I can write readable Perl faster than I can write readable JavaScript (choosing two languages I feel I am equally competent in).
2) The rules is the rules, every language has them. "00" isn't false because the rules say only "0" is false. There's even a special case "0 but true" that explicitly does not warn when used in arithmetic operators. This is a necessity due to some of the fundamentals (much like other languages have some crazy constructs due to the interaction/conflict between fundamental concepts). But here, as in 3, you're right: The plural of anecdote (my claim that this does not bite me anymore) is not data.
3) You're right, though you're arguing a technicality. Your next paragraph is also anecdotal: "I find it inadequate" would be accurate, and fully supportable. It is not intrinsically inadequate for large projects, no more than any language is.
To this day I'm surprised at how much the shell can do for me, and I spend most of my time there. I find myself writing fewer Perl scripts and more shell scripts to Get Stuff Done.
I've kept saying "Perl is the UNIX philosophy taken beyond its logical conclusion."
Which industry? Finance seems to like Java, C++, and then Python. Web seems to like JavaScript, Ruby, PHP, and then Python. Those are the only industries I have first-hand experience with.
(Though I do recognize the fact that Perl is on none of those lists, even though I'm hired as a Perl programmer in both those industries, I've found it to be one of those things that, like an infection, spreads to every task that needs doing in a unix network)
Was this during Perl's heyday, when it was ... shudder... popular? The popular language of the day always suffers from very poor programmers making very bad decisions.
I disagree, but perhaps that is because I learned how to program by learning Perl. I've written huge projects in Python, C++, Java, and JavaScript, and I still prefer Perl for my daily problems (but then, I also actually like C++, so it is possible that I am irreparably damaged). I have had no problem moving to other languages, I even like what they offer (even Java).
Python's idea of the ternary operator, now that's weird. STRING.join( ITERABLE ), that's weird (though the only obvious solution because of how Python is). `string + number = string concatenation`, that's weird. There's weirdness all around!
Dancer was inspired by Sinatra, but if you wanted something close to the metal, you wanted Plack (like Rack or WSGI). But really, you wanted Mojolicious.
Dependencies are not a bad thing. CPANTS makes sure they work. But if you don't like dependencies, you wanted Mojolicious.
1) s/Perl/Code/g
2) This is one of those things that causes frustration the first 3-5 times it happens, and then you find the right habits. I can't remember the last time that actually bit me. Every language has its own definition of falsey.
3) I've never had to read the Perl source to actually solve a problem in my Perl code (except that one time there was an actual bug in Perl, back in 5.10.0). The documentation explains everything, including all the obscure edge and corner cases.
The p5p (Perl 5 Porters, the main p5 dev group) are removing a bunch of cruft. Old OSes and EBCDIC are up on the chopping block next. They're also removing microperl, which unfortunately probably is the best chance of getting more than perl to parse Perl (microperl removes just about every OS-specific function of Perl, like the unix user/group/passwd file stuff).
But honestly, there's so few people working in the core code, and I don't imagine any of the major forks I've heard about gaining any steam either.
Sounds like Parchive from usenet, which is a really good idea in a lossy environment now that I think about it.
The unions have the same problem the government does: An ostensibly democratic/representative organization that is dominated by special interests and concerned more with self-perpetuation than the welfare of the people it is supposed to represent (who themselves are generally lazy, selfish, and short-sighted).
When pitted against each other, this is fine (ideal, even, checks and balances). When one side gains too much power over the other (as unions have in Illinois, or as government has in Wisconsin), they cannot permit the other to live. It's becoming worse as government becomes the mouthpiece of big business...
Forgot the other bit: I believe companies should either be required to pay salary, or the gov't should be required to pay at least minimum wage for jury duty. But I also believe that the US is behind most civilized countries when it comes to labor rights. Unions are one way of fighting for rights, but those are being broken pretty handily these days.
I agree with your stance on taxes. I take the itemized deductions I'm entitled to for my house and my small business (tax incentives for contributing to the economy), but I would be fine without them. The spreading of tax burden down the economic ladder is class warfare and has been going on for a long time...
Mod this up. The Jury is (by design) the closest the average citizen gets to the system of laws and government that controls them. This belief that jury duty is to be avoided is one of many reasons why this country is in the fucking toilet. Whole treatises have been written on The Jury Trial being the keystone of a fair and just society, but nobody seems to care or understand why.
I continue in my belief that Civics should be taught every year from 8th grade through 12th grade.
And it needs women!
Yes and no.
No: Spreadsheets are useful as a kind of financial IDE, as long as the result is fed through an analyst and ends up at a programmer.
Yes: The result often does not end up at a programmer.
No, the real reason we're fucked is and always will be human greed.
Tell that to the entire finance and insurance industry.
Governments even ban numbers!
We don't have a justice system, we have a revenge system. It continues because we will always want revenge on those that damage us, society. We already know we're murdering people, these people "deserve" to be murdered.
There's no lead?
A sports joke might go over the head of this crowd.
Clark from Popehat agrees: http://www.popehat.com/2013/12...
If only we could get real political reform and implement instant-runoff voting... http://en.wikipedia.org/wiki/I...
Even the candidates that run on a reform platform don't reform (if they run on a platform popular enough to win).