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