Code Generation

Using AjGenesis for Ruby

Created by @ajlopez

https://github.com/ajlopez/Talks/RubyCodeGeneration

Using reveal.js

Programming and History

  • Many programming languages (Python, Java, Ruby, C#, ...)
  • Many libraries and frameworks
  • Many technologies (SQL, NoSQL, ...)
  • Many interfaces (desktop, web, mobile, ...)

But many applications are the same

Raise the Level of Abstractions

Models and Applications

AjGenesis

AjGenesis

http://ajgenesis.codeplex.com/ https://github.com/ajlopez/AjGenesis
  • Original project in .NET
  • Code Generation FROM A MODEL
  • Ported to Node.js
  • Ported to Ruby
https://github.com/ajlopez/AjGenesisNode https://github.com/ajlopez/AjGenesisRuby

Pillars

  • Free model(s) (from files to memory)
  • Task (using dynamic language, ie Ruby)
  • Templates (using dynamic language, ie Ruby)

Simple Demo

Ideas

  • Expert System
  • Agents
  • Code Generation as a Service

THE END

BY Angel 'Java' Lopez / www.ajlopez.com / @ajlopez