On Thu, Aug 9, 2012 at 10:50 AM, Hendrik Boom <[email protected]> wrote:
[...]
> It survives because of inertia.  It's the systems language most people
> use, so most systems programs are written in it, and so most programmers
> have to learn it, because a lot of programming deals with changes to
> existing software, not writing new.  Because most programmers know it,
> most new programs get written in it.

Can you explain why you think C is obsolete? What issues makes it so?
Please provide examples, alternatives, solutions.

IMHO, no amount of convenience of programming (e.g. easy to code in,
or easy to learn), or nice features like garbage collection and
whatnot amount for the flexibility and power that C provides.

Yes, it's complicated, yes, it's definitely not always the right
choice for just any project, and yes, you have more than enough rope
to shoot yourself in the foot with when you use C... ;)  But it
remains that all languages have different purposes, different
strengths and weaknesses.

Cobol is clearly an obsolete language that is still sticking around
due to inertia -- most people aren't writing new things in it, but are
forced to maintain existing complex systems because of the cost of
rewriting from scratch.

C however, *is* being used for new projects. It's being taught in
schools (though definitely not everywhere), and is a clear choice, at
least to be considered, when building complex systems. It's not only
used for new projects because most programmers know it -- but because
it really works. I've seen a definite shift in schools from teaching C
to teaching other programming languages, at least in CEGEPs.

I have yet to see other languages that provide the level of
reliability and speed of execution of well-written C. I have also yet
to see any language (other than C++) that makes it as easy to leak
memory and make hard to debug, painful mistakes as C.

Don't get me wrong -- I'd just as well use Python for most things I'd
write, and I wouldn't hesitate to use Java or god-forbid, ocaml should
it clearly be the right tool for the job; but I totally disagree that
C is obsolete, and you haven't brought evidence to support your
position.

[...]

> Modula 3's specific handicap is that it's distributed under a
> free-sofware licence that happens to be incompatible with the GPL and
> after a series of  corporate takeovers, the entity that now owns the
> copyright no longer has any interest in it, so it's impossible to get
> the licence changed.  And it's not popular enough to make it worth-while
> to write a new implementation.

I had never heard of Modula. But again, there are so many different
languages out there, it's impossible to know them all.

Why has it not gained in popularity? It's highly likely that there are
very good reasons for that. Maybe it's just really good at one
specific thing, and its use can't be generalized to just about any
problem?

The licensing is a definite issue. There are so many "free" languages
to choose from, all of them particularly well designed and that have
proven their efficiency and reliability, that there is no reason to
choose a "private" implementation for anything. If only just the fact
that then, the pool of people that have designed and have seen the
internals is so small, you're absolutely in your right to question
whether it's really going to do the job right in the long run, or if
it's just a matter of time before it explodes.

> But you're right.  No one is about to rewrite the Linux kernel in
> another language.  It's too much work.

I don't think the amount of work required is the real blocker in open
source projects. People have tried re-implementing X. Everyone knows
just how complex X is and how much work it would be to rewrite it from
scratch. It hasn't stopped various re-implementations to spring up,
like Wayland.

/ Matt
_______________________________________________
mlug mailing list
[email protected]
https://listes.koumbit.net/cgi-bin/mailman/listinfo/mlug-listserv.mlug.ca

Reply via email to