I've finally found time to examine this rather long, rambling thread.

On Wed, Jun 20, 2018 at 5:46 AM <bart4...@gmail.com> wrote:
>
> Yeah, people keep bringing that up when they run out of arguments.
>
> So, every programmer must always use the most advanced, most esoteric 
> features possible at every opportunity? Coding should only be for the elite?
>
> There is a place for various levels of programming language. I'm saying that 
> Python which is always touted as a 'simple' language suitable for beginners, 
> is missing a surprising number of basics.

I still feel like a rank beginner, but on the Tutor list some
disagree.  Perhaps I feel this way because the more I try to study and
research programming/computer science topics, the more I realize how
little I know and how much remains to be learned, so I continue to
feel like a beginner.  But I am beginner enough that I can respond to
the above points.

A handful of years ago at the job I do, I started to get tired of
doing the same basic things over and over, so I investigated what
possibilities the software I used on the OS it used had in order to
automate these tasks.  Perl proved to be available, but Python wasn't
uniformly then, so I wrote some programs in Perl.  I got it figured
out and wrote some useful program in Perl, but the language never did
feel natural and easy to understand to me.

Later the OS and hardware got updated and I found Python was now fully
available in the 2.4 version.  I started writing new programs in
Python and found it quite easy to use and understand.  As I needed to,
I started rewriting earlier programs I had done in Perl in Python
instead, and was happier for it.  As an aside we just had another
round of software, OS and hardware upgrades.  Now I can use Python
2.7!

Because I read and study about new things as I take them up, I soon
learned that I had only so far scratched the surface of Python's
depths.  But despite knowing that Python had many more features to
explore, both in the core language and the standard library, this
never hindered me in writing my beginner-level programs.  I got things
done, and I got them done fairly easily, and never felt burdened by
all the "other stuff" that Python had to offer.

But I am continually grateful that this "other stuff" exists!  For
instance, recently I was working on a problem for home use that I was
doing in Python 3 (Not that 3 vs. 2 matters here.).  I was concerned
about loading potentially really large files into RAM and not having
enough memory for it.  Alan Gauld suggested I try a generator
approach.  I had not used these yet, though I was aware of this
feature's existence.  So I did some reading up on them, wrote some
code with my attempted implementation of them, submitted my efforts to
the Tutor list for critique, and while I am sure I did not do a
professional job of things, I was quite happy with the result as it
solved the problem I was concerned about.  So even dipping my big toe
into the "other stuff" proved an enjoyable and understandable
experience.  This has always been my experience with Python.  When the
time comes that I need something, I find it is there either in the
core language or the standard library, and it proves not burdensome to
learn the new feature(s).

This has been my beginner's journey with Python:  Easy to do useful
stuff, easy to read and easy to understand.  When I need something
_more_, I find it already exists and proves relatively easy to
understand *as long as* I am willing to put in a bit of study.  And I
don't think needing to put in a bit of study to learn how to use a new
feature is unreasonable for me or anyone else.

Anyway, so far Python has not lacked for anything I have needed so
far.  Of course, I realize that if I need to do something closer to
the machine level, Python is probably not going to be the preferred go
to tool, and even being a beginner I have enough sense to realize
this.  But then again, I would not be too surprised if Python or a
third party library did not already meet this future, hypothetical
need.

> That these are useful is demonstrated by the cumbersome add-ons that need to 
> be used to provide that functionality. Often in over the top ways and often 
> in a bewildering variety of ways in the case of records.

All I can say is I have yet to find much at all in Python cumbersome
or bewildering.

As to the original point of this thread concerning type-hints, I am
aware of them, once asked a bit on Tutor about them, but decided I am
not ready to go there yet.  But to (I hope.) help my learning of
Python syntax, I am forcing myself to *not* use linters, etc.  Once I
feel that I have Python in my head and in my fingers, then I will
start using such sensible tools and will probably reexamine
type-hints.

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 ... ~(:>))



-- 
boB
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to