Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Programming languages - a comparison

"It would take me a week to develop application XXX in C, 2 or 3 days in Java, and a day in Perl, PHP, or Python."

So I say when I'm teaching Perl, PHP or Python.

What do I say when I'm teaching C, C++ or Java? The same thing! But there are qualifications / differences / reasons and just because it takes much longer to develop a new application in C or Java, it doesn't mean that you shouldn't do it.

Perl, PHP and Python are all excellent languages for developing "glueware" code - and the majority of applications these days are what I describe as "glueware". That's data manipulation scripts, web server code for mining information from and updating databases, and so on and so forth.

I don't describe major system development as glueware though - for example, if I was developing a major banking system I wouldn't call it a glueware application and I might be tempted to look at a language such as Java or C++. Why, when I've already stated that Java is so much slower to develop? It's because Java is much more controllable - in other words, the encapsulation and interfacing is much more tightly defined and you can have separate developers write and test each building block, then expose only the necessary minimum of methods and code to the users of that building block. Maintenance should be easier, and code re-usabiity much higher, which goes quite some way to compensate for the extra development time. But Java code doesn't run particularly fast - so it might NOT be the answer for systems that are going to be heavily loaded.

C programs are written at a level that's much "closer" to the machine - this gives them the advantage that they're able to be very clever and to run faster - if you put the effort in - than any of the other languages that I've mentioned. And C++ builds on top of C to give a fast, close yet Object Oriented language - at the expense of some complexity and the need for a great deal of care and testing of code to ensure that you don't have "memory leaks" and the like. C remains an excellent choice for system level software and C++ for major systems and application suites that are going to be run on huge systems or in their thousands - where the cost of the slower coding can be offset against a very high utilisation in one way or another.


(written 2005-05-20, updated 2010-05-15)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Y101 - Introduction to Python
  [380] Bridging to the customer requirement - (2005-07-16)
  [382] Central London Courses - Perl, PHP, Python, Tcl, MySQL - (2005-07-18)
  [444] Database or Progamming - which to learn first? - (2005-09-13)
  [629] Choosing the right language - (2006-03-01)
  [710] Linux training Glasgow, Python programming course Dundee - (2006-05-05)
  [712] Why reinvent the wheel - (2006-05-06)
  [745] Python modules. The distribution, The Cheese Shop and the Vaults of Parnassus. - (2006-06-05)
  [753] Python 3000 - the next generation - (2006-06-09)
  [834] Python makes University Challenge - (2006-08-15)
  [846] Is Perl being replaced by PHP and Python? - (2006-08-27)
  [909] Python is like a narrowboat - (2006-10-30)
  [949] Sludge off the mountain, and Python and PHP - (2006-11-27)
  [950] Python and the Magic Roundabout - (2006-11-27)
  [1375] Python v Ruby - (2007-10-02)
  [1663] Python in an afternoon - a lecture for experienced programmers - (2008-06-01)
  [4118] We not only teach PHP and Python - we teach good PHP and Python Practice! - (2013-06-18)
  [4298] Python - an interesting application - (2014-09-18)
  [4590] Progress on moving from Python 2 to Python 3 - training for both versions - (2015-12-01)

P201 - Perl - Introduction
  [25] Release numbers - (2004-08-23)
  [577] Learning to program in Perl or PHP - (2006-01-26)
  [594] Twice is a co-incidence and three times is a pattern - (2006-02-07)
  [604] Perl - multiprocess applications - (2006-02-13)
  [691] Testing you Perl / PHP / MySQL / Tcl knowledge - (2006-04-19)
  [743] How to debug a Perl program - (2006-06-04)
  [924] The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl - (2006-11-13)
  [1717] Q - Should I use Perl or Python? - (2008-07-23)
  [1753] Perl v PHP, choosing the right language - (2008-08-14)
  [1852] Perl and Blackberries - (2008-10-23)
  [2070] Converting to Perl - the sort of programs you will write - (2009-03-08)
  [2812] What is Perl? - (2010-06-15)
  [2832] Are you learning Perl? Some more examples for you! - (2010-06-27)

J601 - Java Introduction
  [111] Training notes available under Open Distribution license - (2004-11-07)
  [124] PHP v Java - (2004-11-20)
  [792] Is Java the right language to learn? - (2006-07-04)
  [871] Java oversold? - (2006-09-19)
  [1049] Java 6, Apache Tomcat 6. - (2007-01-21)
  [1158] Private Java Course - A customer's pictures - (2007-04-22)
  [1418] A Golf Club Decision - Perl to Java - (2007-11-01)
  [1466] Effective Java training - the bootcamp approach - (2007-12-09)
  [1497] Training Season Starts again! - (2008-01-07)
  [1557] Trying out our Java examples on our web site - (2008-02-27)
  [1766] Diagrams to show you how - Tomcat, Java, PHP - (2008-08-22)
  [1908] Java CLASSPATH explained - (2008-11-26)
  [2115] Finding your java program - the CLASSPATH variable - (2009-04-02)
  [2423] What is a JVM, a JRE, a JDK - components of the core Java Environment - (2009-09-26)
  [2536] All the Cs ... and Java too - (2009-12-13)
  [4332] First Java Application - calculating the weight of a tablecloth - (2014-11-29)

H101 - Introduction to PHP
  [48] PHP - onwards and upwards - (2004-09-14)
  [55] Evening classes to learn PHP - (2004-09-19)
  [93] Case Sensitive? - (2004-10-19)
  [132] Portrait of the author - (2004-11-27)
  [135] Too many Perls - (2004-11-30)
  [341] Happy Birthday, PHP - (2005-06-09)
  [433] FTP - how to make the right transfers - (2005-09-01)
  [624] It's REALLY easy to add a little PHP - (2006-02-26)
  [646] PHP - London course, Melksham Course, Evening course - (2006-03-14)
  [789] Hot answers in PHP - (2006-07-02)
  [795] Remember a site's non-technical issues too - (2006-07-07)
  [917] Syntax checking in PHP - (2006-11-07)
  [1050] The HTML++ Metalanguage - (2007-01-22)
  [1198] From Web to Web 2 - (2007-05-21)
  [1958] PHP - Parse error: syntax error, unexpected $end ... - (2008-12-23)
  [2097] PHP Course - for hobby / club / charity users. - (2009-03-22)
  [3025] Learning to Program ... in PHP. Course examples. - (2010-11-01)
  [4621] The power of scripting - (2016-01-12)

C231 - C and C based languages - Introduction to C++
  [318] Choosing a theme - (2005-05-20)
  [336] Targetted Advertising - (2005-06-05)
  [928] C++ and Perl - why did they do it THAT way? - (2006-11-16)
  [2004] Variable Scope in C++ - (2009-01-22)
  [2169] When should I use OO techniques? - (2009-05-11)
  [2845] Objects and Inheritance in C++ - an easy start - (2010-07-01)
  [3052] Getting your C++ program to run - (2010-11-15)
  [3053] Make - automating the commands for building and installing - (2010-11-16)
  [3069] Strings, Garbage Collection and Variable Scope in C++ - (2010-11-25)
  [3250] C++ - how we teach the language and the concepts behind the language - (2011-04-17)
  [4466] Moving from C to C++ - Structured to Object Oriented - a lesson for engineers - (2015-03-28)
  [4561] Hello World in C++ - a first program, with the process explained - (2015-10-30)
  [4562] Left shift operator on an output stream object - C++ - (2015-10-30)

C101 - C and C based languages - Introduction to C
  [304] Training courses in the C language - (2005-05-07)
  [885] Why do we still need C? - (2006-10-03)
  [1933] Learning to Program in C - (2008-12-10)
  [2842] Staring a C course with Hello World - why? - (2010-06-30)


Back to
Development Environments
Previous and next
or
Horse's mouth home
Forward to
Choosing a theme
Some other Articles
Sales - the alternative close
Ordnance Survey - using a 'Get a map'
Accommodation and landing pages
Programming languages - a comparison
Development Environments
Supporting local business
What language is this written in?
Making bona fide international marriages more difficult
Maud Heath
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., 2024: 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.info/mouth/317_Prog ... rison.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb