“Gueth” what I’m learning

I got a new book in the mail yesterday. I told my mom,

“I’m waiting for an Amazon delivery today. I ordered a programming book. But it doesn’t look like a programming book.”

That was all I said about it. I don’t know what went through her head when she opened up the package and saw this:

614i72ularl-_sx377_bo1204203200_

Probably it was something along the lines of, “Yeah, that looks like something Rebekah would buy.”

I haven’t gotten very far in it yet. So far, the writing has been playful, well-organized, and assumes that someone attempting to learn a Lisp dialect probably knows basic programming stuff, and things unrelated to programming that you don’t notice you’re picking up, like how to install dev tools.

The author is an Emacs fan (makes sense if he likes Lisp), which probably means I won’t have to deal with vim. Both editors have a steep learning curve and an impenetrable host of shortcuts and stuff that you really have to put effort into learning in order to make use of them–but vim is unusable if you don’t know all those tricks. If you don’t know Emacs’s tricks, it just turns into gedit with a bunch of weird add-ons (including, if I remember right, a Tetris game, one of those chat-bot therapists, and ADVENTURE). I don’t mind Emacs really, but I hate vim.

Does that mean I’m destined to be Team Emacs once I’ve actually used it for dev? Eh. We’ll see. I’ve always been a Notepad++/gedit/nano girl. I like simple, fast, with code coloring, and a lack of clunky autocomplete features. I don’t like IDEs or editors that try to do too much stuff for you (this seems to be the definition of an IDE). Maybe I’m nursing my *nix influences here, but I prefer a command line and a simple editor–and whatever languages or frameworks work well with this lightweight arrangement–to the bigger, more heavyweight stuff. Code is difficult enough without having a steep learning curve on the stuff you rely on to write it, and I’m impatient, remember?

I am trying out Sublime Text though, because I’ve only ever heard good things about it–and I have to say, it makes the best first impression ever. It does have autocomplete features, but they don’t seem to be slow or obtrusive, and there’s probably an off switch for them. Besides, the rest of the program is beautiful. It starts up and shuts down instantly. gedit takes a few seconds to pop up, while the icon in my Dock bounces. Sublime bounces once and then stops, and it’s up. When you quit, it just goes poof. And the code coloring is really pretty–the designers took time to make sure the colors looked nice together.

I care about that kind of thing. I know some people are like, “whatever, colors, style, just make it functional”–and that’s my first priority, sure, but I stare at code a lot. I have a thing about aesthetics. I don’t like interfaces that don’t flow well; I really don’t like code that’s indented wrong; and I like my tools to be beautiful.

Even my terminal has custom settings to make it look how I want. I use cyan-on-navy, slightly transparent background, 128×32. It’s comfortably readable at any hour, it’s attractive, and I think the slightly larger window size setting is a little easier to read (even if you don’t like 128 columns, consider altering for 32 rows.

Anyway, enough about text editors. Let’s talk about Lisp, and Clojure, and my shiny new book.

I have no clue where I found this book, but I’m glad I bought it. Clojure is an interesting Lisp. It runs on the JVM, actually, which I found surprising but intriguing. “Hello World” takes like ten seconds to run, but Java is on everything, and even our cell phones are quad-core by now, so for most purposes, it’s “who cares about speed” again.

 

I know that one of my two favorite prospective colleges (both of which sent me acceptance letters over the weekend, by the way) teaches Racket. But I figure functional programming languages can’t be that different from each other–it’d probably be like switching from Python to Ruby or something.

If not, oh well. I do better in classes if I don’t know too much about the subject beforehand, anyway. I get kind of impatient spending time on proving I know stuff I’ve already shot past. (I’m okay with doing stuff I know how to do in order to make something, of course. Even if it’s not fun. Boring and tedious are fine; it’s pointless I don’t like.)

I’ll update later when I have more to share on this. I can’t say firm book recommendation yet, but I like it so far.

UPDATE: It looks like you can decide for yourself. The text is available online!

Advertisements

6 thoughts on ““Gueth” what I’m learning

  1. Great!!
    I also want to learn LISP, some time ago I read a little of an ebook called “Practical Common Lisp”, but I had to stop because I was not having much time. Now I’m studying C, previously I only had made some simple programs with it. While I was searching for materials, I found something very interesting; it’s an ebook called “Build your own Lisp” that uses the C language to make a custom Lisp.
    Just one last thing, it is funny but the description you made of a text editor you like is the same description I have for Vim (” simple, fast, with code coloring, and a lack of clunky autocomplete features”)… I’m not a very fast typist but I really like Vim, however someday I also want to try Emacs…
    May you have a good learning with your new book!! 😀

    The ebooks I mentioned:
    http://www.gigamonkeys.com/book/
    http://www.buildyourownlisp.com/contents

    Again, sorry if something is wrong with my english, I’m working on it.

    Like

    • Vim fails the “simple” test for me, for no other reason than that I don’t know how to use it. A lot of people are really productive in vim, but I find myself mashing Esc and : at random intervals, trying to get into the right mode, and having to look up stuff like how to quit so I can go back to nano. But to each his own–you get points for being hardcore!

      I want to learn C, too. I do know of an online book for C by one of my favorite code book authors; it’s here: http://c.learncodethehardway.org/book/
      It’s not finished though. He’s still working on it so stuff might be missing or whatever. If you’re using something else, you might look through this one if you get stuck or bored since it’s online for free.

      Like

      • You’re right, when I started using Vim it was a little annoying, I had to invest some weeks to be OK with the basics.
        Thanks for the book recommendation, I read some of the first chapters and liked the style, it seems very intuitive. Certainly it will be very useful! I’ve been reading some books I borrowed from the college library, but sometimes I become a little bored of them.

        Liked by 1 person

  2. I really like sublime text and Atom editors for programming. I, like you, enjoy the simplicity, configuration options, and do one thing right philiosophy when it comes to editors.

    I have been meaning to learn all about vim so I can join the crowd and see what all the hype is about, but my time lately has been drawn more towards learning the intermediate skill level interworkings of Githib and utilizing Jekyll to move my blog there. Maybe one day I will have the time and patience to sit down and learn vim or emacs, for now though it is just one more thing on the long list of projects for when I have a rare moment to myself.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s