Why Programming Languages

Why Programming Languages? When I present my research work on programming languages, people often ask me “why do you need a new programming language to solve this problem? Why not just implement it as a library?” Or, I get asked “why didn’t you implement it as an extension to {some existing language}?” In this essayContinue reading “Why Programming Languages”

Google and Design

User interaction design is possibly one of the [most difficult parts of software engineering](http://www.amazon.com/gp/product/0672326140/ref=as_li_tf_tl?ie=UTF8&tag=sta080-20&linkCode=as2&camp=217145&creative=399369&creativeASIN=0672326140) . It is also an aspect that has not been the strong point of Google. Google’s strength is in its culture of algorithms and data analysis. The way to win an argument at Google it to _prove_ the other wrong withContinue reading “Google and Design”

Keyword Arguments

Brian Carper blogs about keyword arguments in Ruby, Clojure and Common Lisp: Why are keyword arguments good? You can omit arguments. You can supply arguments in an arbitrary order. Arguments are labeled, so you know what argument means what. Positional arguments require mentally lining up the 7th argument in your function call with the 7thContinue reading “Keyword Arguments”

Are Web Apps An Insult To Users?

Web apps vs. native apps for mobile — this appears to be what everybody is talking about these days. I think native apps currently provide the best user experience, don’t you? As a user, given the choice between a web app and native app, which one would you pick? Unless you signed your life away to theContinue reading “Are Web Apps An Insult To Users?”