Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: David Brown Newsgroups: comp.lang.c Subject: Re: Top 10 most common hard skills listed on resumes... Date: Tue, 27 Aug 2024 21:53:11 +0200 Organization: A noiseless patient Spider Lines: 38 Message-ID: References: <20240825201124.000017a3@yahoo.com> <86msl05ctt.fsf@linuxsc.com> <87h6b5epyb.fsf@nosuchdomain.example.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 27 Aug 2024 21:53:11 +0200 (CEST) Injection-Info: dont-email.me; posting-host="8355d15901bc9a80f13d9e1f7352f9f2"; logging-data="3276948"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX188lo47eg+L9J9JAdsXt4FjG6jD1LFP8Fw=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:k+Wp2ZbZxAwzcrebW9sbmofeEac= In-Reply-To: <87h6b5epyb.fsf@nosuchdomain.example.com> Content-Language: en-GB Bytes: 3151 On 27/08/2024 21:16, Keith Thompson wrote: > David Brown writes: >> On 27/08/2024 06:36, Lawrence D'Oliveiro wrote: >>> On Mon, 26 Aug 2024 15:46:02 +0200, David Brown wrote: >>> >>>> Wikipedia classifies C as a high-level language that also supports a >>>> degree of low-level programming, which I think is a fair assessment. >>> The same could be said of Python. >> >> Python does not support any significant degree of low-level programming. >> >> A key example of low-level programming is control of hardware, which >> on most systems means accessing memory-mapped registers at specific >> addresses, reading and writing in specific orders. Python has no >> means to do any of that - C and C++ both provide this ability. >> (Micropython, a subset of Python targeting microcontrollers and small >> systems, has library modules that can do this.) > > I've used Python's mmap module to access /dev/kmem on an embedded > Linux system, accessing fixed addresses defined by an FPGA image. > (The mmap module happens to be part of the core Python distribution.) > There are /always/ ways to get around things (especially on Linux, where you have such "backdoors"). That is why I said Python does not support low-level programming to any /significant/ degree. "low-level" vs. "high-level" is not a binary distinction. Typically if you have Python code controlling some hardware, it is via a Python module with a C implementation, or with ctypes and an external shared library - not directly from Python. > This is one of several reasons why we have different newsgroups for > different langauges. > Sure. It's not really the place to get into details of other languages, but it is a thread that compares C to other languages.