10 tips on how to prevent business value risk
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Craig Wickesser on Oct 13, 2008
...build upon the lessons learned from the first two APIs (Date and Calendar) in Java SE, providing a more advanced and comprehensive model for date and time manipulation.There are three areas identified that the new API will aim to improve:
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
Monitor your Production Java App - includes JMX! Low Overhead - Free download
18 agile and lean practices for effective software development governance
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
Too bad that the JSR-processes are so slow. Perhaps it would be better to deliver a smaller, less perfect 1.0 version and then be able to improve on it later and depricate (and perhaps actually ditch the old ) things that wasn't perfect to start with. Not that I ever would imagine to say that Microsoft's "we get it right to version 3 or 4" is the way to go but it seems to work quite well for them.
JSR 310 is _much_ too complicated. It is grossly over-engineered. There are so many 'ease of use' features that it is actually very very hard to understand and use.
How can you replace 2 classes with 90 classes? Who needs classes like 'Years', 'Weekyear', 'MilleniumOfEra'?
Please, please, please simplify!
Actually I need some of those. The FIX protocol has weird stuff like a field that can be a week-year, week-month-year, or a true day-month-year. This partial date stuff is important and a pain in the ass without library support.
I take it back, the spec is insane.
For example:
Period p = periodBuilder().years(2).days(5).minutes(30).build();
Instead of something sane like a constructor, we have to deal with a completely separate object?
This is the kind of silliness that makes people think Java is bloated.
90 Classes! What a huge solution.
Well, number of classes is not the measure of simplicity, but the way these classes are used. If you want to do simple things, API has to enable you to do it simple way. If you want to do complex things API has to enable you to do it too, but of course, this time it could be more complex, as the nature of the problem is more complex.
In my opinion new Date and Time API does both. Note that date, time, period, interval etc. are valid and essential date/time manipulation constructs and are indeed needed, otherwise old Date and Calendar would be sufficient.
If you have worked with complex date and time functionality (I don't even mention other calendars like the Chinese which is lunisolar... This is important, just realize how many people use the Chinese calendar) you'll see that Time and Date are concepts that are very difficult to condense in a simple solution. I haven't looked at the api but I know it's a hard job.
@Jonathan
What's insane about that?
I'd much rather maintain:
Period p = periodBuilder().years(2).days(5).minutes(30).build();
than
Period p = new Period(2, 5, 30);
"Make everything as simple as possible, but not simpler."
> number of classes is not the measure of simplicity
Somebody new to the API is lost.
> the nature of the problem is more complex
The nature of the problem is actually quite simple: You need a date (maybe a time and timestamp), an interval, a calendar, a timezone.
For example, why are "MilleniumOfEra", "SecondOfDay", "WeekOfWeekyear" (and so on) a class? They should be methods (a setter and a getter). Actually things like "Millenium", "DecadeOfCentury" are not required at all. For most people the concepts 'Durations', 'Periods', and 'Intervals' will be confusing. I don't think this distinctions is required. Also 'Partials' are not required.
Thomas,
You sound like you have some good ideas. The Open Source mantra is, "if you don't like it, fix it!". So, if you haven't already, write the library yourself and make it available to the general public.
Dave Rooney
Mayford Technologies
> Thomas, you sound like you have some good ideas.
Thanks! So you agree it's too complicated?
> Open Source
This is a JSR. Even if I write a better library, it will not be included in the next JDK. However, JSR 310 could be included in Java 7. I'm scared.
Fluent interfaces. Great stuff, just NOT in "purist" languages like Java or C#. Keep those away (from the core libs), ugh. There's other languages that focus on those by design, and thats where they belong. Why is there such a need to always have 1 language that does everything every other languages, including specialized one, do...bleh.
Actually, what we really need are JSON-like structures so that we can do:
Period p = new Period({years: 2, days: 5, minutes: 30});
Sun, please, kill JavaFX and simplify Java.
>> Open Source
> This is a JSR.
So what? Same principle applies; this JSR is firmly community driven. The lead developer on this one is doing so in his own time at his own expense, having previously written a successful open source date time API (Joda Time) of his own.
It's been out there for two years, available for anyone to participate in. Still is. Quoting from jsr-310.dev.java.net/:
"The main activity of the JSR will be on the public mailing list. If you are interested in observing or contributing to the discussion of this JSR, please feel free to join. Anyone can sign up to the dev mailing list.
If you want to contribute suggestions, ideas or use cases on a one-off basis, the wiki may be for you. Especially feel free to add any requirements you have for the API to the requests page.
If you want to raise bugs or feature requests on the code then you must become a java.net project member. To do this please request the special jsr>jsr-310.Observer role using the web form."
Because those 2 classes were horribly, horribly misconceived. I agree there will be a learning curve, however if it's anything like the excellent Joda Time (written by JSR spec lead Stephen Colebourne) you'll be surprised how many of those classes end up being a godsend.
java.util.Date - love the smell of deprication in the morning
Then at least allow both. Period probably already has a perfectly acceptable constructor, you just can't see it behind the builder's facade.
Do any body has any jave program with at least 100 classes??
please inform me, or send me the link to
ahmad_mutah@yahoo.com
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.
John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.
Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.
Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.
Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?
Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.
17 comments
Watch Thread Reply