Why cobol is a high level language




















Great blog! I bought the course just now for just The offer was still valid for 5 hours for anyone who also reads this. Mathematically provable too. I thought that Dijkstra was arrogant, but I must agree with him. I dislike this a lot, it is even worse that Perl or Javascript.

Still, it is workable, and while obviously difficult to maintain, it is simple, and simple has big benefits. JS on the other hand has TS, so fully agree on that. Created two systems and completed. If this is true, then why not revive my memories? The machine was housed in a large air-conditioned room and took up a large amount of space with its disk and tape drives, card reader and punch and line printer. I can see a few differences in the format then to what it is now — but not many.

I now program in PHP and Javascript etc but seeing this brought back a lot of fond memories. I have 18 years hands on experience as a mainframe developer. I work as a IT manager for the state. Currently, since it is my area expertise, I have decided to open up to the demand of opportunities in legacy programming. I have a fully functional office where I am able to work remotely. People on stackoverflow are constantly saying that exceptions are not structured etc.

It really is a terrible language. No matter what the language is. Other languages might force you to be more structured etc. To be fair, language design usually takes into account that people do well with boundaries. And what do you expect: it was developed about 20 minutes after the Chomsky hierarchy was defined. I think the implication of saying that the COBOL language is not simple is that it is complex and useful.

Jimmy James — Next Sentence, as well has periods to terminate scope have all been obsolete since Cobol The saving grace is mainframe technical documentation is excellent compared to other operating systems.

I had to approve a COBOL course in the school in the 80s, I learned the language and approved the course passing an exam to forgot everything for mental hygiene. Many systems said that they had IA technology, when that was not true, just for marketing purposes. OOP, promised a better more modular software, due to the absolute ban of global variables, the pain on the neck of COBOL maintenance programmers. Dijkstra in Youtube. I agree with Dijkstra absolutely! He was not arrogant at all, he always insisted solving a problem one must focus on the problem trying to understand the esence of the problem, the core, using a complex language to reason adds more complexity to the reasoning.

Dijkstra always searched the most simple notation, to concentrate in the solution to the problem, and he was right. Barnje Stroustroup is crazy if he really thinks that his language is better than the parsimonious C, with just thirty something keywords.

I can generate very well structured programs in COBOL if someone wants to pay me a lot of money for that. COBOL has records structures , unions variant types and even a restricted form of exponential types passing procedure names. It lacks good subroutine structure, the standard is not recursive, and has no dynamic memory allocation, but, man I programmed in Fortran IV, where I implemented trees, to write portable code I implemented recursion with an array stack.

The trees were also implemented with arrays. But I could i am not willing to program in it ok! The problem with legacy systems is that they were written at a time where few well trained programmers existed, there were a lot of improvisation.

I knew a COBOL programmer that was originally an office boy, but was invited to be a programmer with the main frame provider for a couple of weeks and almost all programmers in his team had the same formation. That was very common, the consequence was that they were not taught to understand data structures, just the classical batch snippet additions, deletions, changes.

All those legacy systems could be ported to newer languages, but they will fail in most cases if they choose an OO Language. It could be better to improve the structure of ill written programs, removing global variables as much as possible, trying to infer the almost always nonexistent or incomplete specification, and so on.

There is no need to write new programs in COBOL, but that causes not too much harm if it is done with lot of care, by an educated staff, using the educated term in the sense given by Dijkstra. I wish that I were young by maybe. In that paragraph I said that the records and renamed variant records are something good in COBOL, even if it lacked recursion and dynamic memory by the time I learned it. It is possible to do that if you know the theory behind compiler construction.

That is something that an educated in computer science programmer can do, because he knows how to implement recursion in a not recursive language and many other things that those programmers which were experts in other domains in finance for example but were hired as programmers by just learning to code COBOL or any programming language.

I admit that I am too nerd to tell a programmer the design errors in the programs. They take it personal reacting just defending what they did, instead of learning better ways to do their job. I designed with a good programmer who was open what now is called workflow, that emerged from what I knew about Petri nets and the need to automate processes.

We build a prototype but that project was canceled and later I saw a system based on our prototype developed by an external company owned by a friend of one of the managers who voted against our project.

With just what comes in no more than 10 pages of the famous wizard book, that we discussed very enthusiastically he wrote a COBOL program generator, the managers how felt that we were a danger for their position we were not because our boss wanted to open a new department told our boss that we were discussing all the time and separate us in other jobs. But that is not an isolated story, many programmers feel that a way to keep their job is to be the only guy who understands his programs. There are many unmoral people everywhere.

Is a fact of life, so I always try to avoid such environments. Had they first documented the program, then everybody, including them, could be able to understand and maintain each program in the system. COBOL, the older more verbose an limited versions, encourage bad programming habits, that some people thought that OOP was the panacea to solve them.

Just browse any open source repository and the majority of the development has the same problems that legacy code, mainly the lack of documentation. Many of those programs were written by experts in some domain for example medical imaging who learned a language, for example Python, but the code hard to read and of course not reliable.

If you say, hey your program seems fantastic but has a lot of bugs, you could improve your system if you do this and that. The most part of the time they will react furiously defensive. Before you tell me that there are many development methodologies and now the programmers know about them, many of those methodologies are more marketing because they lack a solid formal background and are not real helpers in software development.

I refer to the widespread methodologies that say what qualities are important in software but say nothing on how to achieve it. I really enjoyed Ada and even got to meet Jean Ichbiah. Ada programs on a VAX computer always ran if you could get them to compile.

It might not do what you wanted, but it would run. The problem I had with Ada something I mentioned to Mr. Ichbiah was that it could not do fixed-point math.

All math was floating-point. Even with bit floating-point, most computers are off by a penny after only 1, iterations. Not good enough for banking. The bit NCR minicomputer could produce the correct answer after 1,, iterations. I currently use Java because it is quick and easy. Java lets me connect to any web site and collect financial data with reasonable accuracy.

Do you remember the switch variable? Some programmers hated it and others loved it. For instance a person in a database was listed as a widower.

This caused a problem because the Married condition was satisfied first. The wife appeared to be alive as far the computer was concerned. This could cause higher insurance rate or an extra tax credit.

In the old days space was tight all the logical values were stored together to save space. This was probably repaired by changing the order of testing switch values. The inline perform which code like a for next loop instead of in a separate block is another one. Talking about bad constructs C allows you declare a variable in a for loop or putting more than one statement on a single line.

From a debugging standpoint these are bad practices. I also wondered about the recession around when the real estate market fell. Many companies and governments downsized and many programmers lost their jobs.

I have been a member of the Bcs for more than 50 years. It is pointless comparing these to modern languages. The main point is that some of this software is still running. A testament to these languages. I have noticed that the languages evolve as required.

Many modern languages are certainly far more suited for these fields of applications. Because of better way to abstract concepts, reuse code and isolate behavior, to name just a few topics. Because no one invested in modernizing legacy systems. Actually, this non-investments might have been perfect business decision in terms of the cost vs. Certainly not. Is it better for actuarial computations?

Excellent article. I had to learn new fangled object oriented programming and relational databases took the place of flat files…great stuff! Talk about an unreadable programming language.

It ran, it was fast, gave the same answers, but I understood the code only laboriously—reading a single symbol at a time—5 minutes after he explained it to me. APL is a cousin of C, btw. It has been the dominant language for building business systems ever since. COBOL recently celebrated its 60th birthday.

One live government system is 60 years old. Created for transaction processing, COBOL applications help run payroll programs, manage government pension funds, operate banking systems, manage hotel bookings, book airline tickets, and much more. COBOL is a domain-specific , or specialist, language. In this case, the specialism is business programming.

It is this specificity, portability, and the relatable syntax that has helped keep the COBOL story going. COBOL persists for many equally valid reasons.

Banks, for example, need complete accuracy. Another is that many of biggest enterprises in the world use core applications written in COBOL, and intervention is too risky, or expensive. The third reason is that integrated development environments IDEs the software development tools where developers write, build, test, and debug mainframe programs. This portability, the means to move core applications and systems from where they are to the platforms that will best support future innovation, that form a key plank of many digital transformation strategies.

The Institute for Data Center Professionals program at Marist College in Poughkeepsie, New York, where IBM has had a large presence for decades, was founded in with funding and support from the National Science Foundation because of a concern that mainframe-computing subjects were no longer being taught. But they also provide non-credit COBOL courses, often taken by those who are already employed and looking to add skills. This is all going away. Both work for firms trying to alleviate pressure points, however.

NET as a programming environment. That in turn allows for straightforward programming assistance such as syntax checking. Programming languages have evolved in incredible and innovative ways.

This might help cushion transitions and prevent complete code migrations all at once. Those interviewed for this article and the consensus in government and third-party reports is that, as with any large-scale software-system shift, the odds of failure grow with the size of the project. Glenn Fleishman writes about the price of type in 19th-century America, bitcoin, and nanosatellites.

He is currently completing a collection of sets of printing and type artifacts for the Tiny Type Museum and Time Capsule project. You can unsubscribe at any time. Please see our Privacy Policy for more information. Also in this issue A snapshot of programming language history Programming languages have evolved in incredible and innovative ways.

About the author Glenn Fleishman writes about the price of type in 19th-century America, bitcoin, and nanosatellites. Artwork by Ola Niepsuj olaniepsuj. Topics Learn Something New. Buy the print edition Visit the Increment Store to purchase subscriptions and individual issues. A data-name or identity. It is the name used to identify the area of memory that is reserved for the variable. Variables must be described in terms of their size and type.

To check an alpha number variable for what type of data it holds, we can use if x is number, if x is alphabetic, conditions. It is based on T or F value. If no condition is matched, then the other clause is executed. This is quite similar to the switch statements in other languages. Skip to content. Report a Bug.



0コメント

  • 1000 / 1000