Originally posted by Gerald Davis:
I found this while looking for get programming practice tips.
http://www.javaworld.com/javaworld/jw-10-2004/jw-1018-butler.html
Despite the dominance of the relational database, the mainstream persistence frameworks (Enterprise JavaBeans (EJB), Java Data Objects (JDO), Hibernate) refuse to model objects in a relational database. All relational databases are built from tables, columns, primary keys, foreign keys, records, queries, etc. But none of the mainstream products has an object model that corresponds to these entities.
developing CRUD functionality is much simpler if the database structure is not hidden
One argument for having an object model that doesn't correspond with the actual database structure is that the business logic should remain the same even if the database structure changes. But this argument neglects the fact that much business logic is implemented in a relational database schema. Changing the database schema will, by definition, also change the business logic.
One consequence of this refusal to model a relational database's real structure is an extra layer of abstraction. [...] SQL must be reinvented (Hibernate Query Language (HQL), JDO-QL, EJB-QL, etc). Why bother adding this extra layer? It adds complexity and provides few additional features.
Many in the object-oriented world argue against data-aware components. One common contention is that the GUI and database don't share the same structure. This is indeed true for some clients, but for CRUD-oriented clients, data-aware components could save a lot of development time. Just because data-aware components should not be used everywhere is not reason enough for avoiding them altogether.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Gerald Davis:
http://www.geocities.com/tablizer/top.htm
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
[OCP 21 book] | [OCP 17 book] | [OCP 11 book] | [OCA 8 book] [OCP 8 book] [Practice tests book] [Blog] [JavaRanch FAQ] [How To Ask Questions] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
Compare EJB with the like of MS-Access[...]
EJB could be very nice if it came with a nice IDE and used a better language like Python or to a limited extent C#.
Regards Pete
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Originally posted by Ali Pope:
... yes why not. I will take one of the medium size app developed last year. It was about 150 tables, 1 mil.records. Can MS-ACCESS (in fact V BASIC + VBA + MSACESS) handle this? I guess not... I will not bring into discussion handling concurrent access or throughput or transactions.
./pope
Java fails in both departments it's JVM is just to slow for server-side applications. Personally I don't see the why a Java would use a virtual machine for server side applications like EJB. If EJB container was implemented in C++ with Java and other language connectability this would speed up things considerably. The trick is to let the C++ library take the strain not the higher level language.
Originally posted by Gerald Davis:
Java fails in both departments it's JVM is just to slow for server-side applications.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Gerald Davis:
Java fails in both departments it's JVM is just to slow for server-side applications.
[OCP 21 book] | [OCP 17 book] | [OCP 11 book] | [OCA 8 book] [OCP 8 book] [Practice tests book] [Blog] [JavaRanch FAQ] [How To Ask Questions] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
Originally posted by Ali Pope:
Because you probably don't want to have the same application written in different ways (compiled with lots of compilation flags maybe) just to fit different server machines. Moreover you will not need different specialized guys in flavours of C++. Afaik I don't know any application server for C# usable on at least 3 main OSs.
As you probably know this interlanguage connectability has already a name: SOAP and till now there are no great signs about it.
Finally I would say that the days where the discussion about C++ vs Java performance are gone.
./pope
Don't see Java being the future, well not in the way it is currently being used at the moment. I just don't see it replacing the role of c++, because Java is noway as fast as C++ and to low level to be used as a scripting language.
Originally posted by Ali Pope:
I never heard somebody saying that this is the intention of Java - to replace C++. On the other hand, if you would stay more updated on the performance benchmarks you would see that this noway fast has changed a lot in the last years. If I would like to join this no args afirmations I would say that the speed of running C++ is nothing compare to the speed of dev and maintainance with Java for multiplatform solutions. But I will not do this.
As for scripting languages I am not quite sure I would develop one of my 1000 clients multi transactional applications using scripting languages. Probably for playing around I would give a try to rhino/groovy/jython .
peace,
./pope
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Originally posted by Gerald Davis:
I know that good OOP is hard to do;
it is like a car that is designed for a skilled driver like Michael Schumaker not one designed for an average person.
I don�t have any problems with the high learning carve with OOP, it is because OOP has so much elements to it when something goes wrong, it is harder to find the problem.
If working in a team of inexperienced developers, it is easy to give them I couple of rules to follow.
...
Any ideas of how I can improve or ad to the list.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
I don�t have any problems with the high learning carve with OOP, it is because OOP has so much elements to it when something goes wrong, it is harder to find the problem.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Originally posted by Ilja Preuss:
In my not really so humble opinion, a list of simple rules isn't going to help them much - regardless of what the list looks like.
What will help them is
- getting feedback on how they are doing early and often,
- getting to work with experienced people they can learn from, and
- learning the skills to improve the code while they learn about better ways to design.
The one technique that helped me personally most in this regard is Test Driven Development. The only thing I could imagine to be more important might be a very collaborative working style - using regular retrospectives and probably pair programming.
Did you just should on me? You should read this tiny ad:
Smokeless wood heat with a rocket mass heater
https://woodheat.net
|