Domain: oracle.com
Stories and comments across the archive that link to oracle.com.
Comments · 1,490
-
Re:Then learn the language better, stupid
I can't speak for
.net, but in Java you have very little need for it. It's better to close your files and connections, but they'll be garbage-collected for you if you don't.Not according to the Java documentation:
Some applications interact with garbage collection by using finalization and weak/soft/phantom references. These features can create performance artifacts at the Java programming language level. An example of this is relying on finalization to close file descriptors, which makes an external resource (descriptors) dependent on garbage collection promptness. Relying on garbage collection to manage resources other than memory is almost always a bad idea.
Also, for the fun of it, look at:
http://stackoverflow.com/questions/6470651/creating-a-memory-leak-with-java -
Re:Yikes
Want a file or a network connection closed? You have to wrap it in a try...finally block and close it manually. Every single time, no way to automate it.
Not anymore. It does require you to get the resource in a special block, just like C#.
Then there's Java's brain-dead inheritance model. Get ready to do multiple inheritance manually by copying/pasting code from all the base classes. Cross your fingers that the interface never changes and you have to go and hunt down every last copy of it.
That was an intentional language decision. From what I've heard it's because Sun thought the majority of programmers who tried to use multiple inheritance in C++ used it wrong. Instead, Java and C# only allow multiple inheritance of completely abstract classes (dubbed interfaces) plus one non-completely abstract class.
-
Re:Java and .NET falling by the wayside?
I don't think that plays out anymore with Nehalem and Sandy Bridge. Itanium was a dead architecture the minute AMD launched its x86-64 initiative which forced Intel to go along for the ride.
As I read it from Oracle's SPARC road map (that still sounds funny) through 2015 they will be focusing on the T3 architecture, 16 Cores/128 threads per core which follows right along with the SPARC architecture over the past few years. The speed though is still less than 2GHz/sec, 1.65 actually, which when SUN was still in charge was a target. Essentially not much more clock speed but more threads via more cores on a socket. I won't get into a "which is better" but SPARC has been languishing and with Oracle pushing aside support for OpenSolaris and pushing support for Solaris X86, it just starts to get confusing as to what their plans are for the hardware and O/S side of the business. They also have Oracle Linux (Repackaged RHEL) which further clouds things up.
Right now however I'm getting on the x86-64 architecture because it's the volume of shipped systems that's a key player here. Back when Power7 was launched by IBM, there was this article and it is true, UNIX is dying. Linux is growing and so is Windows Server in the Data Center.
-
Re:Oracle running on MAC hardware?
The article speculates that the change is because MySQL is now Oracle property
Can't Oracle fix this problem by offering Oracle on mac hardware?
1. What "problem" would that be?
2. http://www.oracle.com/technetwork/topics/macos/whatsnew/index.html
It is a bit telling that Oracle hasn't kept current on MacOS. Apple has never made heavy-duty servers suitable for Oracle, and has been falling behind in that space since Oracle 10 was the new hotness. The XServe wasn't a bad little box, but it was a *little* box that was really designed for Apple's existing customer population, not for heavy database users. Whatever else Oracle may be, they are not stupid. They know that they have no real reason to care about MacOS as a platform for any of their products.
-
Not incriminating
August 2010 is much later than when Oracle bought Sun and long after Android was initially announced. In fact, all this email was sent just 2 days before Oracle filed their lawsuit.
-
Re:Sounds just about right for Oracle.
An information that appears to be missing in this discussion is, that according to Release notes, they went for option 2.
-
Re:Yahoo Toolbar - Go away please
It takes some digging but you can download an offline installer that doesn't include the "value add-ons". It is for enterprise deployments and developers.
http://www.oracle.com/technetwork/java/javase/downloads/index.html
-
Re:Ubuntu
It breaks things that improperly implement the Comparable interface then try to sort objects that implement that interface.
See the incompatibilities list
Before, these situations were silently ignored, now an IllegalArgumentException is thrown, unless you use the option to use the legacy sorting algo. -
List of features in Java 7
Oracle has a detailed list of the additions in Java 7. OpenJDK has relatively the same information listed in a different way.
While it took forever to get JDK7 out the door, it's finally out and they can work toward JDK8, which is currently scheduled for release a year from now. The Oracle takeover is said and done and they are able to keep pushing new features into the language now. For all of us that use Java daily, this is a nice change.
I recommend looking over the feature list if you are a java dev. There are some really nice changes to make your day-to-day code just a little easier.
-
Some of the changesSE 7 Release Notes
- switch statements can now use strings (more efficient than if/else chain)
- some new concurrency features (fork/join) to better handle multiprocessor setups
- try with resources (so you don't always have to set a finally block to make sure your i/o object gets closed)
-
If anyone's interested in what's new in Java 7
This page has all the details: http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html
-
Re:Version 6 Update 26 the last of Version 6?
According to this page, you've got until July, 2012 before they stop supporting 1.6. When 1.6 was released, they continued to release fixes for 1.5, so I would assume they'll do the same for the 1.6 to 1.7 transition.
-
For another year
http://www.oracle.com/technetwork/java/eol-135779.html
Java 6 will be updated through July 2012
(After which it will still be updated, but on a paid-only basis.)
Actually, probably longer if you have a proprietary Unix OS such as Mac OS X, AIX or HP-UX where the OS vendor ships patches. The OS vendors usually find it easier to just issue patches for the old version rather than adding support for a new one.
-
Re:Won't stop Oracle
Google's Java is directly competing with Oracle's Java Embedded on the same hardware, and losing badly in performance, but winning in market share, because it's given away for free. Now is it just me or is this eerily reminiscent of what happened with Microsoft's Internet Explorer and Netscape Navigator?
-
Re:Sellouts
Ooh, a fill-in-your-own-joke? I love these.
(ROT13ed Answers: bar bs NzoreCbvag, Fvyire Perrx Flfgrzf, be Pbairetva. No peeking!) -
Re:SAN?
See: http://bigip-blogs-adc.oracle.com/brendan/entry/test for more about ARC, L2ARC, using SSDs with ZFS. With 128GB RAM, 550GB of SSDs, and 18TB of disk, the speedup was 8.4x over just the RAM and disks, with 20x less latency. YMMV with different workloads.
-
Anything over 2TB should be ZFS...... if you really care about the data. ZFS has built-in so much more data integrity checks, and more extensive data integrity checks, than the vanilla RAID6 arrays.
.
Both FreeBSD and FreeNAS, in addition to OpenSolaris, support ZFS. -
Re:TL; DR
Pass phrases need to be drilled into peoples heads. Average person can easily come up with a memorable 30+ character quotation segment. But they never even think to try. Shortened passwords are all they've seen anyone use.
It doesn't help that systems like nisplus use only the first eight characters... http://download.oracle.com/docs/cd/E19253-01/816-4558/a08paswd-41222/index.html
"Length. By default, a password must have at least six characters. Only the first eight characters are significant. (In other words, you can have a password that is longer than eight characters, but the system only checks the first eight.) Because the minimum length of a password can be changed by a system administrator, it may be different on your system. " -
Re:Holding back?
The other linux problem: Not Invented Here.
-
Solaris workstations
The first result from Google solaris workstation points to a page about the Sun Ray, not stand-alone desktop computers designed for, say, small office environments
-
Re:Commercial databases
Java is a great language for building serious Enterprise applications, and has a really ferocious JIT that compiles frequently used Java byte code into native machine instructions.
How many software frameworks are there, that can make effective use of a Terrabyte of memory and multiple cores, other than Java? See: http://blogs.oracle.com/java/entry/java_7_celebration_begins
[...]
A representative from the Royal Bank of Scotland explained that RBS relies on the JVM, a TB (Terrabyte!) of in-memory data 24 x 7, and is looking forward to Java 7 improvements.
[...]
I have written software in over 15 different languages in a variety of operating systems, and I prefer Java to all the others. Though I wish I could write Java without the curly brackets and semicolons 1ike python - but Python does not scale, nor does it handle multi threading very well, nor has much of the functionality, library support, and performance aspects, that Java has.
You can always find another language that has features that are superior to Java, but you cannot find another language that is overall superior to Java for serious software.
Though I admit I am not keen on the Oracle connection! -
Re:Commercial databases
Yeah, Oracle. Who owns MySQL again?
-
Re:Not just an academic, former Sun engineer as weNow with infinite percent more close tags: I became aware of Susan from the recent New Yorker article about Thomas Drake:
http://www.newyorker.com/reporting/2011/05/23/110523fa_fact_mayer?currentPage=all/But Susan Landau, a former engineer at Sun Microsystems, and the author of a new book, âoeSurveillance or Security?,â notes that, in 2003, the government placed equipment capable of copying electronic communications at locations across America. These installations were made, she says, at âoeswitching officesâ that not only connect foreign and domestic communications but also handle purely domestic traffic. As a result, she surmises, the U.S. now has the capability to monitor domestic traffic on a huge scale. âoeWhy was it done this way?â she asks. âoeOne can come up with all sorts of nefarious reasons, but one doesnâ(TM)t want to think that way about our government.
As I understand it, she left during the Sun/Oracle transition but here's her page there:
https://labs.oracle.com/people/slandau/ -
Not just an academic, former Sun engineer as wellI became aware of Susan from the recent New Yorker article about Thomas Drake: http://www.newyorker.com/reporting/2011/05/23/110523fa_fact_mayer?currentPage=all/
But Susan Landau, a former engineer at Sun Microsystems, and the author of a new book, âoeSurveillance or Security?,â notes that, in 2003, the government placed equipment capable of copying electronic communications at locations across America. These installations were made, she says, at âoeswitching officesâ that not only connect foreign and domestic communications but also handle purely domestic traffic. As a result, she surmises, the U.S. now has the capability to monitor domestic traffic on a huge scale. âoeWhy was it done this way?â she asks. âoeOne can come up with all sorts of nefarious reasons, but one doesnâ(TM)t want to think that way about our government.
As I understand it, she left during the Sun/Oracle transition but here's her page there: https://labs.oracle.com/people/slandau/
-
Re:Sounds like good news
The University i studied at bought a (As far as remember, its the only system matching the spec which i remember) Ultra Enterprise 4000 in around 1996 or 1997.
Please direct your view to:
http://www.oracle.com/us/support/library/lifetime-support-hardware-os-337182.pdf
So the regular supported time would have been 14 years and the extended supported time would have been longer.
-
Re:Compensation for Java?
licensed per core x RAM - they don't care if it's a server or if you need a seat for a development or QA lab workstation they license it based on what a given CPU "could" theoretically handle.
Not that I disagree with most of your Oracle == evil rant, but they do have an Express Edition you can use for dev/QA work for free.
-
Re:It seems pretty obvious
Oracle will continue to support existing Oracle Itanium software for existing customers. http://www.oracle.com/us/corporate/press/346696
-
Re:Fedora is essentially RHEL beta
"64 bit CRC"? No. ZFS uses 256 bit checksums for each block.
Also, ZFS does not implement RAID-5, RAID-6 or any of the conventional RAID modes; but it has "RAID-like" modes (e.g. mirrored vdev, RAID-Z, RAID-Z2).
-
Re:Fedora is essentially RHEL beta
"64 bit CRC"? No. ZFS uses 256 bit checksums for each block.
Also, ZFS does not implement RAID-5, RAID-6 or any of the conventional RAID modes; but it has "RAID-like" modes (e.g. mirrored vdev, RAID-Z, RAID-Z2).
-
Re:Not FOSS, but free
- unless you enjoy the subtle beauty of the SQLplus command line.
I do, but for those wierdos who don't, the free-to-use Oracle Application Express ("APEX") works surprisingly very very well.
APEX requires install in an Oracle database. Happily, the free-to-use Oracle Express ("XE") edition is in beta for v11.2 (should be GA any day now), which moves the maximum user storage to 11GB, up from the 4GB restriction in the current 10.2 version.
Oracle XE: http://www.oracle.com/technetwork/database/express-edition/index.html
Oracle APEX: http://apex.oracle.com/Be productive. Have fun. Drink beer.
-
Re:Not FOSS, but free
- unless you enjoy the subtle beauty of the SQLplus command line.
I do, but for those wierdos who don't, the free-to-use Oracle Application Express ("APEX") works surprisingly very very well.
APEX requires install in an Oracle database. Happily, the free-to-use Oracle Express ("XE") edition is in beta for v11.2 (should be GA any day now), which moves the maximum user storage to 11GB, up from the 4GB restriction in the current 10.2 version.
Oracle XE: http://www.oracle.com/technetwork/database/express-edition/index.html
Oracle APEX: http://apex.oracle.com/Be productive. Have fun. Drink beer.
-
I learned by taking apart BASIC games...
CS is more than just how to code, but honestly: Learning to write a bit of working code first helps loads.
I taught my 11 year old brother how to code in C, C++, Java, SQL, JavaScript, (he's now 20, and learning Perl & Python on his own).
He didn't get the theory until he could compile stuff and play with real working examples (as I did), and for him, everything we needed was in The Really Big Index. Everything from the concept of Objects and variables, to arrays, branches, algorithms, GUIs, concurrency, graphics, client / servers, etc -- After the first two trails he was studying all by himself, and mastering the programming part of CS. After Java, C/C++ and JavaScript were nothing more than learning the syntax and standard libraries. We installed PostgreSQL, and he picked up SQL in two weeks. I'm helping him write a new scripting language for an existing game engine to learn compiler design -- He's beyond his fellow students, and sometimes even the CS professor in many areas simply due to experience.
As far as tests go -- I don't know about that. Tests are bogus anyhow. Have them come up with a reasonable project that they can complete and learn by doing. You can get a curriculum and do course work, but first get them coding (also note: if they don't give a damn about writing code, you will never make them want to -- Good programmers are born not made).
-
Re:More on multi-agent based AI
Sounds like you've got it all figured out. Since no one else has thought of this, or precisely your specific "isn't that hard" implementation, I take it you are actively working on the system of which you speak?
Please let me know when I can download the beta version of your product. I would also like to subscribe to your newsletter.
I would like to see this scripting environment of yours, it sounds revolutionary... I would settle for just being able to write & run scripts myself... if only I could write the scripts faster than I can click the mouse...
For now I'll just keep typing things like:
http://google.com/search/?q=AI
http://google.com/search/?q=site:slashdot.org+AI
http://slashdot.org/index2.pl?fhfilter=ai
-- or --
Just using the search bars on those sites homepages...
Then a JS URL bookmarklet like this:
javascript:var a = document.getElementsByTagName( 'a' );var b = 0;
for ( var x in a ){ if ( a[x].href.match( /\bAI\b/ ) ) window.open( a[x].href );
if ( ++b >= 6 ) break; }
void(0);
(open the first 6 links that have AI in the URLs, probably should be a[x].innerHTML.match(\bAI\b), meh...)
But honestly, I usually just middle button click on the interesting article links (open in new tab) faster than I could write the script or explain to my robot what I want.
I think the reason no-one has this "robot" system you speak of, is that the computer gives you what you want fast enough -- hint: "[ctrl+L]googe.com[enter]AI[enter][mid-click][mid-click][mid-click][mid-click], browse away... IMHO, adding a generic all powerful robot layer would make that more complex than it needs to be.
Maybe I'm wrong -- I look forward to being proved so, having a computer system that satisfies my deepest desires without me having to use any input has only ever happened When I use XP -- It regularly reboots itself (update, crash, whatever) and my boot-loader boots the GNU/Linux partition by default (The computer somehow knew I'd rather be using Linux than MS/Windows).
Perhaps you could use Rhino to create a JS environment with the functionality of Java.awt.Robot, and OpenCV to interpret the screenshots for the AI -- now if only you had an AI to feed the data to....
You are making it a lot more complicated than it has to be. It's not hard already to do certain parts. The problem is it would take a lot of code to do it right. You don't need to use screen shots because we are talking about strings here.
It's not difficult to work with strings and regular expressions. There are a lot of capabilities already. The problem is there isn't a unified framework or backend to make it simple enough that everyone could do it.
And no I haven't decided that this will be MY project, but if nobody sees it as valuable, and I do, then at some point I will write some code and see what can and can't be done. Robots are easy to write, and so are webcrawling robots. Screen shots aren't necessary. It would have to rely on a framework from which applications run on top of.
Python scripting for example can already allow a lot of stuff. The way unix is designed, applications can communicate with each other in that the output of one application can be made into the input for another. If the framework is designed under the methodology that all applications should be able to communicate with each other, then all robots should also be able to communicate with each other. If each robot is sufficiently specialized, you can have fairly complex operations broken down into highly specialized simple tasks.
It's easy to write a bot which bro
-
Re:More on multi-agent based AI
Sounds like you've got it all figured out. Since no one else has thought of this, or precisely your specific "isn't that hard" implementation, I take it you are actively working on the system of which you speak?
Please let me know when I can download the beta version of your product. I would also like to subscribe to your newsletter.
I would like to see this scripting environment of yours, it sounds revolutionary... I would settle for just being able to write & run scripts myself... if only I could write the scripts faster than I can click the mouse...
For now I'll just keep typing things like:
http://google.com/search/?q=AI
http://google.com/search/?q=site:slashdot.org+AI
http://slashdot.org/index2.pl?fhfilter=ai
-- or --Just using the search bars on those sites homepages...
Then a JS URL bookmarklet like this:javascript:var a = document.getElementsByTagName( 'a' );var b = 0; for ( var x in a ){ if ( a[x].href.match(
/\bAI\b/ ) ) window.open( a[x].href ); if ( ++b >= 6 ) break; } void(0);
(open the first 6 links that have AI in the URLs, probably should be a[x].innerHTML.match(\bAI\b), meh...)But honestly, I usually just middle button click on the interesting article links (open in new tab) faster than I could write the script or explain to my robot what I want.
I think the reason no-one has this "robot" system you speak of, is that the computer gives you what you want fast enough -- hint: "[ctrl+L]googe.com[enter]AI[enter][mid-click][mid-click][mid-click][mid-click], browse away... IMHO, adding a generic all powerful robot layer would make that more complex than it needs to be.
Maybe I'm wrong -- I look forward to being proved so, having a computer system that satisfies my deepest desires without me having to use any input has only ever happened When I use XP -- It regularly reboots itself (update, crash, whatever) and my boot-loader boots the GNU/Linux partition by default (The computer somehow knew I'd rather be using Linux than MS/Windows).
Perhaps you could use Rhino to create a JS environment with the functionality of Java.awt.Robot, and OpenCV to interpret the screenshots for the AI -- now if only you had an AI to feed the data to....
-
Re:Unconventional?
In UNIX-land, no it isn't.
Sorry, but shipping code beats standards based theory, and pretty much every *nix vendor ships dc with the OS.
Oracle (nee Sun) Solaris, IBM AIX, HP HP/UX, SGI IRIX, Apple MacOS X, SCO Openserver, SuSE Enterprise Linux (dc listed on bc page), FreeBSD, OpenBSD
...You also appear to missed a few things about the Open Group Base Specifications Issue 7 / IEEE Std 1003.1-2008 standard - it is in essence a floor, not a ceiling - vendors can ship more tools if they care to. Also, the discussion on bc notes that some implementations of bc are built on top of dc, and that is OK, as long as the behavior of bc is correct.
It is worth noting that dc was one of the earliest programs to run in Unix, making it in while Unix was still written in assembly language. If for some reason it was to be not only omitted, but actually excluded by the standard, it would still be found in the vast majority of shipping systems for years to come until said vendor decided to migrate their Unix system to the current standard, a process that often takes years.
So yes, for the vast majority of people using Unix, an RPN calculator is often only as far away as a shell prompt.
-
Re:correctly predicted?
Yeesh, you seem to be quite out of the loop! It feels like it happened in the last 6 months, but apparently it was in 2009.
-
Re:Um, wtf?
methods and apparatus for information storage and retrieval using a hashing technique with external chaining and on-the-fly removal of expired data.
information storage and retrieval - nothing new here.
using a hashing technique - nothing new here
with external chaining - using what?
and on-the-fly removal of expired data - "on-the-fly" is a nice buzzword, but this is also nothing new.
So apparently we can just mix and match random old techniques, and call it innovation and get it patented?
Java has a class that does exactly that: WeakHashMap. The class was introduced in Java 1.2, so it has been around since 1998.
-
Re:Java killer?
Everything in Java is passed by value. And every object variable is a reference.
Those two statements are mutually exclusive
:-)Objects are passed by reference, which means that NOT everything is passed by value. Only the reference to the object is passed by value
:-)Adding more features to a language dramatically increases the chances that code will do something unknown or unexpected. No language is free from that sort of mistake, but Java is significantly more consistent and predictable than most languages.
Both the garbage collector and finalizers are unpredictable. You are never guaranteed as to when the garbage collector is run, and finalizers thus may not be called until your program terminates - and in fact finalizers may never be called.
This is one of the reasons why, even after so many years of saying that they'd come out with a jvm that can handle multiple programs at once, they haven't - it's been totally abandoned because the jvm needs to terminate so the OS can reclaim resources that the jvm failed to release because the gc and finalizers are both broken.
Now, in c or c++, the startup library is tiny - around 3k. It sets up the memory arena, the program environment variables, a bit of housekeeping, then jumps to main. The startup library for your java program is the entire jvm instance that has to be loaded into memory. This is not a fixable problem.
-
Re:Missing feature in Java: Copy on write
-
Re:Missing feature in Java: Copy on write
Actually, it's not missing.
-
Re:Missing feature in Java: Copy on write
Why don't you use CopyOnWriteArrayList? This only does exactly what you asked for.
-
Umm.. No, its simple.
To the other guy who responded to this comment: If your DBA has to call Oracle support to figure out how to install it on Linux then you need a new DBA. It takes 10 minutes to prep a RedHat OS to install Oracle, its not complicated.
As for Oracle Linux, there is a package you can download which will install the pre-reqs called oracle-validated. From the links below:
Named after, and derived from Validated Configurations, oracle-validated also creates an oracle OS user and an oinstall and dba group. Kernel parameters are also set properly, ensuring that the Oracle Universal Installer will proceed without complaints. Very nice!
http://blogs.oracle.com/sergio/2008/08/revisiting_the_oraclevalidated_1.html
http://blogs.oracle.com/AlejandroVargas/2008/10/the_oraclevalidated_rpm_is_ava.htmlPretty simple.
-
Umm.. No, its simple.
To the other guy who responded to this comment: If your DBA has to call Oracle support to figure out how to install it on Linux then you need a new DBA. It takes 10 minutes to prep a RedHat OS to install Oracle, its not complicated.
As for Oracle Linux, there is a package you can download which will install the pre-reqs called oracle-validated. From the links below:
Named after, and derived from Validated Configurations, oracle-validated also creates an oracle OS user and an oinstall and dba group. Kernel parameters are also set properly, ensuring that the Oracle Universal Installer will proceed without complaints. Very nice!
http://blogs.oracle.com/sergio/2008/08/revisiting_the_oraclevalidated_1.html
http://blogs.oracle.com/AlejandroVargas/2008/10/the_oraclevalidated_rpm_is_ava.htmlPretty simple.
-
Re:Bad guys
Then why did Apple fight so hard to sell DRM free music?
Apple wanted to get rid of the DRM the record companies wanted, not the DRM that Apple wants. You still can't run programs not approved by Apple on your iPod/iOS device without jailbreaking. They each want different forms of DRM because they each sell different products. That doesn't mean either of them actually expects it to stop "piracy" or is interested in it primarily for that reason.
Can you get music without Apple? Yes. If you wanted to use Apple's DRMed music you had to use Apple. Can you get Unix servers? Yes. Can you get an AIX without IBM. No.
OK, let's try this.
Premise: DRM is useful and necessary for distributing content.
Premise: The only DRM supported by iPods is Apple DRM.
Premise: Only Apple (or those with Apple's permission) can distribute music with Apple DRM.
Conclusion: Only Apple (or those with Apple's permission) can sell music for iPods, because DRM is required and Apple has the only DRM supported by iPods.To escape the conclusion one of the premises must be wrong, most plausibly the first one. If DRM is not required then it should be discontinued. In some cases (music) it has been -- great. In those cases the DRM doesn't exist so it stops being anti-competitive (obviously). But to the extent that it still exists, the analogous conclusion still applies -- he who controls the DRM controls the market.
Did you read above? MS did not get in trouble for lock-in per se. They got in trouble for anti-competitive acts to protect that lock-in. Threatening OEMs not to install Netscape was one example. Threatening Intel not to create a Java VM was another. Apple has never threatened it's users not to use Real. What they did was prevent Real from using their iPod system as it was not intended.
Why do you think that what Apple intended has anything to do with anything? If Microsoft intended that no browsers competing with Internet Explorer should run on Windows, and implemented technical measures to prevent it, you would not see that as an anti-competitive act to protect lock-in? And you would accept that competing browsers trying to work around it are doing something wrong? How is Apple's behavior different?
Can you install Solaris on an AIX machine? As a user, yes. Can you run a business that does it? I think Oracle and IBM would both send their lawyers against you.
Nobody can install Solaris on an "AIX machine" because they run on completely different processor architectures, no Solaris drivers exist for IBM hardware, etc. But let's say that I, as a business, go to IBM and order up an x86-based xSeries server and then I buy myself a copy of x86 Solaris to run on it. You think they're going to send lawyers? IBM will be happy for the hardware sale and Oracle will send a promotional brochure for "Oracle Solaris Premier Subscriptions for Non-Oracle x86 Systems".
Can you today walk into any Best Buy and get a non-Apple music player? Can you today get music online or offline without ever dealing with Apple? The answer to both is yes. There is a difference in being number #1 because everyone selects your product and being #1 because consumers had no choice. You seem to think it is the former and not the latter.
You're thinking about the wrong side of the market. The device purchaser gets to decide if they want an iPhone or a Droid. The app developer doesn't get to decide which of their customers buy which device -- and if a majority of their customers buy an iPhone and then Apple rejects the app because it competes with Apple's own offerings, that will have an extremely anti-competitive effect in the app market.
-
Re:Objective-C is easy - frameworks take time
Java is immensely easier to develop with than any flavor of C because of garbage collection and lack of pointers.
What exactly is so hard about pointers? Unless you're a mouth breather pointers are quite easy to learn. Also Java DOES have pointers that's why there is even an exception for when they are NULL.
-
Re: Not even about syntax for me. (informative ran
So keeping that in mind?.... Java and the JVM was a non-starter for me.
Every time a new object oriented language comes out the purists start with "we don't need multiple inheritance" and so on, and they always end up having to hack it back in as some half-conceived junk (see "interfaces" providing, at a later date, all the much shat upon "complexity" of multiple inheritance with none of the ability to provide a default implementation, so then you add delegation which is all the default implementation with none of the inheritance etc...).
Wait. What? You do know interfaces were there from the start right? Here's an example, the much hated cloneable has been in the language since 1.0 - http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Cloneable.html.
And like the rest of your rant, you're glossing over the real problem with this language feature you like. As frustrating as single inheritance can be, multiple inheritance simply does not work right. If you don't die from the dreaded diamond anti-pattern, you may have to manually rewrite each method with explicit indirection to clarify which call is intended.
There's so much truly annoying about Java, and you seemed to have missed it all for design decisions that actually make sense. Garbage collectors aren't always good, but to claim a language that provides them is terrible is just insane.
-
Re:Why exactly?
I really don't. I want that even less than I want ADF and jDeveloper.
Partly because I want the result to not suck. Can I use those tools to develop a frontend which is essentially static HTML? Not actually static, use some templates and sugar to make it easier to build, but is it actually reasonable to develop a frontend which doesn't have to talk to the server for every little thing?
But mostly, I want to develop and deploy on open platforms. I can't count the number of times it's been helpful to read the source of a library or tool I'm using, and there are a number of times when patching it directly has been the best option. Maybe that's an indication of the lack of quality of the particular frameworks and libraries I'm using, but from what I hear from the proprietary world, and certainly from my own experience with Oracle ADF, it's not really different there. In Oracle's case, it's often far, far worse, to the point where I really don't get why anyone willingly chooses Oracle for anything.
-
Re:Why exactly?
I really don't. I want that even less than I want ADF and jDeveloper.
Partly because I want the result to not suck. Can I use those tools to develop a frontend which is essentially static HTML? Not actually static, use some templates and sugar to make it easier to build, but is it actually reasonable to develop a frontend which doesn't have to talk to the server for every little thing?
But mostly, I want to develop and deploy on open platforms. I can't count the number of times it's been helpful to read the source of a library or tool I'm using, and there are a number of times when patching it directly has been the best option. Maybe that's an indication of the lack of quality of the particular frameworks and libraries I'm using, but from what I hear from the proprietary world, and certainly from my own experience with Oracle ADF, it's not really different there. In Oracle's case, it's often far, far worse, to the point where I really don't get why anyone willingly chooses Oracle for anything.
-
Re:Blind leading the blind
COUNT(*) includes null values. COUNT(1) counts all rows where 1=1, which would include null rows. On a modern RDMBS, they're synonymous.
"COUNT(*) is somewhat different in that it returns a count of the number of rows retrieved, whether or not they contain NULL values. " See MySQL 5.5 Reference. Or Microsoft SQL Server saying "COUNT(*) returns the number of rows in a specified table without getting rid of duplicates. It counts each row separately. This includes rows that contain null values.". Asktom remarks, for Oracle, (when asked what the difference is) "nothing, they are the same, incur the same amount of work -- do the same thing, take the same amount of resources."
(Apparently in Oracle 7 and below, COUNT(1) had performance advantages over COUNT(*). I have no idea why.)
(I prefer COUNT(*) because it makes it especially clear I'm really not caring what the value is.)
I don't know exactly what the ANSI spec says, but I assure you that MySQL, Oracle and MSSQL all treat them the same.
-
Re:CentOS Impact?