Google Donates Windowbuilder, Codepro To Eclipse 150
h00manist writes "Google is donating Windowbuilder Pro and Codepro Profiler to the Eclipse project. 'Google acquired the software when it bought Instantiations, relaunching the Java graphical user interface building tool Windowbuilder Pro shortly after. Now the outfit has decided to donate both Windowbuilder Pro and the code analysis tool Codepro to the open source Eclipse project. Although Google has announced its intention to donate the software, it needs go through a rigorous filtering process to ensure that no intellectual property rights will be breached. Once those formalities are dealt with, it is likely that both Windowbuilder Pro and Codepro will tip up in the Indigo release of Eclipse sometime in June 2011.'"
CodePro Windowbuilder Pro (Score:3, Interesting)
Re: (Score:2)
A bit sad: [theinquirer.net]
A Google employee got in touch with The INQUIRER to clarify that Google's donation to the Eclipse project does not include the Codepro Analytix software which it had acquired through Instantiations. The donation only includes Codepro Profiler and Windowbuilder Pro.
All created by a team focused on 1/100th of 1% (Score:1, Troll)
Re: (Score:3)
And by Smalltalk you mean Objective-C right?
Ha (Score:2, Insightful)
It's Java. That's where my interest ends, especially after Google's own fight with Oracle.
Now if you do integrate a couple of decent C profiling tools, I'd be interested.
Re: (Score:2)
Actually,I believe you can do exactly this with tools like oprofile. But of course, if it was not written in Java you wouldn't need 10 seconds, would you? ;)
Why the Lawyers though. (Score:3)
This seems great, but it pisses me off that the lawyers have to get involved. It seems shockingly bad to me that we accept that there has to be lawyers too. That's how deeply they've embedded themselves into software licensing.
Fantastic news (Score:4, Interesting)
Love Java. Love Eclipse. Sounds like my IDE of choice is going to get a lot stronger.
Re:Fantastic news (Score:5, Funny)
Get a room, and don't pay by the hour.. cause I hear you take a while to get started.. :P
Hidden motive? (Score:5, Interesting)
There's another aspect to this.
Oracle's fighting with Google over how they screwed over Sun. Sun's Netbeans Java IDE heretofore had the most innovative free Java GUI designer, the so-called Matisse [google.com]. Matisse gave Netbeans a major edge vs. Eclipse, the other popular free IDE. And Sun sold services based on Netbeans.
Now, granted, Google's done a lot of stuff out of the goodness of their hearts. But when you have a chance to stick to someone (Oracle) who's suing you, and also get PR points in the process, why not?
Re:Hidden motive? (Score:5, Informative)
Google's internal Java IDE is Eclipse, so improving it is in their direct interest.
Re: (Score:2)
Is it really? I didn't know that.
Don't get me wrong. I applaud the move.
But this is also going to definitely decrease Matisse's uniqueness.
Re: (Score:3)
Sorry, not Google's, it's the IDE for Android.
Google developers can use anything, it seems.
Re: (Score:2)
Now stabbing your enemies in the stomach is not the definition of evil.
Not being sarcastic, Google and Oracle are embroiled in a serious fight and this is far from the dirtiest trick in the book.
Re: (Score:2)
I don't think so.
In my opinion, I think Google bought Instantiations for the GWT Designer, easily the best Google Widget Toolkit plugin around for Eclipse, better than Google's own plugin. GWT Designer was available only under a paid proprietary license, and Google wanted it free for all developers to use, so they acquired Instantiations to make GWT Designer free.
Of course, Instantiations owned a lot more than just GWT Designer, and Google doesn't really want to maintain the products other than GWT Designer
Re: (Score:2)
I always thought that the commonly assumed reason for buying them was that they made great a great GWT IDE, and a great GWT IDE means better GWT adoption which means more GWT mindshare. The company was probably available for sale cheaper than building a group would have been, so the reasons are pretty self-evident.
Oh, I could also see them using the team to build out the next generation of Android GUI development tools, because the current iteration of the tool is quite lacking in comparison to the builders
Re: (Score:2)
Which would make sense, except that Oracle are big users of Eclipse and have also donated a tonne of software to the Eclipse foundation. It's possible that Oracle will switch to netbeans now that they own it, but it'd be a fairly major cultural change for software they didn't find worthwhile to begin with.
I don't use development tools written in Java (Score:3)
I've been a Java developer for 11 years and I don't use development tools written in Java. While I am gaga over server side Java, I'm not a fan of interpreted code for client applications. I've always had fast machines and Jbuilder/Ecliples/Netbeans and all of the other Java IDEs have lasted for about 15 min with me whenever I have tried a new version. I can't think of anything else more irritating than having to wait for a menu on my development tool to come up. Coworkers always rave to me how _____ has improved and is fast. It has never been true.
I've stuck to Visual Slickedit all of this time. It is written in compiled code, is fast and has a ton of Java support. It also has a ton of support for many other languages so I can use it for everything and not have to learn a new tool.
Re: (Score:2)
Re: (Score:2)
I see where you are going.
Every place I have ever worked and expect to work has antivirus software. The last place the antivirus software slowed down everything! I had to get more RAM just so I could DO work at 3:30 when it ran everyday.
Yet, I've also used development tools written in Java on my Linux box, even smaller ones like JEdit and the interface is slower.....every time.
Some things I am willing to put with a slowdown for. Just clicking on a menu option for main work tool is not one of them.
The Ja
Re: (Score:2)
My desktop machine has 1/3 the ram (1gig) of my work machine and the processor is almost half the speed and yet Netbeans and Eclipse run better. The only difference is my dekstop at home runs Ubuntu and my work machine is XP with McAfee loaded on there as well.
Re: (Score:2)
My guess is you use Windows and have anti virus software.
I'll admit that's been the setup for most (not all) of the times I personally have done professional Java work.
Thing is, you only can give Eclipse so much cover for running like a one-legged dog in that kind of environment, because most things don't. Actually I can't think of anything that runs as badly as Eclipse in that environment.
Re: (Score:2)
You had to fix it by other modifying the ini file or startup command on your icon. While that may seem fairly minor I thoug
Re: (Score:2)
While I am gaga over server side Java, I'm not a fan of interpreted code for client applications.
Me neither! Fortunately, I can sleep soundly, secure in the knowledge that it hasn't been interpreted for well over a decade (JIT was introduced in 1997 with 1.1).
Re: (Score:2)
Correct if I am wrong, but only non-GUI code is compiled with JIT.
Re: (Score:2)
Re: (Score:2)
Consider yourself corrected :) Unless you intentionally disable hotspot everything is a candidate for JIT and post-JIT optimizations.
Re: (Score:2)
Then why do Java GUI apps perform so poorly?
Re: (Score:3)
The application is as good as its programmer, and GUI programming of ANYTHING takes a baseline of ability. Java is usually used on Web and server platforms, so there are few Java GUI specialists. When a Java programmer is tasked to write a GUI app, it is more often than not a weak knowledge area for the individual. For those that can develop good GUI's in Java, I'm sure they do a great job. Its kind of sad that two of the most popular Java applications (Eclipse, Azareus/Vuze) are written in SWT but that's a
Re: (Score:2)
I think it has more to do with shoddy GUI implementations than anything else. Much of Emacs is written in Emacs Lisp, not exactly a speed demon, and it runs fast enough.
And Visual Studio seems pretty slow to me too, the few times I've had to endure its presence. :)
Re: (Score:2)
I started off with EMACS in school way back in the 20th century. I had to go on a 12 step program to break away from it. I never had any experiences with EMACS being slow...even NTEmacs for Windows. Given the crappy hardware of the era I can't see how it would be slow now.
Re: (Score:2)
Eclipse has an iterative compiler. I NEVER wait for a compile unless I've structurally changed a file that is literally used by 100's of classes. That alone is worth its weight in gold.
Re: (Score:2)
No, it isn't unique to Java, it is just worse with Java.
I recently had to triple the RAM in Linux/Ubuntu box because GNOME apps load slow.
Like I wrote, a wait is tolerable with some apps, but not a development tool you use all day long. When it is time for me to write code, I'm sticking with Visual Slickedit which is always fast.
Re: (Score:2)
And in tonight's Java gossip: (Score:2)
Netbeans developers claim that fowl play is at the heart of the latest Eclipse GUI code and existing steps in that direction may have been responsible for Eclipse's legendary slowness [blogspot.com]. The developers' claims stem from their exploratory search of the donated code, where a new GUI code a class called "Beak" was found to contain methods such as doPeck(), doSquark(), doScratch(). Further suspicions were raised when an existing Eclipse non-GUI class called Headless was found to be extending Thread class while ov
GWT (Score:2)
I see that WindowBuilder Pro can be used to create GWT GUIs.
Serious question: Does anybody out there use GWT? I went searched for good showcases and didn't find any good examples. If anything the examples tell me to stay away from GWT.
Re: (Score:2)
I use GWT. It's a pretty nice toolkit for web pages that is all Java; it compiles the Java to Javascript so there are some classes that you can't use (AWT, Swing, etc.). I've found the performance to be good (certainly better than the big Flex apps I'm using it to replace) and being able to stick with one language through everything is a big plus. You can still use CSS to format the output, so you don't have to stick with a single look or have to dive into the html/javascript to change it.
It's definitely an
Re:Does anybody still use Java? (Score:5, Insightful)
Isn't Java getting on in years and in need of being replaced by something more modern?
no.
Re: (Score:3)
I don't like Java much myself, but I don't see it going anywhere. A staggering amount of java based (Android?) devices are shipped daily. Once the iPad version is released you may even see some folks switching (back) to it.
Re: (Score:2)
Re: (Score:3)
... I think he means Android tablets.
Re: (Score:2)
I don't like Java much myself, but I don't see it going anywhere. A staggering amount of java based (Android?) devices are shipped daily. Once the iPad version is released you may even see some folks switching (back) to it.
Android does not support Java. Android Apps are not Java programs.
Yes, you can develop Android apps in a Java Environment, but they are actually non-Java. To be Java, they would have to run on the Android device in a JavaVM. The Android SDK is simply Java-compatible for ease of us - much like C++ and ObjectiveC are both C compatible.
The Dalvik VM is NOT a JavaVM.
Re: (Score:3)
Strictly speaking, it doesn't need replacement...
But - ORCL is hard at work at trying to alienate people away from java... ;-)
What do you think makes google want to donate the code to the public? Is it the insight that the market might be dying if Oracle doesn't finally get a clue...?
Re: (Score:2)
Java the language is usable but its certainly not as terse as it could be. The amount of boiler plate for getters / setters being a typical example, but also things like the lack of closures and the bloat when using anonymous inner classes. The platform is also at serious risk of fragmentation because of the perception that Oracle is not doing enough to push things forward in a timely fashion. Look at the glacial pace of development for Java 7.
If Oracle aren't careful then Groovy or some other JVM lan
Re:Does anybody still use Java? (Score:5, Interesting)
Believe it or not, Ruby hipsters on Reddit turn out not to be representative of the whole world.
Re:Does anybody still use Java? (Score:5, Insightful)
That's because Java is so much more verbose ;)
Re: (Score:2)
Especially when people write Generic Strategy Factory pattern to create a single object.
Re: (Score:3)
Hey, I was going for "Funny", not "Insightful"...
(Yeah, I get it.)
Re: (Score:2)
No. About 18% of all code written in 2010 was in Java. That's a huge percentage -- C had only 16%, and JavaScript (supposedly the hot new thing) is at 1.5%.
OH please! How can that be anything other than a shoddy estimate? How do you go about counting ALL the code writting in 2010?? Let alone breaking it down by language. What's your source? Are we talking estimated lines of code? Are we talking about job ads? You might as well pull those percentages out of your backside if you don't quote your sources.
Re:Does anybody still use Java? (Score:5, Informative)
I suppose he is quoting the tiobe index because the numbers match: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html [tiobe.com] - however, taking this as an estimate of the amount of code that has been written in a given language is a wild guess at best.
If I had to take my own wild guess off the top of my head, I think I'd give Java more than 18% of the code written in 2010, though. C and C++ added together get quite more popularity than Java, but I don't think their usage in the enterprise is comparable to that of Java.
Re: (Score:3)
Seems he was referring to the Tiobe community index at: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html [tiobe.com]
Yes, it's controversial and probably a bit off the real numbers, but real numbers are near impossible to get. How do you want to know what people use in their closed projects? Nobody ever publishes that data.
Now if you check out a different chart, the language distribution of Github projects, you'd get a totally different picture: http://www.tiobe.com/index.php/content/paperinfo/tpci/index [tiobe.com]
Re: (Score:2)
Did you mistakenly use the same href for your 2nd link? I didn't see anything about Github there.
Re: Tiobe stats- Basically, if you're creating a project, you'll likely use Java, C/C++, or PHP.
Btw, how annoying is it when you have to have Javascript to show a simple HTML page (tiobe.com)? Maybe Python or .NET (C#/VB.NET). Anything else is probably legacy/special requirements (COBOL) or trying to be a hipster (Ruby).
Re: (Score:2)
ups, yes I did, my mistake, the correct link is: http://www.r-chart.com/2010/08/github-stats-on-programming-languages.html [r-chart.com]
Re: (Score:2)
Well, it only shows that Ruby developers use GitHub.
Any data about SourceForge, Google Code or other similar sites?
Re: (Score:2)
The langpop site has quite a good set of charts, including Google Code and Freshmeat: http://langpop.com/ [langpop.com]
Did not found any up to date stats on sourceforge, the only statistic circling around is very dated (2006): http://wismuth.com/lang/languages.html [wismuth.com]
Re: (Score:2)
Yes, something modern like C or C++
Re: (Score:1)
Java has always essentially been Visual BASIC with a less annoying syntax. It's usually been suitable where Visual BASIC is suitable. Windowbuilder is just a friendly reminder of this.
Meanwhile, people doing real low-level or time-critical work use assembler/C/C++, and people doing real high-level work don't go for a primitive imperative language which looks like C/C++ with training wheels.
Re:Does anybody still use Java? (Score:5, Insightful)
Meanwhile, people doing real low-level or time-critical work use assembler/C/C++, and people doing real high-level work don't go for a primitive imperative language which looks like C/C++ with training wheels.
Riiiiight. I wonder, where do people go who want to be able to find people to maintain their software for, say, a decade? Except for COBOL, of course... and that's going to get seriously expensive. (God, I really wish I was kidding about COBOL.)
Wake me up when one of the 'real high level' languages (whichever is your personal poison) has found a significant market and mind share. Meanwhile, I'll stick with whatever language fits the problem, instead of fitting the problem to my favourite language.
Re: (Score:2)
Riiiiight. I wonder, where do people go who want to be able to find people to maintain their software for, say, a decade? Except for COBOL, of course...
Errrr... Java debuted in 1995, and 2000 saw J2SE 1.3... it's almost 2011 now, does that count as a decade?
Re: (Score:2)
Errrr... Java debuted in 1995, and 2000 saw J2SE 1.3... it's almost 2011 now, does that count as a decade?
It most certainly does. C/C++, Java and C# are going to be around for quite a while yet: the odds are favourable for any language that has survived for long enough, and in which a sufficient number of people are capable if not proficient, whatever the technical merits of the languages in question (which shouldn't be scorned).
I was attempting being facetious about FuckingNickName's (what an elegant nick!) assertion that newer (or, in his/her/its terms, 'more high level') languages are always the better optio
Re: (Score:3)
assertion that newer (or, in his/her/its terms, 'more high level')
You are dense. LISP, Mathematica and Prolog are examples of "more high level" languages than Java. They all allow you to think about the problem rather than how the computer needs to process data because none of them are paradigmatically borne of Bjarne Stroustrup raping Alan Kay. They're all older than Java too.
Re: (Score:2)
Yeah, but like the man said, that's far from the only factor to consider when choosing a language. Pretty much any CS grad from a reputable school will tell you that LISP (or Scheme, or another variant) is a superior language to anything else on the market. That said, name me ten major commercial software products that are written in LISP. Scratch that, name me one. It must be because the entire software industry as it has existed since the 1970s is stupider than last year's crop of CS graduates, huh?
Re: (Score:2)
It must be because the entire software industry as it has existed since the 1970s is stupider than last year's crop of CS graduates, huh?
LISP is not suitable for building a traditional OS. (Its descendants may be suitable for a LISP Machine / emacs / other managed style OS, but we're not using them.)
LISP is not suitable for straight high performance numerical computation: FORTRAN and then C/C++ have done well there in the general case, but you might want specialised numerical packages.
LISP is not always the best choice for modelling: Mathematica is good for what I do, IME.
But, yes, much of the rest of the software industry of the last couple
Re: (Score:2)
But, yes, much of the rest of the software industry of the last couple of decades is comprised of idiots producing bloated crap, not having got much further conceptually than "I NEED THE COMPUTER TO DO THIS TEN TIMES SO I WRITE A FOR I=1 TO 10 LOOP". Whence Java. Do you disagree?
I think thousands of 22-year-old CS grads with a firm command of the Jedi-like powers of LISP could rebuild the entire computer industry in their image, cast aside the programming bad habits of the past and lead us forward, Tron-like, in a new Golden Age of software purity ... if it were even remotely practical to do so. And there's the rub.
Re: (Score:2)
Yes, the lack of people willing (able?) to think is always a problem.
Re: (Score:2)
That's right. The reason everything doesn't always go your way is because everybody else in the world is an idiot, and you're a genius. Geniuses are hated and feared because they are so superior. If people would only think properly (or at all?) then geniuses would take their rightful place as the benevolent kings of this sad world of brainless sheep. Oh well, back to World of Warcraft.
Re: (Score:2)
Windows, Christianity and Britney Spears also succeeded on technical merit and social benefit.
It's funny to see geeks having been popularised so much over the last decade that the lowest common denominator gaggle together and mock others as they were once bullied by jocks in high school. Therapy, perhaps?
Yahoo Store (Score:3)
Scratch that, name me one
Yahoo Store [paulgraham.com].
(That's not necessarily a recommendation)
Re: (Score:3)
Emacs.
It's not commercial, but it's arguably *very* popular.
Re: (Score:2)
Perhaps, but you do need a C compiler to build Emacs (and the earliest versions did not embed a LISP interpreter at all). Emacs is arguably not an editor written in LISP, but an editor written for programmers who like LISP.
Re: (Score:2)
Ah. I did wonder why all Blueray players are so freaking slow and uncomfortable to use. Thanks for clearing that up!
Re: (Score:2)
Right, two things:
(1) Embedded != low level, so your whole post is a straw man;
(2) Most embedded devices unnecessarily working on top of a bloated JVM are shit anyway (see AC's post for Android case).
Your sig is quite correct, though :-).
Re: (Score:3)
Meanwhile, people working "in the real world" embedded devices (from Refrigerators to DVD/BluRay players to Mobile phones) work in Java.
Maybe I should be ashamed, but I work with embedded devices (in C) and I have no idea how I could do the same work with Java. How do you even get a JVM to understand the specifics of the hardware ?!? Unless you meant Android which is a world in itself and where all the low level stuff is Linux anyway (in C).
Re: (Score:2)
Re: (Score:2)
Java is quite stable and quite fast. It has extensive documentation, some really really nice libraries to work with. This can be said about a lot of languages, but Java also has a very low learning curve, it's very fast to get started with on big projects and it just works [tm].
I used to hate Java, it was a buggy pile of poo, but the last couple of years I've been working quite a lot with Java and must say I'm truly impressed with what you can do today. Yes, you can get significant speedups using C/C++, how
Re: (Score:2)
Personally I also find it much easier to write modular code in Java. The Plug-in architecture coupled with the removal of header files prevents you from having stealth dependencies.
These things can be done in C and C++ but it is far harder to achieve
Re: (Score:2)
Java multithreading is barely better than C++. It's analogous to GOTO. If you want something more structured, try Erlang.
Re: (Score:2)
Java multithreading is barely better than C++. It's analogous to GOTO. If you want something more structured, try Erlang.
Java multithreading is no where near as good as C++ combined with Qt, and there is no need for GOTO in there either. C++ combined with POSIX threads, or MFC Threading, is a bit terrible yes. It's not hard to write a better threading interface. But it'll be hard to beat Qt's threading interface.
Re: (Score:2)
there is no need for GOTO in there either.
That's not what I said. I said it's analogous to GOTO. You're still working with the same ideas of locks, mutexes, basically trying to coordinate access to shared memory. Go to something like Erlang, and although memory is still shared under the hood (for speed), you're now working at the level of message passing and shared-nothing architecture.
It really is as profound a shift as the shift from GOTO to structured programming. Global variables and GOTO basically mean you can never know for sure what any one
Re: (Score:2)
I'll take a look into Erlang...
Qt does have support for locks and mutexes, and you could certainly use them in the traditional manner. However, it is very easy to write full programs with multiple threads without using a single lock or mutex in Qt and be perfectly safe in doing so if you use an QThread with Qt's Event Loop and Signal/Slot a
Re: (Score:2)
And that's why the JVM is written in Java instead of C/C++ and assembly, right?
Erm, the real reason would be because Java needs the JVM to run. Or what would you run the JVM-written-in-Java on?
For what it's worth, just about all the other tools related to Java are written in Java, very few are written in C/C++ for a performance boost. For example, the Java compiler is written in Java.
But even if what you said was true, I'll gladly take a 40% hit any day of the week in exchange for not ever having another segfault, buffer overrun, or memory leak.
And I don't even like Java.
Re: (Score:2)
Citation needed.
Even if it's possible, the question is whether I will. I generally write C, even C++, at about half the speed I write Java, which is already fairly slow. I still generate segfaults in C and C++, and I have yet to get a single one in Java, except where I connected via JNI to some code of my own that segfaulted.
Re: (Score:2)
>Isn't Java getting on in years and in need of being replaced by something more modern?
Yeah, just like C and C++ are about to be replaced (not).
Oh, and it's the top language on Sourceforge with 45k projects (C++ has 35k, and PHP 29k).
So, yeah, someone's using it. In addition to the community, 90% of Fortune 500 [java.com] companies use it (that seems low to me). Also see here [mcpressonline.com] and here [java.com].
This is not to say Sun didn't mess up their chance to be even more dominant. Execs generally tend to want to use in the enterprise w
Re: (Score:2)
Wrapping C/C++ in Java is doable but a pain. I'd argue that Java has such a large set of available libraries and built in APIs that you can generally do a lot more with a lot less code than in other languages.
Re:Does anybody still use Java? (Score:5, Interesting)
Isn't Java getting on in years and in need of being replaced by something more modern?
So says you. I'd guess that you don't actually work as a programmer.
Speaking as someone who started his programming career using a mix of C and Perl, Java is a pretty good balance between a systems programming and scripting language. With the increased speed of both hardware and the JVM since Java first arrived, it's got to the point where I can rarely justify using a language like C or C++ on the grounds of performance. As for paradigms, Java's implementation of OO is so much better than C++ (methods always virtual for example) - it's just a shame that Java's generics were bolted on later in a less than ideal way. In the real world don't really see functional programming taking off, but even if it does, Scala may offer the best of both worlds.
Re:Does anybody still use Java? (Score:4, Insightful)
I have modpoints but as no one bothered to reply to this post and point it's naive, fanboy inconsistencies then I felt the need to do that myself.
First, you've claimed the following:
If by "performance" you mean noticeable lag on your regular GUI operations then your comment is reasonable. The advances in the hardware world brought us in the last decade hardware powerful enough to run a GUI written even in the most bloated interpreted language you can find in a smooth enough way to not notice any lag any more. Yet, java still lags far behind languages such as C and C++ in performance, with some data crunching benchmarks running java at least twice as slow as the C++ program compiled with G++ [debian.org] and and also with the C program compiled with GCC [debian.org]. So, in the end what you said amounts to nothing more than claiming that writing programs in C or C++ instead of Java is rarely justifiable on the grounds of performance if and only if performance is irrelevant for the application you are developing.
Then you moved on to the OO paradigm, where you made another silly claim. You stated that
This statement is absurd. Do you happen to know what any C++ programmer must do in order to get all the methods in a class to be virtual? Well, he only needs to state that they are virtual. That is it. There is absolutely nothing in C++ that forces any class method to not be virtual. As a side note, not having a method to be virtual by default is a terribly useful feature, particularly in performance terms, as a method can be called without having to waste cycles checking up with a vtable to realize what method to call.
And just to drive the point home, which is that your comment regarding the implementation of the OO paradigm in Java Vs C++ doesn't make sense, let me just mention a single issue plaguing Java that C++ implements just fine: multiple inheritance. That, alone, is a big thorn in the side of the "Java's OO implementation is much better than C++", simply because it makes it just plain wrong.
Re:Does anybody still use Java? (Score:5, Insightful)
mention a single issue plaguing Java that C++ implements just fine: multiple inheritance
I had a good chuckle at that statement because in my experience, the *lack* of MI and operator overloading features is one of Java's biggest selling features. (I've worked at companies that had to make it a firing offense to use either in order to stop programmers from using these features.)
Both these features allow programmers to write elegant, stream-lined code... for themselves. Unfortunately, the guy maintaining the code who has neither the experience with the project nor the mental acuity of the original programmer to see the mental model that underlied the programmer's conception of the code then destroys everything.
In their defense, MI and operator overloading have probably protected many a programmer's job. "We can't lay off Jeff, he's the only one who will ever understand the code he wrote."
(Caveat: Of course it's *possible* to write maintainable code using these features, but it's like setting the speed limit to 120 mph - a lot more people *think* they can manage it than can actually manage it, and there's a lot of collateral damage along the way.)
Re: (Score:2)
This statement is absurd. Do you happen to know what any C++ programmer must do in order to get all the methods in a class to be virtual? Well, he only needs to state that they are virtual.
You've obviously not worked on codebases where a class that has non-virtual methods that it would be elegant to override where declared non-virtual, and the source cannot be modified - be it because it's in a binary, or policy dictates that you can't modify existing code. This has happened all too often in my experience
Re: (Score:2)
I don't see multiple inheritance as a vital feature. As you've stated, it is possible to work around it without much hassle. So, it may be very useful and convenient but it is not a vital feature.
That being said, the reason I made a point of mentioning multiple inheritance was to point out how absurd LizardKing's comment was. You simply cannot claim that a particular implementation is "so much better" than another when the allegedly better implementation at best implements some fundamental features in a h
Re: (Score:2)
I don't see multiple inheritance as a vital feature. As you've stated, it is possible to work around it without much hassle. So, it may be very useful and convenient but it is not a vital feature.
That being said, the reason I made a point of mentioning multiple inheritance was to point out how absurd LizardKing's comment was. You simply cannot claim that a particular implementation is "so much better" than another when the allegedly better implementation at best implements some fundamental features in a half-assed way and at worse simply fails to implement them. As this is a (somewhat) technical forum, people must limit themselves to the facts regarding the technology and avoid unleashing the fanboy in them to boast about their pet tech through absurd and patently false statements such as the ones which I've pointed out. It diminishes the technology and it denigrates the people who are seriously invested in it.
Suppose you have an API, example Qt, where Templates (e.g. generics) are not allowed. Now suppose you need to implement a feature using Template (e.g. generic), but you need it in an object native to that API. Well, you can do it in one of two ways:
Re: (Score:2)
Inheritance in general is not that relevant. People overuse it and ruin their designs that way. With some exceptions, most things should be modelled with composition instead.
However, just like inheritance is sometimes actually useful, so is multiple inheritance.
Unfortunately, they don't tell you this in college. It takes a couple of far too deep inheritance designs to realize that maybe what they told you about inheritance being the corner stone was a lie.
Re: (Score:2)
Hell even goto is actually useful in cases despite the universal parroting of the "GOTO IS BAD!!!" meme of people who misunderstood what Dijkstra was saying.
Re: (Score:2)
I write GOTO's and it annoyed my fellow coworkers like crazy: pretty much only valid goto to make code simpler:
outer: for()
{
for()
{
dostuff();
if(something)
break outer;
doSomethingElse();
}
moreStuffHere();
}
Maybe a continue on a 3 level+
Re: (Score:2)
Java has its advantages as a slightly better C++ with a lot of enterprise infrastructure around it. But so much stuff is just painfully almost right with it (the generics as you mentioned, the separation of primitive types and objects, the handling of null, the way it still doesn't have closures...), I find myself hoping C# pushes it aside soon.
C# will never push Java aside. C++ with Qt, or C++ with BOOST may; but never C#.
Re: (Score:2)
As a system administrator I love the hell out of java. It takes a metric shit ton of hardware to run the most basic app at acceptable speeds. If it where not for java I would likely be out of a job.
Re: (Score:2)
Re: (Score:2)
Indeed. All Java needs is a way to handle general resources (e.g. file handles) in a sane way, ditch the sillier C syntax relics (e.g. case fall-through), ditch some of the sillier introduced syntax wrinkles (like package private default), get support for function(al)s, typing, inheritance, static polymorphism and then we are getting there except for the stuff I forgot ;)
Re: (Score:2)
or stupidly high resource usage just for the sake of high resource usage
And you're putting this out as a trait that Java doesn't have? ROFL
Re: (Score:3)
People are seduced by what's shiny and new. That being said, sometimes you have to kill a dinosaur so a manual can evolve.
Re: (Score:2)