HN user

odersky

48 karma
Posts0
Comments7
View on HN
No posts found.

I was the co-author of Turbo Modula-2 for CP/M. It was quite a capable system to fit in less than 64K. Great memories.

At the time Borland intended to develop their own version of Modula-2 for IBM PC, so they bought ours as a complement for the CP/M versions they were still covering. But the in-house version got delayed a lot. It was eventually released as Topspeed Modula-2 several years later, from a spinoff. If Borland had let us also do the IBM-PC version in around 1984, maybe history would have changed and Modula-2 would have become more popular.

The blog post and tweets seem to say the Scala community only cares about fancy language stuff and not about the developer experience. Nothing could be further from the truth. Take Typesafe for example. We have three full time engineers on staff to improve the Scala IDE for Eclipse. We made a lot of progress and are continuing to do so. Nobody pays us for any of that; we do it because we know that IDE experience is crucial for Scala developers. Typesafe is just one company and it cannot pour unlimited resources into all aspects of Scala development, so we need to rely on the community for that. And the community does step up to the task. One of the criticism was on documentation. I wonder whether people have recently looked at http://docs.scala-lang.org/ ? In my mind, that's community-driven development at its best!

Why macros? I was a long-time sceptic. I now tend to think about them differently because I believe we hit on a brilliantly simple scheme that can express a lot of different use-cases. In particular we'll be able to do the analogue of Microsoft's LINQ with macros. And we can express optimizations such as turning foreach applications into while loops. And we can remove a lot of compiler plugins. And finally it looks like we can remove down the road several special cases in the language and the compiler. So macros might pay for their own complexity handily. But I should also say that at present this is a SIP, a Scala Improvement _Proposal_. It's not yet accepted. And part of the current proposal is also that macros will be enabled only under a special compiler flag.