|
Sometimes, re-writing is forced because management decides to change the underlying hardware.
BPCS was an AS/400-based software for Manufacturing. Management decided that they need to migrate the software to a Unix platform because that was/is the rage. They probably had no choice because their salesmen were most likely told by potential customers that they would buy only Unix hardware.
The company spent $400 million and never got a working Unix version. When you realise that their annual sales was only $400 million, it doesn't take a genius to figure out that they had bet the farm on re-writing their software. They lost and the company had to be sold.
|
|
|
|
|
That story sounds remarkably like a company I used to work for as well. Burned itself out on a far-to-late Windows rewrite.
Too many companies...
TTFN - Kent
|
|
|
|
|
I wonder if they couldn't have shoved an adapter/virtual machine layer in between and do it on the cheap?
Wout
|
|
|
|
|
In my opinion, "rewrite" means to improve an app by performing code modification, whereas "refactor" means to document the ready code by adding comments. Isn't it so ?
|
|
|
|
|
I suppose everyone has their own opinion but I subscribe to the Robert Martin definition from Clean Code . Refactor is the process of "cleaning up" your code as you build it. I like the OP article's distinction between a rewrite and a rework as well. Never had an opinion on the difference between those before but I appreciate the proposed difference. Reminds me of the eternal argument on whether there's an implied difference between association and aggregation in UML.
|
|
|
|
|
In my opinion, I basically refer to Code Refactoring
From this Wikipedia's article we can find out that "code refactoring" is actually the process of the code understanding improvement which doesn't affect the application behavior. This process also includes adding comments to the code being refactored. That's actually why, I've stated in my previous post that the distinction of either "refactoring" or "rewriting", is that "refactoring" is *NOT* "rewriting", during which an application changes its behavior.
|
|
|
|
|
I agree with that I was referring specifically to
Arthur V. Ratz wrote: whereas "refactor" means to document the ready code by adding comments.
I thought you meant comments only from the above context. I agree the refactoring process changes no behavior and instead seeks to organize and re-arrange code in a more readable way. While it may be controversial, I wholeheartedly agree with this quote:
Robert Martin in Clean Code pg.54: The proper use of comments is to compensate for our failure to express ourself in
code. Note that I used the word failure. I meant it. Comments are always failures. We must
have them because we cannot always figure out how to express ourselves without them,
but their use is not a cause for celebration.
|
|
|
|
|
I would also agree with this, *BUT* commenting a code is not about "to express ourself". This is about to give a proper documentation to the code to make it readable by the others.
|
|
|
|
|
Some things don't lend themselves to expression in code but I believe the point of that statement is that, if possible, your code should be the documentation in and of itself by being concise, simple, and readable. On a side note, documentation for an API I don't believe falls into this category. You don't expect people that consume your API to read your code as that's the whole point - it simply works.
Slightly off-topic thought but they should really teach this kind of stuff in college. It's a very interesting topic that has real-world implications. Instead I spent a semester learning Computer Ethics Still haven't used any philosophy from that
|
|
|
|
|
Right.
|
|
|
|
|
Anyway it's worth for me to read this book. Probably, I'll find out something interesting about code refactoring.
|
|
|
|
|
And also, many IDEs such as Visual Studio for .NET and C++ provide an automated code refactoring by outlining particular fragments of code by not changing the either structure of code or its behavior during execution.
|
|
|
|
|
If it's an app still in classic ASP... rewrite.
Jeremy Falcon
|
|
|
|
|
It’s not clear how long Windows 10 fans will have to go without a new build, but the reason may make the life of an Insider easier in the long run. They'll get back to bugging you to upgrade shortly
|
|
|
|
|
They'll be taking a more gentle approach this time so as not to raise the ire from users as was prevalent in the first Windows 10 migrations.
This time, they'll just scotchtape the disk onto a brick and throw it through your front living room window. It should reduce damages significantly.
|
|
|
|
|
Right. They in Microsoft paused the Windows 10 previews to concentrate their work on the new radical accumulative update. As you might notice, there's no much sense to release so many of those beta previews. Instead, it's worth to expect a new radical update that will make Windows 10 much better.
|
|
|
|
|
[irony]
They are investigating how to implement a software WiFi in your machine, so that they can update you even with disconnected LAN or hiding even more all the crappy settings so you can't disable then.
[/irony]
Now serious... I hope this time they manage to do some better and correct the direction, because right now they are going downwards without brakes.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Although artificial intelligence (AI), robotics and other emerging technologies may reshape the world as we know it, a new global study has revealed that the majority of CEOs now value technology over people when it comes to the future of their businesses. OK, we'll let them run the companies then
|
|
|
|
|
Obviously CEOs are not necessarily the brightest people around.
|
|
|
|
|
That is correct. They are not very bright.
After all, they pay you! And me! And all the folks in the IT business!
|
|
|
|
|
As a developer, choosing C# as a part of your technology stack is an excellent decision! It's the semi-colons
|
|
|
|
|
C# 7.0 support in VS2017? Oh yes. All the yes. Be right back looking around for more yes to throw at this. I love the direction C# is going in generally speaking. Definitely my favorite language out of a long list. For anyone interested, here are the proposed C# 7.0 changes[^].
|
|
|
|
|
I'm fine with C# four, thanks.
|
|
|
|
|
I'm honestly a huge fan of async in C# 5. C# 6 was basically just a collection of syntactic sugar that makes common patterns more readable so I can understand that but C# 7 aims to remove many common anti-patterns. Compound returns so you no longer need to abuse out or clutter code with Tuple s. Ref locals and returns. These are huge in some circumstances.
You can't even implement your own version of some built-in functionality of C# without the concept of ref locals. As an example, compound assignment (+=, *=, etc) functionality hinges almost entirely on this concept.
|
|
|
|
|
When C# 5.0 was already out, I worked for a company still on C# 3.0 with only some groups moving (very slowly) to C# 4.0.
Last year, I wrote a utility in C# 6.0 and .NET 4.6.2, only to have to move it back to 5.0 due to a insufficient [corporate] .NET 4.6 installs.
|
|
|
|