Talk:Python (programming language)

From Citizendium
Revision as of 02:52, 16 February 2021 by imported>David MacQuigg (→‎Archiving this Talk page and the current article)
Jump to navigation Jump to search
This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
To learn how to update the categories for this article, see here. To update categories, edit the metadata template.
 Definition Dynamic object-oriented, general purpose interpreted programming language. [d] [e]
Checklist and Archives
 Workgroup category Computers [Categories OK]
 Talk Archive 1  English language variant British English

Archiving this Talk page and the current article

I am Archiving this Talk page and its current article, leaving a pristine space for a new article to arrive soon. The previous article can be found in History or here. Pat Palmer (talk) 18:30, 20 January 2021 (UTC)

I've posted the new article after a sandbox incubation period. The Discussion section of the archived page talks about how I've been invited in to make a fresh start. Kirby Urner (talk) 20:15, 20 January 2021 (UTC)

Based on feedback from various reader reviewers, I've replaced screen shots of source code with editable content, more in keeping with standard practice. We lose the syntactic coloring, but I compensated by means of a UTF-8 emoji, showing off Python's fully unicode-aware string type. Kirby Urner (talk) 22:04, 14 February 2021 (UTC)

I like your original colored example better. The unique color for self showed that this word is something special, and might be helpful for readers familiar with other object-oriented languages. The emoji confused me. It was too small to recognize it as an emoji, and I completely missed the point that Python works with unicode. I thought it was some weird editing glitch we would have to fix later. In an example this small, I wouldn't worry about making it editable. Either way, we are not expecting the reader to understand the code. To accomplish that, we could add a more heavily-commented version in a subpage. See for example Shortest_path_routing/Catalogs/Dijkstra59.py --David MacQuigg (talk) 08:52, 16 February 2021 (UTC)

Purpose of this article

This is an excellent history of the language, but not an Introduction or a Tutorial. We should add a link to python.org where anyone interested in learning the language will find well-chosen code examples, a web-based interpreter where they can try their own examples without having to install Python, and links to full documentation, including a tutorial that will take them through all the basic features of the language. The tutorial is what got me hooked 15 years ago. It took about an hour for me to get over the shock of white space being actual syntax. It won't let you make a mistake if you forget a semicolon. --David MacQuigg (talk) 20:56, 21 January 2021 (UTC)

This article in one of what I hope will be an excellent collection of subtopics and related articles in the Computers Workgroup. Subtopics should be referenced in links from within the article. Related articles can be found by stepping up in the hierarchy Python > Languages > Computers. Articles on the same or higher level can be also subtopics of this one (e.g. Ruby should be under Languages, but in an article on Python, it is just a subtopic). Let's work on an outline that will guide our current developments, but also allow changes as we get authors with interests and expertise in other areas. Note: this is not trying to be a complete outline of computer topics, but just the interests of current CZ authors. --David MacQuigg (talk) 21:51, 23 January 2021 (UTC)

Computers
 Languages
   Python - IDLE, TkInter, PyQT, Twisted, WSGI, ASGI
   Java, C, C++
 Applications
   Web - Rails, Django, LAMP
   Scientific - Numpy, SciPy, Jupyter, Matlab, R
   Database - SQL Alchemy, SQLite
   Graphics - SketchUp
 Networks
   Email system
   HTTP, Websockets
Since this Python ecosystem overview mentions many of the above topics, I'm tempted to add external links to anything mentioned that doesn't yet have a CZ page. Twisted, SQLAlchemy, Flask, Django, Jupyter... these all have home pages. Maybe that adds too much clutter? Readers know how to search even in the absence of specific hyperlinks. I'll leave it alone. But would at least an external link to Python.org itself make sense, in terms of accessing the official tutorial, docs, and downloads? CZ pages needn't reinvent the wheel in terms of echoing what's already out there, right? Are external links always handled using footnote syntax? I finished my contribution before adding any. Kirby Urner (talk) 04:12, 25 January 2021 (UTC)
Don't worry about clutter with external links. They appear as only a small icon next to the displayed text and don't interrupt the reader's flow. However, the subpages "Related Articles", "Bibliography", and "External Links" should be used for a more structured and comprehensive guide to further reading. See my article Email system for examples of all three. Use your author's judgement as to where to place the links. I would include an important link like Python.org in the main text. We definitely don't want to re-invent that wheel.
Footnotes are better used for clarification of points in the main article. I like to use them sparingly, so the reader is not overwhelmed like reading a legal document. --David MacQuigg (talk) 10:23, 26 January 2021 (UTC)
Thanks for encouragement re external links; I added a bunch in the Early Success section. Elsewhere, in the Origins section, I notice an internal link to Virtual_machine and see a need for disambiguation, as the JVM and .NET idea is to run atop an operating system, not below one. We talk about Python and Java running on VMs, but in this other sense, of letting the language compile to a common language runtime or bytecode. I should make these comments there too I guess? I'm also mindful that Raspberry Pi and MicroPython deserve mention, Kirby Urner (talk) 20:12, 30 January 2021 (UTC)