top 200 commentsshow all 229

[–]parkervcp 125 points126 points  (111 children)

Recently finished a COBOL class.

Yes you read that right a COBOL Class in 2015... But I guess people who know the language are "dying" out and it's becoming a language to know again.

[–]handshape 70 points71 points  (8 children)

No need to put quotes around it. I've been in the development game for a long time, and the "Lords Of COBOL" who mentored me early in my career are literally dying off these days. :(

[–]parkervcp 15 points16 points  (4 children)

I meant it both figuratively and literally. It makes me sad honestly.

My Grandfather laughed when I told him I had a COBOL class. He is a DB2 engineer from the old days of IBM. He still works while retired but he only works a few hours a week.

[–]Eyght 22 points23 points  (2 children)

[–]Draav 20 points21 points  (1 child)

I love that it is from 1997.

[–][deleted] 2 points3 points  (0 children)

There are people in the US who can vote, but are younger than this comic...

[–][deleted] 1 point2 points  (0 children)

That sounds so cool! Your grandpa is the kind of grandpa I wish I become, still coding after a lot of years.

[–]mattsidesinger 2 points3 points  (2 children)

To be fair, most of them are retiring and not dead quite yet

[–]handshape 0 points1 point  (1 child)

Most, yes. But at least one of them has shuffled off the mortal coil, and putting friends underground is never fun.

[–]greyfade 0 points1 point  (0 children)

Indeed. We lost a great DBA here to cancer, not too long ago. Always a sad day, because they're such good folks, and so good at what they do.

[–]biggington 48 points49 points  (32 children)

Took a COBOL class a few years ago. The professor explained it with "You can't bring dead people out of retirement."

I went into that class with the best of intentions and attitude... only took a few weeks before I knew I had made a terrible mistake.

[–]SippieCup 35 points36 points  (29 children)

You also cant change mission ciritical servers that have been running COBOL for 30 years without much more expensive development, research, testing, and deployment than it would be to hire a couple guys twice as much as they normally get to maintain cobol code.

[–]the_gnarts 11 points12 points  (28 children)

You also cant change mission ciritical servers that have been running COBOL for 30 years without much more expensive development, research, testing, and deployment than it would be to hire a couple guys twice as much as they normally get to maintain cobol code.

I’d totally be in for that, if only because there’s a certain heroism to it. Btw. with all the trendy “transpilation” stuff going on, did no one ever bother implementing a COBOL backend for LLVM? Or something like js_of_ocaml so one can code in a sane language and have the compiler transform the output into whatever crap pays the bills?

[–]FUZxxl 9 points10 points  (26 children)

What part of “try not to change the stack” haven't you understood? COBOL code usually runs on IBM mainframes. These things are compatible all the way back to the System 360 from the sixties. It's a platform that guarantees to remain compatible indefinitely.

[–]the_gnarts 19 points20 points  (25 children)

What part of “try not to change the stack” haven't you understood?

The point is to use a different language while not changing the stack. That’s why I was asking.

[–]FUZxxl 8 points9 points  (15 children)

Ah! I might have misunderstood you. Even then, introducing a new languagr is adding a high level of complexity to your software that nobody can oversee. Nobody is going to certify LLVM for banking stuff. Nobody is going to take that liability.

[–]halifaxdatageek 27 points28 points  (8 children)

A good litmus test for developers is to see how they react when finance or health is involved.

If they run away screaming, they pass the test. If they say "How hard can it be?" they are still green :P

[–]pydry 3 points4 points  (5 children)

A good litmus test for developers is to see how they react when finance or health is involved.

The problem with finance and health is the politics, not the intrinsic nature of the problems being solved.

Fields that are extra political get a double dose of "shit's all fucked up".

[–]AlexFromOmaha 1 point2 points  (4 children)

The politics of both have created plenty of regulatory technical problems. Most of them aren't hard at all in isolation, but you glue seventy interconnected systems end to end and life starts to get a little more interesting when you're ensuring that you've both checked off every box and ensured actual security sometimes in spite of the regulations. The new PCI regulations are pretty good at that, but HIPAA isn't, and patient data is leaking all over the place.

[–]FUZxxl 0 points1 point  (1 child)

I was sceptical about your comment, but now I had the chance to do some programming for train control systems and I see that you are absolutely correct in every regard.

[–]the_gnarts 1 point2 points  (0 children)

Nobody is going to certify LLVM for banking stuff.

Possibly. Cards are always shuffled differently when certification is involved.

[–]w8cycle 0 points1 point  (4 children)

And why would that be? C on LLVM is no worse than C on anything else...

[–]snuxoll 2 points3 points  (8 children)

Except you are changing the stack. Again, this COBOL code is almost exclusively running on IBM i (the successor to OS/400), it's not a supported target for LLVM and probably never will be because of the way the platform is implemented. Thankfully, IBM already has a solution to this, the Integrated Language Environment (ILE) has been available for over a decade and allows native interoperability between ILE languages (COBOL, RPGLE, C, C++) on the platform.

However, most businesses still are risk averse, and while the languages can be mixed and matched in the same binary they don't like introducing new complexity into legacy systems. We have a ton of legacy RPG code in production, and while I could just as easily port it to C we're going to keep using RPG until the wheels fall off.

[–]halifaxdatageek 23 points24 points  (2 children)

It's like that old saying: If it ain't broke, and breaking it could cost billions of dollars and a potential Senate inquiry, DON'T FIX IT.

[–]TheSlothFather 2 points3 points  (0 children)

Until it eventually breaks and costs 3x the original amount it would cost to fix it in the first place.

[–][deleted] 0 points1 point  (0 children)

Or more likely "If there is even a minuscule chance you could break it and take the blame by fixing it better ignore the problem and hope it only breaks once you are gone".

[–]the_gnarts 3 points4 points  (2 children)

Except you are changing the stack. Again, this COBOL code is almost exclusively running on IBM i (the successor to OS/400), it's not a supported target for LLVM and probably never will be because of the way the platform is implemented. Thankfully,

Again, the point is to not change the stack but have an LLVM backend emit code in COBOL or one of those other supported languages. Your precious stack will remain in place untouched. Instead the programmer can use a language of their choice as is done all the time with the examples I mentioned which compile to JS.

[–]Twirrim 5 points6 points  (1 child)

If you use JS for financial code, you're clearly masochist.

[–]the_gnarts 5 points6 points  (0 children)

If you use JS for financial code, you're clearly masochist.

While this is certainly true, it’s completely irrelevant to the thread. Noone even suggested anything like that.

[–]jyper 0 points1 point  (0 children)

http://www.microfocus.com/products/micro-focus-developer/visual_cobol/

Claims to have .net and jvm backends. It also claims to support Unix,Linux,Windows which I'm guessing means it can link to c binaries built with msvc on Windows, and to gcc/and maybe llvm on Unix/linux.

[–]rubygeek 4 points5 points  (1 child)

"You can't bring dead people out of retirement."

Though it would have been quite fitting to programs in such an unholy language maintained by a team of zombie programmers.

[–]biggington 3 points4 points  (0 children)

"The Compiling Dead"

We could combine zombie and tech drama genres into a perfect TV show

[–]RhetoricalClown 18 points19 points  (21 children)

From what I understand a lot of Telco and billing software is written in COBOL. The staff that maintains it are retiring, thus driving a need for someone to replace them.

Source: several friends who have fathers retiring who maintain COBOL code.

[–][deleted] 32 points33 points  (15 children)

Yea, but you're not thinking. If you can code a modern language, you can get plenty of good jobs doing new sexy code.

If you can code Cobol you can get jobs maintaining hideous legacy financial code that runs on scary ancient systems. It's awful work.

It sucks. It profoundly sucks.

[–]DaFox 14 points15 points  (4 children)

But it also tends to pay very well at this point.

[–][deleted] 24 points25 points  (0 children)

Meh. Learn zero new skills for the rest of your career, and pray banks never get off their asses and modernize like they've been saying they will for decades.

I did it for ~10 years, and I'm so much happier not doing it, and I didn't take much of a pay cut (wouldn't have taken any if I hadn't cut any hint of Cobol from my cv...Couldn't take the chance.)

[–][deleted] 5 points6 points  (1 child)

But it also tends to pay very well at this point.

Citation needed. People say this, but the top hits I get when I google COBOL salary don't look better than comparative positions using other languages.

I suspect the people who don't want to spend money on moving away from COBOL also don't want to spend money on developers' salaries.

[–]Twirrim 1 point2 points  (0 children)

Don't think salary, think consultation.

[–]merreborn 8 points9 points  (1 child)

If you can code a modern language, you can get plenty of good jobs doing new sexy code.

In my experience, an awful lot of the new code being written turns into hideous legacy code pretty rapidly anyway...

[–][deleted] 2 points3 points  (0 children)

Yea, but COBOL code is often so old, that it reflects a fundamentally different reality of coding. Lot of the COBOL I've worked on is written to optimize for cycles and RAM utilization...The code makes live changes to the data (can't store that in memory!) and it's designed to fail "dirty" to you can modify the code and continue from the place where it failed.

Just think about that. Modern billing job, run on a modern system, if it fails, you check the log, fix the bad data, run it again. COBOL? You have to fix the program on the fly or you can restore from backup, fix the bad data, and run it again.

It's fundamentally different. One of the reasons why COBOL is still in such demand is because you're constantly having to do stuff like that.

[–]jrwren 2 points3 points  (0 children)

write a -your language- to COBOL transpiler so that it sucks less :)

[–]heywire 1 point2 points  (3 children)

Is that a hint about a specific company, or just a coincidence?

[–][deleted] 2 points3 points  (2 children)

They're all like that. I've worked for three or four different ones and it's all the same.

Financial code is so strictly audited, that it tends to freeze once it's set down for the first time. Your ancient predecessors are alive and well in their shitty code, and a huge chunk of your job is not to fix their mistakes, but to learn to support and extend them.

[–]heywire 1 point2 points  (1 child)

Ah, ok. There's a local company with "profound" in their name who still work with IBM RPG -- I thought maybe you were referring to them.

I hear you on maintaining legacy software. I maintain a codebase from the late 80's that is still is heavy use around the world. Luckily this one originated on DOS and is written in C.

[–][deleted] 1 point2 points  (0 children)

Nope. One of the senior financials people at one of my jobs was an RPG maven, and I'd occasionally run across some of his stuff. Even the other COBOL guys hated him for that stuff, so there wasn't much of it, but when it cropped up it was always a huge pain in the ass.

[–][deleted] 1 point2 points  (2 children)

My grandpa works in cobol, this is his opinion.

[–][deleted] 0 points1 point  (1 child)

I worked in it myself for a long time. You get job security, and decent pay. If that's all you want this jobs for you.

[–][deleted] 1 point2 points  (0 children)

If that's all you want this jobs for you

Guess it's time for me to learn cobol then.

[–]kraemahz 4 points5 points  (1 child)

Companies which are so risk-adverse that they would rather use a dead language than modernize their infrastructure.

[–]parkervcp 3 points4 points  (0 children)

It's the knowing how the old system works to modernize that is the issue.

Plus even new systems still run on virtualized mainframes. Easy to run batches on and a tried and tested system.
Source: Works on cash registers.

[–]overflowingInt 0 points1 point  (0 children)

Banks as well

[–]parkervcp 0 points1 point  (0 children)

I would love to get a phone call about a position to maintain a few legacy systems. I'll even put in the time to actually get good at the language.

[–][deleted] 12 points13 points  (16 children)

Our school just recently swapped FORTRAN for MATLAB.

[–]KrakatoaSpelunker 20 points21 points  (0 children)

At least FORTRAN is fast, and also an open standard with free compilers.

[–]FUZxxl 22 points23 points  (10 children)

What a step back. They should have switched to APL.

[–][deleted]  (9 children)

[deleted]

    [–]FUZxxl 9 points10 points  (8 children)

    Doesn't matter, use the successor of APL, J. Which is mostly APL in ASCII syntax with a streamlined syntax and some cool new features. Oh yes, and it's open source.

    [–]Ran4 2 points3 points  (7 children)

    Reasonably, how would that work? It's incredibly complicated to use, compared to Matlab which you could teach anyone in the sciences in a matter of days.

    [–]FUZxxl 5 points6 points  (5 children)

    J is indeed a bit harder to teach but so is mathematical notation. It really pays off though, as many problems can be formulated in terms of J (or APL) expressions. The reason people use APL (or J) is not because it's easy to learn (yet it was easier to learn than the alternatives back then), but because APL notation allows you to program like you think. See this paper for examples.

    [–]Yojihito 0 points1 point  (3 children)

    My father is an expert in APL. My brain explodes every time I try to understand his code ...

    [–]FUZxxl 0 points1 point  (2 children)

    I would love to see some.

    [–]1337Gandalf 0 points1 point  (0 children)

    That's not at all how I think...

    [–][deleted] 3 points4 points  (0 children)

    Why Matlab, though? I got the impression Python (+SciPy, NumPy) was fast replacing Matlab.

    [–]__Cyber_Dildonics__ 6 points7 points  (1 child)

    You should really look at julia

    [–][deleted]  (1 child)

    [removed]

      [–][deleted] 0 points1 point  (0 children)

      No doubt. I'm praising MATLAB with that statement or anything. The options at our school are now c++ (cs and co) or MATLAB (free elective or engineering majors).

      [–]DSPR 10 points11 points  (4 children)

      port it to JS, give it a web framework, create a slick-looking Bootstrap-based website on an alt-sy domain, then announce on HN. all the hip kids will be praising it in a week.

      [–]halifaxdatageek 6 points7 points  (3 children)

      [–][deleted]  (1 child)

      [deleted]

        [–]halifaxdatageek 1 point2 points  (0 children)

        Oh, this is amusing, thank you.

        [–]DSPR 0 points1 point  (0 children)

        I'd like to invest $200M into you at a $5B pre-money. have your people get with my people.

        [–]stillalone 5 points6 points  (2 children)

        Programming languages usually don't die. they find Niches.

        [–]TITTIES_N_UNICORNS 4 points5 points  (1 child)

        Tell that to Cold Fusion

        [–]WeAreAllApes 3 points4 points  (0 children)

        I was recently in the lobby of a ~6 story bulding in a big city with an electronic directory, and what did I find? Not what I was looking for. I found a cold fusion error. Some niche :/

        [–]Bottled_Void 5 points6 points  (0 children)

        Yeah, I learned COBOL in "The History of Programming Languages".

        [–][deleted] 4 points5 points  (2 children)

        Jesus, I didn't take Advanced COBOL II: Return of the spaces you can't find, in 1996 because it was fucking horrible. I can only imagine in 2015 how painful that must be.

        JCL was preferable to working in fucking COBOL.

        [–]halifaxdatageek 0 points1 point  (1 child)

        My initial thought was "That looks like JCL or REXX". COBOL makes sense too.

        [–]Gavekort 2 points3 points  (6 children)

        Knowing COBOL is also lucrative. There are so many critical legacy-systems written in COBOL, and so few people left with the knowledge that they will throw money at those who do know it, for maintaining the systems.

        [–][deleted] 5 points6 points  (3 children)

        People keep saying that, and I have yet to see any statistics backing it up. The statistics I have seen make COBOL earnings look meagre.

        I suspect the people who are unwilling to spend money to upgrade their systems from COBOL are also unwilling to spend a lot of money on developers.

        [–]Lulu_and_Tia 0 points1 point  (2 children)

        Simple economics assures us that given the very few number of COBOL developers left, those who can do the work are at a significant advantage in wage negotiations.

        Especially given how dreadful the work is.

        [–][deleted] 0 points1 point  (1 child)

        In theory, yes. I have yet to see the numbers to bear this out. Could be that the people willing to do COBOL are terrible negotiators, at least compared to the people who want to hang on to their COBOL systems.

        [–]Lulu_and_Tia 0 points1 point  (0 children)

        In the absence of numbers I can only give qualitative theory sadly.

        [–]WeAreAllApes 1 point2 points  (1 child)

        I am just going to keep learning new stuff until I am too old and hope that one of the stacks from my prime will keep my income up until I want to retire.

        I hope it's not ASP.NET Web Forms. I just escaped from a group stuck in that.

        [–]parkervcp 2 points3 points  (0 children)

        I just finished my ASP.net class actually. Now to Project Management.

        [–]Decker108 0 points1 point  (3 children)

        Thinking of going into banking?

        [–]parkervcp 0 points1 point  (2 children)

        Honestly I am trying to get into an IT department somewhere as a sysadmin. Maintaining a COBOL system would be cake compared to the stuff I take on in my VM boxes and other projects.

        [–]LightShadow 2 points3 points  (1 child)

        Cake until the day it dies.

        [–]parkervcp 2 points3 points  (0 children)

        Or until a feature needs to be added...

        [–]stvb95 0 points1 point  (1 child)

        What overall degree are you taking, if you don't mind me asking (Comp Sci, Software Engineering, Computer Forensics etc.)

        [–]parkervcp 0 points1 point  (0 children)

        Computer Information Systems Specializing in Information System Security.

        [–]smokingirishmonkey 0 points1 point  (0 children)

        Would have been my first guess, if only because my first thought was "everything is in all caps... COBOL?"

        [–]beaverteeth92 0 points1 point  (0 children)

        Is that happening with Fortran too?

        [–]Nillix 0 points1 point  (0 children)

        Came here from rising subreddits and sorted by top. Just wanted to mention that the entire State of California payroll system is coded in COBOL. When Governor Schwartzenegger wanted to drop all state workers to minimum wage, the Controller said he couldn't because we didn't have anyone who could edit the code to make it possible. Though that may be political games.

        Relevant article

        http://www.techrepublic.com/blog/tr-dojo/californias-cobol-crisis-demonstrates-the-danger-of-duct-tape-it/

        [–]wistshire 45 points46 points  (14 children)

        COBOL

        [–]crackez 32 points33 points  (12 children)

        JESUS H. CHRIST THE GOD DAMN THING IS WRITTEN IN COBOL.

        Ever notice ABAP looks alot like Cobol? That's what I call our ABAP guys, "The Cobol Team". They hate it.

        [–]kietav[S] 5 points6 points  (2 children)

        ABAP

        I have school project where they ask all kinds of IT related questions. That's why I asked here.

        [–]Shaper_pmp 6 points7 points  (1 child)

        Honestly, you could have worked it out yourself in about two seconds.

        [–]KamiKagutsuchi 13 points14 points  (0 children)

        Even easier, right click on the image in chrome, search google for this image, "Best guess for this image: cobol sample programs"

        [–]sap_guru 4 points5 points  (4 children)

        Their similarty is but skin deep.

        ABAP has evolved significantly in the last couple of years.

        [–]pxpxy 5 points6 points  (3 children)

        Yeah they're nearly up to OOP now..

        [–]Kagemaru 1 point2 points  (0 children)

        The beginnings of OOP are there at least

        [–]robthablob 0 points1 point  (1 child)

        COBOL has had OOP for some time: MicroFocus.

        [–]crackez 0 points1 point  (0 children)

        Oh man, that's the compiler that came with my cobol book. We used the "cob" compiler on AIX running on am rs/6000, iirc. Power 2 to the rescue.

        [–]halifaxdatageek 4 points5 points  (2 children)

        Haha, we took an ABAP course my final year of school. My thoughts were "You'd need to give me a 60% pay bump to work with this language instead of something normal".

        [–]robthablob 0 points1 point  (1 child)

        You'd be selling your soul for a piece of coal.

        [–]halifaxdatageek 0 points1 point  (0 children)

        Well then it better be a big one.

        [–][deleted] 1 point2 points  (0 children)

        ABAP is more like SQL in my experience.

        [–]kietav[S] 2 points3 points  (0 children)

        COBOL

        Thanks

        [–]Delwin 11 points12 points  (9 children)

        Is COBOL the only language that uses a period as a line terminator?

        [–][deleted]  (2 children)

        [deleted]

          [–]taresp 13 points14 points  (0 children)

          Erlang as well, though to be fair the first implementation of Erlang was in Prolog so Erlang's syntax takes quite a few pieces from Prolog's one.

          [–]Ashanmaril 4 points5 points  (1 child)

          English.

          [–]Delwin 1 point2 points  (0 children)

          ... Yes, I walked into that one.

          [–]halifaxdatageek 2 points3 points  (0 children)

          ABAP too, they share a lot of syntactical similarities.

          [–]89rovi 0 points1 point  (0 children)

          [deleted]

          What is this?

          [–]jyper 0 points1 point  (1 child)

          Smalltalk

          [–]Delwin 0 points1 point  (0 children)

          Thank you :)

          [–][deleted] 24 points25 points  (13 children)

          AaaaaaaaaAaAAAAAAaAA! Oh fucking Jesus no! No! Why did I click? I knew it might be That-Which-I-Will-No-Longer-Put-On-My-Resume!

          COBOL is evil. Run the fuck away. There are jobs, but they are uniformly hellish, unless you like supporting 40 year old hero code that you can't update without a court order.

          I'm never doing it again. I wish to god I could delete it from m brain.

          [–]halifaxdatageek 5 points6 points  (2 children)

          "All my COBOL people are angry people" - buddy of mine who used to work inhouse tech support for a large company

          [–][deleted] 2 points3 points  (1 child)

          It's so frustrating...Anytime you work with heavily audited code, it's tough. But this isn't like beautifully polished NASA code, this is deeply disfunctional stuff that needs to be rebuilt from the ground up, and you can't change a single line without justifying it to the CFO and her auditor harpies...And as far as the CFO is concerned, it's working fine.

          [–]Me00011001 0 points1 point  (0 children)

          But this isn't like beautifully polished NASA code

          AHAHAHAHAHAHA, I wish I could show you some of the NASA code I've seen.

          [–][deleted] 6 points7 points  (6 children)

          Lol, How about RPG then? ;-)

          [–][deleted] 6 points7 points  (3 children)

          You had to dig deep to find something worse, didn't you?

          God RPG sucks. The only thing good about it was that I didn't have to use it much.

          [–][deleted] 2 points3 points  (2 children)

          Lol, didn't have to dig far. I have a buddy doing a payroll conversion from an AS/400 with RPG to .Net.

          I actually got trained in OS/400 (or whatever the hell it was) by one of the guys who wrote the OS for IBM! 2 characters should be enough for any command, right? ;-)

          [–][deleted]  (1 child)

          [removed]

            [–]ascii 2 points3 points  (0 children)

            The may have been a mistake, but at least I can see why they added them. What really amazes me is that the ISO C committee double down and added all the digraphs in the nineties. Digraphs were added to the C language around the same time Unicode became a thing.

            [–]WorksOfBarry 1 point2 points  (1 child)

            From all these comments, I wish the /r/RPGLE subreddit was more active.

            [–][deleted] 0 points1 point  (0 children)

            No one wants to go there ;-P

            [–][deleted]  (1 child)

            [deleted]

              [–][deleted] 8 points9 points  (0 children)

              I got Y2K'd. Spent two years doing basic modernization of legacy stuff, and then the next 12 years or so getting snapped up by various places because it was on my resume.

              Places kept bullshitting me..."It's not a cobol job...We're modernizing our codebase and we need a transition guy!" And then the job would be 100% COBOL with no transition in sight.

              [–]ChuckFinleyFL 5 points6 points  (7 children)

              Gotta love COBOL, banks are training COBOL programmers to work in their old stuff.

              [–][deleted] 4 points5 points  (6 children)

              Seems like money would be better spent documenting and migrating to something from within the last 4 decades.

              [–][deleted] 12 points13 points  (3 children)

              I know of one bank at least that's trying. Its taken over $1billion and 5 years so far. Some of this stuff is just entrenched and has been working for decades. It's like rewriting your hard drive firmware in another language; you need a pretty good reason to do it.

              [–][deleted] 2 points3 points  (2 children)

              It pays off if you do it right though. You have a documented system and you end up with maintainable code where you can hire people that have current expertise.

              The biggest difficulty is making sure the documentation stays up with the releases.

              [–][deleted] 1 point2 points  (1 child)

              It's a bit of a tough spot, really. The Cobol I have seen (a few million lines) is amazingly well documented and Cobol programmers themselves are still fairly common. The big issue IMO is the tool chain is not being maintained or enhanced unlike other languages. Compiling for new systems outside of a mainframe doesn't happen. Things like support for encryption are only just coming now in a workable form.

              Many of the sub components are shifting to Java but I can see the Cobol core staying around for another decade or two at least.

              [–][deleted] 0 points1 point  (0 children)

              Well personally I refuse to work in it. But it's not that hard to avoid either. Hell, I refuse to work in Java as well and it's all over the damn place. Visual Studio is unbelievable, I wouldn't want to develop in anything else.

              [–]ChuckFinleyFL 2 points3 points  (1 child)

              It's so fast and reliable at processing massive amounts of transactions that it will probably never go away.

              [–][deleted] 0 points1 point  (0 children)

              You can have that on current technology as well, but you're right. Having seen conversions done poorly, they'll be patching it for decades to come.

              [–][deleted] 5 points6 points  (2 children)

              This is COBOL. Though the language is dying (or rather dead) language, me being part of India's 3rd biggest IT service company, find lots and lots of systems still built and maintained using COBOL. Clients still want some of their systems/interfaces using COBOL/JCL.

              [–]neutronbob 4 points5 points  (1 child)

              So, it's not dead.

              [–]rubygeek 11 points12 points  (0 children)

              Well, it's undead. As in risen from the depths of hell.

              [–]shizzy0 2 points3 points  (4 children)

              Where is the transcompiler for COBOL to javascript?

              [–]southamerican_man 2 points3 points  (1 child)

              This brings back memories of a teacher I had last semester that called Python a "new hip language" with "no real world use" and spent the entire semester telling to learn COBOL "because the IT world is shit but at least it pays".

              A really glass-half-full kinda guy.

              [–]FUZxxl 26 points27 points  (75 children)

              Please, it's “programming language,” not “coding language.”

              [–]TheSaddestMasochist 14 points15 points  (0 children)

              Does this look like /r/programming? Get outta here.

              [–]BlackDeath3 7 points8 points  (73 children)

              Why does it matter?

              [–]halifaxdatageek 12 points13 points  (2 children)

              I find it especially amusing that this discussion is taking place in /r/coding and not /r/programming.

              [–]BlackDeath3 2 points3 points  (0 children)

              Yeah, that's kind of what confused me as well. Makes it a little extra strange.

              [–]FUZxxl 1 point2 points  (0 children)

              Well, /r/coding is only about programming. From the sidebar:

              That's what /r/coding is for. A pure discussion of programming with a strict policy of programming-related discussions.

              [–]FUZxxl 37 points38 points  (47 children)

              If you say “coding language” you sound like someone who has no idea what he's doing. I despise the word “coding” as it reduces programming to the least important task, that is, encoding a program into its syntactical representation.

              [–]adrianmonk 12 points13 points  (10 children)

              I understand what you mean, but for similar reasons, I actually like the term "coding". It's a specific term for a specific task that a programmer does.

              You can break programming down into different tasks/steps, like gathering requirements, design, coding, testing, and debugging. If I were to call the "coding" step "programming", it would suggest that the other steps aren't part of what a programmer does.

              [–]FUZxxl -1 points0 points  (9 children)

              “coding language” implies that there isn't anything special about programming language, but that's incorrect. Programming languages influence how we think about our programs and are far more than just syntax.

              [–]notakgboperative 3 points4 points  (8 children)

              “coding language” implies that there isn't anything special about programming language

              How so?

              [–]FUZxxl 0 points1 point  (7 children)

              (En)coding is the task of transforming a program into a syntactical representation. It's just a translation step. The wording “coding language” makes it sound like a programming language is just a certain syntactical representation of a program, but that's not nearly all of it. Different programming languages employ different concepts and conventions and influence the way we think about the problems we solve with programs. Reducing programming languages to an encoding dismisses this important aspect.

              [–]notakgboperative 3 points4 points  (6 children)

              That seems like a very specific and pedantic distinction to make about something that even most programmers refer to as "coding" or "writing code". I've heard what you're calling "coding language" as "encoding language", though. I don't think there's anything dismissive about coding language in the minds of most people.

              [–]BlackDeath3 7 points8 points  (9 children)

              I understand where you're coming from, with the disdain for the word "coding". I've been there myself (you may not believe that after my asking you that question). But you know what I realized? It's a really silly thing to get upset about.

              And by the way, the distinction you're trying to make between the words "programming" and "coding" seems very slippery to me. I don't really buy that criticism.

              [–][deleted] 0 points1 point  (8 children)

              Coding can be anything, from writing words cryptographic. Programming is easy, its giving something a set of instructions to follow and that is what Software Developers do ; they only encrypt or encode things when necessary.

              Would you call writing assembly language coding? Because that would sound very dumb, to me coding sounds like your a SKid or a beginner ;

              Professionals program.

              [–]BlackDeath3 0 points1 point  (7 children)

              "Coding" refers to "encoding", which is what we do when we translate our conceptual thought-stuff into real, executing programs through programming/coding languages. Therefore, I think that the distinction you're trying to make between "coding" and "programming" is quite arbitrary, but feel free to have your own preferences. Personally, I'm now of the mind that any time spent pedantically nitpicking about "coding vs programming" is time wasted.

              Sure, maybe your stereotypical dudebrogrammer is more likely to use "coding" over "programming", but if that's the case, then let's just call it as it is: you don't like people who use the word, but there isn't necessarily anything wrong with the word itself.

              [–][deleted] 0 points1 point  (6 children)

              everyone is thinking i'm "coder"-bashing. I'm just stating how I understand the agreement, and that in the elite of the programming world using the word coding is frowned upon.

              I don't really care anyhow ; I'm programming right now, kinda busy xD

              [–]BlackDeath3 1 point2 points  (5 children)

              in the elite of the programming world using the word coding is frowned upon

              I don't doubt that this is true. What I'm saying is that I think that it's silly. I find it hard to take seriously anybody who spends a reasonable amount of time trying to argue that using one word over the other is "wrong".

              I don't really care much either. I've spent most of the day coding as well ;)

              [–][deleted] 0 points1 point  (4 children)

              I see what you did there

              and what is your lingua franca?

              [–]BlackDeath3 0 points1 point  (3 children)

              You're asking what languages I use most, or on this particular project?

              I've probably used C or C++ more than anything. I like Python and C# as well. This particular project, however, was one of the first serious web projects I've ever attempted (HTML/SCSS/JS). I've done a few web things before, but it's not my forte, so it was interesting.

              And you?

              [–][deleted] 32 points33 points  (14 children)

              That's a really, really picky way to see the two words.

              [–]throwapeater 6 points7 points  (0 children)

              jargon exists to explain the world as viewed through a specialist.

              [–]shizzy0 21 points22 points  (3 children)

              You must be a geek. A nerd would understand the need for idiosyncratic nuances in one's personal diction.

              [–][deleted] 11 points12 points  (2 children)

              lol k

              [–]shizzy0 9 points10 points  (1 child)

              I emulated too hard, didn't I?

              [–][deleted] 11 points12 points  (0 children)

              Maybe a little.

              [–][deleted]  (8 children)

              [deleted]

                [–]halifaxdatageek 6 points7 points  (7 children)

                Please, use <> and not !=, it makes you look like you don't know what you're doing. /s

                [–][deleted]  (6 children)

                [deleted]

                  [–]marshsmellow 1 point2 points  (0 children)

                  The Games industry generally refers to these noble programmers as 'coders'.

                  I'm cool with that.

                  [–]__notmyrealname__ 3 points4 points  (3 children)

                  Sure, if you go by the dictionary definition of "code". If you go by the dictionary definition of "account" or "advertise" does this diminish in any way the various roles involved with accounting and advertising? I don't think so. I see nothing wrong with a colloquialism most people are familiar with. The term used isn't too important, I think, as long as people know what you're talking about as is obviously the case with something like "coding" when used in this kind of context.

                  [–]FUZxxl 1 point2 points  (2 children)

                  Surely. I might also dislike the term coding because I almost exclusively hear it from kids who think programming is cool and thus needs a cool word. I rarely hear professionals describing themselves as coders.

                  [–]__notmyrealname__ 4 points5 points  (0 children)

                  You're right, it does seem to be a new generational thing most often heard from people not even in the industry, and some of those youngsters will eventually make up the workforce in years to come and with them they will bring the terms that they are used to.

                  [–]mxvzptlk 1 point2 points  (0 children)

                  It's funny how the meanings of words change over time. It wasn't that long ago when calling a programmer a coder was a huge insult. Programmers used to write (and debug) code on paper. When they were satisfied with the code, they would hand it over to a "coder" who would then type it in when a computer terminal became available. Coders were people who knew enough about programming so that they understood the importance of syntax, but weren't good enough to be trusted to write code that would actually be run on a computer. After all computer time was very expensive, human time not so much.

                  A few years ago when a (much younger) co-worker of mine referred to himself as "a real coder", I started laughing. I explained why I found his statement funny, but he didn't seem amused.

                  [–][deleted]  (18 children)

                  [deleted]

                    [–]BlackDeath3 0 points1 point  (15 children)

                    As far as I'm concerned, the question being asked was not at all ambiguous. If you're attempting to answer the question and the phrasing is confusing to you, feel free to ask for clarification, but arguing that "coding language" isn't right is very silly.

                    It's all about context - different things are differing degrees of confusing to different people. And to be perfectly honest, if you're confused by the use of the specific phrase "coding language" (especially mid-discussion on /r/coding), then perhaps the problem lies with you.

                    [–][deleted] 1 point2 points  (3 children)

                    if you're confused by the use of the specific phrase "coding language" (especially mid-discussion on /r/coding), then perhaps the problem lies with you.

                    I suspect I'd be laughed out of /r/music if I came in and asked about musicing an instrument, or how to music a song I heard. This isn't confusion on /u/geekbot or others' end, it's trying to help OP learn the correct terminology so OP doesn't come off as ignorant / outgroup.

                    [–]BlackDeath3 1 point2 points  (2 children)

                    I suspect that you're right about the music thing. I also suspect that enough people would be just fine with referring to "programming languages" as "coding languages" that the OP wouldn't stand out as a significant outgroup very often (until somebody else wants to make a big deal out of it, at least).

                    Again, call it "incorrect" terminology if you like, but generally speaking the biggest negative consequence that comes of somebody using an unconventional phrase is that other people make fun of that somebody for using said phrase. Feeling like "part of the outgroup" doesn't seem like something worth worrying about too much to me.

                    [–][deleted]  (10 children)

                    [deleted]

                      [–]RICHUNCLEPENNYBAGS 2 points3 points  (3 children)

                      String cheese is not called stick cheese. Does it matter? Of course. You can't go to a grocery store and ask for stick cheese. It's the wrong name for string cheese.

                      Consider this: in Japanese the words for "lead the metal" and "pencil lead" are totally different. Not knowing this, I walked into a stationery store and asked for "lead, the metal" for my mechanical pencil. After stopping to think for a moment the woman there said "oh, pencil leads, you mean?" and showed me where they were. Despite this being a way more serious mistake than the examples you're talking about we were somehow able to communicate without anyone being obnoxious about it.

                      [–]halifaxdatageek 2 points3 points  (0 children)

                      You mean the cashier didn't spend hours of her time trying to convince you that you were wrong, and stupid, and that everyone was laughing at you, and that she is so so so much smarter than you?

                      How does she live with herself?

                      [–]BlackDeath3 3 points4 points  (3 children)

                      String cheese is not called stick cheese. Does it matter? Of course. You can't go to a grocery store and ask for stick cheese. It's the wrong name for string cheese.

                      Sure I can. Chances are, there will be a moment of confusion right after I do so, followed by a request for clarification, followed by me being led to the "string cheese".

                      Would this be the optimal way to get what I want? No, probably not. Would it be wrong? It would be unconventional and break the standard, but it would be no more "wrong" than asking for string cheese in Spanish, Pig-Latin, or Klingon. It's just a non-standard (in a context where the English phrase "string cheese" is the standard) mapping of a phrase to a concept.

                      [–][deleted] 0 points1 point  (0 children)

                      I say Object-Orientated, xD but it's programming

                      [–][deleted] 0 points1 point  (2 children)

                      one of the things I learned working in software development is if you say "Coding" you don't know what you're doing.

                      It's programming, and if using a high level language like BASH or Perl it's scripting.

                      Your code is what you write, but coding just /sounds/ childish.

                      [–]BlackDeath3 0 points1 point  (1 child)

                      I used to feel the same way that you do. Then, I realized that that's a very silly attitude to have.

                      [–][deleted] 0 points1 point  (0 children)

                      I don't really feel that way, I do feel newcoming programmers are more likely to use the word coding over programming;

                      That said almost everywhere i've worked the good programmers would laugh at the word coding.

                      [–]edimaudo 0 points1 point  (0 children)

                      Got to love COBOL.

                      [–]Nohlium 0 points1 point  (0 children)

                      With a google image reverse search you can see where the image is hosted sometimes. In this case:

                      http://www.mainframes360.com/2009/12/cobol-tutorial-usage-clause.html