Python should not be taught as a foundational language
21–30 of 82 posts
Re: Python should not be taught as a foundational language
#22Absence of clear types is what driven me mad (and my ex), when my ex tried to learn python via interactive online courses. Constant questions like: "why this thing named a is a number and this one thing named "b" is now a list and this other thing does stuff". Switched to java, all problems immediately disappeared.
worrying about types means you already knew about them.
Re: Python should not be taught as a foundational language
#23Actually, I wonder if the right conclusion isn't one side or the other, but that separate tracks for systems programming vs web dev (or whatever dichotomy you prefer) should be introduced earlier on in education, maybe separate specializations within a CS degree.
Re: Python should not be taught as a foundational language
#24Somewhat reasonable title but poorly written content. > For instance, what is called an "Array" in pretty much every mainstream language, is instead called a "List" in Python. Because it is a list rather than an array (as in C). > Another issue with Python is that it is essentially two different languages, there's Python 2.7 and Python 3+. It's 2020, you are not supposed to teach Python 2 to newbies. I was expecting…
Re: Python should not be taught as a foundational language
#25Why is having constant variables so important when learning? Why are curly braces important? The author never says.
Meanwhile, while I agree Python’s strings are overcomplex and often frustrating, the weird digression about how “most languages” have char and char[] and String is a fancy wrapper, is actually just incorrect at this point and reveals just how narrow the author’s experience actually is.
In the meantime, my kid learned to program using Python and then went on to do very well picking up Java In subsequent classes. In my opinion, she’s far better off for being exposed to two very different languages early on rather than coming up thinking everything needs to look like C to be a “real” language.
Re: Python should not be taught as a foundational language
#26If you need to go into lower level programming languages in the future, that's cool. You can go deeper into stuff like variable types, constant variables, block scope, garbage collection.. whatever you want. You already have a grasp what a string is, how to use a for loop, etc.
In reading the article, it seems like the author is saying essentially "Programming is supposed to be hard. Python makes it easier. So don't teach Python." But shouldn't we be teaching people the easy stuff first? That way they can get, y'know, programming?
The version split is about the only reasonable argument. And how you teach that is the following: Python 2 and Python 3 are different languages for all intents and purposes. Use Python 3.
But what do I know; I'm just a self-taught coder.
Re: Python should not be taught as a foundational language
#27There are no foundational languages, what is foundational is CS theory itself. C++ and Java are just part of the ALGOL tradition, which syntactically relies on a bunch of arbitrary choices (curly braces vs indentation is an arbitrary symbolic choice and any preference is personal and subjective), and furthermore were highly influenced by 70s computer architecture that doesn't really exist anymore. In other words: just a bunch of legacy choices.
Python is the best general-purpose language there is at the moment, because of its popularity, ubiquity, actual use in a wide diversity of domains and availability of libraries for almost anything you can think of. Furthermore, the syntax is simple enough for one to be able to keep it all in one's head and not having to constantly refer to documentation. If you learn Python today, it will likely be useful to you for the rest of your life in a variety of situations.
Getting used to curly braces in ALGOL-like languages is a minor intellectual challenge compared to what awaits someone taking a Computer Science or Engineering degree.
Re: Python should not be taught as a foundational language
#28Python was my vehicle to prototyping and implementing educative programs, I can hardly recommend anything else for a beginner. And arguments like other langs call this X are poor IMO.
The world of programming languages isn't 1 dimensional and no one should honor this notion of implied consistency that pleases your (and a student's) limited understanding of this ecosystem. I'd rather have students question and not critique such choices, and form their own educated opinions on what language fits them for what task.
Re: Python should not be taught as a foundational language
#29Can just stop reading here. I have seen many say this only the first few hours of trying Python, and that's it. So, this "kludgy to work with" indicates almost zero actual work with the language.
Re: Python should not be taught as a foundational language
#30Absence of clear types is what driven me mad (and my ex), when my ex tried to learn python via interactive online courses. Constant questions like: "why this thing named a is a number and this one thing named "b" is now a list and this other thing does stuff". Switched to java, all problems immediately disappeared.