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

41 of 247 comments (clear)

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

    Perl rocks (Mojolicious, AnyEvent, Moose)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ["hip","hip"]

    (Hip hip array!)

    --
    If you're a zombie and you know it, bite your friend!
    1. Re:Anything that isn't C by 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."
    2. 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!
    3. 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."
    4. 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});
    5. 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});
  3. Depends on your definition of legacy by msobkow · · Score: 5, Interesting

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

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

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

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

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

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

      "Legacy" is a buzzword for "old."

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Always be learning.

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

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

    2. 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. 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!
  7. Why .Net? by Richard_at_work · · Score: 5, Insightful

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

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

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

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

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

    2. Re:Why .Net? by 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.

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

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

  8. 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."
  9. 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.
  10. 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."
  11. 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
  12. 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.
  13. 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
  14. 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.
  15. 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.

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

  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. '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.
  20. 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.