Swift Programming is the Future

Almost every time Apple introduces an innovative new product, hordes of critics claim that Apple didn’t innovate anything. Then those same critics rush to support products that closely mimic Apple’s innovation that completely changes the market. To those who lack imagination, innovation only becomes obvious after everyone else has already accepted it.

When Sylvan Goldman invented the shopping cart on June 4, 1937, nobody would use them. Men thought that shopping carts looked too effeminate while women thought it looked too much like a baby carriage. “I’ve pushed my last baby buggy,” an offended woman informed Goldman (http://en.wikipedia.org/wiki/Shopping_cart). Only after Sylvan hired greeters to show shoppers the advantage of the shopping cart did the public finally accept them. When confronted by innovation, most people don’t understand it and often fear and hate it.

Alexander Bain invented the fax machine in 1843 (http://inventors.about.com/od/bstartinventors/a/fax_machine.htm). Look how long it took before that innovation finally caught on over one hundred years later. The next time you hear someone criticizing something as either useless or not innovative, take a second look. Far too many people see the world only by comparing it with what they already know. Anything outside their limited sphere of knowledge simply gets dismissed, tossed aside, or attacked as useless.

Although everyone expects Apple to release innovative products every few months (while failing to apply that same standard to any other company), they often fail to recognize those innovations when they do appear simply because they were expecting something completely different.

At Apple’s latest developer’s conference, Apple introduced a new programming language called Swift. While the idea of a new programming language might not sound innovative, it can be surprisingly innovative in ways that you may not think.

First, Swift is meant to overcome the problems and flaws of Objective-C. If you ever tried writing a program in Objective-C, it often winds up looking like a series of cryptic and redundant symbols. Yet Objective-C was meant to overcome the problems of C++, which was meant to overcome the problems of C.

C itself was meant to overcome the deficiencies of assembly language, which was meant to overcome the problems of machine language. Every programming language evolves but eventually adding so many new features makes the language complex and cumbersome, making it easy to make mistakes. That’s why even Microsoft decided to overcome the flaws of Java and create C#.

Besides making programming easier, Swift introduces two innovative features to make programming more reliable and versatile. First, Swift is one of the few programming languages that allow constants and variable names to use Unicode symbols, which includes the Roman alphabet but also mathematical symbols and foreign language characters (http://www.globalnerdy.com/2014/06/03/swift-fun-fact-1-you-can-use-emoji-characters-in-variable-constant-function-and-class-names/).

Currently most programming languages rely on the Roman alphabet, which means Arabic, Chinese, and Russian programmers need to write programs using mostly English. Imagine the reverse situation if American programmers had to use Arabic, Chinese, or Russian characters to write a program. Guess how many Americans would want to do that? Now you can imagine how many people in other parts of the country don’t learn programming because they’d rather write programs in their native language.

To show you how two different groups of people respond to innovation such as the ability for Swift to use non-Roman alphabet characters, first you can read this comment from someone who fails to see any type of innovation in letting programmers use their native language to write programs:

“Stupid and useless, except for teaching programming to .. uh .. kids. Professional and experienced programmers know Roman characters and if you haven’t noticed yet, they have been using them to program everything till today, iCrap invention.”

Now look at the other extreme at someone who can recognize innovation and can see how it can be useful in ways that current technology can’t offer:

“For the domain I care about, math/physics, it means the ability to use variables names that are greek (and perhaps to be even more ambitious, we shall see — maybe a variable named ∫α rather than integralOfAlpha?)

Another domain where I could imagine this to be useful is code that is either targeting a foreign language, or targeting somehow translations between two languages. I’m sure if you’re Chinese, for example, you’d prefer to have your variable names in Chinese.”

By reading both comments, you can see how one person recognizes innovation and how it can be used in ways that current programming languages can’t offer. Yet another person sees the same ability to use non-Roman alphabet characters as “stupid and useless” and to support his argument, claims that Roman characters have been used to program everything till today. Therefore there must be no point in offering features that can make programming accessible to more people who speak other languages.

Apple is specifically wooing developers in other countries to create iOS apps for specific regions such as China (http://www.bloomberg.com/news/2014-06-06/apple-steps-up-campaign-to-woo-china-developers.html). By making programming more accessible to people who use non-Roman alphabets, it’s easy to see how Swift can encourage more programmers to create apps for Apple products instead of any of their rivals.

Notice the similarity of criticism between Swift’s non-Roman alphabet feature and how critics typically react to anything introduced by Apple? When Apple introduced the iPad, some people saw the iPad as useless because people were already using netbooks for computing on the road, so why did they need anything else? After all, the iPad didn’t have a removable battery, a physical keyboard, or the ability to run Adobe Flash like a netbook.

Critics who fail to recognize innovation often claim that innovation is useless because what currently exists is good enough so what’s the point of ever changing? When the iPhone appeared, critics claimed it wasn’t innovative. When the iPad appeared, critics claimed it wasn’t innovative. When the Macintosh appeared, critics claimed it wasn’t innovative. Anyone recognize a pattern? Critics consistently fail to recognize innovation because it doesn’t exactly duplicate what already exists, which contradicts the meaning of innovation in the first place.

Perhaps the most innovative feature of Swift is called Playground. Back in the early days, programming meant writing a program, then compiling it so you could run it and see if your program worked. This made programming tedious, especially for beginners.

That’s the reason why the BASIC programming language was originally a simplified interpreted language. That meant you could type a command and immediately get feedback from the computer if that command worked or not.

Such immediate feedback made BASIC programming fun and more instructive than other programming languages. That’s the basic idea behind Playground. Just type Swift code and Playground lets you see the visual results of your code right before your eyes. With Playground, you can also freely experiment with your code to see how it changes the final result. Now you can spot and fix problems right away, making programming easier for beginners and professionals alike.

It’s easy to claim there’s no innovation in anything if you’re unwilling to look for it and unwilling to acknowledge it right in front of your face. Think of Steve Ballmer laughing at the iPhone while claiming that Windows Mobile, which had roughly 20 – 30 percent of the mobile phone market share at the time, was a better strategy.

With the Swift programming language, Apple has introduced a programming language that prevents common errors that Objective-C, C++, and C cannot prevent, makes programming accessible to a global audience who may prefer using non-Roman characters, and makes programming interactive so it’s more fun while providing immediate feedback on possible errors.

Despite what critics may think, Swift is innovative. Now we just have to see how Swift will help Apple change the world while all the harshest critics are proven wrong. Again.

June 8th, 2014 by
HTML Snippets Powered By : XYZScripts.com