BernieCode logo... Because I like butterflies.Home > EJFS > Introduction

EJFS.introduction() {

I have a story for you.

For the months and years leading up to April 1953, Francis Crick, Rosalind Franklin, James Watson and Maurice Wilkins conducted the pioneering work that led to the discovery of the structure of DNA. Working with the limited resources available to them they collected and purified samples of the material, took X-ray diffraction images of the samples (producing patterns of waves and dots on photographic paper), and manually applied the staggeringly tedious mathematical transformations required to cajole the dots into giving away the structure of the crystal. This experiment that earned Crick and Watson a Nobel prize (and would have done the same for Franklin and Wilkins had they not been dead and boring respectively) can be conducted in a day by any careful university undergraduate student before they go on to other experiments that the four pioneers could scarcely have imagined possible. Why?

Lab assistants for a start - experienced ones who've done the experiment many times before. And software to do the Fourier transforms; and instructional videos hosted by stern Swedes who never blink; and glass beakers for centrifuging that somebody spent 30 years perfecting the shape of; and industrial dishwashers that make sure that the chemicals from the last experiment don't contaminate the next; and if all else fails a girl who was listening to the lecture who you can copy the results from. In other words, all the problems Crick and Watson faced are now so well understood that they don’t bother us any more.

I think of stories like this when I consider modern software development because if you start out programming in Java with only a text editor and the compiler, you might as well be one of those four pioneers trying to solve the DNA mystery with only some glass beakers, a Bunsen burner and a side parting.

When I first started playing with enterprise Java development I felt like Crick* might feel upon walking into a modern biochemistry lab. On the one hand I was amazed by the sheer amount of work that I didn't have to do any more, and on the other hand I was confused at the plethora of new toys: which test tubes do I use? how do I open the centrifuge? Would it be rude to ask the lab assistant to fetch me a sandwich? I'd need a guide to show me round and get me up to speed with the last 50 years of time-saving technology. This analogy starts to leak a bit now, because labs are very expensive to put together whereas most of the tools I'm going to introduce you to in this book are free with the exception of Visual Paradigm's SDE, which is extremely expensive but the folks at VP were kind enough to give me a review copy.

So, you're Crick** and I'm your guide to the high-tech lab that is modern enterprise Java development. I'm going to show you some products and techniques that will take most of the grunt work out of building complicated applications, leaving you to concentrate on making new features. I am about to take you on a tour of everything I love about the current state of the art. I'm not going to compare and review the different products you can use for any one task because that's boring: I'll just pick one and use it as an example. I'm not going to give you painstaking step-by-step guides either because that's boring too: I'm assuming that you're resourceful enough to [shudder] read a manual if you have to.

Stick with me. It's going to be fun.

Bernie     :o)

 } // next chapter

* I am aware that inviting a “Bernie is to Java development as a Nobel laureate is to biochemistry” might be considered arrogant in the extreme, and I don't care [sticks tongue out]. In fact, in a few lines time, I'm going to redeem myself by comparing you to Crick. Isn't that nice of me?

** Told you so.