From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <9a6eab03338d16bb29107e4e6c1df873@proxima.alt.za> To: 9fans@cse.psu.edu Subject: Re: [9fans] speaking of kenc Date: Sun, 6 May 2007 09:54:22 +0200 From: lucio@proxima.alt.za In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: 5cce3394-ead2-11e9-9d60-3106f5b1d025 > im talking from the kernel writer point of view. and im most familiar > with the x86. c assumes there is a system already running. and most > probably that system is brought up using assembly coded initialization > code. No one said that assembler is obsolete, only deprecated. Like many "we have always done it this way" paradigms, it dies hard and it is difficult to persuade "aficionados" that they would be better off programming at a higher level and reserve their skills for those rare occasions where they are ahead of the compilers or, as you rightly point out, where there are no alternatives, such as in setting up the stack or posting a kernel trap. Also note that subjectivity tends to creep into this argument. It is easier to believe that one can write extremely efficient assembler code, where common wisdom is that good compiler optimisation techniques exceed the skills of the most sophisticated assembler programmers. At a visceral level even I have trouble believeing it, but experience shows it to be true. And the GCC developers certainly put a lot of effort into proving it true. Still, like in Fortran, assembler programming is challenging and rewarding in the product rather than its functionality. If we could reduce this macho appeal, perhaps we could also convince engineers to design processors with higher level instruction sets. ++L