15-20 years ago Oracle was №1 in database-related technologies and everyone knew it. For that time they had almost perfect solutions for most database-related problems on market. But market is changing. Today they stuck with their good solutions for outdated problems and their solutions doesn't solve modern problems well.
So here is my short list of modern database-related problems, for which I think Oracle is not best at:
- files/data storage (today there are better non-database solutions for that, 15-20 years ago it was a good practice to store files in database),
- full-text search (10-15 years ago substring search was enough, today we want complex search criterions),
- consistency across data centers,
- key-value cache (today we want almost instantaneous cache answers),
- OLAP (there are faster solutions on market).
15-20 years ago Oracle was one and only one solution for almost all database-related business problems. Today for many modern problems there are better solutions than Oracle.
Competitors like DB2 and Sybase seem to have utterly faded away, so it's surpising that Oracle's still a factor at all.
Is there anything that Oracle still does that nobody else can match?
For example, consider partitioning. Oracle has had seamless predicate-based table partitioning for about 20 years now. Postgres is getting there, but is still lagging behind. With Oracle you just tell it to partition by some expression(s) and off you go.
Then there are things like multi-master replication, bitmap indexing and other nice features. Oracle is also extremely fast. The underlying table storage is very pragmatic, with a hybrid MVCC system that has both an undo and a redo log. Tables are written in-place, and transaction contention is handled by linked lists of records to the undo log, so getting an older copy of a row is still almost as cheap as Postgres.
Of course, it's beaten in some areas. It's not great a full text search, I believe. Compared to Oracle, Postgres' transactional DDL is positively magical. With Oracle and nearly every other database out there, things like "drop table" can't run inside a transaction.
I would never want to work with Oracle, but I can't deny that it's got some great features.
(Disclosure: I work for Google)
Selling to enterprise.
I really need to get an understanding of the issues the Orcale team faces one day but they tend to look down on us and the pc groups
A bit of a shower thought, I have no evidence for this.
Oracle: we make the stuff that other people make you use.
Other candidates include (but not limited to)
- Atlasian - Microsoft - Adobe
Along with the branding confusion, the formally very approachable and discoverable MSDN documentation for the class library has become a near useless clusterfuck. They've deprecated made.microsoft.com/library/ (at least for .Net) but don't mention it on the site!
I agree that it's confusing at first, but when you step back and look at why Microsoft went down this path, it starts to make a lot of sense.
When .NET was launched in 2002, it was a closed-source, Windows only development framework.
Microsoft was a very different company back then, and Windows was its gravy train. If you were a developer inside the Windows ecosystem, you were showered with (closed-source) love. If you were outside? Well, fuck you, Microsoft will crush you. Everything was oriented towards getting retail/enterprise consumers to buy Windows (and Office etc).
The 180 degree flip to embrace open source is a very recent development. Microsoft realized that desktop OS's were less and less relevant commercially, and that the future was in cloud services.
I haven't looked at the figures, but I assume it's a lot more lucrative to lock in tens of thousands of dollars per month in cloud subscription/support fees than selling Windows direct to consumers.
So with this reorientation, Microsoft needs a strategy to capture the cloud services market (and keep in mind that this is 5-10 years after AWS has been running the shop).
The solution? Open source .NET to accelerate its adoption and entice developers towards Azure.
First, Microsoft won't care if you use their implementation of .NET or Mono - as long as you're using it on Azure, you're fine. Hence .NET Standard - literally, an open-source standard that anyone can code against, and know that their stuff will just run, no matter which implementation is used under the hood.
Second, Microsoft then release their own implementation of this standard - .NET Core.
Third, we come to .NET Framework. For most entrants to the ecosystem, you can consider this to be legacy. This is the evolution of the original (2002) closed-source approach to .NET, and is only sticking around due to Microsoft's long-term commitment to its software releases.
Again, I agree that none of this is clear when you're new to .NET. It makes a lot more sense when you realize the naming evolved from Microsoft shoehorning a legacy platform into a fundamentally new, open-source/SaaS subscription strategy.
* Visual Studio is the best IDE, bar none. It's a pleasure to use and Microsoft keeps it up to date so it's usually bug free for normal use. I don't even know what its serious competitors are. Eclipse? VIM? Forgive me for not knowing. :)
* C# is the best OO programming language (if you don't need the raw speed of C++ or, I guess, Rust). Java is a disappointing mess controlled by, yes, Oracle. Python and other dynamically typed languages are fine for scripting, but not for developing complex professional software.
* F# is the best functional programming language for getting stuff done. In fact, it's the best language for getting stuff done, period. Haskell is amazing for its mathematical purity, and I've learned so much about FP and category theory from the Haskell community, but F# gives you immediate access to the zillions of packages created for the .NET ecosystem and is totally compatible with C#. You can also use F# for imperative OO programming when you need to (which is almost never).
* SQL Server is the best RDBMS. Oracle is painful. The open source databases (PostgreSQL, MySQL, etc.) have come a long way, but still don't have SQL Server's combination of power and ease of use. NoSQL databases are interesting, but seriously lacking in important features. I've yet to come across a use case where I would actually want to use one. (Special demerit to MongoDB for using JSON as a query language. Good lord.)
* Windows is fine. It's not Unix/Linux, but it lacks for nothing.
If I had the time to investigate other ecosystems, I'd like to pick up Rust and Haskell. I'm afraid that Python and JavaScript will eat the entire world, before then, though. :)
All of the above is massively IMHO, obviously.
I don’t know how bug-free VS is now, but VS 2005 and 2008 were buggy in problematic ways. Support was friendly, but the bugs didn’t get fixed quickly. IntelliType (for C++) was nifty bug extremely buggy. Switching to emacs was a major step back in usability, but it was enormously faster and it tended to just work.
C# has a top notch compiler. Sadly, MS’s C++ compiler was, and mostly still is, pretty bad.
Getting off of Windows was a big win. Managing a Linux machine is much nicer, and, when something doesn’t work, you have a better chance of figuring out why.
I have no experience with SQL Server. MySQL and PostgreSQL both sucked back then.
If we were starting from scratch, Rust would be a credible contender.
That said, the number of commercial applications developed in Haskell is very small, because, I think, it doesn't integrate as well into the larger ecosystems around it. It seems like it's a beautiful island all by itself.
Hopefully, FP will take over the world soon and Haskell and F# will both be at the top of the charts! :)
Given trends, I don't expect to see any exponential growth though.
I know there are some free tools, but for me nothing out there compares to Adobe Lightroom.
IMO, none of those companies are in the same ballpark as Oracle.
https://insights.stackoverflow.com/survey/2018/#most-loved-d...
It's pretty clear that MSSQL is seen rather differently from DB2 and Oracle (which are #1 and #2 on the "most dreaded" list, respectively).
I think it’s pretty clear that the people with the best opinions on SO are vastly outnumbered by people with unqualified opinions. Surely something like Simpson’s law can be applied here. Like - of the people with n amount of accepted answers for any given tag - what is their opinion on something related to that tag?
I personally can’t be bothered with these kinds of questions, but I remember that back in my early days, I was something of a zealot when it came to things I knew vs things I didn’t. I cut my teeth on PHP, MySQL and Flash/Actionscript. Had you asked me back then how I rated those things, I’d have given them 10/10, despite having nothing to compare them to.
"% of developers who are developing with the language or technology but have not expressed interest in continuing to do so"
No developer (or not a lot) would knowingly choose Salesforce as a tool, yet all these folks are at the conference because the employer paid them to go.
With Oracle, though, I think it really is a lack of technical positioning rather than any "devs hate them" sentiment that is a real existential risk to them long term. Lots of senior execs realize that Oracle's cloud technology is a joke, and more importantly their crazy licensing model makes it a major PITA to run Oracle DBs in any other cloud, and perhaps even more importantly that a lot of changes in dev architecture are making the huge, powerful, monolithic database less critical than it once was. Sure, there are lots of legacy mission critical apps that live and will live on Oracle for a long time, but executive leadership at many companies is now starting to see this (appropriately IMO) as a competitive disadvantage, and they will make choices to try to extricate themselves from Oracle as much as possible.
where he's chatting about some of his customers hating Oracle and wanting to get off, specifically Amazon and SAP. But he says they don't because the Oracle database is better and the other systems don't work properly.
It’s like a Fortune 500 company being based on selling the bash shell and tools for using bash.
Open source for infrastructure level software has historically been wildly successful.
When I got to the event it was MASSIVE. I think they have something like 30k+ attendees.
As I was walking around, hanging out, and attending talks, I decided to make friends and chat up other people. This is where things got interesting.
Through the 2 days I was at the event, I probably met nearly 100 developers, and when I asked all of them what they use Oracle for EVERY SINGLE ONE OF THEM openly told me that their companies use Oracle right now but they hate it and they were all in the process of transitioning to other providers or open source solutions.
Every single person I met at Code One told me the exact same thing.
That is pretty insane and I don't think it bodes well for Oracle that all of their customers are trying to find ways to get out of their ecosystem :x