Swift’y cold winter night
So here’s the thing. I’m sitting in front of my Macbook Air, my iPad Mini 2 is on the left on my desk and you have probably thought by now that my iPhone is on the right. No it’s not. I have a really beautiful Nexus 5 laying right there but … that’s not the case.
Today after coming back from work, it was like -10°C outside my brain was intensively working on the 5th gear while trying to pick a new programming language which I should learn. The only thing I heard was Swift, Swift, Swift.
Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns. — swift.org
I really admire Apple and Google for what they are doing especially seeing plenty of innovations each year but personally I don’t give a *F* that there’s an endless battle between them. Last year, I’ve read few articles about Go programming language but eventually it didn’t work out. I did not felt the connection with it. Some of you may say that Gopher is really cute but for me it looks like it’s on crack.
After Apple introduced Swift during WWDC and released it to the community I thought that it was a great step. I’ve read some Objective-C code in the past, just for the curiosity, syntax and I was like O_o… that’s why IMHO Swift should be the core language in Apples ecosystem.
I’m not planning to be an iOS developer but I can’t rule it out. I’ve picked Swift because it’s open sourced and I can run it easily on Linux and almost out of the box on Mac. The idea is to study the language intensively by following the rule “code every day” from the previous article. So let’s not waste more time.
Let’s begin from presenting most interesting resources which are related to Swift:
- The Swift Programming Language (Swift 2.1)
I will not explain anything how to setup the environment. You need to complete this task on your own. I am convinced that whenever you are able to do it then you’re on the right track. Personally I enjoy setting a new environment when I’m entering a project or learning new technology. This phase is very crucial because it defines you as a programmer, it shows how fast you can solve a problem or jump into one.
I’ve decided to give a quick test before reading all the manuals and books. Below you can see my (very trivial) Linked List implementation in Swift which I wrote this night. I must admit, it was a nice introduction and now I’m even thinking of implementing some other data structures in Swift.
Thanks for the reading. Good luck and good night.
P.S. And the Swift logo is IMHO better.