Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

What is Legacy? A Modern Perspective

DZone's Guide to

What is Legacy? A Modern Perspective

· Java Zone
Free Resource

Make it happen: rapid app development on Kubernetes as a managed service.

A gift or a curse from the past...

I'm speaking at QCon london this year on the topic Modern Legacy Systems

This was tweeted by @QCon as follows (note this talk isn't specifically about Java but about systems in general).

Tweet1

and within minutes UncleBobMartin replied:

Tweet2

This illustrates a good point about attitudes towards legacy code and systems. Although the term is often used negatively, legacy code is NOT, necessarily, bad code (and a system is more than just code).

In most areas of life a 'Legacy' is a good thing! It might refer to a valuable art collection left to a museum or perhaps the body of work of a famous author. Only in I.T. is something old (but valuable) viewed as bad.

When we refer to a System being Legacy we're really saying that the system is built in a way that differs to how we'd choose to do so now. The system may have been written well, using the best technologies and tools available at the time. A system written in 2001 using Java 1.2 and Oracle 8i etc may have made perfect sense at the time but if you wrote it now you'd at least use the latest versions available or even something different entirely (Scala, mongoDB etc didn't exist then).

A system maintained by professional programmers would be upgraded throughout time and migrated to new technology when required (as Bob suggests). However, this is rarely a decision for the programmers - it's a management decision. To be fair to management, does it really make sense to spend large amounts of money continually upgrading a system if it works? If the programmers and systems team did a good job then no-one might need to make changes for many years. This indicates a high return-on-investment and a good quality system. A Legacy!

Of course when you do have to make changes or additions you have a very different set of challenges compared to modifying a system that is being continually developed. My talk at QCon explores some of these issues, makes suggestions about approaching them and how to leave a good legacy rather than a bad one. If you haven't booked your place at QCon yet then you can use code ANNE100 to get £100 off.

Tutorial: WordPress as distributed microservices on Kubernetes.

Topics:

Published at DZone with permission of Robert Annett, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}