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

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

Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: David Brown <david.brown@hesbynett.no>
Newsgroups: comp.lang.c
Subject: Re: The integral type 'byte' (was Re: Suggested method for returning
 a string from a C program?)
Date: Thu, 27 Mar 2025 15:04:57 +0100
Organization: A noiseless patient Spider
Lines: 139
Message-ID: <vs3lu9$di1m$1@dont-email.me>
References: <vrd77d$3nvtf$2@dont-email.me> <868qp1ra5f.fsf@linuxsc.com>
 <vrdhok$47cb$2@dont-email.me> <20250319115550.0000676f@yahoo.com>
 <vreuj1$1asii$4@dont-email.me> <vreve4$19klp$2@dont-email.me>
 <20250319201903.00005452@yahoo.com> <86r02roqdq.fsf@linuxsc.com>
 <vrh1br$35029$2@dont-email.me> <LRUCP.2$541.0@fx47.iad>
 <vrh71t$3be42$1@dont-email.me> <vrh9vh$3ev9o$1@dont-email.me>
 <vrhct4$3frk8$2@dont-email.me> <20250320204642.0000423a@yahoo.com>
 <vrhphb$3s62l$1@dont-email.me> <87iko3s3h2.fsf@nosuchdomain.example.com>
 <vrrvgp$1828d$1@dont-email.me> <874izi82a4.fsf@nosuchdomain.example.com>
 <vrttin$321rm$1@dont-email.me> <vrus18$3srn9$1@dont-email.me>
 <vruttb$3tpl0$1@dont-email.me> <vrv15d$1gs4$1@dont-email.me>
 <vs0kv7$1hb4h$2@dont-email.me> <vs11oi$1tp3r$1@dont-email.me>
 <vs1b8b$24nub$5@dont-email.me> <vs1ftc$2a7cq$1@dont-email.me>
 <vs225e$2pgqi$1@dont-email.me> <vs2ctp$34jvu$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 27 Mar 2025 15:04:58 +0100 (CET)
Injection-Info: dont-email.me; posting-host="b2d1c6626a8808d30934e2be192f8c1c";
	logging-data="444470"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+K04WjPnNMk1evLuaBJXpMpoR0K+guaYI="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Cancel-Lock: sha1:lU7lTrrWLrTTyKzilrhsaWZoMHo=
In-Reply-To: <vs2ctp$34jvu$1@dont-email.me>
Content-Language: en-GB

On 27/03/2025 03:24, Janis Papanagnou wrote:
> On 27.03.2025 00:21, bart wrote:
>> On 26/03/2025 18:09, Janis Papanagnou wrote:
> [...]

>>
>> I had no interest whatsover in operating systems. I did fine without one
>> to start with, while CP/M (our rip-off of it) and DOS provided a file
>> system and a way to launch programs; what else was there?
>>
>>> languages like BASIC
>>
>> What language would you have advocated that could fit into a few KB, and
>> that could run without a proper file system?
> 
> The first that comes to mind was (for example) Pascal. It actually
> became available on several platforms. But it was not comparable
> to the omnipresent [lousy] BASIC that was inherent part of the OS
> in the ROM. (Well, or on a 8" floppy; e.g. in case of the Olivetti
> P6060.) There were other languages available; someone (maybe David)
> mentioned some upthread. Myself I bought a Simula compiler for my
> Atari ST. Simula is a powerful and comparably huge language, so your
> "few KB" excuse is not convincing.
> 

Many of the BASIC's on home computers were quite sophisticated - the BBC 
Micro (and later Archimedes) versions were famously advanced.  Of course 
versions for things like the ZX80 - with 4 KB rom, and 1 KB ram (for 
screen memory, OS data, interpreter data, BASIC program, and BASIC data) 
were very limited.

Pascal would have been hopeless on such systems.  A compiled - or even 
byte-compiled (such as P-code) - language would be totally out of the 
question.  A minimal Pascal implementation, such as existed for the BBC 
Micros and the ZX Spectrum, needed more in the range of 16 K rom / 
program and the same again of ram for source code, compiled / 
byte-compiled code, and program data.

Remember, these systems did not have the resources you are talking 
about.  The Atari ST was a monster compared to the popular home 
computers - 512 KB ram on the cheapest version, compared to more typical 
16 KB - 32 KB ranges.  And it had a price to match, way out of reach of 
most home users.

There are only two high level languages that have had any kind of 
success on such small systems - BASIC (or variants thereof, as there is 
no single standard "BASIC" language) and Forth.

> I think it was a professor at the university who meant that anyone
> who started with BASIC would be incapable of ever doing real CS.

It was Dijkstra who said that.  As usual, his comments were 
entertainingly exaggerated when made, and then taken out of context.

> This is of course nonsense! (And such arguments say more about the
> person formulating such non-arguments. - I recall a similar nonsense
> mentioned here by someone some months ago concerning OO and Simula
> and all other OO languages that took their OO concepts from Simula.)
> 
> The point with BASIC is that if all you know is BASIC without knowing
> anything else you probably won't be able to understand the problems
> with it. I know you have a broader language repertoire, so I presume
> you know BASIC's deficiencies (or at least the deficiencies of those
> BASIC dialects that were around until around 1980).
> 

That was not Dijstra's point at all - it was the "trial and error" 
attitude to programming that you got from interpreted languages that he 
disliked.  However, your point /is/ still valid - people who are only 
familiar with one programming language will have difficulty 
understanding its limitations or seeing the benefits of other languages, 
and tend to look at problems from a perspective limited by their own 
language.


>>
>> But also at that time - early 80s when Spectrums etc were popular -
>> there were some wonderful new 16/32-bit processors such as 68000,
>> Z8000/0 and NS32032, of which only the first survived.
> 
> I've had contact with a couple CPUs back these days; 6502 (6510),
> 68000, 8080 (Z80), another Intel thing where I forgot the number,
> SC 61860, TMS 320 C25. And I read about (but not programmed) a
> couple more (the SPARC, one from National Semiconductors) where
> I forgot the model numbers.
> 
> The 68000, specifically, is a great example for an inferior CPU
> architecture. (Your mileage obviously varies if you think it was
> even "wonderful".)

What do you think is "inferior" about the 68k architecture?  At the 
time, the main business-world competitor, the 8086, was 8-bit with some 
16-bit features, and built with a view towards backwards compatibility 
rather than the future.  The 68k had a 32-bit ISA with a 16-bit ALU - 
looking towards the 32-bit future while accepting that it had to be 
cost-effective.

> 
> CPU architectures that I found to be more interesting were SPARC,
> the National Semiconductor thing (NS 32016 maybe? nor sure), and
> the TMS DSP (where I spent quite some time with), for example.
> 

SPARC certainly had some interesting features and concepts.  (I never 
used it, but read a fair bit about it, and briefly used the Altera NIOS 
soft core that had some similarities.)  The TMS320C24x DSPs I used were 
utterly horrible.

> But that all was long ago and is meaningless today. Personally
> I've occasionally programmed in assembler around 1980-1990, and
> you can imagine that I don't care much about that topic anymore.
> 
>>
>> Their architecture is not that different from current machines.
> 
> That would be bad news. And I have my doubts that this is true.
> (But as said, I don't care much anymore.)
> 
> It's interesting to still see advocates of inferior IT justifying
> bad paragons, though. The situation has not changed. - Have fun!
> 

There are plenty of things I find disappointingly similar between most 
cpu architectures.  It's hard for novel ideas to break through.  Part of 
the blame for that, of course, is the success of C - a cpu design tends 
to be successful if and only if it is efficient for the C model of 
programming, other than for a few specialised areas (like graphics work 
or some highly SIMD-friendly algorithms).  I'd like to see cpu designs 
with multiple stacks, multiple register banks for fast task switching, 
hardware support for multi-tasking, locks, atomic accesses, 
transactional memory, CSP-style message passing, memory allocation, 
buffer management, etc.  There are countless bits and pieces that could 
make processors much faster and much more secure for a lot of work.

The XMOS devices are one of the few architectures to come up with really 
new ideas and have some market success.