On 12/3/14 8:05 PM, Josh Dersch wrote:
On 12/3/2014 6:45 PM, Johnny Billquist wrote:
40 years ago would never dream of doing since
they would be thinking
of how this translates into machine code much more.
So in the end, with people getting less proper education, a stricter
language is our only hope. But for people who are good at
programming, the obstacles of stricter languages becomes annoying and
reduces productivity, for much less gain.
I've not found this to be true in my experience -- what "obstacles"
are you speaking of?
In the end, no one size fits all.
Agreed, but not for the reason you use above; if I'm reading your
statement right your sizes are: "C: for people who are good at
programming" and "stricter languages: for people who need help." No
one size fits all in that some languages are suitable for certain
tasks, and some are more suitable for others. The discussion here is
mainly that C is applied in many areas where it is not the best choice.
What is being missed in this discussion is that stricter languages (by
their very definition) tend to be
more complex and require more complex runtimes. Also remember that the
languages/runtimes are
also implemented in something and usually *not* the language that is
being presented, so the language
may present a somewhat less error prone environment to be written in but
it doesn't mean that the
compiler/interpreter/runtime are free from nasty bugs that show up in
strange and unexpected ways
that can be just as dangerous as the problems being discussed earlier in
this thread.
No language is going to prevent all bugs. Not all languages are suited
for all purposes. Yes, heavily
typed languages *help* in discovering bugs at compile time. However,
there are situations where
not having a heavily typed language is the proper choice. For example I
wouldn't try and write RTL
in Scheme or Go; I'd use Verilog or VHDL.
In general these arguments piss me off because in general they're
meaningless arguments (as most
religious arguments are). This reminds me about a conference where some
professor came in to
tell a bunch of mainframe folks that COBOL was dead and that all of it
should be tossed and
re-written in an OO language because that will solve their problems and
improve productivity. It
was at this point that someone stood up and asked a question about how
much code would actually
have to be re-written. The answer came back from the professor: "All of
it". Uh-huh. The questioner
said that meant that several *billion* lines of code would be re-written
if that was the case. The
professor turned white and promptly sat down. The moral is, you might
have a new language that
solves all of the known problems but but you don't have the time,
manpower or the $'s to re-write
everything.
As has been said before, C is really a portable assembler. Get over
it. A tremendous amount of IBM
Mainframe code (360/370/390/etc) is written in assembler and folks
aren't saying that 360/370
assembler is the spawn of the devil (well maybe they are and I'm not on
the right mailing lists). ;-)
TTFN - Guy