Octavian Râşniţă wrote:
*From:* David Ihnen <mailto:dav...@norchemlab.com>

    > I tried to convince some programmers that Perl is better than
    PHP, but without any success.
    > How could they know, if they have never used it?  I was far less
    convinced that PHP was a blight on the face of scripting science
    until I got a
    > job working in it, after all.

They know it because everybody tell them so. Most web sites are done in PHP, most job offer for web programmers ask for PHP experience...
Then they don't know, they just repeat what others say. So I guess all we can do is repeat what we know from experience, and hope that others repeat it too...?

    > Pay them to do it in perl, and after they get through the
    learning curve they'll probably be much happier with it.

I can't tell that in my country there are no software companies specialized in perl programming because I don't know all the software companies, but if there are some, they could be counted on fingers, and they aren't probably very big.
So who should pay those PHP programmers in order to motivate them?
Somebody who wants a program, and is smart enough to know that the engineers are better choosers of the software language than they are. Any consultant, firm, company, consultant, or contractor can pay, and spend his time, to learn perl. They simply have to make the decision to do so. Perhaps you could do so.

    Can perl programs run on share hosting web sites? There are some
    such hosting companies that don't even offer perl support, and
    those who offer it, offer just the standard Perl distribution,
    which don't offer a web framework, or templating systems, or
    ORMS, or form processors, and in these conditions I can't tell
    that perl is so great.
    Isn't that to the denigration of the hosting company?  Not
    supporting the framework is no way to support your user base.  As
    long as the dollar is more important than the feature, there's not
    much we can do about this.  These are not things that should be
    built into the core distribution of a language, its the main
    reason PHP is so awful.

I agree that those things shouldn't be built in the core distribution, but there could be more distributions, like the one offered by ActiveState, or Strawberry Perl or others, just as the Zend PHP distribution contains the Zend Framework. It could be helpful to have a perl distribution that includes the latest versions of Template-Toolkit, HTML::Template, Mason, Catalyst, CGI::Application, DBIx::Class, Moose, HTML::FormFu and other helpful cpan modules. A hosting company may want to install that distribution, and it would really offer a much better support than the one offered by PHP. Yes, those modules won't be updated frequently, but it would be much better than simply a CGI.pm support.
Now you're talking about something that just about anybody (even you) could do if they put their mind to it, don't you think? Its just creating a distribution, after all. Its just not a very perlish thing to do to limit. Maybe it would be cool if you could have an interface that lets you request and install the latest CPAN module on the shared servers without having root or shell. It might be even better, not limiting anything.

    > Can they hide the source code? (Because who knows who can get it
    from those free hosting web sites)
    > Who cares?  Hiding source code is valueless.

Maybe in your country. In my country 10 euro means too much and actually even 1 euro means too much if the same thing can be got for free, legally or not.
You taking it and using it doesn't impact anything, and the companies have to understand that. Its just some ideas and organization, pretending you can keep other people from knowing how you did something just makes it less supportable by anybody - good software can be bad software just because its obfuscated like that. Those who matter will actually pay for your software because they want the support and customization that comes with it. If they're not going to pay up front, they're more likely to pay later - keeping them from using the software at all won't help. So why obfuscate or worry about it?

    > I found that they can hide it, but only after installing Open
    SSL and a perl module, which they can't do, because those sites
    don't offer > root access and neither shell access.
    > You get what you pay for I guess.

Well, they can get a free support offered for Zend Optimizer (or how it is called the Zend Decoder).
Free support as in open-source community stuff? Or as in a commercial company spending their time to help you with something that they don't get paid for?

    In order to show them how good is perl, I told them that they
    would need to have a dedicated server, or a VPS, but the cheapest
    VPS costs much more than a shared hosting solution, so in this
    case perl has another disadvantage.
    If they care that much about a few $ on a monthly fee for their
    web site, they're not going to pay enough to get a skilled
    programmer in ANY language, to do the programming.

Of course they care. If the same thing can be done cheaper using PHP, they will surely choose PHP. (The quality doesn't matter, because here the things are so fast changing, and the easiness of maintenance doesn't matter for most, because who knows what will happen after a few years.
Experience says in a few years, you'll want to augment and enhance your application. But they don't have the experience, eh? Well, if they want throw-away programs they'll get throw-away programs. And have to pay for them over and over again. The savings are false. The companies who chose wisely will get further. But that is a subtle pressure in the market - perhaps even less so than the idea being implemented - thus making our advocacy more or less moot. A working program is all that matters to an end user, not a good or badly engineered program. How can we convince them that the underlying engineering is important? Short of organized crime techniques at least. >:)

    > They've also told me that they know that perl is harder to
    learn than PHP.
    > What can I tell them? That it is not true?
    > Yes, but you may or may not be right.  We all agree that coming
    into perl is confusing - too much old data about how to do
    > things is out there in the world.  That makes it harder to
    learn - not because the language is harder to learn - but because
    its not clear what the proper way to learn it is.

I've seen that the newbies always want recommendations, and think that there should be a recommended way of doing things, a best way.
Do you think there is a way to stop them from thinking that?
Well, there is no such thing for perl. Perl is not a language, but it is more languages. If a programmer uses Catalyst and DBIx::Class and HTML::FormFu there is a language, if he uses CGI::Application and Rose::DB::Object it is another language, if he uses CGI.pm is another one, and there may appear other differences if they use mod_perl or fastcgi or just CGI, or if they use classic OOP or Moose, Template-Toolkit or Mason. It is not bad that we can choose, but the beginners don't know what to choose, and finally they would find all these confusing and start using RoaR or PHP.
Which is a state but not a solution. Are we supposed to agree on a 'best in class solution pattern' and advertise/promote it on sites like perl.org as a way to counteract the 'too many options' indecisive nature of humanity?

    > Of course that I could have told them that for real good big
    projects, perl is easier to use than PHP, but most of the PHP
    users don't
    > care about that kind of projects. They care about simple
    projects created from scratch, that don't even use a web
    framework or an
    > ORM or a form processor.
    > Sounds like the people who buy expensive fixed-lense cameras,
    then the moment they get interested in photography discover that
    they could
    > have bought an SLR, more capable and flexible, for the same
    price.  But they swore they didn't need the capability to do that
    when they >
    > bought the original cameras, so now they're screwed.

Not exactly, because most of the PHP programmers don't work for themselves, but for other clients
Now you're getting down the fundamental risk levels. The bad programmer is a risk to his employer, not to himself. This is a very interesting pattern in our economy.
, and yes, they would find that they are scrued if they would need to update a program, but the really scrued is the client, because the programmers will ask more money for upgrading that software, because they would need more programmers to do it.
So its not the programmer in the end that made the bad decision, its the client? Yet, the client trusted the programmer to choose a technology. There's something afoul here. There can be no evolution to better programmers because the badness of the programmer has almost no effect on the decision.
The good news is that some software companies started to see that this is a problem and don't consider PHP a great idea anymore.
Thank Dog.  Now to get that pattern more widespread.  Ideas?
The bad news is that those software companies start to use more and more DotNet and Java, and don't even think to Perl, because they know that perl is harder to maintain, that perl is write-only and other things like these.
But they don't even really know.  Do they know they don't know?
Yes, Perl 4 style of programming, or using CGI.pm might create code which is harder to maintain, but there isn't a big software company that promotes perl and tell them that this is not true anymore.
By this I assume you mean that you have to be 'big' in order to have any credibility in choosing your technology?

David

Reply via email to