Aug. 25th, 2010

jducoeur: (Default)
I'm gradually catching up on my tech blogs from Pennsic. Remarkable the things one misses while away:

On the one hand, there's the Net Neutrality mess, as Google caves on a point they've been arguing as a matter of principle for ages, and the wireless providers using that as evidence that NN is a bad idea. They're saying it's a necessary compromise, not a business decision -- but really, this smells very much like inter-company horse-trading. It certainly fails the "appearance of impropriety" test to me.

Then, Google gets to be on the receiving side of (for my money) an even bigger evil: Oracle suing them for using Java in Android. The one silver lining here is that it might renew the well-deserved decline of Java. The language is old and creaky, and has long since been passed by better options, and now we're getting a great reminder that it is owned and patent-protected by a company that is happy to sue people using it. Time to move on to better things, and tell Oracle to f*** off.

On the good side, RIM (a company I usually pay little attention to) is coming down on the side of individual privacy, at least for their customers: they aren't giving backdoor access to countries that want to spy on their citizens. Surprisingly gutsy move, I have to say, and it's causing some middle-eastern countries to shut down Blackberry. But it makes a certain amount of business logic: corporate customers want that assurance of privacy, and it may be worth RIM losing some customers in more authoritarian states in order to reassure the ones elsewhere.

Still a week or two behind in my reading; it'll be interesting to see if there have been meaningful changes in any of these...
jducoeur: (Default)
I'm gradually catching up on my tech blogs from Pennsic. Remarkable the things one misses while away:

On the one hand, there's the Net Neutrality mess, as Google caves on a point they've been arguing as a matter of principle for ages, and the wireless providers using that as evidence that NN is a bad idea. They're saying it's a necessary compromise, not a business decision -- but really, this smells very much like inter-company horse-trading. It certainly fails the "appearance of impropriety" test to me.

Then, Google gets to be on the receiving side of (for my money) an even bigger evil: Oracle suing them for using Java in Android. The one silver lining here is that it might renew the well-deserved decline of Java. The language is old and creaky, and has long since been passed by better options, and now we're getting a great reminder that it is owned and patent-protected by a company that is happy to sue people using it. Time to move on to better things, and tell Oracle to f*** off.

On the good side, RIM (a company I usually pay little attention to) is coming down on the side of individual privacy, at least for their customers: they aren't giving backdoor access to countries that want to spy on their citizens. Surprisingly gutsy move, I have to say, and it's causing some middle-eastern countries to shut down Blackberry. But it makes a certain amount of business logic: corporate customers want that assurance of privacy, and it may be worth RIM losing some customers in more authoritarian states in order to reassure the ones elsewhere.

Still a week or two behind in my reading; it'll be interesting to see if there have been meaningful changes in any of these...
jducoeur: (Default)
Okay, this one's for the hardcore code geeks in the audience; anybody else will find it eye-glazing. But if you really love code, check out the Scala 2.8 Collections API. It's a thing of beauty, and a really good illustration of why I so love Scala -- they systematically deconstructed every major collection type, figured out exactly what they have in common and what makes each one different, and rebuilt the libraries to be about as consistent and sensible as is humanly possible. (They were already way better than average in 2.7, but they nonetheless rewrote it under the hood to make it all *right*.)

The result looks about as close to perfect as you can get: as many common base traits as possible (making everything more learnable and robust); focused on immutable collections (for safety and scalability) while allowing you to work with mutable ones whenever you feel the need; lots of consistent operations, so very-high-level functional programming Just Works; abstractions that let you seamlessly work with infinite collections exactly the same way you do finite ones; thoroughly type-safe from top to bottom, using Scala's type inference to catch programming errors without you needing to state types explicitly. I could go on, but you get the idea.

I sometimes talk about programming as my artform, and I mean that quite seriously: I perceive the aesthetics of code just as clearly as I do for painting or music. The Scala project has won me as an adherent on that basis, perhaps more than any other -- there is a common devotion to crystalline elegance in both the language and its tools. That lets me program *better* on a practical level, but beyond that, it's just plain more *satisfying* a language to work in...
jducoeur: (Default)
Okay, this one's for the hardcore code geeks in the audience; anybody else will find it eye-glazing. But if you really love code, check out the Scala 2.8 Collections API. It's a thing of beauty, and a really good illustration of why I so love Scala -- they systematically deconstructed every major collection type, figured out exactly what they have in common and what makes each one different, and rebuilt the libraries to be about as consistent and sensible as is humanly possible. (They were already way better than average in 2.7, but they nonetheless rewrote it under the hood to make it all *right*.)

The result looks about as close to perfect as you can get: as many common base traits as possible (making everything more learnable and robust); focused on immutable collections (for safety and scalability) while allowing you to work with mutable ones whenever you feel the need; lots of consistent operations, so very-high-level functional programming Just Works; abstractions that let you seamlessly work with infinite collections exactly the same way you do finite ones; thoroughly type-safe from top to bottom, using Scala's type inference to catch programming errors without you needing to state types explicitly. I could go on, but you get the idea.

I sometimes talk about programming as my artform, and I mean that quite seriously: I perceive the aesthetics of code just as clearly as I do for painting or music. The Scala project has won me as an adherent on that basis, perhaps more than any other -- there is a common devotion to crystalline elegance in both the language and its tools. That lets me program *better* on a practical level, but beyond that, it's just plain more *satisfying* a language to work in...

Profile

jducoeur: (Default)
jducoeur

June 2025

S M T W T F S
12 34567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags