Computer Programming

I have heard this old canard for years now and I seriously doubt its veracity. It may have once been true but it certainly is not true now.

Does anyone have any factual data to back this up? Or are we expected to swallow this UL without murmur or complaint?

I have been a “computer programmer” for twenty years and I have not only never programmed in COBOL – I have never even seen a COBOL program. Pascal, Ada, FORTRAN, BASIC, C/C++, Java, Eiffel, Dylan, Modula-1,2,3, Lisp, Forth, PL/1, SQL, Perl, Python, even JOVIAL. But never COBOL.

The reason I’ve never seen COBOL is because I have always done technical or scientific program. COBOL is primarily a business programming language. If your experience was the opposite of mine (i.e., all business programming) you might believe that COBOL ruled the world.

And what do you mean exactly by “the most commonly-used language”? Most lines of code written? No way it’s COBOL. Most programs written in that language? Ditto. Most programmers employed? I doubt it.

My guesses (and these are only guesses) – Most common language in terms of number of people able to program in it: Probably C/C++, maybe BASIC. Most lines of code written: Tough one. Maybe C, maybe FORTRAN, maybe even COBOL. But with the explosion of the web in the last five years its probably HTML, if you want to call HTML a programming language. Most programs running: Gotta be C. Think of all those UNIX systems running out there. The bulk of that code is written in C. I don’t know what Microsoft wrote Windows in but I’m guessing it’s also C.

Having thoroughly defeated the COBOL crowd, let me add for the record my recommendation to a newbie programmer: Plastics.

No, wait, wrong movie. Java. That’s it. Java. It’s powerful, flexible, object-oriented and has an unbeatable standard library of functions that have already taken care of the tricky bits. C runs a close second, IMO. The two languages are (intentionally) very similar in syntax. But Java was designed for the web and the web is where the future is. Java or some successor to Java will dominate. And someday you’ll tell the young programmer wannabes: “Java is the most commonly-used language.” < snicker >


i think he/is the kind/of person who might if
he worked his way up/in the world/for several
years eventually/get to be/a sneak thief
“king nicky”, archyology
Don Marquis

Wow…good points, all.

I wonder, though, who uses computer assistance more, the technical community or the business community?

My WAG is that business does, though both technology and business drive the industrial community. I’m assuming here that business uses mostly COBOL while technology uses mostly C, with some FORTRAN thrown in.

Besides that, how does the private sector fit in? Most MS products (Office, Windows, etc) are coded in modified C. The same can be said for Linux. No idea what the Mac uses, though.

Nevertheless, the points about UNIX are well-founded, and since that’s a C-based language, perhaps C is the most common.

Anyone have numbers for who uses what? I wouldn’t even know where to look…

-David
You’ve actually used Forth?

Thank you, pluto, for blowing this out out of the water. I’ve been coding for ten years now, and I seriously can’t remember ever seeing a line of COBOL. And I HAVE been in the Business programming field. All I can figure is that the east coast is filled with nothing but antiquated Cobol code, and thus the east-coasters believe that’s all there is. Check any newspaper from Colorado all the way to California - the bulk of the jobs are for C/C++, a smattering of VB, and Java/HTML stuff.

SoulFrost wrote:

I can’t speak for the old MS code, but I can tell you just about everything they do nowadays is C++ and their hideous COM technology. I’ve had the pleasure of working on a joint project between my company and MS. Believe me, there’s very little C code being developed anymore. It’s heavily OO.

If I were starting over again, there’s no way I’d spend time learning Pascal. Jump right in to C, or if that seems too hard, do VB for a while. Nobody can tell me that VB is hard to learn, and it’ll get you a foot in the door. Once you’re good at that, learn C or C++.

Whoops… my build is done… gotta get back to work.

And there’s the reason why we’re seeing things differently, methinks.

Unfortunately for all of us technical/scientific types, the programming community is probably 95% business-oriented and 5% everything else. For every neato econometric-modeling / weather-forecasting / e-commerce program out there, there are a hundred payroll programs - and those payroll programs tend to be written in COBOL.

(I have never programmed in COBOL, won’t even admit to being able to read it, and at this late stage in my career am confident that I’ll never be forced to touch it - but that doesn’t mean it still isn’t out there.)

I myself can’t believe that JCL still exists - but I keep seeing messages from our mainframe programmers referring to STEPLIB statements, so I guess it does.

He didn’t blow it out of the water, he doubted its veracity :slight_smile:

I’ve been beating up the search engines attempting to find a definitive source listing the various computer programs by (any measure of) popularity, but so far I’ve come up empty.

The best I could do was several web pages that made statements like “Although it is frowned upon by many programmers for being outdated, COBOL is still the most widely used programming language in the world.” (this from an “Ask Jeeves” response that gave me a nice-looking document buried under the “ask Jeeves” header so that I couldn’t come up the the original URL - bah, humbug). Hardly proof, given that I can’t even come up with the source URL names.

Search.yahoo.com did come up with two current articles talking about the high current demand for COBOL programmers: this one from Information Week claiming that COBOL programming is the hottest IT skill http://informationweek.com/608/08cast2.htm and this one from Computer World that just refers to COBOL as being one of the most in-demand skills http://careers.computerworld.com/home/print.nsf/all/990712B386

(Bear in mind, folks, that I don’t like COBOL, and I’d actually prefer that it not be in use so much.)

As a COBOL mainframe programmer/consultant for over 25 years, here’s some ideas you may find helpful.

  1. Check the want ads of your local Sunday paper for the number of openings for the stuff you might be interested in. There’s also got to be stuff on the web about this. Try the various trade magazines, such as Computerworld. I also believe Computer Currents may have information on this.

  2. Don’t learn COBOL first. Learn C++ or whatever first. Reason: You may never need COBOL. If you do, it will be easier to learn once you have already learned another language. Of course, YMMV.

  3. If you go into the COBOL/business world, the db access method used is also helpful to know. Oracle and IBM’s DB2 are two big ones.


But where were the Spiders?

COBOL. Isn’t that like down-sizing? :frowning:


“What’s right is only half of what’s wrong
and I want a short-haired girl
Who sometimes wears it twice as long”
George Harrison - Old Brown Shoe

Well, now that we’ve heard from the old school here’s the Dope from someone who did exactly what you wanna do: me. I went from a job at a bank doing customer service to a great job as a programming instructor. These are the steps I took:

  1. Learn Visual Basic. Now everyone’s gonna complain “VB’s not OO”, “VB’s a kid language”, “VB doesn’t promote good prgramming skills or precise algorithms”. To which I say “WHO CARES”. It gets the job done, it gets it done fast, and it’s easy to learn. If you take the C route you’ll spend forever just trying to get “Hello World” to pop out on a command line;if you’re like me you’ll probably wanna quit (and I did) halfway through “C for Dummies”. Learn C and stuff like that later. VB will get you out the door and marketable fast.
    2.Get certified. I’m gonna guess that you can’t take the next 4 years off for a CompSci degree. And who says you should? Mostly people who have taken that route and don’t think there are any other ways into the market. MS has a program called the MCSD (Microsoft Certified Solution Developer). It’s a title that you get once you pass 4 exams to prove your mastery of MS programming. It’s no guarentee you’ll get a job, but lacking a 4 year degree it will help to flesh out your resume.
    3.Take any job you can get. The first one’s the hardest. I started out as a tester. Job sucked donkey b@lls. But 9 mos later I had experiance on my resume and I was out of there and onto (much) bigger and better things.
  2. Since you are a teacher already consider becoming an MCT (Microsoft Certified Trainer). This is what I do now. There are trade offs though. I travel alot. But I only work 2 weeks a months, pull 100k a year, and spend the rest of the time sitting around in my underwear watching cartoons.
    Do I have a CompSci degree? No. I was pre med (drank too much and didn’t get into med school).Do I have 30 years experiance? No, in fact I have about 2 years. I’ve never even seen a mainframe, don’t have any amusing stories about dropping boxes of punch cards, and wouldn’t know a C program if it was taking a piss on my hush puppies. Don’t buy into the “you must suffer through C(or C++ or PASCAL or COBOL)” tripe. There’s no reason to. There are tons of VB jobs out there. And don’t believe that stuff about one particular language “teaching” you to be a better programmer. You can right a crummy C program. It’ll just take you 10 times as long.

Here are some links you might find helpful:
The Certification Steps at MS: www.microsoft.com/mcp/certstep/steps.htm

A book that teaches programming with VB: www.amazon.com/exec/obidos/ASIN/1902745000/qid=951969024/sr=1-8/104-6566773-7562068

The book has 127 reviews with an average 5 (out of 5) stars. It even includes a free version of VB for you to use!

Remember these are only the first steps. No one can make you study. Which brings me to my final point. No matter how smart you are unless you are willing to spend most of waking hours actively learning you will not make it in this field. Sure, maybe in 10 or 15 years your brain’ll get a little soft (happens to all of us) and you won’t be able to keep up. That’s when you become a manager or spend your time supporting legacy systems(which apparently means you spend all day complaining about all the punks they’re hiring and praying you don’t get fired before you hit retirement age). But for now, at this point in your career, your brain should have a voracious appetite. You have tons and tons to learn. Good Luck!!! :slight_smile:

James Carroll
MCSD,MCT

Marketability of language skills

  1. Java
  2. Microsoft Visual C++ for ASP and ActiveX
  3. Visual Basic
  4. UNIX C/C++
  5. Microsoft Visual C++ for non internet programming.

I’m a contract programmer. The above list is based on queries by my agents. Note that Java seems to bet about twice as popular as the 2nd place MSVC++

He’s the sort to stand on a hilltop in a thunderstorm wearing wet copper armor, shouting ‘All Gods are Bastards!’

I wasn’t able to find anything on the web about the popularity of various programming languages either. But if I had to guess, I’d say that there’s a huge body of legacy COBOL code out there that needs to be maintained, but that even in the business world new applications these days tend to be C/C++. Java is an up and coming thing, but so far there aren’t many real applications built in it. C/C++ is still the king of that particular hill, I suspect.

As for the Microsoft certification courses, I suppose they can’t hurt, but in no way shape or form will they give you anywhere near the sort of background you’ll get with BS or MS from a good university. It’s not the same sort of thing.

If it takes 30 lines of COBOL to do what can be done in one line of C++, perhaps it’s true :slight_smile:


peas on earth

I learned BASIC in the early 80s. It actually was useful once. I was sending meteorological data to Houston during a shuttle mission and the program didn’t work. This is literally in the middle of the night and if we couldn’t get the data transfered on the Tektronix machine, we’d have to hardcopy the data, go down the flight line to NASA, and FAX it. BASIC allowed me to fix the program and send the data. Haven’t used it since.

I also took FORTRAN. Hated it.

I now work for a large information company. We work with JCL every day to run our programs… which are COBOL. Yes, COBOL is still out there, and there are a lot of jobs for people who know it. I learned Easytrieve Plus because we use it. I recently took an in-company intro-to-COBOL class and found it similar to EZ+. IMO, logic is logic. You just need to learn the syntax.

I also took a JAVA familiarization class. It was my first exposure to object-oriented. Everyone else already knew C, so I was a bit lost in the syntax. I caught on near the end and plan to persue it and C/C++ even though they are not directly involved in my job.

The reports of the demise of COBOL and JCL are premature, but they can’t last for ever. Right now there are plenty of jobs out there, but object-oriented is newer and better I think.

I’ve been a programmer for 25 years, and I’ll second the recommendation that you learn VB or Java.

I am a hardcore C programmer, but it’s seen its day. And yes, while C is better for teaching fundamental programming techniques, it sucks for teaching the principles of Object-Oriented Programming. Unlearning the habits of procedural programming in ‘C’ can be just as tough as unlearning whatever bad stuff you might get from VB.

The ‘power language’ of choice is C++, but the learning curve is daunting for a new programmer, especially if you’re using Windows and have to learn the quirks of MFC programming at the same time.

Overall, I’d recommend Java.

As for COBOL being the most popular language, I really doubt it. I think that was true a few years ago, and the saying is still floating around.

Even if EVERYONE used COBOL 20 years ago it wouldn’t be the most popular language, since the worldwide codebase created in the last 20 years has got to be a couple orders of magnitude greater than all the code created before that.

And like a couple other guys here, I’ve never written a line of COBOL code, and don’t know a single programmer who has. And I’ve been in the industry since 1985.

Maybe you do know one or two, but they’re just afraid to admit it for fear of going back. COBOL is like circus peanuts; most people look at it and recoil in disgust, but there must be the oddball few who actually like it. Can’t say I’ve met any of those, tho.

Regarding the OP, I like the idea of picking up problem solving books as an introduction to algorithmic thinking. One might also consider taking math and physics refreshers, as good math is obviously vital to programming, and physics teaches basic problem solving techniques.

I’ve written programs in about 20 different languages (though I suppose if you don’t consider scripting a “language”, reduce that by about 5). My personal favorite is the much less popular Progress, which is just so much easier than any of the others I’ve seen. Of course, after you’ve written a couple hundreds programs in one language, you acquire an intuition on how to find bugs and make things work for your particular compiler.

My 2 cent recommendation? Download a few demo copies of different compilers (Java, C++, C, VB, even Pascal or COBOL if you can find them) and play around a little bit with each until you find one that seems the most intuitive to you. Then use that one to learn about creating systematic solutions to problems. (Of course, you should probably buy the compilers you really intend to use…) Once you have that problem solving skill, take a few of the programs you’ve written and rewrite them in another language. Once you’ve mastered the basics, then concentrate on learning marketable languages. Certainly it would help to learn to program in Java or C++ from scratch, but if you’re scaling a mountain, the gentle slope is far more forgiving than the vertical face.

My two cents:

If you are tempted to learn Visual Basic first, immediately get Delphi instead; I believe there’s a free trial somewhere at http://www.inprise.com/delphi/ . It’s just as simple as VB, but has the added bonus of being based around a language (Object Pascal) that exhibits the advanced features and concepts of all the other modern languages: pointers, true object orientation, etc.

And Delphi won’t let you down or frustrate you when you use it for a complicated project. The entire Delphi development environment is itself written in Delphi.

Perhaps “simple” wasn’t the best word there. What I meant was that it’s just as easy to get something done quickly with Delphi as it is with VB: you design the interface by dragging controls onto a form, then write code to change what happens when the user interacts with them.

I’ve been a programmer for 20 years. Let me ask you this… Can you handle stress? Can you deal with consecutive nights with no sleep? I work for a good company. I try to keep myself in shape. However, there are times when I want to curl up into a little ball and cry myself to sleep. But of course I can’t, cuz of the telephone, the e-mail, the beeper… There’s a lot to be said for a job you can walk away from at the end of the day.

Delphi is nice enough, but it’s still Pascal. Another possibility is C++ Builder, also from Inprise. It has much the same environment as Delphi, and can use the same components, while letting you work in C++.

One more point: Many business apps (I’d say ‘most’ but have no stats) aren’t even done in any stand-alone programming language, but are built in some sort of database package, often without writing any code at all. Define some tables, forms and reports, and the package handles all the details. I find it pretty boring, but some people like it.


Bob the Random Expert
“If we don’t have the answer, we’ll make one up.”

The most in demand skill-sets now (and they will doubtlessly become more so) are currently in rapid-development tools. VB, Java, Delphi, Powerbuilder etc. Learn any one of these and you’ll be able to pick up the others in a matter of a couple days.

As others have said, the logic and structure of OOPS is what is most important - the language itself is mainly syntactical. I myself work primarily with VB - I consider Delphi a superior language but its not quite as commonly used. The nice thing about Delphi is that it produces executables that can be free of any run-time libraries - if you don’t make any calls outside the API then all you need to give someone is the EXE. Also Delphi fully supports inheritance, it is a true OOPS. If you eventually want to get a job that requires C++ - all this background will only help you.

If you want to say that VB and Delphi etc. promote sloppy coding - well, your obviously an old bigot and there is no sense reasoning with you :slight_smile:

Seriously though, you can code badly in any language, and you can code well in any language. If I were you right now, I’d download the Delphi demo and find a good book and get cracking. I can’t recommend a good book because I didn’t need one…but for a first language you will.

I don’t know how you will get your first job. I got my first job on a help desk and got a programming position by writing support software in between calls.

As an employer of Software Engineers for many years in the heartland of Silicon Valley, I can tell you that Single Dad is right on the money with his list:

Sure, there’s work out there for COBOL and other legacy languages. But that work is thinning, plus it’s not exciting. All the new shiny stuff is in the list above. If you’ve got COBOL experience, by all means, take advantage of that knowledge. But if you’re just starting out, go with the new stuff.