These are the programming languages I am using or that I have used in the past. For the languages I can speak, please refer to this article.

There are hundreds of languages in the computer world. I have been practicing quite a few and I develop a sense of software development. Languages just became a tool to me and now, I am just using those tools with higher goals in mind. Whatever the language I use, my developments are now driven by maintainability, readability and reusability. At some point the code I write will have to be tested and retested, I am trying to make sure that, whatever the language I use, the code I am creating will survive the evolutions of the product... unless, unless it is planned to be used once.

Assembly

Like probably many people from my generation, I wrote machine code for 6809 using a hex keyboard to insert instructions. At some point you get a feel for it and type in directly the hex value of the instruction without having to search for it in the list of mnemonics. I have wrote and debug applications at assembly level for various microprocessors: MC68000, i80186, arm7 and more that I have forget the name.

 

Ada

Ada used to be my favorite language as it is the only language was that developed to the readable by a human and to be an ISO standard. It was the result of a quest for the best language I should learn above all.

I had developed small parsers for my own usage using Ada 95. When I was a freelance, I have been contracted to review some Ada code for space probes or embedded devices in commercial aircrafts.

I also used IBM Rational TestRealtime on Ada code. And I wrote an Ada TDP for IBM Rational TestRealtime.

Knowing Ada made it simple for me when I encountered some VHDL code.

C

Many years of practice in C language. I used C in several circumstances:

  • development
  • testing
  • review

C is the language I encounter the most when dealing with embedded devices or when doing multitasking (POSIX).

I have worked on project where I had to integrate assembly code with object code from C, hence I am totally familiar with building C applications.

C++

I trained myself on C++ but got less usage than C language. 

  • development
  • testing
  • trained people
Pascal

I never really trained on Pascal language. But was not very surprised by the language, it came naturally. I had to do maintenance on application written in Pascal for the aeronautic industry.

SGML/XML

Electronic documentation used to be a center of interest for me and I naturally encounter SGML (Standard Generalized Markup Language). A language to describe languages. It was difficult to find parsers and I had to write some but when I was a freelance, I created SGML instances for my documents: my accounting documents and the trainings I wrote.

My website was created using another instance of SGML: Docbook. 

A few years ago, a simplified instance became popular: XML.

HTML

Of course, for writing some websites. From HTML 2.0 until HTML 5. But I am happy to have found CMS to do most of the job. I can focus on customizations now.

Javascript

I used to do some Javascript to add some features to website but I am using it daily since my job lead me to ServiceNow.

Python

I am using Python on my personal project of 'Internet of Building'. Python is used on a Raspberry pi running Linux and FreeBSD. Those devices are performing monitoring activities and I use Python in combination with Shell scripts to treat the data.

I also use Python to script Blender (a 3D creation application I use for video editing). 

Perl

Before PHP became popular, the logic in the backend of my web servers were written in Perl. I did a lot of scripting for online clients.

I also wrote and gave a training on Perl using the Perl/Tk toolkit.

 

PHP

I came to PHP when I started to use CMS like Wordpress and Joomla. The site you are browsing on in running Joomla, a combination of HTML, Javascript and PHP.  I am using a commercial template in which I had to customize the HTML and the PHP.

 

Grafcet (EN 60848)

This is a graphical language similar to Petri network. It is used in industry to program PLC used to automate productions plants.