Ilnar Salimzianov's Personal Site


The Great Ideas of the Software World, or the Lessons Learned in Software

First published: 18 Mar 2020. Last update: 23 Jul 2025

  1. Domain-specific languages should be embedded. In practice, this means that you should be able to, either: have code written in a DSL inside of a non-DSL code, or, equivalently, be able to write and invoke non-DSL code in a file with DSL code.
  2. Gradual Typing is the Right Way (TM) [2]
  3. Programming should be taught in special pedagogical programming languages rather than 'industrial' ones.

Footnotes

  1. Only partially true, because you can actually access arbitrary Python functions out of Jinja2 as described here.
  2. https://dropbox.tech/application/our-journey-to-type-checking-4-million-lines-of-python

Home | Resume | Projects | Publications | Talks | Reading log | Movies log | Now | Email