You are a stupid programmer, you can't have that

Paulo Pinto pjmlp at progtools.org
Mon Aug 9 06:32:39 UTC 2021


On Sunday, 8 August 2021 at 18:26:10 UTC, Brian Tiffin wrote:
> On Saturday, 7 August 2021 at 12:15:15 UTC, IGotD- wrote:
>> ...
>> Language designers seem to have a big brother attitude towards 
>> programmers and think they will save the world by introducing 
>> limitations.
>>
>> Examples.
>> ...
>> 2.
>> Somewhat related. when Java was designed, the designer (James 
>> Gosling I believe) claimed that programmers were too stupid to 
>> understand the difference between signed and unsigned math 
>> (despite often several years of university education) and 
>> removed signed math entirely from the language. The impact is 
>> that when unsigned math is required, you are forced to 
>> conversions and library solutions. Not ideal when an HW APIs 
>> deals with unsigned numbers for example.
>>
>> You are welcome to add any other examples that you find 
>> significant for the discussion.
>>
>>
>> This partially applies to D in some extent but can often be 
>> found in other languages and mentality of several language 
>> designers.
>>
>> The question is, do you think language designers go to far 
>> when trying to "save" programmers from misuse or not?
>> Do you think there can be approaches that both prevent bugs at 
>> the same time do not limit the language?
>
> Just to point out that using Java as a sample seems a bit off.  
> Java (well, the JVM) is the ultimate in restrictive.  It's a 
> compiler that doesn't emit CPU code, but safe(r) emulation in a 
> sandbox.  ....

If you are talking about Java 1.0 - 1.2, yeah.

Since around 2000, AOT compilation has always been a capability 
in commercial JDKs like Excelsior JET, IBM RealTime WebSphere, 
Aonix, even GCC had GCJ until 2009.

Nowadays PTC, Jamaica are still around, GraalVM exists, while the 
JIT cache from JRockit has been made part of OpenJDK, and IBM 
RealTime WebSphere are now part of IBM OpenJ9.


More information about the Digitalmars-d mailing list