Why not allow empty code blocks?

Rustom Mody rustompmody at gmail.com
Sat Jul 30 12:15:16 EDT 2016


On Saturday, July 30, 2016 at 8:17:19 PM UTC+5:30, Steven D'Aprano wrote:
> On Sat, 30 Jul 2016 09:39 pm, Rustom Mody wrote:
> 
> > On Saturday, July 30, 2016 at 4:56:01 PM UTC+5:30, Chris Angelico wrote:
> >> On Sat, Jul 30, 2016 at 8:15 PM, BartC wrote:
> >> > Anyway, if you're going to talk about annoying things forced upon you
> >> > by the language, what about:
> >> >
> >> > "()" in "print (x)" for Python 3
> >> 
> >> Why are you singling out print? It's just a function like any other.
> >> Are you complaining about the way function calls need parentheses?
> > 
> > Its a function… ok.
> > Its ‘just’ a function… Arguable
> 
> "Granny Weatherwax, you are a natural-born disputant."
> "I ain't!"

Heh I really aint :D
At least not for this dispute — its not my baby
Or rather its a stepbaby of stepbaby

Diff between
print "x"
and
print("x")
is one char — the closing ‘)’

To make a dispute about that — I’ll leave to BartC!

The more general baby that is significant is that beginners should have
it easy to distinguish procedure and function and python does not naturally aid that.  print was something procedure-ish in python2 but the general notion being
absent is a much more significant problem (for beginners) than print.

Brings me to the even more general baby

> 
> 
> > For example:
> > 
> > - Prior Art: Its builtin and special in Fortran, Pascal, Basic
> 
> Possibly Fortran. But which version of Fortran? Do we really want to take
> decisions made in 1953 for the first ever high-level language as the
> epitome of good design?

That comment assumes that things in 1953 were somehow worse than today
This is the general religious commitment to progress
And anyone who questions it is heretical

As for 1953 Ive no idea — I was not there (Fortran came in 57)
But I studied in the 80s and there was greater clarity (about some matters
of course) than now.
eg It was completely natural that in ‘school’ one studied 
‘nice’ things like Pascal, Lisp, Prolog, Snobol, APL etc
And in a professional context used ‘real’ things like 
Fortran, Cobol, PL-1 and a little later C.

Once omnibus languages like C++, Java, C# and Python became popular
the academic vs real-world division has disappeared.
So beginners start with these ‘real-world’
And get their brains scrambled
And think it wonderful

Ok Python is better than Java is better than C++
But it cannot stand up to scheme as a teaching language
[The MIT Profs who replaced scheme by python admit to as much viz.



More information about the Python-list mailing list