On Sun, 24 Feb 2019 07:56:27 +0000, Ahem A Rivet's Shot
wrote:
>On Sun, 24 Feb 2019 19:54:53 +1300
>Eric Stevens wrote:
>
>> On Sun, 24 Feb 2019 12:40:43 +0800, "Mr. Man-wai Chang"
>> wrote:
>>
>> >On 2/24/2019 12:11 PM, Mr. Man-wai Chang wrote:
>> >> On 2/24/2019 4:59 AM, jacobnavia wrote:
>> >>>
http://delivery.acm.org/10.1145/3220000/3212479/p10-chisnall.pdf?ip=90.22.143.2
33&id=3212479&acc=OPEN&key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B
35%2E6D218144511F3437&__acm__=1550954647_0d9af87c752b221627509ce89da282a8
>> >>>
>> >>
>> >> C is definitely no 4GL (4th generation language)!
>> >> But .... many 4GLs were written in C! :)
>> >>
>> >
>> >And many operating systems are written in C.
>> >In short, C is a pillar!
>>
>> C is a write-only language. :-)
>
> That smiley is very much needed - there are write only languages
>but C is not, one of them. But to put it in carpentry terms C is like a
>table saw without a guard - extremely useful and in skilled hands capable
>of achieving remarkable results with great efficiency but also extremely
>dangerous in unskilled hands.
It's more than 25 years since I wrote C code but I will always
remember the first time I encountered the problem I have hinted at. I
had written 5 lines of code but then over the next few days after
succeeding revisions I had reduced the 5 lines to only one which did
the same thing as the original 5. I came back to it a few months later
and found that I was damned if I could quite work out what that one
line of code was supposed to be doing. I never did manage to get back
to the original five lines.
>
> I gave away my last copy of K&R more than thirty years ago, I've
>written hundreds of thousands of lines of C code from operating system
>kernel level to financial applications. I debug and maintain complex systems
>written in C on a regular basis. These days I wouldn't choose C for
>anything other than low level high efficiency code that was going to be
>processor bound.
I understand.
>
> For anything I/O bound I prefer Python, Perl or Java (but not
>'enterprise' Java with all the trimmings and cruft - the language is good
>but the cruft is ... well cruft). Readability, maintainability and speed of
>development are all more important than raw efficiency - most especially
>maintainability. It is no good having code a tenth the size and ten times
>faster if the first time someone less careful works on it dangerous hidden
>bugs appear because handling pointers and raw memory requires care.
Yep. That's the area of my 5 into 1 problem.
>
> It is also worth noticing that just because the language is low
>level and permits high efficiency there's no guarantee of efficient
>programs, all too many programmers start coding and stop designing far too
>soon and wind up using very bad algorithms or optimising the wrong things
>producing twisty masses of C code that once you understand what they're
>supposed to achieve can be replaced by short pieces of clear python that
>*are* ten times smaller and run ten times faster or slightly longer pieces
>of C that are *slightly* faster than the python but harder to maintain.
--
Regards,
Eric Stevens
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|