Atelier Clockwork

Functional > Object-Oriented > Procedural

Following the March of Progress

Every industry changes over time, software development just changes faster than most. The stranger thing is that most of the ideas that come into common usage in day to day application development aren’t necessarily new. It feels like almost every style or practice was outlined somewhere between the 50’s and 60’s, but were used in academia or very specific settings until some sort of tipping point.

I’ve only done Procedural programming either in school or testing out simple hobby programs. I’m by far most comfortable with Object Oriented programming, both because I’ve used it the most and the model for working with state there makes sense to me. I build objects, give them abilities and attributes, then I pass them around.

With the announcement of Swift, I’m suddenly hearing a lot about Functional programming. Functional programming seems to require a lot of language features, especially generics and strong typing, to really work, but I’m very interested in giving it a try. I doubt I’ll be moving to a “pure” functional style anytime soon, but at the very least I’m hoping it be yet another way to eke out more code re-use and fewer lines per project.