Re: suggestions for newbee
David Bernard <[email protected]> Tue, 05 Jul 2005 22:41:55 +0200
| Newsgroups | gmane.comp.lang.nice.general |
|---|---|
| Message-ID | <[email protected]> |
David Bernard wrote:
> Hi,
>
> I'm newbee, and I've got some suggestions, questions. First I would
> say that, something I like when I beginned in Java and when I
> debug/improve existing lib/application is the coding convention +/-
> enforce by the compiler. The goal of the following suggestion is to
> enforce some coding convention at the nice compilater level :
> * remove 'var' and 'let'. If 'let' is to define constantes (!=
> immutable) then every constantes have name in uppercase (only), and
> variable start by lowercase. Compiler could automaticaly detect this
> and choose internaly between 'var' and 'let' rules.
> * Why 'Type Inference' isn't systematic, and can't be use for arrays ?
> Could you give me samples ?
> * Why not use
> * Why do you choose to allow multiple class declaration in one file ?
> One thing, I dislike in C, C++ is to search for where is the
> implementation of the class X, the method Y,... and not in Java. But
> in java what is the need to duplicate information like the package
> name and the classname (lot of developper, like me, create one file
> per class public or not). So the suggestion is for the nice compiler
> to define the package from the directory hierarchy, and the target
> class definition or class addon from the name of File. It need to open
> and write more files but for growing project it's a plus (with or
> without IDE).
>
> -------- before -------------------------------------------------------
> //sample.nice
>
> class Person { String name; int age;
> String display(); }
> class Worker extends Person { int salary; }
> display(Person p)
> { return p.name + " (age=" + p.age + ")"; }
> display(Worker p) { return p.name + " (age+" + p.age + ", salary=" +
> p.salary + ")"; }
> -------- after -------------------------------------------------------
>
> //Person.nice
>
> String name; int age;
> String display() {
> return name + " (age=" + age + ")";
> }
> .................................
> //Worker.nice
> extends Person;
>
> int salary;
> String display() {
> return name + " (age=" + age + ", salary=" + salary + ")"; }
> ---------------------------------------------------------------
>
I forgot some note about 'class addon'. If I want/need to add some
method to Worker in another project/lib, then in the second project I
create a file Worker.addon.nice in the same directory hierarchy
(package) as the orginal Worker.nice. Like this it's easier tho know
where is an implementation if you know the target class.
Avantage : no inside AND ouside method definition
>
> * like generate a default Constructor, why not generate default
> implementation for toString() (e.g. generate a string following the
> format of JSON http://www.json.org) and equals() comparison by fields
> (usefull for test) ?
>
> I've got other may be stupid suggestion and question, I keep them for
> future ;-) (and I don't finish to read all the aviailable doc).
>
> I'm a newbee in compilation and language developpement, but I could
> try to help you develop nice.
>
> Thanks for time.
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
> from IBM. Find simple to follow Roadmaps, straightforward articles,
> informative Webcasts and more! Get everything you need to get up to
> speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
> _______________________________________________
> Nice-info mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/nice-info
--
--------------------------------------------------------------
David "Dwayne" Bernard Freelance Developer (Java)
mailto:[email protected]
\|/ http://dwayne.java-fan.com
--o0O @.@ O0o-------------------------------------------------
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click