Linked by Thom Holwerda on Mon 2nd Jun 2014 19:44 UTC
Apple

Apple's WWDC kicked off today, with the usual keynote address. Apple unveiled OS X 10.10 Yosemite and iOS 8 - packed with new features, but I can't detail all of them. There's a lot of catch-up going on here with the competition, but even so, they're still great features for iOS users. In fact, I would go as far as to say that iOS 8 may provide a pretty convincing argument for a number of Android users to come back to iOS - especially combined with all the other new features.

For instance, iOS is finally getting a form of Android-like inter-application communication called Extensions. The implementation details will differ, of course, but essentially, iOS is getting Android's Intents for a far more seamless multitasking-like user experience. For applications updated to support Extensions, you no longer have to jump in and out of applications; instead, one application can call up specific parts of another. Similarly, iOS will also finally allow third party keyboards for those of us who don't like the default iOS keyboard. Apple is also opening up the notification tray to third party widgets.

An area where Apple is not playing catch-up but is clearly ahead of the game is a set of features that personally impressed me the most about iOS: Continuity. Essentially, using Bluetooth and proximity information, your iPad/iPhone and Mac can work together to a far greater (and easier) degree than ever before. For instance, an incoming call on your iPhone automatically pops, and can be answered, through your Mac. Working on a Keynote document on your iPad? Keynote on the Mac will notify you of it, allowing you to easily pick up where you left off on your iPad - and vice versa.

There's tons of other examples, and I'm really excited about its potential. To me, this approach to bridging the gap between PC and mobile seems far more useful than Microsoft's one-operating-system-for-all approach. Coincidentally, it highlights Google's problem of not being in control of a major PC operating system.

OS X 10.10 Yosemite is intriguing. It constitutes a complete visual overhaul of OS X, with a lot of blurred transparency, iOS-like visuals, and a sidebar full of widgets. Some of the language used regarding the blurred transparency and the sidebar were the exact same words used by Microsoft for Aero and the Vista sidebar, but overall, I'm really liking the new design. It's a fantastic step forward from a design that, in my view, had become quite stale and messy, to a more unified set of visuals and UI elements that, at least on the stream looked absolutely fantastic - especially in the new 'dark mode', which replaces the white with blacks.

All the above (plus the huge amount of stuff I haven't mentioned) would be more than enough for a really strong keynote, but Apple had one more major trick up its sleeve - and for the developers among you, this is a big one: Apple introduced Swift, a new programming language set to replace Objective-C. Apple claims - of course - that it will be faster and easier than Objective-C, but we'll need proper hands-on from developers to substantiate those claims. It's a huge deal, though: Apple essentially just introduced the way forward for its developers, after twenty years of Objective-C. And nobody saw it coming.

All in all, this keynote was Apple at its very best, in optima forma, showing a set of improvements, new features, and new products that really constitute major steps forward for Apple's ecosystem. iOS still can't grab my attention in any meaningful way (too little, too late), but OS X 10.10 is shaping up to be a fantastic (free!) update, and I can't wait to pull my 2012 iMac out of storage and try it out.

That being said - all the amazing stuff Apple showed today made one distinct part of the keynote stand out like a bright yellow Lumia in a unitary sea of grey iPhones: the competition bashing. The bashing has reached such a low point this year that Tim Cook had to resort to flat-out lying to smear Android. Not only did Cook lie about Android version adoption rates, he also trotted out the baseless scaremongering from anti-virus peddlers about malware writers focusing on Android. Sure, those people target Android - but Android is so secure that despite all this effort from malware makers, their results are absolutely laughable.

With such an incredibly strong showing, the bashing stood out more than usual, especially because many of the features and improvements demonstrated by Apple today consist of things the competition has been enjoying for years. All this bashing detracted from the amazing work done by Apple's engineers, and simply wasn't necessary.

Strong showing marred by unnecessary pettiness.

Thread beginning with comment 589990
To read all comments associated with this story, please click here.
Languages
by Treza on Mon 2nd Jun 2014 21:04 UTC
Treza
Member since:
2006-01-11

The proliferation of programming languages is not something new, but it is becoming awful as every big corp is touting its own set of languages.

Of course any good programmer should be able to learn several languages, but the multiplication of incompatible libraries, dev tools, ecosystems is crazy.

Reply Score: 9

RE: Languages
by moondevil on Mon 2nd Jun 2014 21:51 in reply to "Languages"
moondevil Member since:
2005-07-08

As you say, this is nothing new. It goes back to the early computing days when each OS vendor created their own language.

It just calmed down in the last two decades, as UNIX spread into the enterprise taking C along, followed by C++ and Java for everything at some universities.

Thankfully that trend seems to be now gone.

More important is killing the C part in terms of code unsafety.

Reply Parent Score: 5

RE[2]: Languages
by hobgoblin on Tue 3rd Jun 2014 12:54 in reply to "RE: Languages"
hobgoblin Member since:
2005-07-06

I suspect C will always have a place for "close to metal" programming. But userspace, in particular network facing, code should probably have adopted something different long ago (and no, C++ is not different enough).

Reply Parent Score: 3

RE: Languages
by galvanash on Tue 3rd Jun 2014 00:32 in reply to "Languages"
galvanash Member since:
2006-01-25

The proliferation of programming languages is not something new, but it is becoming awful as every big corp is touting its own set of languages.


I personally wouldn't call Swift a new language... I mean technically it is a new language, well because it is a language and it is new. But if you squint at it hard you can see what they did there...

It is a new syntax for a pretty old language (Objective C). All of Objective C's bells and whistles are still there, its still a real compiled language, and its almost completely inter-operable with Obj C (in both directions). There are a few new things, but mostly it is just Objective C with (thankfully) sane syntax.

I would normally side with you as far as the "oh gosh, not another fricken' language" sediment - but in this case I think it was sorely needed. Objective C is a battle-tested workhorse of a language with a rather unique feature set - but it is also ugly as f*ck... Maintaining it's heritage as a superset of the C language was just making it get uglier.

No amount of dot notation or grafted on syntax sugar could ever really make it pleasurable to read - because it had to still be able to compile straight C code and they were running out of ways to keep the two languages syntactically unambiguous - which is frankly why it is so ugly.

Relegating Objective C to the task of wrapping C/C++ code and coming up with a new syntax for doing everything else was a good idea. Kudos Apple.

Reply Parent Score: 5

RE[2]: Languages
by dpJudas on Tue 3rd Jun 2014 00:59 in reply to "RE: Languages"
dpJudas Member since:
2009-12-10

It is a new syntax for a pretty old language (Objective C). All of Objective C's bells and whistles are still there, its still a real compiled language, and its almost completely inter-operable with Obj C (in both directions). There are a few new things, but mostly it is just Objective C with (thankfully) sane syntax.

This is exactly what I hope it is and what I meant with ABI compatible (clumpsy words of mine). If successful, it just might spawn a new trend where C family languages are extended in ways that are more compatible with the type systems they are built upon.

For example, contrast this approach to something like C++/CLI which effectively abandoned C++ destructors and templates because they aren't compatible with garbage collection and the CLR type model. The end effect was that while C++/CLI files could also technically co-exist in the same project as ordinary C++ files, the two type systems collided all the time and it was a nightmare to use it even for simple binding code.

C++/CX and now this Swift (based on your description - hope it is right ;) ) seems to take a different approach to the problem. I can't wait to see how it plays out!

Reply Parent Score: 2

RE[2]: Languages
by Shane on Tue 3rd Jun 2014 01:37 in reply to "RE: Languages"
Shane Member since:
2005-07-06

It's a new language. There are a lot of new things in there. I can't really discuss these (NDA), but I can see many features that enable functional patterns. I see numerous similarities with Scala too.

Edit: Actually we should be able to discuss Swift. Apple's released the reference guide to the public.

Edited 2014-06-03 01:46 UTC

Reply Parent Score: 2