3 ms·
I found programming a slow, grueling task until I had an ephiphany one day--it's like learning any other [spoken] language. Now, I don't know if you're particul
by bobwaycott 16y ago
I found programming a slow, grueling task until I had an ephiphany one day--it's like learning any other [spoken] language. Now, I don't know if you're particularly adept at picking up foreign languages, but the moment I realized programming itself was the new language, I began viewing programming languages through the lens of learning a new grammar or syntax or vocabulary, and everything opened up for me. This was the same way things went with learning a foreign language--once I understood that I was still just expressing myself verbally, saying the same thoughts, it was only a matter of vocabulary, grammar, and syntax.
Since then, I have picked up new languages that interest me far more rapidly. I don't focus on how it compares to any other language I know or use. I don't focus on it from the perspective of how classes and functions differ. I look at any new programming language from a grammatical and syntactic view--and once I have read enough code & documentation to understand its grammar and syntax, I can start coding productively. That's the point I begin studying classes, functions, built-ins, libraries--the grammar and vocabulary of implementation.
I am by no means an expert programmer. I'd never call myself that. But I do find that many would be better programmers if they understood the "language" of programming. Learn as much as you can stand about data structures & types. This is core--especially types. I have so often been frustrated by inherited code that didn't show a solid understanding of data types (e.g., strings, ints, arrays, etc.). Learn about classes, functions, inheritance, etc. These are the building blocks of language, if you'll permit extending the analogy--it's a bit like knowing how to structure a sentence, capitalize, punctuate, etc. Learn the language of programming before you ever try to learn a programming language. This is, perhaps, what you're missing. You're using a programming language to understand programming. Take a step back and understand programming itself first. Then sit back down with your language and do programming.
Regardless of chosen language, the task is the same and the result should (usually) be the same. The chosen language is really just an implementation detail. You can write a program in Ruby, Python, C, PHP, etc., and it's still going to be the same program. Most programmers, I believe, tend to choose the grammar & syntax they like best. But the job of programming remains the same.