Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ask Slashdot: What's New In Legacy Languages?

timothy posted about 6 months ago | from the why-in-my-day-we-didn't-have-feet dept.

Programming 247

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

cancel ×

247 comments

Sorry! There are no comments related to the filter you selected.

.NET (0)

Anonymous Coward | about 6 months ago | (#46436095)

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

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

Re:.NET (1)

davester666 (731373) | about 6 months ago | (#46436313)

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?

Re:.NET (1)

o_ferguson (836655) | about 6 months ago | (#46437087)

This. Yes. Thank You.

I'd replace Java with Perl, for one. (5, Insightful)

Alexander Karelas (3477949) | about 6 months ago | (#46436099)

Perl rocks (Mojolicious, AnyEvent, Moose)

Re:I'd replace Java with Perl, for one. (0)

Anonymous Coward | about 6 months ago | (#46436133)

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

Re:I'd replace Java with Perl, for one. (4, Insightful)

houstonbofh (602064) | about 6 months ago | (#46436241)

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.

Re:I'd replace Java with Perl, for one. (1)

Applehu Akbar (2968043) | about 6 months ago | (#46437119)

Job security...

Re:I'd replace Java with Perl, for one. (1)

Gr8Apes (679165) | about 6 months ago | (#46436185)

I guess if you live in the 90s.

Re:I'd replace Java with Perl, for one. (0)

Anonymous Coward | about 6 months ago | (#46436239)

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

you bet.

Re: I'd replace Java with Perl, for one. (1)

VTBlue (600055) | about 6 months ago | (#46436407)

THIS +1

Re: I'd replace Java with Perl, for one. (3, Funny)

Applehu Akbar (2968043) | about 6 months ago | (#46437125)

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

Re:I'd replace Java with Perl, for one. (2)

Wdomburg (141264) | about 6 months ago | (#46436425)

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

Re:I'd replace Java with Perl, for one. (1)

mikelieman (35628) | about 6 months ago | (#46436725)

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

Upgrades (0)

Anonymous Coward | about 6 months ago | (#46436111)

Hand, Woman

.NET is legacy? (1)

Anonymous Coward | about 6 months ago | (#46436113)

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

Anything that isn't C (5, Interesting)

innocent_white_lamb (151825) | about 6 months ago | (#46436121)

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!)

Re:Anything that isn't C (1, Insightful)

ThorGod (456163) | about 6 months ago | (#46436391)

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

Re:Anything that isn't C (2)

phantomfive (622387) | about 6 months ago | (#46436493)

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

Re:Anything that isn't C (2, Informative)

innocent_white_lamb (151825) | about 6 months ago | (#46436513)

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.

Re:Anything that isn't C (1)

LesFerg (452838) | about 6 months ago | (#46436761)

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.

Re:Anything that isn't C (2)

phantomfive (622387) | about 6 months ago | (#46436901)

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/ [localhost] 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.

Re:Anything that isn't C (1)

gbjbaanb (229885) | about 6 months ago | (#46436963)

nobody needs to write their own webserver, try Civetweb [github.com] - 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.

Depends on your definition of legacy (5, Interesting)

msobkow (48369) | about 6 months ago | (#46436131)

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.

Re:Depends on your definition of legacy (1)

Anonymous Coward | about 6 months ago | (#46436201)

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.

Re:Depends on your definition of legacy (0)

Connie_Lingus (317691) | about 6 months ago | (#46436207)

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"

Re:Depends on your definition of legacy (4, Insightful)

houstonbofh (602064) | about 6 months ago | (#46436263)

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

Re:Depends on your definition of legacy (1)

Anonymous Coward | about 6 months ago | (#46436355)

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.

Re:Depends on your definition of legacy (1)

houstonbofh (602064) | about 6 months ago | (#46436475)

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

Re:Depends on your definition of legacy (1)

Number42 (3443229) | about 6 months ago | (#46436587)

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.

Re:Depends on your definition of legacy (1)

Vellmont (569020) | about 6 months ago | (#46437131)

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

Re:Depends on your definition of legacy (1)

viperidaenz (2515578) | about 6 months ago | (#46437299)

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.

Re:Depends on your definition of legacy (3, Insightful)

Art3x (973401) | about 6 months ago | (#46437265)

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

.NET (2)

PhrostyMcByte (589271) | about 6 months ago | (#46436135)

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.

Re:.NET (2)

LesFerg (452838) | about 6 months ago | (#46436791)

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.

Re:.NET (1)

Chaos Incarnate (772793) | about 6 months ago | (#46436931)

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

C/C++ (0)

Anonymous Coward | about 6 months ago | (#46436147)

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.

Re:C/C++ (3, Insightful)

phantomfive (622387) | about 6 months ago | (#46436181)

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.

Re:C/C++ (3, Insightful)

Gr8Apes (679165) | about 6 months ago | (#46436197)

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?

Re:C/C++ (1)

phantomfive (622387) | about 6 months ago | (#46436293)

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

Re:C/C++ (0)

Anonymous Coward | about 6 months ago | (#46436319)

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.

Re:C/C++ (2)

phantomfive (622387) | about 6 months ago | (#46436459)

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?

Re:C/C++ (0)

Anonymous Coward | about 6 months ago | (#46436619)

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

Re:C/C++ (-1, Troll)

phantomfive (622387) | about 6 months ago | (#46436865)

I probably insult people more than they deserve, but you somehow managed to read a post telling you to look something up and somehow, without looking things up, assumed that there is only one index of programming language popularity. Or something. It is unfathomable how you could reach such a deep level of stupidity. Like, do you practice it in the mirror?

In any case, here is another language popularity website [langpop.com] . There are others. I am not someone who will claim to be always right, but 99.99% of the time I will be right over someone who doesn't check their facts. I wish people like you would check your facts, then the conversations around here would be so much more interesting.

Re:C/C++ (0)

Anonymous Coward | about 6 months ago | (#46436763)

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.

Re:C/C++ (1)

jythie (914043) | about 6 months ago | (#46436827)

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

Re:C/C++ (1)

phantomfive (622387) | about 6 months ago | (#46436875)

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.

Re:C/C++ (1)

Anonymous Coward | about 6 months ago | (#46437099)

What jobs numbers

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

Jobstractor [sitepoint.com] 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 [wantedanalytics.com] , 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.

Re:C/C++ (0)

phantomfive (622387) | about 6 months ago | (#46437197)

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 [lmgtfy.com] .

Re:C/C++ (1)

Midnight Thunder (17205) | about 6 months ago | (#46437045)

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.

Re:C/C++ (0)

Anonymous Coward | about 6 months ago | (#46436603)

The Game Industry is starting to use other languages

Re:C/C++ (1)

gbjbaanb (229885) | about 6 months ago | (#46436989)

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

Re:C/C++ (2)

Midnight Thunder (17205) | about 6 months ago | (#46437073)

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... [unrealengine.com]

Important question (4, Interesting)

DoofusOfDeath (636671) | about 6 months ago | (#46436149)

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?

Re:Important question (1)

Connie_Lingus (317691) | about 6 months ago | (#46436219)

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.

Re:Important question (2)

gbjbaanb (229885) | about 6 months ago | (#46437011)

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.

Re:Important question (3, Insightful)

houstonbofh (602064) | about 6 months ago | (#46436323)

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.

Re:Important question (1)

ChaseTec (447725) | about 6 months ago | (#46436343)

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?

Re:Important question (0)

Anonymous Coward | about 6 months ago | (#46436373)

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.

Fear not, young padawan... (0)

Anonymous Coward | about 6 months ago | (#46436679)

The era of embedded linux is just on the horizon.

Re:Important question (1)

Vellmont (569020) | about 6 months ago | (#46437091)

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.

abaci (4, Funny)

hirundo (221676) | about 6 months ago | (#46436161)

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.

Re:abaci (2)

innocent_white_lamb (151825) | about 6 months ago | (#46436561)

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.

Re:abaci (1)

LesFerg (452838) | about 6 months ago | (#46436829)

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

But they don't help your speling at all.

Re:abaci (1)

LesFerg (452838) | about 6 months ago | (#46436821)

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.

Python (0, Troll)

phantomfive (622387) | about 6 months ago | (#46436165)

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.

Why .Net? (5, Insightful)

Richard_at_work (517087) | about 6 months ago | (#46436169)

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.

Slashtrolls win! (0)

Anonymous Coward | about 6 months ago | (#46436229)

Flawless victory!

Re:Why .Net? (0)

Anonymous Coward | about 6 months ago | (#46436267)

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

Re:Why .Net? (3, Informative)

Richard_at_work (517087) | about 6 months ago | (#46436331)

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.

Re:Why .Net? (0)

Anonymous Coward | about 6 months ago | (#46436843)

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

Re:Why .Net? (0)

Anonymous Coward | about 6 months ago | (#46436353)

MVC for web projects is a restricted market?

Re:Why .Net? (2)

Anubis IV (1279820) | about 6 months ago | (#46436469)

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

Au contraire, Mono [wikipedia.org] 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.

You're mono a shit. (0)

Anonymous Coward | about 6 months ago | (#46436555)

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

Au contraire, Mono [wikipedia.org] 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.

Re:You're mono a shit. (1)

Richard_at_work (517087) | about 6 months ago | (#46436649)

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.

Re:Why .Net? (1)

Anonymous Coward | about 6 months ago | (#46436637)

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.

Re:Why .Net? (1)

bazmail (764941) | about 6 months ago | (#46436819)

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.

Re:Why .Net? (0)

Anonymous Coward | about 6 months ago | (#46437147)

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.

Re:Why .Net? (4, Insightful)

ljw1004 (764174) | about 6 months ago | (#46437211)

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

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

Re:Why .Net? (0)

Anonymous Coward | about 6 months ago | (#46436349)

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.

Re:Why .Net? (0)

Anonymous Coward | about 6 months ago | (#46436451)

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.

Re:Why .Net? (0)

Anonymous Coward | about 6 months ago | (#46436639)

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

To a 0th order approximation, it is.

Re:Why .Net? (0)

Anonymous Coward | about 6 months ago | (#46436657)

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

Not tied to a single OS (1)

dbIII (701233) | about 6 months ago | (#46436943)

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.

Re:Why .Net? (0)

Anonymous Coward | about 6 months ago | (#46436545)

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?

Re:Why .Net? (0)

Anonymous Coward | about 6 months ago | (#46436855)

What in the world are you talking about?

Re:Why .Net? (1)

Midnight Thunder (17205) | about 6 months ago | (#46437103)

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.

Re:Why .Net? (0)

Anonymous Coward | about 6 months ago | (#46437155)

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.

Caldera DOS vs. MS DOS (1)

retroworks (652802) | about 6 months ago | (#46436205)

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.

Definition of legacy is... (0)

Anonymous Coward | about 6 months ago | (#46436225)

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

Replacing with cross platform languages (0)

Anonymous Coward | about 6 months ago | (#46436393)

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

From Bats to Tomorrow! (0)

Anonymous Coward | about 6 months ago | (#46436543)

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?

Still Waiting (2)

DaveAtFraud (460127) | about 6 months ago | (#46436583)

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

Re:Still Waiting (1)

confused one (671304) | about 6 months ago | (#46437165)

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

What about Smalltalk...? (0)

Anonymous Coward | about 6 months ago | (#46436591)

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.

PHP? (hope hope hope) (3, Interesting)

Vellmont (569020) | about 6 months ago | (#46436951)

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.

Re:PHP? - and the real legacy stuff (0)

Anonymous Coward | about 6 months ago | (#46437215)

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?

Legacy Application (1)

prefec2 (875483) | about 6 months ago | (#46437057)

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.

Why do devs all have to have ADHD? (0)

Anonymous Coward | about 6 months ago | (#46437105)

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.

Visual Basic (1)

confused one (671304) | about 6 months ago | (#46437173)

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

Hadoop COBOL (1)

coaxial (28297) | about 6 months ago | (#46437245)

Alright, not really. [sys-con.com]

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>