Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Switching from lang X to Y

by eyepopslikeamosquito (Archbishop)
on Mar 21, 2017 at 08:59 UTC ( [id://1185320]=note: print w/replies, xml ) Need Help??


in reply to Switching from lang X to Y

Suppose:

  • Your company has been successfully selling a big, expensive product to big corporations for twenty years.
  • This product has Perl embedded in it. To allow customers -- and your Consulting Division -- to extend and customize the product.
  • This product runs on ten different operating systems.
  • This product has over a million lines of code.
  • Your Consulting Division has 100 consultants. They have also written over a million lines of code.
  • Worldwide, you have 1000 users of your product who routinely customize it with Perl. They have written over a million lines of code.

Note that your customers and consultants have relatively modest scripting requirements and are far more interested in their business domain than in Perl vs Python language debates.

How much would it cost to switch from Perl to Python, say?

  • The cost of porting, testing and packaging a new language into your product (and removing Perl) across ten operating systems.
  • The cost of rewriting a million lines of working code in your product.
  • The cost to your Consulting Division of rewriting a million lines of working code. Consultants are on a "90% billable hours" KPI. Customers will not pay Consultants to rewrite working code.
  • The cost of retraining your developers in a new language. Maybe a one week training course for each person. Then wait six months before they become truly fluent in the new language.
  • The cost of retraining 100 Consultants in a new language. Customers will not pay for Consultants to attend training courses.
  • The cost to your customers of having to rewrite their working customizations in a new language.
  • The cost to your customers of having to train their staff in a new programming language.
  • The cost of bugs introduced in the rewrites.
  • The opportunity cost to you and your customers of not doing other things in your business domain because you are spending time and resources on rewriting something that already works.
  • The ill-will you suffer from your customers because they don't want to spend time and money training their staff in a new programming language and rewriting working code. They'd much rather focus on their business domain, not a programming language.

See also: On not rewriting by Joel Spolsky

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (5)
As of 2024-04-16 16:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found