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