Learn Concepts Above Language
One of the things I'm most grateful for with my education is the college's foresight to teach the fundamentals of programming over the intricacies of a single language. I've coding in so many different languages, but I've always felt comfortable, even went getting into something brand new because the concepts were largely the same, the syntax is really all that changed.
My first two classes at college where both in C++. Certainly we spent time talking syntax of this language, but the majority of our classroom time was spent working through concepts on the white board. I remember walking through all the different loops, walking through recursion, diagramming how classes worked, and so on. On lab days, we were instructed to take these concepts we had learned and code them, which meant you had to first understand them before you could program them.
Classes were never named "C++ Programming" but rather based on the concept they we teach, things like "Advanced Data Structures and Algorithms" (classic C) and "Computer Design and Architecture" (SPARC Assembly), once again implying that it is more important to understand the concept of what you are doing rather than the language you are doing it in. The material for the class was chosen first and then the programming language that best fit the material was used.
The great thing about this methodology is that the concepts don't change, only the implementation does. The "Programming Languages" section of my resume is huge. It's not because I spend all day programming in ever language I can find (though I often do spend all day programming), I just find that once I get some basic syntax of a language down, I can do anything I want to with said language.
This has proven to be a blessing in the job market. Companies I have worked for often have old projects written in dated languages that need up keeping or clients will ask for things programmed in languages I'd rather not use. I actually started a job once where I was programming fulltime in a language I had never used before and no one noticed. Instead of having to learn in depth what the language require, I know fundamentally what to do and then it's just a matter of referencing the syntax of how to do it. If I didn't understand the higher level concepts, I wouldn't be able to so fluidly move from one language to the next. And if I couldn't do that, I'd probably be desperately seeking work in the dwindling classic ASP market instead of having a world of .Net development positions available before me./tds
This article has been view 438 times.
|