David Larochelle wrote: > For example, the typical argument for Python in the data analysis > space is that there are good well documented libraries...
This is a fairly recent turn of events. For the longest time, Perl had CPAN as a huge advantage over the other languages that were encroaching into the same space. But the inertia afforded by vast quantities of ready-built libraries only lasts for so long. Before it ran out, Perl 5 needed to more aggressively adopt the new ideas in Perl 6, and work needed to be done on easing the effort that it takes to deploy Perl in large markets, like web development. > Is there a domain in which we could make a similar argument for Perl? There may be in areas like bioinformatics, that I'm less familiar with. If you think of how Ruby on Rails put Ruby on the map, it doesn't necessarily have to be a new vertical, or even an entirely new framework. It's more about understanding the needs of a particular market and packaging up a solution that bypasses the barriers that have traditionally just been tolerated. At the same time the language itself need to be repackaged. Rebranded as Perl 7 or something even more radically different. (Some additional substance changes are needed, but a lot of Perl 6 has already ended up in Perl 5, and goes largely unnoticed by the people who have left.) Basically, you need to give the IT press something to write about, and you need a revised core language that addresses some of the criticisms that the defectors have made. > Can anyone come up with a use case in which we could make a > compelling argument for building a new system in Perl as opposed > Python or Ruby? If you know Perl, Python and Ruby are largely redundant. They've found some verticals where they excel, but for some, like web development, their advantages aren't substantial if you already have Perl infrastructure. If you're starting out your career, its harder to make a good argument for Perl, unless some of the fundamental characteristics of the language catch up to the state of he art. > What if other languages such as C++, Java, or Scala are available? In my opinion, C++ has faded from mainstream to a specialty language. Tons of legacy C++, but for new stuff, it's used for performance critical tasks. There's little overlap between C++ and the 3 scripting languages you list. As we all know Java has a massive foothold on enterprise software. Great choice for a new programmer if you want to be a commodity. If it was the best all around solution, we wouldn't see large communities around PHP, JavaScript, and Python. Obviously there are plenty of verticals where these other languages are a better fit. (In some ways, Java shares similar deployment barriers to Perl, resulting in it loosing out to PHP, Python, and Ruby on the low end. Unlike Perl, Java had huge corporate sponsorship, marketing, and buy-in to get it into large enterprises, where deployment hassles are a secondary concern.) I guess Scala is a good pick if you want something less formal than Java and feel you need strong typing. I remain unconvinced that strong typing actually catches as may problems as its proponents seem to think it does. So compared to these three choices, yes, Perl has some benefits, but so does Python and Ruby. > (The best I can do is to cite the safety benefits from the compile time > checking that Perl provides which Python and Ruby do not. This allows bugs > such as typos in variable names to be caught at compile time. So no one else "borrowed" Perl's compilation phase? > The responses I imagine getting would be 1.) you should be using unit > tests anyway or 2.) use a strongly typed language if you want compile > time guarantees.) If #1 is a satisfying response, then you could use the same logic to argue against strong typing. -Tom -- Tom Metro Venture Logic, Newton, MA, USA "Enterprise solutions through open source." Professional Profile: http://tmetro.venturelogic.com/ _______________________________________________ Boston-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/boston-pm

