My understanding is that the authors of the "Reactive Manifesto" are all Typesafe guys (i.e. the commercial entity behind the Scala programming language, and the Akka framework that drives Scala's concurrency model). The only people who I ever see tweeting about this are Typesafe guys. The only people who I ever see blogging about it are Typesafe guys. The interview here is with a Typesafe guy. The Coursera class on "Reactive Programming" is taught by a Typesafe guy, using Scala. The only time I've ever heard anything about this mentioned in person was by someone at a Scala meetup.
I'm not trying to bash Scala. I was really excited when it first came out, and tried to introduce it at my last job. The combination of its learning curve, its breaking changes between versions, and the upcoming Java 8 all pretty much doomed its adoption at that shop... but it's still a neat language nevertheless.
However, the "Reactive" thing just seems like the guys behind a particular programming language publishing a "manifesto" of best practices, which exactly fits the way their particular programming language is designed. I don't know... that just seems to me like an astroturf effort to coin a new buzzword, so that your vested interest can be a leader in the space of that new buzzword. Is there any real energy around this which ISN'T coming from the professional Scala community? Do we really need a new buzzword (or "manifesto"!) to describe the longstanding concept of "message-based and event-driven"?
It seems like most of the comments here are from people who haven't connected the dots between this "manifesto" and Typesafe. A lot of people haven't read any of this stuff at all, and think that it's meant to be a methodology, as with the "Agile Manifesto" (no doubt the marketing inspiration for the name). Others have at least skimmed it, and don't see anything new with "message-based and event-driven". I believe that what's new is an effort to replace "message-based and event-driven" with a different buzzword, for which Typesafe's website already has great SEO.
For me, the one advantage MySQL (and MariaDB, and even Apache Derby!) have over PostgreSQL is that there are versions that can be run stand-alone "out of the box" as a non-root user. PostgreSQL (AFAIK) needs to be installed, and needs to be installed as root (and you need to create a postgres user, etc.).
There is a reason why no one bothers to make an XAMPP-style "portable" version of PostgrSQL, as they have with MySQL. The reason is that this is dead-simple to accomplish even with the out-of-the-box binaries available on the PostgreSQL site.
On the PostgreSQL download page, you would download the "zip archive of the binaries", rather than the one-click installer. Unzip the archive's contents wherever you like (including on a USB thumb drive), and then refer to this 3-paragraph PostgreSQL article. It tells you to create a BAT file in your base PostgreSQL directory, cut-n-pasting these contents:
@ECHO ON
REM The script sets environment variables helpful for PostgreSQL
@SET PATH="%~dp0\bin";%PATH%
@SET PGDATA=%~dp0\data
@SET PGDATABASE=postgres
@SET PGUSER=postgres
@SET PGPORT=5439
@SET PGLOCALEDIR=%~dp0\share\locale REM "%~dp0\bin\initdb" -U postgres -A trust
"%~dp0\bin\pg_ctl" -D "%~dp0/data" -l logfile start
ECHO "Click enter to stop"
pause
"%~dp0\bin\pg_ctl" -D "%~dp0/data" stop
The very first time you run this script, you comment-out the bold-face "REM" line... which will initialize a fresh PostgreSQL environment, with admin user "postgres" having a blank password. Then put the "REM" comment back on that line, and you have a complete portable PostgreSQL environment that can be moved from directory to directory and machine to machine.
This information is obviously Windows-centric... but the whole "portable" concept (in the USB thumb drive sense) is Windows-centric in the first place. If you're on Ubuntu, just "sudo apt-get postgres" and then remove it when you're done tinkering! By the way, you don't need administrator privileges to use the one-click installer on Windows.
A lot of the discussion that I'm seeing in this thread has more to do with phpMyAdmin vs. pgAdminIII than with MySQL vs. PostgreSQL themselves. To be perfectly frank, if one's biggest concern is what the admin or SQL workbench tool look like... then it doesn't really matter which of these two databases you use. You'll be fine either way.
The real consideration is whether you need (or would like to explore and learn about) the more "enterprise"-y features offered in PostgreSQL. If you're interested in more enterprise-level functionality, then PostgreSQL is by far the best free game in town. If you're not really interested in that stuff, then you might as well build around MySQL since it's more commonly offered by web hosts and cloud providers.
By "enterprise"-y, I'm talking about the concept of assuming that more than one application might eventually be using your database (and that the applications might be based on more than one language or technology stack). If you are only using your database through one application, and letting its ORM framework (Java JPA, Ruby Rails, PHP Doctrine, Python SQLAlchemy, etc) be responsible for enforcing all the persistence rules and business logic, then it doesn't make much difference to you as an application developer which database lies behind the framework.
However, let's say that you have a Rails web application writing to your database on the front-end, and a Java application working with it on the back-end. Maybe you even have some Python or Perl scripts kicked off by a nightly cron job, which build reports based on the data. To give a very trivial example, let's say that one of your table columns holds "customer type", and must be one of 7
Yeah, the results aren't pretty! The result is said to be a novella, but is actually just a weak sociology essay disguised as a story. You keep waiting for the plot or character development to start, and suddenly you reach the end and realize... there was no plot or character development!
If you haven't read Manna, then picture Ayn Rand's Atlas Shrugged. Switch John Galt's speech near the end of the book, so that it says pretty much the opposite message. Then keep the first chapter of the book, and the Galt speech at the end, and throw away the thousand pages in between where anything happens. You're pretty much left with Manna.
Don't get me wrong, I think Ayn Rand was a pretty weak philosopher too. She wrapped her ideas into controlled storytelling illustrations because she couldn't argue effectively for them otherwise. However, at least she did bother with the "storytelling" part!
... why not actually, you know, involve your wife in your family's finances while you are still alive?!?
Don't get me wrong, I believe that a healthy relationship includes privacy. I wouldn't share my personal email password with my spouse, etc.
However, your 401k and mortgage? That stuff involves marital property... why doesn't she already know where the accounts are and how to access them? Of course this is Slashdot, so I could make a ton of jokes about male and female relationships (do you really have a wife?). Regardless, it just strikes me as bizarre that someone's spouse would have no idea how to check the family's mortgage and retirement accounts. Even if you could ensure that she had the usernames and passwords after your death, do you really want her having to figure it all out from square one under those circumstances?
Of course, you also have to provide for the scenario of you and your wife dying at the same time (e.g. car accident). This is why you should have a will drafted, and an executor who knows where the accounts are. Usernames and passwords are pretty moot in that case anyway, the executor will need a death certificate to start the legal process.
I've been in software development for about 20 years, and it occurs to me that I've seen the "fat-to-thin-to-fat" cycle of hype run its course at least twice now. Predicting "The End of Fat Clients" (or thin clients for that matter) is like looking at a clock, seeing that it reads 6:00, and then declaring the death of noon.
Media in general likes a story to have "conflict" (even when it doesn't), and Slashdot these days is far worse than most. However, half the conflicts you read about here are entirely made-up. Of the three articles linked in this summary, not a single one quotes a single opponent or critic. It's just something that "Unknown Lamer" tacked on at the end, because the Slashdot-format would incomplete without something like that.
I can't really blame Slashdot, though. Reading this silly comment above (and, sadly, watching myself type a response)... there are plenty of people who take bait.
Dell, in its "infinite wisdom", have been providing both of these restore options for years now on a separate recovery partition. I am only personally familiar with Dell's, but I'm sure that other makers offer something similar. I still prefer a physical CD/DVD rather than a recovery partition approach... but other than that, I haven't heard much complaining over the past few years about this kind of functionality.
Microsoft takes an established third-party utility, and bundles something similar within Windows itself (as they do with practically every release)... and NOW this is suddenly a horrible idea and everyone is full of complaints? Hey, I'm hardly a Microsoft fanboy, but this is just childish. Where have the posts and the complaints about Dell been for the past few years?
Perhaps I should have explicitly told you to piss off, and that you're being a ridiculous goober. Sorry for also failing to make that message obvious in context.
Perhaps I should have explicitly said "blowhards" rather than "political-minded people" in the opening sentence, but I was trying to start off on a polite note!:)
Either way... I was speaking about two opposite extremes. It seemed pretty clear that my perspective was somewhere in between the two (along with yours, and probably the majority).
About half the politically-minded people I run across in IT are hardcore Ron Paul types, and the other half are Karl Marx types. Both of those groups are annoying in different ways, and tend to ruin any conversation that they barge into.
However, I do have to say... at least the Ron Paul types are often competent and good at their jobs. I have NEVER, during 15 years in the field, EVER encountered a competent IT professional who dreamed of being in a union. Union culture is pretty much the antithesis of what makes a good engineer tick. I clicked on and briefly skimmed your profile, and could not help but notice that not a single one of your comments over recent months has anything to do with technology or IT work.
Even in a normal market, tons of hiring managers don't understand enough to separate the wheat from the chaff anyway. In an overheated market, when hiring managers have to take what they can get if they want to fill a position at all... it is STUNNINGLY easy for workers with zero aptitude to jump in.
Apparently there is a hardcore minority who differentiates "programming" from "IT"... just as the Stallman crowd believes it to be of vital political importance that we call it "GNU/Linux" rather than just "Linux". However, just as the overwhelming majority of people know the OS as "Linux", so to do most people lump all computer-related jobs under the "IT" umbrella.
As a "developer", I consider my career and skillset to be totally different from an "admin" or someone in "ops"... or even "maintence developers" who look after the legacy apps rather than design new applications. However, the CEO refers to all of us as "IT". We all go to "IT" job search sites to post our resumes. Other than a minority of assholes who see admins as beneath them... most everyone refers to all of us as "IT". I'm cool with that.
It's days like this that I miss the fine editing that CmdrTaco used to provide.
I kept my snark to myself during the CmdrTaco farewell love-fest last week, because it seemed a bit "too soon" for that. However, I gotta ask... what in the world are you guys talking about?!? No one's been putting "fine editing" on anything for years now. Headlines were misleading and sensationalized to draw eyeballs last month, and they still will be next month.
That is Slashdot. Most of us who love it, do so for its amazing comment community rather than its borderline whore-ish editors. If you want to mourn CmdrTaco's departure, you're a bit late... the departure really happened back when Slashdot was first sold off to a corporate interest back in the day.
Unless the Calibre developer invests tens of thousands (or more) and a few years of his life, all into suing a company that is probably one guy working out of his apartment anyway, then this is just some online whining.
The GPL is not a magical hall monitor shield, which forces people to show you their hall pass when you wave it. Rather, it simply gives you the right to sue if you have the resources to pursue that road. In this case, I don't know if the Calibre guy has those resources, or if the Hamster guy has enough resources to be worth suing anyway.
The whole Java *or* Python discussion is irrelevant. You can use Jython, and take advantage of all the Python and Java libraries.
Did you not read a word that this guy wrote, or did you simply not understand any of his points?
The weaknesses that he pointed out did not deal with Python "lacking access to Java libraries". The weaknesses that were pointed out included Python's lack of compile-time type-checking, lack of real publication and enforcement of API contracts, and lack of lexical scope.
Jython addresses none of that. It does not magically transform Python from a hacky Perl-successor into a language broadly suitable for large scale enterprise development. It's just a library that lets you run your same old hacky scripts on a JVM.
You are wrong about the frameworks not being as powerful as Oracle etc, but I don't blame you since it takes a long time to become familar with a large framework. I would also not have time to learn eg. any big Java framework, so I'm in the same boat.
I'm not trying to be a jerk, but I'm not sure you have a basis for comparison. "Oracle" is not a Java framework, it's just the company that acquired the Java trademarks from Sun. I guess they own the trademark for JEE too... but that's not really a "framework", and its direction isn't so much identified with Oracle. Java web frameworks would include things like Spring (used by most shops these days), Seam, Struts, Wicket, etc.
Anyway, I have written apps in "dynamic language" frameworks... including Rails, Django (sorta), Symfony, CakePHP, and node.js. It's just not the same. It's like comparing a car to a space shuttle.
That said, I don't mean that these frameworks are inherently "inferior" to Java frameworks. I'm just saying that they are different tools for different jobs. If you're building a site that isn't heavily dynamic on in the back-end yet needs to integrate easily with front-end AJAX, and you don't want to recruit and pay more for developers with experience in commerce or large enterprise systems... then it might be silly to insist on a full Spring stack. At the same time, if you're a large institution, writing an app through which business will be conducted or money changing hands... then you probably don't want a dynamic language framework, because the framework and its developer talent pool are not as accustomed to dealing with the challenges that your project will face.
When we're used to swinging a hammer, everything starts to look like a nail... but the reality is that there is plenty of room for both a hammer and a screwdriver in the toolbox.
Let me stop you at, "You'd need to add an ID column...".
In a large enterprise shop, changing the schema for an established legacy database generally is not an option. There are usually dozens of live production applications tied into the existing schema, and management would never sign off on introducing needless risk for all of those.
Even if you did get approval to move forward, you would need to time and QA resources to fully regression test all of those apps (assuming you identified them all and didn't miss any odd stragglers). Many of those apps would inevitably need modification, because they were coded by offshore or junior-level devs with sloppy practices (e.g. raw SQL that uses column position numbers rather than column names).
For even a mid-size company, "adding an ID column" might take several months and a few hundred thousand dollars. You don't do that. You might try a workaround of creating custom database views just for the new app, mimicking the schema that your framework needs. Better yet, you just search for a more powerful ORM framework (perhaps this SQLAlchemy package?). Most likely of all, you simply use Java in the first place... because its leading frameworks are built by people who are used to working in these environments and dealing with such considerations.
"I'm Feeling Unlucky"
My understanding is that the authors of the "Reactive Manifesto" are all Typesafe guys (i.e. the commercial entity behind the Scala programming language, and the Akka framework that drives Scala's concurrency model). The only people who I ever see tweeting about this are Typesafe guys. The only people who I ever see blogging about it are Typesafe guys. The interview here is with a Typesafe guy. The Coursera class on "Reactive Programming" is taught by a Typesafe guy, using Scala. The only time I've ever heard anything about this mentioned in person was by someone at a Scala meetup.
I'm not trying to bash Scala. I was really excited when it first came out, and tried to introduce it at my last job. The combination of its learning curve, its breaking changes between versions, and the upcoming Java 8 all pretty much doomed its adoption at that shop... but it's still a neat language nevertheless.
However, the "Reactive" thing just seems like the guys behind a particular programming language publishing a "manifesto" of best practices, which exactly fits the way their particular programming language is designed. I don't know... that just seems to me like an astroturf effort to coin a new buzzword, so that your vested interest can be a leader in the space of that new buzzword. Is there any real energy around this which ISN'T coming from the professional Scala community? Do we really need a new buzzword (or "manifesto"!) to describe the longstanding concept of "message-based and event-driven"?
It seems like most of the comments here are from people who haven't connected the dots between this "manifesto" and Typesafe. A lot of people haven't read any of this stuff at all, and think that it's meant to be a methodology , as with the "Agile Manifesto" (no doubt the marketing inspiration for the name). Others have at least skimmed it, and don't see anything new with "message-based and event-driven". I believe that what's new is an effort to replace "message-based and event-driven" with a different buzzword, for which Typesafe's website already has great SEO.
Python is a "functional language", a la Scala or Haskell? Not even its creator believes that...
http://python-history.blogspot.com/2009/04/origins-of-pythons-functional-features.html
http://www.postgresql.org/docs/9.1/static/high-availability.html
For me, the one advantage MySQL (and MariaDB, and even Apache Derby!) have over PostgreSQL is that there are versions that can be run stand-alone "out of the box" as a non-root user. PostgreSQL (AFAIK) needs to be installed, and needs to be installed as root (and you need to create a postgres user, etc.).
There is a reason why no one bothers to make an XAMPP-style "portable" version of PostgrSQL, as they have with MySQL. The reason is that this is dead-simple to accomplish even with the out-of-the-box binaries available on the PostgreSQL site.
On the PostgreSQL download page, you would download the "zip archive of the binaries", rather than the one-click installer. Unzip the archive's contents wherever you like (including on a USB thumb drive), and then refer to this 3-paragraph PostgreSQL article. It tells you to create a BAT file in your base PostgreSQL directory, cut-n-pasting these contents:
@ECHO ON
REM The script sets environment variables helpful for PostgreSQL
@SET PATH="%~dp0\bin";%PATH%
@SET PGDATA=%~dp0\data
@SET PGDATABASE=postgres
@SET PGUSER=postgres
@SET PGPORT=5439
@SET PGLOCALEDIR=%~dp0\share\locale
REM "%~dp0\bin\initdb" -U postgres -A trust
"%~dp0\bin\pg_ctl" -D "%~dp0/data" -l logfile start
ECHO "Click enter to stop"
pause
"%~dp0\bin\pg_ctl" -D "%~dp0/data" stop
The very first time you run this script, you comment-out the bold-face "REM" line... which will initialize a fresh PostgreSQL environment, with admin user "postgres" having a blank password. Then put the "REM" comment back on that line, and you have a complete portable PostgreSQL environment that can be moved from directory to directory and machine to machine.
This information is obviously Windows-centric... but the whole "portable" concept (in the USB thumb drive sense) is Windows-centric in the first place. If you're on Ubuntu, just "sudo apt-get postgres" and then remove it when you're done tinkering! By the way, you don't need administrator privileges to use the one-click installer on Windows.
A lot of the discussion that I'm seeing in this thread has more to do with phpMyAdmin vs. pgAdminIII than with MySQL vs. PostgreSQL themselves. To be perfectly frank, if one's biggest concern is what the admin or SQL workbench tool look like... then it doesn't really matter which of these two databases you use. You'll be fine either way.
The real consideration is whether you need (or would like to explore and learn about) the more "enterprise"-y features offered in PostgreSQL. If you're interested in more enterprise-level functionality, then PostgreSQL is by far the best free game in town. If you're not really interested in that stuff, then you might as well build around MySQL since it's more commonly offered by web hosts and cloud providers.
By "enterprise"-y, I'm talking about the concept of assuming that more than one application might eventually be using your database (and that the applications might be based on more than one language or technology stack). If you are only using your database through one application, and letting its ORM framework (Java JPA, Ruby Rails, PHP Doctrine, Python SQLAlchemy, etc) be responsible for enforcing all the persistence rules and business logic, then it doesn't make much difference to you as an application developer which database lies behind the framework.
However, let's say that you have a Rails web application writing to your database on the front-end, and a Java application working with it on the back-end. Maybe you even have some Python or Perl scripts kicked off by a nightly cron job, which build reports based on the data. To give a very trivial example, let's say that one of your table columns holds "customer type", and must be one of 7
Yeah, the results aren't pretty! The result is said to be a novella, but is actually just a weak sociology essay disguised as a story. You keep waiting for the plot or character development to start, and suddenly you reach the end and realize... there was no plot or character development!
If you haven't read Manna, then picture Ayn Rand's Atlas Shrugged. Switch John Galt's speech near the end of the book, so that it says pretty much the opposite message. Then keep the first chapter of the book, and the Galt speech at the end, and throw away the thousand pages in between where anything happens. You're pretty much left with Manna.
Don't get me wrong, I think Ayn Rand was a pretty weak philosopher too. She wrapped her ideas into controlled storytelling illustrations because she couldn't argue effectively for them otherwise. However, at least she did bother with the "storytelling" part!
... why not actually, you know, involve your wife in your family's finances while you are still alive?!?
Don't get me wrong, I believe that a healthy relationship includes privacy. I wouldn't share my personal email password with my spouse, etc.
However, your 401k and mortgage? That stuff involves marital property... why doesn't she already know where the accounts are and how to access them? Of course this is Slashdot, so I could make a ton of jokes about male and female relationships (do you really have a wife?). Regardless, it just strikes me as bizarre that someone's spouse would have no idea how to check the family's mortgage and retirement accounts. Even if you could ensure that she had the usernames and passwords after your death, do you really want her having to figure it all out from square one under those circumstances?
Of course, you also have to provide for the scenario of you and your wife dying at the same time (e.g. car accident). This is why you should have a will drafted, and an executor who knows where the accounts are. Usernames and passwords are pretty moot in that case anyway, the executor will need a death certificate to start the legal process.
I've been in software development for about 20 years, and it occurs to me that I've seen the "fat-to-thin-to-fat" cycle of hype run its course at least twice now. Predicting "The End of Fat Clients" (or thin clients for that matter) is like looking at a clock, seeing that it reads 6:00, and then declaring the death of noon.
Should MongoDB people be worried?
... or are you just hanging your hat on the word "robo" as an excuse for starting another generic my-party-is-better-than-your-party flamewar?
Media in general likes a story to have "conflict" (even when it doesn't), and Slashdot these days is far worse than most. However, half the conflicts you read about here are entirely made-up. Of the three articles linked in this summary, not a single one quotes a single opponent or critic. It's just something that "Unknown Lamer" tacked on at the end, because the Slashdot-format would incomplete without something like that.
I can't really blame Slashdot, though. Reading this silly comment above (and, sadly, watching myself type a response)... there are plenty of people who take bait.
... and yet attracts awful jokes and puns with equal force.
Wow, someone in 2012 used the word "literally" in a correct manner. My brain literally just exploded!
Dell, in its "infinite wisdom", have been providing both of these restore options for years now on a separate recovery partition. I am only personally familiar with Dell's, but I'm sure that other makers offer something similar. I still prefer a physical CD/DVD rather than a recovery partition approach... but other than that, I haven't heard much complaining over the past few years about this kind of functionality.
Microsoft takes an established third-party utility, and bundles something similar within Windows itself (as they do with practically every release)... and NOW this is suddenly a horrible idea and everyone is full of complaints? Hey, I'm hardly a Microsoft fanboy, but this is just childish. Where have the posts and the complaints about Dell been for the past few years?
Perhaps I should have explicitly told you to piss off, and that you're being a ridiculous goober. Sorry for also failing to make that message obvious in context.
Perhaps I should have explicitly said "blowhards" rather than "political-minded people" in the opening sentence, but I was trying to start off on a polite note! :)
Either way... I was speaking about two opposite extremes. It seemed pretty clear that my perspective was somewhere in between the two (along with yours, and probably the majority).
About half the politically-minded people I run across in IT are hardcore Ron Paul types, and the other half are Karl Marx types. Both of those groups are annoying in different ways, and tend to ruin any conversation that they barge into.
However, I do have to say... at least the Ron Paul types are often competent and good at their jobs. I have NEVER , during 15 years in the field, EVER encountered a competent IT professional who dreamed of being in a union. Union culture is pretty much the antithesis of what makes a good engineer tick. I clicked on and briefly skimmed your profile, and could not help but notice that not a single one of your comments over recent months has anything to do with technology or IT work.
Umm... were you around during the 1990's?
Even in a normal market, tons of hiring managers don't understand enough to separate the wheat from the chaff anyway. In an overheated market, when hiring managers have to take what they can get if they want to fill a position at all... it is STUNNINGLY easy for workers with zero aptitude to jump in.
Apparently there is a hardcore minority who differentiates "programming" from "IT"... just as the Stallman crowd believes it to be of vital political importance that we call it "GNU/Linux" rather than just "Linux". However, just as the overwhelming majority of people know the OS as "Linux", so to do most people lump all computer-related jobs under the "IT" umbrella.
As a "developer", I consider my career and skillset to be totally different from an "admin" or someone in "ops"... or even "maintence developers" who look after the legacy apps rather than design new applications. However, the CEO refers to all of us as "IT". We all go to "IT" job search sites to post our resumes. Other than a minority of assholes who see admins as beneath them... most everyone refers to all of us as "IT". I'm cool with that.
Last time I checked Stella Artois was a Belgian brand.
Yes... but why stand in the way of this kid's bizarre (and entertaining) self-hatred?
It's days like this that I miss the fine editing that CmdrTaco used to provide.
I kept my snark to myself during the CmdrTaco farewell love-fest last week, because it seemed a bit "too soon" for that. However, I gotta ask... what in the world are you guys talking about?!? No one's been putting "fine editing" on anything for years now. Headlines were misleading and sensationalized to draw eyeballs last month, and they still will be next month.
That is Slashdot. Most of us who love it, do so for its amazing comment community rather than its borderline whore-ish editors. If you want to mourn CmdrTaco's departure, you're a bit late... the departure really happened back when Slashdot was first sold off to a corporate interest back in the day.
Unless the Calibre developer invests tens of thousands (or more) and a few years of his life, all into suing a company that is probably one guy working out of his apartment anyway, then this is just some online whining.
The GPL is not a magical hall monitor shield, which forces people to show you their hall pass when you wave it. Rather, it simply gives you the right to sue if you have the resources to pursue that road. In this case, I don't know if the Calibre guy has those resources, or if the Hamster guy has enough resources to be worth suing anyway.
The whole Java *or* Python discussion is irrelevant. You can use Jython, and take advantage of all the Python and Java libraries.
Did you not read a word that this guy wrote, or did you simply not understand any of his points?
The weaknesses that he pointed out did not deal with Python "lacking access to Java libraries". The weaknesses that were pointed out included Python's lack of compile-time type-checking, lack of real publication and enforcement of API contracts, and lack of lexical scope.
Jython addresses none of that. It does not magically transform Python from a hacky Perl-successor into a language broadly suitable for large scale enterprise development. It's just a library that lets you run your same old hacky scripts on a JVM.
You are wrong about the frameworks not being as powerful as Oracle etc, but I don't blame you since it takes a long time to become familar with a large framework. I would also not have time to learn eg. any big Java framework, so I'm in the same boat.
I'm not trying to be a jerk, but I'm not sure you have a basis for comparison. "Oracle" is not a Java framework, it's just the company that acquired the Java trademarks from Sun. I guess they own the trademark for JEE too... but that's not really a "framework", and its direction isn't so much identified with Oracle. Java web frameworks would include things like Spring (used by most shops these days), Seam, Struts, Wicket, etc.
Anyway, I have written apps in "dynamic language" frameworks... including Rails, Django (sorta), Symfony, CakePHP, and node.js. It's just not the same. It's like comparing a car to a space shuttle.
That said, I don't mean that these frameworks are inherently "inferior" to Java frameworks. I'm just saying that they are different tools for different jobs. If you're building a site that isn't heavily dynamic on in the back-end yet needs to integrate easily with front-end AJAX, and you don't want to recruit and pay more for developers with experience in commerce or large enterprise systems... then it might be silly to insist on a full Spring stack. At the same time, if you're a large institution, writing an app through which business will be conducted or money changing hands... then you probably don't want a dynamic language framework, because the framework and its developer talent pool are not as accustomed to dealing with the challenges that your project will face.
When we're used to swinging a hammer, everything starts to look like a nail... but the reality is that there is plenty of room for both a hammer and a screwdriver in the toolbox.
Let me stop you at, "You'd need to add an ID column...".
In a large enterprise shop, changing the schema for an established legacy database generally is not an option. There are usually dozens of live production applications tied into the existing schema, and management would never sign off on introducing needless risk for all of those.
Even if you did get approval to move forward, you would need to time and QA resources to fully regression test all of those apps (assuming you identified them all and didn't miss any odd stragglers). Many of those apps would inevitably need modification, because they were coded by offshore or junior-level devs with sloppy practices (e.g. raw SQL that uses column position numbers rather than column names).
For even a mid-size company, "adding an ID column" might take several months and a few hundred thousand dollars. You don't do that. You might try a workaround of creating custom database views just for the new app, mimicking the schema that your framework needs. Better yet, you just search for a more powerful ORM framework (perhaps this SQLAlchemy package?). Most likely of all, you simply use Java in the first place... because its leading frameworks are built by people who are used to working in these environments and dealing with such considerations.