Posted tagged ‘programming’

CS intro w/ Java and a bit of book review

July 1, 2009

I’m currently taking a basic Java course that’s supposed to go to the proper level to take the SCJA (Sun Certified Java Associate) certification, the first step in the Sun Java cert track.  Instead of using the standard book that my university recommends, I’m using Big Java by Cay S. Horstmann (ISBN 978-0-470-10554-2).  I’ll post a few thoughts here on this book.

So far so good.  I’m about four or five chapters in, and I think I have a good feel for the flow of the book.  I’ve done several other starter programming books (Zelle’s Python Programming: An Introduction to Computer Science, and an intro JavaScript course as well), but Big Java surprised me starting out.  Unlike some other courses that mainly start out with syntax and primitive data types, this one started out with class design and OO concepts.  It even teaches the student to use a few Swing components (JFrame and JOptionPane) early on in order to make the usual “monkey trick” exercises a bit more interesting.  I like this approach, as it makes the introductory chapters easier.

I like Horstmann’s writing style.  It’s concise and clear, and the code examples are good.  I have yet to find an error in any of the examples.  I’m reading it on Skillsoft Books 24×7, an online book service and it’s been good so far.  I do kind of wish I had the paper copy, but that’s just how I am.  Anyhow…

A big help to me was that I started with JavaScript and Python.  Java’s syntax is very similar to JavaScript’s, so it gave me a head start to coding in Java.  The combination of JavaScript’s syntax with Python’s OO perspective gave me a good foundation from which to move through Big Java.

One more thought – I’ve worked through some programming books that have virtually no exercises.  This, IMO, is a terrible way to help people learn.  If you’re writing a beginner book, you MUST provide practice opportunities for those who can’t come up with their own.  Big Java does a great job of providing practice opportunities at multiple complexity levels.  The exercises build on each other (to some degree), and I feel they are quite effective.

So I do recommend the book for a self-taught Java beginner.  I’ll post more about it as I go along.

Advertisements

I must be getting better at programming…

April 21, 2009

… because I got this one without even having to read the alt text. 

comic

The alt text read “If androids someday DO dream of electric sheep, don’t forget to declare sheepCount as a long int.”

If you think that’s terribly unfunny, try this site.  Let me know if it’s more to your tastes.

Comic provided courtesy of http://www.xkcd.com

Oracle buys Sun Microsystems…

April 21, 2009

… and I like it.  I was going to try to post a link to both a positive and a negative opinion, but I am having trouble finding a negative one.  I’m sure there’s one out there, so if you know of one, post it in the comments so we can get some good perspective.

Here’s a positive opinion: 

http://blogs.zdnet.com/Gardner/?p=2903

 

I see some real good here.  Oracle is great at marketing, and Sun could use a marketing makeover at present.  Oracle presents themselves as a straightforward, professional kind of company.  I think that this combined with Sun’s passion for strong enterprise products will be a good addition to Oracle’s large enterprise product portfolio.

Please, let us know your thoughts.  Agree?  Disagree?

Python to get a speed boost by Google

March 27, 2009

If this is true this is awesome news by Google. Python is a scripting language, and as such usually has poorer performance on intensive programming projects. For me, though, I like Python because of its ease of use and flexibility. Google obviously uses Python extensively and effectively. If this new interpreter can really bring about a 5x speed boost than I say it is a win win. It also looks like this new interpreter will help utilize multi-processor and thread hardware.

From the article:

The goal of the Unladen Swallow project is to use LLVM, the Low Level Virtual Machine compiler infrastructure, to build a just-in-time (JIT) compilation engine that can replace Python’s own specialized virtual machine. This approach offers a number of significant advantages. As the developers describe in the project plan, the project will make it possible to transition Python to a register-based virtual machine and will pave the way for future optimizations.

Good luck Google. May you bring it to pass.

A first programming language?

October 14, 2008

I’m well aware that this post could start a flame war (if any programmers actually read it).  But I haven’t written in ages because of my attention being divided between writing, work, and school.  I did some writing for The Daily Yonder, and Julie Ardery was terrific to work with and is an awesome editor.  If you’re interested in that, see my post regarding rural broadband from a few months ago or go to the Daily Yonder site and read the article.

So, I have recently come to the realization that, though my degree is in IT with an emphasis in software development, I really am not learning what I need to about computer science.  So I’ve decided to educate myself more fully.  I am almost finished going through John Zelle’s very excellent Python Programming: An Introduction to Computer ScienceI have also begun reading Programming in C by Stephen Kochan.  But my real first language was JavaScript.  It was the language for my first introductory programming class.

I won’t even  discuss the merits first languages – ask Joel Spolsky if you want someone’s opinion about it.  I would, however, say that Javascript prepared me for Python, and Python prepared me for C (as far as I can tell – I’m not that far into C).  There isn’t a divinely ordained order.  But I’m curious if some readers might offer their insight into which language they started with.