Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #71001 > unrolled thread

Re: The “does Python have variables?” debate

Started byNed Batchelder <ned@nedbatchelder.com>
First post2014-05-06 21:19 -0400
Last post2014-05-08 10:47 -0400
Articles 20 on this page of 155 — 34 participants

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: The “does Python have variables?” debate Ned Batchelder <ned@nedbatchelder.com> - 2014-05-06 21:19 -0400
    Re: The “does Python have variables?” debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-07 09:18 +0300
      Re: The “does Python have variables?” debate Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-05-07 09:51 +0100
      Re: The “does Python have variables?” debate Ethan Furman <ethan@stoneleaf.us> - 2014-05-07 06:00 -0700
        Re: The “does Python have variables?” debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-07 17:17 +0300
          Re: The “does Python have variables?” debate Chris Angelico <rosuav@gmail.com> - 2014-05-08 00:30 +1000
      Re: The “does Python have variables?” debate Chris Angelico <rosuav@gmail.com> - 2014-05-08 00:14 +1000
        Re: The “does Python have variables?” debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-07 17:20 +0300
      Re: The “does Python have variables?” debate Jerry Hill <malaclypse2@gmail.com> - 2014-05-07 11:48 -0400
        Re: The “does Python have variables?” debate Mark H Harris <harrismh777@gmail.com> - 2014-05-07 14:31 -0500
          Re: The “does Python have variables?” debate Ben Finney <ben@benfinney.id.au> - 2014-05-08 05:57 +1000
            Re: The “does Python have variables?” debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-08 00:15 +0300
              Re: The “does Python have variables?” debate Mark H Harris <harrismh777@gmail.com> - 2014-05-07 16:35 -0500
                Re: The “does Python have variables?” debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-08 01:27 +0000
                  Re: The “does Python have variables?” debate Chris Angelico <rosuav@gmail.com> - 2014-05-08 12:09 +1000
                    Re: The “does Python have variables?” debate Steven D'Aprano <steve@pearwood.info> - 2014-05-08 03:41 +0000
                  Re: The “does Python have variables?” debate Dan Sommers <dan@tombstonezero.net> - 2014-05-08 03:43 +0000
                  Re: The “does Python have variables?” debate Mark H Harris <harrismh777@gmail.com> - 2014-05-09 17:34 -0500
                    Re: The “does Python have variables?” debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-10 01:11 +0000
                      Re: The “does Python have variables?” debate Larry Hudson <orgnut@yahoo.com> - 2014-05-10 00:46 -0700
              Re: The “does Python have variables?” debate Ben Finney <ben@benfinney.id.au> - 2014-05-08 10:35 +1000
                Re: The “does Python have variables?” debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-08 01:32 +0000
                Re: The “does Python have variables?” debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-08 09:19 +0300
                  Re: The “does Python have variables?” debate Ben Finney <ben@benfinney.id.au> - 2014-05-08 16:40 +1000
                    Re: The "does Python have variables?" debate Rustom Mody <rustompmody@gmail.com> - 2014-05-07 23:50 -0700
                      Re: The "does Python have variables?" debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-08 10:03 +0300
              Re: The “does Python have variables?” debate Ned Batchelder <ned@nedbatchelder.com> - 2014-05-07 21:33 -0400
              Re: The “does Python have variables?” debate Johannes Schneider <johannes.schneider@galileo-press.de> - 2014-05-08 09:26 +0200
                Re: The “does Python have variables?” debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-09 00:54 +0000
              Re: The “does Python have variables?” debate Joseph Martinot-Lagarde <joseph.martinot-lagarde@m4x.org> - 2014-05-08 10:07 +0200
              Re: The “does Python have variables?” debate Chris Angelico <rosuav@gmail.com> - 2014-05-08 18:14 +1000
                Re: The “does Python have variables?” debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-08 13:22 +0000
              Re: The “does Python have variables?” debate Ben Finney <ben@benfinney.id.au> - 2014-05-08 18:34 +1000
                Re: The “does Python have variables?” debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-08 12:43 +0300
                  Re: The “does Python have variables?” debate Ben Finney <ben@benfinney.id.au> - 2014-05-08 21:14 +1000
                    Re: The “does Python have variables?” debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-08 15:01 +0300
                      Re: The “does Python have variables?” debate Ben Finney <ben@benfinney.id.au> - 2014-05-09 05:14 +1000
                      Re: The “does Python have variables?” debate Ethan Furman <ethan@stoneleaf.us> - 2014-05-08 14:50 -0700
                        Re: The “does Python have variables?” debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-09 00:02 +0000
                          Re: The �  debate Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-05-09 13:10 +1200
                            Re: The �  debate Ben Finney <ben@benfinney.id.au> - 2014-05-09 13:13 +1000
                            Re: The �  debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-10 01:34 +0000
                              Re: The �  debate Mark H Harris <harrismh777@gmail.com> - 2014-05-09 21:34 -0500
                              Re: The �  debate Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-05-10 17:58 +1200
                                Re: The � debate Chris Angelico <rosuav@gmail.com> - 2014-05-10 17:10 +1000
                                  Re: The � debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-10 07:48 +0000
                                    Re: The � debate Chris Angelico <rosuav@gmail.com> - 2014-05-10 18:01 +1000
                                      Re: The � debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-10 11:21 +0300
                                    Re: The � debate Rustom Mody <rustompmody@gmail.com> - 2014-05-10 02:05 -0700
                                      Re: The � debate Ethan Furman <ethan@stoneleaf.us> - 2014-05-10 12:30 -0700
                                  Re: The � debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-10 11:18 +0300
                                    Re: The � debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-10 09:31 +0000
                  Re: The “does Python have variables?” debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-08 13:18 +0000
                    Re: The “does Python have variables?” debate Chris Angelico <rosuav@gmail.com> - 2014-05-08 23:46 +1000
                      Re: The “does Python have variables?” debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-08 14:22 +0000
                        Re: The “does Python have variables?” debate Chris Angelico <rosuav@gmail.com> - 2014-05-09 00:51 +1000
                          Re: The “does Python have variables?” debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-08 16:04 +0000
                            Re: The “does Python have variables?” debate Chris Angelico <rosuav@gmail.com> - 2014-05-09 02:10 +1000
                            Re: The “does Python have variables?” debate Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2014-05-08 21:02 -0400
                              Re: The “does Python have variables?” debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-09 01:32 +0000
                                Re: The “does Python have variables?” debate Roy Smith <roy@panix.com> - 2014-05-08 22:21 -0400
                                  Re: The “does Python have variables?” debate Chris Angelico <rosuav@gmail.com> - 2014-05-09 12:31 +1000
                                    Re: The "does Python have variables?" debate Rustom Mody <rustompmody@gmail.com> - 2014-05-08 22:40 -0700
                                      Re: The "does Python have variables?" debate Chris Angelico <rosuav@gmail.com> - 2014-05-09 15:51 +1000
                                        Re: The "does Python have variables?" debate Rustom Mody <rustompmody@gmail.com> - 2014-05-09 07:09 -0700
                                          Re: The "does Python have variables?" debate Chris Angelico <rosuav@gmail.com> - 2014-05-10 00:29 +1000
                                            Re: The "does Python have variables?" debate Rustom Mody <rustompmody@gmail.com> - 2014-05-09 09:07 -0700
                                  Re: The “does Python have variables?â€瑩 debate Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2014-05-09 19:51 -0400
                                  Re: The “does Python have variables?â€瑩 debate Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-05-10 01:03 +0100
                              Fortran (Was: The "does Python have variables?" debate) Roy Smith <roy@panix.com> - 2014-05-10 09:42 -0400
                                Re: Fortran (Was: The "does Python have variables?" debate) Terry Reedy <tjreedy@udel.edu> - 2014-05-10 14:31 -0400
                                Re: Fortran (Was: The "does Python have variables?" debate) Mark H Harris <harrismh777@gmail.com> - 2014-05-11 01:17 -0500
                                  Re: Fortran (Was: The "does Python have variables?" debate) Rustom Mody <rustompmody@gmail.com> - 2014-05-11 00:01 -0700
                                  Re: Fortran (Was: The "does Python have variables?" debate) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-11 07:09 +0000
                                    Re: Fortran (Was: The "does Python have variables?" debate) Tomasz Rola <rtomek@ceti.pl> - 2014-05-11 18:09 +0200
                                      Re: Fortran Marko Rauhamaa <marko@pacujo.net> - 2014-05-11 19:27 +0300
                                        Re: Fortran Roy Smith <roy@panix.com> - 2014-05-11 13:51 -0400
                                          Re: Fortran Chris Angelico <rosuav@gmail.com> - 2014-05-12 04:08 +1000
                                            Re: Fortran Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-11 23:51 +0000
                                              Re: Fortran Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-05-12 01:27 +0100
                                                Re: Fortran Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-12 02:28 +0000
                                                  Re: Fortran Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-05-12 10:05 +0100
                                                  Re: Fortran Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2014-05-12 20:52 -0400
                                          Re: Fortran Ethan Furman <ethan@stoneleaf.us> - 2014-05-11 11:05 -0700
                                          Re: Fortran Chris Angelico <rosuav@gmail.com> - 2014-05-12 04:33 +1000
                                            Re: Fortran Roy Smith <roy@panix.com> - 2014-05-11 14:43 -0400
                                              Re: Fortran Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-11 23:15 +0000
                                                Re: Fortran MRAB <python@mrabarnett.plus.com> - 2014-05-12 00:51 +0100
                                                  Re: Fortran Roy Smith <roy@panix.com> - 2014-05-11 20:14 -0400
                                                    Re: Fortran alister <alister.nospam.ware@ntlworld.com> - 2014-05-12 14:14 +0000
                                                  Re: Fortran Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-12 01:11 +0000
                                                    Re: Fortran Dave Angel <d@davea.name> - 2014-05-11 23:27 -0400
                                                    Re: Fortran Grant Edwards <invalid@invalid.invalid> - 2014-05-12 14:07 +0000
                                              Re: Fortran Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2014-05-11 21:12 -0400
                                    Re: Fortran (Was: The "does Python have variables?" debate) Chris Angelico <rosuav@gmail.com> - 2014-05-12 02:42 +1000
                                    Re: Fortran Tomasz Rola <rtomek@ceti.pl> - 2014-05-11 20:04 +0200
                                    Re: Fortran Chris Angelico <rosuav@gmail.com> - 2014-05-12 04:12 +1000
                                  Re: Fortran (Was: The "does Python have variables?" debate) Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2014-05-11 19:05 +0200
                                    Re: Fortran (Was: The "does Python have variables?" debate) Mark H Harris <harrismh777@gmail.com> - 2014-05-11 13:54 -0500
                                      Re: Fortran (Was: The "does Python have variables?" debate) Chris Angelico <rosuav@gmail.com> - 2014-05-12 04:59 +1000
                                        Re: Fortran (Was: The "does Python have variables?" debate) Mark H Harris <harrismh777@gmail.com> - 2014-05-11 14:14 -0500
                                          Re: Fortran (Was: The "does Python have variables?" debate) albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-05-29 14:06 +0000
                                            Re: Fortran (Was: The "does Python have variables?" debate) Peter Pearson <ppearson@nowhere.invalid> - 2014-05-29 17:53 +0000
                                      Re: Fortran (Was: The "does Python have variables?" debate) Dave Angel <davea@davea.name> - 2014-05-11 23:10 -0400
                                        Re: Fortran (Was: The "does Python have variables?" debate) Mark H Harris <harrismh777@gmail.com> - 2014-05-11 23:10 -0500
                                          Re: Fortran (Was: The "does Python have variables?" debate) Mark H Harris <harrismh777@gmail.com> - 2014-05-11 23:26 -0500
                                            Re: Fortran (Was: The "does Python have variables?" debate) Chris Angelico <rosuav@gmail.com> - 2014-05-12 14:53 +1000
                                      Re: Fortran (Was: The "does Python have variables?" debate) Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2014-05-12 10:44 +0200
                                        Re: Fortran (Was: The "does Python have variables?" debate) Mark H Harris <harrismh777@gmail.com> - 2014-05-13 00:33 -0500
                                          Re: Fortran (Was: The "does Python have variables?" debate) Steven D'Aprano <steve@pearwood.info> - 2014-05-13 05:48 +0000
                                            Re: Fortran (Was: The "does Python have variables?" debate) Mark H Harris <harrismh777@gmail.com> - 2014-05-13 00:55 -0500
                                            Re: Fortran (Was: The "does Python have variables?" debate) Chris Angelico <rosuav@gmail.com> - 2014-05-13 15:56 +1000
                                              Re: Fortran (Was: The "does Python have variables?" debate) Steven D'Aprano <steve@pearwood.info> - 2014-05-13 09:34 +0000
                                                Re: Fortran (Was: The "does Python have variables?" debate) Chris Angelico <rosuav@gmail.com> - 2014-05-13 20:00 +1000
                                                  Re: Fortran (Was: The "does Python have variables?" debate) Rustom Mody <rustompmody@gmail.com> - 2014-05-13 03:44 -0700
                                                    Re: Fortran (Was: The "does Python have variables?" debate) Chris Angelico <rosuav@gmail.com> - 2014-05-13 20:50 +1000
                                            Re: Fortran (Was: The "does Python have variables?" debate) Gene Heskett <gheskett@wdtv.com> - 2014-05-13 02:31 -0400
                                              Re: Fortran (Was: The "does Python have variables?" debate) Steven D'Aprano <steve@pearwood.info> - 2014-05-13 07:22 +0000
                                                Re: Fortran (Was: The "does Python have variables?" debate) Roy Smith <roy@panix.com> - 2014-05-13 07:16 -0400
                                                  Re: Fortran (Was: The "does Python have variables?" debate) Chris Angelico <rosuav@gmail.com> - 2014-05-13 21:21 +1000
                                                  Re: Fortran (Was: The "does Python have variables?" debate) Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-05-13 14:42 +0100
                                                Re: Fortran (Was: The "does Python have variables?" debate) Gene Heskett <gheskett@wdtv.com> - 2014-05-13 07:42 -0400
                                          Re: Fortran Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2014-05-13 19:33 +0200
                                            Re: Fortran Marko Rauhamaa <marko@pacujo.net> - 2014-05-13 22:57 +0300
                                              Re: Fortran Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-14 00:10 +0000
                                                Re: Fortran Ian Kelly <ian.g.kelly@gmail.com> - 2014-05-13 21:43 -0600
                                                Re: Fortran Marko Rauhamaa <marko@pacujo.net> - 2014-05-14 07:35 +0300
                                                  Re: Fortran Steven D'Aprano <steve@pearwood.info> - 2014-05-14 06:58 +0000
                                                    Re: Fortran Marko Rauhamaa <marko@pacujo.net> - 2014-05-14 11:46 +0300
                                                Re: Fortran Sturla Molden <sturla.molden@gmail.com> - 2014-05-14 23:05 +0000
                                                struct.unpack: why 's' fmt char convert to bytestring GuoChao <cx63@outlook.com> - 2014-05-15 20:34 +0800
                                                Re: struct.unpack: why 's' fmt char convert to bytestring Dave Angel <davea@davea.name> - 2014-05-15 09:49 -0400
                                                Re: struct.unpack: why 's' fmt char convert to bytestring MRAB <python@mrabarnett.plus.com> - 2014-05-15 15:47 +0100
                                              Re: Fortran Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2014-05-14 15:13 +0200
                                              Re: Fortran albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-05-29 14:26 +0000
                                                Re: Fortran Marko Rauhamaa <marko@pacujo.net> - 2014-05-29 17:50 +0300
                                                  Re: Fortran Chris Angelico <rosuav@gmail.com> - 2014-05-30 00:58 +1000
                                                    Re: Fortran Marko Rauhamaa <marko@pacujo.net> - 2014-05-29 18:09 +0300
                                                  Re: Fortran Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-29 17:57 +0000
                                                    Re: Fortran Marko Rauhamaa <marko@pacujo.net> - 2014-05-29 21:55 +0300
                            Re: The “does Python have variables?” debate Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-05-09 09:13 +0100
                    Re: The “does Python have variables?” debate Michael Torrie <torriem@gmail.com> - 2014-05-08 08:06 -0600
                    Re: The “does Python have variables?” debate Chris Angelico <rosuav@gmail.com> - 2014-05-09 00:13 +1000
              Re: The “does Python have variables?” debate Terry Reedy <tjreedy@udel.edu> - 2014-05-08 15:21 -0400
                Re: The “does Python have variables?” debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-08 23:06 +0300
                  Re: The “does Python have variables?” debate Ethan Furman <ethan@stoneleaf.us> - 2014-05-08 15:36 -0700
              Re: The “does Python have variables?” debate Ethan Furman <ethan@stoneleaf.us> - 2014-05-08 17:05 -0700
              Re: The “does Python have variables?” debate Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-05-09 01:47 +0100
        Re: The “does Python have variables?” debate Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-05-08 00:57 +0000
        Re: The “does Python have variables?” debate Roy Smith <roy@panix.com> - 2014-05-08 08:41 -0400
          Re: The “does Python have variables?” debate Chris Angelico <rosuav@gmail.com> - 2014-05-08 22:54 +1000
          Re: The “does Python have variables?” debate Ethan Furman <ethan@stoneleaf.us> - 2014-05-08 06:18 -0700
            Re: The “does Python have variables?” debate Marko Rauhamaa <marko@pacujo.net> - 2014-05-08 17:03 +0300
              Re: The “does Python have variables?” debate Ethan Furman <ethan@stoneleaf.us> - 2014-05-08 16:09 -0700
          Re: The “does Python have variables?” debate "Neil D. Cerutti" <neilc@norwich.edu> - 2014-05-08 10:47 -0400

Page 3 of 8 — ← Prev page 1 2 [3] 4 5 6 7 8  Next page →


#71149 — Re: The � debate

FromBen Finney <ben@benfinney.id.au>
Date2014-05-09 13:13 +1000
SubjectRe: The � debate
Message-ID<mailman.9810.1399605199.18130.python-list@python.org>
In reply to#71142
Gregory Ewing <greg.ewing@canterbury.ac.nz> writes:

> If you look at the way the word "variable" is used across a variety of
> language communities, the common meaning is more or less "something
> that can appear on the left hand side of an assignment statement".

The clear experience from years in this and other Python forums is that
newcomers frequently draw from the term “variable” additional, specific,
inferences that are *false* for Python.

My position is that the responsibility for avoiding terms that are
likely to encourage newcomers to draw false inferences falls to us, as
existing knowledgeable community members teaching newcomers.

> Nobody seems to complain about using the term "assigment" in relation
> to Python, despite it meaning something a bit different from what it
> means in some other languages, so I don't see anything wrong with
> using the term "variable" with the above definition.

To the extent that the term encourages or enables a mental model that is
significantly likely to lead to false inferences, the term is harmful
for a newcomer's learning.

That extent varies with each newcomer, of course; I'm pointing out that
the proportion of newcomers arriving here with a mental model of
“variable” which will produce false inferences is high enough that the
term is best replaced by terms that imply more-accurate mental models.

-- 
 \       “A computer once beat me at chess, but it was no match for me |
  `\                                     at kick boxing.” —Emo Philips |
_o__)                                                                  |
Ben Finney

[toc] | [prev] | [next] | [standalone]


#71211 — Re: The � debate

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-05-10 01:34 +0000
SubjectRe: The � debate
Message-ID<536d8208$0$29980$c3e8da3$5496439d@news.astraweb.com>
In reply to#71142
On Fri, 09 May 2014 13:10:41 +1200, Gregory Ewing wrote:

> Steven D'Aprano wrote:
>> Today we routinely call horseless carriages "cars", and nobody would
>> blink if I pointed at a Prius or a Ford Explorer and said "that's not a
>> carriage, it's a car" except to wonder why on earth I thought something
>> so obvious needed to be said.
> 
> That's only because the term "car" *is* well established. The situation
> with the word "variable" is more like if you pointed at a Prius and said
> "That's not a car, it's an electric vehicle". Most people would wonder
> why you refused to categorise it as a type of car.

And of there was an ongoing problem with people getting seriously 
confused by the differences between electric vehicles and internal 
combustion engine cars -- say, a steady stream of Prius owners filling 
the windshield washer reservoir with petrol (gasoline for Americans), or 
car mechanics accidentally blowing the batteries up -- then there might 
be a good reason to use a different name. In the absence of such 
confusion, why should we care?

I don't object to Python using "print" to mean "display on the screen" 
instead of "make paper come out of the printer", because with the 
exception of the most naive beginners, there is no confusion caused by 
using that term. Nor am I terrible upset that "static method" means 
something very different in Java to Python, because that represents a 
fairly trivial misunderstanding about a single function rather than a 
fundamental misunderstanding about language semantics.


> If you look at the way the word "variable" is used across a variety of
> language communities, the common meaning is more or less "something that
> can appear on the left hand side of an assignment statement".

I really don't think so.

some_function(x, y+1)[key].attribute[num](arg)[spam or eggs] = 42

I'm pretty sure that it isn't common to call the LHS of that assignment a 
variable.


> Nobody seems to complain about using the term "assigment" in relation to
> Python, despite it meaning something a bit different from what it means
> in some other languages, so I don't see anything wrong with using the
> term "variable" with the above definition.

What differences in assignment are you referring to?

In any case, the issue is whether or not the misunderstanding leads to 
confusion or not. 



-- 
Steven D'Aprano
http://import-that.dreamwidth.org/

[toc] | [prev] | [next] | [standalone]


#71218 — Re: The � debate

FromMark H Harris <harrismh777@gmail.com>
Date2014-05-09 21:34 -0500
SubjectRe: The � debate
Message-ID<lkk381$hnf$1@speranza.aioe.org>
In reply to#71211
On 5/9/14 8:34 PM, Steven D'Aprano wrote:
>> Nobody seems to complain about using the term "assigment" in relation to
>> Python, despite it meaning something a bit different from what it means
>> in some other languages, so I don't see anything wrong with using the
>> term "variable" with the above definition.
>
> What differences in assignment are you referring to?
>
> In any case, the issue is whether or not the misunderstanding leads to
> confusion or not.
>
    That's really the question --- regarding the issue of 'variable' and 
assignment.

    The term 'variable' (assignment) typically means: the LHS (name) of 
an assignment where the coder is placing some 'type' (RHS) into a chunk 
of memory statically defined, or dynamically malloc'd.

    With Python the assignment term 'variable' means: the LHS (name) is 
now associated with (bound to) an object (RHS), regardless whether the 
object already exists or whether the object is being constructed, nor 
what kind or type the object may be. The coder is not concerned with the 
memory model, nor address, nor reference.

    So for Python variable names are object handles.

    I've been reading through the python docs today (the FAQ mostly) and 
noting that python has variables BIG TIME as far as the docs go.


marcus


[toc] | [prev] | [next] | [standalone]


#71223 — Re: The � debate

FromGregory Ewing <greg.ewing@canterbury.ac.nz>
Date2014-05-10 17:58 +1200
SubjectRe: The � debate
Message-ID<bt5th2Ftfm5U1@mid.individual.net>
In reply to#71211
Steven D'Aprano wrote:
> some_function(x, y+1)[key].attribute[num](arg)[spam or eggs] = 42
> 
> I'm pretty sure that it isn't common to call the LHS of that assignment a 
> variable.

A better way of putting it might be "something in the data
model that can be assigned to".

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#71226 — Re: The � debate

FromChris Angelico <rosuav@gmail.com>
Date2014-05-10 17:10 +1000
SubjectRe: The � debate
Message-ID<mailman.9842.1399705831.18130.python-list@python.org>
In reply to#71223
On Sat, May 10, 2014 at 3:58 PM, Gregory Ewing
<greg.ewing@canterbury.ac.nz> wrote:
> Steven D'Aprano wrote:
>>
>> some_function(x, y+1)[key].attribute[num](arg)[spam or eggs] = 42
>>
>> I'm pretty sure that it isn't common to call the LHS of that assignment a
>> variable.
>
>
> A better way of putting it might be "something in the data
> model that can be assigned to".

https://en.wikipedia.org/wiki/Assignment_(computer_science)

Go ahead, start an edit war at that page over its use of "variable".
:) Right there it talks about copying values into variables. So if
Python has no variables, then either that article is inappropriate, or
Python has no assignment either.

ChrisA

[toc] | [prev] | [next] | [standalone]


#71230 — Re: The � debate

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-05-10 07:48 +0000
SubjectRe: The � debate
Message-ID<536dd9cb$0$29980$c3e8da3$5496439d@news.astraweb.com>
In reply to#71226
On Sat, 10 May 2014 17:10:29 +1000, Chris Angelico wrote:

> On Sat, May 10, 2014 at 3:58 PM, Gregory Ewing
> <greg.ewing@canterbury.ac.nz> wrote:
>> Steven D'Aprano wrote:
>>>
>>> some_function(x, y+1)[key].attribute[num](arg)[spam or eggs] = 42
>>>
>>> I'm pretty sure that it isn't common to call the LHS of that
>>> assignment a variable.
>>
>>
>> A better way of putting it might be "something in the data model that
>> can be assigned to".
> 
> https://en.wikipedia.org/wiki/Assignment_(computer_science)
> 
> Go ahead, start an edit war at that page over its use of "variable". :)
> Right there it talks about copying values into variables. So if Python
> has no variables, then either that article is inappropriate, or Python
> has no assignment either.

Python assignment doesn't copy values.




-- 
Steven D'Aprano
http://import-that.dreamwidth.org/

[toc] | [prev] | [next] | [standalone]


#71234 — Re: The � debate

FromChris Angelico <rosuav@gmail.com>
Date2014-05-10 18:01 +1000
SubjectRe: The � debate
Message-ID<mailman.9844.1399709252.18130.python-list@python.org>
In reply to#71230
On Sat, May 10, 2014 at 5:48 PM, Steven D'Aprano
<steve+comp.lang.python@pearwood.info> wrote:
>> https://en.wikipedia.org/wiki/Assignment_(computer_science)
>>
>> Go ahead, start an edit war at that page over its use of "variable". :)
>> Right there it talks about copying values into variables. So if Python
>> has no variables, then either that article is inappropriate, or Python
>> has no assignment either.
>
> Python assignment doesn't copy values.

So either the article is wrong, or Python doesn't have assignment. Which is it?

ChrisA

[toc] | [prev] | [next] | [standalone]


#71236 — Re: The � debate

FromMarko Rauhamaa <marko@pacujo.net>
Date2014-05-10 11:21 +0300
SubjectRe: The � debate
Message-ID<87vbterql9.fsf@elektro.pacujo.net>
In reply to#71234
Chris Angelico <rosuav@gmail.com>:

> On Sat, May 10, 2014 at 5:48 PM, Steven D'Aprano
> <steve+comp.lang.python@pearwood.info> wrote:
>>> https://en.wikipedia.org/wiki/Assignment_(computer_science)
>>>
>>> Go ahead, start an edit war at that page over its use of "variable". :)
>>> Right there it talks about copying values into variables. So if Python
>>> has no variables, then either that article is inappropriate, or Python
>>> has no assignment either.
>>
>> Python assignment doesn't copy values.
>
> So either the article is wrong, or Python doesn't have assignment.
> Which is it?

You can understand copying more liberally:

   assignment   -- 0-level copy
   shallow copy -- 1-level copy
   deep copy    -- infinite-level copy

Real programs occasionally need 2-level or n-level copies.


Marko

[toc] | [prev] | [next] | [standalone]


#71239 — Re: The � debate

FromRustom Mody <rustompmody@gmail.com>
Date2014-05-10 02:05 -0700
SubjectRe: The � debate
Message-ID<717336ca-387c-4ca4-ba56-7d0f9f083036@googlegroups.com>
In reply to#71230
On Saturday, May 10, 2014 1:18:27 PM UTC+5:30, Steven D'Aprano wrote:
> Python assignment doesn't copy values.

Maybe our values differ <wink>?

[toc] | [prev] | [next] | [standalone]


#71267 — Re: The � debate

FromEthan Furman <ethan@stoneleaf.us>
Date2014-05-10 12:30 -0700
SubjectRe: The � debate
Message-ID<mailman.9862.1399751480.18130.python-list@python.org>
In reply to#71239
On 05/10/2014 02:05 AM, Rustom Mody wrote:
> On Saturday, May 10, 2014 1:18:27 PM UTC+5:30, Steven D'Aprano wrote:
>>
>> Python assignment doesn't copy values.
>
> Maybe our values differ?

Obviously they do.  Yours are irrelevant for Python.  They could be, and probably are, useful when comparing and 
contrasting Python with other languages, or maybe when discussing a particular implementation of Python -- but when 
discussing the *language* of Python, your definition of value doesn't exist.

When learning a foreign human language most folks start at, and some stay at, the "think in native language, translate 
on the fly" mode.  And it probably works well enough to get by.  But that is not fluency.  Fluency is understanding the 
meaning behind the words, behind the sounds, and eventually being able to *think* in that other language.

If that is not your goal, fine;  please stop muddying other's understanding of how Python the language works.

--
~Ethan~

[toc] | [prev] | [next] | [standalone]


#71235 — Re: The � debate

FromMarko Rauhamaa <marko@pacujo.net>
Date2014-05-10 11:18 +0300
SubjectRe: The � debate
Message-ID<87zjiqrqq4.fsf@elektro.pacujo.net>
In reply to#71226
Chris Angelico <rosuav@gmail.com>:

> On Sat, May 10, 2014 at 3:58 PM, Gregory Ewing
> <greg.ewing@canterbury.ac.nz> wrote:
>> Steven D'Aprano wrote:
>>>
>>> some_function(x, y+1)[key].attribute[num](arg)[spam or eggs] = 42
>>>
>>> I'm pretty sure that it isn't common to call the LHS of that assignment a
>>> variable.
>
> [...]
> https://en.wikipedia.org/wiki/Assignment_(computer_science)
>
> [...]
>
> So if Python has no variables, then either that article is
> inappropriate, or Python has no assignment either.

Many complaints against Python's variables are really comments on
Python's object model.

Steven's example points out a different angle: many complaints against
Python's variables are really comments on Python's assignment statement
(including argument passing).

In Python,

   x       is a variable, a memory slot that can be assigned to,
   a[3]    is a list element, a memory slot that can be assigned to,
   d['y']  is a dict entry, a memory slot that can be assigned to,
   o.f     is a field, a memory slot that can be assigned to

Now, Python (together with a host of other programming languages) lacks
a way to pass memory slots by reference (although the list/dict+key
comes close). However, the fact that you can't get a reference to a
variable/list element/dict entry/field doesn't mean Python doesn't have
variables/list elements/dict entries/fields.


Marko

PS I have mentioned before that Python 3 *does* allow you to pass a
reference to any LHS by constructing an ad-hoc accessor object:

    x, y = 2, 3
    class X:
        def get(self): return x
        def set(self, v): nonlocal x; x = v
    class Y:
        def get(self): return y
        def set(self, v): nonlocal y; y = v
    swap(X(), Y())
    print(x, y)
    => 3, 2

Such ad-hoc accessor classes are required for nonglobal variables only.
Generic accessor classes can be written for global variables, list
elements, dict entries and fields.

[toc] | [prev] | [next] | [standalone]


#71241 — Re: The � debate

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-05-10 09:31 +0000
SubjectRe: The � debate
Message-ID<536df204$0$29980$c3e8da3$5496439d@news.astraweb.com>
In reply to#71235
On Sat, 10 May 2014 11:18:59 +0300, Marko Rauhamaa wrote:

> In Python,
> 
>    x       is a variable, a memory slot that can be assigned to,


If your intention was to prove Ben Finney right, then you've done a 
masterful job of it. Python variables ARE NOT MEMORY SLOTS.

(Not even local variables, since that's an implementation detail which 
the language takes pains to hide from the caller. The abstraction leaks a 
bit, but not much.)



-- 
Steven D'Aprano
http://import-that.dreamwidth.org/

[toc] | [prev] | [next] | [standalone]


#71095

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-05-08 13:18 +0000
Message-ID<536b8411$0$29965$c3e8da3$5496439d@news.astraweb.com>
In reply to#71088
On Thu, 08 May 2014 12:43:29 +0300, Marko Rauhamaa wrote:

> Ben Finney <ben@benfinney.id.au>:
> 
>> The concern is that the term “variable”'s existing baggage in the
>> programming community encourages *false inferences* that a beginner
>> doesn't even realise they're drawing. By discouraging use of that term
>> and replacing it with “name binding” or “reference”, a more accurate
>> model is implied, to the extent that its existing baggage encourages
>> significantly fewer false inferences.
> 
> I don't think flogging the beginner for talking about variables 

Nobody has suggested flogging anyone, not even figuratively. Unless you 
believe that correcting a misapprehension, no matter how gently it is 
done, is a flogging, I don't see how you draw the conclusion that Ben is 
talking about flogging anyone.


> helps
> them get Python's data model. All that accomplishes is that they will
> shut up about variables in the fear of being flogged and not understand
> the data model any better.

So far, we have had at least two people (myself and Jerry Hill) have 
stated that the names/values model has helped them learn the language. 
One of them (me) has even stated that the meme "Python has no variables" 
ACTIVELY HELPED (sorry for shouting) in learning the language as a 
beginner.

In contrast, we have some experts (like Ned) disagree with the meme, but 
I haven't seen anyone state that the meme "Python has no variables" has 
*hurt* their understanding. (I suspect that now I've raised this issue, 
some people will make a point of explicitly saying so, to counter my 
point.)

In any case, I regularly see people confused by wrongly applying C-like 
variable semantics to Python. E.g. the idea that Python may have pass by 
reference semantics comes up regularly. So is the idea that one can use 
id() to get a pointer to a variable, usually followed by the question 
"how do I dereference that pointer". 

I'm yet to see anyone whose understanding of Python was hurt by the "no 
variables" meme.

So... although I don't go quite so far as Ben in thinking that using the 
term "variable" in describing Python is harmful, I will say that the "no 
variables" meme is *useful* precisely because it is so shocking and so 
counter-intuitive that it forces[1] you to question your assumptions 
about how programming languages operate.


> Any C programmer will get Python easily because they are familiar with
> malloc() and pointers. 

They'll easily get Python *wrong* if they apply C semantics to Python, 
which many of them do.


> You will have more trouble with the beginner who
> has no prior programming knowledge. Do you first have to drag them along
> the keel by teaching them C and them graduating them to higher-level
> programming languages?

Good gods no. Teaching C is perhaps not as bad as teaching then BASIC, 
but that's a cruel and counter-productive thing to do to them if you want 
them to understand Python semantics. If you want them to learn Python, 
teach them Python.


> Back to the topic of variables. IMO the crucial factor that makes
> Python's variables ordinary, prosaic, programming language variables is
> the assignment. A real "non-variable" name-value binding would be
> permanent.

Ah, you're contrasting the idea of "variable" with "constant".


> Lisp without setq (or scheme without set!) would be such a
> language; in fact, the implementation would then not have anything
> resembling variables on the inside. It's the resettability that makes a
> variable a mundane memory slot, whether you have access to its address
> or not.

That does not make even a little sense. That's like saying that it's the 
presence of protein molecules in a hamburger that makes it soup.

The ability to rebind a name is not part of the definition of a memory 
slot. Memory slots are not necessarily rebindable -- a memory slot might 
be constant. Name bindings, whether variable or constant, may not have a 
fixed address. They might be key/value pairs in a dict, where the key is 
quite capable of being moved, as they are in Python -- dicts can be 
resized, even shrunk, and keys may move when they do so. In Jython, the 
entire dict can move in memory, since Java's memory management allows 
objects to be moved, unlike C-based implementations.

Or we might be talking about a language implemented in some exotic 
computing device, using clockwork, hydraulics, DNA recombination, or 
Conway's Game Of Life (which is Turing Complete), none of which have the 
concept of memory locations.

The fact that you seem to believe that *memory locations* are somehow 
fundamental to computing goes to show just how pernicious the concept is.


> (BTW, in lambda calculus and predicate logic, the names cannot be
> rebound, but they are still called variables.)
> 
> 
> Marko




[1] Not actually forced, of course, because rejecting the claim as 
"obviously wrong" without thought is possible. 


-- 
Steven D'Aprano
http://import-that.dreamwidth.org/

[toc] | [prev] | [next] | [standalone]


#71100

FromChris Angelico <rosuav@gmail.com>
Date2014-05-08 23:46 +1000
Message-ID<mailman.9778.1399556799.18130.python-list@python.org>
In reply to#71095
On Thu, May 8, 2014 at 11:18 PM, Steven D'Aprano
<steve+comp.lang.python@pearwood.info> wrote:
> So... although I don't go quite so far as Ben in thinking that using the
> term "variable" in describing Python is harmful, I will say that the "no
> variables" meme is *useful* precisely because it is so shocking and so
> counter-intuitive that it forces[1] you to question your assumptions
> about how programming languages operate.

Maybe the shock value is helpful, but that doesn't mean the
statement's strictly correct. It seems that every time we have one of
these discussions, someone claims that Python's name->object bindings
are utterly unique in the world of programming, which is patently
false, as a number of other languages do the same thing (often calling
them variables). So what does "Python doesn't have variables" mean?
Really it's "Python doesn't have variables like C's or Pascal's".

ChrisA

[toc] | [prev] | [next] | [standalone]


#71105

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-05-08 14:22 +0000
Message-ID<536b9308$0$29965$c3e8da3$5496439d@news.astraweb.com>
In reply to#71100
On Thu, 08 May 2014 23:46:31 +1000, Chris Angelico wrote:

> On Thu, May 8, 2014 at 11:18 PM, Steven D'Aprano
> <steve+comp.lang.python@pearwood.info> wrote:
>> So... although I don't go quite so far as Ben in thinking that using
>> the term "variable" in describing Python is harmful, I will say that
>> the "no variables" meme is *useful* precisely because it is so shocking
>> and so counter-intuitive that it forces[1] you to question your
>> assumptions about how programming languages operate.
> 
> Maybe the shock value is helpful, but that doesn't mean the statement's
> strictly correct. It seems that every time we have one of these
> discussions, someone claims that Python's name->object bindings are
> utterly unique in the world of programming,

I'm pretty sure I've never seen anyone make that claim explicitly. I'm 
not even sure anyone has implied it, although I have seen people counter 
the "no variables" meme with the *accusation* that the meme wrongly makes 
Python out to be radically different from other programming languages.

I think there is a kernel of truth to that accusation. I know that when I 
was first exposed to this meme, I got the impression that Python was, if 
not unique, at least rare. Eventually somebody challenged that meme by 
pointing out that Ruby, Javascript and Java use the same model, and that 
it is pretty much standard for high-level languages.


> which is patently false, as
> a number of other languages do the same thing (often calling them
> variables). So what does "Python doesn't have variables" mean? Really
> it's "Python doesn't have variables like C's or Pascal's".

Which is what both Ben and I *explicitly* say, when we use this meme. I 
won't speak for Ben, but I admit that when I first came across this meme 
some years back, in my enthusiasm and ignorance of other languages I may 
not have qualified it. I was young, or at least younger, and my mental 
model of "variables" was 100% Pascal, so to me, the idea that Python so-
called "variables" weren't *really* variables ("no true Scotsman") was 
quite heady and I may have been a bit over-enthusiastic for it.

But you know what? It takes a lot of discipline and effort to avoid using 
the term "variable" in favour of "name binding". It's not just a matter 
of extra typing, sometimes the word *variable* as in "something that 
varies" is exactly the right word and trying to find an alternative is 
too hard. So I've settled on what I think is the right strategy:

* if I need a word for "something which varies", I normally 
  use "variable";

* if somebody appears to have misunderstood Python's semantics,
  often because they're applying C-like semantics to name bindings,
  I'll explicitly say that Python doesn't have variables in the C
  sense of fixed memory locations known at compile-time, and 
  introduce them to the idea of run-time "name bindings".


-- 
Steven D'Aprano
http://import-that.dreamwidth.org/

[toc] | [prev] | [next] | [standalone]


#71109

FromChris Angelico <rosuav@gmail.com>
Date2014-05-09 00:51 +1000
Message-ID<mailman.9785.1399560664.18130.python-list@python.org>
In reply to#71105
On Fri, May 9, 2014 at 12:22 AM, Steven D'Aprano
<steve+comp.lang.python@pearwood.info> wrote:
>> Maybe the shock value is helpful, but that doesn't mean the statement's
>> strictly correct. It seems that every time we have one of these
>> discussions, someone claims that Python's name->object bindings are
>> utterly unique in the world of programming,
>
> I'm pretty sure I've never seen anyone make that claim explicitly. I'm
> not even sure anyone has implied it, although I have seen people counter
> the "no variables" meme with the *accusation* that the meme wrongly makes
> Python out to be radically different from other programming languages.
>
> I think there is a kernel of truth to that accusation. I know that when I
> was first exposed to this meme, I got the impression that Python was, if
> not unique, at least rare. Eventually somebody challenged that meme by
> pointing out that Ruby, Javascript and Java use the same model, and that
> it is pretty much standard for high-level languages.
>
>
>> which is patently false, as
>> a number of other languages do the same thing (often calling them
>> variables). So what does "Python doesn't have variables" mean? Really
>> it's "Python doesn't have variables like C's or Pascal's".
>
> Which is what both Ben and I *explicitly* say, when we use this meme.

You might, but he didn't. Compare what he wrote recently:

On Wed, May 7, 2014 at 9:55 AM, Ben Finney <ben@benfinney.id.au> wrote:
> I don't know enough Ruby to comment there. For Java, Javascript, PHP,
> they *do* have variables that work pretty much as expected by these
> newcomers: the variables are declared and exist before a value is
> assigned, they have the “box containing a value” conceptual model (as
> contrasted with Python's “value with sticky-notes attached” model), the
> “how do I pass by reference or by value?” question is meaningful — all
> of these are significantly different in Python, so the term “variable”
> is useful in those other languages but mostly just a confusing obstacle
> in learning Python.

Implication: That Java, JavaScript, and PHP, with Ruby as the only
omission, all have C/Pascal variables, and Python doesn't. Reality:
Java and JavaScript follow Python-like semantics (at least as regards
boxed objects, in the case of the former; unboxed integers in Java are
more akin to C's integers), and PHP is... well, PHP is PHP, I don't
think there's really much comparison. But even in PHP, the 'object'
type more-or-less follows Python-like semantics. (There are some
extreme weirdnesses as regards arrays, which are notionally copied
whenever they're passed around, but it seems in most cases to be
optimized to copy-on-write. I'm not sure what happens when you use a
PHP reference. So I'm just going back to "PHP is PHP".) Since Ruby
also follows Python-like semantics, as do Pike, and (IIUC) C#, and
many other languages, the overall result is that Python is far from
unique, and that the explicit "like C's or Pascal's" is important.

And then the question becomes: How useful is it to argue that "Python
doesn't have variables like C's or Pascal's" to someone who has never
used C or Pascal? And if that person has experience with JavaScript's
variables, is it as counterproductive to say "Python doesn't have
variables" as to watch the Ruby people argue that it's really called
pass-by-reference?

ChrisA

[toc] | [prev] | [next] | [standalone]


#71112

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-05-08 16:04 +0000
Message-ID<536bab23$0$29965$c3e8da3$5496439d@news.astraweb.com>
In reply to#71109
On Fri, 09 May 2014 00:51:01 +1000, Chris Angelico wrote:

>>> which is patently false, as
>>> a number of other languages do the same thing (often calling them
>>> variables). So what does "Python doesn't have variables" mean? Really
>>> it's "Python doesn't have variables like C's or Pascal's".
>>
>> Which is what both Ben and I *explicitly* say, when we use this meme.
> 
> You might, but he didn't. Compare what he wrote recently:
[...]


If you want to argue that Ben is factually mistaken about Java and 
Javascript, go right ahead. But he earlier wrote:

    That's why I always try to say “Python doesn't have variables 
    the way you might know from many other languages”

and

    So Python doesn't have variables in the way programmers coming
    from many other languages expect. Instead, it has references 
    bound to values.


Personally, I think that trying to be general and talk about "many other 
languages" is a failing strategy. Better to be concrete: C, Pascal, 
Algol, Fortran, VB (I think) are good examples of the "value in a box at 
a fixed location" model. Of those, Algol, Pascal and Fortran are either 
obsolete or legacy, and C is by far the most well-known by people here. 
(For some reason, few people seem to migrate from VB to Python.) Hence, 
"C-like".



-- 
Steven D'Aprano
http://import-that.dreamwidth.org/

[toc] | [prev] | [next] | [standalone]


#71113

FromChris Angelico <rosuav@gmail.com>
Date2014-05-09 02:10 +1000
Message-ID<mailman.9787.1399565456.18130.python-list@python.org>
In reply to#71112
On Fri, May 9, 2014 at 2:04 AM, Steven D'Aprano
<steve+comp.lang.python@pearwood.info> wrote:
> Personally, I think that trying to be general and talk about "many other
> languages" is a failing strategy. Better to be concrete: C, Pascal,
> Algol, Fortran, VB (I think) are good examples of the "value in a box at
> a fixed location" model. Of those, Algol, Pascal and Fortran are either
> obsolete or legacy, and C is by far the most well-known by people here.
> (For some reason, few people seem to migrate from VB to Python.) Hence,
> "C-like".

Agreed. So long as the statement is "Python doesn't have variables",
I'm going to have to disagree; but "Python doesn't have variables the
way C does" is definitely true, and probably as helpful as the shorter
version.

ChrisA

[toc] | [prev] | [next] | [standalone]


#71141

FromDennis Lee Bieber <wlfraed@ix.netcom.com>
Date2014-05-08 21:02 -0400
Message-ID<mailman.9805.1399597367.18130.python-list@python.org>
In reply to#71112
On 08 May 2014 16:04:51 GMT, Steven D'Aprano
<steve+comp.lang.python@pearwood.info> declaimed the following:

>Personally, I think that trying to be general and talk about "many other 
>languages" is a failing strategy. Better to be concrete: C, Pascal, 
>Algol, Fortran, VB (I think) are good examples of the "value in a box at 
>a fixed location" model. Of those, Algol, Pascal and Fortran are either 
>obsolete or legacy, and C is by far the most well-known by people here. 
>(For some reason, few people seem to migrate from VB to Python.) Hence, 
>"C-like".
>

	Obsolete and Legacy? Fortran still receives regular standards updates
(currently 2008, with the next revision due in 2015).

-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
    wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/

[toc] | [prev] | [next] | [standalone]


#71145

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-05-09 01:32 +0000
Message-ID<536c3049$0$29965$c3e8da3$5496439d@news.astraweb.com>
In reply to#71141
On Thu, 08 May 2014 21:02:36 -0400, Dennis Lee Bieber wrote:

> On 08 May 2014 16:04:51 GMT, Steven D'Aprano
> <steve+comp.lang.python@pearwood.info> declaimed the following:
> 
>>Personally, I think that trying to be general and talk about "many other
>>languages" is a failing strategy. Better to be concrete: C, Pascal,
>>Algol, Fortran, VB (I think) are good examples of the "value in a box at
>>a fixed location" model. Of those, Algol, Pascal and Fortran are either
>>obsolete or legacy, and C is by far the most well-known by people here.
>>(For some reason, few people seem to migrate from VB to Python.) Hence,
>>"C-like".
>>
>>
> 	Obsolete and Legacy? Fortran still receives regular standards 
updates
> (currently 2008, with the next revision due in 2015).

Although Fortran is still in use, and widely so, it is mostly used for 
accessing existing Fortran libraries rather than writing new 
applications. There may be niches where that does not hold, where people 
are actively writing new applications in Fortran, but they are niches. 
Today, Fortran is rarely used for general purpose computing, updated 
standards or no updated standards.

Fortran appears at number 32 in the TIOBE index, with a rating of 0.419%:

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

which puts it below ML, Logo, D and Ada, at least according to whatever 
measure of popularity TIOBE uses. One might reasonably argue about 
precisely how often Fortran is used today, but I don't think one could 
argue that it is used more than (say) Java or PHP or even Perl.

There are common, mainstream languages in frequent use, like C, 
Javascript and Python; up-and-coming languages like Go and D which may or 
may not someday become mainstream; and long established (i.e. legacy) 
languages that once were in common use but today not so much, like COBOL, 
PL/I and, yes, Fortran. I don't think this should be controversial.



-- 
Steven D'Aprano
http://import-that.dreamwidth.org/

[toc] | [prev] | [next] | [standalone]


Page 3 of 8 — ← Prev page 1 2 [3] 4 5 6 7 8  Next page →

Back to top | Article view | comp.lang.python


csiph-web