Hacker News new | ask | show | jobs
by tigerlilythecat 1965 days ago
Author here. Looking to get feedback from programmers before publishing. You can download a sample chapter at: https://programmingforcats.com/download/
12 comments

Firstly, this is frikking hilarious. I giggled so loudly while reading it that my girlfriend asked what I was laughing at and she was so captivated by it that I had to sit on the couch with her reading it, flicking to the next page of the downloadable whenever she'd finished.

Secondly, I applaud the style/premise of the book. Cats especially are aiming at an underserved demographic that would absolutely be interested in programming but do not have the same number of and level of quality of 'ins' (ways of getting into programming) as other demographics. Along the same lines I would love to see 'scripting for Sims 4 builders' or 'Love Calculator and other scriots for your next sleepover'.

Thirdly, I really like the way that this is pitched. I feel like so few tutorials give a high level overview of programming rather than diving into specifics of languages. I can only think of "Hello Ruby" as being analogous, although I'm sure others exist.

Finally, I love the art style. Not much more to be said than that.

I can't really think of anything critical to add.

Thank you! I agree that cats are an underserved demographic! P.S. Tell your girlfriend to buy you the book for your birthday :)
As you liked this, you'll adore the original (?) entry in this genre, the delightful and pictorial

Why Cats Paint - A theory of feline aesthetics

http://www.monpa.com/wcp/

Are there any good resources for felines in tech?
So, there is already "The Naming of Cats", the book needs "The caching of Cats" and you have the two most difficult chapters covered.
If you like The Naming of Cats... check out RFC 2100
We need a little discussion as to the best programming paradigms for cats - I'd call it "Cool for Cats"
It is interesting how cats will implement tail recursion.
My cat still seems to run out of space when tail recursing when certain values get adjusted, I figure he needs to go into functional programming and no longer use shared and mutable positional values with what he uses to thread.
Awesome!
Don't forget "The Herding of Cats"!
Well, the two most difficult things with cats is how to name them, how to cache them, and the offset by one when counting the herd.
Would you like to have my username instead? If yes then I can message you my details via your site and we can mail hn together to request a change.
Aww I'm touched! But no need, this is not my main account and I only use it for this book, while I see you have a lot of history already. But thank you!
No worries. I like your book sample and thoroughly enjoyed your illustrations :)
Excellent work! Did your dog delete the sections on cat & mouse games, and em-cat-bedded programming? Oh, and making sure the code was appropriately tabbified?
I don't particularly like cats, but the intro is so well written I'd been tempted to read a little further.

A few folks have already vented that they don't like it. Don't care too much about it. A good bunch of people might love a book like this.

Herding cats is always my go-to metaphor for software projects.
this is purrfect, I love it can't wait to have the full book: good luck finishing it!
It will look good on the bookshelf next to https://www.goodreads.com/en/book/show/3113099-mr-bunny-s-bi...
Ethics? I'm pretty sure cats are above such pedestrian concerns.
Yeah violating ethics is something that happens when you get caught doing something others don't like and like any non-critical error a cat can just walk away from that or spend their time reprogramming the short-circuited device.
Will there actually be basics of programming in there or is it just for cuteness?

Buying it either way but it might be a means to finally kindling an interest into it in my spouse. :P

Meow. Mwahaha. Why Java? What made you think that cats would like OOP and lots of boilerplate?
To answer seriously: it might not be most people's favorite language, but it's probably one that the most practicing programmers today and people who ever took a programming language in school any time in the last 30 years, can read; and therefore it's probably the best choice as the basis for a humor book.

Java has so little syntax—and yet what little syntax it has is C-ish—that it's mutually intelligible to everybody from programmers who only know C, to programmers who only know Haskell. (Maybe not to programmers who only ever learned 6502 assembler, but they have their own humor books published 40 years ago.)

(Is there a term for this in linguistics? A measure of the eigenvector of mutual intelligibility a language has to all other spoken/written languages?)

i don't know, but, why not, say, BASIC? (most programmers being able to understand) or, Smalltalk, (little syntax, that ''fits inside a postcard'') or a lisp?
BASIC was commonly understood in the 80s despite lots of very different dialects and also in the 90s mostly because of Visual Basic. Is it still true that developers are familiar with BASIC? I would expect that JavaScript and maybe Python replaced BASIC as lingua franca. JavaScript looks simpler because it basically (pun intended) doesn't have a standard library to learn, with all the problems deriving from that.

Java doesn't seem a bad choice because if one sticks to the basics probably everybody can figure out what a simple program does. Smalltalk, I wonder how many people here ever read a Smalltalk source file [1]. Lisp, maybe more, at least to look once at all those funny parentheses (disclaimer, I wrote my fair share of Lisp but I know the effect it does on most people.)

[1] One random Smalltalk project from the list of trending Smalltalk repositories on GitHub https://github.com/svenvc/zinc

What you see in the Zinc repository is (obsolete) serialization format, not the code the programmer works with.
BASIC was commonly understood because it had no structure or boilerplate to learn, just a few commands.
I think you misinterpreted. It's not that more programmers know Java; it's that more programmers know a language with a syntax similar to Java.

I don't really know Java. But I know C, and Java looks enough like C that I can get what Java code is trying to do.

Personally, I've never learned any language with similar-enough syntax to BASIC, to understand what a (real, non-trivial) BASIC program is trying to do. Would I recognize a BASIC subroutine if I saw one? Probably not.

And it's not about a language having "less" syntax, either, but rather about it having very few syntactic features that're unfamiliar. Smalltalk is a rather large novelty the first time you see it. (`ifTrue`? You mean I've got to use closures to branch?)

"Java has so little syntax... ". I pronounce this the understatement of the (admittedly young) decade.
I took Object Pascal, C, C++, and Visual Basic. Never Java
Java is like an older brother. He gets all the work done, takes responsibility, accepts blame and still takes a lot of flak. Undetered.
I was thinking cats would prefer scala.
Looking at my cats, I presume they ignore anything neat and impressive, prepared for them. And instead go for the first thing that satisfies their current whim.

So, a hodgepodge of bash, basic, Python, JavaScript and some C. Or Java if it happens to be just on top in some menu. And NIH: obviously theyr own ZiggyLang or ZazaScript.

You are absolutely correct, because there is a great Scala library called "Cats"! https://typelevel.org/cats/
Think about a chapter about electronics! Soldering with cats is... Weird!