OpenTechSchool / python-beginners

Workshop material for "Introduction to Programming with Python"
http://opentechschool.github.io/python-beginners/
175 stars 251 forks source link

Free text editor as first choice? #71

Open feinstaub opened 7 years ago

feinstaub commented 7 years ago

Hi, I just stumbled open this tutorial which covers Python 3 for beginners in German language. Everything I wished for. Great. :) I started here http://opentechschool.github.io/python-beginners/de/getting_started.html where you suggest the unfree Sublime Text editor which is functionally ok but contradicts the openness aspect of the course. Are you generally interested that free tools are recommending as first choice? Thanks for feedback.

Ivoz commented 7 years ago

The German version is a translation of the English, which is the "canonical version", so what you see in german should be roughly reflected the same as every other translation of the tutorial. Just FYI.

Sublime text is free to use. It asks for purchase once every so often, but will never make you pay to use it. You are correct it is not open source.

There are a couple of reasons it is the highest recommendation:

  1. The download size is smaller than a couple of other modern editors these days. Sometimes this helps make a difference if you have a lot of learners downloading things at the same time while following this tutorial, and your room's WiFi for whatever reason isn't perfect 1Gbit/s N/AC (personal experience...). At the time of writing, Sublime Text 3 is 8mb, Visual Studio Code is 32mb and Atom Editor is 100mb! For a code editor! -_- I've even filed issues trying to get that last one down in the past.
  2. It is set up and easily writes python code out of the box. Literally no configuration required, no extra plugins to install, it is clean, doesn't get in your way, syntax highlighting works just fine, and everything immediately works. Couldn't be easier - which is doubly important for beginners.
  3. It comes with a magical key shortcut out of the gate (no plugin required) - Ctl + B (Build). If you have python on your system path, it will essentially run python <my_open_file.py> and give the results in its own integrated output window. This makes things 50% (or more?) quicker from the [save file / switch to terminal or cmd.exe / type python <my_file.py> (often meet people who don't know the up arrow in the terminal yet) / observe results / switch back to editor] workflow that would otherwise generally occur, and people generally love it when they learn they can get their 'feedback loop' going this quickly.

It is the combination of these three factors which make it possibly the absolute best solution for a beginner - it has the absolute least friction to learning. Install one editor program, start coding, press Ctl + B. Everything just works. While believe me I love open source, for the purposes of keeping beginners hyped and excited and getting started on python with the least troubles possible, as fast as possible in a live workshop - I rank this editor the highest for the above reasons.

I wouldn't mind one bit if an OSS editor came along and did all this equally well, but AFAIK that's not yet the case.

That's the reasoning for the recommendation. I am open to further discussion/persuasion on changing anything though.

lehmannro commented 7 years ago

I've heard complaints about this every so often. Could we document this in a canonical FAQ (either a wiki page in the python-beginners repository, or a README/actual document) somewhere? I found your rationale, @Ivoz, to be convincing.

feinstaub commented 7 years ago

Hi Ivoz,

thanks for taking the time to give a detailed answer. It makes perfectly sense when some of the Free (as in freedom) Software values are not considered as worth pursuing; like being in control of one's own software and be able be evade other people's control. This also includes the tools which people are teached to be used.

To point 1 (small download and easy setup): I have the same experience. So I understand that. Still, the tutorial could be extended in a way that one writes which of the editors are non-free software and that a compromise in the free software values must be made when one of those are used. Then, the reader would learn that there actually are differences between free and non-free software. In a live session the tutor could still point the students to the editor which he/she thinks is best.

Another approach would be to write a beginner-bullet-proof section about one of the free editors to make it Python ready including setting up a shortcut. I did this in a German tutorial with Kate.

;-) To point 2 (Sublime writes Python code out of the box): I hope it is not the editor that writes the code but the programmer. ;-)

A remark to Kate: it is now also available for Windows: https://kate-editor.org/get-it/ - although the download file size of 45 MB cannot not compete with point 1.

Did you know that there is also KDevelop with built-in Python support (e.g. code completion): https://www.kdevelop.org/download Windows download 85 MB.

skade commented 7 years ago

I'd like to add the point that Sublime is available on all major platforms (Win, OS X and Linux) with the same good user experience, which makes things easier for teachers and students alike if the student does not know an editor jet.

I don't think it's good to get down to discussions about free and non-free software at that point. If a free editor were available with those properties, I assume it would be preferred.

feinstaub commented 7 years ago

I would like to add that Notepad++ (https://notepad-plus-plus.org/) is a free code editor for Windows with only 3 MB download size.

From my experience I can say that if the teacher knows how to write programs using a free code editor it is possible to teach the students to do it also without much friction. You are right that it makes no sense to indulge in a lengthy discussion if the freedom stuff is not part of the list of desired properties.

skade commented 7 years ago

I would like to add that Notepad++ (https://notepad-plus-plus.org/) is a free code editor for Windows with only 3 MB download size.

Sure, but Notepad++ is not available on Linux and OS X. The point is having one consistent editor on all platforms with only minimal deviations so that you can explain it all in one go.