ATM Logo

Programming in 16 Languages

During my Masters at Newcastle University, I programmed in Java to an advanced level. This included event handling, multi-threaded programming, the Java Abstract Window Toolkit (AWT), the Java Swing graphical user interface (GUI) API, Java file handling, Javax speech synthesis, and the JLayer MP3 API.

Java, C#, C++, and C are all closely related object-oriented programming languages, and as such it is relatively straight forward to transfer skills learned in one OOP language to another. Here are some basic examples of code, or references to code, that I have now written in 16 different languages.

  1. Java: Java Sample (advanced use of Java is described in the MSc Dissertation in section 3.2.2 Java Classes, page 23)
  2. C: C Sample
  3. C++: C++ Sample, C++ Classes and Objects, C++ Class Inheritance, Polymorphism and Friend Demo, C++ Arrays and Pointers Demo, C++ File Downloads
  4. C#: C# Sample
  5. Visual Basic: Visual Basic Sample
  6. Prolog: (described in the MSc Dissertation in section 3.1 Approach taken, page 17)
  7. Clips: (described in the MSc Dissertation in section 2.1 Literature review (v) Expert Systems, CLIPS and Prolog, page 13)
  8. Assembler: Assembler Sample
  9. JavaScript: (used for form checking in university assignments 2008)
  10. JQuery: (used for more/ less buttons on this website, image zoom transitions and slide shows in client websites)
  11. PHP: PHP Sample. PHP was used to build the Automated Teaching Machines website. (Also described in the MSc Dissertation in section 4.1 Presenting the results, page 33)
  12. MySQl: (used to manage data held in relational database management systems used in client websites and in building the Automated Teaching Machines website)
  13. Unix Shell Scripts: (used for Linux server-side file handling in client websites)
  14. Python: Python Sample. Python used for Raspberry Pi programming and in teaching
  15. Ruby: Ruby Sample
  16. HTML and CSS: Used to make many websites, including this one!

Electronics and Programming Timeline

Year Robin Broad Experience
1973 Radio circuits
1979 Metal detector and analog synthesizer circuits
1980 Pet BASIC
1981 A-level Physics and Maths, Z80 Machine code, digital electronics, Pascal
1986 6502 Assembler, microprocessor based hardware
1987 C, degree level electronics, CERN software
1988 BSc Electronics and Physics, BBC broadcast television electronics
1990 Teaching physics
2005 NASA CLIPS expert system shell
2007 Java, Unix/ Linux shell scripting, HTML, CSS, Javascript, MySQL
2008 MSc Computing Science, PHP, Prolog, C#, Visual Basic, published Learning Through Performance Feedback from Computer Simulation
2012 JQuery
2013 Founded Starbird Digital
2015 Mobile CSS
2016 HTML5 Video, Arduino, founded Automated Teaching Machines, published The Free Science Revision Guide
2018 C++, Python, Raspberry Pi security robot, published The Free C++ Advanced Concepts Guide, published Create your own Website using the easy SDCMS, published my first https secure websites.
2019 Ruby, Ruby on Rails