1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Would learning an older 'unfashionable' language be of benefit?

Discussion in 'Scripting & Programming' started by jo74, May 7, 2009.

  1. jo74

    jo74 Byte Poster

    Just wondering out of curiosity.
    Such as cobol (off the top of my head)?
    Certifications: A+, N+, Sec+
  2. greenbrucelee
    Highly Decorated Member Award

    greenbrucelee Zettabyte Poster

    I would say yes because once you learn something like cobol or basic it will set the foundations for the rest of your learning.
    Certifications: A+, N+, MCDST, Security+, 70-270
    WIP: 70-620 or 70-680?
  3. jk2447

    jk2447 Petabyte Poster Moderator

    There are still Cobol jobs in our place but obviously only learn it if you fancy that line of work. If not stick to stuff that is applicable to the line of work you want to get into, so if you want to be a programmer, investigate the languages out there, Java is pretty cool in my opinion, or if you want to work in network support look at Cisco stuff etc

    Saying that, if you are a nerd like me and want to learn for fun, learn what ever, Cobol being mainframe based wouldn't be a good choice however unless you have a z890 in your living room :p
    Certifications: BSc (Hons), HND IT, HND Computing, ITIL-F, MBCS CITP, MCP (270,290,291,293,294,298,299,410,411,412) MCTS (401,620,624,652) MCSA:Security, MCSE: Security, Security+, CPTS, VCP4, CCA (XenApp6.5), MCSA 2012, VCP5, VCP6-NV
  4. dmarsh

    dmarsh Terabyte Poster

    Generally the more skills you have the better.

    I would not advise you to go out of your way to learn legacy stuff though without reason.

    There is a reason its a legacy technology, usually because its considered not to follow modern best practice, and the fact it is legacy will mean there will be less and less of the technology in active use going forward.

    If you are a young new entrant to the field you have to play on your strenghs which is eagerness to learn, flexibility, etc, you should try and learn as much new stuff as possible.

    There will other be people out there with 20+ years experience on the legacy kit, you will never beat them on paper for the job. So unless you know of an opening or have been asked by your line manager to pick up a technology there is little point.

    If you want to learn multiple languages in order to broaden your knowledge try languages with different designs or approaches.

    First learn one or more mainstream general purpose languages, C#,C++,Java, then bolster them with a couple of domain specific languages like JavaScript,SQL,XSLT (Ok JavaScript falls in both camps!). Third look at alternatives, Erlang, Ruby, Python, F#, OCaml, Scala etc. This is likely to take several years, so unless you're at uni you really still need to get that first job based on being very good at one language !

    Also while its easy to be multilingual with programming languages once you've learnt one or two, it does tend to cause confusion when switching back and forth so is probably best kept to a minimum when starting out. First at college I learnt many different languages, but really I would say only ADA, assembler, C and C++ were really critical to my learning at this point. I then studied C++ solid for about 5 years with only a few minor diversions into other languages, also pretty much the same with Java but with more related technologies.

    Learning just one genral purpose language fully with all the related idioms, patterns, best practices, tools, related technologies, libraries, frameworks, etc can take many years.

    jk2447 has a point in that many niche skills are niche because access is not easy, nobody has an AS400 at home or an ICL mainframe. While you can get hold of things like SAP, Object COBOL, Forte etc really its no fun to play with them at home, I'd only do it if paid.
    Certifications: CITP, BSc, HND, SCJP, SCJD, SCWCD, SCBCD, SCEA, N+, Sec+, Proj+, Server+, Linux+, MCTS, MCPD, MCSA, MCITP, CCDH
  5. LordMoolyBap

    LordMoolyBap Nibble Poster

    There aren't that many jobs in things like COBOL about and when they are they are often massive old plates of speghetti code. I would not bother with it. The question is, how far can you take learning an older language, how will you test it and what do you hope to get out of it. With free tools available for learning and developing Java or C#/VB.NET and even free servers such as SQL Server Express and MYSQL why waste the effort.

    Really, don't do it. The only older langauges I would say are still worth learning are C and C++. C is still used for embedded programming ect and C++ is still widely used even though it was first out in the mid eighties.

    And as Dmarsh says scripting is also a good alternative to learn I realyl like Ruby at the moment. But learn one modern langauge and get good at that before anything else.
    Certifications: HND (Comp) MBCS
    WIP: Msc Intelligent Systems
  6. Fergal1982

    Fergal1982 Petabyte Poster

    I would disagree. It causes untold headaches, believe me.

    I support a vb3 app here (thats about 15 years old for the non-programmers), its an utter nightmare in all honesty, and I certainly wouldnt advocate learning it unless you had to.

    If you are getting into programming, stick to the newer stuff around. If a situation arises in your work requiring you to support a legacy application, then you can learn it out of necessity. I wouldnt be concerned about it till then.

    If you are looking at the jobs that do list COBOL, and seeing the nice paypacket, just remember that the high salary is because so few people still know the language. Sure you could learn it and try to get into that paycheck, but to be honest, you are going to be **** out of luck, as all of your competition will be older and have considerably more COBOL experience than you.
    Certifications: ITIL Foundation; MCTS: Visual Studio Team Foundation Server 2010, Administration
    WIP: None at present
  7. dmarsh

    dmarsh Terabyte Poster

    Good points and I generally agree with them.

    C was created in the 1970's, probably as much of it about now as COBOL, its been used to write a vast amount of stuff and is still in use. Very portable and efficient, most of linux and most modern operating systems are either written in C or C++.

    I would add assembler to the list, still very much in use today on many applications but in small doses.

    I expect the vast majority of stuff being written at the moment is in C#, VB.Net, Java and C/C++.

    C#, VB.Net, Java, these are the current popular general purpose languages, good for business apps and websites etc, so these are the obvious options for most people. There are however significant other languages for web development like PHP and Ruby.

    I think Objective C is popular on the mac, so it really does depend on the problem domain and the environment.

    There are places using older languages like FORTRAN, Object Pascal/Delphi, Smalltalk, Ocaml etc to do good work.

    SQL perhaps is the greatest survivor from the old languages. Still in use and was created in 1970's.

    BASIC still lives, but in some cases has been changed out of all recognition and should probably limp off and die a dignified death.

    COBOL systems tend to be very old and very large and very unwieldy.

    Junior programmers generally haven't developed the knowledge and skills to deal with large legacy systems, its hard for even the pros to untangle the mess. So its not generally a good area for newcommers for many reasons.

    That said, if your first break is mainframe support in COBOL or SQL make the most of it.

    Interesting Matirx here :-
    Certifications: CITP, BSc, HND, SCJP, SCJD, SCWCD, SCBCD, SCEA, N+, Sec+, Proj+, Server+, Linux+, MCTS, MCPD, MCSA, MCITP, CCDH
  8. JonnyMX

    JonnyMX Petabyte Poster


    There are some older languages such as BASIC which are easy to learn and help you get your head around programming, but I'm not sure that's a good enough reason.

    There will always be some demand for people who can fix/adapt legacy code, but it would be more of a speciality thing rather than something you'd look for in a 'beginner'.

    Best thing to do is some homework - have a look and see what's in demand out there and work towards that.
    Just be aware that you won't be the only one.

    Dont forget too, that the way things are going at the moment, by the time you become really good at something the chances are that it will be legacy itself by then - so you will be the guy fixing old code.

    Certifications: MCT, MCTS, i-Net+, CIW CI, Prince2, MSP, MCSD
  9. Mathematix

    Mathematix Megabyte Poster

    Generally you should focus on learning the latest, most used languages first that are applicable to your field of interest. There is benefit to learning older languages, as it gives you a feel for the variety of language implementations and how each is effective in solving particular problems.

    I certainly wouldn't learn marginally outdated languages first, unless you are a student.
    Certifications: BSc(Hons) Comp Sci, BCS Award of Merit
    WIP: Not doing certs. Computer geek.
  10. Slimepuppy

    Slimepuppy New Member

    Plenty of people still using Cobol - it reminds me of the joke about them freezing a Cobol programmer just incase they need them in the year 10,000. Still a lot of people don't like Cobol, I did a course in Business computing and it wasn't too hard to pick up.
    Basic- well Visual Basic is a bit easier to write than C++ for Windows applications.
    Still C & C++ are still the languages to learn though Ada is always a good language to learn it does help you with good programming practice.
    Certifications: Degree in Computer Science
  11. drum_dude

    drum_dude Gigabyte Poster

    I think everyone needs to bear in mind what the 'learning process' does to the brain! For instance, I learnt a few Jazz drum lines not so long back but even though I don't play jazz i found that by doing the exercises a lot of 'other' things became much easier on the drums. You need to accept the concept that is 'learning' as it benefits one in ways that you cannot measure!

    Our brain is the final frontier...it has yet to be understood but by god it still amazes me just how little I know of what I could possibly do if I learnt more things, regardless of their/its relevance in my day to day life.

    Like a muscle, your brain improves with exercise...never forget that!
    Certifications: MCSA , N+, A+ ,ITIL V2, MCTS
    WIP: MCITP 2008 Ent Admin, Server Admin, Exchange 2010, Lync 2010, CCNA & VCP5
  12. twizzle

    twizzle Gigabyte Poster

    just to hijack this thread a little, can anyone recommend a good website that teahces you BASIC or has BASIC programs on it?
    Certifications: Comptia A+, N+, MS 70-271, 70-272
    WIP: Being a BILB,
  13. drum_dude

    drum_dude Gigabyte Poster

    i don't know of any websites but...

    Back issues of ZZAP 64 will have lots of BASIC games that you can program in...should be on ebay though.

    Another good 'un is Clifford & Mark Ramshaw's Commodore 64 Games Book published by Melbourne House in 1983 (see pic). Lots of games in BASIC but LOADS of publishing errors...so much so that you'll end up re-writing the book, just like my dad had too (back in 83 LOL). But a great way to learn BASIC!

    Attached Files:

    Certifications: MCSA , N+, A+ ,ITIL V2, MCTS
    WIP: MCITP 2008 Ent Admin, Server Admin, Exchange 2010, Lync 2010, CCNA & VCP5
  14. LukeP

    LukeP Gigabyte Poster

    I found it hard to get over VB.NET as the first language I used ever was C++ and I've been a C man since. Even today I find VB to be messy with a lot of not needed code. If you want to learn some fancy language try Python.
    WIP: Uhmm... not sure
  15. dmarsh

    dmarsh Terabyte Poster

    C# would be a more natural fit for you out of the CLR based languages then.
    Certifications: CITP, BSc, HND, SCJP, SCJD, SCWCD, SCBCD, SCEA, N+, Sec+, Proj+, Server+, Linux+, MCTS, MCPD, MCSA, MCITP, CCDH
  16. LordMoolyBap

    LordMoolyBap Nibble Poster

    Yeah definitely C# is my weapon of choice, although I don't mind VB.NET too much. The best thing about the new languages is you can make use of the develops in design patterns such as MVC. For me this makes programming so much easier its unbeleivable.

    The big thing about older languages is that they are often written in strange patterns, have no nice unit tests and once you get used to the creature comforts of the Visual Studio IDE, and Resharper, going back to Visual Basic 6s IDE (or even worse, Visual Interdev) is a killer. We look after some pretty ancient code and I cringe any time we need to do something on it.
    Certifications: HND (Comp) MBCS
    WIP: Msc Intelligent Systems
  17. dmarsh

    dmarsh Terabyte Poster

    The MVC design pattern is not new, it has a lot of history. Smalltalk 80 is now 29 years old, the clues in the name ! :wink:

    The seminal design patterns book by Eric Gamma et. al. Was published in 1994. 15 years ago, this is an age in IT.

    WebObjects was released in 1996 and included a web based application of the MVC design pattern. 14 years ago.

    I was writing test harnesses / unit tests and doing coverage analysis in 1996 on embedded applications.

    These things are not new, stuff just goes around in cycles.

    People who have a background only in BASIC seem ignorant of a lot of the rest of the development community and best practice.

    The only stuff I would say is new is the refactoring support in commerical tools, however even this goes back about a decade in academia and some Smalltalk environments.

    Doing stuff right does make life a lot easier in the long run. For a long time developers basically had the choice of doing stuff right or doing it quick. Now that there are widely available well written easy to use tools and frameworks encompassing best practice, people can do it right and do it quick.

    Well for years a lot of people have thought of VB was a 'toy language' for beginners, its finally grown up now with VB .Net. However with a nice fresh language like C# available I can't see why anyone who wasn't already a VB diehard would pick it. I'm amazed did anyone really ever use Interdev ??
    Certifications: CITP, BSc, HND, SCJP, SCJD, SCWCD, SCBCD, SCEA, N+, Sec+, Proj+, Server+, Linux+, MCTS, MCPD, MCSA, MCITP, CCDH
  18. LordMoolyBap

    LordMoolyBap Nibble Poster

    ha, well my company seemed to have used interdev. It really stinks!!

    I knew the MVC pattern had been around for some time but I didn't know it was that long! wowzers!
    It is only the past couple of years that I have started looking at better patterns ect after I read a Martin Fowler book which is really good.
    Certifications: HND (Comp) MBCS
    WIP: Msc Intelligent Systems
  19. oztrailrider

    oztrailrider Nibble Poster

    I am currently learning good old C. I wanted to learn something that you could get close to the hardware with. I am just doing it for my own interest and hope to get good enough to start making some contributions to OSS. There's a lot to take in but I am enjoying myself a lot. I just wish I was better with maths.
    Certifications: MCP (70-270)
    WIP: A+

Share This Page