On Mon, 2009-03-09 at 11:19 +0000, Lie Ryan wrote: > Certainly. A programmer that only knows one language would be too > limited. Try as many programming language as you can, and especially > look for programming languages that have "obscenely different" paradigm > than the language you already know. I completely agree > > You should know at least a language from each categories (anyone can add > if they feel something is missing): > - Object oriented, example: C-family, Java, Python, etc > - Imperative, example: C-family, Java, Python, etc > - Functional, example: Python, Lisp/Scheme, Haskell, etc > - Declarative, example: Haskell, Prolog > - Logic Programming, example: Prolog, etc > - Event driven, example: most GUI sublanguage, etc > - Domain specific language, example: Regular Expression (yes it is a > programming language, regex parser is a Finite State Machine), SQL, etc > - Concurrent programming, example: Erlang, etc > - any other paradigms
My slight issue with this list that I think things are in too many places. E.g. although you can do functional programming in Python (and many do), I think it's worth trying to learn a language like lisp just for the sake of forcing yourself to fully understand the paradigm. I also think it's worth writing simple programs in a low level - either in assembly, or as Turing/Register machine code. > so basically, I still have much to learn... so do I! -- http://mail.python.org/mailman/listinfo/python-list