only rarely will someone bring up a construction issue that you haven't previously
considered.
Self-Taught Programmers
If you haven't had much formal training, you're in good company. About 50,000 new
developers enter the profession each year (BLS 2004, Hecker 2004), but only about
35,000 software-related degrees are awarded each year (NCES 2002). From these
figures it's a short hop to the conclusion that many programmers don't receive a formal
education in software development. Self-taught programmers are found in the emerging
group of professionals—engineers, accountants, scientists, teachers, and smallbusiness
owners—who program as part of their jobs but who do not necessarily view themselves
as programmers. Regardless of the extent of your programming education, this
handbook can give you insight into effective programming practices.
Students
The counterpoint to the programmer with experience but little formal training is the
fresh college graduate. The recent graduate is often rich in theoretical knowledge but
poor in the practical know-how that goes into building production programs. The
practical lore of good coding is often passed down slowly in the ritualistic tribal dances
of software architects, project leads, analysts, and more-experienced programmers.
Even more often, it's the product of the individual programmer's trials and errors. This
book is an alternative to the slow workings of the traditional intellectual potlatch. It
pulls together the helpful tips and effective development strategies previously available
mainly by hunting and gathering from other people's experience. It's a hand up for the
student making the transition from an academic environment to a professional one.
Where Else Can You Find This
Information?
This book synthesizes construction techniques from a variety of sources. In addition to
being widely scattered, much of the accumulated wisdom about construction has resided
outside written sources for years (Hildebrand 1989, McConnell 1997a). There is nothing
mysterious about the effective, high-powered programming techniques used by expert
programmers. In the day-to-day rush of grinding out the latest project, however, few
experts take the time to share what they have learned. Consequently, programmers may
have difficulty finding a good source of programming information.
The techniques described in this book fill the void after introductory and advanced
programming texts. After you have read Introduction to Java, Advanced Java, and
Advanced Advanced Java, what book do you read to learn more about programming?
You could read books about the details of Intel or Motorola hardware, Microsoft
Windows or Linux operating-system functions, or another programming language—you
can't use a language or program in an environment without a good reference to such
details. But this is one of the few books that discusses programming per se. Some of the
most beneficial programming aids are practices that you can use regardless of the
environment or language you're working in. Other books generally neglect such
practices, which is why this book concentrates on them.
评论0
最新资源