On migration
We all know that changing language is both risky and expensive. Imagine you are on your current, albeit non-optimum, path of progress -- up and to the right, but not as fast as you would like. Now look at switching to Smalltalk (or Lisp, or...). First you must stop your "up" progress while you learn. You are now behind where you would have been. You hope the Smalltalk (or...) vector is more "up" than your previous, but of course you do not know how much more -- just lots of opinions from various people you do not know (and therefore trust). At sometime in the future -- is this 3 months or is it 12 months? -- you finally catch up to where you would have been had you not stopped to learn. Only now do you begin to reap the benefits.
That's not at all the scenario I sketched, and not at all the place Yahoo was in. I would almost never advise a technology migration (there are exceptions for completely out of date/out of business solutions). In the case I brought up, Yahoo had a working system in Lisp, and migrated it to C++ because some thundering moron decided that it would be too hard to find/train Lisp developers. So instead, he spent huge sums of cash to build a less functional version of what he had to start with - most likely with a bigger team. You know what that's called? Stupidity, plain and simple.
Sure, if you have an existing system, it makes very little sense to migrate it. Which is why all the frenzied "rewrite it Java" activity of the last 7 years has been so utterly asinine...


Comments
[Alex] December 17, 2004 17:30:07.000
This is the point. From that person's perspective they were faced with high risk (to them) situation. They see change in programming language from what they feel comfortable with using and/or managing.
And from the Geoffrey Moore explanation they were part of the "Early Majority" who always ask their peers what they are using. And it would not be Lisp.
You yourself face this with Cincom Smalltalk.
On migration
[ James Robertson] December 17, 2004 22:28:10.000
Comment by James Robertson
Alex,
I still maintain that porting from working, maintainable software to something else is a waste of time and resources.
"...maintainable..."
[Alex] December 18, 2004 10:51:00.000
Depends on your definition of "maintainable".
Had you inherited Bottom Feeder already written in Perl, or VBScript or (well you get the idea) what would you have done?
This person, I suspect, saw Lisp as "not maintainable" in his management view (leaning on the views of his peers).
On migration
[ James Robertson] December 18, 2004 11:08:49.000
Comment by James Robertson
Alex - he had Lisp developers in house, unless he fired them. And - regardless of what you seem to think, it's not that hard to find new ones or train existing staff. Certainly it's far, far less of a hit than rewriting the entire app.
In base business terms, the decision was unjustifiable. Move it out of software, and it's obvious how stupid it was.
inside information?
[Isaac Gouy] December 18, 2004 12:18:00.000
James: "because some thundering moron decided"
Do you have any inside information on 'who decided what' and why?
Or is this name-calling based-on ignorance?
Bad Business Decision
[Alex] December 18, 2004 12:19:04.000
I am not arguing that it was a good business decision. It is not what either of us would have done. I only say that this is the way the Early Majority will act. It is quite understandable behavior given the Early Majority "risk assessment and avoidance" strategy.
From understanding comes a plan (of how to grow Smalltalk (or Lisp))
On migration
[ James Robertson] December 18, 2004 13:11:41.000
Comment by James Robertson
Isaac - IMNSHO, if you have working software, and all it would take to keep it going and enhance it is training/hiring some staff who know (Insert niche language here) - as opposed to doing what these people did - rewriting from scratch - you are are ipso facto dealing with a moron. To be blunt, there is simply no business level justification for that. It's like finding that your office was built out of wood, declaring that unacceptable - and razing and rebuilding with steel.
On migration
[ Vincent Foley] December 18, 2004 17:05:52.000
Comment by Vincent Foley
There's a difference. If you move from VBScript to Smalltalk, you move up the "flexibility" ladder, so your application can have features otherwise not possible with VBScript.
The problem with Yahoo! Stores is that the Common Lisp version had better, more advanced features than what they got in C (for example, in Lisp, pages could return a value, like a function.) This means that the overall user experience is decreased to please management. That's the big deal. I am not against rewrites if those bring advantages to the users, if they have a better system. I'm not for doing it for political reasons though.
There's a difference!
[Alex] December 18, 2004 17:35:48.000
Vincent, yes and no!
No argument that Lisp and Smalltalk are clearly superior languages, that is amongst us "Early Adopters". The point I am trying to make is please stop and understand the mindset of the Early Majority. They attribute different values to the parameters of the risk-reward equation, thereby deriving a different solution. You will not change that, they do not believe they are wrong, so I am saying understand and deal with it!.
OTOH, a well written VBScript should not defacto be replaced with Smalltalk, or whatever your favorite language is. You must examine the return on investment. And of course this equation is neither simple, nor could we all agree on the values of the parameters.
Now I must say that I would have a tendancy (though it is not a given) to rewrite in Lisp or Smalltalk (or a few other interesting language/development environment solutions). But then I am an Early Adopter, and my equation parameters are different.
clueless
[Isaac Gouy] December 18, 2004 18:02:04.000
James: "To be blunt, there is simply no business level justification for that."
To be blunt, you haven't a clue if there were business level justifications or not.
On migration
[ James Robertson] December 18, 2004 20:33:48.000
Comment by James Robertson
Isaac - the simple fact is, it would be far cheaper to either train a new developer in Lisp, or hire an experienced one than it was to rewrite. Go ahead, find me a business justification.
On Migration
[Alex] December 18, 2004 21:35:02.618
James,
It appears you discard the "perceived" risk -- see above.
On migration
[ James Robertson] December 19, 2004 0:03:20.426
Comment by James Robertson
Alex, I understand the perceived risk - but that perceived risk never had cost/benefits analysis applied to it
Cost/Benefit Analysis
[Alex] December 19, 2004 11:55:11.771
James,
I am extrapolating here, but it is my guess that you do not (truly) buy the Geoffrey Moore concept?
The behavior of the "Early Majority" is not irrational, moronic, stupid... It is the way most people behave. (The outcome may be stupid, but then we can point to lots of that in all aspects of life.) They just have different values for the parameters for their equation of risk/reward, different experiences and knowledge and different peers to influence them. And you are probably correct that they did not break out Excel. Most of us make gut/intuitive decisions based, perhaps, on years of experience, and/or discussion with peers. There is just not enough time for us to break out a spreadsheet for every decision. I will bet even you make some decisions intuitively, based on experience, where you should have done some cost/benefit analysis?
Just imagine that everyone you respect tells you "don't do that". It is very difficult to ignore, and most people will not ignore! We like to belong. It is the rare individual that does not "follow the herd".
I am not saying this is good. Just that it is so. And understanding it helps us deal with it. My belief is that if Cincom internalized this they could use it to grow Smalltalk to where it should be in the world (which is the only reason I spend time here - selfishly).
On migration
[ James Robertson] December 19, 2004 12:22:54.053
Comment by James Robertson
Alex,
I understand Moore's points very well - and I understand the underlying behavior. All I'm pointing out is that in this kind of case - where you have a functioning application - rewriting it in order to be more comfortable makes no sense. It's expensive and wastes corporate resources...
functioning application - rewriting
[Alex] December 19, 2004 16:10:17.360
I should probably quit - this is the last on the subject.
Would you refactor a functioning application? Would you put investment into an application that is already functioning to make it in your judgement more maintainable?
You can have the last word.
The Principal Forms of Illogical Thinking
[Isaac Gouy] December 19, 2004 20:18:56.841
James: "Go ahead, find me a business justification."
The Principal Forms of Illogical Thinking
No. 22 "An Inability to Disprove Does Not Prove"
Being Logical: A Guide to Good Thinking
On migration
[ James Robertson] December 19, 2004 21:21:43.658
Comment by James Robertson
Isaac,
Bzzzt - nice try, but that's not a business justification.
clueless
[Isaac Gouy] December 20, 2004 1:36:16.857
James, you win!
You bad-mouth someone you don't know on the basis of gossip; and you think the onus is on others to disprove your idle speculations.
Not worth my time.