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.
For industrial control applications, or even a simple assembly line, that machine can go almost 24/7 without a break. But what happens when the task is a little more complex? That’s where the “smart” machine would come in. The smart machine is one that has some simple (or complex in some cases) processing capability to be able to adapt to changing conditions. Such machines are suited for a host of applications, including automotive, aerospace, defense, medical, computers and electronics, telecommunications, consumer goods, and so on. This discussion will examine what’s possible with smart machines, and what tradeoffs need to be made to implement such a solution.