Site Archive (Complete)
Java
ERIC BRUNO'S BLOG

Java: The Daily Grind.

by Eric Bruno

December 2007


December 12, 2007

Plastic and Plumbing


In the film, The Graduate, the advice for the future was “plastic.” In Disney’s Hercules, it was “indoor plumbing.” Both were close.

The future was, and still is, in glass pipes; also known as fiber. Bandwidth will separate the haves and the have-nots in the near future. How much bandwidth do you have? How much will you need? Scott McNealy once said, in response to the iPod’s tremendous success, that it’s a product that will be obsolete in the near future (http://www.theregister.co.uk/2006/01/12/sun_apple_snapple/).

Scott’s view is that everything migrates back to the server eventually, of which the web is an example. If you’re like many people I’ve spoken with, you install less and less software on your computer, and instead use Ajax applications (http://www.ddj.com/architect/184406430) via a browser. Over 10 years ago I bought Encarta and installed it on a Windows machine. Today, I wouldn’t dream of doing that; I’ll just navigate over to wikipedia.org or Google. In fact, Google has so much of the web cached on their own servers, we can all turn off our web servers and just have everyone point their browsers at Google. But I digress.

The point Scott McNealy was making is that, eventually, everyone will store their music on a server (somewhere) and access it from wherever they are. Going for a drive? No need to remember to tote your iPod with you and plug it into an FM transmitter (http://www.griffintechnology.com/category/fmtransmitters). Walking around town? Exercising? Just use your cell phone and access your music that way. This assumes you’ll have the bandwidth needed in your car, your cell-phone network, at home, and in the office. Perhaps all remote (outside the office and home) bandwidth solutions will be provided by cell phones – the future will tell.

Storage

The storage market is headed that way also. There’s the obvious web-based backup method, but there’s also a way to access your home or business-based storage no matter where you are. It’s called MioNet (http://www.mionet.com/), and it’s available from Western Digital as part of their My Book World Edition product (http://www.westerndigital.com/en/products/Products.asp?DriveID=347). It’s also based on Java – just scroll down the page and you’ll see the requisite Java logo. They also demonstrated MioNet at JavaOne this past year.

Thanks to the Java-based MioNet, your local storage can be securely accessed from wherever you are (so long as you have bandwidth). On the road and forgot that critical file? Just get it from your office-based storage devices via the closest Starbucks WIFI. It’s all made possible by the power of Java and java, if you will.

TV

IPTV (http://en.wikipedia.org/wiki/IPTV) shows that even television programming is moving away from being controlled by big networks, and instead is going to be controlled by you, the viewer, on demand. No longer will we be slaves to a network’s programming schedule; simply navigate over to a web site (a bunch of servers, really) and pull up the content you wish to view, on-demand, according to your own schedule. Even TiVo (http://en.wikipedia.org/wiki/TiVo), another client-side technology, could become obsolete in this case as you will no longer need to remember to record something because you can watch it whenever you want via the web. That is, unless, they migrate their entire business model to the server (http://www.tvpredictions.com/tivocomcast053107.htm).

That’s all very cool, and very much in line with McNealy’s predications. And Java is alive and well, enabling this continued migration. Now if only I can persuade the NY Yankees to play only when it’s convenient for me to watch…

Happy coding!
-EJB

Posted by Eric Bruno at 11:18 PM  Permalink |


December 04, 2007

Java and Computer Science


I recently saw a blog entry on whether Java belongs in a university computer science curriculum. I think there are deeper issues than Java to consider.

I studied computer science at the State University of New York at Stony Brook in the late 1980’s. I began my studies with courses on discrete structures (which included topics like logic and set theory), problem solving, calculus, and computer architecture, before I wrote one line of code. My first course that included writing code was on data structures, where we used Pascal for all of the assignments.

The remainder of my studies began with an abrupt shift to C (C++ was not offered as it was very new). I recall that I shared much frustration with my fellow classmates, as we had to quickly, and on our own, apply all that we learned in Pascal to the C language just to complete our assignments. Perhaps if we started out in C, things would have been smoother, but I think a valuable lesson was learned that has remained with me through the years: as a software developer (or anyone in the computer industry), your ability to adapt and accept change will set you apart from the rest. Being able to learn at a quick pace, on your own, and then apply what you’ve learned, will help bring you success in this industry. Add to this the ability to share with and teach others around you what you’ve learned the hard way, and you’ll gain the respect of your peers also.

To the point of whether Java should be taught in college courses, I think the answer is yes. However, it shouldn’t come at the expense of the other lessons that need to be learned before ever writing a line of code. Good problem solving skills, an understanding of the theory behind computers and software, and a willingness to learn, must all precede gaining intimate knowledge of any computer language.

If you look at C/C++ as a meta-language, Java is simply an implementation of it. After all, these languages share so much in common syntactically and even conceptually that learning one does not come at the expense of the other. Today’s students that use Java have a big advantage that I didn’t have when I was in college: write-once-run-anywhere (WORA). I was stuck sharing time with other students in a university computer center because that was the only place I had access to an approved C compiler, with the ability to email my assignment to the course professor when complete. Today, students can use Java (and even GNU C compilers if they happen to have a C project) on their laptops, and then email the assignments straight from their dorm rooms. And it doesn’t matter whether they run Linux, Windows, or Mac OS X; My choice was limited to a time-shared PDP-11.

To summarize, the use of Java provides students:
-The flexibility to write code on almost any computer available to them
-A variety of integrated development environments (IDEs)
-The ability to learn and apply data structure concepts
-Object-oriented programming
-Concurrent programming
-Real-time programming
and so on…

Happy coding,
EJB

Posted by Eric Bruno at 09:52 AM  Permalink |



January 2008
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    


BLOGROLL
 
INFO-LINK


Related Sites: DotNetJunkies, SD Expo, SqlJunkies