ツバメはまだ巣の中@Swift。

 

ああ、恐ろしや成長期のSwiftさん。
入門書の発売前から正誤表の嵐とはw
サポートページのブックマークは必須ですなあ。

はじめてのSwiftプログラミング(工学社)
http://www.kohgakusha.co.jp/support/swift/index.html
http://supportdoc.net/support-swift/

iPhone/iPadプログラミングバイブル(ソシム)
http://www.socym.co.jp/support/s-952#ttlWrong

たのしいSwiftプログラミング(BNN)
http://www.bnn.co.jp/dl/tanoshii_swift/

Swiftではじめる iPhoneアプリ開発の教科書
http://book.mynavi.jp/support/pc/5353/

Swiftの哲学。

 

まずこの本、良い本ですよ。実はw。

清水美樹『はじめてのSwiftプログラミング』工学社

ネットのレビューでは、あまり評判がよくないです。どうしてそーゆー評価になったのか、これを解釈するに、次のような背景があるんじゃないかな。

その1 アップルのレファレンスでいいじゃん(英語)

その2 まだ言語に仕様変更があるなか本にすんなよ

その3 この本買う奴、そういうの分かってない情弱www

・・・ってなコトなんだろう。しかしそれは違うと思うんだ。これらの意見に反論しておこう。

その1。確かにアップルの英語解説は充実しているけれど、未知の言語を慣れない言語で学ぶのは効率が悪い。

その2。仕様変更にともなう本書のコードのエラー箇所とその対処策はネットでサポートされている。
http://supportdoc.net/support-swift/change.html

むしろ仕様変更の具体例を見ることができて、メタな話だが、それすら勉強になる。

その3。ごちゃごちゃ言ってないで、やれよ、俺。プロの現場でもSwiftへの移行は進んでいないが、だからこそチャンスなのかも。例えば、りんごWATCHのアプリ開発はSwift限定!とか・・・しかし、あり得る話なんですよ。Appleならやりかねない。

本書は、淡泊な書き方で誤解されているけれど、すごくわかりやすいです。「デリゲート」のところもなかなかイイ解説です。初心者はこれを何か具体的な機能だと思いがちだけど、この誤解を正して、うまく導いてくれます。文法を淡々と解説している部分は多いものの、本質が分かっている人の文章ではないかなっと。

——————

で、哲学的な話なんだけど、Objective-CからSwiftに移行するとき「可読性が上がる」とよく言われる。ところでコードにおける「可読性」とは何だろうか? 個人的見解としてこの「可読性」の「読」は、さらに三つに細分化できると思う。

その1 意味論的な「読」
SmalltalkやObjective-Cの可読性は、コード自体を本当に意味のある文章として読ませようとする。こうして文字通りコードを読んで、その意味を把握できるわけだが、その反面コードが長ったらしく見た目がゴチャゴチャする。それでもSmalltalkではそれなりの秩序が存在していた。しかし、C言語ベースのObjective-Cは、なんか、もう、凄まじいものがあるわけですよw Swiftがある今となっては、そう言わざるを得ない。さらに、英語ネイティブじゃいない者にとってはこれを読むスピードはさらに遅くなる。これは日本人固有の問題もありますね。

その2 視覚的な「読」
コードを読むとき、視覚的にぱっと見て分かる事は重要です。適度な記号性がそれを可能にするのですが、それはいわゆる「C言語系のシンタックス」になります。広い意味で、Swiftもここに落ち着いたと言えるでしょう。

その3 論理的な「読」
記号の抽象度をより高めていくとき、行き着く先の一つは機械語やアセンブラになります。コーディングにおける人間的思考を脇に追いやり、ハードウェアの論理が主となります。そして、もう一つの方向性が、人間的論理の徹底としての言語、つまり数学的なプログラミング言語があります。ここで「数学的」というのは正確には離散数学のことで、「ツリー」や「リスト」の処理が得意なLISPがその代表格です。

LISPは、独りで前代未聞の問題にチャレンジするときには絶大な効果を持ちます。いや使ったこと無いけどさ(汗)。でも実際にアルゴリズム開発するときに、もしLISPだったら・・・なんて本気で思ったことはありました。所詮、LISPはグラハム専用機です。天才が天才的な事を考えるとき、どうぞ。でも、そこで得られた悟りは他人にはシェアされません。そもそも悟りとはそーゆーもんですw 他人の書いた((()))だらけのLISPコードなんて読みたくねーよ。

その後、LIPSの機能をより視覚的に読みやすくする形で、つまりC言語っぽい文法を採用する形でJavaScriptやRubyが生み出され、その後これらの言語が普及していくのはある意味で必然だったと言えます。はてさて、Swiftはこの先生きのこることかなふなりや?

SwiftでMKMapView上にピン(MKPointAnnotation)置いてみた

 

はじめまして!

iPhoneアプリ開発歴約3年であるCokaholicのTKと申します!

私がAppStoreにリリースしたアプリは以下のサイトをチェックしてみてください!
https://itunes.apple.com/us/artist/keisuke-tatsumi/id574246116

iTunes

さてさて、最近はAppleが新言語「Swift」を発表しやがりましたので、Swift漬けの毎日を送っている私ですが、以下のリンクにて、今回の表題と同じタイトルの記事を投稿しましたので、Swiftプログラマーの同士たちはぜひチェックしてみてください!

http://qiita.com/Nietzsche/items/03eb06d407178e97bb2e

AppDelegate.swift

MapViewController.swift

業務連絡@アップルの新言語swiftどうよ?

 

いやあ、たつみさん、obj-cとJSを連携する公式フレームワークどうよ?

http://dev.classmethod.jp/references/javascriptcore-ios-objective-c/

って書いとこうと思った矢先にiPhoneアプリ開発の新言語swiftの発表ですってよ奥さん。

http://japanese.engadget.com/2014/06/02/swift-ios-os-x/

文法はjsっぽいスクリプト系、互換性はコンパイラが帳尻をあわせるみたい。でもREPLみたいなことがXcode上でできたりとか、新言語っつーより「通訳」が賢くなりすぎてデベロ側(人間側)の言葉遣いがどんどんルーズになっていくという・・・そんな感じかしら。

ツバメと商店街@奈良。

 

さくらが満開の季節よりも、商店街をツバメが飛び交っているこの時期が好きだ。昔ながらの商店街が残る奈良にはツバメの巣がたくさんあり、きゅい、きゅいと鳴いてはアーケードの中を元気よく飛び交っている。

都会の者から見るとこの風景はノスタルジックで、古き良き時代の名残のようにも思えてくる。だから、きっとツバメは木造の民家や老舗の町屋の玄関を巣作りの場所として好むはずだ、と思い込んでしまう。

けれども、ツバメからすれば人間の郷愁など知ったこっちゃない。そもそもツバメにとって、人間という生き物は自然界に後からのこのこ出てきた新参者だ。そしてこの新入りは、やることなすこと自然の摂理に反しまくるヘンテコな生き物なのである。人間はいわば「自然界のヤンキー」だ。

いつのことだか知らないが、ある日、スズメにすら負けてしまうツバメは、この「ヤンキー」を逆に利用して、自身とその家族を守る術を思いつく。ふむ、最弱ゆえの適応力だ。

(人間に襲われるリスク)<(天敵に襲われるリスク)

を彼らはクールに割り出してくる。

このように、ツバメはとてもワリキリがよい生き物で、子育てに都合の良い場所を追求していく。例えば、もちいどのセンター街入口のサークルKは、ツバメの巣の集合住宅と化している。ならまちへ行くときに必ず通るので、また機会があればご覧あれ。

OLYMPUS DIGITAL CAMERA

OLYMPUS DIGITAL CAMERA

24時間営業だから明るくて嫌じゃないのかなー、って思っていたらそうでもないらしい。明るさよりも温度を優先するようだ。だからビルの車庫の信号も最高のロケーション。赤がいい?青がいい? そこは年中ついているランプのおかげで常時温かいのだ。

OLYMPUS DIGITAL CAMERA

じゃあ、どうして普通の信号機には作らないのか? 恐らく場所が高くて上が無防備なので天敵に狙われるからだろう。天候に左右されにくく、低くめの場所で、人通りが多くて、温かい場所。人間社会に溶け込んだツバメは、そういうところを好むようだ。

んー、これも馴染んでるなあ。ただし単なる保護色を求めているのではなく、ランプがこたつ代わりなんだと思う。

OLYMPUS DIGITAL CAMERA