Time to dig into Scala

I’ve been putting it off for a while, but I think it’s time to get the Scala plugin for Eclipse installed and start to work through some tutorials to see what the buzz is about Scala. In particular I’m interested to see what approach the Lift framework takes for building webapps, and how this compares with the endless list of webapp frameworks we have in Java-land.

There’s been a lot of stirring recently regarding replacements for Java – the trouble is, so many enterprises have major investments in Java based systems at this point. Java (the language) will not go away any time soon. The change that’s about to happen is that I think alternatives to the Java language are on the cusp of being realistic alternatives for new development projects – Ruby, JRuby, Scala etc.

Programming languages are an interesting thing when it comes to making a choice which to use for a new project. For small projects with a small development team (<5 developers) the choice is less about finding resources who have experience in language XYZ, it’s more important to think about what resources you’ll have around in the future who have experience with obscure language XYZ which the 2 man developer team originally chose because they read some article about it and it sounded cool at the time.

For larger development efforts, if you’re staffing a 100 developer team it’s obviously more important initially to pick a language for which you can find 100 developers that have experience in that language. At this point, Java is obviously a natural choice since you can easily find plenty of Java developers in most metropolitan areas. I challenge you to find 100 Scala developers in any city who are available to start a new project next week. That’s going to be a tough challenge for your recruiting team.

I can remember around 1996 when Java first started to get attention as a ‘language for the Web’ that at the time it was an interesting curiosity but definitely not a language you’d pick to use on a new development project. It took a couple more years before it matured and started to see more use on the server-side rather than for web page front ends using Applets. At this point in time, Java has been called ‘the new COBOL’. You’ll face little or no resistance if you recommend a Java-based solution for a new web-based enterprise system (unless you’re already a Microsoft shop in which case you be using C# and .NET etc).

The interesting thing about Ruby and Scala is that as languages they’re both already been around for years. Scala takes an interesting approach in that it capitalizes on the years of investment developing and refining the JVM platform, and then takes a blend of OO features and syntax from Java and mixes in some Functional style programming. Whereas Java took the good parts of C++ and left out some of the not-so-good features, Scala seems to be going down the same path for the evolution of Java – takes some good features, leaves out not-so-good stuff (static properties, primitives, non-OO features), and then builds upon it, and adds Functional language features too.

I still think it’s too early for Scala to be recommended for a large scale development project (namely because of the lack of developers with Scala experience), but it will be interesting to see in the next few years whether it starts to make inroads and take over from Java.

Why for me the AT&T buyout of T-Mobile means I’ll cancel my contract as soon as I can

AT&T and T-Mobile US announced this week that AT&T will be buying T-Mobile US from Deutsche Telekom for $39 billion. This seems like great news for AT&T since they’ll benefit from T-Mobile’s existing network, but everything to lose for existing T-Mobile customers. In no particular order, here’s why:

  • AT&T will become the only GSM based mobile carrier in the US. If one of your criteria is to buy a phone that allows you to easily roam on another networks worldwide and easily swap SIM cards, then your only option will be with AT&T. Sprint apparently offer some CDMA/GSM dual technology phones, but since their US network is CDMA, they don’t have many of the dual phones on offer.
  • Find me one AT&T customer (past or present) who says they love AT&T’s customer service. I’ve been with T-Mobile for over 4 years and every interaction with them has been awesome, either in person or over the phone.
  • Find me one AT&T customer who will tell you that AT&Ts coverage is great
  • Find me one AT&T customer who will tell that they’ve never had a dropped call. From memory I think I may have had one dropped call once on T-Mobile, but I can’t honestly remember (any AT&T customer reading that will probably raise their eyebrows at this point. “Huh? Really? I get a dropped call at least once a day”
  • Compare T-Mobile’s plans with AT&T. My current plan on T-Mobile with unlimited data (throttled at 5GB), unlimited texts, 1500 anytime minutes, free nights and weekends is $65. I just looked at AT&T’s site and the equivalent  options to get me anything close to the service I currently get with T-Mobile (900 mins, unlimited texts, 4GB data capped) will cost me $130 a month. That’s almost TWICE what I currently pay. No thankyou.

So, I plan to stay with the merged company for as long as my current contract is in play and I get the same service for the same cost, but as soon as anything starts changing to the service or my plan to get rolled onto an AT&T equivalent then I’ll be looking to terminate my contract. I have no plan whatsoever so pay $120 a month for what I currently get. No thankyou AT&T.

Macs – not just for content creators anymore

The interesting thing about Apple’s focus on iOS development, the iPhone and the iPad is that the focus and push on these devices is clearly focused at ‘content consumption’ and not ‘content creation’ that Macs have been traditionally known for.

Think back over the years, the Mac as a desktop computer has always been known as ‘the’ choice for content creation, especially media rich content. Now they’ve got both sides of the equation covered, and have devices for content creators and content consumers.

Given the overwhelming success in sales of the iPhone and the iPad, I wonder whether internally Apple is thinking that their future is more focused on new content consumption type devices like the iPad, or if they will consciously keep their foot on both sides of the fence and cater for both types of consumer?