Thank you for the reply. I clicked the link Teach yourself programming in Ten Years. It had this as one of the things you needed to do: Learn at least a half dozen programming languages. Include one language that supports class abstractions (like Java or C++), one that supports functional abstraction (like Lisp or ML), one that supports syntactic abstraction (like Lisp), one that supports declarative specifications (like Prolog or C++ templates), one that supports coroutines (like Icon or Scheme), and one that supports parallelism (like Sisal). Can you please comment?
Ostra
| [reply] |
Learning any of those languages and techniques can change the way you think about programming and solving problems. Learning new things that challenge you is often worthwhile.
You don't have to know any of those things to write good Perl that solves real problems for real people. It will help, but practical experience in programming—not just writing the same toy programs over and over again—in any form is the best way to become a better programmer.
| [reply] |
Can you please comment?
Sure, spend the next week read all the links and links and links of links I linked :)
He is talking about programming paradigms, a particular way to design and write programs , a particular way to speak/think about and solve problems
Its like eating a cow (or eating a horse), the goal is food in your employers belly, but how you go about it depends on how you think (what is humane? which cuts are kosher? ... ), what kind of hardware you have ( stone , steel, electric,... ), taste preference (steak? hamburger? sausage? bbq? ... ) ... some programming languages come with a really sharp and shiny meat slicer, while others only allow chainsaws
Its like fighting, or mixed martial arts, there is long range, short range, standup, takedown, ground, clinch, grappling, ... your might be a ground submission expert, but your opponent won't let you go to ground, keeps you standing ... you can win a lot of fights with just a ground game , but its best to have a plan/skills/vocabulary/technique for fighting at all ranges/stages -- even if your current opponent limits your choices
In all three cases, practice by solving real problems yields best results, allows you to adapt to any challenge .... but it's not like I consider myself there :)
| [reply] |