Questions about legacy languages, code, or applications.

learn more… | top users | synonyms

118
votes
10answers
29k views

How has an increase in the complexity of systems affected successive generations of programmers?

As a "new" programmer (I first wrote a line of code in 2009), I've noticed it's relatively easy to create a program that exhibits quite complex elements today with things like .NET framework for ...
60
votes
11answers
2k views

Best Practices for Handing over Legacy Code

In a couple of months a colleague will be moving on to a new project and I will be inheriting one of his projects. To prepare, I have already ordered Michael Feathers' Working Effectively with Legacy ...
55
votes
14answers
3k views

Forbidding or controlling “Hidden IT…” Who should write and maintain ad-hoc software applications?

Bigger companies usually have the problem, that it is not possible to write all programs employees want (to save time and to optimize processes) due to a lack of staff and money. Then hidden programs ...
52
votes
3answers
8k views

What is an Anti-Corruption layer, and how is it used?

I'm trying to figure out what the Anti-Corruption layer really means. I know that it's a way to transition/work around legacy code or bad APIs. What I don't understand is how it works and what makes ...
51
votes
10answers
7k views

When is code “legacy”? [closed]

We've all done it, we've labelled some code (often stuff we've inherited) as "legacy"? But it's still used in the production systems - so is it really legacy? And what makes it legacy? Should we shy ...
47
votes
5answers
2k views

Does dedicated maintenance work hamper a programmer's career? [duplicate]

The majority of my work over the last three years has largely been around maintaining legacy systems that needed patching up or the occasional revamp before being sold again. I understand the ...
42
votes
24answers
4k views

Most common “Y2K-style” bugs today? [closed]

I don't specifically mean date-related issues like 2038, but more generally, bugs that fit the pattern: A generation ago, programmers tended to write code that ass-u-me-d X, which was reasonable at ...
39
votes
5answers
9k views

What are the key points of Working Effectively with Legacy Code?

I've seen the book Working Effectively with Legacy Code recommended a few times. What are the key points of this book? Is there much more to dealing with legacy code than adding unit/integration ...
25
votes
8answers
2k views

What are the advantages to developing with outdated technologies? [closed]

A little background: I am working at a large company, using Windows XP and coding Winforms in VB6/VB.Net and some WebForms in VB.Net (95% maintenance code). I have one 4:3 19" screen. A more modern ...
20
votes
5answers
919 views

How-to convince company to start documenting for legacy software [duplicate]

It has been less than a year since I joined my current company. Their majority of sales have come from a single product that has been alive since the last 10 years. However, there is minimal (if at ...
18
votes
6answers
711 views

Is there any hope for writing good code atop a horribly designed database?

Here's my predicament. One of several programs I've recently inherited is built with a horrible database on the backend. The esteemed creators of it apparently did not appreciate relational concepts. ...
18
votes
7answers
1k views

How can a large, Fortran-based number crunching codebase be modernized?

A friend in academia asked me for advice (I'm a C# business application developer). He has a legacy codebase which he wrote in Fortran in the medical imaging field. It does a huge amount of number ...
18
votes
6answers
865 views

Does adding unit tests make sense for well-known legacy code?

I'm talking about unit tests in the TDD sense. (Not automated "integration", or what you like to call it tests.) Legacy code as in: (C++) code without tests. (see: Michael Feathers' Working ...
16
votes
4answers
2k views

Best practices for retrofitting legacy code with automated tests

I'm about to take on the task of reimplementing an already defined interface (a set of C++ header files) in a relatively large and old code base. Before doing this, I would like to have as complete ...
15
votes
4answers
6k views

Classic ASP to ASP.net or ASP.net MVC

We have a web application which is developed in classic ASP and it evolved over 5 years to its current form which has 100's of pages, huge database and more than 10000 active users going through at ...
14
votes
8answers
851 views

How to handle management pushing legacy systems?

I am currently on a paid internship, and have been tasked with maintaining an obsolete system that has been developed by multiple developers (at different times) over the course of the past 5 years. ...
14
votes
4answers
1k views

What issues lead people to use Japanese-specific encodings rather than Unicode?

At work I come across a lot of Japanese text files in Shift-JIS and other encodings. It causes many mojibake (unreadable character) problems for all computer users. Unicode was intended to solve this ...
14
votes
3answers
548 views

How to deal with “software end-of-life” situations?

When a vendor declares that they no longer intend to provide any support or services to a piece of software (and stated the intent to exit the business - offering no upgrade paths), what kind of ...
13
votes
3answers
461 views

How should a non-IT manager secure the long-term maintenance and development of essential legacy software?

We are a small, very specialized, benefits administration firm with an extremely useful, robust collection of software, some written in COBOL but most in BASIC. Two full-time consultants have ably ...
12
votes
5answers
402 views

Resolving merge conflicts due to refactoring

I got involved in a discussion recently on how to handle refactoring in general (which is an interesting topic in itself). Eventually the following question was brought up: How does one handle merge ...
11
votes
10answers
2k views

What type of interview questions should you ask for “legacy” programmers? [closed]

We have recently been receiving lots of applicants for our open developer positions from people who I like to refer to as "legacy" programmers. I don't like the term "old" because it seems a little ...
11
votes
6answers
2k views

Other than for legacy software, are there reasons for using COBOL?

COBOL is still (heavily?) used for financial computing. It is an old language, and AFAIK most programmers hate, or at least dislike, COBOL. This brings a question: is the only reason COBOL is still ...
11
votes
7answers
3k views

What are the advantages of mainframes? [closed]

The downsides of Mainframes is well trodden ground; expensive, legacy, dwindling community, etc. I'm not particularly interested in the downsides, but I am curious if there are any benefits to ...
11
votes
2answers
803 views

Adding unit tests to a legacy, plain C project

The title says it all. My company is reusing a legacy firmware project for a microcontroller device, written completely in plain C. There are parts which are obviously wrong and need changing, and ...
10
votes
5answers
464 views

Starting a coherent architecture in a legacy application

I have responsibility for a large Asp.Net based website. It is currently a website (not web application), some windows services and a number of class libraries. The data layer uses a mixture of ...
10
votes
4answers
741 views

How can I update a large legacy codebase to meet specific quality standards?

There is a lot of information about tools and techniques for improving legacy codebases, but I haven't come across any successful real world case studies. Most advice is on the micro level, and while ...
10
votes
5answers
1k views

How do I get myself out of a dead-end programming job? [duplicate]

I have almost 9 years of IT experience of which 7 years was worked in an IT company. For past 2 years I have been stuck in a non-IT based company using outdated technology and methodologies. We ...
10
votes
1answer
579 views

Have unit test generators helped you when working with legacy code?

I am looking at a small (~70kLOC including generated) C# (.NET 4.0, some Silverlight) code-base that has very low test coverage. The code itself works in that it has passed user acceptance testing, ...
9
votes
2answers
327 views

Too many CS files in a single project [duplicate]

I am working on a ‘brown-field’ project, with a team of programmers. I understand each programmer will have different styles. I am running into some criticism with my coding style, specifically ...
9
votes
3answers
729 views

Ramping Up On Legacy Code

When starting to work on a project with an existing code base, the first thing that needs to be done is usually to understand the application & existing code. Let's assume that the existing code ...
8
votes
3answers
648 views

What would help when refactoring a large method to ensure that I don't break anything?

I'm currently refactoring a part of a large codebase with no unit tests whatsoever. I tried to refactor code the brute way, i.e. by trying to guess what the code is doing and what changes wouldn't ...
8
votes
3answers
276 views

Migration strategies for deprecating in-house scripting language

We have a scripting language that we use internally for many things. It began as a simple evaluation statements for dynamic labels to become a Turing complete language used pervasively throughout our ...
8
votes
5answers
577 views

How to understand and debug legacy software? [duplicate]

Possible Duplicate: I’ve inherited 200K lines of spaghetti code — what now? Not long ago my company placed me in a team that deals with some of the most complex bugs that are in production. ...
7
votes
5answers
447 views

How to deal with warnings in a legacy project

I work on a C++ project that generates bajillions of warnings. Most of the warnings appeared after the code was written: Initially the project used Visual C++ 8, soon switching to 9, but there is ...
6
votes
8answers
502 views

What are important things to remember when reengineering a legacy application?

About to embark on the initial phases of a project to rewrite a legacy application from the ground up (existing business rules will change somewhat, and be extended to incorporate a large number of ...
6
votes
5answers
4k views

is Ada really gone?

Do people still use Ada -- (it was mostly used in the Defense Department) Are all applications written in Ada "Legacy"? Does Ada knowledge still sell
6
votes
2answers
559 views

“Guiding” a Domain Expert to Retire from Programming [closed]

I've got a friend who does IT at a local non-profit where they're using a custom web application which is no longer supported by the company who built it. (out of business, support was too expensive, ...
5
votes
3answers
538 views

Functional testing before code checkin

I am working on a project with legacy code where it does not have much code coverage. One of the idea to improve that is to enforce a rule that each code check-in must have test, not only test but ...
5
votes
3answers
338 views

How should I go about “overhauling” a large legacy application? [duplicate]

Possible Duplicate: I’ve inherited 200K lines of spaghetti code — what now? For my next project, I've been tasked with "overhauling" a large legacy web application with many parts. It is a ...
4
votes
11answers
538 views

Is it better to spend resources on a skilled team or good process practice?

Which one of these is of more importance? Skilled team or good process practice? When I say skilled, I mean logical, creative members with good coding and testing skills. Good process would be the ...
4
votes
10answers
702 views

What to do when a project is too difficult to continue developing?

As a developer, can you tell your project manager that an application is unworkable? Or, if you're a project manager, how would you need this presented to you in order to be compelled? This isn't ...
4
votes
4answers
360 views

What is the best way to deal with legacy code not in version control?

What is the best way to develop and maintain legacy code not in version control? Adding it to version control is of course the obvious answer, but if you can't, for some reason, what would you do? A ...
4
votes
2answers
161 views

Deprecated Methods in Code Base

A lot of the code I've been working on recently, both professionally (read: at work) and in other spheres (read: at home, for friends/family/etc, or NOT FOR WORK), has been worked on, redesigned and ...
4
votes
3answers
224 views

Small refactorings on a poor codebase?

In the last two years I have worked with a poorly written codebase of nearly 40K lines of code. Over that time I have made many small refactorings to improve it and made some bigger, as time permits. ...
4
votes
3answers
363 views

Inheritance vs containment while extending a large legacy project

I have got a legacy Java project with a lot of code. The code uses MVC pattern and is well structured and well written. It also has a lot of unit tests and it is still actively maintained (bug fixing, ...
4
votes
3answers
145 views

Creating a Performance Model for a Legacy product

I've been given the task for creating a performance model for a legacy product. The product is about 10 years old and has never had any performance requirements or performance models before. Generally ...
3
votes
4answers
338 views

How do I handle merging code that hasn't been merged in ~3 years in an agile manner? [closed]

Our team has recently adopted agile practices and most of the team is new to agile. In our product, we use some code developed by another team and only they maintain that code. For the last 4-5 ...
3
votes
3answers
252 views

Tips on develop further on a legacy system? [closed]

I was assigned to extend (and eventually maintain) a legacy system (mostly procedural, semi-ball of mud) without MVC. Any tips or suggestions for me going forward? :S
3
votes
5answers
196 views

New Customer Project - Use Legacy Application or Design Something New

We are starting a new project with a new customer. We have a legacy application circa 1997 that we are planning on using to satisfy the customer's business requirements. I have been on the fence as ...
3
votes
2answers
410 views

Methods to rewrite a program [duplicate]

Possible Duplicates: How to approach refactoring an existing web application? Starting a coherent architecture in a legacy application We have a fidelity system running on the company I ...