One positive example of a book that is ageless when measured against internet time is Linux Programming by Example by Arnold Robbins and published by Prentice Hall. Don’t let the 2004 publishing date fool you, the book is just as useful today as it was all those long, long three years ago. A C biased book on the subject of the fundamental core API’s such as file and memory management within GNU/Linux and based on the explanation of free software core commands, this is a powerful and valid helper for needy learners of the fundamentals.
[Click here for an expanded, updated version of this blog entry which hasnow been published in issue 17 of Free Software Magazine!]
Programmers. The system administrators worship their bit twiddling capabilities. The users exchange vast quantities of beer for new features and tools. And the project managers sell their soul when they make the magic work. But inside the average programmer's psyche are several demons that need exorcising.
You know what I'd like to see? I'd like the various Free software groups (whether they use "open source" or "free software" doesn't matter) get together to produce the greatest educational tool the world has ever seen:
A website dedicated to Free / Open Source code. Not programs. Code.
I recently re-read David Brin’s essay, “Why Johnny Can’t Code”. He posits an interesting idea, one I’ve had for a while—we are raising a generation of techno-illiterates through our focus on high-level languages, rather than on the simple languages like BASIC, on which many of us cut our geekteeth.
What I observed had nothing to do with programming, and everything to do with Mr. Brin’s approach to computers. His point may be valid, but his sight is limited by his own understandable ignorance.
He forgot there are other options.
Programmers and system administrators have many options when it comes to choosing a language to write scripts. One excellent choice is Python, a programming language designed to be easy to learn yet powerful enough to complete real-world tasks and requirements. Core Python Programming, 2nd Ed. by Wesley Chun and published by Prentice Hall is the text that will guide you through the Python language and integration with other applications and programming languages. Mr. Chun presents both basic and advanced Python topics in an excellent manner. If you are looking to brush up on or learn Python, Core Python Programming, 2nd Ed. is the one book you need.
There are really two bazaars that fire the boilers for free software: one dominated by talented amateurs who create for love; the other, by professionals who create for money. This creates a curious bi-modal nature to the free software/open source community: there's always a certain amount of tension between the schedule-driven bottom-line interest of commercial entities like Novell, Red Hat, or even Canonical and individual hobbyist developers.
I finally began learning python. I wrote my last program in the 80s in Apple Basic, and here I am again starting to learn a new language. I can already guess what my biggest problem will be. I am incredibly impatient. How can I learn to program when I refuse to read the documentation all the way through? Will I succeed in writing a program or am I doomed to give up? No need worrying about it. I type python on the command-line, and start.
Last week I mentioned my decision to learn Python and write a free software program. I found some cool online tutorials. I found my Learning Python book, and I was ready to begin. So like many a programmer I sat down in my chair, opened my books... and watched "Buffy the Vampire Slayer" instead.
Why aren't there more female free software developers out there. In my attempt to find out, I decided to write a program and see what barriers got in my way.
Most free software developers are men. Women are vastly under-represented in the world of free software. Being a woman, I wanted to know why, so I tried to do it myself. The first barrier was my inability to program in any modern computer language, so my first step was to learn a new one.
First I had to pick a language to program in.
With all of the recent argument over the lack of women in the free software community, especially as relates to the reports from the Free/Libre/Open Source Software Group, which state that only 1.5% of the free software development community is female, and that women are actively discouraged from becoming free software developers. I decided to take a new approach and ask myself, "Why am I not a free software developer?"
Back when I got my first computer (a TRS-80 “Color Computer” with a whopping 32 kilobytes of RAM and Microsoft’s “MS-BASIC” in ROM), programming was something that computer users took for granted they’d have to do. That’s what you got a computer for! But something dark and sinister happened after that: a great divide opened up between the ‘developer’ lords and the ‘user’ serfs.
Fortunately, free software has liberated us from this digital feudalism, and revived a new middle class of ‘user-developers’.
I’ve always been interested in how our brains work. The brain is a very powerful computer, and we still don’t really know just how it really works.
As a writer and a programmer, I sometimes experience a “wow” moment. Today, I had one of them.
I am a proud Ruby programmer; Ruby saved me from Perl, and I can only be extremely grateful to Matz for creating it. I can say now that I “know” Ruby (even though I don’t really know it as well as I would like). And yet...
And yet, I don’t. At all.
I've been programming in Perl for years - over ten now in fact - and I've written numerous books and articles on Perl and Perl programming. I've also worked with Python and written books and articles on Python programming, including a guide to migrating Perl applications to the Python language. For a while I really saw Python as an alternative to Perl, but after so many years and experience with Perl and what was possible with the language it is difficult to move on from the 'Perl comfort zone'.
The other day I saw a filler article in an Aussie newspaper that was all about blogging (I would give you guys a link but firstly, I can’t remember which paper, and secondly, it really was a fluff piece). The theme was something along the lines of “Hey, there are billions of blogs out there now. Who reads them? What’re they all about?
The K Desktop Environment (KDE) is built on the QT GUI toolkit. QT is more than a set of widgets: it has evolved over the last few years into a high quality cross platform application development environment with a rich set of tools and utility libraries. "The Book of Qt 4: The Art of Building Qt Applications", written by Daniel Molkentin and published by No Starch Press, thoroughly describes in exquisite detail the main widgets, algorithms and utility libraries (as well as tools such as the QT designer) needed during the application creation cycle.