Programming Languages
This time I want to dedicate the opening of the last 2 weeks’ highlights to programming languages in general. Why? Because I had a chance to attend the Chicago Chapter of the ACM presentation with Ola Bini on Ioke. Programming languages are a business domain exactly like banking or insurance with the difference that the “business analysts” is a programmer by definition. For some reason I didn’t pay too much attention in the past to this business domain and I was wrong. Shame on me. I came to the conclusion that learning about compilers, optimizations, expressivity, AST, interpretation and so on is vital to the life of a programmer. Of course you don’t need to be able to create your own language, but you should know what we are talking about. Back to the presentation: I think Ola was giving his best. Of course Ioke is Ola’s little kid, who wouldn’t be thrilled to talk about it? Sure enough the talk is about the language, but there are interesting cross-language considerations. I realized how specific is the domain of languages, it really requires you to be into it to understand everything. For this reason, Ioke is a good teaching language because it’s all about language theory than for example, performances or concurrency. Final note: stating that all other languages are crap is not fair, even from the point of view of expressiveness which is subjective matter. If expressiveness of a language is the deviation from the idea you have in mind and what actually can be coded, then also Ioke is crap to someone who of doesn’t think the same as Ola.
Other interesting topics includes:
The Java Posse - Staffing Agile Teams… Interesting panel. I think Barry Hawkins is the chair master (http://www.yepthatsme.com/) and he’s the one saying the most interesting things. Overall the talk illustrates different personality types for agile programmers and what to search for to staff agile teams. Sometimes is necessary to turn down awesome skilled people if they don’t fit into the team. For example ability to cooperate must be just the right level: humility is important as well as not over-cooperate (questioning too much about team choices instead of having things done). Prefer people you need to bring up to speed in 3/4 weeks instead of skilled people that you can’t unlearn if they are assholes. Inefficiencies of the interviewing process can be exploited by contracting to hire. Problems are a certain kind of super-stars: they give the illusion f productivity creating unnecessary complexity that they only can understand. Sometimes you just need some more courage to let go people that are not a good fit.
Ari Zilka on Terracotta’s VMware integration… Again on Terracotta. In this episode there are again interesting solutions to remember. Terracotta partnered with VMWare to distribute enterprise Java applications in VMs. The side effect is the one click provisioning model, where instead of the tarball you install an image that freezes completely the environment so you don’t need to fight with compatibilities issues. It also turns out that multiple instances of the same app running on the same big server is a better hardware optimization than having the same instances running on different physical hardware. So instead of 100 servers, maybe you have only 20 running 5 VMs each with the same image. Now this has nothing to do with Terracotta in specific, it’s just their actual selling pitch. The Ruby hosting world has indeed moved to the same model, calling them slices, dynos, nodes and so on.
The Web 2.0 Show - Episode 19 - David Heinemeier Hansson… Once again I enjoyed listening to the story of DHH and 37Signals flagship products. This time I heard a little more about the personal history starting from the 2000 or around. It’s inspiring and motivational. The idea I got about the success of Rails is that is based on pure execution, that is, given a technology that doesn’t get in your way and an idea on how to improve a bit the quality of life, a pragmatic approach makes it a success no matter what. Doh, sure that is a known fact, but VCs and the Valley style pushes to another direction. DHH gives a good reason why it’s time to start a software business: it requires just your time, the hardware is cheap, an office is less important when the network enables distributed collaboration easily. In other word, you don’t need a huge investment to start with, just 3 months of your nights and weekend. Of course is not easy, but at least you know that depends just on you.
1 week ago