Skip to main content

Expert Advice

  • Chapter
  • First Online:
  • 4053 Accesses

Abstract

Of course, a chap can’t expect to become a thorough backwoodsman all at once without learning some of the difficult arts and practices that the backwoodsman uses. If you study this book you will find tips in it showing you how to do them—and in this way you can learn for yourself instead of having a teacher to show you how.—Lord Baden-Powell, the Foreword in Scouting for Boys (1908), found on the Internet.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   44.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    The words font and type or typeface are often used interchangeably. A font is associated with an attribute of a typeface—e.g., Calibri italic, Calibri bold, or Calibri mono-spaced are all different fonts of the Calibri typeface. A typeface refers to the core shapes of the characters. Robert Harris in The Elements of Visual Style (Houghton Mifflin, 2007) claims that typefaces fall into four broad categories: serif (with extenders like Times Roman), sans serif (without extenders like the Calibri type face you are reading), script (cursive handwriting like Lucinda Handwriting), and novelty (like Juice ITC).

  2. 2.

    2**3**2 = 2**(3**2) = 512. Stacked exponents are the only algebraic expressions I know of that are evaluated from right to left.

  3. 3.

    Sometimes you want to design code so that it is general, and can easily be extended to work with bigger data sets. This makes sense only if the code is also scalable. If a program or algorithm works well with a small data set, but is significantly inefficient with a larger data set, then the program/algorithm is not scalable. For example, the insertion sort O(n 2) is more scalable than the bubble sort O(n 2), but less scalable than an O(nlog(n)) sort when the data size in increased. The binary search O(log(n)) is extremely scalable and the hash table O(1) is perfectly scalable for any sized data set. (Unfortunately, the memory required to hold the searchable data in a hash table must be 50% to 100% more than the space actually needed to hold the data. As the data set is increased, the hash keys must be changed.) Python is great for small programs (under 1000 lines), but not large programs—i.e., the language is not scalable—this is mainly due to lack of type checking, and being an interpreted language. See Wikipedia, s.v., scalability.

  4. 4.

    This was the advertising slogan for True Temper Tools since at least 1907.

  5. 5.

    The same advice is given for writing essays. When the writing becomes noticeable, it distracts from the ideas it expresses. This is one difference between prose and song lyrics.

    1. “Whenever you feel an impulse to perpetrate a piece of exceptionally fine writing, obey it—whole-heartedly—and then delete it before sending your manuscript to the press. Murder your darlings.”—Sir Arthur Quiller-Couch, The Art of Writing (G.P. Putnam’s Sons, 1916), page 281.

    2. “Kill your darlings, kill your darlings, even when it breaks your egocentric little scribbler’s heart, kill your darlings.”—Stephen King, On Writing, (Simon & Schuster, 2000), page 224.

    3. “Look for all fancy wordings and get rid of them.”—Jacques Barzun, Simple & Direct, A Rhetoric for Writers (Harper and Row, 1975), page 27. Read this book. Barzun is an acknowledged genius.

    4. Read over your compositions, and wherever you meet with a passage which you think is particularly fine, strike it out. [This is a statement of a college tutor, recalled by Dr. Johnson in 1773. Source: James Boswell’s Life of Samuel Johnson (1791).]

    5. Every once in a while, you emit a phrase or a paragraph that seems to have a life of its own. It has just that mix of aptness and cleverness you wish you could pull off all the time. When you write stuff like that, swallow hard and throw it away. Two months later, you will recognize it for the irrelevant purple prose it really is.—P.J. Plauger, Computer Language (October 1991), “Technical Writing,” page 32.

  6. 6.

    See Mathematics in the Modern World, readings from the Scientific American (W.H. Freeman, 1968), pages 53–56. In 2002 the Babbage difference engine 2 was finally built. It took 17 years to complete, contains about 8,000 parts, and weighs nearly five tons.

  7. 7.

    My father was an excellent poker player. He once mentioned that in his youth he had been an avid bridge player. When I asked him why he gave up the game, he replied “because my partner was always an idiot.” (My father never worked well with other people.) This is one reason talented programmers may not want to be assigned partners. Also, the challenge and fun of doing it all by yourself is diluted.

  8. 8.

    Andy Oram and Greg Wilson, editors, Making Software (O’Reilly, 2011), page 314.

  9. 9.

    If anyone ever creates a list of ten commandments for writing code, I have a suggestion for an eleventh commandment: Beware of gurus, priests, interpreters, and dogma. Thou shalt think for thyself.

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Michael Stueben

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Stueben, M. (2018). Expert Advice. In: Good Habits for Great Coding. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-3459-4_14

Download citation

Publish with us

Policies and ethics