Tuesday, June 3, 2014

Apple's Swift aimed at lock-in?

Well, the programming world's abuzz with Apple's announcement of their new programming language Swift. In their developer docs (not the iBook, since that's more effort to access), it says:
Swift is a new object-oriented programming language for iOS and OS X development. Swift is modern, powerful, and easy to use.
With no hint of open source, I suspect they truly mean "for iOS and OS X".

So, while it looks like a nice language, both in large things and small (though I don't agree with all their decisions), there's not much point in this language except for those already firmly in the Apple camp. This very nice system seems aimed squarely at making Apple developers more firmly just Apple developers.

And I distrust Apple as a corporation. Whatever prior art exists, I fear they'll have patents to dissuade 3rd-party implementations, unless they decide cooperation is in their business interests. Nice as it is, I guess I won't be touching it, unless Apple at some point makes a policy about being open with it.

Too bad. Though I do hope they prove me wrong sooner than later.

At least many other good options are already available.

(And on the topic of needing to be nice, I'm really just trying to say the issues that matter to me here. And I really would love Apple to prove me wrong.)

Friday, February 7, 2014

I should be nicer

I just realized my last two posts were in judgment of other people. That's not very nice of me, whatever I believe about the issues involved and whether or not anyone ever reads any of this. I apologize, and I should do better than that.

Wednesday, February 5, 2014

Bill Nye vs. YAGNI

So, here's a famous video of Bill Nye refuting himself:


Why do I say this? Well, he sets it up himself. The US is very successful at innovation despite a lot of people here disbelieving evolution. I don't know what percentage of successful innovators have which belief systems, but this presumed dichotomy exists in our nation.

A somewhat rational conjecture then is that you don't need belief in evolution to be able to innovate, at least in many areas. Even in areas where evolutionary or deep time matters do play a key role, there's perhaps no requirement for uniformity of belief in every aspect. There may even be scientifically testable hypotheses related to my conjectures. I suspect studies even exist, but this isn't my field.

Another way of saying this for me it is YAGNI. As in, belief in evolution isn't a key requirement for much innovation.

Meanwhile, Mr. Nye, you can have your own children if you want to teach them your world view. Or make more YouTube videos. Let me and everyone else teach our own children, too. And our children can also choose for themselves what to do with it. We have all kinds of various beliefs. That's freedom, rather than state indoctrination.

(Also note that I don't state my own beliefs about evolution in this post at all. They're irrelevant to my main point.)

Friday, November 15, 2013

Wolfram discovers OOP

Now, I'm probably being abusive here, but I think Wolfram is overblowing his value in his Wolfram Language announcement. When he says this:
In most languages there’s a sharp distinction between programs, and data, and the output of programs. Not so in the Wolfram Language. It’s all completely fluid. Data becomes algorithmic. Algorithms become data.
... I think this:
In contrast, the object-oriented approach encourages the programmer to place data where it is not directly accessible by the rest of the program. Instead, the data is accessed by calling specially written functions, commonly called methods, which are bundled in with the data.
... or perhaps even things like OpenDoc. He also sounds very Smalltalkish. I don't think he's talking Lisp-like code as data, but maybe he means that, too.

Saying "That there’s a completely general and uniform way to represent things" is also like saying "if S is a subtype of T, then objects of type T in a program may be replaced with objects of type S without altering any of the desirable properties of that program" (Liskov substitution principle).

Would Wolfram be the type to reinvent the wheel without full formal training in a subject matter? Um, yes.

I do love Wolfram Alpha, though.

Having algorithms is great, and for general web user accessibility, flexible language is nice, but when I want to be serious, I like a real programming language. And microkernel at that. Contrast Wolfram's statement that his "concept from the very beginning has been to create a single tightly integrated system in which as much as possible is included right in the language itself."

Hmm.

In more interesting news, Ceylon 1.0 was released a few days ago.

Wednesday, October 2, 2013

Steam Controller and app stores

Response to the Steam Controller varies a lot. I have a hypothesis on it.

First, why Linux and SteamOS? Windows 8 isn't such a disaster for games as the Windows App Store (if successful) could be a disaster for Steam. Valve wants independence and revenue as much as any other company.

The controller has a stated purpose: "[bridging] the gap from the desk to the living room without compromises." I think there's another one.

On some site (sorry, forgot which), I saw a comment claiming that there is no battle for the living room but rather that the battle is in mobile. I haven't looked up market sizes, but Sony, Microsoft, Apple, and Google all have at least some belief in the value of the living room.

However, mobile is an important space. We see Microsoft betting their reputation on this.

What can Valve do here? Android is as open as Steam Machines will likely be. Do they dodge Android because their focus is serious gaming? Yes and no, I think.

They care about the serious gaming segment, but they've also already lost on iOS and Android. Apple and Google already have app stores. Steam can't compete there. That's what they want to avoid with Windows. They want Steam to be its own power.

This is where the screen on the Steam Controller comes in. I don't think on its own it will be much more exciting than the Wii U GamePad's screen is. It competes with the main display. However, if the Steam Controller is hackable (stated goal by Valve), surely some people will make games just for the controller. And if the controller is a success (open question), that might become meaningful.

If the Steam Controller succeeds, it provides a rich IO platform that might possibly become a successful mobile platform of its own.

Yes, this is a crazy hypothesis, but it allows an avenue for Valve to move in this direction without making it a major immediate focus. Having future options might not hurt.

Thursday, September 26, 2013

Nostalgia

Pandora playing "Rhythm in the Pews" by Ray Lynch on "Deep Breakfast" just pulled my heartstrings out.

No particular story, but it totally dropped me right into the middle of high school.

So many miles and years from there.

Monday, August 26, 2013

Palantir Eclipse TypeScript

Among other languages, I've toyed some with TypeScript over the past half year or so. Lack of good IDE for my use case (Eclipse, not VS) was lacking. But now a company called Palantir has been working on a decent TypeScript plug-in for Eclipse.

Hurrah!

I think I'm more in line with TypeScript than with Dart, and last time I tried the Dart editor (in the past month or so), it kept using high CPU all the time (maybe related to issues like this, not sure), and it was slow and flaky for its inference and code editing support. If JS really has speed limits that Dart can break, maybe I'd change my mind. Or if the Dart editor actually got any good. Don't know. For now, though, I like TypeScript better. It seems more "the right thing" to me.

Now if only Microsoft would add operator overloading to TypeScript and if someone would implement a TS to C++ compiler with full instant support for header parsing (pipe dream, maybe), I might really be able to make TypeScript my real go-to language. I'd prefer different, but it might be good enough.

As an aside, I'd really like this TS clone problem to go away, too. Even if it's a GnuTLS issue, it's only hit me at CodePlex so far as I know.