huy said:
I don't mean to press your technology sensitivy buttons,
The only button being pushed is the one triggered when someone is asked a
question about technology and knowingly gives incorrect information, who
knows they're doing so but doesn't care enough about the exchange to give
the right information.
but as a user
of the technology, I am only trying to explain how I think people who
have not come across J2ME will find it most easy to understand (not the
subject heading "Lost in J2ME" not "I am a java expert who wants to know
the specifics of J2ME implementation".
And when you give them incorrect information, they are going to build their
further understanding *on* that incorrect information. You tell them that X
is the predecessor to Y (when X only predated Y and the two are otherwise
unrelated), then they might end up wasting cycles to understand X first
before going to Y. Or, if you tell them that the Personal or Personal Basis
Profile runs on the JVM, they might spend alot of time trying to figure out
why certain features of the JVM aren't available to them, time they
wouldn't have wasted had you told them up front that it's not the JVM but
the *CVM* and that the VM has a *different* specification.
The point is, if someone asks a question about technology, you don't have to
dump the entire world on their shoulders in order for them to understand.
You can give them enough information as they need. But, if you give them
the *wrong* information, regardless of your intentions, you have done them
a DISservice in that you have *confused* their understandings.
I do not doubt your own expertise in this area as I will be the first to
agree that you probably know more than me about J2ME technology.
However, my own experiences with J2ME has been like Sebastien i.e
"Lost", and I have to say that it's partly because of the Sun
documentation as well as other information I have found on the net (I
have read your J2ME FAQ, and point 1 of your J2ME FAQ already confuses
me after reading your first reponse; something about CVMs not being
JVMs). It's just aimed at the wrong audience. Who isn't going to be
confused about all the J2[A-Z]E, Configurations, Profiles and [A-Z]VM.
The question is, who *is* going to be confused *more*, someone who is asking
a question and got a partial answer that contained accurate information or
someone who is asking a question and got a partial answer that contained
inaccurate information? Try thinking beyond the immediate, since someone
asking a question now is going to have 10 more questions tomorrow based on
the answer they receive today. If you gave them incorrect information
today, them tomorrow you're going to have to spend time *fixing* that
mistake and *then* answering new questions. Why not just avoid the problem
and either 1) give the right information the first time or 2) just don't
answer and avoid confusing them with the wrong information?
Can you tell me how my answer can hurt people reading this thread ?
Why don't you tell me how it helped them to have the wrong information? I'm
talking beyond this little thread to answering questions in general, but
using this particular one as an example.
How
have I construed the information so much that people will totally
misunderstand what J2ME is, and how to use it ?
That's quite an attempt at context switching. I didn't say "totally
misunderstand". I said you gave incorrect information to answer a question,
and in this case it was something that wasn't so unbelievably complex that
giving the right answer would have confused anybody. The problem is that if
you're inexact on such little subjects, how far off the mark are you if
someone asks a more detailed or technical question?
I do really want to
further my own understanding of J2ME so your help will seriously be
appreciated (if it turns out to be really helpful) ?
If you want to further your own understanding, read the specifications, work
with the reference implementations, join an expert group, work on a real
project using one of the many J2ME technologies. But, you further
*nobody's* understanding if you give out incorrect answers to questions.
You may have made the person go away thinking they've gotten what they
wanted, but when they try to build on that foundation they'll find it's
only sand...
I have been extremely disappointed in recent years of software
technology.
I'm very sorry to hear that.
All the money spent in marketing crap technology instead of
improving it has been such a waste. I can name many a technology
including J2ME which in my opinion is all just marketing crappy older
technologies and making a much bigger deal about it then it really is
(don't get me wrong, it does achieve somethings, but it's not rocket
science). Instilling confusion and complexity into the problem space
where I feel none is needed.
And your answer to that confusion is to compound it by giving out your own
incorrect information in answer to someone's question? I'm sorry you're so
disappointed with with Sun's marketing department, but that disappointment
is irrelevant to the point here.
If you're trying to get this to support or rationalize your claim that
Personal Java is a predecessor to the J2ME technologies (which is, again,
misleading, since in order to be a predecessor J2ME technologies would have
to be built *on* PJava, not just built after and for related markets)
you're rather falling short of the mark.
Maybe you should try answering the question instead just telling me I'm
wrong.
What question? The original? I *DID*, and I gave the *right* information in
answer to the OP's question. I didn't see anything that needed to dumbed
down to keep from confusing him in the first place. The OP was already
confused by the requirements for the CLDC, etc., and as such the last thing
he needed was more confusing information. Why do you assume he couldn't
handle the right information?
If I read something useful from yourself which persuades me that
I'm wrong, I'll tell the world myself that "I am giving incorrect
answers" and stop posting responses.
That's quite dramatic and over the top, don't you think? So, your only
answer is to stop posting? There's no chance you might reconsider giving
out dumbed down and/or incorrect information and instead just give good
information instead?
Until that time, I am only trying
to help my fellow developers strive towards giving the world some
working software.
And you don't see the problem in giving out incorrect information in
response to someone's question? You don't see anything wrong with giving
someone who's already confused answers that don't fix their confusion and
will instead confuse them more when they understand better the problem
domain?
For example, look at the curve of a parabola. It looks like a kind of like a
logarithmic curve. If someone who has only studied logarithms asks you "how
do I draw that curve?" would you tell them "use logarithms" to avoid
"confusing" them or would you say "use square roots" and point them in the
*right* direction?
The point is, you may have solved one immediate need (that of an answer) but
you have not solved the *real* need (that of a *correct* answer). I'm sorry
you don't see the difference.
If you would rather lock yourself to AWT, go for it. I am not stopping
you.
Where did I say that?
From my own experiences, I hate it. It's ugly, slow, limited.
And you're letting your own personal opinion color the information you give
to someone else.
To
advise people to use because it's some sort of standard is IMO "great
advice if you want to go through what I went through".
The advice to go with the standard is supported when the requirement is to
target as many platforms as are available. If you target the standard, then
you will run on any platform that supports the standard.
When you target *one implementation* then guess what? You will only run on
that *one* implementation. If that was your intention, then telling someone
to target that one implementation is good advice. If that was *not* your
intention, then it's *very bad* advice.
It would be like someone asking, "I want to write a killer MIDP game, how do
I do it?" If you answered, "download the Nokia SDK and check out their
FullCanvas class, you can write killer games with it!" would that be good
advice or bad? It would be good if they were targeting only Nokia phones.
It would be *HORRIBLE* if they were targeting all MIDP phones, since nobody
other than Nokia (and, at that, Series 40) supports the API.
The point is, you don't know what the OP's requirements are, so how could
you tell him to avoid writing to the specification and to instead target a
single implementation?
In terms of
standard environments, Java has a long way to go before you can write a
PDA application which runs on multiple hardware platforms out there
without a fair bit of changes.
And even that doesn't justify giving someone misleading information.
Hope I can learn something from this thread.
Me too.