| By Sean Rhody | Article Rating: |
|
| April 1, 1999 12:00 AM EST | Reads: |
13,386 |
I remember the first time I saw Jurassic Park and watched as the little girl proceeded to hack into a UNIX system, quickly taking control of the entire park. I couldn't help but laugh at how unlikely that whole scenario was, but it does serve to illustrate the way many people think of programming. With this month's focus on code and things related, I thought it would be apropos to discuss what we do for a living.Unlike the Hollywood stereotype, no programmer, however good, can simply take control of a system. I'm sorry, but even if Jeff Goldblum was the greatest programmer in the world, I doubt he could create a virus to crash the alien mothership. Yes, I've switched movies, but stayed on my theme, though it may be hard to tell since Jeff was in both. I guess to the movie crowd Jeff Goldblum is everygeek - the nerdy computer guy in all of us.
Sorry, it just doesn't happen that way. You know it. I know it. But the long grind and late hours that it takes to make a good program great just don't make for good movies. Imagine if we had a large-scale development team called in to write the virus for the mothership --we'd all be fertilizer. That's because there's more to coding than code, and there's more to development than development.
Good coders aren't born, they're made. It takes education and practice to make a good coder, as well as skill in logic and reasoning. Education provides the basic concepts and theories; practice hones their use. It also helps if they have good tools.
I recently had the opportunity to speak with KL Group concerning their JProbe product. JProbe is a thread and memory debugger and profiler for Java. It's one of those tools that can help a good programmer become a better one. Most of our IDEs have built-in debuggers, and the use of these tools should be encouraged. But typically it's hard to see the flow of a program, particularly a multithreaded program, within a debugger. JProbe provides another level of debugging help that will allow you to see what's happening inside the JVM as a whole.
Other tools and utilities are also useful for coding. Each IDE product does different things well. Some are better at two-way coding, some concentrate on integrating distributed computing models and some concentrate on being the best code editor there is. Each fits a particular style of coding. Some coders are devoted to writing every line of code themselves. Other coders prefer to have a tool do as much work as possible. Put these people together in a room and you can get some interesting debates. I recently gave a presentation concerning the project I'm on, and even though we've already selected and used one IDE for over six months, one of the attendees wanted to know if we'd considered the IDE he uses. That's one of the funny things about coders - they're very territorial.
I also think that good, focused subject matter training is essential to being a good programmer. We're Java programmers, right? A good background in object-oriented programming is essential, but there's still a strong need to get familiar with the specifics of Java, such as AWT and Swing. Work in a three-tiered system and you need to understand RMI (or IIOP) and JNDI, as well as the way an application server works. Layer on top of that a particular development framework (homegrown or purchased) and you should be able to make a good case for training for anyone who joins the project.
I hope you enjoy this issue's focus on code. While you're reading this, I'm going to be reconfiguring an old Cray to run Linux so I can access the mothership and get them to let me fly one of those cool fighter planes. May The Force be with you.
Published April 1, 1999 Reads 13,386
Copyright © 1999 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Sean Rhody
Sean Rhody is the founding-editor (1999) and editor-in-chief of SOA World Magazine. He is a respected industry expert on SOA and Web Services and a consultant with a leading consulting services company. Most recently, Sean served as the tech chair of SOA World Conference & Expo 2007 East.
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?

















