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?"

247 comments

  1. .NET by Anonymous Coward · · Score: 0

    I love me some VB.NET, hope it never goes away.

    A process of continual improvement is what I'd like to see.

    1. Re:.NET by davester666 · · Score: 1

      Useless newbie.

      I'm not sure what this post is about?

      Did somebody release a CPU with some new instructions for me to use in Assember?

      --
      Sleep your way to a whiter smile...date a dentist!
    2. Re:.NET by LesFerg · · Score: 2

      And yet employers seem to discriminate heavily against people who have not been working with the latest version of .Net, and expect us to pass tests on the most obscure and arcane features of .Net 4.5, many of which as far as I can tell, will probably never be required in basic web solutions anyway.

      Oh, and I didn't get a particular job because I didn't have SSRS experience! Laughed my arse off at that one.

      --
      If I had a DeLorean... I would probably only drive it from time to time.
    3. Re:.NET by Chaos+Incarnate · · Score: 1

      Really? Sheesh. I have SSRS experience, and I'm laughing my ass off at that. "SQL wrapped in XML" is not exactly an arcane skill....

      --
      Benford's Corollary to Clarke's Law: "Any technology distinguishable from magic is insufficiently advanced."
    4. Re:.NET by o_ferguson · · Score: 1

      This. Yes. Thank You.

      --
      - In Soviet Korea, only old people loose all their bases to Natalie Portman's petrified hot grits overlords.
    5. Re:.NET by Miamicanes · · Score: 1

      Do the new AMD64-architecture assembly-language opcodes to do AES encryption and decryption count?

      http://en.wikipedia.org/wiki/A...

      http://www.intel.com/content/w...

      Of course, there's also ARM. It's not new, of course, but programming ARM in assembly language is kind of a recent developmen (though I'd conservatively estimate that at least 20% of assembly-language ARM code is probably malware).

      In theory, you can even do JVM assembly. It's kind of pointless and masochistic, but people have done it just to say they have. ;-)

    6. Re:.NET by siride · · Score: 1

      No, it's arcane. You have to learn all the workarounds for the various gotchas, misfeatures and outright bad designs in SS*S. It is dark sorcery and I hate it, and having to report to the users that "no, I can't do that because SS*S is a pile of shit".

    7. Re:.NET by Anonymous Coward · · Score: 1

      Not that I disagree, I have to use SSRS here and detest it. But is there any reporting solution out there (that also supports emailed subscriptions like SSRS does) that doesn't actually suck?

      The two biggest issues I have with SSRS: (1) as a report writer if I want to support a particular output file format correctly (even "basic" CSV files that support field data with double-quote characters or line breaks) I have to write my own Renderer objects and (2) as a DBA it utterly shits me that SSRS fills up the SQL Agent jobs list with GUID-named jobs for its report subscriptions.

    8. Re:.NET by Xest · · Score: 1

      "And yet employers seem to discriminate heavily against people who have not been working with the latest version of .Net, and expect us to pass tests on the most obscure and arcane features of .Net 4.5, many of which as far as I can tell, will probably never be required in basic web solutions anyway."

      Personally I learn all the new features of new versions of .NET even if they will actually never be useful. Why? So that I do know whether they'll be useful or not rather than complaining I didn't get a job for not knowing about something with a throwaway comment such as "It's probably not useful anyway" - how could you know? you don't even know what it is.

      Interview questions like that are there to check for one thing - whether you're one of those best of best developers that does know the language inside out. If you can't answer it you're telling the employer "I don't actually give a shit about programming enough to care about that thing".

      Most programming can do pretty much everything you want at a very basic level with only the most simple constructs. 90% of new features in languages nowadays are there to help you write faster code, more secure code, or more concise and readable code or some combination of those sorts of traits - if you're not learning these features then of course you can program most things with the language, but you're not making the most of the language and so your code will take you longer to write, be less secure, or be less performant or similar. This is true not just of .NET but many other languages like Java, and C++.

      It's not as though language release notes and feature lists are particularly long. You could get a firm idea of what's in a version update like .NET 4.5 in about 30 minutes. Asking someone a question on the most recent language features simply just helps employers select those who want an easy ride and aren't interested in self-learning from those who know the technology inside out and understand the direction it's heading in. .NET 4.5 adds in some pretty decent features for automating parallelisation of many tasks. It's possible they were simply probing to see whether you'd just use the classic programming constructs to write a single threaded solution to something that could be handled in a more parallel manner automatically, and with less code. This is pretty common in interviews by employers who know their shit and want people who also know their shit - it weeds out the people who want to do things the way they've always done them, even if that way no longer holds any real advantages.

      Don't assume that because you didn't get a job that you didn't need what they were asking for and that they're stupid. Yes this is true sometimes, but often just be humble and accept that maybe you didn't actually know the things they needed you to know for the job or for the level of ability they're seeking.

    9. Re:.NET by kyrsjo · · Score: 1

      Once uppon a time, I enjoyed VB6. Then it went away, and I learned not to thrust a single vendor for providing me with a compiler...

  2. 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 Anonymous Coward · · Score: 0

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

    2. Re:I'd replace Java with Perl, for one. by Gr8Apes · · Score: 1

      I guess if you live in the 90s.

      --
      The cesspool just got a check and balance.
    3. Re:I'd replace Java with Perl, for one. by Anonymous Coward · · Score: 0

      From one that has security issues to one that has built in security tracing...

      you bet.

    4. 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.

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

      THIS +1

    6. Re:I'd replace Java with Perl, for one. by Wdomburg · · Score: 2

      Last time I replaced perl with Java, I got an order of magnitude increase in performance. I'll stick with Java.

    7. Re:I'd replace Java with Perl, for one. by mikelieman · · Score: 1

      Mojolicious is insane. Best I can describe it is 'you know how you can stick curl in a pipe to get a web page'? That, but with Perl as a scripting language to really process the hell out of the data -- if you know what I mean..

      --
      Technology -- No Place For Wimps! Grateful Dead and Jerry Garcia Chatroom -- http://www.wemissjerry.org
    8. Re:I'd replace Java with Perl, for one. by Applehu+Akbar · · Score: 1

      Job security...

    9. 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).

    10. Re:I'd replace Java with Perl, for one. by csirac · · Score: 2

      It's a shame that perl's taint mode is actively discouraged from use in production. At least from #perl lurkers. I've encountered a few almost-show-stopper unicode regex regressions that core perl devs just don't seem to care about - apparently there aren't enough people that care about taint mode enough among perl core devs.

    11. Re:I'd replace Java with Perl, for one. by csirac · · Score: 1

      It's even more amazing that it came from the guy who built Catalyst. But I guess he had to have that journey to create Mojolicious.

    12. 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.

    13. Re:I'd replace Java with Perl, for one. by Anonymous Coward · · Score: 0

      Just because it has security tracing doesn't mean it is secure

    14. Re:I'd replace Java with Perl, for one. by Anonymous Coward · · Score: 0

      Mod parent up.

    15. Re: I'd replace Java with Perl, for one. by Anonymous Coward · · Score: 0

      Having used both Java and Perl, I think each language has its own place. As a old timer Unix programmer I would not use anything else than Perl for system tasks and quick prototyping. I have been experimenting with python and ruby and I think these are good languages for such activities as where you need to do some quick developments. However I have seen so called java programmers who learned java on windows boxes trying to write java code for every thing, which could have been some done with Perl or python or ruby with a few lines. If I were to replace java it would be with something like groovy which is much more succinct and has functional programming capabilities.

    16. Re:I'd replace Java with Perl, for one. by Anonymous Coward · · Score: 0

      Thank you for identifying yourself as a hacker rather than a software engineer.

  3. Upgrades by Anonymous Coward · · Score: 0

    Hand, Woman

  4. .NET is legacy? by Anonymous Coward · · Score: 1

    I've had to add features to a classic asp web application within the last year...

  5. 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 ThorGod · · Score: 1, Insightful

      Have you considered Objective-C for mobile development...

      --
      PS: I don't reply to ACs.
    2. Re:Anything that isn't C by phantomfive · · Score: 2

      If your goal is to build Android command-line apps, you can do it with the NDK by modifying your Android.mk like this:

      include $(CLEAR_VARS)
      LOCAL_MODULE := progName
      LOCAL_SRC_FILES := $(wildcard $(BASE_SRC_DIR)/*.c)

      include $(BUILD_EXECUTABLE)

      The last line there is the crucial line (but it's not documented).

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Anything that isn't C by innocent_white_lamb · · Score: 2, Informative

      Actually, I would love to find a method for programming Android in C and interacting with the user through webkit. That way I could create an app entirely in C with a html/javascript frontend to interact with the user without having to horse around with Java to get a usable app.

      Unfortunately, I haven't found a way to do that yet. (If someone here knows how to do that, by all means sing out!)

      The irony of mobile computing is how bloody difficult it is to write a simple C program to run on one of those things, even though Android is written in C.

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

      I'm not a regular C++ programmer or user of Qt, but as a casual observer it seems that the mobile/embedded APIs in Qt 5.2 could provide a fresh new approach for Android and other mobile platforms. However they are steering clear of easy webkit use, altho there are ways to fiddle around with JNI to get a web interface of some sort, and there are hints at Qt WebEngine (based on the Chrome engine) maybe being available in Qt 5.3 (or only in the enterprise version?). Blogs and new releases seem to vary.

      I am a little curious about how well QML and the widgets UI tools can be used on Android, and whether these would be a better alternative to embedded web views for some solutions. Some of the tutorial examples seem straight-forward enough and run ok on my phone anyway.

      As I said, I'm not using or experienced with C++, but when I occasionally feel the temptation to take it up, Qt 5 is looking like a good way to start. I would be interested to hear what general opinions are on where Qt is at at where they appear to be heading with embedded APIs and such.

      --
      If I had a DeLorean... I would probably only drive it from time to time.
    5. Re:Anything that isn't C by phantomfive · · Score: 2

      There's something similar to that which I've done. I wrote a webserver in C, then ran it as a service from the command line on the Android device, attached to localhost. Then the user opened a browser to http://localhost:38456/ or whatever.

      You could do something similar, bundle the C browser with your app, and have your app launch the browser when the app starts (the easiest way would probably be to make a JNI 'startBrowser()' function or something). Make your Java UI essentially a WebView object that opens to localhost, and you've got it.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:Anything that isn't C by gbjbaanb · · Score: 1

      nobody needs to write their own webserver, try Civetweb - the MIT licenced version of mongoose - that is small (at 180k) and gives you a web server embedded in your program in 3 lines of code. It works on Android too.

    7. 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});
    8. Re:Anything that isn't C by noh8rz10 · · Score: 1

      iphone and ipad.

    9. Re:Anything that isn't C by Anonymous Coward · · Score: 0

      You listed one platform (iOS) in two form factors.

    10. Re:Anything that isn't C by Pseudonym · · Score: 2

      Indeed.

      FWIW, I was hoping that there was a NeXTstep tablet that I didn't know about. Admit it, that'd be awesome.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    11. Re:Anything that isn't C by Anonymous Coward · · Score: 0

      (Heap heap array!)

    12. Re:Anything that isn't C by Anonymous Coward · · Score: 0

      I'd suggest looking into developing for Blackberry 10. Amazingly it can be done using QML and C++ (as well as a variety of other things). I enjoy the IDE and there are lots and lots of great examples to get you going. And should a new phone not be in the budget right now you could always test your app with the virtual machine that is also made freely available by Blackberry.

    13. Re:Anything that isn't C by dinfinity · · Score: 1

      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.
      [...]
      I would have more Android devices if it was easier to write a program on it in C.

      So C is not that useful for modern platforms, after all?

    14. Re:Anything that isn't C by Anonymous Coward · · Score: 0

      PNaCl should eventually support Android...
      See: https://en.wikipedia.org/wiki/Google_Native_Client

    15. Re:Anything that isn't C by alexandre_ganso · · Score: 1

      iOS, Mac OS, Linux and *BSD?

    16. Re:Anything that isn't C by ThorGod · · Score: 1

      You keep saying that, but it is 100% valid to write C within Objective-C. The trouble is you'll wind up working with objective-c at the UI level. i.e. You'd be interacting with the user in Objective-C and doing model/class stuff in C/C++/Obj-C - whatever you choose.

      --
      PS: I don't reply to ACs.
    17. Re:Anything that isn't C by Pseudonym · · Score: 1

      Those are all mobile platforms, are they?

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    18. Re:Anything that isn't C by Xest · · Score: 1

      "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."

      Right, but more slowly, less maintainably, and inherently less securely by default than many alternatives.

      Which is really the point isn't it? Different languages have different benefits, your argument is premised on the fact that being able to write for more different platforms (except those you can't) is the ultimate trait in a language one should gun for.

      But many people wont ever write anything other than for say, Windows, or for the web for example, in which case writing C code is a really really bad option and you should probably learn something else.

      (FWIW I was also born and bred on C, I love it, and agree it's worth learning even if only out of academic interest, but I also think people should learn more than just C, and perhaps not even C at all if they're web focussed and have limited time to dedicate to learning).

    19. Re:Anything that isn't C by danxx · · Score: 1

      I was going to say check out MoSync: http://www.mosync.com/ but I just noticed that the website is down and their twitter, facebook and github haven't been updated in months. Actually the mosync domain won't resolve. Some googling tells me that they have gone bankrupt.

      They did have a cross-platform C++ api for Android and iPhone and an html5 interface as well, which is their wormhole technology which you can read about at http://en.wikipedia.org/wiki/M...

    20. Re:Anything that isn't C by alexandre_ganso · · Score: 1

      After I saw some idiots taking pictures with notebooks at concerts, I would say yes :)

  6. 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 Anonymous Coward · · Score: 1

      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.

      By this standard, neither is COBOL.

    2. Re:Depends on your definition of legacy by Connie_Lingus · · Score: 0

      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"

      --
      never bring a twinkie to a food fight.
    3. 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.)

    4. Re:Depends on your definition of legacy by Anonymous Coward · · Score: 1

      Well, all mobile apps are local applications and young developers are supposed to do most of them. Desktop applications? Yes, they are less and less popular.

    5. Re:Depends on your definition of legacy by houstonbofh · · Score: 1

      Well, all mobile apps are local applications and young developers are supposed to do most of them.

      Most apps are just local interfaces to remote applications. Quick... Name 3 on your phone or tablet right now that are totally, and only local... Lets see... FBReader... My Files... Um... Hang on...

    6. Re:Depends on your definition of legacy by Number42 · · Score: 1

      Most games are. Plus, Contacts, Notes, etc. on my iPhone may share their files from iCloud, but do their editing on local copies. Mail apps are partially local in that they cache messages, but are mostly just an IMAP interface to another mail server.

    7. Re:Depends on your definition of legacy by Vellmont · · Score: 1

      /It's true, but realistically that's actually more of a problem than people realize.

      I travel a lot, and I don't always have data connectivity (it's VERY VERY expensive in certain parts of the world if you don't have a local SIM). I've tried very hard to find a good navigation program with local maps. NavFree USA and NavFreeWorld are pretty good, but there's many parts of the world they don't have maps for.

      I really kind of bemoan the fact that phone apps are so data centric. Eventually I'm going to be back within data range, but if I had my wish I'd ask for apps that are designed to be disconnected from the network for a period of time. Why can't my nav app just download all the data for a region if I plan to be offline for a while? (This kind of works for some nav apps... but mostly not). If I'm reading an article on my phone (on a plane for instance), why is it so hard to work in offline mode? If I'm creating a post to put on some social networking site, why is it so hard to save it locally, and post it whenever I have data again?

      This is obviously getting off-topic, but I really think the data-centric nature of apps is too reliant on 100% data connections.

      --
      AccountKiller
    8. 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.

    9. Re:Depends on your definition of legacy by viperidaenz · · Score: 1

      Why can't my nav app just download all the data for a region if I plan to be offline for a while?

      Google Maps, Osm+, MapFactor Navigator.
      Google Maps still requires data to do route calculation though.

    10. Re:Depends on your definition of legacy by Jane+Q.+Public · · Score: 2

      "Legacy" is a buzzword for "old."

      Pretty much. In programmer-speak, "legacy code" is anything that was already there when you started working on the project.

      So if somebody else was writing the program last month, but they left and your team started working on it this week, anything already in the project is "legacy code". That's basically what the word "legacy" means: something you "inherited" from someone else. (Or in this case, some other project, coder, or team.)

      Some people have started using "legacy" to mean "old", but that's really not where it came from. It doesn't have to be old in order to be legacy. It just has to come from someone else.

    11. Re:Depends on your definition of legacy by noh8rz10 · · Score: 1

      evernote. threes. angry birds. music app. garageband.

    12. Re:Depends on your definition of legacy by msobkow · · Score: 1

      What I find interesting is that despite the popularity of Android apps written in Java, Java was included as a "legacy" language by the article.

      --
      I do not fail; I succeed at finding out what does not work.
    13. Re:Depends on your definition of legacy by murdocj · · Score: 2

      95% of all programmers under the age of 28 say "oooo shiny" when they see something "new" (usually something repackaged from the 1980's) so I'm not sure I'd rely on them for a definition of "legacy".

    14. Re:Depends on your definition of legacy by Anonymous Coward · · Score: 0

      In my experience NavFree is crap. Sure, it has local maps but you have to do stupid things like rewrite all of your Contacts' address entries to conform with US addressing standards, including using "Zip Codes" in countries that have no concept of what those are. (It's been a bugbear for a selection of users on Get Satisfaction for over three years now.) In the end it's just easier to take the hit on the wallet and install something that "just works" like TomTom.

    15. Re:Depends on your definition of legacy by CNTOAGN · · Score: 1

      I've always considered legacy code to be code that isn't under any sort of unit testing. A well tested, thoroughly vented library will always be "production ready" for the tasks and behaviors that that code was intended for. If you are writing code (in whatever language) that isn't unit tested, then you are writing legacy code.

    16. Re:Depends on your definition of legacy by fatgraham · · Score: 1

      I personally would say legacy code is code that is planned to be refactored/replaced.

      I write plenty of code, first time, which is designed to last... until it NEEDS replacing.

    17. Re:Depends on your definition of legacy by AmiMoJo · · Score: 1

      Most younger programmers look down on web stuff as webmonkey lameness. .NET, WFP and MVVM at where it's at. I find it kinda funny when they talk about how "performant" it is, but between that lot and mobile apps web is seriously uncool.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    18. Re:Depends on your definition of legacy by Anonymous Coward · · Score: 0

      Good! .NEt and Java are not 'legacy', and neither are Perl, Visual Basic, C++ 2011, Objective C, C 99, Pascal, Fortran V, BASIC, COBOL, Ada, PL/I, or Fortran. I guess Algol 60 and 68 count as 'legacy', and maybe MUMPS, BCPL, or SNOBOL.

    19. Re: Depends on your definition of legacy by MrResistor · · Score: 1

      Depends on the industry. I do know a few people who only develop for the web, but that's because they work in web development. As a tools dev contractor in the game industry I have never been asked to write anything web based. Not even by my clients who are developing web games.

      --
      Under capitalism man exploits man. Under communism it's the other way around.
    20. Re:Depends on your definition of legacy by Anonymous Coward · · Score: 0

      What the fuck have you been drinking? I want two of those..

    21. Re:Depends on your definition of legacy by alexandre_ganso · · Score: 1

      That's because you don't live in reality. Legacy is that thing where you can't get any new, fresh programmers to work with. Good luck finding a 20yr-old PL/I ou AC/L or COBOL language.

      Or .NET.

    22. Re:Depends on your definition of legacy by Anonymous Coward · · Score: 0

      And yet IIS's market share is rising, so someone is considering using .NET for web-based stuff. You'd have to be completely clueless about the wider industry to call .NET "legacy", and that's about the only significance I can attach to this young person's comment; hardly worthy of an Ask Slashdot (fuck beta, etc.)

    23. Re:Depends on your definition of legacy by DutchUncle · · Score: 1

      Maybe because it's a phone, not a very small PC? or PDA or tablet? Yes, I know, the hardware and system are pretty much the same, but the assumption is "it's a phone, it's connected".

    24. Re:Depends on your definition of legacy by DutchUncle · · Score: 1

      Those who cannot remember the past are condemned to repeat it. - George Santayana
      Happens so often that I read an item about a "new improved" technique, and realize it's just a renaming or repackaging of something people did in the 1970s to get around minicomputer limitations. There's always a bottleneck; it just moves around the system as different parts of the hardware improve at different rates. And there's always a clever way of getting around that bottleneck by trading other resources. It's almost as bad as clothing styles coming back around as soon as people have worn out the clothes from the *last* time plaid was in (or whatever).

    25. Re:Depends on your definition of legacy by micahraleigh · · Score: 1

      The recruiter emails I get all the time are for new C# ASP.NET positions popping up in my area.

      Fewer and fewer .NET positions seem to be for something other than MVC.

      But as Lavare used to say ... don't just take my word for it.

    26. Re:Depends on your definition of legacy by Hognoxious · · Score: 1

      I once saw "I'm having to build one interface to our new legacy system" on a forum. Of course, I did the needful and reverted the same.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  7. .NET by PhrostyMcByte · · Score: 2

    Certainly not all of .NET -- as a whole it's anything but legacy and evolves at a fairly rapid pace -- but it also includes a lot of old cruft and a few poor design choices that affect even modern code.

    Other legacy tech I'd love to get rid of: SSIS/SSRS -- terrible SQL Server drag-and-drop technologies that do a lot of stuff badly. 1D barcodes like Code 39 and Code 128 -- dead simple to implement but take up a lot of space and are prone to poor reads.

  8. C/C++ by Anonymous Coward · · Score: 0

    Jobs in C/C++ are rare these days, having been replaced almost entirely be Java and C# for most programming tasks.

    But the real big winners in recent years are Objective C and Java, due to the popularity of iOS and Android.

    1. 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."
    2. 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.
    3. Re:C/C++ by phantomfive · · Score: 1

      It's two disjoint statements, combined by being related to C++/C.

      --
      "First they came for the slanderers and i said nothing."
    4. Re:C/C++ by Anonymous Coward · · Score: 0

      C/C++ are unmanaged languages, so code written in them tends to be rife with security holes, buffer overruns, and memory leaks. Also their standard libraries are incredibly poor compared to other languages, so you have to fall back on 3rd party libraries that may or may not be available on the platform you need them on, and may or may not be maintained and supported.

      70's style languages are going away for good reasons. Jobs using those languages are waning. If you want to be employed in 10 years, you need to change with the times. Sure, there are still COBOL programmers and even well paid ones, but that doesn't mean COBOL is the language to learn if you want to do well in the industry. It's effectively a dead language even if you can find the occasional rare use here or there. C is headed in that direction, though not as far along as COBOL yet.

    5. Re:C/C++ by phantomfive · · Score: 2

      You're basically acting like a parrot, quoting back rumors you've heard somewhere but you didn't bother to verify. Getting exact numbers is hard of course, but most surveys show that C/C++ are used much more than Python (for example), and sometimes are more used than Java. You really need to look things up before commenting.

      The problem with garbage collection really is performance.....still. Once you have a large server with gigabytes of RAM, it can literally take 10 minutes to do garbage collection every hour or so. Companies cope with this by taking their servers offline while they are doing garbage collection (of course they have redundancy). Other companies are rewriting their Java code in C/C++. Google writes a whole lot of their code in C++ still. The reason Apple got rid of garbage collection in Objective-C is because of performance.

      Now, don't get me wrong, Java isn't going anywhere, it has a place and a (very large) niche it fills really well. C/C++ have a (very large) niche as well. C# has a niche on Windows. How durable do you think that niche is?

      --
      "First they came for the slanderers and i said nothing."
    6. Re:C/C++ by Anonymous Coward · · Score: 0

      The Game Industry is starting to use other languages

    7. Re:C/C++ by Anonymous Coward · · Score: 0

      Tiobe does not reflect the real world or professional software market as a whole

    8. Re:C/C++ by Anonymous Coward · · Score: 0

      Well, the jobs numbers don't lie. The most in demand language is Java.

      But whatever. Obviously, like other old languages, there will still be some C jobs around. It isn't like every last one has gone away, but it's not just the trend that Java is in the top spot, it's been that way for years now, and it's only becoming more that way as mobile becomes dominant.

    9. Re:C/C++ by jythie · · Score: 1

      When someone actually develops a replacement for C, then maybe we can talk about it going away, but so far that has not happened.

    10. Re:C/C++ by phantomfive · · Score: 1

      Well, the jobs numbers don't lie. The most in demand language is Java.

      What jobs numbers. Link to them, show me. Prove that you can back yourself up. Show me I'm wrong if you think I am.

      That will make your conversation so much more intelligent and twice as interesting.

      --
      "First they came for the slanderers and i said nothing."
    11. Re:C/C++ by gbjbaanb · · Score: 1

      The Game Industry is starting to use other languages

      such as? XNA? lololol. Unity may be around but it is is just one of many engines that are used, all the others are still C/C++.

    12. Re:C/C++ by Midnight+Thunder · · Score: 1

      Garbage collection is only as good as the algorithm in place and the load it places also depends on the type of application in place. In most cases it hasn't really caused me much pain.

      There are cases where Java is actually more performant than C/C++, but can get brought down by the GC. The performance gains are down to the JIT.

      At work, a team that uses Java in high performance application presented to us way of analysing program performance and ways of addressing them. One of the things we were made clear about was the way you analyse performance can actually mask a performance issue, so you need to be careful of how you analyse your application.

      One other thing I learnt from this presentation is about a JVM called Zing. It was amazing how much better in certain circumstances it was than the Hotspot JVM. From what I understand the improvements are very much around the JVM. The only catch is cost. They know that companies are willing to pay for the gains it gives, so you'll need to decide whether the project warrants the extra cost for the performance boost.

      --
      Jumpstart the tartan drive.
    13. Re:C/C++ by Midnight+Thunder · · Score: 2

      From what I see the game engines are still C/C++, but are scripted in things like Python. At the same time, using the right APIs a lot of the hard processing can be handed off to specialised hardware, such as GPU, whether for graphics or physics.

      BTW while JS is not generally thought of a choice for high performance games, this demo shows what may be a sign of the future:

      http://www.unrealengine.com/ht...

      --
      Jumpstart the tartan drive.
    14. Re:C/C++ by Anonymous Coward · · Score: 1

      What jobs numbers

      OK, let me look that up for you, hmm?

      Jobstractor shows 12,558 Java jobs, as opposed to 1908 C++ jobs and 1087 C jobs. And that was in 2012. It got even more tilted in 2013. So there are over 4 Java jobs for each C/C++ job, by that accounting, and most other sources show similar results.

      Or maybe you'd prefer WantedAnalytics, which analyzes tech jobs and who lists the top 5 as SQL, Javascript, java, PHP. C++ doesn't even make the list.

      Every single survey I've seen in the last 3 years has had Java and web languages like PHP on top, with C/C++ fading usually into 5th or 6th place, if even that high. Web technologies and managed languages are what's important now, and this trend is only going to accelerate as mobile becomes a bigger and bigger share of the industry. I'm sorry that you're stuck in the past. I hope you manage to learn some new skills before your niche falls into insignificance.

    15. Re:C/C++ by phantomfive · · Score: 0
      ok, that's better than nothing, but.............but your first link collected data based on jobs posted on Twitter? What?

      Every single survey I've seen in the last 3 years has had Java and web languages like PHP on top

      Then you haven't looked very hard. Hint.

      --
      "First they came for the slanderers and i said nothing."
    16. Re:C/C++ by Anonymous Coward · · Score: 0

      Really? You seriously believe that? You know the "managed" languages are written in something don't you? Someone wrote those management libraries. They're secure and I can guarantee they're not written with .NET. As for finding it hard to use 3rd party libraries, well that's just being lazy and expecting your comfy framework to have *everything* crammed into it regardless of your knowledge of if it's fast, efficient or even works correctly. It's in the .NET library, it's fully supported and surely must work 100%!

    17. Re:C/C++ by luis_a_espinal · · Score: 2

      C/C++ are unmanaged languages,

      Which is great for very important and specific classes of problems.

      so code written in them tends to be rife with security holes, buffer overruns, and memory leaks.

      And a significant % of web applications written in Java, .NET or, say, Ruby, have security holes up to the wazzo.

      You might not get buffer over runs, but you certainly get null pointer, illegal arguments, index out of range, and invalid state exceptions (corresponding types as per each language.)

      Memory leaks? You get similar manifestations of those in managed languages (abandoned file handles, database connections that are never released). Memory specific, you can bring a VM to the ground if the creation rate of objects is so large that it causes the garbage collector to utilize CPU beyond a given threshold. In Java, for example, you can get an OutOfMemoryException if the GC is trashing the CPU even if you have plenty of memory allocated to the VM

      . Anyone who works in software for a living (and that is at least decently good at it) knows these issues. Anyone else thinks these problems are exclusively the domain of unmanaged code.

      Also their standard libraries are incredibly poor compared to other languages, so you have to fall back on 3rd party libraries that may or may not be available on the platform you need them on, and may or may not be maintained and supported.

      A lot of times you do not require such rich language libraries in unmanaged code. If you are writing a device driver for a memory constrained platform, you wouldn't (shouldn't) be needed a, let's say, uber-rich concurrent container class with even richer iterator semantics. That is just one example.

      If you are finding yourself with a significant need for a rich library, then you should be using a higher-level language.

      70's style languages are going away for good reasons.

      This only shows the significantly shallow view (or exposure) you have with respect of software technology. Look around you. There are more devices using unmanaged code that managed. Your toasters. Your microwaves and termostats. Your termometers. Your remote control. The cable/dsl/wireless modem that allows you to connect internet to post ignorant shit. The operating system and the myriad of hardware device drivers that make your computing experience possible.

      What language do you think they are written with?

      It is absolutely disturbing to see people think that unmanaged code is somehow waning away. That is where the money is. Those jobs are not decreasing. The jobs using managed code, that is the number that is increasing (and their salaries for the most part decreasing unless you are really a very good, Sr-or-Principal-level Java/.NET/Ruby/Python software engineer or architect.)

      * source : 18 years of programming experience as a Java/JEE application and C/C++ systems developer in both the commercial and defense sector.

      Jobs using those languages are waning.

      And our jobs will go to India or China, and programs will begin to write other programs making us developers obsolete, the earth is flat and the sun orbits it, blah blah blah.

      If you want to be employed in 10 years, you need to change with the times.

      That is an oxymoron. Of course you have to change with the times. But changing with the times does not necessarily mean changing languages. It means evolving your skill set. You are looking at the problem of being up-to-date and marketable as if it meant one should become a language-trick pony. There are code monkeys, and there as software engineers.

      Sure, there are still COBOL programmers and even well paid ones, but that doesn't mean COBOL is the language to learn if you want to do well in the industry. It's effectively a dead language even

    18. Re:C/C++ by luis_a_espinal · · Score: 2

      Well, the jobs numbers don't lie. The most in demand language is Java.

      And and a lot of those positions have mediocre pay and require not that much of technology depth. I know. I've worked on Java for a long time, and really, most web/enterprise stuff is really simple integration. It's barely engineering, and more plumbing.

      Openings for C and C++ remain constant and will remain so simply because they cater to specific needs that won't go away with managed code.

      Another thing. Look at Java job postings for the very best and brightest of companies (Adobe, Google, Apple, Lockheed Martin). Typically they desire (or even require that) people understand C and C++. Why do you think is that? I know that this is going off the tangent, but it should make you think about your claims that unmanaged code is going away.

      I mean, for fucks sake, what language do you think the runtimes required for managed languages are going to be written? And if less and less people are competent in hard languages that are absolutely needed for problems that will not go away, who do you think will get paid the most.

      The one thing I hate about many Java programmers (I am a Java developer btw) is that they look at technology from a lowest-common-and-dumb-denominator POV. They pigeonhole themselves into being one-trick ponies believing that such approach will provide stability in the future. This eventually shows in their quality of work and in their limited understanding of how software and hardware is supposed to work (which influences how systems are architected, designed and implemented.)

      Suit yourself.

    19. Re:C/C++ by Dave+Emami · · Score: 1

      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.

      Yes and no, at least based on my recent job searching. Yes, the C++ jobs pay significantly more (at least where I was looking), but there are far, far more Java, .NET, PHP, and Javascript jobs. So, you'll make more money in a C++ job, if you can find one.

      --

      "The Greens lynched a hacker in Chicago. Last month, but I think the body's still hanging from the old Water Tower."
    20. Re:C/C++ by Anonymous Coward · · Score: 0

      But there also will be less competition, I assume less people know C++ at a good level nowadays than they would Java.

    21. Re:C/C++ by Wootery · · Score: 1

      If you are finding yourself with a significant need for a rich library, then you should be using a higher-level language

      Disagree. Unmanaged languages can be very well served by libraries. C++ with Boost, or Qt, spring to mind.

    22. Re:C/C++ by gbjbaanb · · Score: 1

      yes, the "level design" aspect has been done in many dynamic languages for some time now - I understand the popular one is Lua because it links to C++ very well.

    23. Re:C/C++ by wiredlogic · · Score: 1

      C/C++ are unmanaged languages, so code written in them tends to be rife with security holes, buffer overruns, and memory leaks.

      ... when written by Java weenies who don't know how to program without a garbage collector.

      --
      I am becoming gerund, destroyer of verbs.
    24. Re:C/C++ by wiredlogic · · Score: 1

      Shame about the global scoping and 1-based arrays.

      --
      I am becoming gerund, destroyer of verbs.
    25. Re:C/C++ by cerberusti · · Score: 1

      Just something to consider:

      Positions in which you are expected to be using C / C++ are usually senior positions with other responsibilities as well (although this does depend a bit upon what you are actually doing, C and C++ are used across more industries than most languages.)

      Usually you fill that kind of position through your network of business contacts, or with someone internal who is working on something else, but you think can handle it. I would consider it a bad idea to fill it from random job boards.

      --
      I'm a signature virus. Please copy me to your signature so I can replicate.
    26. Re:C/C++ by intrico · · Score: 1

      This person gets it.

    27. Re:C/C++ by phantomfive · · Score: 1

      The OP said c/c++ jobs are 'rare'

      --
      "First they came for the slanderers and i said nothing."
    28. Re:C/C++ by zacherynuk · · Score: 1

      Hah! Great link - led me here: http://en.wikipedia.org/wiki/B...

    29. Re:C/C++ by phantomfive · · Score: 1

      Cool, glad you found something

      --
      "First they came for the slanderers and i said nothing."
    30. Re:C/C++ by Xest · · Score: 1

      "C/C++ is where you make the big bucks."

      This is true, but does that somehow change the rarity of them though? I've found C/C++ jobs tend to be highly regional - there are plenty in places like London and Cambridge, but barely any in much of the rest of the UK for example.

    31. Re:C/C++ by micahraleigh · · Score: 1

      Why did Stroustrup claim it was inevitable that C++ would soon support garbage collection?

      Would you call him misguided, out of touch with the performance issues you mentioned, or making an (unfortunate) that he wasn't excited about?

      I'm not asking rhetorically btw. You seem to be a couple steps ahead of me.

    32. Re:C/C++ by phantomfive · · Score: 1

      I'm not asking rhetorically btw. You seem to be a couple steps ahead of me.

      I don't know about that, but......IMO:
      I would call Stroustrup misguided for a lot of reasons. :)

      More seriously though, the design philosophy of C++ has always been, "if there is a language feature people want, make it available." I don't claim to read Stroustrup's mind, but adding garbage collection fits that design philosophy.

      The other design philosophy of C++ is to try to make it fast. So most likely garbage collection in C++ will be an optional feature, that can be turned on or off. There is already a garbage collector like that available with GCC. Or possibly they will learn from Apple's experience, and make something like ARC, which is not exactly garbage collection, but still takes care of 99.99% of your memory issues. This article goes in depth on some of these issues, although it's looking at it from a mobile standpoint, not a server standpoint. I believe that story was covered on Slashdot, too.

      Incidentally, I can't find any reference to where Stroustrup says garbage collection is inevitable. This seems to be his official position.

      --
      "First they came for the slanderers and i said nothing."
    33. Re:C/C++ by micahraleigh · · Score: 1

      Thanks for the background on that. I'll have to read up on some of that.

      C++ in .NET (which is terrible, btw: worst of both worlds) has optional support for garbage collection, so ISO/GNU C++ might move that way as well.

    34. Re:C/C++ by Anonymous Coward · · Score: 0

      Anyone that writes c/c++ with a straight face is an outright idiot

  9. 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 Connie_Lingus · · Score: 1

      my good man...your confusing what's trendy with what's tried and true.

      with 15 years C++/OOP/SQL experience under your belt, you would no NONE problems finding a tons of really well paying jobs in your city of choice.

      --
      never bring a twinkie to a food fight.
    2. 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.

    3. Re:Important question by ChaseTec · · Score: 1

      Wait, you're saying there was a market for C++ Linux jobs at some point? If you want to use Linux and be the most marketable as a developer you develop in Java (with a little JavaScript sprinkled in). If you want to stay more low-level have you looked at getting into the embedded space?

      --
      My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
    4. Re:Important question by Anonymous Coward · · Score: 0

      But lately, the market for straight-up C++ Linux jobs seems to be waning.

      It's largely because of phones and tablets, which generally are programmed in Objective C or Java, and are rapidly starting to be the dominant industry players.

      Also, straight-up C++ isn't the best for client server, and that's a huge market now.

    5. Re:Important question by gbjbaanb · · Score: 2

      its true - I was hired for a C++ on Linux job replacing PHP web stuff with C++ web services.

      then I got there are found it was all C#/WPF bollocks. Fair enough, I gave it a go and it was pretty damn easy, even if WCF is a bloated heap of steaming..

      But when I queried my manager about it, he said he knew a C++ dev could do the job. He was right - knowing C++ meant I knew what the intellisense-driven C# stuff was all about, how it performed and how to get the best out of it, and sort out the nasty bugs that we had in WCF (ok, it was really easy to get something working, but really tricky when you go slightly off-path).

      Anyway, all those frameworks are ten a penny, any recruiter worth the job he's selling will take someone competent over someone who just knows the framework - everyone is expected to learn new stuff nowadays, so if you don't know the flavour-of-the-month framework, as long as you can demonstrate intelligence (without any belligerence regarding new stuff) then you should get the job.

      But I'd get a few alternative techologies under your belt just so you can put them on the CV to pass the buzzword filters.

    6. Re:Important question by Vellmont · · Score: 1

      The jobs are shifting to introspective languages because the way people work with computers is shifting from the desktop to the web. It only tangentially has anything to do with the speed of computers. There's just not as much call for desktop programs anymore because the shift has moved to a networked world that isn't tied to a desktop machine running (OS-whatever). My guess is that you'll still have a job in desktop apps programming in C++ for 20 years at least, but the world will change under your feet, and already is.

      So focus less on the language, and more on the general movement in the world. If you feel like your career prospects are waning, find an employer that works on the web rather than the desktop. Or deals with data processing rather than desktop applications.

      The same thing happened in the mainframe era because of the invention of the microprocessor. Whether you "double down" on your C++ knowledge is a matter of risk mitigation and work environment. I'm sure there's some indispensable COBOL programmers out there... but you'd also have to accept some rather limited work environments as well surrounding yourself with other people who've chosen the same path. That's fine, but you have to accept that your're really limiting yourself to a small insular world. If that suits you, great. If not, move on.

      --
      AccountKiller
    7. Re:Important question by moshiko · · Score: 1

      Very long time ago, I gave one of my C++ developers a simple task in ASP (before the .net era).
      He came back to me and argued he doesn't know anything about ASP, jscript or vbscript.
      To this I replied by smacking him in the head and telling him that a C++ developer can do this stuff with his eyes blindfolded.
      Sure enough, an hour later the ASP task was successfully completed.

      --
      I love burekas in the morning
    8. Re:Important question by micahraleigh · · Score: 1

      7 years C++/OOP/Qt/Linux/sockets experience under my belt. I couldn't find a single job in my top 10 US city, and the ones that showed me interest paid far, far less than the .NET position I have now.

      In my city the applicants for a C/C++ position go way, way back. Very difficult to find an interview. People will pay an arm and a leg for a .NET developer here. The biggest reason I pursued .NET so heavily is I overheard one recruiter say to another that she could never seem to find a .NET developer.

    9. Re:Important question by DoofusOfDeath · · Score: 1

      I'm very curious: How has that worked out for you?

      As much as I love(and hate, and love to hate) C++ on Linux, I'm not so wedded to it that I'm unwilling to move on if reality requires it.

    10. Re:Important question by micahraleigh · · Score: 1

      It took me about 8 months practicing with C#/.NET (about 1-2 hrs/wk) before I landed my first .NET job which paid 70% of what my earlier Linux/Qt/C++ gov contractor job paid. Since the cost of living was about the difference (+ even cheaper housing) this worked out pretty evenly. Raleigh is a cheap place to live, but it isn't too hard to find top-paying jobs in the Research Triangle Park.

      About 1.5 yrs later (2 job jumps) and I'm making what I used to in the 80k's. Your average .NET developer makes 85k - 95k (usually with 3 years experience), but there are a TON of C# job opportunities here in Raleigh, NC that pay 120k - 130k. The C++ jobs I've looked at are all for 50-60k and they have lots of applicants. Hard to get an interview for those.

      Anyway, hope your "reality" is not pushing you around too much.

  10. 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.

    1. Re:abaci by innocent_white_lamb · · Score: 2

      Don't knock an abacus! My abacus lives beside my main computer.

      You really can't bet an abacus for doing binary arithmetic and bit shifting. I don't know about you, but I can't visualize that stuff well in my head so I either grab my abacus or start making slash marks on a piece of paper, and it's a lot more efficient and conducive to thinking when I do it with an abacus.

      --
      If you're a zombie and you know it, bite your friend!
    2. Re:abaci by LesFerg · · Score: 1

      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.

      Well the last part was something about a goat, and the first part was something to do with a broom handle, so maybe your boss was explaining the relative trade value of your equipment requirements.

      --
      If I had a DeLorean... I would probably only drive it from time to time.
    3. Re:abaci by LesFerg · · Score: 1

      You really can't bet an abacus for doing binary arithmetic and bit shifting.

      But they don't help your speling at all.

      --
      If I had a DeLorean... I would probably only drive it from time to time.
  11. Python by phantomfive · · Score: 0, Troll

    It's as hip as Java was in 1999, but without the commitment to backwards compatibility. That's the sure sign of a technology that's soon-to-be-obsolete.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:Python by RightSaidFred99 · · Score: 1

      God, I know. Suddenly Python is as hip as hip gets. All the cool kids using it. They even use it to write ridiculously large systems like OpenStack. Good fucking luck with that. If you employ 50+ hipsters to support it I'm sure you can do great...

    2. Re:Python by phantomfive · · Score: 1

      ^ +1

      I don't quite understand the popularity of Python. It's ok as a scripting language, but there are plenty of other good scripting languages.

      --
      "First they came for the slanderers and i said nothing."
  12. 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 Anonymous Coward · · Score: 0

      It is restricted to a single market, that appears to be beginning to shrink.

    2. 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.

    3. Re:Why .Net? by Anonymous Coward · · Score: 0

      Why was .Net mentioned as a legacy technology?

      It's tied to a single OS that's in rapid decline as computing shifts more to mobile. It's still around, sure, but best not to be on the sinking ship if you can help it.

    4. Re:Why .Net? by Anonymous Coward · · Score: 0

      MVC for web projects is a restricted market?

    5. Re:Why .Net? by Anonymous Coward · · Score: 0

      Call us when you return from your decade-long lunch. While we're on the 'sinking ship' which if at all, is sinking at a rate of a quarter inch per year -- we'll watch you cruise right past us into the iceberg on the SS Trendtanic. In the 90s everyone said that all development would be in Java. 10 years later people were babbling about Ruby. Have they 'taken over'? No. Are they gone? No. If it can be used to produce applications people want and need it'll remain relevant to some degree or another. This isn't the same industry it was 20-30 years ago. There is room for all sorts of competing technologies. Some are good for one thing, some are good for another. If you tell me C/C++ is going to go by the wayside, you're a moron. As an example -- you are only going to write embedded code in some dinky Java compiler if you're daft. That would result in a power-hungry device with security problems that'll likely never be completely fixed.

    6. Re:Why .Net? by Anubis+IV · · Score: 2

      It is restricted to a single market, that appears to be beginning to shrink.

      Au contraire, Mono is in wide use (and growing rapidly) and lets you use .NET on everything from iOS and Android to Mac and Linux. So not only is .NET not restricted to a single market, but the markets it's in, as well as its use, appear to be growing, on the whole.

    7. Re:Why .Net? by Anonymous Coward · · Score: 0

      Because it was a misinformed security nightmare when first created, its core designer resigned in protest, and proceeded as a core developer on "Trusted Computing", which also serves none of its stated goals?

    8. Re:Why .Net? by Anonymous Coward · · Score: 1

      Dude, if you're trying to use .Net for iOS and Android, you're seriously going to be screwed later in your career, unless you're really lucky, or unless you're just not ambitious.

      You need to become proficient in multiple languages, and become adept at solving language interoperability problems, rather than relying on worthless promises of salesmen about how they're going to solve all your problems for you in their next release.

    9. Re:Why .Net? by Anonymous Coward · · Score: 0

      In the 90s everyone said that all development would be in Java.

      To a 0th order approximation, it is.

    10. Re:Why .Net? by Anonymous Coward · · Score: 0

      In the next 5-10 years embedded software development is not going to be c or c++ on average

    11. Re:Why .Net? by bazmail · · Score: 1

      Restricted to a single market? What market is that exactly?

      Do you mean a single platform? If so then you are wrong. Check out Mono Project.
      If you mean restricted to being used in a single industry, then you are beyond retarded.


      Just because you are unskilled and ignorant regarding the use, development and popularity of the platform, you should not automatically fear it and attack it. You should educate yourself before embarrassing yourself.

    12. Re:Why .Net? by Anonymous Coward · · Score: 0

      Are you using Ximian's tools to do mobile apps in C# on iOS and Android?

    13. Re:Why .Net? by Anonymous Coward · · Score: 0

      What in the world are you talking about?

    14. Re:Why .Net? by Midnight+Thunder · · Score: 1

      I think the problem comes from living in a bubble. We all live in a bubble and think of the reality around us being the reality for everyone else. It's not until you step outside of the bubble do you realise the assumptions ions aren't necessarily true. What will often be the case is different people solving different problems with different languages. Sometimes it's down to the suitability of the language, sometimes it's down to the local skill set and sometimes down to what's considered to be the latest trending language.

      Learning a new language takes a time investment and changing the way we approach coding problems.

      As a Java developer I am still wrestling with whether Scala will end up supplanting Java or whether it will be a side language that will simply influence the direction Java takes in the future?

      For me languages fall into three main categories, those that stay in the main steam, those that influence the main steam languages and those that simply fade away, because they have been replaced by something 'better'. For the influencers they sometimes stay in the background because while innovative don't necessarily add a reason for such a radical change and by the time the look like they may be gaining steam, they lose it to the fact the 'mainstream' languages have picked up the best features.

      --
      Jumpstart the tartan drive.
    15. Re:Why .Net? by Anonymous Coward · · Score: 0

      Mono is junk. It perpetually lags behind in features, tons of C# and F# libraries won't run on it at all, and performance is abysmal compared to the real CLR and the JVM.

    16. Re:Why .Net? by Anonymous Coward · · Score: 0

      I am still wrestling with whether Scala will end up supplanting Java

      Scala will definitely never end up supplanting Java. Now that the hype has faded it's clear that the language and the compiler are both a mess.

    17. 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.)

    18. Re:Why .Net? by swfuggles · · Score: 1

      Uh, what?

      So please tell me how your going to fit any other language on a microcontroller with 1MB of flash memory. Nah, I'll be nice, how about 2MB of flash memory. Dont forget the roughly 512KB of RAM your going to have. And those specs are just guessing at what most industry will be using in 5-10 years. Most of us are still on ~256KB ROM.

      You have no CPU cache either. No OOE. Memory alignment limitations (on some architectures). Most default C runtimes dont even support malloc/free. If you have C++ then your probably not using exceptions either.

      How are you going to cram a JVM onto a microcontroller? We'll see Go before the JVM or Ruby or Python or whatever else. And even then Go is going to be stripped down as well.

      Programming for phones and tablets is not embedded programming. Sorry, it's just not. I'll concede the point that C is dead for embedded, when I can buy a $1.50 PIC that can run a JVM.

    19. Re:Why .Net? by Anonymous Coward · · Score: 0

      It is a more advanced language than the alternative languages, e.g. with its "async" language support.

      So... it's just caught up to a subset of Erlang (circa 1985), then?

    20. Re:Why .Net? by Pseudonym · · Score: 1

      So please tell me how your going to fit any other language on a microcontroller with 1MB of flash memory. Nah, I'll be nice, how about 2MB of flash memory. Dont forget the roughly 512KB of RAM your going to have.

      In the 80s, where those were considered high-end specs, we used "any other language" with no problem.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    21. Re:Why .Net? by Anonymous Coward · · Score: 0

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

      When will VB get the yield return syntax as in C#?

    22. Re:Why .Net? by squiggleslash · · Score: 1

      I think the person the questioner was talking to was a tad out of touch. And we see that regularly on Slashdot with people absolutely convinced that $TECHNOLOGY is never used because they don't see it used in their circle of technology acquaintances.

      The four most commonly used platforms right now are LAMP with PHP (not Perl, not Python, Goddamnedfuckingawful PHP), JEE, .NET, and "front-end web (Javascript/HTML/DOM/CSS)". Coming up the rear are Objective C on iOS, Java on Android, and Native (non-.NET) C++ on Windows. Anyone who claims any of these seven (well, six and a half - Java on Android and JEE obviously share quite a bit, including an entire programming language) platforms are "legacy" are completely out of touch.

      JEE and .NET are big in the corporate world and usually one or the other is the core platform for their modern web-based business software infrastructure, usually built as web applications (that is, servlets and .NET's equivalents serving HTML and Javascript for standard browsers, we're not talking not applets) accessing backends via web services.

      LAMP is generally used for a lot of new projects that end up phenomenally successful but start as essentially hacks where someone wanted something and didn't know much about coding, but knew enough PHP to put something together that did what they needed.

      Objective C on iOS and Java on Android are, obviously, the two major mobile platforms. And C++ is used on Windows because it's what was, until recently, the only standard Windows platform and a large number of Windows developers are still wary of .NET.

      Even outside of the golden seven, we have languages like C that still serve a critical purpose in some domains such as kernel level systems software. And what remains is mostly a set of platforms that aren't "legacy", just not as popular. Python, Perl, node.js, Coldfusion (another platform I'd wish would die already, even more than PHP), Ruby, and others.

      Legacy? I guess nobody's doing new COBOL development to the best of my knowledge, or new Fortran. Some would dearly like Adobe Flash to be legacy, but until a viable cross-platform DRM scheme gets added to HTML5, I don't see it going away.

      But .NET? Claiming it's legacy shows astonishing ignorance.

      --
      You are not alone. This is not normal. None of this is normal.
    23. Re:Why .Net? by Paradigma11 · · Score: 1

      It is a more advanced language than the alternative languages, e.g. with its "async" language support.

      So... it's just caught up to a subset of Erlang (circa 1985), then?

      Cool, Erlang used Monads in 1985. Didn't know that. I have always thought that Erlang uses Agents.

    24. Re:Why .Net? by Alomex · · Score: 1

      Yes but he is still waiting for the Erlang compiler to finish to verify if it works in large size projects. Should complete within the next year or so.

    25. Re:Why .Net? by sce7mjm · · Score: 1

      but the language support is not necessarily there for a particular language. C by it's nature will compile down to a few instructions on a line by line basis (depending on how obfuscated it is), and the other old dare I say legacy languages will also, without requiring a large run time.

      Java python and anything with a (byte-code not mapping to the host instruction set etc). require the runtime and it is the runtime that will not necessarily fit.

    26. Re:Why .Net? by jnm11 · · Score: 1

      Fortran is still the language of choice for new HPC programs. It's been constantly revised and nothing comes close to Fortran 2007 for large scale parallel codes. Even many medium size calculations are best in Fortran though for small problems matlab and python are best.

    27. Re:Why .Net? by saigon_from_europe · · Score: 1

      I work in digital TV. It is embedded, but with quite capable processors and a lot of resources. E.g. SoC based on MIPS 3300 running at 500MHz with 256MB DDR2 at 800MHz is considered "low end" and used for cheaper STBs. Software for such system is still written in C/C++. I've seen one big company using C/C++ in combination with Java, but that made system very sluggish. And Java was only for top tier (GUI). So I don't expect that C/C++ would be abandoned soon in DTV field due to entire code base already written. But Java is also making a progress because Android will be very big player in DTV very soon, so more and more thing will move to Java, but core of the system will still require solid amount of C/C++ coding in predictable future.

      --
      No sig today.
    28. Re:Why .Net? by Anonymous Coward · · Score: 0

      So using a different environment to run a language you already know = "screwed"...

      But using a differentl language to run in environments you already know = "awesome"?

      That doesn't make any sense.

    29. Re:Why .Net? by amacbride · · Score: 1

      I'm curious, what do people in HPC think of Chapel? I was curious about it, and it seemed pretty interesting, but still early days. http://chapel.cray.com/

    30. Re:Why .Net? by squiggleslash · · Score: 1

      Interesting. Moderators, please mod the parent up, another example of why it's hard to classify a language as "legacy". I kinda wondered when mentioning it if Fortran had something going on that was too obscure for me to have picked up on.

      --
      You are not alone. This is not normal. None of this is normal.
    31. Re:Why .Net? by ChatHuant · · Score: 2

      So please tell me how your going to fit any other language on a microcontroller with 1MB of flash memory. Nah, I'll be nice, how about 2MB of flash memory. Dont forget the roughly 512KB of RAM your going to have. And those specs are just guessing at what most industry will be using in 5-10 years. Most of us are still on ~256KB ROM.

      The .Net micro framework matches your requirements pretty well: from the Wikipedia link: The .NET Micro Framework (NETMF) is an open source .NET platform for resource-constrained devices with at least 256 KBytes of flash and 64 KBytes of RAM. You can use Visual Studio and C# for pretty small devices.

    32. Re:Why .Net? by Anubis+IV · · Score: 1

      Just thought I'd respond to your response with "I agree". Note that I didn't make any value statements about whether or not being able to use Mono in that fashion was a good idea. I merely pointed out that it can and is being used in that way, and that his statements regarding .NET were not factual. Please don't misunderstand my defense of the facts surrounding C# and .NET as a defense of that sort of development.

    33. Re:Why .Net? by Pseudonym · · Score: 1

      When read-write memory is constrained, the argument for interpreted languages is even stronger. The battery budget of RAM is improving more slowly than the battery budget of CPU speed on low-end platforms. On 8-bit micros, the code density of interpreted BASIC was often higher than that of machine code.

      Oh, and Arduino seems to be doing fairly well for itself these days.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    34. Re:Why .Net? by RightSaidFred99 · · Score: 1

      You neckbeards and your fantasies crack me up. Windows isn't going anywhere, and Windows on the server-side most especially isn't.

    35. Re:Why .Net? by RightSaidFred99 · · Score: 1

      You are correct. People crack me up - a lot of it is wishful thinking of neckbeards who like to think .NET and MS are dying.

    36. Re:Why .Net? by Anonymous Coward · · Score: 0

      When you say 8-bit micros do you mean systems built with a CPU and a bunch of ROM that houses the OS & BASIC interpreter?

      In which case yes you would get a greater code density storing the program in BASIC and Interpreting since one basic instruction will equal a good few instructions. However an assembler instruction will be not be using the ROM at all, so the ROM can be swapped out and used for more RAM, instructions and data. If left in and not used your address space is wasted.

      So I guess it comes down to how lean and mean you need your code and how quick you need it developed.

      >Oh, and Arduino seems to be doing fairly well for itself these days.

      Are you implying Arduino is interpreted? I thought it compiled down to machine code, though it does have a bootloader side by side to aid programming etc

    37. Re:Why .Net? by alexandre_ganso · · Score: 1

      That depends on the small world you live at.

      PHP WAS used for those things. People moved to ruby, python, etc. Which is bad, now when finally php does not suck anymore.

      C is HUGE. The open-source world is C. Everything unix is C. Pretty much every compiler for other language is C. The embedded world is C as well.

      Fortran is not legacy AT ALL. In my world, which is that of Supercomputing, about one third of new codes is in FORTRAN. It is simpler for the people in Math and physics fields to use it and achieve high speed using hundreds of thousand processors. (the other two thirds are roughly C and C++).

      Perl and python are used for data analysis in science. And some R.

      Python is used everywhere in Linux distributions.

      Functional languages are used in wall street.

      You can't even compare those with stuff like cold fusion.

    38. Re:Why .Net? by alexandre_ganso · · Score: 1

      People coming from the CS background just hate Fortran, but that thing just doesn't go away. Physics and Math people love it.

      The performance excuse is mostly excuse, you can have pretty much the same performance with C or well-made C++. The fact is that it's easier to come from a mathematical model to code in fortran than in C.

    39. Re:Why .Net? by Pseudonym · · Score: 1

      There's no reason why bytecode can't be stored in nonvolatile storage (e.g. flash).

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    40. Re:Why .Net? by Pseudonym · · Score: 1

      Oh, sorry, missed this comment.

      Are you implying Arduino is interpreted?

      I'm implying that Arduino is typically programmed in a language which is not C.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    41. Re:Why .Net? by squiggleslash · · Score: 1

      Nah, PHP still is used for those things. It shouldn't. The fucking language should DIE. But it's still there. It spreads like a virus, people get exposed to it because they're forced to hack their Wordpress distribution, and the next thing you know they're thinking it's "pretty cool".

      Visual Basic was never this bad.

      --
      You are not alone. This is not normal. None of this is normal.
    42. Re:Why .Net? by Anonymous Coward · · Score: 0

      Does not matter.

      Microsoft has earned a reputation as a rapist of trust. Therefore, no reasonable person will give them trust anymore.

      Therefore, Microsoft is legacy. End.

    43. Re:Why .Net? by Anonymous Coward · · Score: 0

      Because Erlang isn't used on any high performance telco gear...

    44. Re:Why .Net? by Anonymous Coward · · Score: 0

      Windows market share across the board is either declining(desktops, servers) or non-existent(tablets, phones, supercomputers, embedded).

  13. Caldera DOS vs. MS DOS by retroworks · · Score: 1

    I remember the days getting started in our computer reuse / recycling business, that we had to boot PCs with "Caldera DOS" and I had to reprimand people for using MS-DOS (MS was threatening a lot of piracy enforcement vs. DOS, even in 2003). The staff looked looked at me like I was the silliest man in the world.

    --
    Gently reply
  14. Definition of legacy is... by Anonymous Coward · · Score: 0

    Any software that has no tests run on it. Ie., untested software should be considered as legacy, not the age of it.

    Legacy and niche DSL's are where HIGH PAY is at, LOW COMPETITION in the job market is at, and lots of very cushy jobs :) (Ie., get a cold, your sallary goes up).

  15. Slashtrolls win! by Anonymous Coward · · Score: 0

    Flawless victory!

  16. Replacing with cross platform languages by Anonymous Coward · · Score: 0

    For instance, higher level stuff which is portable to C, running everywhere: Nimrod programming language http://nimrod-lang.org.

  17. From Bats to Tomorrow! by Anonymous Coward · · Score: 0

    I'm looking to migrate from the .bat command shell technology to PowerShell. That .NET object shell technology sounds interesting. Oh, what did the summary say again?

  18. You're mono a shit. by Anonymous Coward · · Score: 0

    It is restricted to a single market, that appears to be beginning to shrink.

    Au contraire, Mono is in wide use (and growing rapidly) and lets you use .NET on everything from iOS and Android to Mac and Linux. So not only is .NET not restricted to a single market, but the markets it's in, as well as its use, appear to be growing, on the whole.

    Mais au contraire, mon cher !
    Mono is to .NET what Wine is to PEs. It works for hello worlds, but that's about it. (I'm exagerating, of course).
    For one, Mono doesn't support mixed-mode assemblies, wich unfortunately rules out most .NET libraries and pretty much anything that calls unmanaged code without P/Invoke.
    And mono doesn't support newer APIs. It's outdated, and you'll spend an awful lot of time on compatibility if you try to do something a bit too complicated.

    1. Re:You're mono a shit. by Richard_at_work · · Score: 1

      With all due respect, you are pretty much talking 100% bullshit - mono is way more advanced than you suggest it is, and its a no-brainer that of course it won't run native code, but as I have yet to come across a library which is actually mixed mode that doesn't seem to be an issue.

    2. Re:You're mono a shit. by Anonymous Coward · · Score: 0

      I love the way these people cherry pick every possible edge-case and bundle them together to present Mono as a complete failure.

    3. Re:You're mono a shit. by Anonymous Coward · · Score: 0

      Name one non-trivial app that runs on mono and is in even moderate use.

      The end.

  19. Still Waiting by DaveAtFraud · · Score: 2

    I'm still waiting for FORTRAN to make a comeback. And none of this sissy FORTRAN 77 or FORTRAM 95 stuff either; real FORTRAN IV. If I wanted to program in something that looks like PL/1, I'd program in PL/1.

    Cheers,
    Dave

    --
    They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
    Ben
    1. Re:Still Waiting by confused+one · · Score: 1

      Fortran never went away. It's still used in a lot of engineering and scientific work.

    2. Re:Still Waiting by Lawrence_Bird · · Score: 1

      you're a pussy. use freakin ALGOL

    3. Re:Still Waiting by sartin · · Score: 1

      I'm still waiting for FORTRAN to make a comeback. And none of this sissy FORTRAN 77 or FORTRAM 95 stuff either; real FORTRAN IV.

      Yay for old timers!

      I once worked in a shop that used RATFOR. One of my cow-orkers took great pride in the fact that his code passed through the preprocessor unscathed.

    4. Re:Still Waiting by Anonymous Coward · · Score: 0

      It is PL/I not PL/1 ("I" for Roman numeral one).

    5. Re:Still Waiting by bakes · · Score: 1

      The determined Real Programmer can write Fortran programs in any language.

      --
      Ho! Haha! Guard! Turn! Parry! Dodge! Spin! Ha! Thrust!
    6. Re:Still Waiting by brad3378 · · Score: 1

      I took a Fortran 77 class many years ago while pursuing my BSME, but never understood why we were using Fortran over more popular languages.

      What's the advantage of Fortran in an engineering environment?

      --

    7. Re:Still Waiting by thejynxed · · Score: 1

      It's pretty much vastly superior to anything else when it comes to writing programs involving fluid dynamics for gas/sewer/water/chemical companies, especially when you're designing pipe and valve flows for pump stations and the like, as well as taking extremely accurate measurements in already operational installations. The front-end of said programs can be written in just about anything, but the heavy lifting (meat) for many of these companies is still done with programs written in FORTRAN (due to program size, speed, stability, etc).

      --
      @Mindless Drivel: 100% of Twitter posts ever Tweeted.
    8. Re:Still Waiting by Anonymous Coward · · Score: 0

      Dear lord, don't remind me. I had the "pleasure" of linking my C++ code to the HOPDM (fortran 77) library once. It was so much "fun" I ended up just writing the optimisation problems to disk on the fly (in a format apparently designed for punch-cards no less) and running HOPDM via a shell script instead.

      And now I see that HOPDM has grown a C frontend. Grrr, only about 10 fscking years too late.

    9. Re:Still Waiting by DaveAtFraud · · Score: 1

      The determined Real Programmer can write Fortran programs in any language.

      My perl looks like my C that looks like my FORTRAN.

      Cheers
      Dave

      --
      They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
      Ben
  20. What about Smalltalk...? by Anonymous Coward · · Score: 0

    It's interesting reading the comments here, having recently worked on a Smalltalk application (creating some Scratch components for a university). The talk of .net and objective-c (I've used both), which borrow a lot from an 80's language... and I was quite taken with how much good stuff is still in such an elderly environment that still has lots of interesting ideas. (Even if it looks a bit dated at times). The hot method recompile, the refactoring support, the ability to easily customise the environment (there is so little code, and such rich examples that you can cross reference and copy). Of course - new stuff has borrowed from it (as Smalltalk did from Lisp), but I was quite taken with how easy it was to pick it up again 20 years later... In stark contrast with trying to do the same 3 years later with Objective-C (and I suspect .net), which just seem to get more and more complicated vs. simpler each generation.

  21. Fear not, young padawan... by Anonymous Coward · · Score: 0

    The era of embedded linux is just on the horizon.

  22. Not tied to a single OS by dbIII · · Score: 1

    I'm running a dotnet (stupid name impossible to use properly in a sentence) geophysics application on linux using mono. That enables it to be run on a server with a lot of memory and processing power instead of on the users desktop machines. It also means they can just log in and run it over X as if it was on their own machine instead of various RDP weirdness.

  23. 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
  24. Legacy Application by prefec2 · · Score: 1

    We analysed a legacy application in C# two years ago. That does not mean that C# oder .Net are legacy, but that there are software systems implemented with these technologies which are legacy and subject to modernization.

  25. Why do devs all have to have ADHD? by Anonymous Coward · · Score: 0

    My day job is C# and SQL Server. I have a couple of side projects that occupy my free time. When choosing the technologies, I did NOT go for latest and greatest. I wanted FOSS, of course. I wanted software that was established and not half-baked. I wanted to be able to Google the answer to whatever problem had me stuck. In one case, it's an app that's replacing something written in 2001 and still running. So I knew I wanted to use software that would still be around in another decade.

    For better or worse, two apps are in PHP. Now that I've used it for a while, I can agree that it is a painfully ugly language. But it works. And there's a lib for everything. And I can Google answers easily.

    One app connects to PostgreSQL. At the time I made that decision, MySQL was just bought up by Sun or Oracle or whoever, and MariaDB didn't exist yet. Once again, though, it's software that is relatively solid - not bleeding edge.

    One app is running on WordPress. That wasn't my decision, and I've cursed WordPress hundreds of times if I've done it once. But, once again, I can Google stuff. And there's a ton of resources for it.

    And I'm pretty sure all of those will still be around in 10 years.

    Now get off my lawn.

  26. Visual Basic by confused+one · · Score: 1

    Visual Basic, please let it be Visual Basic that's going away.

  27. Re:PHP? - and the real legacy stuff by Anonymous Coward · · Score: 0

    I suspect there are at least 1/2 dozen Forth programmers left in the world - probably doing embedded controller stuff. Who was it who said Forth is a write-only language?

    Smalltalk and ALGOL are probably extinct outside computer history museums.

    Every CPU has assembly language - the only "legacy" ones are for CPUs that are extinct.

    VB6 - probably not - there are still corporate types who have never discovered dotnet. How about original MS or Waterloo BASIC? And there is still a current dotnet version of VB available, even if it's kind of a second-class citizen in the dotnet world.

    COBOL and FORTRAN, however, are active standards. The most recent versions are fully buzzword compliant with objects, inheritance, and everything else - and they also will compile legacy COBOL and FORTRAN IV code, complaining all the way (the warnings list might be longer than the source). Hardly "legacy" except for some of the source code.

    The way things have gone recently, I'd be inclined to add C itself to the "legacy" list. While still useful as a high-level assembler (which it was originally supposed to be), most use of C-like languages is probably now in the C++ and Java etc. realms.

    Digging deeper into memory of funny old magazines that published source code: Modula2? Actor? RPG?

  28. Hadoop COBOL by coaxial · · Score: 1
    1. Re:Hadoop COBOL by Nimey · · Score: 1

      BAD TOUCH BAD TOUCH

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    2. Re:Hadoop COBOL by Anonymous Coward · · Score: 0

      Heh, COBOL for .Net.

      - T

  29. 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.

  30. Go to a local user group to learn about ruby (or j by Anonymous Coward · · Score: 0

    Meetup is great for that. Find the technology you want to be in, and then go to a local meetup group, and do presentations / listen to presentations. Buy a book about it.

    Stop worrying about your future, your boss / client won't let you work on new tech, you have to take the responsibility and make the jump yourself.

  31. Not a controversial question AT ALL ... by FrnkMit · · Score: 2

    Legacy properly describes a software system, not a language. Languages rise and fall in popularity. Sometimes a language has inherent limits, sometimes the implementation stinks, sometimes the syntax or paradigm no longer become fashionable. Sometimes languages and platforms disappear only to re-emerge years later. Back in the late 1990's NeXTSTEP/OPENSTEP was turning into a "legacy platform" ... yet today MacOSX and iOS rely on Objective-C and descendants of the NeXT APIs. Even if a language fades completely from the mainstream its ideas inspire new languages: Java borrowed from Objective-C and C++; Ruby borrowed from Perl, Smalltalk, and a little from Eiffel.

    Stay in the industry long enough, you'll see everything come back.

  32. 'Legacy' is a relative term... by Junta · · Score: 2

    Though I'm not usually dealing with Microsoft platforms, I have enough experience with it to consider classifying it as 'legacy' in any sort of universal way an odd proposition. It is after all *the* first-party supported development framework for Microsoft platforms, very much continuing to be supported and developed by a pretty important market force (like it or not).

    Of course 'Legacy' is mostly in the eye of the beholder. About the only place 'Legacy' seems to have unambiguous meaning is within a single development organization replacing/phasing out projects they control. COBOL continues to see pretty significant deployments and is actively being enhanced, though most people in the industry would consider that 'Legacy'. Similar story for Fortran. A number of languages that don't get so much 'glory' these days continue to play important roles in particular segments and continue to be developed. There are those that would consider PHP 'legacy' and others just moving onto the platform. If you try to name a platform that by popular opinion is almost certainly totally 'Legacy' you'll probably discover not only some groups doing new development in the language, but some companies or projects actually continuing to enhance the language for others. Basically, if you can remember it, it by some definition is probably still alive.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  33. I wouldn't replace anything with Java, but differe by arwild01 · · Score: 1

    I've had similar experiences replacing Java with perl. Heck I've had similar experiences replacing compiled C code with perl. Perl has it's limitations, but it's often about picking knowing how to pick the right tool and how to use it.

  34. Re:PHP? (hope hope hope) by Anonymous Coward · · Score: 0

    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)

    Fortran 2008 is about as modern a language as you can find: OOP, overloading, runtime safety, and support for massive parallelism. C++ isn't even close.

  35. Re:PHP? (hope hope hope) by mcrbids · · Score: 1

    As a long-time PHP dev, I recognize that it's very popular to hate on PHP, and has been for some time. And there are some valid criticisms of PHP, particularly from the domain of purity. PHP is a brutish language, with lots of warts. Whether it's the lack of any sort of parallelism or threads, or the random_underscores or the random(haystack, needle) ordering of variables in functions, there's plenty to complain about.

    But PHP has its strengths, too. Its translation of strings to integers to hexidecimal numbers is "good enough" for most cases. Embedding variables into new strings works "good enough" that it's highly useful. It is extremely stable - I literally cannot remember a single incident of unexpected crashing. It's array/hash thingie is a highly convenient way to organize data from semi-sanitized sources, which is largely the norm in embedded, "enterprise" development and/or vertical stack software development.

    And despite these strengths, PHP offers some interesting angles that are pragmatic (non-technical) in nature:

    1) There are lots of PHP application templates and starter apps that work as a starting point for new start ups. The PHP community is generally very forgiving of newbies.

    2) It's uni-thread model is simple enough for beginner/intermediate programmers to comprehend easily.

    3) It's already installed on every 2-bit website hosting provider's servers.

    4) You can get a tremendous amount of "real work" done with PHP. You could rather easily run a US national census by website using a small cluster of PHP servers.

    Once, long ago, I was a beginner programmer, and I chose PHP for largely these reasons, reasons that have sustained me well as a developer. My company, founded on this technology, has grown rapidly and well, meeting the needs of our clients.

    How can I not thank the PHP designers for the free gift that I built I career out of?

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
  36. Why plural by SuperKendall · · Score: 1

    I only use one phone; why does it matter if what I write for myself only runs on the one phone I have.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  37. not really by Anonymous Coward · · Score: 0

    C is old, and remains popular. .NET is legacy, because no one uses it for new development anymore.

    1. Re:not really by Anonymous Coward · · Score: 0

      ".NET is legacy, because no one uses it for new development anymore."

      No one except pretty much everyone you mean?

  38. as long as its in the language charts by YoungManKlaus · · Score: 1

    I would not call it "legacy". You coworker is just a hipster.

  39. Re:PHP? (hope hope hope) by Anonymous Coward · · Score: 0

    I have a deep love for FORTH, but its time is pretty much past. You could make a case for using it on really resource-constrained embedded systems, I guess.

    But FORTH lives on inside of Postscript, and thus inside of PDF. Something of FORTH will be with us for the foreseeable future.

    http://c2.com/cgi/wiki?ForthPostscriptRelationship

    Fortran is far from dead, but I'm hoping that Python will take over its niche. Python itself is pretty slow, but you can use wonderful libraries to do powerful things at C speed (or at Fortran speed). The classic BLAS and LAPACK libraries are available in SciPy. So, the math calculations happen as fast as Fortran, but the glue code is a bit slower than Fortran... but you gain the elegance, convenience, and rapid development of the interpreted Python language.

    I was able to attend the SciPy conference, and one of the keynotes was a guy from the Hubble space telescope project. He described how they have converted old "legacy" code in a language called IDL into SciPy code.

    In science in general, and particularly in astronomy, as they walk away from legacy languages they are walking toward Python.

    http://www.astrobetter.com/wiki/tiki-index.php?page=idl_vs_python

    Personally I can't wait until Python kills MATLAB. Alas, that will not be tomorrow. But it will happen as surely as free web browsers killed Netscape's ability to charge $40 for Netscape Navigator.

  40. Re:PHP? (hope hope hope) by serviscope_minor · · Score: 1

    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)

    The latest extant standard is 2008, with the new one due out next year. Fortran 77 would count as very much legacy, but the new fortran variants seem to be decent enough modern languages.

    --
    SJW n. One who posts facts.
  41. Re:PHP? (hope hope hope) by jnm11 · · Score: 1

    Exactly. Modern Fortran for many numerical applications is much better than anything else available.

  42. Re:PHP? (hope hope hope) by dkf · · Score: 1

    And there are some valid criticisms of PHP, particularly from the domain of purity.

    The major problems that most people have with PHP stem from the metric buttload of problems with SQL injection and XSS bugs that they're infested with. I know these are not the language's fault exactly, but it's usually very close to the epicenter of trouble and pain. I suspect that it's the legacy of poor community practice that's the biggest troubling thing in reality (as opposed to what people perceive), and that's very hard to fix; all those badly written applications and tutorials need work.

    --
    "Little does he know, but there is no 'I' in 'Idiot'!"
  43. liveD. ftfy by raymorris · · Score: 1

    You had a typo, you left off the "d" in "lived". You're right, though, only people who have some experience are likely to appreciate how horrible Java really is.

    1. Re:liveD. ftfy by Gr8Apes · · Score: 1

      I saved the 'D' for your post. Java, despite its flaws, is far superior for certain tasks than Perl. Having had the pleasure of converting several Perl based websites to Java versions, and having done the same for C/C++ sites, I can say for web sites, Java is definitely the preferred language over those for reliability, uptime, performance, security, and manageability and maintainability of the source code. If you never need to modify the source, then I suppose the latter 2 don't matter. C# in my experience requires more resources for the same general load. Now, if you're needing some single user code that is highly efficient and fast - you'd go C (or C++, if you must) or assembly. Having coded in all those and more, and having coded for large systems has shown where each language excels, if it does, or really is a wannabe.

      --
      The cesspool just got a check and balance.
  44. Poppycock by Anonymous Coward · · Score: 0

    Perl is the superior language over Java for most tasks. If I was developing an actual application, rather than a utility, these days I would probably use Python although I have developed many full-scale applications using nothing more than bash. Every Java application I have supported has produced a nightmarish amount of log file output.

  45. young people: anything that's not web is "legacy" by PJ6 · · Score: 1

    You know, some people still have to write real applications.

    There's a whole crop of big internal LOB web applications that are showing serious aging problems since they only work with older browser types. As they're being chucked at great cost, it's been getting easier and easier to convince people that desktop apps are better - you get a higher quality, more stable UI, and they don't just randomly break with browser upgrades.

    I wrote a fairly large (100KLOC+) LOB .NET application in 2002, and it's still running without issue today. If it only ran in a browser it would have been scrapped long ago.

    .NET is alive and well, and business for desktop apps is picking up.

  46. Legacy by definition by jrr · · Score: 2

    Back in the early 1990s we wrote some software in Borland C++ to run under Windows 95 on an industrial PC to do some measurements and transfer data via an RS232 link and installed these boxes at various transformer stations at a utility. We've managed to "update" the setup to run under Windows XP but the utility didn't want too many changes for new installations so it was still compiled under a late 1990s version of the Borland C++. It is fortunate that we also bought the source code for the Borland RS232 driver as that company went out of business long ago. National Instruments provides "legacy" drivers for their A/D cards so we can still purchase those, too. Now that all of us have retired or left the company I guess the whole system is now legacy though these installation are still operating as far as I know.

    Though I remember the parts of the software I wrote fairly well it takes quite an effort to build, install and test its operation using the legacy compiler and drivers.

  47. younger coworker is an idiot by Anonymous Coward · · Score: 0

    Your younger coworker is an idiot.

    Probably likes Mongo DB and MySQL as well.

  48. Re:PHP? (hope hope hope) by Anonymous Coward · · Score: 0

    You forgot: Power Builder, ADA, Culprit, MAD, PL/I, Modula-2, and REXX.

  49. VFP and FP by Anonymous Coward · · Score: 0

    How badly would I get laughed at if I mentioned that we're phasing out the last of our FoxPro and VisualFoxPro code?

    That bad, eh?

    Forget I said anything, then.

    And I'll post anonymously.

    1. Re:VFP and FP by rpstrong · · Score: 1

      Not even a chuckle - I still make my living supporting both VFP and FP-DOS systems.

  50. Ace programmers by Anonymous Coward · · Score: 0

    That's odd, IMHO Ace is a fairly modern programming language.
    http://xml.coverpages.org/ace-overview.html

  51. Re:PHP? (hope hope hope) by hoggoth · · Score: 1

    I dup programming-language Forth loved! anything with-it could-do.

    --
    - For the complete works of Shakespeare: cat /dev/random (may take some time)
  52. Java is faster than C++ by Anonymous Coward · · Score: 0

    In theory, adaptive optimized JVM can be faster than C++, because it optimizes constantly during execution. For instance, JVM might turn on SSE instrucitons on your cpu, whereas C++ can not. C++ is compiled for a generic CPU, without SSE extensions. JVM can examine your cpu and turn on specific functionality.

    Besides, most large fast stock exchanges are written in Java, they have extreme performance. The trick is to never trigger the garbage collector. In java you do that by preallocating objects, and reuse them all the time.

    1. Re:Java is faster than C++ by phantomfive · · Score: 1

      Besides, most large fast stock exchanges are written in Java, they have extreme performance.

      I would LOVE to see your reference for that, actually.

      In java you do that by preallocating objects, and reuse them all the time.

      That's a real way of doing it, but it kind of ruins the point of having garbage collection in the first place. I knew a guy who got around the array performance penalty by writing a pre-processor that turned his array into variables (v1, v2, v3, v4, v5, v6). It was really cool, but...........if you need to do that kind of workaround, it's a problem with your language.

      --
      "First they came for the slanderers and i said nothing."
  53. Legacy? by bbsalem · · Score: 1

    I wonder how much manpower is still spent maintaining and writing FORTRAN? Oh, I know that in fortran 90 there are structures and classes with methods, but think for a moment about all that legacy code still running out there, not to mention that many scientists still like Fortran for calculations. Maybe lots of scientists have migrated to Matlab but they need to turn to Fortran to unlock some of their old data.

    1. Re:Legacy? by alexandre_ganso · · Score: 1

      Really? A LOT. People swear by fortran. Look at the codes running on the top 10 fastest supercomputers in the world. Fortran is about a third of it, if not more.

  54. Re:PHP? (hope hope hope) by Anonymous Coward · · Score: 0

    it's still used by some crazy science people who still in 2014 can't get the same quality of compiler output from any other language

    FTFY.

    I'm surprised nobody's mentioned TLS/SSL as legacy technologies.

  55. I'd believe it if you didn't say performance & by raymorris · · Score: 1

    > Java is definitely the preferred language over those for reliability, uptime, performance, security, and manageability and maintainability of the source code.

    I would have believed you if you didn't say performance and security. Since you claimed Java has great performance and security I kow you're just trolling. :)

  56. mind fudge by AmericanBlarney · · Score: 1

    Somehow I haven't seen anyone mention that .NET is actually newer than Ruby or JavaScript (the basis of node.js) and it is still developing rapidly, so I'm not sure what the criteria are for "Legacy". I worked at a Ruby on Rails shop, and most of the twenty-something fanboys didn't understand language design or design patterns in general well enough to have a well defended opinion as to why Ruby on Rails was the right choice, they liked it because it was Ruby on Rails and that's what the cool kids use. It's performance is abysmal and it encourages terribly structured code. Language choices made "because it's cool" will quickly be replaced by the next buzzword. On the other hand, 40 years later, C/C++ are still widely used for performance critical applications at companies both stodgy (finance) and cutting edge (back-ends for tons of web companies).

  57. Learn more than one by cwsumner · · Score: 1

    The question is not what language you use, but do you know more than one? If you only have learned one language you are limited, both in your capabilities and in your way of thinking. It is known that languages effect the modes of thinking that people use. If you have not learned other languages you might not be -able- to think in other ways.

    Applies to spoken languages as well...

  58. Industry Standards vs Hacker Standard by Anonymous Coward · · Score: 0

    The real problem is that some of the best programmers simply aren't interested in what the industry is using.
    If a language doesn't have a huge market share and high visibility to companies it won't get used.

    This is how we are mostly stuck with Java and C#. (And up until recently COBOL and RPG - Thanks 1980's IBM!)
    Now If I had my way, we'd all be using more flavorful languages like C, C++, Python, Common Lisp, Scheme, Perl.

    But those simply don't generate enough trade shows and complimentary CEO golf games to "close deals".
    However, they are usually learned by people who are actually driven to make quality software.

  59. Re:I'd believe it if you didn't say performance &a by Gr8Apes · · Score: 1

    The security of a web app (ie, running inside a container) is relatively secure. The "insecurity" attributed to Java is almost entirely browser plugin based, at least for the past few versions I ran through the last time someone made this claim. I personally would never write an applet, at least not using Java. I'd go for an application, in which case you're back to relatively secure. Now if you download a trojan, there's no helping that.

    As for performance, I thought this one had finally been put to bed with results like these and many others. Yes, C/C++ can be fast. Yes, Java can also be fast. They all can be dog slow too.

    --
    The cesspool just got a check and balance.
  60. REXX by alexandre_ganso · · Score: 1

    Ibm used to say for a time that REXX was the most used language in the world.

  61. Re:I wouldn't replace anything with Java, but diff by Wdomburg · · Score: 1

    Of course. Performance issues are often a matter of using a more efficient algorithm rather than a more efficient language. But in my experience, Java has the superior ecosystem when it comes to correct and performant packages most of the time.