Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Easy - but for whom?

1. I wrote a graphing package once - for use on the Tektronix 4051 (so you'll see how old that was!) - and the sales team for whom I wrote it loved it in demonstrations. It asked a series of questions and then drew a graph - just what was needed to introduce customers to the piece of hardware and show the sort of results it could produce. But then when people wanted to use that same program to produce their own graphs it was intensely frustrating - they were re-entering data time and again, unable to set defaults and feeling that the whole thing could have been so much more efficient for them.

2. I see a similar trade off - the The "easy to use" v "easy to learn" trade off - in programming examples. I have been catching up on a few reviews of our website this morning, and on an example that joins three tables in MySQL, a reviewer writes "The guide itself is pretty straight forward but really, these three letter abbreviations are slightly hard to follow".

The comment is understandable. In my example, I have used three tables - with names:
  bdg - for a building
  res - for residents who live there
  dom - for domains they have registered
and in each table, I have primary keys (ids) that start with the same letter as the table - thus:
  bid - building id
  rid - resident id
  did - domain id

By using short names, the code examples are kept down in size, and you don't get all the lines folding. The names are just about long enough (for fluent English speakers at least) to identify with / understand what each table is. But I can appreciate that for many of our site visitors, who struggle to understand English, the abbreviation can confuse.

3. Yesterday, I was comparing Perl and PHP; Perl is a fantastic and generalized language which lets you do so many things very quickly - once you know it well, whereas PHP is tuned for web use, for people who don't want to spend quite so long learning, and in the long run is going to produce somewhat longer code.

4. Our coffee machine at Well House Manor is customer facing - a single push of a button produces a cup of fresh coffee. Easy for the users? Not quite as easy as you think, sometimes. The symbol for "hot water" is a odd one, and there's the occasional customer who doesn't realise that (s)he needs to put one of the mugs that are by the machine under the spout before pressing a button ...

There are design decisions to be made all the time. In each of the cases above, someone has thought about (or failed to think about, and made a random decision) the usability and the target market. My own "default" thought process is to ask myself "who is this intended for" - to look at my potential market / readership - and to design accordingly.

So I stand by my three letter table and column names. I think they're about right. And I say to people who are looking for something much more verbose that they may do better looking elsewhere for something more basic, or in their own native tongue - we can't provide the perfect answer for everyone.

And on that basis, to the lady who was on the phone, furious that our web site didn't tell her the times of buses from Potterne to Devizes, I must say "why should it - we're a software and training company in Melksham and we just mention those places as served. Have a look at the bus company's web site if you need detailed bus times!"

(written 2010-05-18)

Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Q101 - Object Orientation and General technical topics - Programming Principles
  [2001] I have not programmed before, and need to learn - (2009-01-19)
  [2022] Pre and post increment - the ++ operator - (2009-02-03)
  [2228] Where do I start when writing a program? - (2009-06-11)
  [2310] Learning to write high quality code in Lua - (2009-07-30)
  [2327] Planning! - (2009-08-08)
  [2415] Variable names like i and j - why? - (2009-09-22)
  [2510] The music of the stock market - (2009-11-22)
  [2550] Do not copy and paste code - there are much better ways - (2009-12-26)
  [2586] And and Or illustrated by locks - (2010-01-17)
  [2737] Improving your function calls (APIs) - General and PHP - (2010-04-24)
  [2878] Program for reliability and efficiency - do not duplicate, but rather share and re-use - (2010-07-19)
  [2915] Looking up a value by key - associative arrays / Hashes / Dictionaries - (2010-08-11)
  [2964] An introduction to file handling in programs - buffering, standard in and out, and file handles - (2010-09-21)
  [3026] Coding efficiency - do not repeat yourself! - (2010-11-02)
  [3456] Stepping stones - early coding, and writing re-usable code quickly - (2011-09-24)
  [3542] What order are operations performed in, in a Perl expression? - (2011-12-07)
  [3548] Dark mornings, dog update, and Python and Lua courses before Christmas - (2011-12-10)
  [3551] Some terms used in programming (Biased towards Python) - (2011-12-12)
  [3673] Object oriented or structured - a comparison in Python. Also writing clean regular expressions - (2012-03-26)
  [3878] From Structured to Object Oriented Programming. - (2012-10-02)
  [3928] Storing your intermediate data - what format should you you choose? - (2012-11-20)
  [3954] Lesson 1 in programing - write clean, reuseable and maintainable tidy code - (2012-12-16)
  [4003] Web and console - same principle, same code - Ruby example - (2013-02-14)
  [4061] Seamless, integrated IT - we have a long way to go! - (2013-04-11)
  [4090] Test Driven Development in Python - Customer Comes First - (2013-05-16)
  [4118] We not only teach PHP and Python - we teach good PHP and Python Practice! - (2013-06-18)
  [4153] Rooms available tonight - how to code an algorithm from first principles - (2013-08-19)
  [4206] Writing the perfect program in Tcl? - (2013-11-13)
  [4325] Learning to program - what are algorithms and design patterns? - (2014-11-22)
  [4611] Hungarian, Camel, Snake and Kebab - variable naming conventions - (2016-01-03)
  [4632] Remember to ask the question before you listen for the answer - (2016-01-26)
  [4645] What are callbacks? Why use them? An example in Python - (2016-02-11)

Back to
Carrying a long URL around - looking for memorable shorts
Previous and next
Horse's mouth home
Forward to
Melksham Chamber of Commerce - Presidents report to AGM
Some other Articles
Dynamically watching your web site via a PHP wrapper
Graham Ellis - Summary of Training Record
Melksham to Calne by public transport
Melksham Chamber of Commerce - Presidents report to AGM
Easy - but for whom?
Carrying a long URL around - looking for memorable shorts
Back from a Python course in Glasgow
Optional and named parameters to Python functions/methods
Running operating system commands from your Python program
Python decorators - your own, staticmethod and classmethod
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page

This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2022: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2769_Eas ... whom-.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb