Building Skills

I’ve recently updated two of my Building Skills titles based on reader feedback.
Somewhere in StackOverflow, the topic of starting with a given language came up.  It got me to thinking back on what I was doing the lead me away from the mainstream, billable skills and out to the edge of the envelope.
See Stack Overflow .  Cool social networking on programming topics.
Or What do people want in a book on programming?
A recent email said “I’ve read a little about C++, and Objective-C.  My next step will be to read a bit about Perl, Python and Ruby.”  I have a suggestion...
Revised some additional things that have confused readers.  And – bonus – added four appendices on testing and documentation.
In response to reader comments and questions, I’ve made a few updates to the OO Design book.
Here’s something I stumbled across.  A bunch of VB versions of the same algorithm; all of which are bad in the same unthinking way.
Check out the XKCD 409, comparing Python, C, Calvin and Hobbes in one swoop.
The best part of web publishing is correcting things.
I’ve had several good newbie programming questions.  Back in December, I had some questions from folks who hadn’t programmed recently, and needed to polish up their skills.  Their real-world questions helped me shape some training materials.  I had another tangential question, recently, that was even more interesting.
How do you learn Python?  By doing lots of small exercises and adding skills one at a time.
I’ve had this question twice in the last few months.  I have an answer.  Predictably, it’s Python.  The first question was the kick in the pants I needed to finish my book edits and revisions.  The second question was a helpful What To Do Next direction.
Announcing my Building Skills in Python Book:  Revised, Expanded, Corrected and Online Today!
Beyond the language, there’s a lot to Java.  There’s a build-up of skills from a core set to which other things can be added.  Here’s the skills that seem to matter most in my marketplace.
I spent some time with an editor discussing the idea of Programming for Non-Programmers in Python.  Ultimately, I couldn’t make the deal work out.  I wrote the book anyway.  It’s available now.
This is the last bit of an 8-part seminar on Web Services.
After a confusing and frustrating email exchange, I think I learned the following about people who are good architects, and people who aren’t. Perhaps I’m wrong about this, but some conversations are less productive than others, and these seem to be some factors.
See “Daily Life in an Ivory Basement ” for a great syllabus for a high-powered advanced Python course, called “Intermediate and Advanced Software Carpentry with Python ”. The audience is scientists – who presumably have the basics of Python programming down – and need to do more advanced things.
In an attempt to discourage those new-fangled automobiles, owners were sometimes ticketed for failing to use a hitching post. Some questions about Python are similar hold-overs from other programming languages. In Daily Life in an Ivory Basement , there’s a great discussion of three Python features in the thread “Learning Python as a CS Professor ”.
Several prospects have had massive database design problems, and were unhappy with the time, expense and complexity of database design. Bummer.
What a strangely wonderful thought from Luke Plant: “Why learning Haskell/Python makes you a worse programmer ”. A better question might be “How are you going to keep them down on the farm after they’ve seen Paree?
See Comments Fix Bugs for a cool war-story on why comments matter.
Scientific American just ran an article on Expertise, which lead me to the Cambridge Handbook of Expertise and Expert Performance . It appears that I may be on to something with this Building Skills idea.
ActiveState has a nice web site of Python recipes. Generally, great stuff. However, today’s [link ] is a common mistake, held over from days when computers had almost no usable memory. Those days are past, and the ASPN Control Break algorithm can be considerably simplified.
I like Python and I know Java. Why is it hard to know more than one (or two) API’s in enough detail to do useful work?

See /dev/null [link ] for a thoughtful rant on some dysfunctional design in Java. Let’s measure Java and Python using this ruler.

Is Python “better”? Should Java folks cut and run? No. But where there’s a choice...

Exploration.
One list of competing titles.
 
Finished converting to DocBook
Book is Done
Building Skills Content Management Culture of Complexity Data Structures and Algorithms Databases and Python DocBook Economics of Software Macintosh Methodology for Non-Programmers Open Source Projects Personal Web Toys Technology News Test Driven Reverse Engineering The Lure of XML Unit Testing in Python User Interface War Stories and Advice

Previous topic

Good-bye Old Mac

Next topic

Reader Feedback – what a helpful thing

This Page