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 <v51n3h$2lmvr$1@dont-email.me>
Deutsch   English   Français   Italiano  
<v51n3h$2lmvr$1@dont-email.me>

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

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bart <bc@freeuk.com>
Newsgroups: comp.lang.c
Subject: Re: Baby X is bor nagain
Date: Thu, 20 Jun 2024 17:58:25 +0100
Organization: A noiseless patient Spider
Lines: 70
Message-ID: <v51n3h$2lmvr$1@dont-email.me>
References: <v494f9$von8$1@dont-email.me>
 <v49seg$14cva$1@raubtier-asyl.eternal-september.org>
 <v49t6f$14i1o$1@dont-email.me>
 <v4bcbj$1gqlo$1@raubtier-asyl.eternal-september.org>
 <v4bh56$1hibd$1@dont-email.me> <v4c0mg$1kjmk$1@dont-email.me>
 <v4c8s4$1lki1$4@dont-email.me> <20240613002933.000075c5@yahoo.com>
 <v4emki$28d1b$1@dont-email.me> <20240613174354.00005498@yahoo.com>
 <v4okn9$flpo$2@dont-email.me> <20240617002924.597@kylheku.com>
 <v4pddb$m5th$1@dont-email.me> <20240618115650.00006e3f@yahoo.com>
 <v4rv0o$1b7h1$1@dont-email.me> <20240618184026.000046e1@yahoo.com>
 <v4sd75$1ed31$1@dont-email.me> <877celzx14.fsf@nosuchdomain.example.com>
 <v4u85k$1t2pu$2@dont-email.me> <v4ucmn$1u14i$1@dont-email.me>
 <v4v2br$22c0m$1@dont-email.me> <v4v5nu$230rh$2@dont-email.me>
 <v4vfrn$24rv6$1@dont-email.me> <v4vjs4$25vmc$1@dont-email.me>
 <v510k3$2hhli$1@dont-email.me> <v51bb8$2jhji$1@dont-email.me>
 <v51gjh$2k86b$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 20 Jun 2024 18:58:26 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="8937c4cd9410af123cfa7e31d192c89d";
	logging-data="2808827"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19Zgf36AoC+Ww+aKRtEQ1GT"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:9eEd8hbUSlvMqTqIonxIcFzkKew=
Content-Language: en-GB
In-Reply-To: <v51gjh$2k86b$1@dont-email.me>
Bytes: 4394

On 20/06/2024 16:07, David Brown wrote:
> On 20/06/2024 15:37, bart wrote:
>> On 20/06/2024 11:34, David Brown wrote:

> I've only been discussing Python as an example of how many programming 
> tasks are easier in high-level languages than in C.

A lot of it seems to be incantations that you can only come up as an 
expert user. I wouldn't have been able to come up with even basic 
file-reading; I'd have to go and look up examples, every time.

> I seem to remember you getting really worked up about C programmers 
> using the same identifier for structs and variables!

Yes, you can have both 'struct T' and a type, variable etc called 'T'; 
or a type 'T' and, due to case sensitivity, a variable or function 
called 't'.

But those identifiers in C are still fixed at compile-time. You can't so 
this:

     printf = sqrt;

In Python (not 2.x where 'print' was a reserved word), you can:

     print = math.sqrt


>> Both have mutable elements. Neither allow arbitrary attributes (so 
>> impossible to misspell member names). And if the FFI demands it, 
>> pointers to structs or ints can be passed.
> 
> You can do all this with Python.  I showed you how to have structures 
> with mutable elements - and immutable structures, and structures with or 
> without the ability to add new fields.

I mentioned 5 ways of doing it, you added one or two more. That is my 
point: when a simple feature isn't built in, solutions have to be 
provided in lots of disparate ways.

I think your last one corresponded most to what I already have in my 
language, but it needed 3 special features to do it, plus maybe one more 
to hide some of those workings.

Python is supposed to a good beginner's language not a DIY one.

>>
>> But Python even then completely disregarded performance. In the 1990s, 
>> if you wrote a loop like this:
>>
>>      for i in range(1000000):
>>          ....
>>
>> it would actually create an object with a million elements so that you 
>> could iterate along it. It sounds absolutely crazy, and it was.
>>
>> Later they added xrange() which didn't do that, and later on 'xrange' 
>> morphed into 'range'.
>>
> 
> So your complaint now is that newer versions of Python have made some 
> common tasks more efficient?  There's no pleasing some people.


No, the complaint was getting it so wrong in the first place, then 
taking too long to fix it. (I think it was in Python 3 that you could 
type 'range' instead of 'xrange'.)