The content is this page is extracted from the goodreads RSS feed for my "Professional Development" bookshelf.
Building iPhone Apps with HTML, CSS, and JavaScript
JavaScript: The Good Parts: The Good Parts
The author observes that every programming language has positive and negative aspects, but JavaScript has more than its share of the latter. However, there are also some extraordinarily things about [more...]
An interesting concept discussed in this book is memoization. This is a technique used to store results already calculated so that the same results don't need to be calculated again. As an example, the section demonstrates an approach to calculating the numbers in the Fibonacci sequence.
The Mythical Man-Month
The author received in 1999 the ACM's A. M. Turing Award, which, according to the back cover is "the most prestigious award in the computing field." He is cited for "landmark [more...]
Chapter 1: The Tar Pit. In this chapter, I learned the distinction between a "program," a "programming product," a "programming system," and a "programming systems product."
The chapter describe the joys and the woes of programming, and I can relate to both.
One particularly salient point I gleaned from this chapter is that, because of the constant advance of technology, a product's design is immediately obsolete. That is, by the time an idea is implemented, the cutting edge has been extended. As the chapter puts it, "As soon as one freezes a design, it becomes obsolete in terms of its concepts." Yet, as it goes on to observe, "The obsolescence of an implementation must be measured against other existing implementations, not against unrealized concepts" (p. 9).
Chapter 2: The Mythical Man-Month. Here, the author explains that most programming projects have gone awry because of unrealistic scheduling. He offers several reasons, including the incorrigible optimism of programmers in believing that "all will go well," or "each task will take only as long as it 'ought' to take" (p. 14). He also highlights the fallacy of thinking that adding more programmers to a team will decrease the amount of time needed to complete a project: "Adding more men then lengthens, not shortens, the schedule" (p. 19).
Chapter 3: The Surgical Team. In this chapter, the author suggests a composition for a programming team. This team would be composed of one chief programmer and an assistant who is able to do everything the programmer does. In addition, the team includes an administrator, an editor, secretaries, a clerk, toolsmith, tester, and "language lawyer."
Pro JavaScript Design Patterns
Bridge Pattern.
A principle of object-oriented design is loose coupling of objects (Harmes & Diaz, p. 107). This is where the bridge pattern becomes particularly useful. [more...]
A principle of object-oriented design is loose coupling of objects (Harmes & Diaz, p. 107). This is where the bridge pattern becomes particularly useful. According to the Gang of Four, the bridge pattern "should decouple an abstraction from its implementation so that the two can vary independently." (Harmes & Diaz, p. 109).
Pro JavaScript Techniques (Pro)
Useful concepts include namespacing, which mitigates the evil of global variables (cf., JavaScript: The Good Parts, Appendix A); and the distinction of public, private, and privileged methods within [more...]

