4 ms·
Python has tremendously more complex syntax and semantics than a classical BASIC interpreter. Calling python "executable pseudocode" is as disingenuous as claim
by RodgerTheGreat 11y ago
Python has tremendously more complex syntax and semantics than a classical BASIC interpreter. Calling python "executable pseudocode" is as disingenuous as claiming that C has a straightforward translation to machine code (maybe if you're using C on a PDP-11 in 1972…).
I think Python has an ill-deserved reputation as a simple language for beginners to pick up because if you know some other programming language Python is mostly familiar. I've spent years teaching hands-on introductory programming to middle- and high-schoolers, and my experience is emphatically that if you don't already know how to program, Python is confusing and difficult to come to grips with.
- teddyh 11y agoEven if I would grant this, does this make BASIC better than Python?
- RodgerTheGreat 11y agoYour first programming language doesn't have to be a practical language, and it doesn't have to be powerful. Small languages which allow students to master the entirety of the language are a better tool for building confidence and teaching elementary ideas like sequence, variables and iteration. For the first steps of dipping your toes into programming, BASIC is better than Python. An ideal curriculum will expose students to a progression of languages as they outgrow the limits of each environment.
- teddyh 11y agoI’ll just briefly say that I disagree. I believe that my development and education as a programmer was severely hampered by BASIC’s lack of functions, and I would not wish it on anyone else. Python has many obvious separate levels of learning it. At first, one could learn line-by-line coding, as done in the interactive interpreter, gradually moving into loops. Then, one could spend a long time with functions, dipping deeper and deeper into data types, sequences, recursion, etc. Only after this could one even mention classes and object oriented programming. There is no reason to assume that one would need to learn all of Python all at once. A good language is also a language which allows its users to grow, not a toy language which teaches its users the futility of ever trying to accomplish anything serious, which is precisely the feeling I got from BASIC.
- acqq 11y agoI'd say yes, if done right.
- belorn 11y agoScratch would be a better entry-level language for those who view python as too complex. It was designed for the purpose of teaching elementary ideas without the "more complex" syntax and semantics of practical languages. In my experience in learning and teaching programming, the language itself however has very little impact of the result. Those that learn programing, especially children, do so because they want to create something. The language is then chosen based on what makes that easiest. Those that want to create a website often starts with html, css, and javascript. Some want to create their own game, which mean python or c++. Others simply want to create game mods and the language then depend on the game itself (like TESScript). I have seen great success in each of those, and each time the initiative has started from the wish to create.