On Jun 30, 10:11 am, Joshua Cranmer <Pidgeo...@verizon.invalid> wrote:
> Xah wrote:
> > my Java tutorial
> > is now available for download for offline reading.
> > Download link at the bottom.
>
> Doesn't look terribly good as a tutorial.
Thanks for your comments.
> My nits:
> 1. References either Java 1.4 or Java 5 documentation, the former of
> which is EOL, and the latter of which is beginning the EOL process.
True. Maybe i'll update later if i get to learn what's new java 6 or
some new features introduced in java 5.
> 2. No explanation of how to use newer Java features, such as generics,
> annotations, or enums. Doesn't even use them in earlier examples.
These are kinda intentionally left out, because i feel they are not
that practical or related to basic general programing concepts.
> 3. Several typos litter the place.
Humm... not sure which you refer to. Some, as you mentioned, are just
unconventional usages that may seem odd to native English speakers but
more logical and easy reading to international readers.
> 4. Sacrifices correctness for approachability. Specific examples:
> 4a. "lines enclosed between '/*' and '*/' are ignored." Lexically, those
> indicate the start and close of a comment token, so that it's not
> "lines" that are ignored, but "characters" (which is even a bit
> imprecise, since it's actually collecting output from the Unicode
> preprocessing).
> 4b. "special syntaxt [sic] to create jagged array in one shot." The
> syntax isn't special, it's a standard array creation and assignment
> expression.
it is rather ad hoc when one considers the generality or regularity of
the syntax with respect to syntax design among computer languages.
> 4c. "constructer (often spelled constructor)" Actually, the JLS defines
> it as "constructor," along with my ISO C++ spec, and the python specs.
> "Constructor" is the accepted spelling, whereas "constructer" is a
> misspelling not even in the OED.
> 4d. "For example, if your file name is 'MyMainClass.java', then one of
> your class [sic] must be named 'MyMainClass'." No, it doesn't. The
> correct sentence is that "..., then a public top-level class must have
> the name 'MyMainClass'."
Yes, practical and basic programing concepts are emphasized in this
tutorial. I might change the spelling of “constructer” to
“constructor” as you suggest. Note however, that “constructer” is more
logical and a standand alternative, shown in most if not all English
dictionaries. (you didn't find it OED?? i don't have access to Oxford
Eng Dict atm but i doubt its not in it)
> 5. Violation of several accepted conventions.
You mean English writing conventions or some java programing
conventions? Again, some of these are intentional. The alternative
form i used usually is based on simplicy or logical consistancy.
> 6. Pointing people to bad practices, such as shoving a static method
> into a non-static context.
Again, basic, practical, to-to-point programing is emphasized. I
discussed in the intro a bit, many things typical in Java tutorial
such as tips on current Software Engineering issues, or discussing the
lang from computer science point of view such as stacks, memory
allocation, etc, are not used here. (personally i find them
detrimental)
Xah
∑
http://xahlee.org/
☄
> I'll stick with <http://java.sun.com/docs/books/tutorial/index.html>,
> thank you very much.
> --
> Beware of bugs in the above code; I have only proved it correct, not
> tried it. -- Donald E. Knuth