All I really needed to learn about programming, I learned from
Java
Write once, debug everywhere;
Prefer compile time errors to run time errors;
Gotos and pointers are like bad words -- they can get you
into a lot of trouble;
Novice-friendliness and expert-friendliness are at a
trade-off;
An intentionally simple syntax is compatible with a complex
collection of objects;
Programming in a high level language is faster than
programming in a lower level language;
It takes longer to learn the high level ways of calling
algorithms than the low level building blocks needed to implement them;
Every once in a while, you will be surprised at what you
have to implement yourself -- a ready-made method to return a stacktrace as a
string, or have a method find its caller's class;
Use the most restrictive keywords you can -- it's kindness
in disguise;
If you want to circumvent security, you can't cast to (char
*) and reconstruct private members;
If you want to circumvent security, you very well may be
able to serialize to a stream and reconstruct private members;
Resurrect objects and die;
There are some things that words cannot explain -- for
everything else, there are over 100 megs of documentation;
Your program will see much more use if people can run it
from their browsers;
You can program your server to use any encryption algorithm
allowed, but you can't stop your clients from storing their private keys on
unsecured Windows boxes;
Carefully designed languages can reduce bugs, but debugging
will always be a part of programming;
No matter how carefully designed the language is, people
will still write code that should be indented six feet downwards and covered
with dirt;
A good new language makes it unnecessary to use older ones,
just as a good cordless screwdriver makes it unnecessary to use a hammer or a
wrench;
You can lead a programmer to objects, but you can't make him
think;
You can paint on a glass pane in your computer or at your
house -- but just because you are allowed to do it doesn't mean it's (usually)
a good idea;
Writing a DWIM compiler is AI-complete;
No matter how fast computers get, there will always be a way
to make them move like molasses;