The Register® — Biting the hand that feeds IT

Feeds

section icon Servers

Why Java would still stink even if it weren't security swiss cheese

Java is horrible and I hate it. Good, now there's a strong intro: attention grabbing, and it gets the natives all riled up. Sadly, the extremist sentiment of my statement is not that far from the truth. Hating or loving a logical construction such as a programming language is irrational, illogical and otherwise nonsensical. As a …

This topic is closed for new posts.

Page:

Flame

Re: Yup

> Is it the JDK, the JRE, the Java SE, the JERK...(may not have got the spelling of that last one right)

Er.. so the reason you dislike Java is that you couldn't read the download page to work out if you needed just the JRE or the JDK... you've been doing sys admin for how long?

Silver badge
Trollface

Re: Yup

You need a degree for that? Really!

Oh the decline of the West. And people then complain when they are outsourced and cold on the street, having spent all the money on a fake degree.

Anonymous Coward

Absolutely

"For starters, this notion of "write once, run anywhere" never really worked. Junior developers don't test their apps for cross-platform functionality. .... "but it works on my computer", albeit with their specific version of a Java VM on a particular patch level of that operating system"

Every time I've posted this message, it's been down-voted. The reality is Java is a pain-in-the-ass from a desktop perspective. In an enterprise each java app needs its own special flavour of java revision and patch, and none of the java apps play nicely together.

Silver badge

Re: Absolutely

Hear, Hear!

I recently spent almost half a day troubleshooting an install of some Java-based software, because apparently I was wrong in thinking that "requires Java version 6 update 24 or newer" would include version 7. Apparently not.

Mushroom

Re: Absolutely

>"requires Java version 6 update 24 or newer" would include version 7. Apparently not.

Another one that dislikes Java because of not reading.. update 24 or newer of Java 6.

And really this isn't different to any other language: Major releases break stuff .. some release of glibc broke a bunch of apps that were using memcpy or something incorrectly. Are all C/C++ applications bad now? are they bad languages? In the Ruby and Python world major updates seem to change the language enough to break a good percentage of the software written those language and Linux distros spend huge amounts of time transitioning versions of those languages/runtimes... If anything Java doesn't change enough.

Silver badge

Re: Absolutely ("not reading")

It was not written as "update 24 or newer of Java 6."

It was written as "Java 6 Update 24 or newer."

No punctuation, nothing to indicate whether "or newer" applied to the major version or just to the update. At that time, Java 7 was over a year old, so it was a reasonable assumption that the developer would have at least checked the app with Java 7 and included a note that it did not work.

In fact, it turns out that this particular app wouldn't work with any Java 6 update past 26 either. If this were the only developer who'd done this, I'd chalk it up to a bad vendor and be done. But every "enterprise" Java app I've seen has a similarly narrow range of version/update parameters.

You claim that this happens with all languages/platforms (in fact you seem to conflate language and platform a lot), but I manage systems written in C, C++, C#, VB, PHP, JS, etc. on a variety of platforms and I rarely see this kind of problem with any other system. It seems endemic to Java.

If Java changed more frequently, as you'd apparently prefer, we'd probably have to ban it altogether in our organization as the proliferation of specific versions needed and the consequent rash of security holes would make it almost impossible to administer.

Mushroom

Re: Absolutely ("not reading")

>It was written as "Java 6 Update 24 or newer."

Keep your pants on Steve. Surely as a "sys admin" it is your job to know this stuff? Not being involved in coding does not mean you are excused from knowing that Java 7 is incompatible with some stuff. If anything as a "sys admin" it's your job to know this stuff.. why do your machines have Java 7 on them when you have software that doesn't work with it? I think that fact is even mentioned in the bits of text on Oracles download sites. If I read "Java 6 Update 24" or newer I would take that as meaning Java 6 update ??

>reasonable assumption that the developer would have at least checked the app with

>Java 7 and included a note that it did not work.

Again, you're the sys admin.. it's your job to be managing applications.

>In fact, it turns out that this particular app wouldn't work with any Java 6 update past 26 either.

Sounds like a badly written app. Who's choice was it to use that app?

>If this were the only developer who'd done this, I'd chalk it up to a bad vendor and be done. But every >"enterprise" Java app I've seen has a similarly narrow range of version/update parameters.

Really? Can you name them? The only issues I've had with some Java apps in the last few years are issues with OpenJDK and some issues with the Android SDK not liking Java 7 ... There are some really old crufty apps from the Java 1.5 or 5 that are totally broken (mainly down to native code in DLLs that doesn't work anymore).

>You claim that this happens with all languages/platforms (in fact you seem to conflate language and >platform a lot), but I manage systems written in

Languages like PHP etc are a platform/runtime.. did you not notice that PHP doesn't generate standalone machine code?

>C, C++,

So you've never had an issue with really old legacy code built against really old versions of libraries that aren't installable on any sanely recent version of the OS you're deploying on? You should tell the glibc guys that they don't need to support workarounds for software that was linked against older versions and save them some work.

>PHP,

Yeah, the migration between php3 -> php4 didn't break any software at all did it? And what about php4->php5? Suhosin reveals a lot about how good PHP's runtime is..

>JS,

JS doesn't have all of those cross browser issues that libraries like jQuery aim to solve then?

>> It seems endemic to Java.

blah blah blah

>>If Java changed more frequently, as you'd apparently prefer,

>>we'd probably have to ban it altogether in our organization

>>as the proliferation of specific versions needed and the consequent

>>rash of security holes would make it almost impossible to administer.

You mean you blindly install the latest versions of stuff (like the fast moving version I would like) instead of "stable" versions.. do you have any policy on rolling out software? Most of the problems you have seem to be from not having a sane deployment procedure.

Bronze badge
Thumb Down

@Daniel

Daniel you must be a joy to work with. You are condescending and discount the possibility that others' experiences could have some real basis, putting it all down to their stupidity and incompetence. The typical arrogant zero social skills techie, best kept away from customers and preferably from the payroll.

My heart sinks when an app contains a JVM directory, or when I have to install an Oracle RPM just because it's the only Java version officially supported by the vendor - even if OpenJDK would work just as well. A bundled JVM is an admission of defeat in itself, for some reason I've never seen PHP, Perl or Python bundled with an application.

Java = "Have 12 gigs of RAM and don' run in a VM or suffer dreadful performance".

Mushroom

Re: @Daniel

>Daniel you must be a joy to work with.

Well, I've actually done sys admin and if anything I was the person the common folk got on with the best so ner ner.

Being a sys admin doesn't mean you have an excuse not to know "techie" stuff. Is sys admin a non-techie job now? As a sys admin it's your job to know how software versions interact, keep tabs on what is installed, keep deployments in check.... did you by any chance end up and stay in sys admin because you didn't get on well with coding?

>My heart sinks when an app contains a JVM directory, or when I have to install an

> Oracle RPM just because it's the only Java version officially supported by the vendor

How are applications that ship with a JRE Java's fault? How is Oracle not supporting standard Java distributions Java's fault? Why doesn't your OS allow multiple JRE/JDKs like Debian does?

>even if OpenJDK would work just as well. A bundled JVM is an admission of

> defeat in itself, for some reason

Maybe developers don't trust sys admins? From the comments from other sys admins it's apparent that 1: you guys can't read enough to work out the difference between the JRE and JDK and 2: Don't keep good enough tabs on the release cycles of major software components to manage major version migrations... anyone would have thought that was your job!

>I've never seen PHP, Perl or Python bundled with an application.

I've seen old machines kept around to run some PHP4 thingy that doesn't work on PHP5.. I've seen containers and VMs with standalone Ruby installs because the stable versions package with the OS aren't new enough to run some app. Python has systems for creating containers to avoid runtime/library version mismash issues..

I almost took a job this week building a VM to house some legacy app that only runs on some crufy version of PHP on some stoneage version of Redhat. The client was prepared to go to the point of back porting vmware's video driver to the ancient kernel it was running rather than fix the app.. this shit is so common and there isn't a language/runtime/platform in the world that doesn't have these issues. As a sys admin it's your job to manage it. If you don't like that maybe you should do something else?

>Java = "Have 12 gigs of RAM and don' run in a VM or suffer dreadful performance".

And there you go showing your bias and ignorance.

Anonymous Coward

Re: @Daniel

I find it extraordianry, as an ancient dev. engineer, that every new product installation seems to include â complete java as part of the kit, to be sure it's got the right version. I never recall, in C, FTN, C++ and others having to include the compiler or the runtime environment with the kit. In fact, at one place, we used to pass all our C through lint and three different C compilers. Strangely, most of that code, vast and complex as it was, ran on most UNIX platforms pretty much unchanged, like most of UNIX in fact.

However, when it really is across, say, Windows, Linux xyz, BSD, HP-UX and whatever, I can understand that doing your own sort algorithm may make more sense than hoping that the UNIX standard libraries have got their equivalents everywhere, though Perl seems to do rather a good job of hiding the nastiness.

I have programmed in Java; first off, found a couple of the Apache classes were broken and had to search the internet for either fixes or working versions - gave me a wonderful, warm feeling, especially when java "developers" insisted I must be wrong, till one, rather older and wiser, actually looked and proved it. Good old C experience paid off for me there as I kne what should happen in C, Perl and shell. Just Java people had never looked outside Eclipse or similar.

I think Python looks interesting. But since my first forays, it seems to be going the way of C++ and Java, getting bogged down with a thousand extra ways to do simple things and extra classes that make the Encylopaeida Brittanica look small.

Re: @Daniel

>C, FTN, C++ and others having to include the compiler or the runtime environment with the kit.

Statically linked binaries are fairly common, especially for commercial software.

If you want an example of where C/C++ stuff breaks look at all of the Loki games for Linux.. they crash on recent versions of glibc and the workarounds have to be invoked. Is that an issue with glibc/C or closed software? You decide ;)

>In fact, at one place, we used to pass all our C through lint and three different C compilers.

I don't know what compiler you are using but issues with GCC changing behaviour or suddenly becoming stricter on syntax than it was previously do happen especially between major releases (3 series to 4 series caused some headache). I had some weird stack corruption because of a .01 version bump of binutils once.. turned out it was aligning the data section to 4 bytes instead of 2 for some reason.. G++ has ABI changes every so often that mean a ton of recompiling for OS vendors..

>I have programmed in Java; first off, found a couple of the Apache classes were broken

There is plenty of broken stuff in Java and the popular libraries like commons,.. there is a ton of broken stuff in Apache's harmony that creates wonderful bugs in Android that piss me off to no end but that is true of every language out there. It seems unfair to pick on Java here.

>especially when java "developers" insisted I must be wrong, till one,

>rather older and wiser, actually looked and proved it.

Every language has people that won't listen.. again that isn't a feature of Java. I know of an endian bug in gprof that no one seems to have noticed or care about but I haven't condemned the whole GNU suite out of spite.

>getting bogged down with a thousand extra ways to do simple things and extra classes

Again, you can code massive reams of code in any language you like.. the only language that has gotten upset with me due to a mistake class was actually JavaFX (the class it was generating from the JavaFX code was bigger that some limit the JVM imposes on classes).

Flame

Re: @Daniel

>My heart sinks when an app contains a JVM directory,

Another point..

if that makes your hear sink you would literally shit your pants if you had to manage something like Xilinx's ISE. I think it has a JRE, TCL and C parts half ported from Windows with winelib. I think it's statically linked in places and ships with a complete set of all the runtime libraries it depends on... and even better it installs a complete 32bit and 64bit set of everything! Of course this is all Java's fault and has nothing to do with the TCL stuff or statically linked C stuff it's shipping with.

Bronze badge
Megaphone

Re: @Daniel

> And there you go showing your bias and ignorance.

I'm biased because I've run into the same issue repeatedly in a short period of time. Application A is dog slow, vendor documentation says "don't run in a VM, it cannot perform well". Try out application B, it won't even run properly in the VM. Evaluate application C, requirements say 4-12G RAM needed. Competing application C2 runs on hundreds of megabytes of RAM. I guess seeing a pattern emerge makes me ignorant.

I've seen Java apps that run well, I've worked on developing "enterprisey" products that had a Java core. As an administrator I just find that deploying and maintaining Java apps is a pain in comparison. Yes it's my job and it's what I have to do, but the complaints are still valid. I'd complain if I had to work with Windows 3.11.

BTW, Python 2.x is always backward compatible - unlike Java judging from the comment above. You can install Python 2.7 and apps written for 2.2 will run perfectly well. Virtualenv is handy for developers but I wouldn't use it in production. You can easily have multiple Python installs in parallel, eg. Python 2.6 in addition to the default 2.4.

I hate Java because it inspired a generation of developers to believe that nothing's complete without a framework that uses at least three hundred levels of inheritance and produces stack traces that are incomprehensible to any sane mortal. Why write a function when you can write fifteen classes to do the same thing, eh?

Gold badge

Amen.

Thumb Up

Ya don't mess with the CRAAAAAAAAZY VASEY!

Long time no see!

Bronze badge

There'd be no Minecraft without Java, and I wouldn't have wasted hours of my life!

Java is an elegant language on paper

But the VMs and general implementations are shockingly bad.

I've managed a fair few IT systems within schools in my time, and therefore have been introduced to "educational software". From what I gather, this term means "The developer is trying to educate himself in basic coding practice". And is usually sat at the back of the class with a dunce cap on his head.

Yes, you guessed it. Out of all the many appalling, steaming piles of useless code that crossed my desk, the worst examples always contained large chunks of Java. It doesn't even matter that much if the developer has some semi-decent skills, as Sun/Oracle will manage to screw it up with the next release.

I totally agree completely with foo_bar_baz. Because of its inevitable unreliability, java should always remain within static environments like a printer BIOS or on a server.

Re: Java is an elegant language on paper

The VMs are one of the strongest aspects of the Java ecosystem. Performance is starting to approach that of native code generated by things like C++ compilers, and is in some cases better. There are many new languages that are gaining popularity that run in a JVM, like Groovy and Clojure, and they are, like Java, sometimes the best tool for the job.

Anonymous Coward

Re: Java is an elegant language on paper

"There are many new languages that are gaining popularity that run in a JVM, like Groovy and Clojure, and they are, like Java, sometimes the best tool for the job."

Sorry but in cases where Clojure seems to be the best tool for the job, Common Lisp is in fact the best tool for the job. Hands off my Lisp you Java inter-op hipsters!

Mushroom

In support of Java: reader "colin the aardvark"'s sensible viewpoint in another Reg article forum

I thought that this post from fellow Reg reader "colin the aardvark" was a sensible viewpoint in support of Java and is realistic about it's limitations but with a real world view of Java's technical competencies as well as the industries it can work within and the skillset issues too:

http://forums.theregister.co.uk/post/1191612

Bronze badge

"Java was my first experience of object-oriented programming"

Lucky you! Mine was Object Pascal <puke>

Gold badge

Re: "Java was my first experience of object-oriented programming"

You poor bastard!

Anonymous Coward

Sysadmins are the Janitors of Computer Systems - what do you expect?

Like some janitors that loathe people some sysadmins hate anything that disturbs their neat and tidy little world. I do not dislike sysadmins but they are very much weak in seeing the big picture of things.

Agreeing java applets is a fail due to abandonment from Sun, web standards (in-)fighting (MS, Netscape java script, ...) Trevor fails to see that the java phenomenon is one of the big milestones on our road to a better computing model. Why, it is the Virtual Machine's ultimate comeback! The VM will rule our industry from now on and it does. I am not only talking about the JVM but all the others as well, CLR, and various VMs for perl, etc. It is factually wrong to say write once run everywhere failed, it did work wonderfully for server programs, and it continue to do that in tens of thousands installations every day. This is old news of course.

Bashing the Java Language is childish, and not very interesting. Yeah, there are incompetence everywhere, what's the news?? And, as the general consensus Java is a decent language for its age. Get over it, move forward!

Re: Sysadmins are the Janitors of Computer Systems - what do you expect?

"I do not dislike sysadmins but they are very much weak in seeing the big picture of things"

Hey, just because the author of this article is incapable of seeing the bigger picture, don't tar all of us sysadmins with the same brush please. >:(

Bronze badge

Apple nukes another one.

We know what happened.

Java had the audacity to be on the Apple platform.

One false step there and you become the fans new public enemy number one.

Its all easy feed for the Apple taliban.

Bronze badge

While early this year

Look back a few months and you will the Apple seeds of the strong feeling.

" I eventually went into systems administration. The joke was on me with that choice; by becoming a sysadmin, I ended up just having to learn a greater diversity of languages. I did not escape software development."

That's an interesting statement, but having to learn lots of different languages shouldn't have surprised you really. As a Sys Admin you are categorically not doing development work. You are writing code. Same as I built myself a brick BBQ but I wouldn't consider myself a builder.

On my CV I include things like Perl, Python, Javascript, VBScript, Bash, ASP etc..etc.. but when it comes to interviews I have to state categorically that I am not a developer.

I am a Sys Admin, and IMHO a bloody good one. You need to be able to write or at least read in as many different languages as required in order to be a good Sys Admin.

You can't sit there doing the same 150 mouse clicks or whatever thousands of times over to do something. You script it, fire it off and go get coffee or go to the pub, or maybe do something else constructive.

I'm not saying that I am any good at writing code though. The code I write is for a purpose. Normally throw away stuff. The point is that it works and can be made to work quickly, not that it works well. I am NOT a developer.

Developers should write good optimised code in some specific languages. In my opinion, good Sys Admins should be expected to write some code in *any* language.

Gold badge

"You will spend you life coding scripts and apps in two dozen languages, but also dealing with whinging users" is not how anyone sells the career of systems administration. Why would a fresh-out-of-high-school kid with no experience in systems administration know that beforehand? After all, it's derided as "digital janitors" and nothing more. Taking care of hardware and operating systems. "Simple, easy, unworthy of real effort." Sounded fun to an 18 year old; make money during the day, do real work as a hobby!

Hah.

Pint

It sounds like you spoke to some kind of careers advisor or looked up what the job description was?

I didn't look up my job role. I didn't speak to a careers advisor. I didn't aim to become a Systems Administrator. I just wanted to work with computers - as sad as that sounds.

It was a natural progression for me to take my scripting and computing skills I learned as a kid into work with me. "Whinging users" always turned up at the helpdesk (I didn't go to Uni, started at the bottom) with the same problems, so I scripted the responses as far as possible.

I realised I could write scripts to do all sorts of stuff, if only I knew what language I needed to write in and what stuff I wanted to do what. No one told me I'd need to, or had to. I just did it. With a smile because I enjoy it.

Every time I changed job I learned a new way of doing things, new languages, new operating systems. I didn't care what the job was, or even what the role required me to do, it was how I did it that mattered.

The benefit is, as I had scripted most of my tasks, I could get on with the fun stuff.

Like playing with storage, or networking, or reading The Reg and talking to you.

Gold badge

I didn't want to be a "sysadmin" myself. I wanted to "make comptuers talk to eachother, and get them to do things in a coordinated fashion." (I later discovered that what I wanted to do with build beowulf clusters; sadly, I do not build beowulf clusters for a living.)

The rest just sort of...happened...

FAIL

Trashy article. FAIL!

Any discussion of Java should separate out the language from the VM.

This article fails to do so, so immediately makes it bogus.

The Java language is used to write Android apps (does the author hate those?), it's used to write GWT apps like the the Adwords web interface (not trivial), which is all coded in native java (but compiled to javascript).

However, if he wants to poke fun at the VM, he should remember that the VM runs countless backend applications like Jira and Confluence (fantastic products) and modified VMs run Google Appengine alongside python.

If he wants to write about how the Java VM failed to be productive inside the browser, he can write an article about that... but that's not an argument about Java.. and really demonstrates the failure of Sun.. A knowledgeable sysadmin should know better...

Silver badge

You were spoilt. Modula 2? We dreamed of that when I was learning. Cheeky lecturers even let us read the white papers then went back to forcing us to use standard Pascal - a language designed to prevent anything but toy programs being written in it!

The most productive programmers in my entire years in university used BASIC or machine code. Both ran faster than Pascal did on the mainframe and imposed much less insane limits on what was expressable.

Thumb Down

ignorance

"I wrote a few crappy programs in Java that could do some basic things"

Hey, but that obviously didn't stop you speaking from a position of ignorance.

Unhappy

Too much time writing boilerplate getter/setter code…

I know you can get Maven to convert “customer.ContactCount += 1” to “customer.setContactCount(customer.getContactCount()+1)”, but lack of property methods is the one area where VisualBasic4 is better than Java.. a hacky language that was already deprecated when Java was first written.

I waited six years for GJ to become Generics in Java; I’ll have to wait six years for lambda functions and six years for properties.. that’s a whole load of 6-6-6 when (as the author observed) there are more fun things to do than write boilerplate code.

IT Angle

Re: Too much time writing boilerplate getter/setter code…

The point of getters and setters is to provide encapsulation. If you decide to rename the internal field, it does not break every other class which uses and/or updates that value. They also control HOW you permit access to those fields, e.g., synchronisation can be handled in the class, invalid values can be overridden, related fields can be updated at the same time so as to keep the object internally consistent, changes can be logged in the one place.

Trying to write C-like code in Java will always be an exercise in frustration. Just as trying to write Java-like code in C is.

Bronze badge
Stop

Re: Too much time writing boilerplate getter/setter code…

Rule number one of Object Orientated programming: You NEVER expose the internals of an object. Rather, you provide explicit methods to retrieve them and alter them. That way, it does not matter if -- or rather, when -- you subsequently alter the design of the object fundamentally, as long as your methods continue to behave the same way as they always did.

Sure, in Perl, you could do

$customer->{_contact_count} += 1; # leading underscore indicates private property

and it would work; but for the time it would take you to write some extra methods, you could better write

$customer->set_contact_count($customer->get_contact_count + 1);

or even, if you're going to write an awful lot of stuff things like this,

$customer->update_contact_count(+1); # unary + used to improve readability.

And when you re-design the object a few years down the line, eliminating the _contact_count internal property altogether because you don't need it, the code still works.

If you find yourself writing and rewriting the same "getting and setting" code over and over again, you're doing your inheritance wrong.

FAIL

So your alternative would be what? C++, riddled with incomprehensible code constructs and memory management defects? I think historians of the future civilization that arises from our ashes will point to the widespread adoption of C++ as one of the major factors that spelled our doom! :)

Silver badge

incomprehensible code constructs?

Most programming constructs are beyond peoples comprehension until used in anger and then a little light goes on and you realise you've written a thousand lines when ten minutes and ten lines would have done the job. Don't get me wrong C++ is a dogs dinner extension of cats vomit with a side dressing of hamster sauce but I'd rather force down a couple of chewy bits than have to eat two hundred and fifty big macs just to get my daily ration of vitamin result. And putting comments in does mean that young programmers don't sit there shaking when trying to understand it.

There is a good case for not using C++ due to unmaintainability but the 'scary' bits in it will probably crop up in any enterprise sized project so you'll have to learn them sometime one way or another.

Pirate

Couldn't agree more.

I just missed out on the Java craze at University by a year or so. Our OO Professor was so old fashioned (he wanted to teach us OO concepts, not the Latest Thing) we did all of our OO in a language called Eiffel. Pity that didn't take off.

Anyway, as Win32/MFC/C++ and C#/.NET developer, my most recent experience of Java was trying to do something utterly banal involving generics. I was shocked to see that after over a decade of development, Java still does not properly/correctly support templates/generics. Or rather it tries to, but it's a cack-handed, awful implementation. C++ and C# blow it away.

Why would anyone want to use it?

Bronze badge

TRWTF is Java

http://2.asset.soup.io/asset/2905/6018_3568.jpeg

I think Picard says it best.

Anonymous Coward

Meh

So you found some stuff that's been written badly and it happened to be in Java.

You can do that with any language. If you can't, it's only because it hasn't been around long enough. The language in which it's impossible to write crap code hasn't been invented yet.

In other news, the same is true of human languages. You can write crap articles in English and it happens all the time, sometimes even on El Reg.

Bronze badge
Linux

Hmm

I've heard exactly the same things said about PHP.

The great thing about Perl is, it scares people off who don't know what they're doing .....

Silver badge
WTF?

Java is pretty good

Nothing much wrong with the language. That it is abused is not the fault of Java per se. In any case, the most important use for Java is on servers in large (enterprise, socalled) systems. It's days of being used in browsers are more in the past.

For jobs that require a strongly typed language (i.e complex stuff, not scripting) Java is the best language out there. It is unambiguous in what it does per line (unlike C#) and has sold OO structure and therefore industrial strength. The only downside is that "anonymous classes" are ugly, but they're better avoided anyway.

Java does tend to work everywhere if you remember to do operating system neutral coding, e.g. when working with paths.

Eclipse and maven, plus improvement in frameworks have made Java a strong, mature language to work with. With all due respect, (i.e. the opposite ;-) in the techie sphere, Sys Admins are probably the least qualified people to understand coding. They understand scripting but not how to design and build complex systems.

Cheers.

Silver badge
Boffin

Caveat

I forgot to say that, if your job is to write an operating system, or a driver, or similar then you probably want to work with C / C++, not Java, due to the overhead of the VM firing up, or the increased memory requirement. For enterprise systems or systems where the VM is likely to be already running, this is not an issue.

There is a myth that Java is slow. That's generally untrue: dynamic optimisation of byte code by the VM means it can run faster than C/C++, which is statically compiled.

Finally it's nice to be able to write Java apps for Android, a huge plus.

Anonymous Coward

Re: Caveat

>Finally it's nice to be able to write Java apps for Android, a huge plus

Ah, now I understand why the apps on my android phone look shite and run like shite

Bronze badge
Trollface

A sysadmin that couldn't hack it as a developer is no surprise. Sysadmins are barely a step up from help desk monkey.

Facepalm

What an F'ing brain fart!

You sir are just ranting because some morons happened to chose to Java to cowboy code in, this can apply to numerous other language interpreters/VM including dot Net, Python, PHP etc.... Why not complain about these too, or would that make it too obvious that this is an excuse for an article which should not have got past the editor!

Java is not inherently insecure; however crackers are finding sneaky new software vulnerabilities all the time, which were unknown when the Java security model was developed/updated, so Java is bound to get hit by some of these new issues.

BTW: Flash is horribly insecure garbage, IMO as bad a security hole as Active-X, and regularly has MANY more security issues/patches than Java; I hope Adobe stops ALL updates to all OS's to force websites which use it to use better tech, like HTML 5.

Mushroom

Programming is embedded in another career as much as it is in devices

I think what the author of the article and some posters may not realise, when they talk of mediocrity or worse among Java programmers (and perhaps those of other languages) is the trend of programming being part of another job. There are many jobs which involve programming but aren't purely software engineering or development roles. Much as a lot of software is found in machines and devices that aren't general purpose computers themselves but something that performs a specific task or tasks: TV, washing machine, car, etc. (However I would say that those who write software for embedded applications need a high level of discipline in memory and CPU usage, ensuring code executes when expected (real time constraints) and extensive testing.)

Would it not be a good thing for those whose job title is not 'programmer' but who can write programs to solve the problems in their field: empowering. This is a development of the trend whereby use of computers is no longer the preserve of computing professionals but for everyone. Further along, the trend suggests that just about *every* job will involve some kind of programming in the future.

Happy

Re: Programming is embedded in another career as much as it is in devices

Bill Gates was twenty years ahead of you. Visual Basic for Applications, the language used in a million Excel macros on Wall Street. Programming for the masses.

When the full story of the 2008 financial crash comes out, we'll probably learn that some intern at Lehman Brothers made a typo in a macro. It was only a matter of time in a language with ' as a comment marker...

Page:

This topic is closed for new posts.