Re: Do C++ and Java professionals use UML??
On 7/26/2012 2:01 PM, Patricia Shanahan wrote:
On 7/26/2012 10:10 AM, Arne Vajh?j wrote:
On 7/26/2012 12:36 PM, Patricia Shanahan wrote:
On 7/25/2012 6:00 PM, Arne Vajh?j 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