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


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

Re: checking if a list is empty

Started byTerry Reedy <tjreedy@udel.edu>
First post2011-05-06 15:31 -0400
Last post2011-05-12 03:49 +0000
Articles 20 on this page of 100 — 28 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: checking if a list is empty Terry Reedy <tjreedy@udel.edu> - 2011-05-06 15:31 -0400
    Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-06 14:49 -0500
      Re: checking if a list is empty Adam Tauno Williams <awilliam@whitemice.org> - 2011-05-06 16:05 -0400
        Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-07 02:49 +0000
          Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-11 10:14 +0100
            Re: checking if a list is empty Laurent Claessens <moky.math@gmail.com> - 2011-05-11 11:48 +0200
              Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-11 11:14 +0000
                Re: checking if a list is empty Laurent Claessens <moky.math@gmail.com> - 2011-05-11 13:45 +0200
                Re: checking if a list is empty Laurent Claessens <moky.math@gmail.com> - 2011-05-11 13:45 +0200
            Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-11 13:36 +0000
              Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-11 15:00 +0100
                Re: checking if a list is empty Chris Angelico <rosuav@gmail.com> - 2011-05-12 00:46 +1000
                Re: checking if a list is empty Ethan Furman <ethan@stoneleaf.us> - 2011-05-11 08:53 -0700
                RE: checking if a list is empty "Prasad, Ramit" <ramit.prasad@jpmchase.com> - 2011-05-11 13:50 -0400
                  Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-11 19:15 +0100
                    RE: checking if a list is empty "Prasad, Ramit" <ramit.prasad@jpmchase.com> - 2011-05-11 14:59 -0400
                      Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-11 20:08 +0100
                    Re: checking if a list is empty Ethan Furman <ethan@stoneleaf.us> - 2011-05-11 12:17 -0700
                      Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-11 20:13 +0100
                        Re: checking if a list is empty Ian <hobson42@gmail.com> - 2011-05-11 22:02 +0100
                          Re: checking if a list is empty Thomas Rachel <nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915@spamschutz.glglgl.de> - 2011-05-22 22:41 +0200
                        Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-11 21:47 +0000
                          Re: checking if a list is empty Steven Howe <howe.steven@gmail.com> - 2011-05-11 15:09 -0700
                          Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-11 17:38 -0500
                            Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-11 18:12 -0500
                            Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-12 01:07 +0000
                          Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-12 06:21 +0100
                        Re: checking if a list is empty Chris Angelico <rosuav@gmail.com> - 2011-05-12 13:51 +1000
                        Re: checking if a list is empty Ethan Furman <ethan@stoneleaf.us> - 2011-05-12 07:02 -0700
                        Re: checking if a list is empty Chris Angelico <rosuav@gmail.com> - 2011-05-13 00:13 +1000
                        Re: checking if a list is empty Ian <hobson42@gmail.com> - 2011-05-22 10:20 +0100
                Re: checking if a list is empty Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2011-05-12 11:08 +1200
                  Re: checking if a list is empty John J Lee <jjl@pobox.com> - 2011-05-21 15:46 +0100
                    Re: checking if a list is empty Emile van Sebille <emile@fenx.com> - 2011-05-21 08:52 -0700
                    Re: checking if a list is empty Terry Reedy <tjreedy@udel.edu> - 2011-05-21 16:11 -0400
                      Re: checking if a list is empty rusi <rustompmody@gmail.com> - 2011-05-21 20:02 -0700
                        Re: checking if a list is empty Chris Angelico <rosuav@gmail.com> - 2011-05-22 13:52 +1000
                          Re: checking if a list is empty rusi <rustompmody@gmail.com> - 2011-05-21 21:32 -0700
                            Re: checking if a list is empty Chris Angelico <rosuav@gmail.com> - 2011-05-22 15:16 +1000
                    Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-22 01:02 +0000
                      Re: checking if a list is empty Chris Angelico <rosuav@gmail.com> - 2011-05-22 12:56 +1000
      Re: checking if a list is empty Chris Rebert <clp2@rebertia.com> - 2011-05-06 13:46 -0700
      Re: checking if a list is empty Chris Angelico <rosuav@gmail.com> - 2011-05-07 10:51 +1000
      Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-07 08:28 +0000
        Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-07 22:50 -0500
          Re: checking if a list is empty Ethan Furman <ethan@stoneleaf.us> - 2011-05-07 21:57 -0700
            Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-11 11:47 +0100
              Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-11 13:45 +0000
                Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-11 15:34 +0100
                  Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-11 16:26 +0000
                    Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-11 19:05 +0100
                      RE: checking if a list is empty "Prasad, Ramit" <ramit.prasad@jpmchase.com> - 2011-05-11 14:44 -0400
                        Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-11 20:26 +0100
                          Learning new languages (was: checking if a list is empty) Teemu Likonen <tlikonen@iki.fi> - 2011-05-12 06:37 +0300
                    Re: checking if a list is empty Chris Torek <nospam@torek.net> - 2011-05-11 19:05 +0000
                      Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-11 21:42 +0000
                        Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-12 07:23 +0100
                  Re: checking if a list is empty Ian Kelly <ian.g.kelly@gmail.com> - 2011-05-11 10:31 -0600
                    Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-11 18:46 +0100
              Re: checking if a list is empty "D'Arcy J.M. Cain" <darcy@druid.net> - 2011-05-11 10:33 -0400
                Re: checking if a list is empty Redcat <redcat@catfolks.net> - 2011-05-11 15:31 +0000
                Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-11 18:44 +0100
                Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-11 16:24 -0500
                  Re: checking if a list is empty alex23 <wuwei23@gmail.com> - 2011-05-11 20:31 -0700
                    Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-11 22:53 -0500
                      Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-12 06:13 +0000
                        Re: checking if a list is empty "rurpy@yahoo.com" <rurpy@yahoo.com> - 2011-05-12 10:42 -0700
                          Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-13 14:41 -0500
                            Re: checking if a list is empty Ian Kelly <ian.g.kelly@gmail.com> - 2011-05-13 14:21 -0600
                              Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-13 19:48 -0500
                                Re: checking if a list is empty Ian Kelly <ian.g.kelly@gmail.com> - 2011-05-13 19:52 -0600
                                  Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-13 23:47 -0500
                                    Re: checking if a list is empty Ian Kelly <ian.g.kelly@gmail.com> - 2011-05-14 00:14 -0600
                                Re: checking if a list is empty Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2011-05-14 14:32 +1200
                              Re: checking if a list is empty Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2011-05-14 14:26 +1200
                    Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-12 07:13 +0100
                      Re: checking if a list is empty Ben Finney <ben+python@benfinney.id.au> - 2011-05-12 16:46 +1000
                        Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-12 08:28 +0100
                          Re: checking if a list is empty Ben Finney <ben+python@benfinney.id.au> - 2011-05-12 17:37 +1000
                  Re: checking if a list is empty "D'Arcy J.M. Cain" <darcy@druid.net> - 2011-05-12 01:49 -0400
                    Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-12 07:21 +0100
                      Re: checking if a list is empty Chris Angelico <rosuav@gmail.com> - 2011-05-12 22:16 +1000
                        Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-12 13:43 +0100
                          Re: checking if a list is empty Chris Angelico <rosuav@gmail.com> - 2011-05-12 23:20 +1000
                            Re: checking if a list is empty Hans Georg Schaathun <hg@schaathun.net> - 2011-05-13 09:47 +0100
          Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-08 14:07 +0000
            Re: checking if a list is empty Jussi Piitulainen <jpiitula@ling.helsinki.fi> - 2011-05-08 18:59 +0300
            Re: checking if a list is empty Terry Reedy <tjreedy@udel.edu> - 2011-05-08 18:41 -0400
            Re: checking if a list is empty Michael Torrie <torriem@gmail.com> - 2011-05-08 21:31 -0600
            Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-08 22:33 -0500
              Re: checking if a list is empty Ian Kelly <ian.g.kelly@gmail.com> - 2011-05-08 22:34 -0600
                Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-09 16:58 -0500
                  Re: checking if a list is empty Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-09 23:34 +0000
                    Re: checking if a list is empty Ben Finney <ben+python@benfinney.id.au> - 2011-05-10 09:54 +1000
                    Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-09 19:10 -0500
                    Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-09 19:19 -0500
              Re: checking if a list is empty James Mills <prologic@shortcircuit.net.au> - 2011-05-09 14:46 +1000
            Re: checking if a list is empty harrismh777 <harrismh777@charter.net> - 2011-05-08 22:56 -0500
            Re: checking if a list is empty Terry Reedy <tjreedy@udel.edu> - 2011-05-09 17:30 -0400
            Re: checking if a list is empty Chris Torek <nospam@torek.net> - 2011-05-12 03:49 +0000

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


#5125

FromRedcat <redcat@catfolks.net>
Date2011-05-11 15:31 +0000
Message-ID<92vodkFrniU3@mid.individual.net>
In reply to#5120
On Wed, 11 May 2011 10:33:51 -0400, D'Arcy J.M. Cain wrote:

> Non-programmers should be able to program?

Wasn't that sort of the premise behind Visual Basic? I don't know if that 
was the intention, but it sure was the result in a lot of cases.

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


#5140

FromHans Georg Schaathun <hg@schaathun.net>
Date2011-05-11 18:44 +0100
Message-ID<2huq98-2v6.ln1@svn.schaathun.net>
In reply to#5120
On Wed, 11 May 2011 10:33:51 -0400, D'Arcy J.M. Cain
  <darcy@druid.net> wrote:
:  Non-programmers should be able to program?

That was not really what I suggested; I was primarily talking
about reading programs and commenting on formulæ and algorithms.

:  Should non-doctors be able to doctor?

If I were God, I might consider simplifying the anatomy to allow that,
yes.

:                                        Should cars be built so that
:  anyone can intuitively fix them without a mechanic?  Should trucks be
:  built so that drivers don't have to learn how to split shift?

That's out of my area so I don't know.  However, contrary to
software, I have never seen any use of rebuilding the car to
do something other than transport ...

And, besides, as mechanics do not design cars or even engines, they 
are not analogous to programmers, but rather to computer technicians 
(maintenance, deployment, installation, etc).

:                                                                 Why is
:  programming so different that we can't expect people to actually learn
:  their discipline?

It is not different from other engineering disciplines, where you would
have to interact with experts from other disciplines, and understand
and comment on their designs.  That's the way to build a /system/.

Say, you want to create the software to make weather forcasts.
At the end of the day, that's programming, but no way that's going
to be a task for programmers alone.  You need mathematicians,
algorithm theorists, physicists, programmers, and multiple 
specialisations within each discipline.  If you can make your 
programs clear enough to be used as a language of communications, 
you will simplify the development, and allow the code to be
validated by those who knows how the computation has to be done
without specialising in talking to the computer.

:  This discussion is giving me some insight into some of the crap
:  programming I see these days.

I wonder if you would do a better job at programming the software
to crack equations from quantum physics than the physicist :-)

-- 
:-- Hans Georg

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


#5162

Fromharrismh777 <harrismh777@charter.net>
Date2011-05-11 16:24 -0500
Message-ID<A8Dyp.568$WX5.258@newsfe10.iad>
In reply to#5120
D'Arcy J.M. Cain wrote:
> Non-programmers should be able to program?
>
> Should non-doctors be able to doctor?  Should cars be built so that
> anyone can intuitively fix them without a mechanic?

    Non-programmers should not be expected to program in 'C' nor in lisp...

    ... but non-programmers were able to program in BASIC jes fine...


I contend that non-programmers are able to learn rudimentary python and 
work with it to solve real problems 'without' formal training in 
'programming'.

Python is the New BASIC for 'people'. At least, it has the potential to 
be that...   people should be able to talk to their computers (whatever 
we mean by that) and have the computer respond with real-world 
solutions.  We need to move away from 'canned apps' to a new day where 
the masses can sit down to their computer and solve new problems with it 
through intuitive language skills.  Why not?

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


#5185

Fromalex23 <wuwei23@gmail.com>
Date2011-05-11 20:31 -0700
Message-ID<8354770a-d69d-4132-b0ba-2d610eab2fe7@d26g2000prn.googlegroups.com>
In reply to#5162
On May 12, 7:24 am, harrismh777 <harrismh...@charter.net> wrote:
> We need to move away from 'canned apps' to a new day where
> the masses can sit down to their computer and solve new problems with it
> through intuitive language skills.  Why not?

Because the vast majority of them don't seem to want to be bothered?

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


#5190

Fromharrismh777 <harrismh777@charter.net>
Date2011-05-11 22:53 -0500
Message-ID<dRIyp.221$BS4.168@newsfe01.iad>
In reply to#5185
alex23 wrote:
>> through intuitive language skills.  Why not?
> Because the vast majority of them don't seem to want to be bothered?
>

That could very well be... but I have a hope for them. I honestly think 
its not because they don't want to be bothered, rather they just think 
its too far past them...   and not do-able.

This is where I think it would be helpful at the undergraduate level to 
insist that *all* students learn some programming (and yes, using 
Python). Actually, I am thinking that it would be great to begin this in 
grade school. But then, I'm also one of those Americans who believe that 
every student should learn at least (1) non-English language beginning 
in 1st grade--- mandatory. <sigh>   (of course others are just hoping 
they learn English...)





kind regards,
m harris

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


#5203

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2011-05-12 06:13 +0000
Message-ID<4dcb7a8d$0$29973$c3e8da3$5496439d@news.astraweb.com>
In reply to#5190
On Wed, 11 May 2011 22:53:45 -0500, harrismh777 wrote:

> alex23 wrote:
>>> through intuitive language skills.  Why not?
>> Because the vast majority of them don't seem to want to be bothered?
>>
>>
> That could very well be... but I have a hope for them. I honestly think
> its not because they don't want to be bothered, rather they just think
> its too far past them...   and not do-able.

An admirable hope, but there is a significant amount of research into 
teaching computer programming that suggests that learning to program is 
simply beyond a large portion of the population, no matter what you do or 
what language you teach. Some 30-60% of people barely get past "Hello 
World".

(That's not to imply that they're dumb, just that whatever mental skills 
are needed for programming is beyond them, just as whatever mental skills 
are needed for writing poetry are beyond me.)

http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html

Shorter version: it seems that programming aptitude is a bimodal 
distribution, with very little migration from the "can't program" hump 
into the "can program" hump. There does seem to be a simple predictor for 
which hump you fall into: those who intuitively develop a consistent 
model of assignment (right or wrong, it doesn't matter, so long as it is 
consistent) can learn to program. Those who don't, can't.



-- 
Steven

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


#5248

From"rurpy@yahoo.com" <rurpy@yahoo.com>
Date2011-05-12 10:42 -0700
Message-ID<25a7c6d9-5d60-4528-8eaf-e6d0e73dfd1d@17g2000prr.googlegroups.com>
In reply to#5203
On 05/12/2011 12:13 AM, Steven D'Aprano wrote:
>[snip]
> http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html
>
> Shorter version: it seems that programming aptitude is a bimodal
> distribution, with very little migration from the "can't program" hump
> into the "can program" hump. There does seem to be a simple predictor for
> which hump you fall into: those who intuitively develop a consistent
> model of assignment (right or wrong, it doesn't matter, so long as it is
> consistent) can learn to program. Those who don't, can't.

A later paper by the same authors...
(http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper3.pdf)

Abstract:
[...] Despite a great deal of research into teaching methods
and student responses, there have been to date no strong
predictors of success in learning to program.  Two years ago
we appeared to have discovered an exciting and enigmatic new
predictor of success in a first programming course. We now
report that after six experiments, involving more than 500
students at six institutions in three countries, the predictive
effect of our test has failed to live up to that early promise.
We discuss the strength of the effects that have been observed
and the reasons for some apparent failures of prediction.

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


#5320

Fromharrismh777 <harrismh777@charter.net>
Date2011-05-13 14:41 -0500
Message-ID<jPfzp.27381$Vp.25225@newsfe14.iad>
In reply to#5248
rurpy@yahoo.com wrote:
>> http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html

> A later paper by the same authors...
> (http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper3.pdf)
>

These papers are fascinating reading, not only for philosophy sake in a 
great study in epistemology, but for a good clean study in good science 
and an appropriate measure of the scientific method in an interesting 
case study that 'failed'. In that regard it was a huge success!

The authors recognize (in paper [2]) that while their findings disproved 
their hypothesis the advances they made through good science have left 
the door open for further study. This is good news for the field of 
philosophy generally, and for epistemology in particular.

-------

I too have noticed the general 'case' put forward in paper(1): namely, 
some people just don't seem to get it on the surface, and we can't 
figure out why.  On the other hand, I have 'always' been able to teach 
computer science (programming in particular) to 'anyone' given enough 
time, attention, creativity, and caring. In fact, when I find someone 
who is exhibiting low aptitude potential (let's say zero '0') then I 
must allow even more time, more attention, much more creativity, and a 
lot more caring.

I remember a line from "Mr. Holland's Opus,"  (a great movie, by the 
way) where Mr Holland is explaining to the coach why a certain young man 
has not any musical acumen --- and the coach says, "..you telling me you 
can't teach a willing kid to beat a drum...?... then you're a lousy 
teacher!"  Holland ended up teaching us all a lot more than how to beat 
a drum, before the end of the movie....

The point here is that aptitude says what a person has been conditioned 
for at this 'point in time' to be able to do... but says nothing about 
what re-conditioning might do for a transformed life! If I can't teach a 
kid how to program a computer, I'm a lousy teacher!

-------

I grew up with computers. But kids today have 'magical' thinking about 
these machines, because they didn't grow up with them. If you started 
out (like I did) on the Altair 8800, or the Wang 700, programming in 
machine code, it became very clear rapidly why a high level language of 
some type might be beneficial ( and you could relate how the language 
constructs made the translation to machine code possible ). It was 
easier for me to learn programming, because I evolved with it.

On the other hand, kids today are dumped into a first comp sci course in 
programming and plopped in-front of a Hugs interactive shell and then 
are expected to learn programming and be successful by trying to grasp 
pure functional programming in Haskell(!) in a ten to 12 week term and 
we wonder why so many students are failing their 'first' programming 
class!!  Give me a break.  No, give them a break.

Guido van Rossum has said in one of his interviews (can't remember now 
which one) that BASIC is a terrible first computer language... and I 
agree... but, it was a lot better than Hugs!  But that's not my point, 
my point is that Python is better still.  Why?  Because Python can be 
taught at a *very* rudimentary level ( input, control, arithmetic, logic 
and output ) in almost a BASIC or REXX procedural style -- top down -- 
so that students 'get it'. Then, in subsequent classes down the road 
(much later) Python can grow and expand with the student's 
re-conditioning for more in-depth expansion of concepts and knowledge.

At the graduate level Python will still be there... challenging students 
to extend and expand in ways that were not even possible to discuss in 
the first introductory course. It seems to me that if the goal of comp 
sci courses at universities and colleges is 'education' that comp sci 
professors and instructors would get a handle on this.

If you can't teach a willing kid to write a functioning computer program 
then you're a lousy teacher.


kind regards,
m harris

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


#5324

FromIan Kelly <ian.g.kelly@gmail.com>
Date2011-05-13 14:21 -0600
Message-ID<mailman.1526.1305318141.9059.python-list@python.org>
In reply to#5320
On Fri, May 13, 2011 at 1:41 PM, harrismh777 <harrismh777@charter.net> wrote:
> On the other hand, kids today are dumped into a first comp sci course in
> programming and plopped in-front of a Hugs interactive shell and then are
> expected to learn programming and be successful by trying to grasp pure
> functional programming in Haskell(!) in a ten to 12 week term and we wonder
> why so many students are failing their 'first' programming class!!  Give me
> a break.  No, give them a break.

Well, at least Haskell is probably better as an introductory language
than Lisp or Scheme.  But what schools actually do this?  My
perception is that the vast majority of schools use C++ or C# or Java,
typically relegating functional programming to a single second- or
third-year course.  Of course it's well known that MIT used to use
Scheme, but they switched to Python a couple years ago.

> Guido van Rossum has said in one of his interviews (can't remember now which
> one) that BASIC is a terrible first computer language... and I agree... but,
> it was a lot better than Hugs!  But that's not my point, my point is that
> Python is better still.  Why?  Because Python can be taught at a *very*
> rudimentary level ( input, control, arithmetic, logic and output ) in almost
> a BASIC or REXX procedural style -- top down -- so that students 'get it'.
> Then, in subsequent classes down the road (much later) Python can grow and
> expand with the student's re-conditioning for more in-depth expansion of
> concepts and knowledge.

I don't think a single language is necessarily going to be best for
all students.  If a math major comes to you wanting to learn some
programming for theorem-proving, bearing in mind that they probably
aren't interested in learning more than a single language, would you
try to start them out with Python, or would you just give them the
functional language that they're ultimately going to want?

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


#5328

Fromharrismh777 <harrismh777@charter.net>
Date2011-05-13 19:48 -0500
Message-ID<ijkzp.90$241.24@newsfe07.iad>
In reply to#5324
Ian Kelly wrote:
> Well, at least Haskell is probably better as an introductory language
> than Lisp or Scheme.  But what schools actually do this?

http://www.cs.kent.ac.uk/teaching/resources/haskell/HugsResources.html
http://research.cs.queensu.ca/home/cisc260/2010w/haskell.html

    These are just two schools that teach functional programming early 
on using Haskell... but there are many.  (google around)

    caveat:  thingks are changing all the time, for instance I notice 
that Margaret Lamb at Queen's University in Ontario hasn't updated her 
page in about a year... so things may be different there for her classes 
than when we were first corresponding...

   ... and I'm also lumping two other languages into this 'category'... 
namely, Scheme, and Erlang.

> perception is that the vast majority of schools use C++ or C# or Java,

    ... that may be the trend now...

> typically relegating functional programming to a single second- or
> third-year course.  Of course it's well known that MIT used to use
> Scheme, but they switched to Python a couple years ago.

     Scheme seems to be very popular in education, based on the 
discussions, as a functional language; but, alas, I've not seen it nor 
played with it ( so can't comment too much, yet ).  I'm glad to hear 
that MIT is using Python now..!

> I don't think a single language is necessarily going to be best for
> all students.

    no doubt...   I can dream can't I ?

> If a math major comes to you wanting to learn some
> programming for theorem-proving, bearing in mind that they probably
> aren't interested in learning more than a single language, would you
> try to start them out with Python, or would you just give them the
> functional language that they're ultimately going to want?

Well, that's just it... learning how to program is essential for all 
disciplines IMHO and learning just one language is not an option. 
Everyone needs a GPL and that's going to be Python... me hopes.  And 
then some majors are going to require special purpose languages that 
meet certain requirements... and functional languages (haskell, erlang, 
scheme) are going to suit that need very well) by the by, don't get me 
wrong... I think Haskell is elegant, one of the best... but, not for 
students with no programming background, nor for those who just don't 
seem to be getting it on the first pass.



kind regards,
m harris



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


#5330

FromIan Kelly <ian.g.kelly@gmail.com>
Date2011-05-13 19:52 -0600
Message-ID<mailman.1531.1305337990.9059.python-list@python.org>
In reply to#5328
On Fri, May 13, 2011 at 6:48 PM, harrismh777 <harrismh777@charter.net> wrote:
> Ian Kelly wrote:
>>
>> Well, at least Haskell is probably better as an introductory language
>> than Lisp or Scheme.  But what schools actually do this?
>
> http://www.cs.kent.ac.uk/teaching/resources/haskell/HugsResources.html
> http://research.cs.queensu.ca/home/cisc260/2010w/haskell.html
>
>   These are just two schools that teach functional programming early on
> using Haskell... but there are many.  (google around)

The first link is just a collection of Haskell resources, which
indicates that they use it, but not when.  They also have a collection
of Java resources on the department website.  Perusing the handbook, I
see the following modules:

    CO320 Introduction to Object-Oriented Programming

This appears to be their introductory module.  It doesn't say what
language they use, but since they have Java resources on the website
that's what I'm going to guess.

    CO530 Functional Programming

This is listed as an intermediate-level course and is in the 2nd/3rd
year handbook.  The synopsis includes: "Introduction to a Haskell
system (sessions and scripts)."  So no, Kent does not appear to be
teaching Haskell as an introductory course, or even in the first year.

The Queen's course also appears to be a 2nd year class, based on the
number.  Its description includes this: "You will learn two new
languages: Haskell and Prolog. These languages are a bit different
from languages such as *Python* and *Java* that you have learned so
far in Queen's courses" (emphasis added).  Notably, this class isn't
even focused on functional programming; it's an introduction to
programming paradigms other than the imperative one.

So far, neither of these universities support your claim that "kids
today are dumped into a first comp sci course in programming and
plopped in-front of a Hugs interactive shell and then are expected to
learn programming and be successful by trying to grasp pure functional
programming in Haskell(!) in a ten to 12 week term".

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


#5335

Fromharrismh777 <harrismh777@charter.net>
Date2011-05-13 23:47 -0500
Message-ID<ePnzp.1539$oq.941@newsfe17.iad>
In reply to#5330
Ian Kelly wrote:
>> >>  Well, at least Haskell is probably better as an introductory language
>> >>  than Lisp or Scheme.  But what schools actually do this?
>>


http://www.inf.ed.ac.uk/teaching/courses/inf1/fp/

http://www.cs.ou.edu/~rlpage/fpclassSpring97/


There are lots of these...   the two above afaik are still doing this at 
the entry level...    ... supposedly, these kids are 'mostly' successful 
and exit interviews are great...  but that doesn't fit with the observed 
idea that students are not doing well in comp sci classes generally... 
but, read below...  this at the entry level??

====== block quote =========
The first 10 to 11 weeks of the course use Haskell. Students are 
required to write nine programs in Haskell, three of which are team 
projects that combine software developed in individual projects. 
Different members of a team are assigned different individual projects, 
and the team efforts combine their solutions into a working piece of 
software.

In the early part of the course, students use operators like map, foldr, 
zip, and iterate to express computations. Explicit recursion is 
introduced after some experience with these common patterns of 
computation. Examples and problems address non-numeric applications, for 
the most part. Both interactive and file I/O are covered, but general 
purpose monads are not.

The last 5 to 6 weeks of the course use C, and most of the projects in 
that part of the course duplicate the function of earlier pieces of 
software that the students have written in Haskell.
====== /block quote =========

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


#5338

FromIan Kelly <ian.g.kelly@gmail.com>
Date2011-05-14 00:14 -0600
Message-ID<mailman.1538.1305353732.9059.python-list@python.org>
In reply to#5335
On Fri, May 13, 2011 at 10:47 PM, harrismh777 <harrismh777@charter.net> wrote:
> http://www.inf.ed.ac.uk/teaching/courses/inf1/fp/
>
> http://www.cs.ou.edu/~rlpage/fpclassSpring97/
>
>
> There are lots of these...   the two above afaik are still doing this at the
> entry level...    ... supposedly, these kids are 'mostly' successful and
> exit interviews are great...  but that doesn't fit with the observed idea
> that students are not doing well in comp sci classes generally... but, read
> below...  this at the entry level??

I'll grant you Edinburgh.  That Oklahoma syllabus is from 1997.  The
2010 syllabus for the entry-level course indicates that it is taught
in Java.

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


#5332

FromGregory Ewing <greg.ewing@canterbury.ac.nz>
Date2011-05-14 14:32 +1200
Message-ID<9367t9Fq0fU1@mid.individual.net>
In reply to#5328
harrismh777 wrote:

>   ... and I'm also lumping two other languages into this 'category'... 
> namely, Scheme, and Erlang.

Scheme isn't really a functional language, though. You can
use a subset of it in a functional way, but it doesn't have
the sort of built-in support for pattern matching and case
analysis that true functional languages tend to have.

As families of languages go, Scheme has more in common with
Python than Haskell.

-- 
Greg

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


#5331

FromGregory Ewing <greg.ewing@canterbury.ac.nz>
Date2011-05-14 14:26 +1200
Message-ID<9367i3Fnq3U1@mid.individual.net>
In reply to#5324
Ian Kelly wrote:
> If a math major comes to you wanting to learn some
> programming for theorem-proving, bearing in mind that they probably
> aren't interested in learning more than a single language,

I would question whether theorem-proving is the *only*
thing they will ever want to do with a programming language.

If they really only want to learn one language, it would
be better to learn the one with the widest field of
applicability. I'd hazard to guess that writing a theorem
prover in Python would be a more practical proposition
than writing a script to automate processing his LaTeX
papers in Haskell.

-- 
Greg

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


#5207

FromHans Georg Schaathun <hg@schaathun.net>
Date2011-05-12 07:13 +0100
Message-ID<8das98-nd8.ln1@svn.schaathun.net>
In reply to#5185
On Wed, 11 May 2011 20:31:45 -0700 (PDT), alex23
  <wuwei23@gmail.com> wrote:
:  On May 12, 7:24 am, harrismh777 <harrismh...@charter.net> wrote:
: > We need to move away from 'canned apps' to a new day where
: > the masses can sit down to their computer and solve new problems with it
: > through intuitive language skills.  Why not?
: 
:  Because the vast majority of them don't seem to want to be bothered?

Why does that matter?  There is a sizeable group who need computers
for purposes not (sufficiently) supported by the `canned apps'.
The fact that they are outnumbered by users who really only need
typewriters and entertainment theatres does in no way reduce the
need of those who actually need /computers/.

-- 
:-- Hans Georg

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


#5212

FromBen Finney <ben+python@benfinney.id.au>
Date2011-05-12 16:46 +1000
Message-ID<87zkmsifg1.fsf@benfinney.id.au>
In reply to#5207
Hans Georg Schaathun <hg@schaathun.net> writes:

> On Wed, 11 May 2011 20:31:45 -0700 (PDT), alex23
>   <wuwei23@gmail.com> wrote:
> :  On May 12, 7:24 am, harrismh777 <harrismh...@charter.net> wrote:
> : > We need to move away from 'canned apps' to a new day where
> : > the masses can sit down to their computer and solve new problems with it
> : > through intuitive language skills.  Why not?
> : 
> :  Because the vast majority of them don't seem to want to be bothered?
>
> Why does that matter?  There is a sizeable group who need computers
> for purposes not (sufficiently) supported by the `canned apps'.

Those people, outnumbered by the masses as you say, are thereby not
themselves “the masses”.

-- 
 \      “Hey Homer! You're late for English!” “Pff! English, who needs |
  `\          that? I'm never going to England!” —Barney & Homer, _The |
_o__)                                                        Simpsons_ |
Ben Finney

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


#5213

FromHans Georg Schaathun <hg@schaathun.net>
Date2011-05-12 08:28 +0100
Message-ID<3pes98-eh8.ln1@svn.schaathun.net>
In reply to#5212
On Thu, 12 May 2011 16:46:38 +1000, Ben Finney
  <ben+python@benfinney.id.au> wrote:
:  Hans Georg Schaathun <hg@schaathun.net> writes:
: 
: > On Wed, 11 May 2011 20:31:45 -0700 (PDT), alex23
: >   <wuwei23@gmail.com> wrote:
: > :  On May 12, 7:24 am, harrismh777 <harrismh...@charter.net> wrote:
: > : > We need to move away from 'canned apps' to a new day where
: > : > the masses can sit down to their computer and solve new problems with it
: > : > through intuitive language skills.  Why not?
: > : 
: > :  Because the vast majority of them don't seem to want to be bothered?
:  >
: > Why does that matter?  There is a sizeable group who need computers
: > for purposes not (sufficiently) supported by the `canned apps'.
: 
:  Those people, outnumbered by the masses as you say, are thereby not
:  themselves “the masses”.

So what?  Do we only need solutions and systems for the masses?

What about systems for those who develop systems for the masses?
Or the theory necessary to develop the systems to develop more
advanced systems for the masses in the future?

Get real, software development and programming is more than just
overpriced web systems that just almost manage to replicate the 
functionality of IBM page based terminals and mainframes of 1973,
just slower and with more eye candy.

-- 
:-- Hans Georg

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


#5214

FromBen Finney <ben+python@benfinney.id.au>
Date2011-05-12 17:37 +1000
Message-ID<87vcxgid2h.fsf@benfinney.id.au>
In reply to#5213
Hans Georg Schaathun <hg@schaathun.net> writes:

> On Thu, 12 May 2011 16:46:38 +1000, Ben Finney
>   <ben+python@benfinney.id.au> wrote:
> :  Hans Georg Schaathun <hg@schaathun.net> writes:
> : 
> : > On Wed, 11 May 2011 20:31:45 -0700 (PDT), alex23
> : >   <wuwei23@gmail.com> wrote:
> : > :  On May 12, 7:24 am, harrismh777 <harrismh...@charter.net> wrote:
> : > : > We need to move away from 'canned apps' to a new day where
> : > : > the masses can sit down to their computer and solve new problems with it
> : > : > through intuitive language skills.  Why not?
> : > : 
> : > :  Because the vast majority of them don't seem to want to be bothered?
> :  >
> : > Why does that matter?  There is a sizeable group who need computers
> : > for purposes not (sufficiently) supported by the `canned apps'.
> : 
> :  Those people, outnumbered by the masses as you say, are thereby not
> :  themselves “the masses”.
>
> So what?  Do we only need solutions and systems for the masses?

Your “why does that matter?” was addressed to an answer specifically in
the context of “a new day where the masses can sit down to their
computer and …”. The question is asked and answered.

If you want to raise a *new* topic – that of the non-masses who have
different needs – it's best not to start with “Why does that matter?”
but to lay out your separate case.

-- 
 \        “Visitors are expected to complain at the office between the |
  `\                     hours of 9 and 11 a.m. daily.” —hotel, Athens |
_o__)                                                                  |
Ben Finney

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


#5199

From"D'Arcy J.M. Cain" <darcy@druid.net>
Date2011-05-12 01:49 -0400
Message-ID<mailman.1448.1305179350.9059.python-list@python.org>
In reply to#5162
On Wed, 11 May 2011 16:24:47 -0500
harrismh777 <harrismh777@charter.net> wrote:
> D'Arcy J.M. Cain wrote:
>     Non-programmers should not be expected to program in 'C' nor in lisp...
> 
>     ... but non-programmers were able to program in BASIC jes fine...

They still had to learn the language.

> I contend that non-programmers are able to learn rudimentary python and 
> work with it to solve real problems 'without' formal training in 
> 'programming'.

When did the discussion shift from "learn the language" to "formal
training?"  How you learn the language is totally irrelevant.

> Python is the New BASIC for 'people'. At least, it has the potential to 
> be that...   people should be able to talk to their computers (whatever 
> we mean by that) and have the computer respond with real-world 
> solutions.  We need to move away from 'canned apps' to a new day where 
> the masses can sit down to their computer and solve new problems with it 
> through intuitive language skills.  Why not?

That's not programming.  That's using a canned app that a programmer
wrote that takes your unstructured input and does something useful with
it.  Spreadsheets are a primitive example of that.  Google is a more
advanced example.

-- 
D'Arcy J.M. Cain <darcy@druid.net>         |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.

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


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

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


csiph-web