Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Is perl scalable? (yes)

by Ovid (Cardinal)
on Dec 05, 2002 at 21:02 UTC ( #217901=note: print w/ replies, xml ) Need Help??


in reply to Is perl scalable?

Whether or not Perl is "scalable" can depend upon how you defined "scalable". Do you mean "large projects can run using Perl as the primary language"? I would argue that they can. If you mean "many programmers can work on the same Perl project", then scalability can depend upon the strength of your organization. Do you have strong programmers and good standards in place? Do you have strong project management? These issues, from what I can see, cause problems to crop up quicker in Perl shops than others. However, it's important to note that these problems occur in any shop regardless of the language.

Perl, however, has a unique approach. Rather than increase the power of a team to work together (which Java can do), it can increase the power of the individual programmer allowing a smaller team to be more productive in Perl than a larger team working with another language. This can lower overall costs and increase communication (because there are fewer communication paths) and this is a benefit to the success, and ultimately the scalability, of almost any project.

I'll finish this by posting an email reply that I made to someone who was concerned about this issue.


I don't know all that much about programming. I am under the impression that Perl is fine for fairly low traffic CGI, but C would be needed when the site scaled beyond a certain amount of traffic. Please correct me if I am wrong.

That depends upon exactly what you are trying to do and what technologies you are trying to apply to it. For example, I know of a company (that I cannot name) where the programming team was working in C++ to develop a large Web site to manage financial data for customers. A friend of mine was their QA director. After I learned a bit more about the company, I discovered that they had quality management, a sharp QA team and solid financial backing. Further, they were offering their employees generous stock options. I urged my friend to quit the company.

This sounds a bit ridiculous, but the problem was due to their choice of programming language (languages like C and Java often suffer the same problem). It takes too long to develop in them. Quite frequently, using a language like Perl allows you to finish your program and move it into production before competitors have even gotten their first compile. With my friend's company, it took them two years to get their prototype working. This means that if it was successful, competitors using a language such as Perl (or Python, Lisp, or other language that's quick to develop in) would likely be able to duplicate their results in only a few months. Further, any new features that my friends company could produce could be duplicated in a much shorter time frame at a fraction of the cost.

My friend is now looking for a job. He was convinced they would succeed and every time I talked to him, I was impressed with what they were trying to do, but I was convinced that they made the wrong technology choices. The company has gone bankrupt because the technologies they chose simply took too long to develop in. (side note, not in the email: there was nothing that this company was doing that required C++. It was vanilla CGI with a powerful database backend that DBI would have handled nicely. And yes, I know that the DBDs are not pure perl :)).

For more information about Perl's success, you can read Perl Success Stories.

If you find that scalability is an issue with your application, switching to mod_perl will likely remove the bottleneck. Further, because of the way that mod_perl is designed, mod_perl programs often run faster than their C counterparts. You also have the option of embedding C in Perl for very time-sensitive tasks.


Note that the Perl Success Stories link above has wonderful examples of how scalable Perl can be with the right team using it.

Regarding Perl vs. Java: one of my favorite quotes is by merlyn (pardon me if I am misquoting). He was facing an audience of students and there was some discussion of both Perl and Java. One of the students asked him how he dealt with the lack of strong typing in Perl. merlyn replied, "I just smile and move my programs into production before the Java programmer has his first compile."

Cheers,
Ovid

New address of my CGI Course.
Silence is Evil (feel free to copy and distribute widely - note copyright text)


Comment on Re: Is perl scalable? (yes)
Re: Re: Is perl scalable? (yes)
by Anonymous Monk on Apr 25, 2004 at 16:00 UTC
    Yes, I believe the human component of scalability is important, and increasingly so as cost of hardware goes down, and programming time/cost increases. Here's my own story that I think emphasizes your point: Three months ago I knew very little about Perl. I had heard of it, but that is about it. I have recently left a rather lucrative IT management job to get "back in the trenches" so to speak, after a 12 year hiatus from programming (I left off doing C programming in a Unix environment). My challenge was to develop an e-commerce web site for my brother-in-law for his business. I met with him (Pres/CEO) and his CIO, at which time the CIO told us that this project would take 9 months at least, and that is if I were a very experienced web programmer. (Their company, incidentally, uses MS tools/languages, etc.). At that time, I thought that MS was the way to go, and also their current company environment. After several weeks of studying HTML and various VB tools/books, I was about to explode in exasperation; I would spend days fighting with a number of MS’s “controls”, only to find out later that they had this or that “bug” in them. About to give up, I then turned to Perl, since I liked the looks of it (similar to my work with C), heard good things about it, and, of course it is free! Long story short, in 3 months I learned Perl (I’m not an expert, but picked up enough to program a relatively sophisticated e-commerce web site), learned Javascript, learned HTML, learned web-programming in general, installed/used MySQL (also new to me), and developed a relatively complex e-commerce site. I met with the CEO and CIO last week to demonstrate my software. Although I could tell the CIO was more than just a bit shocked that I had done what I had done in considerably less than his "best-case" 9 months, he still had the political wherewithal to say, (in front of the CEO) ”Oh, you used Perl, that’s not scalable you know”. So thank you for this thread, I am now armed to do a little verbal butt-kicking myself (at the right political moment of course!). Cheers, Jim Wilson
      BTW: As part of the aforementioned episode, I did discover at least 1 downside to Perl; I finished the task in such short time that I put myself out of a job! Anybody know of any Perl shops that are hiring? Jim Wilson jrw@extremeco.net Have Perl Cookbook, Will Travel

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://217901]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2014-09-24 05:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (246 votes), past polls