Category Archives: Programming languages

Bob Ippolito: What can Python learn from Haskell?

Python is an established, widely used programming language, Haskell, for all of its innovations, is still a fairly niche language — and, unlike Python, it’s also compiled and functional. Nevertheless, in this talk, Bob Ippolito tells Python developers that Haskell has a lot to teach Python — particularly in the area of type checking as a way to ensure that programs won’t encounter surprising runtime errors.

Rich Hickey and Brian Beckman: Inside Clojure

Clojure is a modern Lisp that runs on the JVM. In this interview, Clojure’s inventor Rich Hickey is interviewed by software industry veteran Brian Beckman about Clojure’s origins, ideas, and concurrency. This is a great introduction to Clojure, if you are new to it, if you want to understand its origins and design goals.

Robert Martin: What Killed Smalltalk Could Kill Ruby, Too

Everyone talks about Smalltalk in reverent tones, but not too many people actually use it. Why not? Why aren’t there lots of people using Smalltalk nowadays? And what can we learn from this, to ensure that Ruby continues to be popular? In this talk, Bob Martin describes (starting with the beginning of the universe) the reasons why Smalltalk never caught on massively, and what the Ruby community can do to ensure that it doesn’t happen there, too.

John Feminella: Why We Can’t Have Nice Things — Unicode, Dates, and Names

Programs are neat, and the world is messy. When we try to use software to model the real world, there is an inevitable clash. In this talk, John Feminella points to three things that are messy in real life — and that are even messier when you try to deal with them inside of your program. These things are character sets, time zones, and people’s names.  His examples are in Ruby, but the problems he’s describing are universal across programming languages.

Scott Hanselman: Virtual Machines, JavaScript and Assembler

It has often been said that JavaScript is becoming the “assembly language of the Internet” — a language that people program in, but also the target for many languages. This also means, to some degree, that we can think of JavaScript — and the browsers in which it runs — as virtual machines. How do these ideas fit together, and what do they mean for the future of the Web, and of computing? Scott Hanselman discussed these in his keynote talk at the Fluent conference in 2014.

Mary Rose Cook: Writing a Lisp interpreter in JavaScript

A classic exercise in introductory computer science courses is to build your own Lisp interpreter. Doing so not only gives you an understanding of how the language is built, but of how programming languages are generally built — and it also demonstrates that languages are often the sum of many simple ideas and parts. In this talk, Mary Rose Cook creates a Lisp interpreter using JavaScript, such that it runs in the browser. If you have always wondered how programming languages work, this is a great way to see it done — in a language that’s available to all of us.

Yukihiro Matsumoto (Matz): mRuby

Lately, Matz (the inventor of Ruby) has been focusing, like many people in the technical world, on mobile devices. How can Ruby be used to program in an increasingly mobile world? The answer is mRuby, a mobile-oriented version of Ruby, on which Matz and others are working. In this talk, Matz introduces mRuby, and describes his considerations and thoughts on the topic. What is truly crucial to keep in the language, and what can be left out?

David Beazley: Python 3 Metaprogramming

Python 3 was released more than five years ago — and yet, most Python developers are still using version 2.x of the language. In this talk, well-known Python author, lecturer, and contributor David Beazley demonstrates one of the advantages of Python 3 that isn’t often discussed: The degree to which metaprogramming (i.e., writing programs that write programs) is possible. The entertaining three-hour talk introduces metaprogramming concepts, along with many examples of when and why you would want to use these techniques.

Lea Verou: Demystifying Regular Expressions

Regular expressions are a great way to identify patterns in text. However, the syntax of regular expressions has long mystified (or infuriated) many programmers. In this talk, Lea Verou introduces regular expressions, showing their syntax, but also how and when you would want to use regular expressions.   If regular expressions have scared you in the past, then this talk will provide you with a gentle introduction.