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.
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.
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.
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.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|