Typesafety versus Worse is Better - was Re: Fwd: is there any word processing software for the pdp11?

Guy Sotomayor ggs at shiresoft.com
Wed Dec 3 23:21:51 CST 2014


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


More information about the cctalk mailing list