Highly Strung: Understanding your Type System


Highly Strung: Understanding your Type System

Strings suck. I mean, seriously, they’re awful. They can be quite literally anything. How do you know what a string is? Look inside it. But first, run your program, because you can’t look inside it until then.

Want to change the way a string behaves? OK, go change all the functions that deal with that string. How do you know which functions? Well, it could be any of them. Better go fix them all.

Say you’ve got two strings. We want one string out. So we can stick them together with the + operator! Except wait, one of them is SQL (or HTML, or JavaScript, or…). So better escape the other one first! Which one? Probably the second one. It’s usually the second one.


Let’s do this better. I want to talk to you about using your type system to make all these problems go away (at least from the core of your code), and as a bonus, we’ll end up with much more expressive, readable, maintainable and most importantly, correct code.

Speaker: Samir Talwar

Samir Talwar is an expert in all programming disciplines, including, but not limited to:

  • dysfunctional,
  • objectifying,
  • argumentative,
  • illogical,
  • headache-oriented architecture,
  • fragile software, and

bullet points.

He has received several awards in the field of software design and development, and has been praised endlessly by critics. One 22-year old colleague stated he was “hands-down the most bearded developer he’d ever seen”. Clients refer to him as “Oh, it’s you again”. When his superiors were asked to comment, they showered him with compliments such as “Who the hell is Samir?”