In my time in government, I've worked on modernizing legacy systems. Though not all legacy systems are worth modernizing, I've found a few "classic" languages in the process that are not the ones you'd expect.
All these "classic" languages share a few things:
Latest Release: 2007
Top on these languages I've encountered is FoxPro, a language that is unsupported now, but was back in the '90s a good language. It was bought by Microsoft and that gave it a sense of enterprise support. I encountered this language at the Environmental Quality Board in Puerto Rico, where there were two "programmers" in this language and a system running on it.
The environmental complaints/issues ticketing system had been modernized not too long ago and it had substituted the outdated FoxPro system. However, this new system was hardcoded with the date as a way for the programmer who made it to ensure job security. When this person wasn't paid or left the consulting company where he worked, maintenance to the application was not given. The tickets for the environmental issues (which included emergencies) had the year as part of the ticket id. When the new numbers for the ticket id's ran out of digits, the system became unusable.
Due to the person that had coded it having moved on from the original consulting company, that company would not have an easy job repairing the old system. Not to mention that putting the year into the ticket id was a design flaw from the very beginning. Cost-wise it made more sense to build a new system right. But in the meantime, the tech people at the agency had resuscitated the old FoxPro system to handle the tickets.
This was an internal system to the agency not exposed to the internet so there were no major security issues, still it's functionality was limited and I was shocked to find not only such an old language but one that had not been supported since 2007. I project managed the project from the RFP (request for proposal) stage, all the way to delivery, in a system written in C# that leveraged the agency's permanent employee's knowledge of Microsoft's SharePoint while extending it to provide an extensible system (with an API) ready for integration with other systems that needed modernizing as well.
But why was FoxPro still used at the agency? In fact, there were trained programmers in it at the agency. FoxPro allowed not just coding but also database management all rolled into one. With the inclusion of "visual" aspects, it allowed for novice coders to be productive in the language. For whatever reason, Visual FoxPro was also very popular in Latin America.
Latest Release: 2015 or 2018 for IDE
Second is a still supported language, Oracle's PeopleSoft. This software is very popular for Human Resources needs. I also encountered this at the Environmental Quality Board. Like Visual FoxPro, PeopleSoft has database administration capabilities as well. This integration with the database, combines the concerns in the code, of both logic and data.
From the Oracle website:
In PeopleSoft Application Engine, a program is a set of SQL statements, PeopleCode, and program control actions that enable looping and conditional logic. A program is defined in PeopleSoft Application Designer and performs a business process.
One of the benefits of PeopleSoft is that it is a system created for Human Resources functions. However, due to federal requirements from the grant money received from the EPA (Environmental Protection Agency), this system required a lot of custom code. And being a proprietary system it required specialized contractors. Thankfully, this was a purely internal system managed by a small team and was still being maintained, so the only thing to do was to ensure and support its continued development.
All these "classic" languages share a few things:
- They're all proprietary.
- They all had or have enterprise support
- They all have outdated UI (user interface) elements reminiscent of the '90s.
Microsoft's (Visual) FoxPro
License: ProprietaryLatest Release: 2007
Top on these languages I've encountered is FoxPro, a language that is unsupported now, but was back in the '90s a good language. It was bought by Microsoft and that gave it a sense of enterprise support. I encountered this language at the Environmental Quality Board in Puerto Rico, where there were two "programmers" in this language and a system running on it.
The environmental complaints/issues ticketing system had been modernized not too long ago and it had substituted the outdated FoxPro system. However, this new system was hardcoded with the date as a way for the programmer who made it to ensure job security. When this person wasn't paid or left the consulting company where he worked, maintenance to the application was not given. The tickets for the environmental issues (which included emergencies) had the year as part of the ticket id. When the new numbers for the ticket id's ran out of digits, the system became unusable.
Due to the person that had coded it having moved on from the original consulting company, that company would not have an easy job repairing the old system. Not to mention that putting the year into the ticket id was a design flaw from the very beginning. Cost-wise it made more sense to build a new system right. But in the meantime, the tech people at the agency had resuscitated the old FoxPro system to handle the tickets.
This was an internal system to the agency not exposed to the internet so there were no major security issues, still it's functionality was limited and I was shocked to find not only such an old language but one that had not been supported since 2007. I project managed the project from the RFP (request for proposal) stage, all the way to delivery, in a system written in C# that leveraged the agency's permanent employee's knowledge of Microsoft's SharePoint while extending it to provide an extensible system (with an API) ready for integration with other systems that needed modernizing as well.
But why was FoxPro still used at the agency? In fact, there were trained programmers in it at the agency. FoxPro allowed not just coding but also database management all rolled into one. With the inclusion of "visual" aspects, it allowed for novice coders to be productive in the language. For whatever reason, Visual FoxPro was also very popular in Latin America.
Oracle's PeopleSoft
License: ProprietaryLatest Release: 2015 or 2018 for IDE
Second is a still supported language, Oracle's PeopleSoft. This software is very popular for Human Resources needs. I also encountered this at the Environmental Quality Board. Like Visual FoxPro, PeopleSoft has database administration capabilities as well. This integration with the database, combines the concerns in the code, of both logic and data.
From the Oracle website:
In PeopleSoft Application Engine, a program is a set of SQL statements, PeopleCode, and program control actions that enable looping and conditional logic. A program is defined in PeopleSoft Application Designer and performs a business process.
One of the benefits of PeopleSoft is that it is a system created for Human Resources functions. However, due to federal requirements from the grant money received from the EPA (Environmental Protection Agency), this system required a lot of custom code. And being a proprietary system it required specialized contractors. Thankfully, this was a purely internal system managed by a small team and was still being maintained, so the only thing to do was to ensure and support its continued development.
Comments
Post a Comment