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