Re: Do C++ and Java professionals use UML??

Discussion in 'Java' started by Arne Vajhøj, Jul 27, 2012.

  1. Arne Vajhøj

    Arne Vajhøj Guest

    To: Patricia Shanahan
    From: Arne Vajhoj <>

    On 7/26/2012 2:01 PM, Patricia Shanahan wrote:
    > On 7/26/2012 10:10 AM, Arne Vajhoj wrote:
    >> On 7/26/2012 12:36 PM, Patricia Shanahan wrote:
    >>> On 7/25/2012 6:00 PM, Arne Vajhoj wrote:
    >>> ...
    >>>> You were interested to learn the Wirchenko language that just
    >>>> happened to be compilable with a Java compiler because it has
    >>>> the same grammar.
    >>>
    >>> The question of whether something is or is not Java seems to me to be
    >>> one for which the JLS is indeed the ultimate authority. Can you point
    >>> out in some way in which Gene's programs failed to conform to the JLS?

    >>
    >> If it did not conform to the JLS then hopefully the Java compiler would
    >> not compile it.
    >>
    >> But I assume that the question was rhetorical.You know what I mean, but
    >> disagree (which is fine).

    >
    > I'm not sure I know what you mean. Whether something is Java or not is a
    > question of fact, and should be settled by reference to the JLS.
    >
    > It may be quite reasonable to decide that you are only willing to
    > respond to questions from people who follow conventions you like, but I
    > don't think it is reasonable to call something not Java because it does
    > not follow those conventions.


    Whether some code is valid in the Java language and its semantics are obviously
    defined by the JLS.

    But Java comes with a baggage of history, philosophy, traditions and lessons
    learned.

    Java developers are not all identical.

    If we look at some of the statements made in various threads:
    - OOP is just overhead
    - patterns are useless
    - micro optimizations are good
    - public fields are OK
    - interfaces are useless
    - I don't want to follow the standard naming convention
    - I don't want to follow the standard formatting convention
    - I don't want to use the Java library because my own is better
    - portability is useless
    - unit tests are useless
    - ORM's are useless
    - make is the right build tool for Java
    - UML is useles
    - Java docs are useless
    etc.
    then the archetype Java developer would not believe in any of them.

    But many Java developers actually believe in a few of them, because people are
    different with different personal experiences and working in different domains.
    And best practices are not an exact science.

    Someone believing in most of them is a different story. I am skeptical about
    calling such a person for a Java developer. Even though the code is following
    JLS and compiles with javac, then there is almost no overlap with the Java
    world. It is not the Java way. And if the person tried to write such code at
    work, then the person would be kicked out quickly in many places. It is not
    what companies expect when they hire a Java developer.

    People are not born with knowledge about good Java practices. They learn them
    along the way.

    I find it natural that people posting problems in cljp are violating some
    common best practices in Java. If they knew everything then they would probably
    not have a problem to post.

    I am all for helping them with their problem. And also guiding them towards
    better practices. I do that as well. I don't think I am among the most rigorous
    in that regard though.

    If people notice the well meant suggestions and over time adjust, then I am
    happy.

    If they chose to ignore the good advice, then I am disappointed but not
    surprised. That is how it is. I don't maintain a black list so I will most
    likely try and help them again - and get disappointed again. But I know that is
    how it is. C'est la vie. And having to maintain the code they end up with is a
    severe punishment in itself!

    But there are a few things that get me in flame mode:

    1) Complaints from posters that they just want their miserable
    code fixed without any good advice. That is what one can request
    for 250 dollars an hour. If one want free advice, then one has
    to accept the full package of advice.

    2) Attempts to recommend the bad practices to other. Either explicit
    or implicit by criticizing when somebody points out the problems
    in some code.

    Arne

    --- BBBS/Li6 v4.10 Dada-1
    * Origin: Prism bbs (1:261/38)
    --- Synchronet 3.16a-Win32 NewsLink 1.98
    Time Warp of the Future BBS - telnet://time.synchro.net:24
     
    Arne Vajhøj, Jul 27, 2012
    #1
    1. Advertising

  2. To: Arne Vajhøj
    From: Patricia Shanahan <>

    On 7/26/2012 11:47 AM, Arne Vajhoj wrote: ...
    > Someone believing in most of them is a different story. I am skeptical
    > about calling such a person for a Java developer. Even though the code
    > is following JLS and compiles with javac, then there is almost no
    > overlap with the Java world. It is not the Java way. And if the
    > person tried to write such code at work, then the person would be
    > kicked out quickly in many places. It is not what companies expect
    > when they hire a Java developer.

    ....

    I think of programming languages as tools, not philosophies. Java happens to be
    a favorite tool, one that fits my brain the way my favorite wood carving chisel
    fits my hand. On the other hand, I no more subscribe to "the Java way" than to
    a "the half inch chisel way".

    When I'm starting a new program, in a situation in which I'm free to use any
    standards I like, I follow the commonest conventions for the program's
    language. If I'm modifying or adding to an existing project, or working in an
    organization that has other conventions, I follow the local conventions.

    Patricia

    --- BBBS/Li6 v4.10 Dada-1
    * Origin: Prism bbs (1:261/38)
    --- Synchronet 3.16a-Win32 NewsLink 1.98
    Time Warp of the Future BBS - telnet://time.synchro.net:24
     
    Patricia Shanahan, Jul 27, 2012
    #2
    1. Advertising

  3. To: Arne Vajhøj
    From: Gene Wirchenko <>

    On Thu, 26 Jul 2012 14:47:46 -0400, Arne Vajhoj <> wrote:

    >On 7/26/2012 2:01 PM, Patricia Shanahan wrote:


    [snip]

    >> It may be quite reasonable to decide that you are only willing to
    >> respond to questions from people who follow conventions you like, but I
    >> don't think it is reasonable to call something not Java because it does
    >> not follow those conventions.

    >
    >Whether some code is valid in the Java language and its semantics
    >are obviously defined by the JLS.
    >
    >But Java comes with a baggage of history, philosophy,
    >traditions and lessons learned.


    And mistakes made. Every language has its downside even _____.
    (Fill in the blank however you choose.)

    >Java developers are not all identical.
    >
    >If we look at some of the statements made in various threads:
    >- OOP is just overhead
    >- patterns are useless
    >- micro optimizations are good
    >- public fields are OK
    >- interfaces are useless
    >- I don't want to follow the standard naming convention
    >- I don't want to follow the standard formatting convention
    >- I don't want to use the Java library because my own is better
    >- portability is useless
    >- unit tests are useless
    >- ORM's are useless
    >- make is the right build tool for Java
    >- UML is useles
    >- Java docs are useless
    >etc.
    >then the archetype Java developer would not believe in any of them.


    Oh?

    These statements are written as binary. Either it is right or it
    is wrong. And many are just bait.

    Take the first one. "OOP is just overhead" OOP does have
    overhead. That might or might not matter. If the benefits of OOP outweigh the
    disadvantages, it may well be used. In another situation, it might not do. In
    many, it does not matter.

    Other points can be disposed of similarly. There are only a few
    that I would totally agree with.

    >But many Java developers actually believe in a few of them, because
    >people are different with different personal experiences and working
    >in different domains. And best practices are not an exact science.


    Quite.

    >Someone believing in most of them is a different story. I am skeptical
    >about calling such a person for a Java developer. Even though the code
    >is following JLS and compiles with javac, then there is almost no
    >overlap with the Java world. It is not the Java way. And if the
    >person tried to write such code at work, then the person would be
    >kicked out quickly in many places. It is not what companies expect
    >when they hire a Java developer.


    [snip]

    Sincerely,

    Gene Wirchenko

    --- BBBS/Li6 v4.10 Dada-1
    * Origin: Prism bbs (1:261/38)
    --- Synchronet 3.16a-Win32 NewsLink 1.98
    Time Warp of the Future BBS - telnet://time.synchro.net:24
     
    Gene Wirchenko, Jul 27, 2012
    #3
  4. Arne Vajhøj

    Arne Vajhøj Guest

    To: Patricia Shanahan
    From: Arne Vajhoj <>

    On 7/27/2012 12:05 PM, Patricia Shanahan wrote:
    > On 7/26/2012 11:47 AM, Arne Vajhoj wrote:
    > ...
    >> Someone believing in most of them is a different story. I am skeptical
    >> about calling such a person for a Java developer. Even though the code
    >> is following JLS and compiles with javac, then there is almost no
    >> overlap with the Java world. It is not the Java way. And if the
    >> person tried to write such code at work, then the person would be
    >> kicked out quickly in many places. It is not what companies expect
    >> when they hire a Java developer.

    > ...
    >
    > I think of programming languages as tools, not philosophies. Java
    > happens to be a favorite tool, one that fits my brain the way my
    > favorite wood carving chisel fits my hand. On the other hand, I no more
    > subscribe to "the Java way" than to a "the half inch chisel way".
    >
    > When I'm starting a new program, in a situation in which I'm free to use
    > any standards I like, I follow the commonest conventions for the
    > program's language. If I'm modifying or adding to an existing project,
    > or working in an organization that has other conventions, I follow the
    > local conventions.


    So in reality you are subscribing to the Java way.

    Arne

    --- BBBS/Li6 v4.10 Dada-1
    * Origin: Prism bbs (1:261/38)
    --- Synchronet 3.16a-Win32 NewsLink 1.98
    Time Warp of the Future BBS - telnet://time.synchro.net:24
     
    Arne Vajhøj, Aug 8, 2012
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Ramon F. Herrera

    Do C++ and Java professionals use UML??

    Ramon F. Herrera, Jul 19, 2012, in forum: Java
    Replies:
    30
    Views:
    725
    R kamalakkannan
    Aug 2, 2012
  2. Gene Wirchenko
    Replies:
    1
    Views:
    219
    Arne Vajhøj
    Jul 25, 2012
  3. Gene Wirchenko
    Replies:
    7
    Views:
    290
    Arne Vajhøj
    Aug 2, 2012
  4. Gene Wirchenko
    Replies:
    18
    Views:
    333
    Arne Vajhøj
    Aug 7, 2012
  5. David Lamb
    Replies:
    0
    Views:
    155
    David Lamb
    Jul 27, 2012
Loading...

Share This Page