Training, Open Source Programming Languages

This is page http://www.wellho.net/mouth/3066_Sep ... paces.html

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

 
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.
Separating groups of variables into namespaces

If your program's going to grow in size beyond a certain point, you'll need to use some sort of namespace or package to segment global names into different groupings - moving from a single name to a forename / surname type system, if you like to think of it that way.

In C++, it's namespaces - see [here] for a source code example. In Perl, we use packages - see [here] and [here] (called from [here]). Both of those examples are not really object oriented, although both Perl and C++ are OO languages and use this namespace / package capability within their OO implementation.

There's an example of Tcl's namespaces [here], and in PHP [here] ...

You'll find that many of my simple namespace demos are rather less that useful programs, and you'll ask yourself "why's he using namespaces here?". The answer is that they're purely used for illustrative purposes in these cases - name spaces become useful as your program moves from big to massive, or where you're packing substantial chunks of code for others to use and you want to expose an absolute minimum of internals to them. And of course it would take a very long time on a course to develop something that was substantial enough to make namespaces worthwhile, only to end up with an example that was too cluttered to show you the features easily without them getting lost in the rest of the thing!
(written 2010-11-24, updated 2010-12-04)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
T213 - Tcl/Tk - Libraries, Packages and Namespaces
  [146] example of Tcl namespaces and packages - (2004-12-10)
  [1339] Packages and Namespaces are like Suitcases and Aircraft - (2007-09-09)
  [1529] Tcl - learning how to use namespaces, packages and libraries together - (2008-02-02)
  [2476] Tcl - uplevel to run code at calling level - (2009-10-24)
  [3417] What is a namespace and why do we need them? - (2011-09-03)
  [3418] Tcl packages, pkg_mkIndex, pkgIndex.tcl -what are they and why use them. - (2011-09-03)
  [4522] Loading packages in your Tcl program - (2015-10-09)

P209 - Subroutines in Perl
  [96] Variable Scope - (2004-10-22)
  [308] Call by name v call by value - (2005-05-11)
  [357] Where do Perl modules load from - (2005-06-24)
  [531] Packages in packages in Perl - (2005-12-16)
  [588] Changing @INC - where Perl loads its modules - (2006-02-02)
  [775] Do not duplicate your code - (2006-06-23)
  [969] Perl - $_ and @_ - (2006-12-07)
  [1163] A better alternative to cutting and pasting code - (2007-04-26)
  [1202] Returning multiple values from a function (Perl, PHP, Python) - (2007-05-24)
  [1782] Calling procs in Tcl and how it compares to Perl - (2008-09-02)
  [1784] Global - Tcl, PHP, Python - (2008-09-03)
  [1826] Perl - Subs, Chop v Chomp, => v , - (2008-10-08)
  [1850] Daisy the Cow and a Pint of Ginger Beer - (2008-10-21)
  [1860] Seven new intermediate Perl examples - (2008-10-30)
  [1921] Romeo and Julie - (2008-12-04)
  [2069] Efficient calls to subs in Perl - avoid duplication, gain speed - (2009-03-07)
  [2550] Do not copy and paste code - there are much better ways - (2009-12-26)
  [2833] Fresh Perl Teaching Examples - part 2 of 3 - (2010-06-27)
  [2929] Passing a variable number of parameters in to a function / method - (2010-08-20)
  [3574] Perl functions such as chop change their input parameters - (2012-01-10)
  [3833] Learning to use existing classes in Perl - (2012-08-10)

C237 - C and C based languages - Namespaces

Back to
Pictures from the Birkenhead to Belfast crossing
Previous and next
or
Horse's mouth home
Forward to
Using C and C++ functions in the same program - how to do it
Some other Articles
Belfast, on a cold November evening
Strings, Garbage Collection and Variable Scope in C++
Throwing your own exception in C++, and catching it
Using C and C++ functions in the same program - how to do it
Separating groups of variables into namespaces
Pictures from the Birkenhead to Belfast crossing
On the way to the course this week
Comments in and on Perl - a case for extreme OO programming
Melksham Carnival - getting ready for 2011
Databases - why data is split into separate tables, and how to join them
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).

© WELL HOUSE CONSULTANTS LTD., 2021: 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/3066_Sep ... paces.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb