Yes, Cabe, I think it's wonderful to learn a spoken language--and increasingly necessary, almost, these days (especially if one is an American in Europe!). But learning a programming language without utility seems an exercise in futility...unless, of course, you were really into that sort of thing! Coders probably do it for fun, but it's not in my nature. For a job, however--that's a different story.
I find it may be a waste of time to learn any programming language for no reason. If I had a job that needed “X,” you bet I would be at it hardcore until I could handle the situation. I taught myself how to use Solidworks since I needed to draw 3D models for some jobs I had. Now I can handle it for anything. I suppose my last minute learning strategy isn’t the most diligent…
I feel your pain. Anthropologists/linguists concluded long ago that humans have a short window as small children for learning spoken language when it's as easy as falling off a tree. I began learning a second language, French, at age 11 in school, but it took years before I felt so at home in it that I dreamed in it and could read novels in it, two indicators that it's sunk in. It's much harder to start as an adult.
Yes, I completely understand you, Ann. it just occurred to me that as I am in the process of learning a second language, I experience this abstraction and complexity first hand as well. Living in Europe, I constantly marvel as I watch friends who are used to hearing so many languages and learned others when they were younger switch so easily between two and three, and my brain is still grappling with its second after three years of lessons. But easier to learn these things when we are young, I think. And as we've mentioned coding is a whole other language--just not a spoken one. I find writing and reading languages easier than speaking them personally, so perhaps coders have an advantage!
Thanks for getting my point. Spoken language is so natural to humans that it appears to be partly coded into our genes, at least the ability for it. Yet the process itself is highly abstract, even when we consider the structures of grammar. It may be the most complex thing humans have invented. In most cases, pictures are much easier to "decode" assuming everyone knows what the items shown are and their cultural and temporal context.
Fair point, Ann! I guess when it comes down to whatever medium we use for creativity, it's all perspective in the end. I don't think of language as abstract generally, but while watching the children of my friends learn how to speak, I do marvel at the process of learning and try to imagine what it must be like for them to try to put all of this complexity together. Probably pretty abstract!
I'd agree that it's not art by most definitions. But the process itself, not just what it produces, is definitely creative. Regarding abstraction, to a programmer it's no more abstract than the process of writing in English is to you or me. And that's actually pretty abstract.
You're absolutely right, Ann, I agree. It's just a different type of creativity than we would think of when we think of abstract types of art. But in its own way, coding also is a bit abstract as well. However, I won't even begin to try to understand the mind of someone who writes code and how that creative process works; I have a hard enough time understanding my own creative process (in writing, conceptual art, photography, music, humor...and other things I have attempted in my life)!
Some could argue that coding is more of a technical skill, so more a high degree of technique – but not art. I was once told that art should move a person in emotional ways, anything else is just mechanics. Art is subjective. Will the most elegant code sit next to a Picasso or Van Gogh in future museums? I am leaning towards no.
I've often listened to programmer friends discussing coding with each other. It's definitely a creative process: there's usually more than one way to do things at different points along the structure, and those choices involve creative thought and problem-solving. It depends to some extent on the language, but the creation of a program in (at least) some of those languages can be compared to the creation of a long-ish document written in English: there's a particular structure for a given overall outcome or set of functions, and there are subsections each with different functions stitched together to support that overall outcome. There's even grammar. Anyway, lots of room for creativity.
In many engineering workplaces, there’s a generational conflict between recent engineering graduates and older, more experienced engineers. However, a recent study published in the psychology journal Cognition suggests that both may have something to learn from another group: 4 year olds.
Conventional wisdom holds that MIT, Cal Tech, and Stanford are three of the country’s best undergraduate engineering schools. Unfortunately, when conventional wisdom visits the topic of best engineering schools, it too often leaves out some of the most distinguished programs that don’t happen to offer PhD-level degrees.
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.