
Ask Slashdot: What's New In Legacy Languages? 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?"
I'd replace Java with Perl, for one. (Score:5, Insightful)
Re: (Score:3)
Last time I replaced perl with Java, I got an order of magnitude increase in performance. I'll stick with Java.
Re: (Score:2)
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..
Re: (Score:2)
Re:I'd replace Java with Perl, for one. (Score:5, 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.
Re: (Score:2)
Job security...
Re:I'd replace Java with Perl, for one. (Score:4, 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.
Re: I'd replace Java with Perl, for one. (Score:4, Funny)
ADD 1 TO THIS GIVING THAT WITH ONE CARBON COPY TO (Accounting AND Marketing BUT NOT InternalAudit).
liveD. ftfy (Score:2)
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.
Re: (Score:3)
Anything that isn't C (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!)
Re: (Score:2, Insightful)
Have you considered Objective-C for mobile development...
Re:Anything that isn't C (Score:4, Interesting)
On what mobile platforms (emphasis on the plural) would Objective-C be suitable?
Re: (Score:2)
iphone and ipad.
Re: (Score:3)
Indeed.
FWIW, I was hoping that there was a NeXTstep tablet that I didn't know about. Admit it, that'd be awesome.
Re: (Score:3)
include $(CLEAR_VARS)
LOCAL_MODULE
LOCAL_SRC_FILES
include $(BUILD_EXECUTABLE)
The last line there is the crucial line (but it's not documented).
Re: (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 thing
Re: (Score:2)
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 l
Re: (Score:3)
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 op
Re: (Score:2)
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.
Re: (Score:2)
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?
Depends on your definition of legacy (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.
Re:Depends on your definition of legacy (Score:4, 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.
Re: (Score:3)
"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 real
Re: (Score:2)
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.
Re:Depends on your definition of legacy (Score:5, 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.)
Re: (Score:2)
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.
Re: (Score:2)
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: (Score:2)
/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 bac
Re: (Score:2)
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: (Score:2)
evernote. threes. angry birds. music app. garageband.
Re: (Score:3)
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".
.NET (Score:3)
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: (Score:3)
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: (Score:2)
Re: (Score:2)
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".
Important question (Score:5, 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?
Re: (Score:2)
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: (Score:3)
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
Re:Important question (Score:4, 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.
Re: (Score:2)
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: (Score:2)
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 fee
abaci (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.
Re: (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.
Re: (Score:2)
You really can't bet an abacus for doing binary arithmetic and bit shifting.
But they don't help your speling at all.
Re: (Score:2)
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.
Why .Net? (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.
Re: (Score:2)
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
Re: (Score:2)
Re: (Score:2)
Re:Why .Net? (Score:4, 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.
Re: (Score:3)
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.
Re: (Score:2)
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: (Score:2)
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? (Score:5, Insightful)
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: (Score:2)
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.
Re: (Score:2)
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.
Not tied to a single OS (Score:2)
Re: (Score:2)
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 writt
Re: (Score:2)
In the 80s, where those were considered high-end specs, we used "any other language" with no problem.
Re: (Score:3)
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 [wikipedia.org] 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.
Caldera DOS vs. MS DOS (Score:2)
Still Waiting (Score:3)
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: (Score:2)
Re: (Score:2)
you're a pussy. use freakin ALGOL
Re: (Score:2)
PHP? (hope hope hope) (Score:4, 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.
Re: (Score:2)
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 numb
Re: (Score:2)
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.
Re: (Score:2)
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.
Legacy Application (Score:2)
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.
Visual Basic (Score:2)
Hadoop COBOL (Score:2)
Alright, not really. [sys-con.com]
Re: (Score:2)
BAD TOUCH BAD TOUCH
Nuke it from orbit. All of it. (Score:5, 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.
Not a controversial question AT ALL ... (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 com
'Legacy' is a relative term... (Score:3)
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.
Re: (Score:2)
young people: anything that's not web is "legacy" (Score:2)
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
Legacy by definition (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 d
Re:C/C++ (Score:4, 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.
Re: (Score:3, Insightful)
Re: (Score:2)
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:3)
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
Re: (Score:2)
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
Re: (Score:2)
Re: (Score:2)
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: (Score:2)
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 board
Re: (Score:3)
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, Lockhe
Re: (Score:2)
This person gets it.
Re: (Score:3)
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 releas
Re: (Score:2)
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.
Re: (Score:2)
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.
Re: (Score:2)
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: (Score:3)
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]
Re: (Score:2)
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.
Re: (Score:2)
Shame about the global scoping and 1-based arrays.
Re: (Score:2)
Do the new AMD64-architecture assembly-language opcodes to do AES encryption and decryption count?
http://en.wikipedia.org/wiki/A... [wikipedia.org]
http://www.intel.com/content/w... [intel.com]
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