Do everything in Java…
Paulo Pinto via Digitalmars-d
digitalmars-d at puremagic.com
Sat Dec 6 01:41:53 PST 2014
On Saturday, 6 December 2014 at 09:07:34 UTC, Dmitry Olshansky
wrote:
> 06-Dec-2014 01:28, Freddy пишет:
>> On Thursday, 4 December 2014 at 13:48:04 UTC, Russel Winder via
>> Digitalmars-d wrote:
>>> It's an argument for Java over Python specifically but a bit
>>> more
>>> general in reality. This stood out for me:
>>>
>>>
>>> !…other languages like D and Go are too new to bet my work
>>> on."
>>>
>>>
>>> http://www.teamten.com/lawrence/writings/java-for-everything.html
>>
>> My problems with java:
>> no unsigned ints
>> primitive are passed by value; arrays and user defined types
>> are
>> passed by reference only (killing memory usage)
>> no operator overloading(looks at java.util.ArrayList)
>> no templates
>> no property syntax(getters and setters are used instead even
>> if
>> you know the field is never going to be dynamic)
>> only and exactly one class per file(ALL THE IMPORTS)
>> every thing must be inside a class(globals and free functions
>> are static fields in a class)
>> This is all i can remember.
>
>
> Solved in Scala:
> - operator overloading
> - properties - that + optional (), a library writer still can
> enforce () to be used
> - only and exactly one class - any number in any combination
> - everything class - sort of, it has 'object' clause (just like
> 'class') that can be thought as a kind of namespace or a
> singleton if you love OOP.
>
> Not fixed:
> - unsigend types - nothing here unless Java adds support
> - pasing by value - there are immutable and value types (e.g.
> Tuples) but I think they are references behind the scenes
> - no templates, but you may use AST macros which is even more
> powerful
Some form of unsigned arithmetic exists since Java 8.
For example,
https://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html#toUnsignedInt-byte-
https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html#remainderUnsigned-int-int-
There many more methods available.
More information about the Digitalmars-d
mailing list