You are here

Programming

For the love of... Javascript!!? (or nostalgic musings of a polyglot)

Javascript. I wouldn't have thought that a language that pretty much threw out all of the rules of good language design would come to occupy a place in my heart, standing with the likes of romances with C++. But then we do live in strange times. I started my career like many other computer programmers of my time in the C/C++ era. I mastered my pointers. I mastered pointers to pointers. I mastered pointers to arrays. I mastered pointers to arrays of pointers. How many stars is that, f***? But then the world changed.

Designing complex webapps in the real world

A "webapp" short for web application is a computer application that works over the internet in the Internet browser. It does not require installation of any software except for the Internet browser itself. Web applications are a relatively new concept. There are some popular webapps around, the most well known are perhaps Facebook and Flickr and lesser known Trello. The success of these webapps has prompted some companies to attempt to convert their traditional client only or client-server applications into webapps. But writing webapps can be far more challenging than writing traditional client only or client-server applications. So before you start take a look at these gotchas and ensure you are well prepared for them.

The Pitfalls of Using Default Function Parameters in C++

C++ (not C) has a convenience feature that allows programmers to specify default parameters on functions when declaring them. The compiler uses the default value if no value is supplied by the caller for that parameter, instead of complaining about a missing parameter value. I am not going to discuss the mechanics of declaring these default parameters; any C++ book will explain this. I’m going to delve into what problems happen over time when using default parameters during software maintenance phase as code ages and changes hands between programmers.

Using the C++ #define Directive

The #define directive in C++ is usually glossed over in most books that attempt to teach the C++ language. It obviously takes much lower precedence than more important language constructs like if and switch. However this directive deserves far more credit than it gets. Here are some of the feats this directive can perform.

Programmers and Pointers

It seems that when it comes to programming computers there is no escaping the mention of the word pointers. Recent programming language trend is to automatically handle pointers, hiding gory details from the programmer. While this might be a good language feature, will it eventually result in a new generation of programmers who do not understand pointers?