×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Wicked Cool Java

samzenpus posted more than 7 years ago | from the totally-super-programming dept.

Java 108

Simon P. Chappell writes "Every now and then, as a book reviewer, you just have to take a chance. The way it works is that editors ply their wares to you, sending you lists of available books on a regular basis and tempting titles catch your eye. The problem is that until you've committed to review the book, received it and read it, you don't know whether you've found a good one or have just been a victim of drive-by marketing. This was such a book. The title sounded good and I just had to try it out. But would it live up to the name that it bore?" Read the rest of Simon's review.

Most of the books that I review are targeted for programmers and this is no exception to that rule. If you code Java for fun or profit, then this book is for you. That said, as one whose day job is a technical lead for Java development, I actually appreciated the book more than I expected. For a technical lead, just knowing that something is possible and seeing clear examples of how to do it, is a huge relief. When you're the guy who has to lead the efforts to fulfill I.S. management's promises, it's good to know that your team can do some of the things they said we could, using language features in conjunction with available open-source and free libraries.

The back cover calls it an "idea sourcebook" and I'm going to concur with that description. It contains a very wide range of subject matter and so each chapter addresses a portion of that spectrum. The first three chapters cover core Java skills and will be applicable to every reader of the book. The balance of the chapters are more discretionary and will appeal to different readers to differing levels. Each of the chapters brings about a dozen thoughts or tools concerning the subject area to the reader. Most of these tools are explained and short code samples are given for their use.

The first chapter covers the Java language and some of the core APIs. It looks at a few of the forgotten gems of the Java language while mostly looking at some of the fancy new features of Java 5. Chapter two addresses String utilities, primarily through the regular expression capabilities introduced in Java 1.4. String handling is a first order skill, even in these days of objects, so this chapter is very welcome. Chapter three looks at processing XML. Like string handling, XML processing is becoming a first order skill, that even if you don't like (and I don't), it is still important to be able to handle the vast quantity of the stuff that we are surrounded with.

Chapter four looks at the semantic web. This is a world that speaks RDF, RSS and Dublin Core. If you already speak that dialect of geek, this is your chapter. The fifth chapter examines scientific and mathematical applications; calculation engines, arbitrary-precision arithmetic and neural network drivers. Chapter 6 brings us graphics and data visualization; graphing and report generation are the order of the day here. Chapter seven looks at multimedia and synchronization. This is the chapter for learning to make music, having your computer talk back to you and having more fun with threads than you ever thought possible. The last chapter, number eight, is titled "Fun, Integration and Project Ideas". It's a veritable grab bag of ideas, ranging from using Java to control a LEGO robot to writing in JVM Assembly Language.

While I don't wish to steal any thunder from the book, perhaps an example or two would be appropriate at this point? The JScience API is discussed in chapter five and it's unit framework is explored from pages 109 to 111. Calculations with values of differing units can be problematic; just ask any NASA engineer. The JScience framework allows you to work in the appropriate units for a value and have all calculations with those units convert themselves correctly. There are many practical uses for this, but I enjoyed the furlongs per fortnight example that the book provides: did you know that the speed of light in a vacuum is 1,802,617,499,785.253 furlongs per fortnight? In chapter two there is a great example of generating random text. This can be useful for suggesting pronounceable passwords and just such an example is given on pages 34 to 36.

If you have the desire to explore some of the uncharted waters of the Java world, then there's a good chance that you'll like this book. If you are the kind of person who loves to hear about new and interesting things that you can do with Java and are happy to have them served up in a book where they're categorized and presented with code examples, you'll love this book. As I mentioned earlier, this book is also useful for those leading teams of Java programmers; where knowing that something is doable is of great value in and of itself.

If you are one of the large number of Java programmers still working at the 1.4.x level, or who needs to target 1.4.x JVMs, the first chapter will be the least useful of the whole book, with the majority of it's examples based on Java 1.5. If you are not really much of a one for interesting Java coding suggestions, with examples, then perhaps this is not the book that you thought you were looking for.

The book has a website, the cunningly named wickedcooljava.com that provides links to all of the libraries and code projects mentioned in the book.

This is a great book. I loved it, but then I fall into the realm of the perpetually curious and I love to explore new and interesting things to use Java for."


You can purchase Wicked Cool Java from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

108 comments

Book name (-1, Offtopic)

Anonymous Coward | more than 7 years ago | (#14560045)

This book name is wicked retahded.

Re:Book name (-1, Troll)

Anonymous Coward | more than 7 years ago | (#14560766)

Nah, guy! It's wicked pissah!

FIRST POST (-1, Offtopic)

Anonymous Coward | more than 7 years ago | (#14560064)

I feel like I'm back in 1998...

Java is gay (-1, Offtopic)

Anonymous Coward | more than 7 years ago | (#14560066)

Like starbucks. And anime. Gay.

Re:Java is gay (-1, Offtopic)

Loquax (921849) | more than 7 years ago | (#14560822)

What else should I be All apologies What else could I say Everyone is gay --Nirvana

Java Questions. (1)

Anonymous Coward | more than 7 years ago | (#14560073)

Is there a way to get a list of windows printers without using native calls?

Is there a way to print "straight through" to local or network connected printers in Java? Eg. printing a few lines of text and escape codes (not an entire "page") on a line printer (dot matrix, thermal, whatever.)

Is there a way for a java app to trap keypresses when the java app is out of focus, without using a native interface?

Re:Java Questions. (5, Informative)

AKAImBatman (238306) | more than 7 years ago | (#14560323)

Is there a way to get a list of windows printers without using native calls?

Look up javax.print.PrintServiceLookup. More Info [sun.com] .

Is there a way to print "straight through" to local or network connected printers in Java?

I haven't tried it, but supposedly you can change the DocFlavor to do what you want. In absence of a forced flavor, the system will auto-select the best method.

Is there a way for a java app to trap keypresses when the java app is out of focus, without using a native interface?

No. This is a huge security issue, and is unlikely to ever be included in Java. However, the java.awt.Robot class lets you do stuff like capture a screenshot, send events, etc.

Re:Java Questions. (3, Interesting)

dkf (304284) | more than 7 years ago | (#14561915)

Is there a way for a java app to trap keypresses when the java app is out of focus, without using a native interface?
No. This is a huge security issue, and is unlikely to ever be included in Java.
It's also a really sucky interface. I can remember using an app that once trapped certain keypresses for its own purposes (OK, it wasn't Java). Never ever again. There is no circumstance where having some random annoying program pop up every time you're trying to write something complex in some other program is going to be counted as anything other than bad. If you think you need it for some app, think again. Better yet, change careers to something where your psychopathic and sadistic tendencies can be of marginal benefit to society, like flower arranging or tax collection.

Re:Java Questions. (1)

Tim C (15259) | more than 7 years ago | (#14563025)

It's also a really sucky interface. I can remember using an app that once trapped certain keypresses for its own purposes (OK, it wasn't Java). Never ever again.

Konfabulator is one that springs instantly to mind; ICQ is another. Both trapped key presses that were meaningful to my choice of IDE at the time (JBuilder when I was using ICQ, Eclipse when I was using Konfabulator). Very annoying, until I found the config option to disable or change the trapped keys.

Re:Java Questions. (0)

Anonymous Coward | more than 7 years ago | (#14563074)

I agree entirely with your idea of what shouldn't be done for a user interface, but you're assuming way too much about what I actually could be using it for.

Re:Java Questions. (0)

Anonymous Coward | more than 7 years ago | (#14560442)

Parent shouldn't have been modded down as "overrated" for asking a set of questions. Sure, he may have been hostile, but he was already at score 0. What's the point of knocking him down farther other than to disrupt the conversation and give far worse trolls air time?

Someone needs to give the parent a single underrated mod to fix this.

Re:Java Questions. (2, Informative)

malraid (592373) | more than 7 years ago | (#14562425)

I've done the printing of raw characters and you just need the correct device, it's quite easy. You can use "/dev/lp0" "LPT1" or even "\\printeserver\FX890". Works on windows, linux ..... Heres some simple source code that's actually in production and working nicely:

FileOutputStream os;
PrintStream ps;
String device="LPT1";
os = new FileOutputStream(device);
ps = new PrintStream(os);
ps.print(escapeChar);
char c = 64;
ps.print(c);

"Wicked Cool Java"... (-1, Offtopic)

Caspian (99221) | more than 7 years ago | (#14560099)

...from the people who brought you "Super Jumbo Shrimp" and "Military Intelligence: An Introduction".

Java sucks and I'll prove it (-1, Troll)

Anonymous Coward | more than 7 years ago | (#14560143)

Java is slower than C, yet less powerful than C++.

Java is portible but so is C#, C, C++.

Java currently doesnt seem to be a match for C#, Java is ok, but i have yet to see a successful project written in java.

Re:Java sucks and I'll prove it (-1, Flamebait)

RandoX (828285) | more than 7 years ago | (#14560319)

What exactly is your definition of successful? Or did you mean written by you? If so, that may not be Java's fault.

You're a moron and I'll prove it (1)

kaffiene (38781) | more than 7 years ago | (#14562805)

ebay
google
azureus
eclipse
oracle stored procedures
jedit
tribal trouble

most of the enterprise websites on the planet

etc... etc...

Re:You're a moron and I'll prove it (0)

Anonymous Coward | more than 8 years ago | (#14563812)

Google uses Python. http://www.python.org/Quotes.html [python.org]

APIs he forgot (5, Informative)

AKAImBatman (238306) | more than 7 years ago | (#14560151)

Looking at the APIs used by the book [wickedcooljava.com] , I think he forgot two very important ones:

PDFBox [pdfbox.org] - A library that gives you complete parsing control over PDFs. You can create documents from scratch, extract text, merge pages, change text/images/fields, populate forms, etc. With the use of PDFs in corporate environments on the rise, you just can't go wrong with PDFBox in your toolbox.

POI [apache.org] - Does your company use Office documents in any way, shape, or form? Then you need POI. Create spreadsheets and word documents from scratch, modify existing documents, create spreadsheet computers and reports on the fly. The possibiliies are endless, and your boss with thank you for not having to deaL with ANOTHER CSV file.

Re:APIs he forgot (1)

Tsiangkun (746511) | more than 7 years ago | (#14560211)

PDFBox has been a lifesaver, it's really a must have for anyone trying to work with PDF content.

Excel (1)

JediTrainer (314273) | more than 7 years ago | (#14560302)

I've been using JExcelAPI [andykhan.com] for a while, and it's dirt simple to use for reading and writing Excel files. It's fairly complete feature-wise, and it's been able to do everything I need. It also has an easy learning curve, which was helpful when we were in a crunch.

Or just spit out XML (2, Informative)

nobodyman (90587) | more than 7 years ago | (#14560900)

If your customer/employer works with OfficeXP and later (or OpenOffice, for that matter) you can use the XMLSpreadsheet format. This format has 90% the functionality of the native xls format (no macros or graphs, but can do tabs, pivot tables, etc. This way you aren't tied down to a particular api or programming language. Plus you can use design your spreadsheet as a php/jsp page, or use xslt to transform from your xml data to the excel format.

Best of all, Microsoft has published very good documentation as well as the XML Schema (which comes in quite handy for text editors that use schemas for tag-completion. They are also much easier to "debug" because the file format is human readable (well... it's ugly but still better than looking at bif8 in a hex editor).

Re:APIs he forgot (3, Interesting)

Heembo (916647) | more than 7 years ago | (#14560840)

PDFBox does not scale, it's horrible for server applications that need high load. PDFBox is also a memory hog trying to scale images. I know this cause' I built a massive image processing server and get SLAMMED from using PDFBox during high load. I moved to a System.process ImageMagick native solution to solve this problem.

Re:APIs he forgot (4, Interesting)

AKAImBatman (238306) | more than 7 years ago | (#14561041)

PDFBox is also a memory hog trying to scale images. I know this cause' I built a massive image processing server and get SLAMMED from using PDFBox during high load.

Are we talking about the same thing? PDFBox is a low-level parser for the PDF format. AFAIK, it doesn't scale anything. Maybe you're referring to the new PDFtoImage functionality? You know, the tool that has the following disclaimer on it?

Warning
This is new code and should be treated as beta quality!

Re:APIs he forgot (1)

Heembo (916647) | more than 7 years ago | (#14561165)

Indeed. Number 1, why is "production" version of PDFBox releasing beta code? AH! Cause it's only at version .7! Any why was the PDFToImage disclaimer on the website [pdfbox.org] but not in the actual JavaDoc API [pdfbox.org] , which is what Java programmers use to understand 3rd party libraries? PDFBox is cute but is NOT ready for PDFImaging in a prime-time way, which is why I moved to ImageMagick and other toolkits.

Re:APIs he forgot (3, Informative)

AKAImBatman (238306) | more than 7 years ago | (#14561246)

Number 1, why is "production" version of PDFBox releasing beta code?

Only the rendering system is in beta. The parser (which is what most of us are interested in) is reasonably stable at this point.

Any why was the PDFToImage disclaimer on the website but not in the actual JavaDoc API, which is what Java programmers use to understand 3rd party libraries?

That's a good question. I suggest you mention it to the PDFBox developers. The fact that the rendering subsystem is in beta should be made as clear as possible. It just isn't ready for this sort of usage yet.

PDFBox is cute but is NOT ready for PDFImaging in a prime-time way, which is why I moved to ImageMagick and other toolkits.

PDFBox is ready. The new tools you want to use, aren't. If you need to merge PDFs, populate PDF forms, and do other parsing-type duties, PDFBox is an excellent option. And this comes from someone who used to directly manipulate the PDF objects before PDFBox even included tools for most of this stuff. :-)

Re:APIs he forgot (2)

Heembo (916647) | more than 7 years ago | (#14561355)

> PDFBox is ready. The new tools you want to use, aren't. That is a fair comment. I thank you for your comments and intelligent commentary in this thread.

A bit like "Wicked Cool Accountancy" (5, Funny)

iBod (534920) | more than 7 years ago | (#14560162)

or "Wicked Cool Philately"

Re:A bit like "Wicked Cool Accountancy" (1)

AdamWeeden (678591) | more than 7 years ago | (#14560192)

The Complete Idiot's Guide to Wicked Cool Ornithology for Dummies

Re:A bit like "Wicked Cool Accountancy" (1)

iBod (534920) | more than 7 years ago | (#14560210)

I think you might have something there Adam.

Get in touch with a publisher - pronto.

Re:A bit like "Wicked Cool Accountancy" (1)

the chao goes mu (700713) | more than 7 years ago | (#14560632)

You forgot to somehow work Xtreme! in there (with the exclamation point). Every new idea must include the letter X and/or the word extreme.

Amatures (2, Funny)

djdavetrouble (442175) | more than 7 years ago | (#14560935)

The Complete Idiot's Guide to Wicked Cool Ornithology for Dummies

I am sick of working with you amatures ! The correct title for the tome would be:

The Complete Idiot's Ultimate Guide to How to Learn Extreme Wicked Cool Java for Dummies in a Nutshell in 24 Hours

Objoke (0)

Anonymous Coward | more than 7 years ago | (#14561229)

Philately will get you nowhere

Another pointless book. (2)

onion2k (203094) | more than 7 years ago | (#14560180)

If you are not really much of a one for interesting Java coding suggestions, with examples, then perhaps this is not the book that you thought you were looking for. That's something that a relatively high level language such as Java lends itself all too well to. It seems, from this review at least, that this is a cookbook, but rather than the very useful code in something like the Perl Cookbook, this is full of trivial examples that rarely apply to the real world. Not much good to learn from, not much good to copy from. I doubt it'll be appearing in my collection any time soon.

Re:Another pointless book. (1, Funny)

Anonymous Coward | more than 7 years ago | (#14560473)

I doubt it'll be appearing in my collection any time soon.

Yeah, your collection full of tentacle manga and Star Trek novels doesn't leave room for this book.

Re:Another pointless book. (1)

poor_boi (548340) | more than 7 years ago | (#14560667)

I think the reviewer's point was: I'm a knowledgeable Java lead. I know almost all of the core Java 'cookbook' recipes by heart, or I have them in a book already on my shelf. Where can I find a compilation of some of the more risque, edge-case type usages of Java? How can I continue to fill up my bag-o-tricks when I already have so much core knowledge about the language?

Not every cookbook has to be core, or even based around a common subject. Your conclusion that the book is "not much good to learn from" because the examples "rarely apply" is surely subjective. It depends on the kind of work you do. If you're R&D and your company looks to you for new solutions to new problems, your entire job may be made up of tackling problems that that "rarely apply to the real world."

PHP is for faggots (0)

Anonymous Coward | more than 7 years ago | (#14561346)

NT needed.

Re:Another pointless book. (1)

confusednoise (596236) | more than 7 years ago | (#14561452)

Depends on what "real world" you're trying to apply the examples to, I guess. In my real world, where I do data visualization in Java (and want to further myself), and where there is a quickly accelerating Semantic Web project just down the hall that relies heavily on RDF etc., this book strikes me as something worth checking out.

Re:Another pointless book. (1)

JavaLord (680960) | more than 7 years ago | (#14561868)

The guy from PHPGD.com doesn't like Java! What a suprise! Javalord replies to him questioning that he ever worked in the 'real world'. What a suprise!

The review and the Headline seem at odds or ? (3, Interesting)

$1uck (710826) | more than 7 years ago | (#14560209)

Was I just biased against the book originally b/c the rather childish/dumb name? I read the headline... got the impression the reviewer disliked the book. Decided to read the review anyway and kept thinking to myself the book sounds decent waiting for a "but" and never found one. I may have to check it out.

Re:The review and the Headline seem at odds or ? (1)

nule.org (591224) | more than 7 years ago | (#14560567)

I agree with your observation that the headline and review seems a bit at odds.

I have looked through this book at the local borders and I agree with the outcome of the review. There is a lot of neat stuff in this book and the only reason it's not currently in my collection is that I've had a more pressing need for other titles (job related).

Re:The review and the Headline seem at odds or ? (1)

Fishstick (150821) | more than 7 years ago | (#14560815)

Yep, mostly the fault of this

The problem is that until you've committed to review the book, received it and read it, you don't know whether you've found a good one or have just been a victim of drive-by marketing. This was such a book.

This was such a (good|drive by marketing) book? I assumed the latter (why else would he phrase it that way?)

After reading the review it does sound interesting and I added it to my wishlist.

Re:The review and the Headline seem at odds or ? (1)

fbjon (692006) | more than 7 years ago | (#14562889)

It's a drive-by summary.

Until you've committed yourself to clicking the link, received and RTFA, you don't know whether it's a negative review or not.

It's a trap!!

Tech lead... (-1, Offtopic)

Anonymous Coward | more than 7 years ago | (#14560248)

...concerned with String libs. I need to be paid more.

I'm sorry... (0)

Anonymous Coward | more than 7 years ago | (#14560285)

"The title sounded good?"

Uh... no. If you missed such an obvious sign, you probably shouldn't be reviewing anything.

"Wicked cool"? (3, Funny)

ls -la (937805) | more than 7 years ago | (#14560338)

Must be from New England.

Re:"Wicked cool"? (1)

protected_static (949443) | more than 7 years ago | (#14560962)

Or more specifically, Boston/North Shore... All I could think when I saw the title was old-school WBCN - something along the lines of "'Ricky from Revere' does Java".

What's the point of Java? (-1, Flamebait)

Anonymous Coward | more than 7 years ago | (#14560367)

Java sucks- everyone knows that. If you want C/C++, use them; if you want something better, you step up to Smalltalk or Lisp. :P I mean, no one uses Java unless they're forced to. Or brainwashed.

Why... (5, Insightful)

GigsVT (208848) | more than 7 years ago | (#14560469)

Why don't we ever see a book review on here that says, "This book is a total joke, a scam to make money on a buzzword?"

I'm sure such a book review might not pay as well in kickbacks, but it sorta devalues the point of doing book reviews if you never see negative ones.

Re:Why... (3, Insightful)

gEvil (beta) (945888) | more than 7 years ago | (#14560596)

Are you going to take the time to write a scathing review of a book that you can't stand? I know I wouldn't. If I bought a book that's not worth it's salt, I'd stick it up on the shelf or give it away, note it as a bad decision, then move on (most likely find a book that does meet the goal). I most certainly wouldn't sit down and pound out a 500 word essay on why I won't ever touch the book again. But that's just me.

Re:Why... (2, Interesting)

daviddennis (10926) | more than 7 years ago | (#14560885)

Sometimes, a really good negative book review can be interesting to read, yes, and even interesting for people to comment on. So as someone who wants to enjoy their reading time on Slashdot, you have a point.

That being said, it's not particularly useful unless you were seriously considering buying the book, and the review came just as you were making up your mind. To tell the truth, the reviews on Amazon do an excellent job in solving that particular problem, so we don't really need to worry about that.

The most useful book reviews are going to point you to a book that you might otherwise interesting which appears so thanks to the review. And the book reviews on Slashdot do a pretty good job at this.

If you don't want to support Slashdot, don't click on the links. But don't think of a positive review as being less of a service to readers than a negative one; I think the reverse is true, as long as the positive review is sincere.

Fortunately, there are enough good books in the world that I don't think this is an easily corruptable process - that is, I suspect the reviewers at least glance through hundreds of awful books and never feel the desire to review them positively for the bucks, when there are plenty of books genuinely deserving a positive review with just as much revenue potential.

D

Re:Why... -or- Good Bad Reviews (3, Informative)

bcl (200161) | more than 7 years ago | (#14561031)

In the old Perl Journal there was a review of Perl for Dummies. It was two pages long and it must have ripped every single chapter in the book (oddly enough I never picked up a copy of the book to check). It was one of the best book reviews I have ever read because it meshed so well with everything I think is wrong with most popular press computer books (too much cognitive overhead too early in introductory texts and too much recycling of on-line documentation in all of the books). Not sure what it did to ad revenue to publish such a scathing review but it made me swear udying loyalty to the Perl Journal.

Re:Why... (1)

rsadelle (719824) | more than 7 years ago | (#14561053)

it sorta devalues the point of doing book reviews if you never see negative ones.

I'm the editor for a publication, and we used to have a "book review" page. I had the same objection you do--"review" implies review and not necessarily recommendation--so we started calling it "Recommended Reading" instead.

Re:Why... (4, Informative)

The Masked Rat Fink (68826) | more than 7 years ago | (#14561706)

As the reviewer of this book, I can offer a few observations.

Firstly it's a pretty thankless task. If you're lucky the author will send you a thankyou email. (That's always nice) But, if you slam the book, you can also get hate mail from the author. (Not so nice)

Second, while the books are generally sent to you for free, that's all you get. We don't get paid people! Oh, and lots of polite emails asking if you've had an opportunity to look at the book yet. Translation: hurry up and get writing!

Third, there is just no way to please everyone on Slashdot. Grow some tough ol' skin if you're going to offer up reviews because every man and his dog is going to think that you're lower than a script kiddie.

Fourth, there's no money in this. I created a website to host reviews at and signed up for a google ad account, but I make about $5 a quarter, so I'm not making any extra money on the side.

Fifth. I love reading books and being opinionated, so I love doing this, but it has to be love because there is no money and precious little appreciation.

Simon

Re:Why... (2, Insightful)

LinuxRulz (678500) | more than 7 years ago | (#14562330)

This may be a bit offtopic here, but I need to say it. There are not too much bad book reviews because there are not too much bad books. A book is a point of view on a topic. Everyone can't always find a book that matches him. Some books may seem plainly useless for you, but people having trouble understanding some concepts may appreciate them.

I believe the work of the reviewer isn't to judge if a book is good or bad. It's job is more into orienting the reader and helping him know if this is the book he will appreciate or if it is oriented toward a different public.

Just my 2 cents.

Re:Why... (1)

jefu (53450) | more than 8 years ago | (#14563650)

Oh, so wrong.

There are so many bad books. But as an occasional reviewer, I try to pick books that look like they might be interesting and over time I've managed to get pretty good at that - so I don't review books all that frequently that are all that bad.

But they're out there. Take a look at the shelves in many bookstores. At least half those books are junk - aimed at the "gullible and confused consumer" market. Also, almost anything that is entitled something like "Foo for the Bar platform" tends to be mostly trash. The same is (sadly) true of the greater portion of textbooks aimed at the college freshman/sophomore. But many reviewers see these things and avoid them - why read yet another 500 page tome on Windows for Weirdos? The market for those things doesn't read slashdot, doesn't read the ACM computing reviews, and is hardly likely to find, let alone read a review written by anyone technical. The folks who are likely to read a review are not likely to find the book of interest.

Re:Why... (1)

LarsWestergren (9033) | more than 8 years ago | (#14565702)

Why don't we ever see a book review on here that says, "This book is a total joke, a scam to make money on a buzzword?"

Ok, I have one. "Bluetooth for Java", which I bought when I was going to write a J2ME demo game. The technical specs part of the book is ok, but I'm guessing is just copy and paste from the official specs from Sun and the BT concertium. The code. though.. when you get to the coding, the examples he gives are buggy and incomplete. Check out the code available at http://www.javabluetooth.com/ [javabluetooth.com] . Most of the stuff won't run, it won't even compile! Important lines are just commented away, it looks like a half-finished beginner project. I counted three bugs on one line, which takes some skill to do.

1) A class variable he declares as an array and then tries to referense as a non-array - compile time bug.
2) The variable is not initialized, so it would be a null pointer exception at runtime.
3) The value he tries to set to the variable comes from a method that he calls with the incorrect parameters - compile time bug.

The book even goes on to say "and now that you have seen a working example of how to scan available Bluetooth devices..."

Geek dialectica (4, Funny)

digitaldc (879047) | more than 7 years ago | (#14560546)

This is a world that speaks RDF, RSS and Dublin Core. If you already speak that dialect of geek, this is your chapter.

Great, now I am going to have to buy several other books just to be able to read this one chapter.

Re:Geek dialectica (1)

ianturton (655126) | more than 7 years ago | (#14560778)

This is a world that speaks RDF, RSS and Dublin Core. If you already speak that dialect of geek, this is your chapter.

Great, now I am going to have to buy several other books just to be able to read this one chapter.

Or save buying several other books since you now know enough to convince your boss that its a bad idea.

That said I have this book and I like it, there are enough new thngs that I might try out (and might even use at work) to be interesting and a few things I already knew and a few that I'm never going to need ever!

Ian

Unoriginal (0)

Anonymous Coward | more than 7 years ago | (#14560614)

It appears they are trying to rip off the writers of good java books (www.wickedlysmart.com, makers of the Head First series of Java books)

It's a book series, dumbass (1)

porkrind (314254) | more than 8 years ago | (#14565318)

Wicked Cool Shell Scripts... Wicked Cool PHP (out soon) and a few others.

-JM (former no starch press editor)

Leading to do the doable... (2, Insightful)

mmThe1 (213136) | more than 7 years ago | (#14560826)

"For a technical lead, just knowing that something is possible and seeing clear examples of how to do it, is a huge relief."

If you're leading a good programming team, you don't need a book to know if something is doable.
If the team isn't good enough, then the book won't help.

Re:Leading to do the doable... (1)

gutnor (872759) | more than 7 years ago | (#14562114)

In this case 'good' must mean skilled people
but also
- senior enough - a lot of things are technically possible for a good junior while a good senior look for what is actually possible ( and that is company / project dependant ).
- available - you need your answer, if your team is 150% busy they may not be available to do the required research for you.
- cover the right skillset for the technologies you need to take some decision. Server Side dev. vs UI Side. C++ dev vs Java dev, ...
- complete - you could have to take the decision BEFORE hiring the required new member for your team

Re:Leading to do the doable... (0)

Anonymous Coward | more than 8 years ago | (#14563359)

In this case 'good' must mean skilled people
but also
- senior enough - a lot of things are technically possible for a good junior while a good senior look for what is actually possible ( and that is company / project dependant ).
- available - you need your answer, if your team is 150% busy they may not be available to do the required research for you.
- cover the right skillset for the technologies you need to take some decision. Server Side dev. vs UI Side. C++ dev vs Java dev, ...
- complete - you could have to take the decision BEFORE hiring the required new member for your team


You left out
- honest enough - too many developers will feed you a line of crap if they don't want to do something

Re:Leading to do the doable... (1)

The Masked Rat Fink (68826) | more than 7 years ago | (#14562424)

I really want to agree, but life has too many variables and programming teams even more than that. Add in the rate of change of technology and you have situations where being six months behind on your reading can make the difference between knowing you can do something with your prefered programming language and thinking it's still impossible.

Short summary... (1)

brunes69 (86786) | more than 7 years ago | (#14560880)

The title sounded good and I just had to try it out. But would it live up to the name that it bore?"

No.

Amazon review...... and save $4.19! (-1)

Anonymous Coward | more than 7 years ago | (#14560881)

This book is a lot of fun as it focuses on many interesting ideas for Java programmers. Do not expect complete solutions to complex problems. Instead it highlights many open source Java packages and APIs and gives very simple examples of how they can be used. It is up to the reader to go to the web, download the various packages, and play with them. For example, in the area of music, the author discusses JMusic, which provides a solid framework for computer-assisted composition in Java, and is also used for generative music, instrument building, interactive performance, and music analysis. The book just shows a simple program that generates a filtered sawtooth wave, and a few other simple examples. The readers are expected to explore the API themselves for meatier applications. Other open source packages that are highlighted and explored on a simple level are JFugue, another API for music programming, Javolution for embedded programming applications, and Piccolo, an API from the University of Maryland that supports the development of 2D structured graphics programs in general and Zoomable User Interfaces (ZUIs), in particular.

The book also explores the more interesting parts of the Java language itself such as using the AWT Robot class for automating key/mouse events, using the new enum types in Java 5, and several off-beat applications of the various Java classes that handle XML data.

None of the ideas shown here lead to full blown applications that will make you rich. Instead, the idea is to get you thinking in creative ways about what can be accomplished with the Java language and also to introduce you to some interesting open source API's that are out there on the web that are both labor-saving and creative. I would recommend this book to any experienced Java programmer. I notice that Amazon does not show the table of contents so I do that here:

Chapter 1: Java Language and Core API
Chapter 2: String Utilities
Chapter 3: Processing XML and HTML
Chapter 4: Crawling the Semantic Web
Chapter 5: Math and Science
Chapter 6: Graphics and Data Visualization
Chapter 7: Multimedia and Sychronization
Chapter 8: Fun, Integration and Project Ideas

The above was from an Amazon spotlight review.

Save yourself $4.19 by buying the book here: Wicked Cool Java [amazon.com] . And if you use the "secret" A9.com discount [amazon.com] , you can save an extra 1.57%!

UI design? (1)

mookie da wookie (919403) | more than 7 years ago | (#14560892)

What??! NO chapter on UI design? So java programs will still be resource hogs AND look ugly even after this book hits the shelves? Wicked Cool, indeed.

Oligatory Simpsons reference (1)

JohnQPublic (158027) | more than 7 years ago | (#14561084)

I enjoyed the furlongs per fortnight example that the book provides: did you know that the speed of light in a vacuum is 1,802,617,499,785.253 furlongs per fortnight?

Abe: "The metric system is the tool of the devil! My car gets forty rods to the hogshead, and that's the way I likes it!"

Re:Oligatory Simpsons reference (0)

Anonymous Coward | more than 7 years ago | (#14562081)

VAX VMS set a precedent here, its quantum for timeslicing was set in micro-fortnights, not milliseconds :)

Oh, the Humanity! (3, Funny)

Tim Browse (9263) | more than 7 years ago | (#14562198)

"Every now and then, as a book reviewer, you just have to take a chance. The way it works is that editors ply their wares to you, sending you lists of available books on a regular basis and tempting titles catch your eye. The problem is that until you've committed to review the book, received it and read it, you don't know whether you've found a good one or have just been a victim of drive-by marketing. This was such a book.

So, what he's saying is, you have to read the book to find out what sort of review to write, instead of just believing that every book you get is brilliant and regurgitating the associated press release?

Life certainly is tough as a book reviewer. I bet sometimes they even put favourable quotes on the back of the book to throw you. But they're no use with our wily correspondent!

Re:Oh, the Humanity! (1)

The Masked Rat Fink (68826) | more than 7 years ago | (#14562392)

As the reviewer in question here, I can assure you that I actually read the book before deciding if I like it. No ... really! I do try to stack the odds in my favour by requesting books that are for subject matters that I'm interested in, but that is no guarantee of wonderfulness.

Simon

Sweet! I can't wait to read it! (-1, Troll)

Anonymous Coward | more than 7 years ago | (#14562353)

Oh wait... Java sucks. Why the hell would I ever read this?

JGAP? Try ECJ (1)

feijai (898706) | more than 7 years ago | (#14562459)

The author wants to show off an evolutionary computation (genetic algorithms, genetic programming, evolution strategies, etc.) package in Java and he picks ... jgap? Too simple. IMHO, and I think in the opinion of most EC Java coders, the system to beat is ECJ [gmu.edu] . [and I know]

One word doesn't fit... (0, Troll)

mortonda (5175) | more than 8 years ago | (#14563323)

Wicked Java, I get. Cool? Doesn't fit in the same sentance as Java.

troll?? (0)

Anonymous Coward | more than 8 years ago | (#14566403)

ok, not that funny but troll?

Java.lang.reflect? (1)

miyako (632510) | more than 8 years ago | (#14563526)

I'd really like to see a book that covers in-depth the use of reflection in java. I've played around with it a bit and it seems like it's a really nice way to supplement some of the problems caused by the lack of pointers in Java. Unfortunately, it also seems to be one of the things for which the documentation is a little lean. Anyone know of a good book that covers this aspect of Java?

Re:Java.lang.reflect? (1)

lightversusdark (922292) | more than 8 years ago | (#14564863)

When dealing with Java's lack of pointers, I found I needed to learn more about JNI. Addison Wesley's Java Native Interace [oreilly.com] contains some of the more useful info I found regarding the classloader mechanism, which is about all you should need to supplement the java.lang.reflect API docs.

Re:Java.lang.reflect? (1)

miyako (632510) | more than 8 years ago | (#14564954)

thanks, I'll take a look at it. I've used JNI a bit and found it to be really nice...all the way up until I had to work with someone who didn't know (and refused to learn) C++.

Re:Java.lang.reflect? (1)

AKAImBatman (238306) | more than 8 years ago | (#14565155)

If you're having issues with the lack of pointers in Java, it means you're not yet fully acclimated to the Java style of development. A common mistake of new Java programmers is to look to the Reflection APIs to allow them to replicate some of the functionality they had with pointers. Here's the advice that every one of those programmers gets:

DON'T DO IT!

Reflection can easily make a mess of your program if it's abused. If you have a problem with your coding style, take it up on JavaRanch, JavaLobby, JavaGaming, or JavaDesktop. They're all there to help, and can point you in the right direction. You may find that you actually need to be using constructs like interfaces. But since they're not intuitive for a C/C++ programmer, they don't stand out as the answer.

Java Reflection is extremely powerful. But with great power comes great responsibility. Use it wisely. :-)

Re:Java.lang.reflect? (0)

Anonymous Coward | more than 8 years ago | (#14566687)

Yep, that book would be Manning's Java Reflection in Action [manning.com] . I read a few chapters and figured out enough to write my own dynamically loaded plugin system for a Java based GUI editor, so I think it covers the topic well enough.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...