Things I Know Quite Well

Languages & Systems

C++ (& C)

Bjarne Stroustrup's (Designer of the C++ Language) Web Page on C++

C++ is a general purpose programming language with specific object-oriented programming features and a useful standard library.  C++ is the programming language I’ve used the most and am most comfortable with.  I’ve also written programs using the C language.

Java SE 1.5 Technology

A general purpose programming language promoted for it’s platform-independent nature.  It features a comprehensive base library. 1.5 is the version of the JDK bundle that was required for use at RMIT during my studies.

UML

The UML® Specification

The UML (Unified Modeling Language®) specification presents a general purpose pictorial modelling language with a strong orientation towards software systems.  Use of the language it defines was taught and encouraged during  my university studies.  I now use it regularly in my personal projects and I’m fairly well acquainted with the related official references, user guide and specifications.

XML

Visit the W3C Website Homepage.

I’ve used several applications of XML (eXtensible Markup Language) (some of them internally developed) for encoding data for engineering models to be used in simulation  environments.  The team I worked with developed an interpreter that uses Xerxes, an open-source XML parser library for C++, to parse the documents.

Software Systems & Packages

Eclipse™ with Eclipse C/C++ Development Tools™ (CDT™) 

The Eclipse Project Website Homepage™    Eclipse is a software application platform best known as being used to provide a full-featured Integrated Development Environment (IDE) for the Java platform.  There are a huge number of extensions for the platform, including the CDT which provides functionality that converts Eclipse to a C/C++ IDE. I’ve used the Eclipse IDE with CDT for most of my software development (both with Java and C++) combined with the Cygwin and MinGW flavours of GCC.  Usually these  projects have made use of the built in CVS client.

GCC (MinGW/Cygwin)

GCC is The GNU Compiler Collection.  For better or for worse, the C++ compiler(s) (g++) I’ve spent the most time using.

MinGW

MinGW is the result of a project to allow the compilation of Microsoft Windows® native binaries using a GNU build toolchain. I’ve used the MinGW version of gcc for most of my compilation of C++ code.

Cygwin

Cygwin provides a POSIX® standard-like environment for Microsoft Windows. I’ve set-up and reconfigured Cygwin-based development environments quite a few times on both Windows XP® and Windows 7® operating systems.

Qt™ Framework

The Qt framework is an excellent cross-platform C++ application and user interface development framework. I’ve had experience with Qt for a number of years.  I have Qt4 set-up on my development machines in order to provide GUIs to my C++ projects.

MATLAB® 2009b/2010a Software Package

The MATLAB software package is mathematical (specifically, matrix) calculation program oriented towards scientific and engineering calculations. The base environment support a wide range of add-ons and spin-off products (such as Simulink).  I’ve used MATLAB software extensively since my undergraduate days for engineering calculations and rapid development of engineering calcualtion programs.

Visual Paradigm for UML® Modelling Tool

The Visual Paradigm for UML package is a modelling tool with comprehensive support for the UML specification.  It’s heavyweight, but the best full-featured UML-based software modelling tool I’ve come across. I’ve built several comprehensive problem and solution domain software models using from which I’ve created a great many class, sequence, activity, component and use case diagrams.

CVS

CVS (Concurrent Versions System) is a tool for managing concurrent versions of files with an orientation towards source code storage, distribution and and management.  I’ve used it in a professional context and for personal projects.  Not the newest or the best, but it’s still functional.  I run the server on a separate machine to my workstation at home.

Doxygen

Doxygen is a documentation generator primarily intended for generating documentation from comments within source code. I’ve used it for code documentation of C++ projects at my previous workplace and for my personal projects.

Boost Test

The Boost Test Library (Boost Test) is the testing framework component of the Boost C++ libriaries. This is my current C++ unit testing framework of choice, mainly because of its association with Boost.

 

Google C++ Mocking Framework

This is Google’s C++ mocking framework. It’s my current C++ unit mocking framework of choice for its compatibility with Boost Test and for its generally high-quality approach.  It’s also well documented.

MediaWiki® Wiki Software, SMW+ Software & Many Other MediaWiki Extensions

The MediaWiki package is the PHP-based wiki software that runs the WikiPedia® website.  I run my own personal web server on which I run my own MediaWiki-powered semantic wiki for writing, documenting and planning.  I’ve spent quite some time setting up the semantic features, which offer some very interesting possibilities for organising data and information.

Advertisements
Comments are closed.