oops, hit the send button too soon... here's some more: On Tue, Oct 31, 2017 at 8:41 AM, Chris Barker - NOAA Federal < chris.barker@noaa.gov> wrote:
Nope. I totally get that they don’t know what a shell or command prompt is. THEY. NEED. TO. LEARN. Hiding it is not a good idea for anyone.
I actually take this approach myself in my classes. However, I also have as prerequisites for my classes:
Some Experience in some programming language
And
Basic familiarity with the command line.
I then let them use whatever dev. Environment they want, while supporting and recommending a good editor and the command line.
However, If people want to learn python that don’t have those prerequisites, then we suggest a different class designed for total newbies.
In THAT class, we use a more proscribed dev environment so that everyone is doing the same thing in the same way. It was IDLE, and has lately been PyCharm.
And the intro to data analytics class uses Anaconda and the Jupyter notebook.
My point?
We're not in the business of making judgements about who should and shouldn't become Python programmers - we're in the business of making sure that Python is accessible to as many people as possible by removing irrelevant barriers to adoption,
Sure, but who is “we”? I think “we” is the python community, not the cPython developers.
So providing an environment that makes it easy and obvious to install packages is a great idea, but I think it’s the job of IDEs and other higher level tools, not the REPL.
If we need to add a feature to Python itself to make it easier for IDEs and the like to implement dynamic package adding, then by all means, let’s do it.
Final note:
I DO see a lot of questions ( on mailing lists, etc) from folks that try to type “pip install something” at the python command line.
And sure, some of those are completly clueless about what a command line is and how to use it, but others DO have an idea about the command line, but dont know that:
pip install something File "<stdin>", line 1 pip install something ^ SyntaxError: invalid syntax
means: "this was supposed to be run at the command prompt" So I think defining a "pip" builtin that simply gave a helpful message would be a good start. (hmm, it's a syntax error, so not as simple as a builtin -- but it could be caught somehow to give a better message) At the end of the day, python is an open source programming language -- it simply is NOT ever going to provide one complete well integrated environment --we'll just have to live with that. -CHB -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chris.Barker@noaa.gov