Thursday, February 12, 2009

Pondering Programming Languages

There may not be as many programming languages as there are gods in India, but to a novice like me it sometimes seems like it.

Perhaps a year or so ago I came to the realization that a career in technology would likely be the best way forward for me. "Technology" is a little vague, though. Fortunately, one of my brothers paid a visit and mentioned that system administration might be a good option. I mulled that over for a while, and after I started working for a startup in New York where I watched developers work day after day I started to get serious.

While my main, "official goal" remains to get into system administration, I've dabbled with some programming languages (plus html, a markup language). For reasons I can't quite remember, I started with Python. This, despite the fact that Ruby is the primary language in the office where I work. Mind you, I'm the small company's customer service rep, so it's not like I'm actually using these on the job. The tech guys at work encouraged me to look into Scheme as well, but for some reason I can't get it to work in my terminal on Ubuntu.

More directly related to actual system administration, I've started working with Bash scripting. The system administrator where I work has been good enough to begin showing me some basics of his job. This could work to his advantage as it would allow him to take vacations without having to carry the full load of work with him. With greater competency I could begin taking care of more routine work.

It isn't easy to find time for all this. Besides work, I have a family. My wife and kids need me for some odd reason (!), and so I typically have to get up pretty early in the morning to practice programming. I've also begun studying algebra on my own as well, as a prelude to Trig and Calculus.

Getting back to programming languages, and the questions I'd like to ask, I have some choices before me. With limited time but a willingness to study, I need to think carefully about which path I take. I am inclined to work with Bash scripting because it makes sense for an aspiring system administrator, but also Python because I like it and it makes sense to learn a language. Then again, I'm getting encouragement at work to learn Ruby.

So, here are my questions:

1) Do you know any programming languages? If so, which ones?
2) Given what I've said about my situation, which language(s) would you recommend?
3) Do you think I could learn both Ruby and Python at the same time (assuming I'm relatively intelligent)?
4) Are there any programming and/or system administration resources online that you would suggest?

3 comments:

  1. Adam, you crack me up. I had to laugh at the line about studying algebra on your own as a prelude to Trig and Calculus. You're aware that not too many people do that, right? I wish both sides of my brain worked too. . . .

    ReplyDelete
  2. Frank,

    Glad to bring a little mirth to your day. :-)

    It's an odd thing about the left side of my brain. I remember in college trying SO HARD to make it through Basic Algebra and just barely passing. When I lived in Brazil I went through a phase where it bothered me that I couldn't work with anything beyond balancing a checkbook. Then, late last year I took a basic Math class at college and breezed through it. Didn't even do the homework for the most part, and now most explanations of mathematics that are near my level make sense to me when I learn them.

    I have no idea what happened, but I'll take it.

    ReplyDelete
  3. 1) I'm fluent in C and have a basic understanding of the fundamentals of C++. I also know Pascal, BASIC (of a few stripes), COBOL (though I haven't used it since college), and assembly language for a couple of processors (PowerPC, Blackfin, x86, ARM9).

    2) I have no recommendations, believe it or not.

    3) Having no experience with either language, I can't comment.

    4) I'm personally a big fan of programmingtutorials.com. I've gone through various C/C++ tutorials at times. If their tutorials for the programming languages you're interested in are of similar quality, I imagine they'd be well worth your time.

    ReplyDelete