syntax difference

boB Stepp bob.stepp at 1
Sat Jun 23 19:44:50 EDT 2018


From: boB Stepp <robertvstepp at gmail.com>

On Sat, Jun 23, 2018 at 5:35 PM Bart <bc at freeuk.com> wrote:
>
> On 23/06/2018 20:52, boB Stepp wrote:

> The first programming exercise I ever did involved asking for three
> numbers, then determining whether those numbers could form the sides of
> a triangle.
>
> Then [40 years ago], the easy part was reading the three numbers. Now
> that would be the more challenging part.
>
> This is one of the basics that is missing. Getting around it is not
> hard, but it's some messing about and it's a distraction. But 40 years
> ago it was just 'readln a,b,c'; it was just taken for granted.

I don't think there are any *basics* missing.  One of the differences between
then and now is that trying to live in a simpler ASCII/extended ASCII world is
no longer possible.  The Internet and
open source movements among other things have brought in more (most?) of the
world as participants in the programming endeavor.  The many peoples of this
world and their many, varied cultures is quite rich and complex, and they have
real needs to express their thoughts as naturally as they can.  I would contend
 that the basics are there, but the complexity of the data and ideas that need
to be dealt with these days is what makes the programming journey more
challenging but also more interesting than in the days of yore.  When I first
went to college in the seventies, it was all punch cards, main frames, a few
minicomputers, time sharing IBM selectrics, etc.  I would *not* want to go back
 to that!  I find today's challenges and opportunities much more fascinating!!

> > Anyway, so far Python has not lacked for anything I have needed so
> > far.
>
> I'd be surprised if Python lacked anything; there can't be anything that
> someone has thought of that is either built-in or bolted on, if not
> always that elegantly or that efficiently.

I am not qualified to speak to issues of Python's language design, but as a
user of Python I have yet to be disappointed.  But I imagine all languages,
including yours, have accumulated cruft that in retrospect the creators would
like to remove.  But the difference, as far as I can tell, between your
languages and Python is that Python has a huge number of active users with who
knows how many LOC in production environments, but your languages do not.  So
you have the benefit, as their creator and essentially sole user, to keep
polishing and refining your ideas.  The Python devs don't have that luxury. 
But they are obviously, even to me, constantly not only adding new
functionality, but trying to minimize the cruft as best they can without
compromising people's production code.  I imagine that the transition from
version 2 to 3 was not undertaken halfheartedly, but only after much thought
and discussion since it did break backwards compatibility.  But now having used
 both Python 2 (Which I still have to code in at work.) and 3, even I with my
limited knowledge and capabilities appreciate the positive benefits of the
changes.

> However, imagine having to use a language which didn't have assignments
> as you are used to, and that you would expect to exist. Then you might
> well remark that it's missing something that you regard as a basic,
> while the proponents of that language point out that it doesn't stop you
> writing programs; it just needs a different approach.

But the beauty of things as they are today, is that if someone has thought of
it, it is probably accessible and available to use.  Not only that, but one can
 cruise through the many different programming languages and see what others
have imagined and thought to be useful and grow one's knowledge and insight
much more easily than ever before.  And if I have a need that Python or any
other language I use does not address, I can surely find one online.

> (I believe that you can write any program using just IF-GOTO statements
> and ASSIGNMENT statements, and no other flow control (given suitable
> data-types and means of I/O). But if you wanted to try out an
> interesting experiment along those lines (eg. transcribe any flowchart
> to code), a large number of languages, including Python, make it hard
> because 'goto' is missing.)

I have done the "GOTO" thing ages ago.  I would not want to go back to that bad
 place.  There are too many better alternatives now for flow control.  With
today's hardware I don't think any benefit from any theoretical optimizations
would be of any benefit in practice.  As a person who does not have much time
for studying and writing programs, I have a hard enough time understanding what
 I wrote after a break from programming.  I would not want to put any more
stumbling blocks in my code for later maintainability, not to imagine having to
 do so for other people's code.

> > All I can say is I have yet to find much at all in Python cumbersome
> > or bewildering.
>
> No? How many ways are there in Python, including third party add-ons, of
> working with record-like objects?

If I am understanding you correctly by your reference to "record-like objects",
 again it isn't a problem of lacking basics in Python, but it is in the
complexity of real data structures that modern programming must deal with.  And
 again, with the types of record-like objects I have had to deal with, Python's
 standard library has proved more than sufficient.

> > As an aside to Bart, if you strongly feel that Python is missing a
> > really useful feature, then why don't you do the usual thing, start a
> > very specific thread about just that feature (Not just a collection of
> > things you like in one of your languages.), and if you manage to
> > persuade the community of its usefulness, then write up a PEP about
> > it?  Just saying ... ~(:>))
>
> I'm not a user...

Then I am truly puzzled, Bart.  Why do you even bother to hang out on this
list?  If you do not want to use Python and you do not want to improve Python's
 design and implementation, what is your point of being here?  You *do* seem to
 generate a lot of ill will, I hope unintentionally.  But why not take a
different, more helpful tack? You seem to have a lot of ideas.  If you really
think they are applicable to improving the Python language, why not take your
ideas, one at a time, and have serious discussion, perhaps better on
Python-Ideas, on how Python can be meaningfully made better?  That would be a
helpful approach which I think, if done with the intention of helping Python to
 be the best language it can be (Within the constraints it has to operate
within in practice.), then I would hope your potential contributions would be
positively received by the community.  But as it stands, you seem to adopt the
role of a naysayer and critic without offering anything positive to the
community.  And of course, you would have to know how to use Python properly in
 idiomatic style.  Why not choose this positive approach?  I think it would be
a win-win for both you and Python.

--
boB

--- BBBS/Li6 v4.10 Toy-3
 * Origin: Prism bbs (1:261/38)



More information about the Python-list mailing list