Hi Lorn,
"Perl is used in lots of places" isn't really a convincing argument. So is Java, Python, C, Ruby, PHP, and a host of other languages. One could get away with writing crawlers in Lisp, if one really wanted to (in fact, I think Amazon did for a while in the 90s). That's not the road you want to take in this.
A better approach is to find out why they want to rewrite the software, and address those reasons, one by one.
You have two major advantages already -- you have the software, and the software works!
I'll attempt to list a few of the more common reasons management decides to embark on this sort of thing, and how to address each argument.
- Perl is hard to maintain -- is it? Do you have a log of the crawler development -- bug fixes, feature additions, release history? Did multiple developers touch it? Do you have any statistics on how long it took to find and fix bugs?
- Everything else is in PHP -- great, and I bet it works. This also works. Isn't there software that doesn't work we could be fixing, or software that doesn't exist we could be writing? The existing stuff already does the job. Why waste time and money, if the end functionality will be the same?
- PHP can do X -- so can Perl. Perl can do more.
- Perl is slow -- first, get statistics on your software. Does the code really run slowly, or is this just a management's preconception? See if there is anything you can get as a quick speed improvement, if they bring this up (as a bonus, this punches the "hard to maintain" argument right in the gut).
- We want to use a PHP framework and common libraries -- that's actually a good reason. If they already have that kind of stuff, it totally makes sense to port the code so everyone can work from the same page and not have to write the same functions twice in different languages.
- We have little Perl expertise -- update your resume. If you are the perl guy, and they say something like that, your prospects at this company are bleak.
I've gone through this many times at a few places (let's rewrite this in X, X is nicer) -- and every time the winning argument is turning management-speak back on them -- what is the ROI of this effort?
Works on managers who are big fans of buying instead of building, too. "It'll cost you 2 weeks of my time to add this to the current system. It'll cost you 6 months to configure this newly bought software just to do what this stuff already does. Do you really want to do that?"
Good luck!
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.