More resources like 'Automate the Boring Stuff with Python'?
April 26, 2022 8:23 AM   Subscribe

I'm working on building up my coding skills, and have clicked with the style of 'Automate the Boring Stuff with Python' by Al Sweigart. Can you suggest similar resources for other programming languages?

Besides Python, the languages I'm most interested in learning are Java, JavaScript, and C. My reasons are:

a) Creative - I'm fairly proficient creating things in Max/MSP, and would like to extend my capabilities in that (Max has a JS integration), and I've had brief dalliances with Processing (Java based, apparently) and SuperCollider (C based, apparently).

b) Professional - I'm edging towards a career change, and I figure as well as it being fun, having some literacy in a few coding languages is probably an asset.

For b), I guess some kind of certification would be a good idea, however that's not the first priority. The focus here is on learning the basics in a fairly accessible way (but less hand-holdy than something like Codecademy), with regular little project challenges along the way (Automate the Boring Stuff has a handful of these at the end of each chapter).
posted by threecheesetrees to Computers & Internet (8 answers total) 16 users marked this as a favorite
 
I know that’s from a specialist publisher - I’d start by writing them and asking! Or write Sweigert.

"I love your book, what else do you like?" seems like a pretty non threatening question.
posted by clew at 9:42 AM on April 26, 2022 [1 favorite]




Mefi's own Al Sweigart. I dropped him a MefiMail.
posted by Pronoiac at 12:50 PM on April 26, 2022 [3 favorites]


Learn Perl. It's Super Shell. It can be all of C based procedural, or Java based boilerplate or Javascript/Python OO based all at the same time depending on the need at hand.

I spent 20 years automating the crap out of things, Mostly in Perl. Python, Java, Javascript mostly suck *redacted* in the either too low level or too high level for the Whipupitude of Fuck This Let Me Automate That Shit ease. There's a reason it's the swiss army knife and systems duct tape. It's not esoteric and academic, Perl was designed for hackers and not the purity you find in Java or Javascript or Python. Learn to love a language that was/is created for a bit of the vi/emacs sort of curve on the power/popularity spectrum factoring in the ease of automating something with a language that caters to that vs something like Java/Javascript/Python/C/etc. that all have their own place, Just not the ease of really multi paradigm flexibility that you could get from Shell/or better Perl.

There's a language that was meant for your purpose.
posted by zengargoyle at 1:00 PM on April 26, 2022 [6 favorites]


Response by poster: Thanks everyone for the input so far. Some interesting rabbit holes to fall down already! And good point about checking out the publisher's other offerings, I embarrassingly hadn't thought of that (oops, what are research skills again?) and I do like the look of some of those.

I should have known this would be a 'Mefi's own' situation, I've sent AlSweigart a message ...
posted by threecheesetrees at 9:13 PM on April 27, 2022


Hello! I'm the author of Automate the Boring Stuff with Python. I've been looking at how to write Automate the Boring Stuff with Insert-Language-Here, but Python seems uniquely suited for "automate practical stuff": it's the easiest language to learn, it doesn't have a lot of boilerplate or unnecessary code for small scripts, and it has a large number of third party modules to do stuff like web scrape or parse PDFs & spreadsheets.

I've been looking at JavaScript and Java as possible languages to write a book like this, but they don't really feel like "devops" languages. Perl is fairly old at this point and I'm not certain how well-maintained its third-party module ecosystem is. R is used by data scientists, but I don't know much about that language.

But as far as "learn to code for beginners", I haven't read through enough books to make a solid recommendation yet, unfortunately. This is something I really need to look into more though.
posted by AlSweigart at 11:16 AM on April 28, 2022 [4 favorites]


As far as certifications go, I always advise people that reading the study materials for certification exams is great. But only spend the hundreds of dollars to take an exam if you need that specific cert to get a job you want. It's real easy to end up spending a ton of money on certifications that you never need.
posted by AlSweigart at 11:19 AM on April 28, 2022 [2 favorites]


Think Python by Allen B. Downey.

Only because someone was thinking of translating it into French but instead decided to do it in English and use Perl 6 (before it was renamed Raku.) I like IRC channel proofed and suggested like many others, no real big deal.

I think like "real beginner" is probably a hard task, as is a good X in another language. What I like to do is check out like For learning, refreshing, or just for fun! or Rosetta Code and just see how different people handle different problems in different programming languages.

I think my favorite beginner book... was Starting FORTH - FORTH, Inc but that was back in the late 80's and had to explain a whole bunch about computer operations and and stuff and is a rather niche sort of language.

I also liked Higher-Order Perl but as just an example of... I've seen attempts to make Higher Order Ruby, or Higher Order Javascript that just didn't come to fruition because it's probably hard or at least a lot of work to do the X to Y sort of thing on a grand scale.

I wish you luck. I probably wouldn't know a good X but Y or a good absolute beginner's guide if it snuck up and bit me.

Oh, final note... another of my favorite late 80's books was a library book that was almost Rosetta Stone in that it had a section/chapter per language at the time and presented a problem, then showed the code in a language, and then spend a page describing a bit about what the code was doing. Old, so this one is in Pascal, this one in Smalltalk, this one in Assembly, this one in Ada.... If it's short and sweet enough it's easier for the reader to grok the code.
posted by zengargoyle at 4:27 PM on April 30, 2022 [1 favorite]


« Older Is there a way to get a fully rendered digest of a...   |   Current birthday candle protocols Newer »
This thread is closed to new comments.