Advertisment

Dead Languages That Can Help You Get a Better Job

author-image
PCQ Bureau
New Update

You have worked with Java and you know your C# and other .NET languages. You believe that you possess the mantra for success in the development arena. Fair enough. But, so does the guy next door. He has also mugged up Java and burnt his midnight oil with C#. And, there are many more like him who will turn up at the next job interview that you go for. In such a situation, how do you stand out? Definitely not by the number of projects you have done or by how fluent you are in the syntax of any particular language! It's specialization and added skills that can make you stand out in the crowd.

Advertisment

So, what can you specialize in? Heard about COBOL, Fortran, Smalltalk and ADA? You may have heard about them and may believe that they are no more in use. Agreed, their popularity cannot match that of the latest heartthrobs, but knowing these languages can make you stand out in the crowd, and can even get you the nod at the next interview.  

How exactly?



First, there is indeed a good market for people knowing these languages. The following are some scenarios where your knowledge of these old languages may make your day.

l A company wants to migrate a legacy application. That is, rewrite the application in a later language on a new technology platform. For this, you should understand what has been written in the first place. In such as situation, your know-how of boththe legacy and the latest languages will be a boon.

Advertisment

l It wants a legacy application to be maintained and tweaked to accommodate some new needs and rectify some bugs. Don't think that this is a one-off situation. Walk into an organization that has been in business for some years, and you are sure to come across legacy applications. Banks are good examples.

l It wants to document legacy applications.

l It is a software-development firm. Such firms do get occasional projects in older languages.  

Advertisment

The first scenario is the most common one. The second scenario is also rather common, wherein the company feels that the legacy application is doing fine and may, at best, need some minor modifications. As a trivial example, the application may be recording the first names, last names and addresses but not the e-mail of users. If you know the language, it should be easy to add the new field.

Documentation is one of the important yet neglected needs. It may have happened that the application did not get documented and the guys who developed it are no longer available. A wise approach would be to get the application documented before any upgrade or migration. Here is where you can again jump into the picture.  

Older languages are even used for latest development work in some instances, particularly where they have evolved with the times, such as in the case of COBOL. If you are good at programming, learning a language should be a matter of mugging up the syntaxes. Buy a book like Learn the language in 24 hours or 21 days, download the evaluation or free version of compilers and IDEs (Integrated Development Environment) and you should be able to get started in a big way.  

Advertisment

COBOL: Far From Dead

Beyond Y2K, COBOL still has strong moorings  

Advertisment

COBOL stands for Common Business Oriented Language. As the name suggests, COBOL is used to program business-related projects. It is the first programming language for business, while Fortran is the very first programming language. It gained early adoption and its continued use (largely because of its installed base) may be a bit of a surprise to most of us.  

COBOL's survival does make sense, especially after the Y2K bug fixes, where corporates, particularly in the

financial-services sector, invested heavily to fix their code and would certainly not want to throw away the fixed COBOL applications after just four years.

COBOL Vacancies
naukri.com 771
jobsahead.com 616
monsterindia.com 682
Resources
Commercial COBOL compilers  
u www.acucorp.com  
u www.adtools.com  
u www.microfocus.com  
u www-306.ibm.com/software/awdtools/cobol  
Free COBOL compiler
u http://tiny-cobol.sourceforge. net/  
Getting started tutorial  
u www.zomerbijtje.de/books/COBOL/index.htm  

Advertisment

COBOL has been used to develop transaction-intensive business applications that typically run on a mainframe system and interact with a DB2 (IBM's) database. These applications process millions, and even billions, of transactions per day.  



And, they have been doing this for years. Crucial business processes rely on these applications day in and day out. In most cases, there may be no plans at all to rewrite these COBOL applications in a later-day language,
but there would be a need for continued maintenance and documentation.

Job sites (see box) reveal a healthy demand for COBOL programmers. The vacancies range from those for developers and team leads to COBOL consultants. The expected experience level starts from two years and there are a few openings for

those with even lesser experience.

COBOL programmers are also expected to know about CICS (Customer Information Control System), JCL (Job Control Language) and the DB2 database.  

Advertisment

CICS is a transaction-monitoring system while JCL is a scripting language used to execute programs under the batch system of IBM mainframes. About 40 jobs at naukri.com were for people knowing both Java and COBOL. Some of the other site listed .NET and COBOL in the required skills.  

COBOL implementations



Incidentally, COBOL is used not just by banks. NYSP (New York State Police) manages its fleet of vehicles on a mainframe system. A new vehicle record is established upon delivery. The vehicle is then tracked continuously for plate changes, location transfers and surplus information. Handwritten reports are submitted by the users about mileage, fuel and oil consumption and repairs. This information is entered into the system on a monthly basis. The information is available to the fleet-management staff on-line and is

used to generate various reports, analyze vehicle performance and usage and to schedule maintenance. The system is written in COBOL.

Back in our country, BPCL (Bharat Petroleum Corporation Limited) runs a COBOL-based LPG application, which has around 20 million customer records, with 100,000 transactions carried out each month. At

www.microsoft. com/india/casestudies/bpcl3.aspx, there is a mention of BPCL planning to migrate this COBOL application to ASP and MS SQL server. It is in situations such as these that those with both legacy and later-day skills can find opportunities.  

Glimpse of COBOL code



For those who do not know, here's how a simple hello world program looks like in COBOL.

000100 IDENTIFICATION DIVISION.



000200 PROGRAM-ID. HELLO.


000300 ENVIRONMENT DIVISION.


000400 DATA DIVISION.


000500 PROCEDURE DIVISION.


000600


000700 PROGRAM-BEGIN.


000800 DISPLAY “Hello world”.


000900


001000 PROGRAM-DONE.


001100 STOP RUN.








The line numbers in a COBOL program (such as 000100, 000200) are traditional and not required by modern compilers. A COBOL program is broken down into four divisions: IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION and PROCEDURE DIVISION. The IDENTIFICATION DIVISION contains the name of the program. The ENVIRONMENT DIVISION is used when dealing with files. The DATA DIVISION contains variable declarations and the PROCEDURE DIVISION contains the actual code.  

If this has interested you, read our box titled Resources that contains URLs to tools and tutorials that should get you started with COBOL.

COBOL's future  



COBOL seems to continue to play an important role in mainframes and legacy, but robust, applications. COBOL as a language has evolved over time. Now there is even COBOL.NET: that is, you can use the .NET technology with COBOL. This gives the opportunity to use COBOL with other .NET languages, such as C#, VB .NET and J#.  

FORTRAN:   For Engineering and Research

The oldest programming language is still used for scientific and engineering applications

Fortran, which stands for FORmula TRANslation, is used very specifically for engineering and scientific applications because of its early comprehensive vocabulary for number-crunching routines. Engineering students still go through Fortran at least for a semester and many engineering professors don't believe that there is anything better than Fortran for their work!

A point that we would like to make is that Fortran is a niche language that is used best for engineering or research applications. It is used for simulation, machinery control, supercomputing and other specific engineering and scientific applications. If you are an engineering student, you can spruce up your chances of getting a job by revising your Fortran skills.



A look at the vacancy posts at various job sites reveals that a Fortran and C/C++ combo is what most companies are looking for. The desired experience level starts from two years and the desired qualification is usually an engineering degree in the appropriate field, such as mechanical, aeronautical or electronics. A few openings are there for people who can work on mainframes and know Fortran and COBOL.  

Fortran Vacancies
naukri.com 19
jobsahead.com

44
monsterindia.com

28
Resources
Commercial Fortran compilers  
u http://developer.intel.com/soft

ware/products/compilers/fwin/  
u http://developer.intel.com/soft

ware/products/compilers/flin/  
u www-306.ibm.com/software/awdtools/fortran
u www.lahey.com
Free Fortran compiler
u www.gnu.org/software/fortran/ fortran.html
Getting started tutorial  
u www.teaching.physics.ox.ac.

uk/Unix+Prog/hargrove/



tutorial_77

A confusing aspect associated with Fortran is its various standards (or versions). Some job posts mention a requirement for Fortran 77, while some ask for Fortran 90/95. These versions correspond to changes in the language syntax and structure: the introduction of new elements and omission of some. While Fortran 90 and 95 are the latest, Fortran 77 is the most used. Unless there are new developments, more chances are that you may get to work with Fortran 77.  

Fortran implementations



CDAC, which developed the first supercomputer in India, provides a suite of tools for high-performance cluster computing. This includes Fortran 77 and 90 compilers and tools (such as debuggers) that are used to write and deploy

computing-intensive software on CDAC's supercomputers.

NASA has developed a simulation software package written mainly in Fortran with some C routines for use in their RAIF (Research Aircraft Integration Facility).

Glimpse of Fortran code



Here's how a simple hello world program looks like in Fortran.

program helloworld



print *,'hello world'


end

As simple as it looks, the specific thing to note about a Fortran program is that the statements start from column seven. That is the p of the program lies at six spaces from the beginning of the row of a file (text file in which the program is written).



See our box titled Resources for URLs to tools and tutorials to get you started with Fortran.

Fortran's future  



Rich mathematical and scientific libraries (such as for fluid dynamics and high-performance computing) make Fortran an engineers' or scientists' tool. However, C and C++ seems to be overtaking Fortran. With Fortran .NET, the language can be extended to .NET. Lahey Computer  

Systems (www.lahey.com) is offering a Fortran .NET compiler. The need for Fortran programmers seems to continue for some time more with engineering and scientific applications for maintenance and new development. Also, next to C, Fortran seems to be the language of choice for supercomputing applications.  

ADA:   The Language for Defense

Another niche language is ADA, developed by the US-DoD and used specifically for defense projects

ADA, unlike C (which was developed as a general-purpose, high-level language), was designed from ground-up for defense projects. In 1975, a program called DoD (Department of Defense) High Level Commonality was started by the US defense. The goal was to find from amongst existing computer languages, or develop afresh, a single language suitable for all the real-time embedded defense projects. Four DoD contractors worked towards this. After the evaluation of the proposed designs, ADA made its debut. ADA, similar to C, has traits of Pascal programming language. ADA was made the mandatory development language for all the defense projects in the US.

Though developed as a programming language for defense, ADA is occasionally used for civilian projects as well.



ADA is usually used in real-time applications and embedded devices. So, a person knowing ADA is assumed to be comfortable working with embedded devices and preferably be a hardware or electronics engineer.

ADA Vacancies
naukri.com 14
jobsahead.com 24
monsterindia.com 43
Resources
Commercial ADA compilers
u www.gnat.com
u www.rrsoftware.com
u www.ddci.com
u www.ghs.com
Free ADA compilers
u http://www.gnuada.org/
u ftp://cs.nyu.edu/pub/gnat /3.15p/
Getting started tutorial
u http://www.it.bton.ac.uk



/staff/je/adacraft/

The requirements for ADA usually also require the knowledge of C and Assembly. Given its origins in defense projects, ADA is very popular in Avionics projects (see ADA implementations below) and vacancies are available for the same. The expected experience starts from two years and there are also openings for only testing ADA-based applications.

Note, however, that ADA is popular for defense projects more in the US and other countries than in India, where C seems to

be the preferred language for defense projects.

ADA implementations



SIDPERS-3 is a standard management information system developed under the Department of the Army, Deputy Chief of Staff for Personnel in the US. SIDPERS-3 consists of hardware, software, connectivity and training that gathers, stores and

reports information about soldiers and units in an automated form.

ADA was used to develop the FWS (Flight Warning System) of the Airbus A340. The FWS monitors the various systems of the aircraft, detects failures and dangerous flight conditions and generates corresponding warnings. It provides the crew with operational assistance for both normal and abnormal aircraft system configurations. It does this through visual and aural attention getting devices and through the two ECAM display units by means of warning messages and system synoptic

diagrams.

Glimpse of ADA code



Here's how a simple hello world program looks like in ADA.

with Ada.Text_IO;



procedure Hello is


begin


Ada.Text_IO.Put_Line (“hello world”);


end Hello;


The first line declares that the program will use an ADA package called Text_IO. This package contains functions (like Put_Line) to write text on the screen. The remaining program statements go within a procedure (similar to functions, methods or subroutines). Here, the procedure is called Hello. Note that the procedure has a begin and an end.



The latter is suffixed by the name of the procedure. The syntax of the line

Ada.Text_IO.Put_Line (“hello world”);

should look familiar to Java, C++ and C# programmers, since it uses the popular dot notation in object-oriented



programming which is in the form

.

ADA's future



Like Fortran, ADA is also a niche language used in specific domains. Its use will continue in real time and embedded projects. A# (www.usafa.af.mil/dfcs/bios/mcc_html/a_

sharp.html) brings .NET to ADA. If you are an avionics engineer or



work with embedded devices, ADA may complement your work. C is a fierce competitor to ADA and is more popular.

SMALLTALK: The Object-oriented Benchmark

Strengthen your object-oriented skills with Smalltalk

Smalltalk is object oriented to the extent that it is said to be the purest object-oriented language. Smalltalk was developed by the Palo Alto Research Center of Xerox (the same place where the GUI, the mouse, etc were developed). Smalltalk is used as a general-purpose language, such as C, C++, Java and C# and is unlike COBOL

and Fortran, which are used for specific purposes as stated before. 

Although being the object-oriented pioneer, Smalltalk was marginalized by other object-oriented languages such as Objective C, C++ and Java. In our context, Smalltalk falls in the domain of maintenance, upgradation and documentation rather than in new development. 

The job sites have comparatively (to other languages we talked about) lesser openings for Smalltalk. But, in spite of Smalltalk being so old and C++ and Java being strong modern languages, the listed number of vacancies are worth the effort. The entry-level experience for some of the posts are one to two years. 

Smalltalk Vacancies
naukri.com 7
jobsahead.com 14
monsterindia.com 11
Resources
Commercial SmallTalk interpreters/compilers 
u www-306.ibm.com/software/awdtools/smalltalk
u www.objectconnect.com
u www.object-arts.com
Free Smalltalk interpreters/compilers
u www.gnu.org/software/smalltalk/smalltalk.html
u www.squeak.org
Getting

started tutorial 
u www.cs.oswego.edu/~oden

dahl/manuals/smalltalk/tutorial/ squeak.org/tutorials /cphoenix_tutorial/intro.html

Smalltalk implementations



Ezboard.com, a website for online communities, has 14 million registered users. The site lets you create online communities. Ezboard.com went for a Smalltalk-based solution to let the users create the communities in a simple and easy way. The Smalltalk application runs on the hundreds of Ezboard.com servers.

Games are the most object oriented of programs. Object-oriented programming makes writing code for sprites, environment and interaction logical and easy. A soccer game called A Simple Game is developed by Creative Computing Inc in Smalltalk. 

Glimpse of Smalltalk code



Here's how a simple hello world program looks like in Smalltalk.

hello



Transcript show: ‘Hello World'

Here, hello is the name of the class. Transcript is an object which has a method (function) called show. This method accepts a string parameter (Hello World in this case) and displays it on the screen. 

Smalltalk's future 



If you can program well in Smalltalk, then you will have a good grasp over object-oriented concepts. Hence, a switch to Java and C# should be just a question of knowing the syntax. Also, with #Smalltalk

(www.refactory.com/Software/ SharpSmalltalk/), you have little to loose. #smalltalk allows you to use Smalltalk for writing applications for .NET deployment.

There is also S# for .NET (www.smallscript.com or

www.smallscript.org). 

After all, it's the technology that gets obsolete, not the language.

By Shekhar Govindrajan

Advertisment