Java > Scala

Walter Bright newshound2 at digitalmars.com
Sun Dec 18 01:51:01 PST 2011


On 12/17/2011 11:23 PM, Russel Winder wrote:
> It's the indirection thing again:  rather than provide a C toolchain for
> each platform, you load Java (or Python, Ruby, ...) which is already
> precompiled for the platform which then allows a single toolchain across
> all platforms.

If you can compile the JVM for a machine, then C exists on that machine (even if 
you do not make the C tools available).

>> BTW, if I was King of the World, universities would teach assembler programming
>> first.
>
> I think that sort of worked in the 1980s when computers were
> (relatively) simple, but I don't think it works now.  Clearly any
> self-respecting programmer should be able to work with assembly
> language, so it needs to be taught, but these days it comes as the link
> between hardware and software rather than being the language of
> software.

The ones that don't know assembler tend to have peculiar deficits and blind 
spots when they program. This is as true today on modern machines as it was 30 
years ago.

I see it over and over.


>> I learned BASIC first, then FORTRAN, then I learned assembler (6800) and it was
>> like someone turned the lights on.
>
> It's all about the operational semantics.  Some people are happy with
> very abstract semantics and so can work with the likes of Fortran very
> well without knowing assembly language.  For others the link to how the
> computer actually works is critically important.

Yes, they can program, but they have peculiar deficits. It's like having the 
letter 'q' broken on his keyboard, and he has learned to avoid using any words 
that contain 'q'. It takes a while to notice it.


>> I liken it to trying to teach kids algebra first, give them a calculator, and
>> never bother teaching them arithmetic.
>>
>> A programmer who doesn't know assembler is never going to write better than
>> second rate programs.
>
> I am not sure I'd go quite that far but I agree that all programmers
> really ought to have worked with assembly language at least once in
> their lives.

Exactly, which is why I'd make it a first or second course in programming for a 
professional programming education.



More information about the Digitalmars-d mailing list