isn't quite ashamed enough to present

jr conlin's ink stained banana

:: Programatic Paralysis

i started coding in Basic. Sometime later, Borland introduced TurboPascal, and i eagerly switched to that (carrying a copy of the compiler and IDE along with nearly every one of my projects on a 1.44 disk in my shirt pocket was neat). i later quickly adopted C, where i spent a good deal of time. After that came Bash, Smalltalk, Perl, PHP, Javascript, Java, Python, Go, and i'm sure i'm missing a few in there somewhere (Ada and Cobol both come to mind).

Suffice to say, like most every programmer out there, if it's based on Algol, i've probably worked with it and can learn the syntax in about 2 hours. Frameworks, of course, come much, much later.

There are folks i work with who eagerly jump from language to language. They herald the joys of Erlang and Haskel, occasionally noting the benefits of Lua.

Me? i tend to be a bit more pragmatic in my age. i have problems that need solutions. i understand that certain languages bring with them certain benefits, and there's an odd level of comfort with some systems that makes them favorites.

The odd thing was that recently i was thinking about writing a program for a task at home, and i kinda sat frozen trying to thing of what to use. This is a bad thing. i code to solve problems, not to just write code. i like to think that i am a bit more practical than theoretical when it comes to solving problems, so while i happily spend time to map out a problem space on paper before i start building, i want to be able to reach into the toolset quickly and get things running.

To that end, i think i'm going to clean out my toolbox a bit and focus on two languages: Go and Javascript.

Don't get me wrong, i'll still use stuff like Python, Bash, et. al where they make sense (Perl is a FABULOUS language for dealing with large blocks of text, and Bash fully proves the value of Taco Bell Programming, but for quick tasks: Go and Javascript.

So, why those?

Well, Go is fraught with issues and catches, but it works reasonably well, and is more than fast enough for most needs. It also straddles the happy middle ground of "interpretive" and "compiled" fairly well that dorking around in code doesn't blow hours of time trying to figure out what the hell just happened. It's also very much built toward being a back end for webservers, which i tend to build a lot of, so there's definitely that.

Javascript is the language of the browser. It's how you program a client to do things. i tend to write in Vanilla.js because the additional frameworks are more legacy than legit. Kind of like the reason that i use vim as my editor rather than something fancier.

Python, for all it's spiffery, seems to suffer from being a bit too spiffy. Packages and libraries are a bit of a nightmare and while it's nice as a prototyping language, there are significant problems going much beyond that. Likewise, Node.js (which is just javascript on the server) has a lot of interesting applications, but suffers from the same sorts of issues that mod.perl and most other server side scripting languages hit. i'm not saying that they're impossible to circumvent, but it's a bit like turning a VW into a high performance racecar. By the time you're done, you don't really have a VW anymore.

i'll also say that i'm not advocating that you should do likewise. Each craftsman has his tools, i just prefer having a smaller set. (Heck, my favorite knife is still one that i bought 25 years ago from Wacamaw Pottery for $20.) i'd just encourage you to review your tools and see if you might want to reorder the preferences.

Blogs of note
personal Christopher Conlin USMC memoirs of hydrogen guy rhapsodic.org Henriette's Herbal Blog
geek ultramookie

Powered by WordPress
Hosted on Dreamhost.