Slashdot Mirror


Ask Slashdot: What's New In Legacy Languages?

First time accepted submitter liquiddark writes "I was listening to a younger coworker talk to someone the other day about legacy technologies, and he mentioned .NET as a specific example. It got me thinking — what technologies are passing from the upstart and/or mainstream phases into the world of legacy technology? What tech are you working with now that you hope to retire in the next few years? What will you replace it with?"

19 of 247 comments (clear)

  1. I'd replace Java with Perl, for one. by AlexanderKarelas · · Score: 5, Insightful

    Perl rocks (Mojolicious, AnyEvent, Moose)

    1. Re:I'd replace Java with Perl, for one. by houstonbofh · · Score: 4, Insightful

      So you'd switch from a newer technology to an older one?

      I do not think it is the case with perl and java, but newer is not always better. For example, Unity, Gnome Shell, Windows 8, and so on... And I have upgraded many Windows 8 computers to Windows 7 for clients, on request. So, yes, I would "switch from a newer technology to an older one" if it was better.

    2. Re: I'd replace Java with Perl, for one. by Applehu+Akbar · · Score: 3, Funny

      ADD 1 TO THIS GIVING THAT WITH ONE CARBON COPY TO (Accounting AND Marketing BUT NOT InternalAudit).

    3. Re:I'd replace Java with Perl, for one. by manu0601 · · Score: 3, Insightful

      So you'd switch from a newer technology to an older one?

      It is common to replace code quickly written in recent language, by something faster written in ancient C.

  2. Anything that isn't C by innocent_white_lamb · · Score: 5, Interesting

    I've been playing with computers since the mid-70's and one of the things that I did early on was learn to program in C.

    One of the smartest things I've ever done; it's up there with my decision to start running Linux in the late 90's.

    If you can program in C you can write a program that runs on pretty much everything that you'll come across that you might want to program.

    Learn C if you want to learn a programming language that you can use for a very long time.

    I like Android, got an Android phone and a couple of tablets, but the C NDK doesn't allow you to do things without having to jump through a bunch of Java hoops to get there. I would have more Android devices if it was easier to write a program on it in C.

    ["hip","hip"]

    (Hip hip array!)

    --
    If you're a zombie and you know it, bite your friend!
    1. Re:Anything that isn't C by Pseudonym · · Score: 3, Interesting

      On what mobile platforms (emphasis on the plural) would Objective-C be suitable?

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  3. Depends on your definition of legacy by msobkow · · Score: 5, Interesting

    Apparently the writer of the original article thinks "legacy" means that you have to maintain and enhance existing applications instead of developing new ones.

    To me, "legacy" means that there are no new applications being developed in that language, and the only jobs available for it are maintaining and enhancing existing applications. .Net and Java are certainly not "legacy" in that sense by any stretch of the imagination.

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:Depends on your definition of legacy by houstonbofh · · Score: 4, Insightful

      i'd have to argue that 95% of all programmers under the age of 28 would never consider using .Net for any web-based stuff, so in there young minds it *is* "legacy"

      The really disturbing thing is that "95% of all programmers under the age of 28" never consider that some stuff is not web based... (Note that I am not defending .net in any way with this... Just bemoaning the death of local applications.)

    2. Re:Depends on your definition of legacy by Art3x · · Score: 3, Insightful

      "Legacy" is a buzzword for "old."

      Multisyllabic and euphemistic, I'm sure it first came into being from the lips of an advertiser.

      But if you want to think, write, and reason clearly about a subject, stick to the old, short words, the ones that your mind retranslates the words to anyway after hearing them.

  4. Important question by DoofusOfDeath · · Score: 4, Interesting

    I'm mid-career, and this question feels very relevant to me. For the past 15 years or so, I've focused on cross-platform (mostly Linux) C++ programming, with a decent SQL understanding as well.

    But lately, the market for straight-up C++ Linux jobs seems to be waning. For one thing, more dynamic / introspective languages such as Java, Python, Javascript, and C# seem far more prevalent than my loved/hated C++.

    But a bigger trend seems to be a shift to frameworks, rather than languages + OS's, as the focus of job-posting requirements. It's no longer true that C++/Java + Linux + SQL experience lets me quickly find a well-paying job in the city of my choice. For that, one also (or instead?) needs competence in something like Hadoop, Cassandra, Ruby on Rails, Amazon Web Services, Django, etc.

    This makes sense, as CPU's get faster, and as software development continues shifting to a more connected, more web-oriented world. But it's a little scary for someone like me, whose day job doesn't offer much opportunity to work with those newer frameworks in order to develop a marketable level of skill.

    I'm guessing this is a periodic problem. Ace mainframe programmers found themselves less marketable when desktop development became popular. Desktop developers were partially outmoded by client/server, and have a more serious marketability problem now that most development is aimed at (ultimately) web browsers. It's not that serious C++/Linux/back-end geeks like me can't find work, it's just that I(we) feel a little trapped compared to those whose skills are currently in broader demand.

    I guess the question, then, is do I(we) double-down on our current expertise and become indispensable in a small fraction of the job market, or do we accept the pros and cons of partially re-inventing our careers (and setting back our salaries) to retool?

    1. Re:Important question by houstonbofh · · Score: 3, Insightful

      I guess the question, then, is do I(we) double-down on our current expertise and become indispensable in a small fraction of the job market, or do we accept the pros and cons of partially re-inventing our careers (and setting back our salaries) to retool?

      As someone who has been in the field for about 30 years now, and can still easily find work in spite of how everyone claims IT is ageist... I think I can answer this for you long term.

      Always be learning.

      Seriously, you always need to be re-inventing yourself, studying and working to stay at the edge of the curve. Whatever is being done now will turn old (and then new again and then old again...) and you better have some way of dealing with it.
      However, you do not need to take a pay cut to do so. Start learning Ruby on a personal project. Then get a side gig converting some existing applications to web enabled ruby. Now you have the creds to demand a hell of a lot more than the 20 year old ruby guy because you can actually understand what the have, and fuse them together. All the new guy can do it burn it all down and start over. This has real value to a lot of businesses.

      And the fact that at 40+ you have a long list of skills but have stayed current with the latest stuff as well really makes you stand out on your resume.

  5. abaci by hirundo · · Score: 4, Funny

    My old abacus is giving me splinters. I asked my boss for a new one and he said "cào n zzng shíb dài". I'm not sure what that means but I'm hopeful.

  6. Why .Net? by Richard_at_work · · Score: 5, Insightful

    Why was .Net mentioned as a legacy technology? Its actively developed, has a decent community, and is widely used - apart from some poor articles and conclusions that were jumped to here on /. There is no reason to consider .Net a legacy technology.

    What is more likely is that the person was referring to projects that are stuck on specific versions in maintenance hell, which can happen with any language - Ive been stuck with VB.Net 2.0 WebForms projects, while at the same time I've been using MVC 4 and .Net 4.0. One I would consider a legacy project, the other not, but both use the same line of tech.

    1. Re:Why .Net? by Richard_at_work · · Score: 3, Informative

      But it isn't restricted at all, as I've used the same .Net code in apps on Windows, Linux, IOS, Windows Phone, Windows RT and Android.

      Add to that the fact that Microsoft is leaning more and more toward Portable Class Libraries delivered via nuget rather than monolithic libraries delivered centrally, and PCLs are targeted toward a base standard which runs on all .NET platforms (full, micro, WP, Metro, Mono) and its getting better all the time.

    2. Re:Why .Net? by ljw1004 · · Score: 4, Insightful

      Why C# is the best language for mobile development...
      http://blog.xamarin.com/eight-...
      http://www.remobjects.com/elem...

      * You can develop native apps in it for Android and iOS

      * It is a more advanced language than the alternative languages, e.g. with its "async" language support. (which has been recently copied into Python, and is under committee review for inclusion JS and C++, but has been in VB/C# for four years already).

      (disclaimer: I work on the C#/VB language design team at Microsoft. And I'm darned proud of it.)

  7. Re:C/C++ by phantomfive · · Score: 3, Insightful

    Jobs in C/C++ are rare these days

    This is more a reflection on your lack of knowledge than the state of the software industry as a whole. C/C++ is where you make the big bucks.

    --
    "First they came for the slanderers and i said nothing."
  8. Re:C/C++ by Gr8Apes · · Score: 3, Insightful

    You'll make bigger bucks in COBOL. So exactly what does $'s have to prove here, other than perhaps there are more jobs than qualified applicants?

    --
    The cesspool just got a check and balance.
  9. PHP? (hope hope hope) by Vellmont · · Score: 3, Interesting

    It's not of course, but a man can dream can't he? .net isn't dying by any stretch of the imagination. But let's start with languages most people would agree ARE legacy languages:

    COBOL (if you can't agree on this, end of conversation)
    VB6
    various assembly languages (maaaaybe the 68000 family?)
    FORTRAN (starting to get controversial here since I know it's still used by some crazy science people who don't want to learn anything modern)
    Smalltalk
    ALGOL
    Forth

    I was about to add Pascal... but then noticed some crazy person is still developing Pascal in the form of freaking Delphi, and even has a port for Android phone. WTF?

    So that makes me think... if I can't include Pascal, or possibly even FORTRAN, languages I've never known someone to write code for in the past 15 years, but yet there's still new releases of it in legacy languages... then what can I include? I'm sure some nutter will try to argue with me that Forth is still a viable language. COBOL.... just go away.

    The better question is more likely, which languages should you really not put your career prospects on? Personally I'd list any of the above languages, but sadly not yet PHP.

    --
    AccountKiller
  10. Nuke it from orbit. All of it. by russotto · · Score: 4, Funny

    Javascript. PHP. Java and every stinking overarchitected hole of a framework built on top of it. C++ and it's various internal metalanguages. Anything which has appeared on more than 10% of the print-it-out-and-its-good-for-toilet-paper job ads on Dice. All the functional languages, which exist mostly to make people who know them feel superior. Go, because we didn't like Algol-68 the first time around.

    I think we should just go back to counting on our fingers. From that first abacus, we were doomed.