Oracle Seeks $9.3 Billion For Google's Use Of Java In Android (computerworld.com)
angry tapir quotes a report from Computerworld: Oracle is seeking as much as $9.3 billion in damages in a long-running copyright lawsuit against Google over its use of Java in Android, court filings show. Oracle sued Google six years ago, claiming the search giant needs a license to use parts of the Java platform in Google's market-leading mobile OS.
The two companies first went to trial in 2012, but the jury was split on whether or not Google's use of Java was protected by "fair use." Now they're headed back to the courtroom for a new trial scheduled to begin May 9, where Oracle's Larry Ellison and Google's Eric Schmidt will be present. Currently, the sum Oracle is asking for is about 10 times as much as when the two companies went to trial in 2012.
As per the comment subject.
That's more than they paid for Sun in total. (Sale price was $7.4 billion).
"First they came for the slanderers and i said nothing."
Anyone that has ever been subjected to damage from java, either programing it or using it, I think we should ask the jury for 20 trillion that seems a fair number,,
in other news, indonesian, island of java is going to sue both oracle and google.
and are coffee producers entitled to some that loot too? think of all the coffee that is needed to code. but what about tea?
I am fully aware that the law suit is a bit more complex than simply using Java in a product, but I still think that Oracle is sending a weird signals to their existing and potential customers:
"Feel free to use our products for free but if you get successful we will sue you to get a piece of the cake."
I miss Sun!
Much as I'd hate to donate to a huge corporation like Google (and that is what they are, even if they're not as bad as some other corps), this case is bigger than even them, at least, speaking as a developer. Given the split jury before, I'm not sure that they have what it will take to overcome Oracle, and Oracle badly needs to lose this. I'd be happy to contribute to Google's legal defense for this (and only this) case, but I doubt there's a way to do that. If anyone knows otherwise, I'd appreciate being set straight.
"Is not a sentence" is not a sentence. Well damn.
By all means, Go big.
Happiness in intelligent people is the rarest thing I know.
Ernest Hemingway
...anyone who uses Java should be fined.
Oracle has always had predatory sales and support as well as a culture of greed and rent-seeking.
One thing is certain though, they rook a hit in the 2000-2001 tech bubble, but in the 2008 recession hardly a nudge. It seems that the shareholders like the way the company is run.
Silence is a state of mime.
By any reasonable measure the $8.8 billion of damages attributed to Google's profit from Android is beyond obscene and unreasonable. Which means it must have been calculated from the same formula that Oracle uses to rape their database customers with.
It all sounds so familiar. Why would that be? Oh yes. Oracle is a purveyor of databases software. The SCO Group used to be a purveyor of operating system software. However, it eventually upped its claims against IBM to at least $5 billion. Not far short of Oracle's demand for $9.3 billion. Where is SCO now?
http://www.groklaw.net/pdf4/IB... ... It started out as a Chapter 11, became a Chapter 7 going back to 2007. These claims are the last, really the only asset remaining of SCO."
"Today SCO is, as the Court is aware, in a LIQUIDATION process
Oracle is threatening to become the new SCO.
Would you recommend a product from a company that is on a path to Chapter 7?
Oracle likes to boast about Java being installed on so many devices. And people use Java to make Android software. You'd think they'd be thanking Google instead of trying to mug them.
God spoke to me
Weird... wasn't Java GPL'd at one point (2006-2007)? Oracle does not have a leg to stand on here even if Google were to take the whole stack and redistribute it. They would merely be required to make the source available - which they have done and it has led to derivatives/forks.
But, as Android is built on a Java _clone_ (Apache Harmony, soon OpenJDK) on top of Linux. Oracle's claim is even weaker.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
...for FLOSS evangelists to convert people to Firebird and PostgreSQL with an ever greater fervor than ever before. And to non-Java languages, of course.
Ezekiel 23:20
For years and years Java was mostly a server side technology and from what I've seen, more Java client side projects exist now most likely too the mobile client side Java API development from Android devs. Oracle should be paying Google.
Should have gone with c# tbh
https://www.youtube.com/watch?...
Why on earth did they copy the Java APIs? Most of them are not particularly good anyway.
Sure the law on this was a little unclear, which is a good reason to stay right away from it. And so easy to do. Not hard to tweak an Eclipse parser for a similar but different language.
Maybe it is because Google got rid of all there MBAs and used engineering management?
Java is available under a GPL + exceptions license. Google should take this GPL code and use it as a base for a new VM. Make whatever changes are required to make it slot in place of their current VM (something the GPL explicitly allows them to do) and start shipping it. The "classpath exception" in the Java license would allow them to keep other stuff (such as Google Play Services, the Google store and all the Google apps) closed source whilst still being in compliance with the license attached to the open source Java code.
Yes it will cost a chunk of money to do all the rewrites and stuff but it would mean Oracle has no ability to claim they violated the copyright of the various Java APIs (since the code that implements those APIs in the new VM would be a derived work of the GPL Java source code (where the license explicitly gives you all the rights under copyright law you would need regardless of whether APIs are actually copyrightable or not)
Please correct me if I am wrong, but isn't a lot of IBM software based on Java . . . ? Like, anything with the name WebSphere on it . . . ? What is going to happen when Oracle tries to shake down IBM . . . ?
Oracle ain't no SCO . . .
Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
I haven't purchased from Oracle and I don't plan to. Besides this case, I just don't think the cost/benefit ratio is there.
Some will say that you have to pay big bucks if you have a lot of data or a lot of transactions, but Facebook used MySQL (aka MariaDB) to scale pretty large, and they now use Hadoop and Presto to process more than a terabyte each day.
If open source databases handle Facebook and Google , I think they'll be enough for my needs.
That said, Oracle has $170 billion, based on market valuation. It seems they are quite a way from bankruptcy.
Agreed, but the problem is that there is no alternative statically-typed ("compile-y") language out there that seems ready in terms of being road-tested and not too different from other common production languages.
C# is too MS-tied with a similar legal-greed risk, and C++ is too low-level to replace Java and C#.
Object Pascal? Ada? too complex. Eiffel? too much like Pascal such that you might as well go Pascal.
Python, Ruby, Php, etc. are dynamic languages. They have their place, but for certain classes of applications you need a static/strict typed language.
Object-Fortran? :-) I dunno
Table-ized A.I.
Java is not free to use in any large-scale software project. Serious developers should avoid it at all costs.
Java expired in 1999
Couldn't Microsoft also sue anyone that tried to copy its big APIs, such as Win32, and DirectX? Couldn't Nintendo sue the creators of SNES9x?
Java is such a p.o.s. that Oracle should pay damages for inflicting it upon the world.
C# is too MS-tied with a similar legal-greed risk
Actually C# had already a freer license by the early 2000s. I distinctly remember pointing this out and people dismissing my concerns with Java since back then Sun was one of the good guys.
C++ is too low-level to replace Java and C#.
Modern, core C++ is about as high level as Java and without the JVM overhead. Read up on it. The C++ core as proposed by Bjarne has a good chance of becoming the Java replacement.
the end of the Java language.
in their defense, if they had not bought SUN where would SUN be today? In the Tech trash heap, along with Digital Equipment and others. SUN had a lot of assets - great hardware, intellectual property, etc - but they couldn't sell anything.
Oracle, to their credit, recognized this and bought them up. For what seems now like a bargain price. They realized that they had a great database product but didn't have the enterprise applications to go with it. So they bought PeopleSoft and JD Edwards and some other pieces. With SUN they got the hardware and middleware to round it out. Now they have the whole stack.
Oracle was late to the game in Cloud but their combined assets allowed them to ramp up rather quickly. You better believe that Workday and Salesforce are looking over their collective shoulders. Oracle is gaining fast on them and they have the money to outlast either of them.
Go(lang)
Google didn't use java. Google used an API. An API cannot by copyrighted. End of discussion.
Seem like your complaint is there isn't anything Java-y enough that isn't Java. Maybe just write-off that skill investment and move on?
Modern, core C++ is about as high level as Java and without the JVM overhead. Read up on it.
C++ has pointers. Bzzt, Disqualified
Fortran 2003 does support object oriented programming. The difficult part is it only interfaces with C/C++. But you can write your function wrappers in Fortran and compile to an object file.
Good points.
"First they came for the slanderers and i said nothing."
The problem with Object-Pascal is poor documentation. Also, it has poor unicode support.
Ada is less complex than C++ (calling it more complex used to be true before the STL). But it's default strings are fixed length, and different lengths of fixed length strings can't be compared. And it's difficult to flex in other ways. I like lots of things about it, but for my purposes it's too rigid in too many places.
Eiffel? That's hardly like Pascal at all. But there's only one version that's still doing much development, the documentation is poor. (They've got it, but access is on-line and slow.) I'm not real familiar with the current releases.
You left out D and Vala. Vala is either too undocumented or too undeveloped, I can't tell which.
OTOH, D would be a good choice. It's a low level as you want, but it's also fairly high level if that's what you want. And it handles unicode well. It's problem is a lack easily used libraries (you need to link them in via their C API, and do various parameter translations).
I think we've pushed this "anyone can grow up to be president" thing too far.
It's not the having pointers, it's not being able to avoid them or detect them. I believe that ALL compiler languages have pointers, but many can isolate them, and detect user access to them.
Pointers are fine, and can allow you to do things that are clumsy without them. Not being able to tell the difference between a pointer and an integer is unacceptable. (Well, more to the point, not being able to write code where all the pointer manipulation is provably done via system routines is what's unacceptable. Which you actually can do in C/C++ if you don't use arrays or output parameters. But that's too limited.)
I think we've pushed this "anyone can grow up to be president" thing too far.
Java is the defacto standard for enterprise applications. The vulnerabilities rarely affect how most Java is actually used, they almost exclusively effect the browser plugin and the security manager. They (or really sun) should have made the browser plugin opt in a decade ago.
Didn't Facebook use Cassandra?
I'm looking forward to when Google finally decides to discontinue supporting Java.
Anons need not reply. Questions end with a question mark.
I believe that ALL compiler languages have pointers, but many can isolate them, and detect user access to them.
these things are not pointers, they are references or access points, but you digress, this is about C++
C++ still has pointers that you can't get rid of. bzzt. get the hook, it's outa here
Facebook uses three database management systems, Hadoop, MySQL, and Cassandra. One thing they use Hadoop for is backups of their MySQL.
Facebook doesn't use Cassandra much anymore:
http://www.wired.com/2014/08/d...
They have three database management systems, Hadoop, MySQL, and Cassandra. One thing they use Hadoop for is backups of their MySQL.
Facebook doesn't use Cassandra much anymore. They their Cassandra DB helped jumpstart the NoSQL craze, Facebook soon realized they were wrong - Codd and Date had it right the first time, with the relational model. Now mostly Facebook uses Apache Presto, an SQL query processor that uses Hadoop as storage (much like MariaDB uses various storage engines). Another thing they use Hadoop for is to store backups of their MySQL/MariaDB databases.
So yeah you said four sentences and two are factually incorrect, making the third and fourth sound rather silly. Facebook uses relational databases AND they are open source.
Apple uses Cassandra a bit, though.
C# has pointers you can't get rid of. Although you can manage them.
I take it you see "no pointers" as a feature in Java, not a bug?
Android would have died without the write-once run-badly-everywhere aspects of Java. Google could have written its own, but it chose to copy Java's APIs.
It's not like there were a lot of multi-platform options out there. Tk/TCL?
Time to pay up, google. Your technical debt is calling.
>Agreed, but the problem is that there is no alternative statically-typed ("compile-y") language out there that seems ready in terms of being road-tested
There are lots of those
>and not too different from other common production languages.
That is not a worthy goal. The common production languages invariably suck in a *design* sense.
>C# is too MS-tied with a similar legal-greed risk, and C++ is too low-level to replace Java and C#.
I agree, although I think the risk in .NET is a little less than Java, if only for the patent pledge on *subsets* of .NET.
>Object Pascal? Ada? too complex.
If Object Pascal and Ada are too complex, you should rethink your career in programming. Pascal's use was teaching programming to rookies. Both were created by experienced language designers that actually knew what they are doing (as opposed to certain others *cough* C *cough*) and thus are consistent and simple.
>Eiffel? too much like Pascal such that you might as well go Pascal.
How is Eiffel like Pascal? O_o
>Python, Ruby, Php, etc. are dynamic languages. They have their place, but for certain classes of applications you need a static/strict typed language.
You can compile Python to native executables - whatever good that does.
Nobody should use Php for anything.
There are a lot of "interesting" languages, but the industry seems to like Java and C# overall. Whether that's "good" or "rational" perhaps is highly debatable, but it seems they struck the right chord in the industry as a preferred tool. I'm not here to debate the "ideal" language from a purely language design standpoint.
I meant only Ada, not Pascal. Complexity is a common complaint against Ada. If you want to label the complainers as "dumb", that's fine, but again I'm talking about what the industry seems to want, not the ideal way to be.
But they still lack the strong typing. The up-front type and reference verification done by compilers is one of the top selling points of compilers, arguably more than speed.
Table-ized A.I.
Android is open source. There actually are non-google Android phones.
Best Slashdot Co
(Well, more to the point, not being able to write code where all the pointer manipulation is provably done via system routines is what's unacceptable.
Well, wrong. The reason for using pointer manipulation at all is speed - it is a bit faster than merely meddling with array indexes. Therefore you DON'T do that in "system routines", because calling a "system routine" (or calling anything at all) is slower than using array indexes.
Software has work to do, and we want the work done ASAP. So we use fast code - including pointer manipulation. Pointers are not hard, pointers are not dangerous - and any problem you get with pointers can be debugged.
So stop pretending that "pointers are bad". If your program crash and you cannot figure it out, you're too stupid for the work.
Now, lets hope google ditch java as a result of this - android running on C/C++ would be faster. The shittier apps might crash themselves but so what? Memory protection ensures that apps only crash themselves - not the OS, not the device. People will simply ditch crashing apps the way they already ditch boring games and resource-hog apps.
> an SQL query processor that uses Hadoop as storage That does not really make sense.
Would it make more sense to say "an SQL query processor which uses ext3 as storage"? The SQL side needs to get and put bytes. Some ways to get and put bytes include:
ext3
NFS
SMB
S3
Hadoop
DB2
Some other relational database.
MySQL/Maria is a SQL client, a library, a SQL parser, a query optimizer, an a network server. MySQL is NOT a data-storage format. Rather, MySQL stores data in any of many available storage engines. One storage engine you are probably familiar with is DB2, one of the best known key-value stores (which also has it's own relational front-end). MySQL can also use CSV to store it's data, deferate to another relational database, or any number of other storage engines, documented here:
https://dev.mysql.com/doc/refm...
It may seem strange that MySQL would use key-value storage or anything other than some custom-made binary format, but if you think about it even if MySQL had it's own required file format, that format lives on ext3, or ext4, or ReiserFS, or ... MySQL doesn't know how it's actually stored. After the filesystem does whatever it does with the data, it's eventually stored in arbitrary flash cells, or phonograph^H^H^H^H^H^H disk tracks, or somewhere else, and MySQL doesn't know which chunk of data ends up where. MySQL chooses to abstract away storage one level higher than the filesystem - it has no required file format. It calls get() and put(), whatever is doing the storage handles things from there.
Presto (https://prestodb.io/) is similar. Presto handles SQL queries. Presto can get it's data bytes from Hadoop to be stored, and can send bytes to Hadoop, just as you might imagine it sending bytes to a disk file.
By using Hadoop as the underlying storage, Facebook can use multiple front ends. Just as a plain text file can be read and changed by Notepad.exe, vim, or MS Word, a Hadoop data store can be accessed from a SQL front end like Presto, as a file system, via MapReduce, or other methods. They can use the right tool for each specific job, with the same underlying data being accessed.
It is my understanding that Microsoft owns Android, else why is it extorting revenue out of the hardware manufacturers.
You got it wrong. The Startup that created Android was founded by clueless people that just knew the useless technology they learnt from university. That's why Android ended with the awful choices of XML, Java, and Linux.
Google merely bought that startup, and then forced some of the most brilliant people in the world to waste their precious time maintaining that mess of a platform that doesn't even let you implement a MVC design.
Which you actually can do in C/C++ if you don't use arrays or output
C/C++ isn't a language. You can't do output parameters in C without pointers. You can pass by reference in C++ and therefore do output parameters without pointers. Also, C++11 made almost all uses of output parameters unnecessary.
SJW n. One who posts facts.
Java is an open standard of language. Everybody can use it.
What Oracle owns is JVM. Google does NOT use this in Android.
Fuck Off Oracle. You Are Drunk.
C++ has pointers. Bzzt, Disqualified
You really need to read up on C++ core. It deprecates several constructs and adds several safety mechanisms (owner, not_null) some of which are superior to Java in terms of potential errors.
c++:
- Reflection?
- Platform independent binaries?
- Garbage collection?
- Clunky unnecessary header files.
- Parser unfriendly (to say the least) grammar.
Conclusion;
- c++ has no chance whatsoever to replace Java.
- Probably "Go" is one strong candidate.
Did anyone from Sun or current Oracle say "So, we had something like that in our hands and wasted it down to bundling ask.com toolbars." when they see anyone with Android in hand? It isn't like Xerox, they never wanted to sell computers or desktops. This must be way more worse than Xerox since they admit their business arm never wanted to sell computers.
As an end user, I saw the potential in Java when I run Think Free office, in Java 1.1 or 2 ages or IBM doing mp4 decoding in browser applet. How could Sun miss it.
Oracle is asking about 1/10 of it's own value in damages. Why doesn't Google just buy a majority share. It's more money but then they get:
1: The ability to fire Ellison.
2: All Oracles assets including Java, Solaris and SPARC M7.
- Platform independent binaries?
Java doesn't have them either.
- Garbage collection?
Yup, if you stick to C++ core and use the owner facility you get better garbage collection than Java.
- Parser unfriendly (to say the least) grammar.
Oh puleeeze. No developer cares about this. You are grasping for straws.
They could have used the CIL.
Support my political activism on Patreon.
I hope not, the decision to force java ruined what could have been a great platform. I realize it's not that simple, but google could be spinning this as "if you use java, expect a lawsuit when your product is successful"
--
Stay tuned for some shock and awe coming right up after this messages!
That makes 0 sense.
Once Google bought the start up and saw the "crap" that was the OS.... why would they choose to continue on that path instead of scrapping it for something better? It's not like Android had any traction at that time. There are plenty of smart people at Google, I have to believe that they chose to go forward with the Java route for a good reason.
My eyes reflect the stars and a smile lights up my face.
Java has pointers, too; it just doesn't let you mess around with them as much and calls them something different. It's like saying a language doesn't have GOTO...maybe technically accurate, but once it gets compiled basically all logic is jumps when you go down far enough.
Heck, there's even java.lang.NullPointerException.
Unity? Screw that: XFCE. Slashdot Beta? Screw that: SoylentNews. Australis? Screw that: Pale Moon. UX developers DIAF
There is no evidence of that. C# has been standardized by standards organizations and unlike Sun/Oracle, Microsoft has made public legal commitments not to sue. If Sun/Oracle had done the same thing, Oracle couldn't be suing over Java now. Furthermore, there are several open source implementations of C#, some of which don't even use the .NET runtime. C# also lacks several of the serious technical deficiencies of Java, but it's similar enough so that many popular Java packages get ported over quickly.
Well, there's sloppy or bad programmers out there whether you want that to be the case or not. Languages can protect them from themselves to some degree at the expense of speed/resources by avoiding pointer or pointer-like constructs. That's often considered the more economical choice for domain-specific and custom applications. You can't reboot the human race.
Table-ized A.I.
Oracle seeks ownership of all ponies
Requiem for the American Dream
Why? Because Larry Ellison is not a greedy and corrupt enough of a pig right now. He is trying to become a greedier pig. I say we all dump Java and kick it to the curb.
Paul E. Bahre
Go Lang.
In my printed copy of the Lions Commentary on the kernel for the 6th edition of the UNIX operating system, prominent notices of AT&T copyright are near the title pages. In the PDF online, I see "Circulation of this document is restricted to holders of a license for the UNIX software system from Western Electric."
If an API is subject to copyright, then fork(), wait(), open(), and the rest of the happy family of UNIX system calls is thus owned by Bell Labs -> Lucent -> Alcatel -> Nokia.
Nokia has the power to demand 10x Oracle's judgement if this stands.
Once Google bought the start up and saw the "crap" that was the OS.... why would they choose to continue on that path instead of scrapping it for something better?
Isn't that what Chrome OS was supposed to be?
You are the one spreading misinformation. Android programs may be mostly source-compatible with Java, but the compiled programs are absolutely NOT. You cannot take a program from Android and run it in any JVM. You cannot take any Java classes and run them on Android without using a compiler to recompile them (just like source gets compiled). The fact that the source is similar does not make them result in the same executables.
People like you are the problem. Do you also think C and C++ are the same language? I thought that too, until I went to college and learned how languages work. You cannot run Dalvik/ART code on a JVM any more than you can link a C program against a C++ library.
I actually happen to be taking a Java course right now and this news - well it makes me not really want to take Java seriously as a language from now on nor basically want to use anything associated with Oracle, Inc..
One of my main motivations for taking the course was to be able to study Android programming later. I would like to ask you guys a question: Outside of Java, is there any other route to Android programming? My understanding is that Java and Android are inexorably intertwined. I also use custom ROMs and know that when you hear that a ROM is "deodexed" that it means the Java byte code has not been compiled for the apps. It seems like Java pretty much = Android.
Or is there some other way to do Android without Java?
What would make more sense is to say: the company uses Hadoop for large scale data processing. And use MySQL on that same data for querying. Which I doubt.
That MySQL can use Hadoop, raises the question: for what?
As a block storage like a file in a file system? Or is there some mapping between 'datatypes' stored in Hadoop to MySQL types?
I assume they use Hadoop only as an infinite block device for MySQL.
But thanx for explaining no brainers ;)
Anyway I will research that next WE as it is an interesting topic.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
I'm sort of rusty on C++, and I'd forgotten that reference parameters could be output parameters. But if those reference parameters are arrays, then you still don't know that pointer manipulation isn't going on.
I can accept that C++11 makes explicit use of pointers usually unnecessary. (I don't know it's true, but I can accept it.) But the implementation of arrays is such that you can't prove that implicit manipulation of pointers by the user isn't happening if you have arrays. C++ has many features that could be used to eliminate pointer problems, but it's inheritance from prior versions means that you can't know what's happening.
P.S.: In every case a global analysis could certainly show whether dubious practices were happening, so I'm talking about local analysis, where you can't know whether an input integer is or is not a pointer, and you can't know how an output integer is going to be used. This is a problem of "strict typing" or some such, which many languages allow, and some languages allow in all except a few specially marked routines.
I think we've pushed this "anyone can grow up to be president" thing too far.
That was a reasonable argument in the old days, but these days compiler optimizers are, or should be, better than any except a very few programmers who have made a study of system dependent microcode. And that kind of stuff is better handled in assembler, since it's not portable across CPU versions anyway.
I'm not pretending pointers are bad, I'm stating that pointers are senselessly dangerous, and there are better ways. Of course, if the code you're writing is only a page or two long, this isn't a good argument. If you're writing very much code and you depend on yourself never having a fencepost error, or failing to free memory, then I consider that you're in the wrong job. Everyone makes mistakes, and tools that prevent or catch those mistakes are extremely desirable. C and C++ are notorious for memory leaks, array bounds overruns, and many other classes of error that can be automatically prevented with proper language design.
That said, there are cases where C is the appropriate language. (I'm not certain about C++.) Sometimes a sharp knife is the best tool...but it's still dangerous.
I think we've pushed this "anyone can grow up to be president" thing too far.
The SQL front end used by Facebook that uses Hadoop is Presto.
I brought up MySQL as a comparison to explain it since you'd be more likely to have some familiarity with MySQL storage engines.
> he company uses Hadoop for large scale data processing.
> And use MySQL on that same data for querying. Which I doubt.
I'm not sure where they're currently using MYsql - they used to use it for everything. They use Presto SQL for ad-hoc and lower-concurrency queries over petabytes of data. As an example, suppose they want to know what percentage of users have read, but not posted, in the last 7 days, or the median number of photos posted by people with more than 50 friends. Those types of queries are a good match to be expressed relationally, in SQL. On the other hand, "get the user's profile picture " is a very simple operation run tens of millions of times per day. That's a good candidate to optimize by taking the one-time expense of coding direct access, skipping any flexible query engine.
> That MySQL can use Hadoop, raises the question: for what?
As a block storage like a file in a file system? Or is there some mapping between 'datatypes' stored in Hadoop to MySQL types?
MySQL (and Presto) use it somewhere in between a dumb block device and a the strongly-typed datum that the SQL side uses (which may have triggers, domains, etc attached). Typically, the backend provides primarily a key-value store (storing rows), and often indexing. So the storage engine stores rows, rather than bytes (simple) or complex types like datetime and ip_address . That's the typical primary job of the storage engine - MySQL can use very dumb storage engines and very smart storage engines.
But if those reference parameters are arrays, then you still don't know that pointer manipulation isn't going on.
There's little reason to use raw pointers for awways though. Mostly it would be a std::vector passed by reference. There's some pointer manipulaton going on internally, but in user code there isn't any.
But the implementation of arrays is such that you can't prove that implicit manipulation of pointers by the user isn't happening if you have arrays.
Indeed, implicit pointer manipulation is certainly happening. That's how std::vector works internally. However, one can put a lot of effort into engineering the library to be bug-free, so that mitigates it a lot.
C++ has many features that could be used to eliminate pointer problems, but it's inheritance from prior versions means that you can't know what's happening.
Yep. Blessing and a curse, that one is.
where you can't know whether an input integer is or is not a pointer,
How so? Integers and pointers are separate types. It's possible to cast one to the other, but you have to be pretty explicit about it.
SJW n. One who posts facts.
While I learned a lot in the past 15 years of my career, I'm at a point now where I want nothing to do with Oracle.
Their support is one of the worst ones around. Tickets average around 3-4+ weeks and multiple escalations before they respond. Every newer version of their app takes that much longer to install. Want ODI and OBIEE, there are two Weblogics for that. Oh and patching now takes that much more to do. Wish Oracle could just provide an auto update where we can select the update and not have to fuck around with env variables (and that's if you don't need to specify another version of the JDK).
I dislike Java and want it to go the way of Flash. It is slow on just about every browser that I have used since 2000. Apps are written on version of it and then you have issues with it if you are on a newer version.
Next job that I look for will have nothing to deal with Oracle products (at least that I will be responsible for).
Re: How so? Integers and pointers are separate types. It's possible to cast one to the other, but you have to be pretty explicit about it.
That's true for a global analysis, but in a local analysis you don't know that the integer passed in isn't really a pointer or that the integer passed out won't be used as a pointer.
I think we've pushed this "anyone can grow up to be president" thing too far.
Google is NOT selling Android;
Casteism