Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <va2ro9$3gd7v$1@dont-email.me>
Deutsch   English   Français   Italiano  
<va2ro9$3gd7v$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!2.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: David Brown <david.brown@hesbynett.no>
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Tue, 20 Aug 2024 21:45:13 +0200
Organization: A noiseless patient Spider
Lines: 96
Message-ID: <va2ro9$3gd7v$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me>
 <g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
 <uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
 <20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
 <way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
 <choices-20240413123957@ram.dialup.fu-berlin.de>
 <v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
 <20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
 <v9t204$2dofg$1@dont-email.me> <va28pi$3dldm$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 20 Aug 2024 21:45:14 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="c216d3b6c994274355603312dc7ad25a";
	logging-data="3683583"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18QAbTjSaNOfr5Obg02L29b8j57My8ygfQ="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:dVRr9lsKybsBXB8zQtdeRuXvXA4=
In-Reply-To: <va28pi$3dldm$1@dont-email.me>
Content-Language: en-GB
Bytes: 6592

On 20/08/2024 16:21, Kalevi Kolttonen wrote:
> In comp.unix.programmer David Brown <david.brown@hesbynett.no> wrote:
>> On 16/08/2024 17:02, Kalevi Kolttonen wrote:
>>> In comp.unix.programmer Kaz Kylheku <643-408-1753@kylheku.com> wrote:
>>>> On 2024-08-15, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
>>>>> On Thu, 15 Aug 2024 19:48:36 -0000 (UTC), Kalevi Kolttonen wrote:
>>>>>
>>>>>> The last I checked, the O'Reilly Python book is just absolutely
>>>>>> *MASSIVE*. The language has a huge number of features now ...
>>>>>
>>>>> No, it hasn’t. The core language reference spec is only a small fraction
>>>>> of, say, the Java language spec.
>>>>>
>>>>> It’s just that you can do so many things with Python. And that is down to
>>>>> the huge variety of off-the-shelf addon libraries that build on that core
>>>>> language spec. It has to be a strong, very solidly founded core in order
>>>>> to be such a versatile basis for these addons, and it is.
>>>>
>>>> That's idiotic; you're saying that the standard library packages of
>>>> Python are not part of Python, and do not contribute to its size.
>>>
>>> You seem to have a point. The core of C language is also small. I
>>> guess they even said in the original K & R book that C is a small
>>> language best described by a small book.
>>>
>>> But in order to do anything with C, you need to know the standard
>>> libraries. They have grown bigger and bigger during all these
>>> years. One could also well argue that to program on UNIX, you also
>>> need to know all the POSIX libraries.
>>>
>>
>> Absolute nonsense.
>>
>> In order to use a programming language for a given task, you need to
>> know the basics of the language and libraries appropriate for the task.
>> You most certainly do not need to know all about the language, or all
>> about all the libraries provided as standard for the language or the
>> host OS.
> 
> I would not label it as "absolute nonsense".

OK, let's say "pretty much nonsense" instead.

> In order to program on UNIX,
> you need to be familiar with the facilities that are available. I
> know of a very smart man who ended up as a professor of physics who
> programmed on Amiga back in the 1980s. Even though his PhD thesis
> was something like 100-150 pages of strange-looking formulas, he said
> he had problems with C on the Amiga. For some reason, he was unable
> to remember what functions where provided as standard libraries, so
> he always ended up writing his own functions instead of using libraries.
> 
> To know Linux, you need Michal Kerrisk's book the Linux Programming
> Interface. I have this book, but admittedly you are kind of right:
> It is large and I do not know every single part of it, but I have
> studied it a lot and I am familiar with the most important features.
> 

You need to know what you need to know in order to handle the task in hand.

If you are writing a program to convert json files to xml files, you 
need to know enough about the interface to open, read and write files, 
and to manipulate strings and other data structures in the language of 
your choice.  If that is C, for example, you need to know about 5% of 
the standard library, at most.  You need to know a /tiny/ fraction of 
POSIX.  The same goes for any other language you choose to use, and any 
other program you choose to write.

Unless you are working with huge pieces of software with connections to 
large parts of the system - say, a Windowing system - you don't need to 
know about more than a very small part of the OS interfaces.  Unless you 
are writing a compiler, standard library, or other big development tool, 
you rarely need to know more than the basics of a programming language 
along with parts specific to your tasks.

And for most modern software written to run on general-purpose OS's, 
people use languages where you haven't a hope in hell of understanding 
the entire language and its standard libraries, never mind the common 
frameworks and libraries that are often used.  You have /zero/ chance of 
knowing all of the system APIs and common library interfaces of your OS 
- there are not nearly enough hours in the day for that.  But you don't 
need any of that - you learn and use the language features and libraries 
that are appropriate for getting the job done.  (And often that is all 
cross-platform - little or no POSIX-specific stuff in sight, even if you 
only run your code on Linux.)

No, you do not need your particular favourite out of the thousand and 
one Linux programming books in order to program for Linux.  You do not 
need /any/ book in order to write useful and successful code for Linux. 
Of course you need /some/ reference - and in the days before the 
internet was so easily available and so full of information, I went 
through a lot of programming books.  Some were good, some less so, and 
some have become famous.  But none of them were /necessary/ in any way.