Training, Open Source Programming Languages

This is page http://www.wellho.net/mouth/2769_Eas ... whom-.html

Our email: info@wellho.net • Phone: 01144 1225 708225

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


Back to
Carrying a long URL around - looking for memorable shorts
Previous and next
or
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
4343 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 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).

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

PAGE: http://www.wellho.net/mouth/2769_Eas ... whom-.html • PAGE BUILT: Thu Sep 18 15:30:25 2014 • BUILD SYSTEM: WomanWithCat