The Struggle To Keep Java Relevant
snydeq writes "Fatal Exception's Neil McAllister questions Oracle's ability to revive interest in Java in the wake of Oracle VP Jeet Kaul's announcement at EclipseCon that he would 'like to see people with piercings doing Java programming.' 'If Kaul is hoping Java will once again attract youthful, cutting-edge developers, as it did when it debuted in 1995, [Kaul] may be in for a long wait,' McAllister writes. 'Java has evolved from a groundbreaking, revolutionary language platform to something closer to a modern-day version of Cobol.' And, as McAllister sees it, 'Nothing screams "get off my lawn" like a language controlled by Oracle, the world's largest enterprise software vendor. The chances that Java can attract the mohawks-and-tattoos set today seem slimmer than ever.'"
THe thing that makes me think Java has a huge path forward is groovy.
in theory groovy has all the advantage python has and more. Plus unlike python it has a path forward to a statically typed quasi compiled and generally close-to-c speed when you need it without much effort.
Some drink at the fountain of knowledge. Others just gargle.
There are some good ideas in Java, but they're drowned by the inconsistent implementation, and Oracle will most certainly not make that better.
java can FOAD, as can the lecturers around the world who bought into sun's bullshit.
for academics there's haskell, for professionals there's C++, and everyone else can suck my dong
Maybe he's barking up the wrong tree. The best young programmers I know don't have any piercings or tattoos that I can see.
I have no data to support this, but I have always thought the best of the tech crowd were too busy being into their tech to get into the body modification scene. I don't think this is different now than it was 30 years ago.
On the other hand, there's a lot I can't see (and in many cases, thank goodness!)
Someone emulating the punk movement of 40 years ago is "cutting edge"? If that's his idea of "cutting edge, hot talent", he needs to stop thinking he's in the movie "hackers" and he's looking for Angelina Jolie. Associating dress or style with talent is stupid no matter if it's "you wear a suit, you're smart" or "you've got 3 piercings and drive a crotch rocket you're the next big thing"
Demanding innovation never works. Innovation just happens from a need, not a demand from some Oracle guy who desires it and thinks it'll be good for marketing. There are interesting things happening in Java. Scala is certainly interesting. I haven't used it myself, but I'd love to try it if I had a good project to use it in.
AccountKiller
"I would like to see people with piercings doing Java programming,"
So what do people with piercings do now?
When did "youthful, cutting edge developers" become equated with "the mohawks-and-tattoos set?" All I can think about when I see a mohawk these days is the 80s and Mr T.
Qxe4
um google app engine? spring? android? gwt? groovy?
Please it's evolving and even finding new uses.
All those "java is going to die" people are silly and not grounded in reality. Plenty of talented developers see its power and use it.
Google's new python-like language "Go" is set to attract all the coders that Oracle wants. BAWWWWWW
let me get this straight... Java needs tattooed programmers to be relevant? Snarky comments about Cobol aside, Java is the current programming workhorse. It provides the greatest infrastructure and options for scalability. Since when does fashion dictate what technology is best for the job?
piercings and mohawks somehow make someone 'cutting edge' or a better coder? i think not.
good developers will follow the jobs.
i'll save you the trip to monster.com, here are some search results from there:
search results
------ -------
java 5000+
.net 4581
c++ 3706
c# 3369
perl 2569
python 1035
ruby 547
cobol 286
- 5000 is apparently the limit for the number of results a query can provide at monster.com (weak) so there are most likely far more that 5000 java jobs in their database
- couldn't figure out how to search for C reliably, but it's probably up over 5000 as well.
This post seems a bit biased. While there is valid concern for how Oracle will manage Java, numerous statistics indicate Java continues to be very relevant (cite http://langpop.com/)
I thought that having excessive piercings (plus mohawks, tattoos) was the way to tell the world, "I don't ever want to be someone's boss."
I only post comments when someone on the internet is wrong.
Java is slow? Could it be?
Java will remain relevant because of the large number of languages being built for the JVM: scala, erjang, clojure, groovy etc. Thus writing libraries in java has significant appeal.
JJ
like to see people with piercings doing Java programming.
The amount of drugs involved in the decision to get said piercings is not conducive to good software engineering.
.NET beat you years ago. Sorry.
--- Signed: The pierced and tattooed crowd.
The problem with Java today is... it's syntax looks too much like C. And as everybody knows, C is for geezers. Can't we write java code as follows:
<class>
<classname>MyPony</classname>
<method>Run</method>
<code>
<if><condition>IsExcited</conditon>
<if_block>walkFaster </if_block>
</if>
<method>trot</method>
<method>gallop</gallop>
.
.
etc...
Once the java manufacturing association fixes the syntax to my satisfaction, I'd give up on my 10 GL super auto functional metaprogrammers language (Saufml) and start writing java code. Until then, I'll keep working on my latest NoSql data-store for my soon to be mobile-social-media-empire (leveraging P2P crowd-sourcing) in my beloved Saufml.
Java isn't about to become irrelevant. There's no chance it's going to be the latest thing, because that opportunity only comes once. But if you want a language for doing major projects with long lifetimes, there's really Java, .NET and C++. For a lot of things, Java or .NET makes more sense, and realistically .NET limits you to Windows. For that class of things, the limiting factor in Java now is that Sun does't support the same range of APIs that MS does. Particularly desktop APIs needed for things like multimedia and games. If I wanted to make Java as useful as possible I'd put some manpower into that, and find ways to put some of the newer interpreted languages on top of the Java JVM. That would give them access to a good compiler and to the range of packages available in Java. (Despite a more limited set of APIs than .NET, there's still more than a newer language would otherwise have available.)
I make a lot of money working with Java. I have piercings. I've been known to have hair in a primary color.
Seriously though. Android applications. Eclipse. Adsense, GMail, Wave - in fact, just about every big Google web application (yes, even the client side stuff is written in Java and translated to Javascript). Openfire XMPP. Tomcat. Geronimo. ActiveMQ. Azureus.
You can badmouth Java all you want, but performance and tooling are excellent and there seems to be an infinite supply of libraries and sample code. It runs in lots of different places. There are 100% open source implementations. You can compile it to native code. You can run it in the CLR.
I know it's trendy to play with Ruby and Python, and that's fine. I'm a big fan of Scala, which runs on the JVM. I believe Twitter's backend is at least partially built on Scala. El Reg, I know, I know.
Anyone who thinks Java is fossilizing needs to give their head a shake. It's everywhere, and it's being used in very diverse ways.
If that doesn't excite this mythical "pierced programmer", then said idiot is too busy practicing the Hipster Doctrine - studied disinterest.
What planet do these people live on? Worse yet, Timothy, my man, for fuck's sake, are there any "editors" with some programming experience? About the only one seems to be ScuttleMoney, you know, the one we piled tons of flak back in the days.
I guess nothing good last forever.
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
There are a couple of social web sites I visit that go overboard with thread trackers etc. They haven't figured out RSS yet. I watch Java just hang my entire machine sometimes when I visit those sites.
It is in its current incarnation a bloated pig.
Does.it.allow.you.to.do.useful.things.without.typing.a.classpath.fifteen.layers.deep?
If.so.it.might.be.exactly.what.is.needed.to.make.Java.an.appealing.language.for.programmers.with.fresh.ideas. Else.it.won't.do.the.trick.
The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
I'm currently in a CS class that uses Java to teach software design; although the emphasis is made that the principles involved are applicable to most other software languages.
So what are considered the "write your own ticket in this job market" languages if you know them backwards, forwards, and sideways?
Prisencolinensinainciusol. Ol Rait!
I remember taking a long, hard look at the state of various VMs awhile back, and here's what I came up with: .NET isn't a bad design, but it's entirely controlled by Microsoft.
Rotor doesn't change that at all.
Mono changes it a little, but Mono (at least back then) wasn't really a great platform in its own right -- not enough tools, not enough reason to use it, always playing catch-up. Plus, there's the whole patent issue.
On top of all of that, it was never really designed to be cross-platform, and instead seems to be primarily aimed at creating native apps.
The various "scripting" languages have been moving towards VM architectures, and some are quite good, but none that I know of actually feature any kind of ahead-of-time compilation, even to bytecode. That includes Perl, Python, Ruby, JavaScript, and plenty of others.
Lisps are better, but they generally don't compile to an intermediate form -- if they compile at all, it's to something platform-specific, likely machine code.
Smalltalk is interesting, but is even more closed off than Java, and basically requires an entirely different set of tools for working with. It's not really designed to work as a text-based language.
The closest would seem to be Erlang, but it's radically different. While I know of at least one other language trying to target the Erlang VM, it's something that's really designed to work with Erlang. I'm also not entirely sure if the performance is there.
LLVM looks very, very good, but very few languages actually target it, beyond, say, C. It seems to be targeting runtime optimizations, not portability.
I probably looked at a few others I'm forgetting now...
Basically, the top two are still Java and .NET. Both present a VM that supports multiple real languages. In Java, this is by accident, it's hackish, but there are plenty of robust, mature languages other than Java which target it -- Scala, Groovy, Clojure, JRuby... In .NET, this is by design, but the more interesting other languages targeting it seem to be in an alpha state.
So Java is pretty much it. And it means we can take our fun, dynamic languages, and (eventually) compile them to Java bytecode, and create entirely cross-platform apps with no local dependencies other than Java. It means we get much of the work that's been put into optimizing Java for free -- for example, the Java garbage collector. It also means that even when designing a native app, well, Ruby just got threads in 1.9, and there's still a GIL, so no support for multicore. Python has and probably will always have a GIL. JRuby has had real, native Java threads almost as long as it's existed. Ruby has plenty of options for concurrency, but if you want to take advantage of multicore, your options are either JRuby or a unix fork(), and Ruby's GC is not COW-friendly, so fork() is potentially much more expensive than in other languages.
I don't know if Java is the way forward. I hope someone builds something cool on top of LLVM. I certainly hope Java the language dies. But the JVM is about the best we have in terms of open-source, cross-platform, compile-once-run-anywhere VMs.
Don't thank God, thank a doctor!
However, in the meantime Java is still the most widely used language:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Java is also about the JVM - which is increasingly useful for other languages such as Scala, Python, and Ruby. Have a read about why the JRuby guys like the JVM:
http://www.engineyard.com/blog/2009/j-is-for-jvm-why-the-j-in-jruby/
Java and the JVM are going to be around for a long while yet.
Considering mobile applications are the hottest thing going and that Both Android and Blackberry use Java APIs, the author brushes over this fact by stating they are non-standard custom API's and JVMs... but what open source language/standards-based API has strict across-the-board standards? Apple? proprietary. Ruby? laughable. Python? no. .Net? proprietary...though good point about Mono being more popular than Java on Linux, a topic for another discussion.
That being said, I was disappointed Android has only a Java API... It would have been interesting if Google could have made Python the de facto API for Android, based on their support of the language, but probably felt Java was...well...better for the task at hand.
Java is described in TFA as a cutting edge language from the 90's having somewhat lost its edge since them. Java was never cutting edge. It's always been technology from the 70's - mostly a Smalltalk derivative. Java always has been about been about compromise between being more advanced than its mainstream predecessors (C, Delphi/Pascal...) and keeping accessible to the average programmer.
If anything, in the last 10 years Java has succeeded, turning from a questionable language for client-side applets to a stable and widely used environment for serious server-side apps. Unless Oracle are totally braindead they will keep it moving in the same direction, slowly moving forward and not confusing the average programmer with too much Haskell/Lisp/Perl-like complicated stuff.
maybe it's not worth the fight. Why not just use a language that IS relevant rather than "struggling" to make relevant people use one that isn't?
Java was brain-dead at birth. SmallTalk is the cleanest of object-oriented programming languages with a simple, clean syntax. A good programmer can develop an interpreter for a language using SmallTalk in a weekend. Try that in Java and your head will explode due to the inherent complexities of the language. Java, at best, is C with bytecode execution rather than native machine code.
Ok, so they want to get the love back and show that java is still relevant. Maybe they want some people to expand their skillsets and add java to their toolbox. Well I thought, lets see how heavy this thing has become. I found the necessary magic words to install it on ubuntu from apt. And then: SPLAT! Upon trying to install it, I get this very unfriendly looking licensing message during the install!
Sun is willing to let you install this under the condition that you accept the terms of this 15 PAGE! licensing agreement! In order to install, you must accept the terms, do you accept the DLJ license terms? YES or NO?
If you say NO, then the installation -crashes- and you get prompted again, in a loop asking you to accept the terms again! Ok, after 3 declines, it bails out completely.
You know what? I dont remember that kind of love when I installed PYTHON. Maybe this is what they mean by tough love.
What they had better NOT do: treat it like Solaris. You're only allowed to use it in production if you have support, and the only support they sell is a site license which costs $25 * the number of people in your company + the number of users for your application.
I'm not being entirely silly. I have an application for which I would have been willing to pay for Java support. But the only support Sun would sell us (late 2009, when they had already started Oraclizing) was an unreasonably expensive site-wide support contract.
Contrary to popular belief, Google is mostly a C++ shop.
It's no longer language constructs, data structures, or algorithms that are cutting edge. Innovation has moved on to more fertile pastures. Yes, those who build software tools, libraries, IDEs, and compilers will continue to innovate. They have and will continue to come up with some brilliant stuff. But cutting edge developers don't pick a shop because they write in groovy or whatever the language-de-jeur is. Cutting edge developers go where they believe the next killer app is going to be born.
The best developers are multi-lingual. They don't identify with a single programming language. They're not VB developers or Java developers or even Rails developers. They can pick up any language/library/environment quickly. They don't really get off on curly braces versus colons. What feeds the best developers is the challenge of world domination through innovation.
Change the world, right?
To get buy in from the geezers, you should get in the habit of formatting your code. It makes things easier to read, and it just looks more professional. CamelCase also is helpful in improving readability, and to enforce proper code formatting you should make formatting part of the syntax.
/> />
Doesn't this look so much nicer? I almost forgot. You will need a declaration.
<?saufml version="1.0" encoding="UTF-8" ?>
<Class>
<ClassName>MyPony</ClassName>
<Method name="Run">
<Code>
<If>
<Condition>IsExcited</Condition>
<If_Block>walkFaster </If_Block>
</If>
</Code>
</Method>
<Method name="trot"
<Method name="gallop"
</Class>
This question is ask as if Java is somehow imporant in and of itself. It isnt. Neither is perl, or PHP, Phython or gasp - C++ or even C. Throw C#, F# and VB into that group as well.
These are tools. We (as in devleopers) should simply use the right tool for the job. If thats Java - then okey-dokey. If its C#, then groovy, if its C++ then thats ok to. Hey, I still use assembly language for a few things.
Do real engineering work folks! Pick the right tools for the job based on the business and technical requirements.
-Foredecker
Jibe!
People that dismiss Oracle's database software are foolish. The transaction management, up time, and all the other robustness features of an Oracle database server gave me plenty of time to go look for hot girls when I was single. Meanwhile, those SQL Server guys hung in the lab.
This is my sig.
I was with you up to the camel casing. Camel case is a fad I could have done without, not only is walkFaster less clear than walk_faster, it is also more error prone to type.
As far as I know, pretty much every “enterprise” server software still in written in Java, and hence the developer base is gigantic. I mean just look at the job offers. 9 out of 10 say Java, the last time I looked.
What is he talking about?? Does he even know anything about what he is supposed to manage?
Any sufficiently advanced intelligence is indistinguishable from stupidity.
I for one would like geeks to be like the lab girl in NCIS but in fact they are not. Most "punks" in IT are just doing their programmer job to get some money at the end of the month. They do not care about advanced computer language theory.
Anyway if you're one of the few geeks with piercings and really want your language to be "cutting edge" as TFA puts it, Scala, Clojure, Groovy, SISC, you name it, are available in the Java ecosystem. I'm sure you can even find some Forth dialect if you look hard.
As for most people with piercings they'll be glad to use a language that is neither too cumbersome like C or Cobol or Pascal or VB, neither too hard to understand or organize like ML or Perl or Scheme. Java is nice for them and will stay so even now Oracle has bought Sun.
I was just by the Apple Store in Palo Alto, CA. There are people lined up for the iPad launch, some sleeping in tents. Three TV stations are covering the waiting line. Reminds me of Apple's "Lemmings' video.
Actually, the state of the art in programming languages still sucks. The mindset that "it has to be unsafe to go fast" is so deeply entrenched in the C/C++ community that fixable problems aren't fixed, and as a result, millions of programs still crash every day. The "virtual machine" thing has resulted in ".NET", a virtual machine for x86 only. The "scripting language" approach is useful, but fanatical late-binding coupled with naive interpreters makes for very slow execution, as with Python. Few mainstream languages do concurrency well; the notion that concurrency is the operating system's problem results in pain for all concerned.
Looked at that way, Java isn't bad. Memory safety is good. There are efficient compilers. There's some language support for concurrency. It's not too weird, and not too theoretical. Java is mediocre, but better than most of the alternatives when you need to get large amounts of work done.
The only ways they can possibly pull this off are:
1. Scala, Groovy, and Clojure.
2. Mobile platforms which use Java, even ones that aren't J2ME compatible, like Android
There's no way Java is ever going to be highly popular as a mainstream language in the same way that Python and others are. It's just too late.
And it's highly unlikely that Oracle is ever going to promote either of those two paths.
So long, Sun! Your legacy was good.
From what I've seen and heard, python is the "new cool", it has all sorts of interesting features. The only problem is you need to know a lot about it before you can even use a little of it.
Python is not very job-friendly, but I do hear lots of people speaking of it in glowing terms, I could easily see it taking off big time when more people see how "cool" it is.
For the college fuddy-duddy business types, java is still king and will be for some time... unfortunately.
Me, I like perl. You can use it for 20 years and STILL have more to learn.
Java attracted the young developers because more experienced ones had already watched the "new next thing" come and go too many times to be blinded by the hype. Many of them realized that the whole bytecode, write once run anywhere was done in 1969 (p-code) and that if those hyping Java didn't know that, they didn't have enough experience to know if it was good or not. If they did know that then they were liars. Of course, the p-code interpreter fit on a single sided floppy with room to spare and ran acceptably on a 6502....
It is amazing to me the way the hype machine strapped JATOs on that pig and sorta made it fly, but that can only last so long.
Now with Java in the clutches of the enterprise people who are the leading source of anti-cool, it doesn't stand a chance.
Others are starting to do this as well. It probably won't go any where until we move the standard place where the underscore is on the keyboard.
Java doesn't dominate anything, Java mumbles under its breath that that is its stapler and it's going to burn everything down.
I have a theory that the truth is never told during the nine-to-five hours. - Hunter S. Thompson
Why is noone asking to examine the C programming language, to adapt it to modern programming processes and methods? Why is noone speaking out to defend C as a useful language, to update the aged methods of Kernighan and Ritchie?
Oh, wait. Never mind. That was a stupid question.
Help stamp out iliturcy.
I would say that the future popularity of the JVM is pretty secure with groovy, jruby, scala and the myriad of other languages that are now available on the JVM, see wikipedia List_of_JVM_languages.
There is a huge advantage to java programmers by staying within the familiar JVM world when changing a language rather than jumping to a completely new and foreign environment - familiar stacktraces, reusable libraries etc.
The "primary" language on the JVM - java will inevitably evolve slower (JCP = design by committee) and will therefore struggle to remain at the cutting edge.
RTFM is not a radio station.
I went from Smalltalk to Java in 1996 and didn't like its implementation. In Smalltalk, EVERYTHING inherited from TOFU (Top OF Universe). Not so in Java. Haven't done it for some years, but I thought it wasn't very elegant.
The enterprise sector is spectacular at painting itself into corners. Java isn't the first instance of that, and it certainly won't be the last. So yeah, Java isn't going anywhere as far as enterprise is concerned. But neither is Cobol or Fortran or many other moribund technologies.
The rest of us can sensibly let all of that die.
As for inconsistencies, how many mutually incompatible versions of Java are there? How many revamps compared to languages stewarded by standardization bodies or other neutral actors? (C has, what, 3 over it's 40 years of history?)
I'd say that the best thing Oracle could do for Java would be to give it to ISO, but I think it's 10 years too late. I'd love to be surprised, though.
It seems to be a modern version of COBOL? What is that supposed to mean? I believe this is right and the main conclusion is that will be around for the next 50-70 Years. Cobol is approaching its 50th Birthday and i don't think all the systems which caused the spike in demand of cobol programmers in the year 2000 will be turned off immediately (as a matter of fact i believe many of them will run happily for 20 more years). The fact that the biggest database company now owns one java implementation and that IBM another makes me feel this comparison may be indeed more true. However it means that there will be a lot of stable work going on, also because the java-compatible mobile devices, which outnumber the iphone seriously. Right now i dont see any competitor (including .net) having gained such momentum for a long-term development.
I dont care if the application maintaining my data at the insurance comanies is written by a programmer with a piercing in his nose or not.
WTF is this supposed to mean? The new COBOL? We need a hip new language that appeals to the bohemian hacker (flash/designer). Please.
On January 28, 2010, Neil Mcallister published this article: http://infoworld.com/d/developer-world/oracles-big-bear-hug-java-bodes-really-well-021 He concludes the article by saying: "But at the very least, [Java developers] can rest a whole lot easier." Someone can't make up his mind about Java. The rest of us have, and know that -- while not perfect -- Java is an extremely powerful tool that ain't going anywhere.
I was with you up to the camel casing. Camel case is a fad I could have done without, not only is walkFaster less clear than walk_faster, it is also more error prone to type.
... or 'WalkFaster' which is arguably just as clear.
I agree lowercase CamelCase is usually misused, though.
I believe what would be significant is to improve the JVM bytecode, to add some additional instructions. Tail-recursive calls is an example. There are some others. If the JVM specification was improved (and implemented by Oracle & other major JVM sources), several new languages (or language feature) could flourish. And the important part is not the Java language; it is the JVM. Better languages (Clojure, Scala) can be implemented for the JVM, and if the JVM was improved, even better languages could be experimented, all able to use the legacy of Java. Regards.
I think those punks _are_ using Java, but just in the form of Processing. I see it in use in a great number of creative projects.
How so? Underscore requires a a pinky shift and ring-finger stretch to the upper row - pretty clearly a lot more awkward to type than any capitalized alpha character.
As for being a "fad", get used to it - unless you're not planning on writing any Java, Javascript, Objective C or C#...
Java was always a bloated, misconfigured mess from the start. The idea to unify on a single machine language is old and proven: you do this kinda think in _hardware_ not software. Don't think so? Take a Linux box with Sun's own Java on a stroll of Bongo, Facebook, and other all-game sites and see what kind of "compatability" you have.
Oh, sure, when people like COMPAQ think they're gonna revitalize their market holdings by merely putting TORX heads on the exact same case screws, it's hard to debate with them. Often times CEOs are dorks; people relent because they have money, and things stop from getting done. But if we want computers that interface, we NEED THIS AT THE CHIP LEVEL.
There seem to be several camps creating several environments in which Java(TM) code can be run. But which version? Can we manage to keep the RAM bill under 1G this time? NO? Ok.
I've been arguing the usefulness of a 'common language' of microprocessors since about 1978. For a while they DID manage a completely solid translation of CP/M (8080/8085/Z-80) on early 8088's. Completely different architecture, worked perfectly. No multiple versions, no need to 'convince people' that it was still relevant. No apologies: that's the way it is when you emulate a given processor in hardware.
If anyone *ever* wants this to work in a rational, grow-old-with-it technology that doesn't fail, there needs to be a small number of CPU instructions which are agreed-upon by chip makers. In a worlds of perhaps hundreds-of-thousands of instructions, what's a couple hundred more if it means complete software freedom?
Yeah, I know- I'm old; I used to be a sysadmin prodigy, but I got sidetracked with caregiving. But I'm tellin' ya: this is the way to unify, if only someone has the balls to ACTUALLY MAKE IT HAPPEN.
We've done hundreds of things harder- why can't we just agree on something?
There's plenty of room making these instructions faster than the other guy. There's plenty of room making multiple co-processors for this work. Why can't we just get it done already?
--- For a good time mail uce@ftc.gov
haha, apple is doing well with Oc.
Why cant they let it die,and use C++ / anything else with bindings.
Liberty freedom are no1, not dicks in suits.
And you are aware most job offerings tend to take the kitchensink approach? "Lets include every word we ever read and then demand 4 years experience with it. iPAd, senior engineer!".
Also (java) matches javascript.
I know you are blowing smoke because PHP is not listed. Oversight or some other reason?
Oh and wouldn't your query also match "Need highly skilled X developer who knows enough Java to migrate us away from the steaming pile of crap?".
Or indicate that there are no good Java developers to be found?
What about companies that offer you a nice cup of java every morning?
I know that a job count for PHP has to discount those companies with .php in their url.
In fact, does posting a few queries to Monsterboard not tell you anything more then that you have to much time on your hand?
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
Congratulations, you reinvented ColdFusion.
Table-ized A.I.
There other other sources than The Register, including posts by Twitter devs linked from the Scala language site.
you had me at #!
except for UNIX programmers. There you have a minimum required amount :D
So I guess no one on Slashdot knows anything about programming. C and C++ old and outdated? Java a fossil language? It's like everyone's really 12 and what is this.
you had me at #!
n/t
you had me at #!
The Jodatime library is fantastic for date handling. I think it's the only sane date/time API I've [b]ever[/b] seen. Admittedly, it's a little complex, but that just the nature of the date/time problem domain.
HAND.
Not unless you want to be sued by the makers of Coldfusion.
Java was never "groundbreaking, revolutionary". It was a failed bytecode-based language for set top boxes that was adopted by developers in 1995 because they were scared: non-Microsoft platforms had almost no GUI toolkits and almost no reasonable programming language other than C. People knew that the language sucked, that AWT sucked, and that applets didn't work, but they foolishly believed Sun when Sun promised that they would fix all that. Sun also promised at the time that Java would become an ISO standard and that they would release an open source implementation soon (all lies as it turned out). And applets looked like a potentially good way of challenging Windows and Microsoft, going around Microsoft's established distribution channels.
People who bet on Java applets wanted the right idea; we see that now with Flash and AJAX.
But betting on Sun was the wrong move: Sun screwed up the language, screwed up the toolkits, screwed up the implementations, and made Java one of the most proprietary languages in existence.
In the end, all Sun managed to produce was the only thing they have ever been able to produce: bloated server side software.
Good riddance, Sun, you won't be missed.
Guido says you don't need it! (/me ducks)
Erlang programmers might disagree ;-)
you had me at #!
The One True Instruction Set was the PDP-11's.
la-la-la-la-la-la-la...
you had me at #!
'Nothing screams "get off my lawn" like a language controlled by Oracle, the world's largest enterprise software vendor. The chances that Java can attract the mohawks-and-tattoos set today seem slimmer than ever.'"
No, nothing screams "get off my lawn" than seeing young people as the "mohawks-and-tattoos" set. Did this guy just walk out of a time portal from the 1960s?
(Java architect) Gilad Bracha writes,
you had me at #!
No substance, deliberately worded to inflame, and overall useless and not newsworthy.
I was with you up to the camel casing. Camel case is a fad I could have done without, not only is walkFaster less clear than walk_faster, it is also more error prone to type.
Cocoa programming is not a fad.
Try reviving interest in mohawks and tattoos first.
Nothing screams "get off my lawn" more than the rebellious fashion of thirty years ago.
http://today.java.net/pub/a/today/2008/09/18/jsr-310-new-java-date-time-api.html
http://jcp.org/en/jsr/detail?id=310
'Java has evolved from a groundbreaking, revolutionary language platform to something closer to a modern-day version of Cobol'
So Java has gone from immature, constantly changing and buggy to stable, reliable and fast? I can see how that would be a problem for somebody that wants to attract unexperienced scriptkiddies to a programming language.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
Retards. How many of you have written programs that don't crosscompile in 86x-64 in that oh so well standardized c++?
Uhh, MS?
That oughta keep him busy for a while...
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
I think what you want is Ant.
Really, I've been involved in a project where we had external consultants who were pushing for all shell scripts to be stored as and deployed from Ant xml files (so it would essentially have been shell scripts packaged as huge XML files), their main argument for this was that if we did this we could "use version control on all the scripts", we decided to ignore them and simply use Subversion for the scripts without XML-ifying them.
Greylisting is to SMTP as NAT is to IPv4
Java has evolved from a groundbreaking, revolutionary language platform to something closer to a modern-day version of Cobol.
The whole reason why Java enjoys the widespread popularity that it has is precisely because of that. Most projects aren't made by "trendy" guys in a basement somewhere - they're made by corporations, most of them not exactly small, who value predictability and the peace of mind that comes with it over new & trendy.
The advantage of Java there is that it is a well-known quantity, and it has been in that state for a while, with few changes. There are many development tools, all top-notch, with code editing features unmatched by IDEs for any other language. There is a huge amount of useful code in third-party libraries, most of them under liberal (free, non-copyleft) licenses. There is a large workpool, and it's going to remain that way for some time to go.
There's nothing wrong with that. It's a niche that has to be filled, and Java is doing remarkably well in doing so. Don't fix what's not broken.
And in the meantime, the trendy guys always have Groovy, Scala etc to play with.
Java (specifically J2EE with an Oracle or similar database back-end) seems to be second only to .NET/ASP.NET/C#/VB.NET with SQL Server in terms of jobs I see when I look on the job sites here in Australia.
Plus Java is still the #1 mobile language. Not just on Android but on the 1000s of feature phones out there running various incompatible versions of J2ME for applications (I have owned 3 feature phones, all of which have supported Java apps in some form)
Java on the desktop is dead (if it was ever anything but stillborn in the first place). Java for client side web development died and got replaced with ActiveX, Flash and other technologies.
But Java in the enterprise and mobile spaces is far from dead.
If anything, Oracle should be pushing J2EE even harder (Oracle is the dominant choice of database to use alongside J2EE)
I was writing this when I noticed the AC above with 0 mod points.
To be honest, that is more a problem with the API than with either Java or Groovy. It's currently being worked on in JSR-310.
The time API is well known for it's ugly design and is commonly brought up as a way not to design API's. Because of that I think it's far fetched to use it as an example of how ugly a language can be.
JSR-310 is much more sensible and uses Joshua Blochs Java design principles (for immutability and thread safety). It's based on Joda time (actually the lead dev is the same), which sensible people are using right now.
This sig is intentionally left blank
To communicate the true nature of the combined company, Sun + Oracle will change its name to "Snoracle".
What chance is there that Sun, that mismanaged Java terribly and thereby gained the equivalent of hundreds of millions of dollars of bad public relations, will begin managing better?
Oracle looked at that and said, "How can we get that publicity for ourselves? That's it! We'll buy Sun. Wow! Quirky GUIs."
Okay, that's just my guesses.
I've been thinking about doing largely away with most part of the ASCII representation of a language (as a followup to Java). So that certainly could become a representation of the source, or more precisely of the abstract syntax tree (AST). Of course, it would be for the machine, not for the programmer.
People don't type method names any more. I suspect that auto-complete is part of the reason for misspelt method names persisting in just about every code base I've seen.
The problem with Java today is... it's syntax looks too much like C. And as everybody knows, C is for geezers. Can't we write java code as follows:
<class>
<classname>MyPony</classname>
<method>Run</method>
<code>
<if><condition>IsExcited</conditon>
<if_block>walkFaster </if_block>
</if>
<method>trot</method>
<method>gallop</gallop>
.
I see that you don't have a girlfriend because you don't know squid about ponies. Couldn't you have used a car-example? That would have made much more sense.
when you think of it as an abstraction layer on top of Cobol
-joe
-- Many men would appreciate a woman's mind more if they could fondle it
You've got it all wrong! It's the vendor of the world's largest enterprise software, dah!
Disagree != mod troll.
Languages pretty much get created either by corporations or academics. There are occasionally some exceptions. Those created by corporations have the stigma that the corporation controls it and can manipulate it for their own profit purposes. And those created by academics usually involve new concepts that are usually ten or so years before their time. Basically, it comes down to the fact that decisions are being made about languages, either at creation or during the progress of the language, by people who do not really do programming for a living.
So, in the end, unless we programmers get together and create our own suite of languages (we already know it is impossible for any one language to suit all needs at all levels well), then we are just going to have to settle for what few uncontrolled languages we now have, and/or the ones controlled by non-programmers.
now we need to go OSS in diesel cars
Hey, you are not a geezer, don't presume to speak for us....
The length and verbosity of a language have nothing to do with its use and popularity. The culture surrounding does. Apple is the only company that uses Objective C on its platform in any major way and since the explosion of the iPhone and the hundreds of thousands of iApps onto the scene, ObjC has gone from being a language less popular than, say Prolog to number 12 on the list of popularly used languages. ObjC in Apple's implementation (all the NeXT Step classes and methods) is probably the most verbose language I've ever seen. It's very popular because of the iPhone and the new iPad though.
Java had the same opportunity with Android, but the interest amongst the less geeky programming public is far lower. This is almost purely because Google couldn't market the thing at all well. Google seriously messed up the market for Android apps by not hosting their own searchable and sortable store in a website, and by having zero quality control.
The problem is NOT the language, although if any company could possibly kill a language's popularity it will be Oracle.
Not a piercing to be seen.
The best programmer money can buy worldwide.
IANAL but write like a drunk one.
This could be a very, very big deal if they get the performance up.
Best suit in town, tall and handsome. And the prod owner of a mohawk.
I am sure he was earning more money than most people posting comments around here.
I think Oracle will be great for java, the sun management was killing java, the wouldn't deal with Microsoft so Microsoft created C#, and they ran the company into the ground when their smart employees were working hard creating great stuff like jsf, jogl, etc.. With Oracles better management java can only advance. I admit I love jogl and use it but from a business standpoint it would not make money, its better off in the open source world. Its about time Java and Solaris products were in the hands of a company that wouldn't kill them off slowly.
But then Flash came in and knocked Java out of the Browser market. Then Sun tried to turn it into an Enterprise language and grew the complexity of the development environment by leaps and bounds. I got sick of it and pulled out of Java development.
I have another peeve. Why is Oracle only interested in attracting the young developers? What's wrong with those of us over 40? I will always be able to write better, cleaner, more bug-free code than some young upstart. Did I miss something here? I'll run rings around any 20-somethings anytime of night or day.
I guess it would scare some young managers that I've been doing software longer than they've been alive. I've gotten really good at it. I know more languages than I care to count, and done just about everything imaginable in the world of Software. The questions that they typically ask at interviews is indicative of the fact that the younger in the crowd just don't get it. If I don't know a particular system, just give me a day or two and I'll be completely proficient in it. Language, API, framework -- it doesn't bloody matter.
You'd think they would want a "quick-study" autodidact like me, but a lot of them don't. I just don't get it. No bother. Don't need them anymore. And thank goodness for that!
Ruby Neural Evolution of Augmenting Topologies
Developers have to pay their bills, the best developers I have met were working in banks or hedge funds, not in universities.
IANAL but write like a drunk one.
"Java has evolved from a groundbreaking, revolutionary language platform to something closer to a modern-day version of Cobol."
Since the great majority of actual working, robust, reliable, efficient applications that keep our civilisation running are written in COBOL, that is the greatest possible compliment to Java.
It would be a very good thing if we could learn to distinguish between the academic, the artistic, and the business/engineering aspects of software. I don't know about you, but I really don't want to fly across an ocean in airliner designed by this year's latest and greatest methods, using revolutionary new materials that show great promise in some ways. Give me 747 or at least a 777 - as long as it has been properly maintained.
I am sure that there are many other solipsists out there.
Interesting. I noticed especially the comment:
Back in the late 1990s, I worked as a developer for a project that was mostly done in java. One of the things we had to deal with twice each year was that, when we switched to/from Daylight Saving Time, the java time-handling code went insane. Every time. We'd dig around to try to find the problem this time, and each time we'd find a good number of discussions of the problem.
I kept pointing them to java "standards" which stated that java's internal clock was kept in local time. I'd simply comment that this totally explains the problems. No time package whose basic clock is any representation of local time can ever be made to work quite right. The main reaction of the managers was to treat me as a trouble maker, and periodically accuse (;-) me of trying to secretly introduce Universal Time into their software, when I knew they wanted only local time.
After a few years, I moved on, as developers usually do. I've talked to the people still associated with the project off and on, and usually asked them about their DST problem. It still bites them every year. I shrug, and move on to another topic. Since then, I've worked in a few projects that used java and were contemplating changing more of the code to java. I've suggested that they should look up the twice-yearly online discussions of DST-related time bugs. This has often been enough to put a damper on further java plans.
It's good to know that the java people have a time package based on a single universal epoch counter, and which even counts nanoseconds. Maybe this will end the time problems. Or maybe managers will nix its use on the grounds that they don't want any of that UTC stuff in their code. Time will tell, I suppose.
And I suppose it's all part of the general problem of bureaucratization of the java user culture. It was pretty bad even 15 years ago, and doesn't seem to have improved with age. So I now mostly prototype in perl or python, and when I have a quick-and-dirty version running, I start talking about recoding it in java (or C++ or C or whatever). It's interesting how often I'm told to not bother, and work on a prototype for something else that's needed.
It does go along with the observation that a major reason for much our ongoing software problems is that most of our code is prototyping. Developers are rarely allowed the time to do it over the right way. I've seen cases in which N departments in a company have "standardized" on N different versions of the prototype code, all of which are slightly incompatible with the others, and none of the managers will permit redoing it all as a single package that works the same everywhere. And you have to carefully hide from them the fact that your date/time calculations use a basic UTC "epoch" counter, because they want it all to be local time.
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
Who cares if Java is cool or not? It's getting a lot of actual work done. In fact, there's a crap load more stuff getting done in Java than Ruby or 'The Cloud' or whatever is supposed to be cool these days. In the end, 'coolness' has absolutely no engineering benefits whatsoever.
The fact that Java has lasted as long as it has and is as prevalent as it is now is testament to its ability to GetShitDone(tm). ...along with a lot of other useful languages which are useful regardless of whether some hack or slashdot group-think thinks it's trendy or not.
development for the java programmers can hopefully add more extensive knowledge
so.. you've worked with Novell's identity manager product
Java is not and never has been groundbreaking and revolutionary. All the features people used to tout about Java back in the day were things that existed before it. A lot of smart people have poured a lot of effort in research related to Java, and the platform has grown stronger as a result, but even most of that seems to be just re-implementing existing ideas for Java.
However, that by no means implies that Java isn't relevant. It has certainly taken the software world by storm, and, as far as I can see, Java is still going strong. People are taking Java courses left and right, either to learn it for the first time or to deepen their understanding. There are so many Java projects that it's hard to find something for those in our company who would prefer to use something else. Even with .NET being backed by a company whose products usually get adopted as a matter of course, I don't see nearly as much demand for .NET knowledge as for Java. Java irrelevant? It sure doesn't seem that way to me.
Please correct me if I got my facts wrong.
public class Hello {
static {System.out.println("Hello World");}
}
Of course you can, and then you can use XSLT to convert it into Java! Oh joy!
I'm sure metaprogramming Java from a verbose manually-constructed abstract syntax tree using a verbose functional language, which itself uses a XML-encoded manually-constructed syntax tree to produce flat source files, which are then turned into abstract syntax trees before being compiled into bytecode won't be a complete mindfuck at all.
I think I'll start on that right now. I should have worked out all the bugs from 'Hello world' by Christmas, I reckon, assuming I can get some assistance from Google Summer of Code...
-- anonymous mindfucked XSLT programmer.
Java used to be the great new fad that swept through the development industry. Now it is criticized for many things just for the sake of criticizing.
Some call Java too low level. Others say that Java will always be too slow.
Java is not as low level as C/C++, and it is not as high level as Python. This means that Java is faster than Python, but slower than C.
I am currently using Java for a personal project of mine. I would have used Python if the project had been less resource intensive. However, this project is not as resource intensive as to require c++.
Use whatever the fastest language is to code in that is still fast enough to perform at the specifications you want. Forget fashion.
google app engine may have java support, it's an obvious choice considering the number of developers. However python is right there beside it now, a choice that a few years ago would not have been considered for such an application. Python may still be behind, but its moving quickly. 4 years ago my Alma mater required all BSc to take a python course. That said Java is still the dominant language in the computer science department, but heck it is also the Alma mater of James Gosling(founder of Java).
Wow, someone needs to clue in Google about this.
Java was to "me toos" in the '90s what Python is to "me toos" in the '10s.
It's the beginning of the end. Slow, bloated, memory hungry and COMPLEX, Java's days are numbered.
Not saying that Python is phenomenal... it's JUNK. But it's slightly less junk than Java.
As for me, I'll just stick with C, AWK, and PHP. Fast, light, and between the three of them, applicable to just about every computer problem.
I believe that's call Ant. Or close to that ugliness anyway...
I believe there is already an eclipse plugin for that ;)
The Grey Goo disaster happened 3 billion years ago. This rock is covered in self replicating machines!
I thought that most people had accepted that Flash had become all that Java was trying to be? Sad but true. Having said that - eclipse is a fantastic environment - for as3 its perfect.
I don't know who you are, but I want to work for you.
--Steve Van Loon
The problem with Java today is that Java became the synonim of J2EE.
You cant seem to find good books of Java that go beyond the basics and cover J2ME or J2SE. When you introduce yourself as a Java programmer, people take you as a J2EE. When you do a job interview for a Java programmer, they want a J2EE programmer.
Oracle should put more love into J2ME, since its a de factor standard for low-to-middle end phones, the same way Flash is for web apps.
How the heck did Java manage to lose its prime position in the web client?
Originally, Java applets were poised to take over the web page. Then Flash came along and stole the show.
I know that when IE discontinued its pre-installed Java, it was a real blow -- but Flash never had the advantage of being pre-installed in IE.
How did Flash ever win, given that Java was there first and was originally pre-installed in IE?
I'm 20, have pink hair, and my lip pierced, and I program in Java.
.NET? How is being subservient to a historically abusive MicroSoft better than Oracle, who to my knowledge doesn't have a path that can force java development to be tied to Oracle licenses. Though architecturally equivalent in my opinion. There are as many java sub-languages as .NET languages.
PHP? Perl? Python? Certainly attractive to piercings, but I don't see this running on cell-phones. And my experience is that it isn't as attractive for larger (million-line) projects. Yes I'm aware of very large PHP projects, but I've not found them to be as easily packaged / extensible.
Ruby? I separate from the above 'scripted' languages, only because of the RAD popularity. People move away from this when they hit a performance ceiling. It just doesn't have anything fundamentally appealing to it, save maybe some syntax concieness.
erlang? Wonderfully efficient / highly available language.. Makes my eyes bleed when reading through.
lisp, scala? Less piercing, more snootiness. But plausible.
C, C++? Surprised these haven't adapted to the current web-services climate.. These are excellent languages - though they're just not fun for me anymore.
Objective-C? Need a registered fan-boy card to use, last I heard.
I'm sure I've missed some modern popular languages.
-Michael
I think C and C++ are way cooler than Java and .Net. .Net are like those plastic scissors with the ends rounded off.
I think coolness is inversely proportional to bloat, and also inversely proportional to someone else deciding that you're too stupid to do the right thing, which is why I also think all Microsoft products especially Windows suck ass (becuase Microsoft presume all users dont know what they are doing).
Java and
C and C++ are like a surgeon's scalpel in comparison. Yes its much more efficient and yes you can hurt yourself if you don't know what you're doing.
Been there, done that, sort of. I actually had to maintain a program written with something called Jelly. Overall, I'd rather stick with Java/JSP.
(T>t && O(n)--) == sqrt(666)
that should be a good argument. android which could be the next most popular mobile system is java. whether you got mohawk or not, if you want to program mobile devices, you got to know java
McAllister - your argument is just plain stupid (and smells like VB)
Now if they'd only worry about the JVM being dog slow and blecherously painful to debug on any platform...we'd be getting somewhere.
Furries make the internet go.
32 bit code will run just fine on x64 CPUs.
... rather convincingly managed to reproduce a full GUI in modern browsers . Ironically it also started out at Sun Labs.
The enterprise sector is very reluctant to take responsibility for anything. They don't build intra-organizational structures to build and maintain the infrastructure they need, they turn to other enterprises like Sun, Oracle or Microsoft. This means that choices are made based on the best interests of Sun, Oracle, or Microsoft, not those who'll actually use the stuff.
So yeah, there aren't any good choices in enterprise, and there won't be until they learn to work together.
I'll not hold my breath.
Parallel ports were on their last legs 15 years ago when Java was first released. That's sort of like complaining about things for Windows '95 no longer being maintained.
Are you some M$ schlep paid to get a post on here so you can say "Look, even the slashdot kids think java sucks!"
Android: java.
GWT: java.
Groovy: JVM.
Shouldn't the article be "The struggle to keep windows relevant?" or "the desktop"?
I'm writing java right now (ok, no, not *right now*) because it has the tools I need to get shit done. I use C#, C++, PPC, ARM, etc when I need to.
Am I missing something? Is java going tits up?
Jamie
Mr. McAllister seems to think that software developers pick programming languages like they pick video games. I and all of the developers I know, when we have the authority to choose which language to use on a project do so based on the merits of the technology, not based on how cool we think it is. Maybe if you are a tech writer in SF and know what little you know based on conversations with programmers in the local Star Bucks, then coolness matters. Just look at the facts, number of jobs available for Java developers, versus C# (.NET), versus Ruby, etc. And if you want to judge where software is going based on Linux development trends I think you will miss the mark more often than not. As for Mono and Linux trends McAllister quotes Mr. Worthington, yet another tech writer whose bio states that he got his "BBA from the Fox School of Business at Temple University, majoring in marketing. Aside from studying business, he took a concentration in computer science, studying C, COBOL and SQL." What the .. why is Slashdot even covering the dribble from these guys?
I resent that comment. Piercings are a gateway drug!
I thought you disappeared, as you hadn't posted here in ages (well, since around this date, albeit last month).
You must have been busy with your work at Microsoft!
Anyhow, you know why I am here. Going to "cut to the chase" on this:
I must ask, per the schedule you set no less on this, what did your folks @ MS tell you about the HOSTS file matter you & I had discussed.
I.E.-> To refresh your memory, it's in regards to HOSTS files in VISTA, Server 2008, and Windows 7 being unable to use the smaller & faster 0 based blocking IP address (vs. the larger & slower 0.0.0.0 or worse yet, 127.0.0.1).
You stated you'd have an answer from your people @ MS by March, but that month's over now, so... here I am.
(So - What's up with that?)
Thanks!
APK
"his question is ask as if Java is somehow imporant in and of itself. It isnt. Neither is perl, or PHP, Phython or gasp - C++ or even C. Throw C#, F# and VB into that group as well.
These are tools. We (as in devleopers) should simply use the right tool for the job. If thats Java - then okey-dokey. If its C#, then groovy, if its C++ then thats ok to. Hey, I still use assembly language for a few things.
Do real engineering work folks! Pick the right tools for the job based on the business and technical requirements.
-Foredecker" - by Foredecker (161844) * on Saturday April 03, @12:47AM (#31713144) Homepage
Absolutely, & per my subject-line above? Agreed, 110% with your sentiments above. To quote Bagger Vance to Ranulph Junah in the film "THE LEGEND OF BAGGER VANCE" (one of my ALL TIME favs in film)?
"Well, I do the best with what I gots to work with is all. We ain't done yet!"
APK
P.S.=> One thing I know about you, is that YOU have your CSC B.S., & that you have had your "hands in the mix" actually coding because of that, & also that you put in time @ AMD before Microsoft too...
So, I know you've actually DONE the job & know what you speak of, + that YOU understand those you manage because of it, in having "walked a mile in their shoes"...
See - not many managers, in my experience @ least and especially in this art & science of computing, tend to be that way...
E.G.-> Most managers I have seen have been the "typical MBA only" variety (however, not all were so, & those that were only MBA only types, with no hands-on where the rubber meets the road, have been the WORST bosses I have ever had in fact - making horrible deadline time calls, huge costly blunders + errors in judgement (doubtless due to lack of experience hands on) & more - their screwups? Co$t others their jobs, because payroll, as you know, is the EASIEST costing factor to control, especially to make up ground for screwups... it's sad, because the one responsible, or that SHOULD be responsible (the captain of the ship/the mgr.), doesn't lose his job, but actual working production personnel, like coders, however do)! apk
You'll have to weigh the cost of replacing the old equipment against the cost of using an interface no one cares about anymore. If the latter is still preferable, fine, but don't expect anyone else to help.
It seems to me that Java's philosophy would encourage you to use a printing library rather than fiddle with the base hardware yourself, but I've not looked into it.
Java is not a system programming language. It's not really surprising that it doesn't work well when you try to use it that way.
It should have a working printing library... but if you're not willing to spearhead that, how can you complain that no one else has?
Higher demand (5K+ job postings) would typically suggest a higher price (compensation), not a lower price. However, we cannot know price without knowing both supply and demand.
Around here, demand outstrips supply. If you know of a source of experienced Java developers who will work for $50k/yr, please let me know.
They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
They're already making a change to simplify this for Java 7. Google "diamond operator" and "project coin". You'll be able to do:
List<SomeObject> myList = new ArrayList<>();
By the way, please don't do it this way:
ArrayList myList = new ArrayList();
or even this way:
ArrayList<MyObject> myList = new ArrayList<MyObject>();
Variables and method parameters and return values should almost always be declared to be of interface types (List, Set, Collection, etc.), not implementation types like ArrayList, LinkedList, HashSet, ConcurrentHashMap, etc..:
List<MyObject> myList = new ArrayList<MyObject>();
void foo(List<MyObject> parameter) { }
etc.
If you don't do this, and you ever want to change the implementation type to something else (LinkedList?) you'll have to update everywhere it is passed around to a variable, parameter or return types and change all of those declarations, which is a *major* pain in the butt in a large software system and a huge annoyance for some later developer to fix.
But not the latter.
Of course you can solve any problem with any language, it's just not always a good idea.
I hope you're paid by the hour.