tag:blogger.com,1999:blog-15861274.post113594007758305802..comments2023-09-18T11:14:24.509+01:00Comments on Oracle WTF: Who needs modular code?William Robertsonhttp://www.blogger.com/profile/06976436975493102341noreply@blogger.comBlogger35125tag:blogger.com,1999:blog-15861274.post-1160721372141610112006-10-13T07:36:00.000+01:002006-10-13T07:36:00.000+01:00This comment has been removed by a blog administrator.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1138451911619198772006-01-28T12:38:00.000+00:002006-01-28T12:38:00.000+00:00> humour wehumour us<I>> humour we</I><BR/>humour <B>us</B>Phantom Nitpickerhttps://www.blogger.com/profile/07755640585750591535noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136901793346448692006-01-10T14:03:00.000+00:002006-01-10T14:03:00.000+00:00it isn't?it isn't?Rab Boycehttps://www.blogger.com/profile/07598095845411214782noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136897683822011312006-01-10T12:54:00.000+00:002006-01-10T12:54:00.000+00:00"I for one am glad that these advances happen as i..."I for one am glad that these advances happen as it keeps me employed and above all keeps me interested. "<BR/><BR/>Gulp.<BR/><BR/>Hopefully the purpose of software engineering isn't to keep the engineers employed and happy.Adrianhttps://www.blogger.com/profile/00943497054353493755noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136889776341143902006-01-10T10:42:00.000+00:002006-01-10T10:42:00.000+00:00I don't mind having to learn new techniques or lan...I don't mind having to learn new techniques or languages when I feel an advance is actually being made. But for database applications, I can't help feeling that some of the "advance" has been backwards. To build database applications with many screens consistently requires a framework tailored to the job. For Oracle, the nearest Java-based framework is Jdeveloper with ADF. I imagine that in 3 or 4 years time that may be a really good toolkit, but right now it seems rather cumbersome and flaky.<BR/><BR/>Surely a sign of progress should be that it becomes easier to build applications rather than harder - after all, this still do the same job they have always done. So why do I keep hearing that you need to allow 2-3 times more development effort for J2EE compared to that ancient warhorse called Oracle Forms?Tony Andrewshttps://www.blogger.com/profile/16750945985361011515noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136843155444463182006-01-09T21:45:00.000+00:002006-01-09T21:45:00.000+00:00I think ( I hope! ) we can all agree that there ar...I think ( I hope! ) we can all agree that there are bad J2EE projects, there are also bad .Net projects, and believe it or not bad Oracle Projects ( hence oracle-wtf ). <BR/><BR/>There is progress in software, and sometimes it is desirable to rewrite some code from time to time to take advantage of advances in technology or adopt new techniques. This isn't a Java issue, just a software one.<BR/><BR/>I for one am glad that these advances happen as it keeps me employed and above all keeps me interested.Rab Boycehttps://www.blogger.com/profile/07598095845411214782noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136808610593702802006-01-09T12:10:00.000+00:002006-01-09T12:10:00.000+00:00I'm deeply suspicious of claims such as: " build ....I'm deeply suspicious of claims such as: " build ... a framework consisting of many specialist classes, ... [so] you don't need to keep re writing the same stuff again and again to use J2EE or .Net ,which is exactly the point of using J2EE or .Net."<BR/><BR/>Every J2EE project I've been on ( and some that I haven't ) seem to involve the entire "framework" being rewritten several times a year to keep up with the latest J2EE-buzzette, in response to user complaints that the UI is unjustifiably slow.Adrianhttps://www.blogger.com/profile/00943497054353493755noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136400273096088822006-01-04T18:44:00.000+00:002006-01-04T18:44:00.000+00:00yeah.... must learn to preview posts. kind of took...yeah.... must learn to preview posts. kind of took the wind out of that one!<BR/><BR/>:SRab Boycehttps://www.blogger.com/profile/07598095845411214782noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136396292569751352006-01-04T17:38:00.000+00:002006-01-04T17:38:00.000+00:00What he doesn't know is that my mother is a hamste...What he doesn't know is that my mother is a hamster.<BR/><BR/>Frankly I'm giving him a few more attempts to get the insult right before I respond.Adrianhttps://www.blogger.com/profile/00943497054353493755noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136391789948920702006-01-04T16:23:00.000+00:002006-01-04T16:23:00.000+00:00I think he's just called your mother a hamster.I think he's just called your mother a hamster.William Robertsonhttps://www.blogger.com/profile/06976436975493102341noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136390378362780382006-01-04T15:59:00.000+00:002006-01-04T15:59:00.000+00:00that should have read ... and if you thinking quot...that should have read ... <BR/><BR/>and if you thinking quoting Eco makes you look clever <I>you need to</I> as jacopo belbo would say 'Ma gavte la nata'Rab Boycehttps://www.blogger.com/profile/07598095845411214782noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136390234737588102006-01-04T15:57:00.000+00:002006-01-04T15:57:00.000+00:00Thai,I am afraid I beg to differ. I do actually un...Thai,<BR/><BR/>I am afraid I beg to differ. I do actually understand the nature of the blog and In fact I understand a reasonable amount about oracle and development in general, although im not an Oracle specialist.<BR/><BR/>I was simply making a joke about HTMLDB and using PL/SQL to generate HTML , which I was thought was in keeping with the tone of the wtf blog, clearly it wasn't.<BR/><BR/>And to be fair, I did ramble a little to keep the argument alive and keep my tiny, uneducated mind amused.<BR/><BR/>As for the patronising tone, that's a little pot and kettle don't you think? , There was no offence intended ( as from the nature of the last post it was clearly taken! )<BR/><BR/>anyway, thanks for the wonderful blog. I look forward to reading ( although, obviosuly not understanding your posts )<BR/><BR/>and if you thinking quoting Eco makes you look clever you are as jacopo belbo would say 'Ma gavte la nata'Rab Boycehttps://www.blogger.com/profile/07598095845411214782noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136384671000571822006-01-04T14:24:00.000+00:002006-01-04T14:24:00.000+00:00Covenant,You have not found "the fundamental natur...Covenant,<BR/><BR/>You have not found "the fundamental nature of disagreement". <BR/><BR/>What actually happened was that you waded into an Oracle blog that you clearly do not understand, and whilst completely missing the point that of the post you were reading, completely dismissed HTMLDB as an implementation technology without any terms of reference. <BR/><BR/>You then began a long, tedious and uneducated rant about the scalability of java technologies and software engineering in the most patronising terms you could muster. <BR/><BR/>After being shot down a couple of times you then attempted to change the subject. Twice. At which point you completely inverted your argument: "HtmlDB? is it the 90's again?" to "I wasn't suggesting that HTMLDB was wrong for your environment". Hmmm, interesting.<BR/><BR/>You have, in terms best described by Umberto Eco in "Foucault's Pendulum", "Talked outside your glass".Adrianhttps://www.blogger.com/profile/00943497054353493755noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136382964669635842006-01-04T13:56:00.000+00:002006-01-04T13:56:00.000+00:00Never mind, it's been fun arguing - and it has ins...Never mind, it's been fun arguing - and it has inspired me to update my blog, which doesn't happen very often!Tony Andrewshttps://www.blogger.com/profile/16750945985361011515noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136382464108828152006-01-04T13:47:00.000+00:002006-01-04T13:47:00.000+00:00Ok, I think we have reached the fundamental nature...Ok, I think we have reached the fundamental nature of our disagreement.<BR/><BR/>you believe that the RDBMS environment should be used as a general purpose application environment, and I don't.<BR/><BR/>There are arguments on both sides, and we are never going to agree, as this is largely a preferential thing. ( you can continue doing it the wrong way if you prefer - Only Kidding! )<BR/><BR/>----<BR/><BR/>As for Thai's request for my super duper class,er..I think you may have misunderstood what I was saying. There are generic database independant frameworks out there for doing this stuff and I haven't written one, I was mereley pointing out that just because your using java doesn't mean you need to write the processing and rendering code yourself every time as suggested by Tony.<BR/><BR/>I did once write a generic query processing thing that rendered the results of an arbitary query on a web page with pagination etc, but Im not sure that's what you meant and I wouldn't hold it up as a great example of software engineering.Rab Boycehttps://www.blogger.com/profile/07598095845411214782noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136381100005023592006-01-04T13:25:00.000+00:002006-01-04T13:25:00.000+00:00I can't deny that HTMLDB locks you into the Oracle...I can't deny that HTMLDB locks you into the Oracle DBMS. If that's a problem, you won't want to use HTMLDB. It's not a problem for me: I'm not a great fan of database independence.<BR/><BR/>Of course display logic should be kept distinct from the database and business logic, and it is in my HTMLDB applications. Just because HTMLDB uses its own database under the covers doesn't mean that presentation and business logic are all munged together in one lump (as they are in many .Net applications I have seen).<BR/><BR/>I don't really care if my HTML is generated by the DBMS, an application server or a little man inside the PC as long as <B>I</B> don't have to do it myself!Tony Andrewshttps://www.blogger.com/profile/16750945985361011515noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136380759302846892006-01-04T13:19:00.000+00:002006-01-04T13:19:00.000+00:00"If The presentation code is kept distinct from th..."If The presentation code is kept distinct from the database then it can be reused without a database"<BR/><BR/>Useful.<BR/><BR/>Next time I find some clients that want an application that processes no data I'll give you a ring.<BR/><BR/>"...or with a different database" <BR/><BR/>Again, Please humour me to the extent of showing me this class you've written that works with different databases.Adrianhttps://www.blogger.com/profile/00943497054353493755noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136378420548948232006-01-04T12:40:00.000+00:002006-01-04T12:40:00.000+00:00Ok, I over simplified the solution to make a point...Ok, I over simplified the solution to make a point. You clearly do not write a single class to do the looping and rendering ( it would be a nasty class if you did ) , you need to build ( or use ) a framework consisting of many specialist classes, my point was that you don't need to keep re writing the same stuff again and again to use J2EE or .Net ,which is exactly the point of using J2EE or .Net.<BR/><BR/>What writing in Java ( or simliar ) offers however is flexibility, scalability and reuse. You can write code ( application, presentation , whatever ) that can be used in different applications more easily, and in my opinion are more maintainable.<BR/><BR/>If The presentation code is kept distinct from the database then it can be reused without a database. ( or with a different database, or multiple databases or databases from different vendors ).<BR/><BR/>If the application logic is maintained in an middle tier then it too can be reused in different situations ( even one where no database is required, or multiple databases for distributed transactions etc ).<BR/><BR/>Separating the presentation code from the application code and the data also allows us weak minded programmers ( myself included ) to concentrate on the problem at hand, which makes debugging easier. <BR/><BR/>How often have we seen code where the display logic is interwined with the business logic and data access making the code overly complex to read, having a more structured architecture helps prevent this messy thinking. My original point ( for those with long memories ) was that I didn't think it was a good idea to have your UI generation done by the database. it just feels wrong....its like the java programmer who writes his/her own pseudo sql or never uses a database unless they really have to, its just icky.Rab Boycehttps://www.blogger.com/profile/07598095845411214782noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136375802542498972006-01-04T11:56:00.001+00:002006-01-04T11:56:00.001+00:00Here is one the the best pro-HTMLDB arguments I ha...Here is one the the best pro-HTMLDB arguments I have seen, from someone who is a pretty bright button:<BR/><BR/>http://forums.oracle.com/forums/thread.jsp?forum=137&thread=285796&message=883538#883538Tony Andrewshttps://www.blogger.com/profile/16750945985361011515noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136375784697309662006-01-04T11:56:00.000+00:002006-01-04T11:56:00.000+00:00Covenant, humour we lowly "unskilled programmers"...Covenant, humour we lowly "unskilled programmers"...<BR/><BR/>Maybe you'd like to post an example of the super efficient, scalable, concurrent, ( obviously "generic" ) class you wrote ONCE to "do the looping and rendering"?Adrianhttps://www.blogger.com/profile/00943497054353493755noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136374908647568842006-01-04T11:41:00.000+00:002006-01-04T11:41:00.000+00:00Strange comparison: your hand was not designed for...Strange comparison: your hand was not designed for bashing in nails, whereas HTMLDB was designed specifically for building database applications - despite Oracle's bizarre marketing strategy.<BR/><BR/>Of course HTMLDB does it for me under the covers - that's my point! Why should I have to roll my own pagination control logic? HTMLDB does the humdrum stuff and leaves me to concentrate on the business logic - which will all be held in the database where it really belongs ;-)<BR/><BR/>Ah well, I'll never convert you - and why should I? Let the masses toil away designing classes to manage data in Java, while the few enlightened ones work with a tool that is so much more productive and integated with the database. One day we will rule the world!Tony Andrewshttps://www.blogger.com/profile/16750945985361011515noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136372156351652692006-01-04T10:55:00.000+00:002006-01-04T10:55:00.000+00:00You do realise that you can write classes ONCE to ...You do realise that you can write classes ONCE to do the looping and rendering for you...its a concept that has its roots in structured programming, quite clever really.<BR/><BR/>In fact, you may find that Oracle Forms or HTMLDB do that anyway under the covers, its just hidden from you.<BR/><BR/>In fact if use something like JSF, the databinding is quite sophisticated, and you don't need to write much code unless you need to change the way something works.<BR/><BR/>and, no , I haven't used HTMLB...I have only read about it, but then I haven't used the palm of my hand to bash in nails as I would rather use a hammer.<BR/><BR/>and as an ex Forms programmer NOTHING is a backward step from oracle forms!Rab Boycehttps://www.blogger.com/profile/07598095845411214782noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136371242849395962006-01-04T10:40:00.000+00:002006-01-04T10:40:00.000+00:00> J2EE and .Net are not difficult technologies, th...> J2EE and .Net are not difficult technologies, they are only difficult to those who can't be bothered to learn them.<BR/><BR/>I have learned .Net, and it makes building an Oracle database application a LOT harder than HTMLDB does. I don't like HTMLDB because I am a power user, I like it because it delivers on productivity and functionality. Writing Java or VB code to loop through rows of data to be displayed seems like a backward step to me from tools like Oracle Forms; HTMLDB seems like a step forward from Oracle Forms. It is unfortunate that Oracle has decided to promote it as a power user toy; I know that Tom Kyte for one sees it as beng a LOT more than that.<BR/><BR/>By the way, have you actually used HTMLDB, or are you just prejudiced against it?Tony Andrewshttps://www.blogger.com/profile/16750945985361011515noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136363611746490012006-01-04T08:33:00.000+00:002006-01-04T08:33:00.000+00:00ok, ill take the bait. why the devil not?J2EE and ...ok, ill take the bait. why the devil not?<BR/><BR/>J2EE and .Net are not difficult technologies, they are only difficult to those who can't be bothered to learn them. I'll grant you that if all you know is Oracle and PL/SQL then HTLMDB is probably easier to grasp than J2EE, but that's really no excuse. That's the sort of lazy thinking that leads to this sort of <A HREF="http://oracle-wtf.blogspot.com/2005/11/you-can-never-have-too-much.html" REL="nofollow"> thing</A> which was written by someone who knew shell, sql and didn't realise that it would actually be easier and more elegant to do this in PL/SQL. ( If all you have is a hammer every problem starts looking like a nail! )<BR/><BR/>Also J2EE and .Net are developers tools to be used by software professionals, whereas HTMLDB is aimed squarely at power users, the sort of people who run businesses on excel spreadsheets and access databases. Are these really the sort of people you want designing your systems?<BR/><BR/>I wasn't suggesting that HTMLDB was wrong for your environment. Perhaps you haven't got any experienced programmers where you are, or are only interested in limited web functionality. I was, however, expressing a general preference for a seperation of UI, application logic and data. I also think that choice of programming language should be based on fitness for purpose for the task at hand and not on religous preference. For example PL/SQL for data processing in the RDBMS environment, something more general purpose such as Java for the application logic and UI, perhaps C or C++ if there are any near real time requirements ( although java is making some in roads into this area ).<BR/><BR/>Please don't misunderstand, I am a big Oracle fan and firmly believe that data should be stored and manipulated using a powerful RDBMS, however I think it is a mistake to keep throwing extra functionality into the database environment just because you can.<BR/><BR/>Apologies to those who think this is way off topic!Rab Boycehttps://www.blogger.com/profile/07598095845411214782noreply@blogger.comtag:blogger.com,1999:blog-15861274.post-1136333304047787522006-01-04T00:08:00.000+00:002006-01-04T00:08:00.000+00:00"an order of magnitude easier"? You feeling gener..."an order of magnitude easier"? <BR/>You feeling generous or what?Noonshttps://www.blogger.com/profile/07694829378563989648noreply@blogger.com