Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

In a presentation, i stumbled upon the Statement "JavaScript is a Language everybody uses, yet nearly noone seems to find it neccessary to learn how it works".

And indeed, not many of the programmers i know could explain javascript's prototype concept, or why functions need to be 'bound' to this.

CSS seems to be another example of this behaviour: everyone knows how to put a 'class' to an element, and to write a style .myclass { ... }, but only a few even know of margin-collapse.

My question is: are there more of those languages, technologies, concepts, that are so prevalent that we dont even notice them as something worth learning while we use them?

share|improve this question
    
This is true of every popular programming language or technology. Relatively few programmers do the reading necessary to understand their tools. –  kevin cline Jun 25 '11 at 14:24
add comment

4 Answers 4

What Languages are mostly understood “intuitively” and could benefit from a more formal learning approach?

No artificial language is understood intuitively.

"JavaScript is a Language everybody uses, yet nearly noone seems to find it neccessary to learn how it works".

While this statement is true, it does not mean that JavaScript is actually understood intuitively.

What it does mean is that there are a lot of people copying and pasting code they do not understand.

There are a lot of people attempting to write JavaScript based on incorrect and incomplete understanding.

There are a lot of bad, broken, hard-to-use and buggy web sites because the authors did not understand JavaScript.

JavaScript is proof that even a blind sow will find an acorn from time to time.

With enough unit testing, code samples, and luck, a patient programmer might get something that doesn't crash very often. And they can still have little real understanding of what they did.

share|improve this answer
1  
"JavaScript is proof that even a blind sow will find an acorn from time to time." Heh. +1, not for that but for "No artificial language is understood intuitively." Very true, and it takes a lot of work and usually some outside help before any concept is learned completely. –  Michael K Jun 24 '11 at 17:17
    
+1 for denouncing script kiddies that copy and paste code they don't understand. –  Denis Jun 24 '11 at 19:35
    
Look at StackOverflow questions that involve words like "intuitive", "unintuitive" and "astonishing" and similar. There are a alarming number of programmers who depend on intuition. –  S.Lott Jun 24 '11 at 19:42
    
Please note, that it put 'intuitively' in quotes. I intended it to be understood as an euphemism. I did not want to say that the way many people use CSS and JavaScript is good, on the contrary, i wanted to know if there are other technologies that people, maybe i, use without noticing the need to learn them –  keppla Jun 28 '11 at 11:12
    
@keppla: "without noticing the need to learn them". I'm making a point. If you aren't intentionally learning them, you stand a very good chance of making a serious mistake. There is no possible way to understand an artificial language intuitively or "intuitively". They're hard, complex, difficult subjects. Intuition and "intuition" don't -- and can't -- be applied. –  S.Lott Jun 28 '11 at 12:10
show 3 more comments

My question is: are there more of those languages, technologies, concepts, that are so prevalent that we dont even notice them as something worth learning while we use them?

From my experience, it's not just Javascript, or just programming languages; it's true of computing in general. It's easy to just get your stuff done and not bother with some would consider to be arcane details. I don't normally read manuals to get more details about fine points unless I'm working on something and get the idea that there must be a better way.

More to the point of your question, languages and technologies that are so different from the status quo that a significant amount of time spent reading documentation is required to get anything done simply aren't adopted in large numbers.

share|improve this answer
add comment

Javascript and CSS might be a bit unique, in that many of the people who use them as their primary tool fall into the "designer" category. Many programmers use Javascript, CSS, and HTML a good bit, but do not enough to justify learning as much about those technologies as their application language of choice. Decent C++ programmers know most of the ins and outs of C++, because that is what they work with most of the time. People who work with CSS all day would probably benefit from understanding its mechanisms better, but not many people who work on CSS all day are going to have the technical background required to understand the inner workings at a low level (Of course, there are always exceptions).

share|improve this answer
add comment

I would agree with you on Javascript. It's more or less the illuminating example. See this thread: http://stackoverflow.com/questions/5969549/features-of-javascript-that-c-developers-fail-to-take-advantage-of

As for more examples, I would give you Java and C#. When I learned computer programming, the teacher used C++ as a teaching language. He constantly emphasized that the point of the class was to learn the concepts of programming, not just to learn a programming language.

However, when I took my first paid position, I went quite a ways by just imagining my VB.net and C# code to be "like" C++ because of the syntactical similarity. However, these languages have features that make them completely different in some ways.

And yes, I did find it easy to write Javascript because it looks like C style code :-)

share|improve this answer
3  
Also, see "The World's Most Misunderstood Programming Language" javascript.crockford.com/popular.html –  Rice Flour Cookies Jun 24 '11 at 13:30
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.