• Category Archives
  • Best Practice
  • 10 Posts

Working with files in the D programming language

The inspiration for this article was one written a few weeks ago entitled Working with Files in Go. In that article the author details numerous ways of interacting with files highlighting the capabilities of Go. I thought I would write a companion piece, this time detailing how to interact with files using the D programming language. Interacting with files is a fundamental task of any programming language and while such tasks are commonplace, it’s not entirely obvious how to achieve certain file related tasks using D. Hopefully this article will change that and show the simplicity and power of the D language when working with files.

Stop abusing arrays in PHP

This is an issue i’ve wanted to get of my chest for a long time. It’s been latently brewing inside me for a considerable amount of time and it’s starting to come to a head. The issue is with PHP and the total abuse of arrays. Whether this issue is an artifact of the language’s historical baggage or because PHP just attracts a lot of inexperienced developers is up for debate. My problem here is that arrays are nearly always used where objects should be!

Alternative function syntax in D explained

This is an extension article to Templates in D explained where i introduce the alternative function syntax and how it complements template usage. This article will expand a little more on that syntax and make clear what is available in D and why.

An alternative syntax has not been included by accident but by design and as a result can potentially make code more complicated to understand and add more friction to first learning the language. This particular trade off, i believe is worth it, enabling particular features when using different paradigms.

Templates in D explained

Let’s get one thing straight from the outset, template metaprogramming scares the hell out of most developers! I have no idea why, probably because it simply sounds scary? Whatever the reason, many developers shy away from even learning about such techniques, let alone use them. This is such a shame because templates offer a superb tool for programming at a higher level of abstraction which is something that can aid in better program design.

Even though many programming languages support template metaprogramming this article is about using templates in D. D is one of the best languages i have ever used and the more i use it the more i realise it’s getting everything just right. Hopefully this article will remove the above fear and educate developers on what can be achieved.

Forget currying, use partial application

I’m currently reading more about advanced JavaScript design patterns and an interesting concept i’ve come across a lot is Currying and Partial Application. For years i’ve used partial application but not known its name or how it can be used to its fullest, so it was a pleasant surprise to read more and fully understand it. Currying on the other hand is partial application’s more serious cousin and something i’ve never really used. Here follows the differences and why they may or may not be useful.

Fear of contributing to open source software

I’m currently considering contributing to an open source software project and while i feel i could make a worthwhile effort i’ve always had fears about doing so. In this article i’ll explain these fears perhaps because other developers may feel the same. Then later, i’ll try and come up with some solutions. So lets get started listing the main issues i have.

Why you should use revision control

Revision control is a little like insurance. You never see the value of it until you actually need it. Some programmers never touch it, while others swear by it. Revision control does contribute huge benefits while also introducing a small overhead on project management. I personally feel every project ever developed should always be placed under such a management system and here’s why.

Does branding matter for software?

Steve Yegge presents his keynote: How to Ignore Marketing and Become Irrelevant in Two Easy Steps. From O’Reilly Media’s Open Source Convention, July 26, 2007.

This is one of the best software talks i’ve seen which deals with the problem of software branding. Give it a watch and then ask yourself, does your software project need to worry about branding?