It will be hard to beat ML because ML sits in a kind of sweet spot; make it a little bit better in one aspect, and you give something up in another. I can think of two ways in which this is true. The first has to do with the expressiveness of the type system.
The second way in which ML is in a sweet spot has to do with the execution strategy.
ML is hardly perfect. But it’s such a nice compromise that it’s going to take a real leap forward on the research side to definitively surpass it.
I love that last sentence. To be excellent at something, one must usually make a sacrifice somewhere else. Time is limited, so there is a benefit to choosing a focus.
Ocaml is aware of this. They understand the rest of the programming world well and chose what they needed and put off the stuff they didn’t. And the end result appears to be an amazing success.
This is an old post from 2008. You see Ron focusing on his peers, the Haskell community, instead of bringing new programmers to Ocaml. He has become very good at bringing in new programmers since this post. For example, he wrote this book.
I can be introverted. Sometimes really introverted. Sometimes I’m the total opposite.
I tend to go inward when I’m thinking hard on things. i get quiet and kinda hyperthink. This also has the effect of super charging everything else I think about. It feels like the ants weigh more than the elephants and I’m sprinting from thought to thought. I don’t even pay attention to what my eyes are doing, which is weird, but there you have it.
And lately, I’ve been thinking about iOS a lot. In some ways, it’s different from anything I’ve used before, and in others ways it’s familiar. I woke up with some of these thoughts. Carried em around while I drank my coffee this morning. Brought em to the subway too.
Meanwhile, I’ve been on a Foo Fighters binge, so I was listening to them on the subway and thinking about iOS. In particular, I was wondering about where I’ve gone wrong in learning some things and what I could say to new iOS programmers to share the lessons.
This song came on and I listened to Grohl sing about feeling out of place, reflecting on all the things he’s done over the years. Every direction leads me away. Yeah man… All these ios programming blogs are full of crap. They’re leading me astray. Pray for tomorrow, but for today. I know, I feel behind. I need to focus. All I want, is to be home. Why can’t I churn this code out yet? CMON James.
My mind wandered around, thinking about all the things I’ve learned, comparing that to things I know and faded memories of things I’ve known, and then I heard Grohl say, “echos and silence, patience and grace”.
And when I heard those words, I somehow also thought, “James… just accept that building for Apple requires a way of thinking you’ve never done before”. The somber tone of the song helped me think in an exasperated manner that allowed me to admit that my open source nature just doesn’t work on iOS.
There is little point to open source because apple basically made all the decisions already. They chose the language. They built the phone. They built the API’s. They chose the database. They gave you the ORM. They built an MVC system for constructing apps. They even built a system for drawing interfaces. Apple is walled gardens the whole way down.
As I mentioned, I turn inward when I’m thinking. I did that kinda hard last week as I started to realize some of these opinions. But it was while on the subway this morning that I realized I had basically wasted a lot of time by even looking at the open source world for tips and tricks for iOS.
I mentioned some of these thoughts at the morning standup at VHX. Chad (one of the incredible designers at VHX) later mentioned that he had known many iOS programmers who operated likes islands.
As I considered what this meant, I started to realize that iOS represents a friendly, almost confrontation free zone. An introvert’s paradise. There isn’t much reason to interact with anyone, let alone a community of developers with diverse opinions.
It’s not what I’m used to, so I can’t call it home, but it’s where I’m putting my head down for a while; on my iPillow.