I think that by taking the C class, it will start you on a long road
towards programming - some of the topics you may encounter may not be
immediately applicable to your RoR or PHP learning experiences, but it
should provide you a nice foundation in problem solving (from a
programming perspective) and possibly a starting base in
object-oriented programming. The ability of working and learning with
others in a classroom setting could potentially provide insight and
feedback as a collective learning environment.
I suppose the only thing I would worry about in a classroom setting
would be the pace. Sometimes if I'm really gearing up to learn
something new, I'd prefer doing my own research through StackOverflow
and a Wrox intro book rather than a classroom. That way, it lets me
move along at my own pace, skipping the rudimentary lessons and
focusing more intently on what it is I'm there to learn.
Mark A. Pernotto
On Tue, Jul 26, 2011 at 1:02 PM, Joe Hourcle
<[log in to unmask]> wrote:
> On Jul 26, 2011, at 3:31 PM, Lepczyk, Timothy wrote:
>> Thanks everyone. The reasons I thought of taking the C course is a) it's free, b) concepts might be transferrable to other languages. I may continue to focus on Ruby on Rails.
> Before everyone manages to scare you away from learning C,
> if you're going to be doing a lot of programming, it's useful to
> learn other languages so you can see how they handle
> different tasks. C is particularly useful as a lot of other language's
> implementations were primarily written in C.
> In college, I took a 68k assembly course ... I've never done
> *any* assembly since then, but it makes you appreciate the
> issues in optimization, and just how low-level you need to get
> when talking to processors.
> With C, pointers and pointer arithmetic are a bit of a pain,
> and strongly-typed languages aren't the greatest for all
> tasks ... and don't get me started on C-strings ... but you'll
> learn a lot ... even just where to look for people screwing
> up their assumptions & creating security problems because
> of off-by-one issues or screwing up the length of their strings
> or neglecting their garbage collection.
> ... and, understanding C will also help you when it comes
> time to install stuff, especially if you're trying to port someone's
> linux-centric code to Solaris or MacOS.
> As for the stuff that translates:
> searching for the missing semi-colon
> error messages that make no sense
> finding the 'smart quote' that your lab partner pasted
> in because they do their editing in MS Word.
> um ... I'm not selling this very well, am I?
> Anyway ... C is a useful language ... almost all higher languages
> have some way of binding to C code, and if nothing else,
> learning it means you'll be able to port over someone's
> 1k line C program into 20 to 40 lines of whatever other modern
> language you prefer.