An ageing coder tackles his ageing code

Owen Campbell @opcampbell slides - http://www.owencampbell.me.uk/docs/djangocon2015.pdf

https://github.com/meatballs

Ageing Coder

  • Learnt on ZX81 - 1kB memory, Z80 assembly language, no permanent storage
  • Storage on cassette tape
  • Made a space invader move from left to right
  • Moved onto Acorn BBC Micro - 32 kB memory, BASIC - a high level language
  • Draw random squares - teacher complains most are diamonds - understand requirements
  • University - FORTRAN 77 - another high level language
  • deliver code to mainframe
  • now used many many languages and technologies

Ageing Code

  • accounting system - built to try “innovative databases”
  • written in Lotus Approach
  • system moved to MS Access
  • converted to MS SQL Server with .NET client
  • change because
    • SQL Server license cost
    • Windows development environment, and Windows VM

Way Forward

  • wanted web app -> framework
  • started with Ruby and Rails (as experienced it already)
    • only ever started from scratch with Rails - but this time needed to use existing database and Rails made it hard
  • then tried JS and node.js
    • hate JS (emotional response)
  • Scala and Play framework - heard about it
    • Scala language is a thing of beauty
    • Play framework was OK, but it’s young, and libraries and tools weren’t there so would have to start from scratch
  • Python and Django
    • was able to build stuff fairly quickly
    • Postgres, Django REST Framework
    • Logic as Django/DRF code (previously logic was in SQL Server stored procedures)
    • angular JS UI, coffeescript, UI served separately
  • modular application
  • all built on open source
  • kept original database design

Table Of Contents

Previous topic

Hypothesis, randomised testing for Django

Next topic

Lookups, Transforms and Expressions

This Page