Each language has its own strength and weakness. A few are more portable, mabye one has the best portability. A couple give you more control over or closer to the atomic level, or even intergrate other languages that are closer. Some support mixing with others. A few languages allow two or more languages to mix.
ASM is considered more difficult that C/C++, and so it shall deserve more credit for writting something in pure ASM. It however has no relation to exactly how smart someone is, instead -- that resides along the lines of inovation, invention, and creation of X.
As for learning, it resides along the lines of if the language has any relation to a another language. Can another language better youre understanding of one language? If so then they should teach the language that does. Does it cost more money to teach the other language. Does society start to be divided into the best, average, and worst taught, and has it already?
If students want to major in Java, thats fine - but it should be a better system of credentials. The employer should be able to tell what someone knows during the interview not afterward. If a student only wants to know how to write accounting programs, no big deal! Thats what they want. The student should be informed of other studies, but other than that there should be no force to what you have to learn to have a "programming" or "developer" title since Java is a language used to instruct a computer what to do. That is a developer, a software developer, a hardware developer.
If someone likes ASM vs C, thats great. It helps to know ASM, when working with C. I don't know how much. Thats takes scientific evidence - statistics - math. All that matters is the same thing that matters to a company:
SPEED - Development Time
ENERGY - Brain Power
-----------------------------------------------------
SPEED * ENERGY = PRODUCTION
If you use C, which gives more speed and less energy?
If you use ASM, which gives more energy and less speed?
If you use JAVA, witch gives more speed and less energy?
(SPEED - (CAPABILITIES / GOAL)) *
(ENERGY - (CAPABILITIES / GOAL)
= PRODUCTION
ASM, has more capabilities in relation to the goal?
C, has more the same capabilities in relation to the same goal?
JAVA, has less capabilities in relation to the same goal?
As the capabilities decrease more is required from speed and energy. How about error prone? How about setup time? How about portability? How about development tool cost? How about optimization? How about run-time optimization depending on the enviroment?
@Solar: Text is good. I would agree with that guy on most parts, altought I know some very good pure Java & C# programmers
Mabye they learned C or ASM first? Mabye they didnt?
Shouldn't the languages discussion be in its own thread? The only thread I've seen recently that has stayed on topic is the Processor Design one, lol.
Nope, this ones fine. More people might see my link, and mabye I can go to sleep knowing someone found it useful.