Re: Programming as Craft, dbucklin (CS), 11/14/2019 ------------------------------------------------------------ dbucklin recently posted on programming as a craft[1]. Before I get to why the post meant something to me, and what it meant, I'll share a few bits: "To me, though, creating these programs is a method of self-expression. Text-manipulation utilities are my tools and text, sometimes code, sometimes prose, is my medium. "Words like 'self-expression,' 'tools,' and 'medium' for me evoke images of an artisan pulling and shaping clay into pottery, a carpenter carving wood into furniture, or a jeweler working and finishing metal and stone. The act of making something through the application of skill and care is *craft*." "If I wanted to make my own clothes, I wouldn't try to mimic those that produce clothing at an industrial scale. There's a long history of people making their own clothes resulting in a rich body of tradition and literature. There is no long history of domestic computer science that focuses on application of the skill by the individual for their own benefit." And a few phrases: "the needs of industry" "slow code movement" "connects me to a tradition" For my part- and some of you may have encountered this language in talking to me or reading my posts- I've long asserted that "I am not a programmer". But I've asserted it with reservation, because I really do enjoy programming. dbucklin drew the distinction that I was missing: programming as a craft vs. programming for industry. I've programmed for industry in the past. Since I've done very little, I'll share the projects that I rememeber: - A Windows print driver written in C, designed to interact on the main port (usb/parallel) but also on a serial port to the same device. - A simple CRM software written in Perl, for a small company I was working for in customer service who was doing things on paper before I got there (seriously, write a note and take it to shipping for a back-order??). - A small application in VisualBasic for printing certain types of labels easily. - A few small apps in VisualBasic for programming RFID tags. - Lots and lots of PHP for various web-based applications (it paid decent, and I'm not a purist, nor am I too proud). And that's about it. These things were done for a paycheck, with a focus on suiting the needs of the client. I barely dipped my toes into the industry of programming. To be honest, I didn't really enjoy it. When it comes to craft, that goes back to my earliest days with computers. BASIC was what drew me into computers in the first place. I've told the story, I'm sure, but I'll summarize it: a friend showed me a game they wrote in qbasic. It was a video game that he made himself! I was super excited to be able to customize a video game, so I asked for the source. Not wanting to hand it over, but not wanting to be a jerk I suppose, he printed the source code up on tractor-fed paper. Just as he was about to hand it to me, I think he saw that I was just a little too excited, so he tore off the top half-page and told me I'd have to figure that part out for myself. Having to type that whole thing in (it was horribly programmed), and having to figure out part on my own, was what introduced me to programming. From there I've dabbled in as many programming languages as I could reasonably manage. I love finding them, old and new, setting things up, and working with them. I'm fond of simplicity. I'm fond of scripting and interpreted languages. The adventure never stops, with new languages presenting themselves on a regular basis. Some I do very little with (sorry "R"), others I adopt and use more than is reasonable. But throughout all of this, I'm having fun. Now, I'm not sure I'd go so far as to call myself an artist. I'm not a programmer. But I can certainly get on board with viewing myself as "crafty" when it comes to programming. More important that terms and distinctions within craftiness, to me, is the understanding that I *am* a programmer in a certain sense, in the more wonderful sense. I appreciate learning that from dbucklin's post. If you're a programmer in the industry sense, or perhaps in both senses, that is great, and wonderful, and I wish you the best in luck and experiences. If you're like me, simply crafty to some degree, I hereby send you a virtual high-five. Life is good. [1] gopher://sdf.org:70/0/users/dbucklin/posts/craft.txt