Comments
Apple's Swift Language: Not All Positive
Newest First  |  Oldest First  |  Threaded View
codeslubber
50%
50%
codeslubber,
User Rank: Apprentice
6/11/2014 | 6:40:16 PM
Re: Missed Opportunity is this Post
Yeah I know Rails is not a language.... lol. I brought it up because it's supposedly open and what happened was the community voiced their opinions and the dictator ruled as he saw fit. That 'community' would fail the Cult Awareness Network test (if they were still around, but Scientology bought them out).

Java is open? Oracle is suing Android for using it. And they won.

I frankly don't care that much about whether the language is open. I think the record in the Java community has been a pretty good argument for open gets you one thing: a ton of fighting and super slow releases for results that are not that stunning. The new Date/Time stuff is much better, but after almost 2 decades?? Seriously??

One of the things I like about Swift is that it has extensions (like O-C categories). I kind of believe that the last layer of the language should be sculpted by the people who are using it, and categories allow you to do that. In the mobile world, both ios and android have location managers. They are huge, sprawling examples of how code that tries to satisfy every usecase turns into goo. Something as simple as 'I need a location with an altitude' is an amount of work that obviates the whole headstart the API is supposed to provide: you have to learn all the details, figure out how and where to say mother may I. Then you have to test it. In essence, you are taking a very generalized mass and adapting it to your own requirements. I think this is why DSLs became popular and I predict Swift will end up being a good DSL language. ANd since you are writing that yourself, the question of it being open is pretty much moot.

 

 
Andrew Binstock
0%
100%
Andrew Binstock,
User Rank: Author
6/11/2014 | 5:15:04 PM
Re: Missed Opportunity is this Post
"These metrics are tired silly ones. Open languages like which? Is Rails open? Did all the changes get voted on?"

Rails is not a language. Putting that aside, 'open' means that a community is consulted and has input, source code to the language is available, and the tools are free. Python, Perl, Ruby, Go, Rust, and recently Java all fit this model.

Now look at Swift: no developer community involvement, no source code, and not free. That's what most people mean by "not open."
codeslubber
50%
50%
codeslubber,
User Rank: Apprentice
6/11/2014 | 11:19:23 AM
Re: Missed Opportunity is this Post
Depends on when you want to evaluate their performance. The first 15 years I would heartily agree, in the last 5, it was the fastest moving language out there. Go watch the WWDC session Modern Objective C from two years ago. Amazing. While Oracle sputtered on a 3 year release cycle on Java that included 2 features of any import: lambdas (which toy languages have now) and a rewrite for the desperately horrible time/date classes (which they didn't even really do, it was a committee intervention).

I think we all think that open means things will move faster. Why? 

Frankly language evolution is not really going to be necessary as I see it: Swift kind of has the language kitchen sink in it. Watch the playground session from WWDC. That's going to make a huge difference. The Java and Ruby worlds have been working with pathetic tools. While IntelliJ (the standard now in Java) is an awesome IDE, the builds are still glacial and it kills any rhythm or momentum to keep having to wait for the same stupid stuff. Ever wonder why you don't see more animation and sophisticated painting in applications? Writing that code is horribly painful having to rerun for each little thing you try. They specifically show that in the Playground session. 

My advice to google would be to look at the Playgrounds stuff and stop thinking that shortening a few symbols programmers need to type is the road to productivity. It's not. It's a way to coddle babies who either a. don't know how to type or b. can't be bothered to learn how their IDE works (most likely both).
ChrisMurphy
100%
0%
ChrisMurphy,
User Rank: Author
6/11/2014 | 9:25:42 AM
Re: Missed Opportunity is this Post
I hear a pressure for speed in nearly every IT shop I visit, and so it makes sense that developers are embracing these tools that remove what you so perfectly describe as timesucks from their work. Turning that speed element back on Apple, will it be able to adopt and refine new elements into Swift quickly enough to satisfy the market, if it keeps its proprietary approach? This piece argues it didnt' do that well with Objective-C.     
codeslubber
0%
100%
codeslubber,
User Rank: Apprentice
6/10/2014 | 7:01:13 PM
Missed Opportunity is this Post
These metrics are tired silly ones. Open languages like which? Is Rails open? Did all the changes get voted on? No, it's the product of a dictatorship and the hall has pretty much emptied out. Is Go open? Is Dart? Was Java? Sun made the world's most popular programming language and their reward was to be predated by a brontosaurus still living off of data center FUD. As to 'has features from this language and that,' I laugh when I see such things. Those features did not originate in those languages.. ?? For instance, lambdas? been around forever. Generics? lots of languages have had them.

I was skeptical but after some looking at it the combo of Swift and the playgrounds is a brilliant move on Apple's part. It's not about making it so that idiots and children can program either. It's about making it so that programming has fewer timesucks in it that contribute nothing to the feature set, like running down alloc/release issues (pre ARC), or NPEs/errant pointers. The designers of this language looked at metrics and made some smart choices. Let's see if they pay off. Java made programming less hazardous than with its predecessor (C++), but the defect density is roughly the same with NPEs equaling the number of pointer bugs. The reality is, pointers are not that dangerous in C++ if you use a decent tool. The use of optionals in Swift is an attempt to just get past this layer of wasted effort. You could argue that in the latest incarnations of Java, with IntelliJ, you are almost already there because there are nullable annotations and lint warns of places where you could dereference something null, but tihs makes it part of the language.

Language has become fashion and nothing is worse news to the programming hipsterdom than to hear that their little hobby horses have been adopted by a competing show. Sorry guys, they were never yours to begin with.


The Business of Going Digital
The Business of Going Digital
Digital business isn't about changing code; it's about changing what legacy sales, distribution, customer service, and product groups do in the new digital age. It's about bringing big data analytics, mobile, social, marketing automation, cloud computing, and the app economy together to launch new products and services. We're seeing new titles in this digital revolution, new responsibilities, new business models, and major shifts in technology spending.
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Tech Digest - August 20, 2014
CIOs need people who know the ins and outs of cloud software stacks and security, and, most of all, can break through cultural resistance.
Flash Poll
Video
Slideshows
Twitter Feed
InformationWeek Radio
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.