4 ms·
In the beginning of 80s there was a concept called "Programming is the second literacy" [1] introduced by Soviet computer scientist A.P. Ershov. Nowadays it's o
by richard_shelton 9y ago
In the beginning of 80s there was a concept called "Programming is the second literacy" [1] introduced by Soviet computer scientist A.P. Ershov. Nowadays it's obvious that there is a huge demand in special programming tools not only for professional programmers (C++, Java..), but for domain experts who use algorithms too (Python, DSLs..).
There is a popular objection that "not everyone should be able to code". But it depends on the "to code" definition. A good example here is with game designers. They may not know how to do low-level coding, work with 3d math or use C++ templates. But still for a really good game designer it's very important to have algorithmic thinking and they need to have a tool for testing their algorithmic ideas on the computer.
As for Python, there is an issue: it's hard to find examples of good style of Python programming (I think only few of us actually learnt Python with help of textbook). Some time ago I was happy to find notes by Peter Norvig about Python and about comparing Python and Lisp. His code is very elegant, see, for example: http://norvig.com/python-lisp.html http://norvig.com/python-lisp.html
[1] http://www.sciencedirect.com/science/article/pii/0165607481900028 http://www.sciencedirect.com/science/article/pii/01656074819...
- jimmaswell 9y ago>it's hard to find examples of good style of Python programming I've never really bought that this matters so much as long as you just write sensibly in general. How many python users really make sure to do everything a "pythonic" way?
- richard_shelton 9y agoI think, it depends on how you use Python. 1. "Executable pseudocode", almost a toy language to explain few algorithms in your article. 2. Sysadmin tool. Replacement for shell, a way to write quick throwaway scripts. 3. "A modern Lisp". Universal language for implementing AI algorithms, DSLs etc. I, personally, use 3rd variant. I write quite big programs in Python, for example I made few compilers in it. That's why code quality is important for me here.
- noobiemcfoob 9y agoI would posit there are far more methods than these besides. Python is a powerful language that is flexible enough to be used for all these and more. You or anyone will inevitably write code they believe to be best suited to their problem, pythonic or not, weighted by the coder's ability and personal definition of "pythonic"