I would start with a quote:
"if the only tool you have is a hammer, you treat everything like a nail" (Abraham Maslow)
The most important principle, IMO, is the knowledge of many different programming paradigms, languages ​​and knowledge of the tools at your disposal. Any problem can be solved in almost any language you choose, be it a full-blown main language with its huge default library or a small specialized language such as AutoHotKey. The first task of the programmer is to determine what to use in accordance with the specification of the problem. Some concepts provide a better approach to the topic, whatever your main goal: complexity, obfuscation, performance, portability, maintenance, small code size ...
Otherwise, you end up as some programmers who are desperate to do something in the same language that they specialized, while the problem may be trivial to solve in different programming contexts.
This tip is consistent with the current trend towards multilingual projects (e.g. for web applications that can include multiple languages ​​in one application, such as C #, JS, CSS, XPath, SQL, XML, HMTL, RegExp ... and even various programming paradigms (for example, C # recently introduced some concepts from functional programming paradigms, lambda).
So, the main thing is continuous learning, forever :)
majkinetor Apr 14 '09 at 13:15 2009-04-14 13:15
source share