Djangocon: An ageing coder tackles his ageing code - Owen Campbell

Tags: django, djangocon

(One of the summaries of a talk at the 2015 Djangocon EU conference).

Owen Campbell himself is the ageing coder he talks about. He picked the title because he qualified for early bird tickets because of his age :-)

His experience started at age 11 with a 1kB synclair ZX81 that you could only program in z80 assembly language. Storage? Cassette tapes.

In university he did assembly programming on the 8086 and 86000. And for an extra course he did Fortran, a “high level language” which meant submitting code to the mainframe and getting a print back that you missed a comma. Please re-submit.

He showed an impressive list of programming languages he used in all those years.

For his own company he needed an accounting system. He re-used an older Lotus project and re-did it in microsoft access. Later he moved it to MSSQL server and a dotnet frontend. All in all it ran well for 15 years. But he got enough of the server license costs and the microsoft development environment.

That accounting system is the “old code” from the title. He wanted to convert it to a web app. He started out with Ruby & Rails. He had quite some experience with it.

He hit a brick wall instantly. Rails is very opinionated. Which works fine when you start a new project and buy into the opinions. But for an existing project with existing data models… Rails’ opinion of that was low.

So he looked further. nodejs+javascript looked nice, but working for months with javascript: that would have been horrible.

Then he looked at Scala and Play. Nice language, reasonable web framework. But there are hardly any libraries, so he would need to build most of it himself.

He then looked at python and django. Not too opinionated. The admin was easy to set up. It worked fine.

  • He moved from MSSQL to postgres. The business logic was originally in MSSQL as stored procedures. Those are now moved in django itself.

  • Django rest framework and a front end with Angularjs. He used angularjs because he wanted to get to know it because a customer used it for something and he didn’t know it yet. To avoid javascript he uses coffeescript.

What did he get out of it?

  • A nicely structured modular application.

  • It is entirely open source.

  • He still uses his original database design. That’s a point of pride for him, that his original database design is still being used after 15 year and will continue to be used.

Holiday picture from the Eifel region
 
vanrees.org logo

Reinout van Rees

My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.

Weblog feeds

Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):