MOSA の Swift 初級セミナーに登壇させて頂きました。
MOSA
先日に MOSA 様に Swift 初級セミナーとして登壇する機会を頂いて、Swift の魅力をたっぷり話してきました。
素敵な思いをたくさんさせて頂いたので、その想い出を記念に綴っておくことにしました。
先日の に MOSA にて『いよいよ Swift へ踏み出しましょう! 』と題して Swift の入門セミナーを担当させて頂きました。
そんな中で素敵な思いをたくさんさせて頂いたので、その想い出を記念に綴ってみたくなりました。
MOSA
MOSA とのご縁は昨年末の MOSA Software Meeting 2014 でセミナー担当のひとりとしてお招き頂いて、今回が 2 回目の参加です。
今回は、前回の MSM2014 で話した『Swift ってどんなプログラミング言語なの?』というお話しが嬉しいことに「よかった!」と言ってくださる方々が多かったそうで、そのときの内容に少しアレンジを加えた形で Swift の入門セミナーをしてもらえないかという話を頂きました。
それなら、前回にも扱った『Swift 言語の特徴』に加えて Swift へ踏み出すことを躊躇っている人たちに Swift の楽しさみたいなものを前回よりも具体的に紹介できないかなと考えました。
伝えたかったのは「楽しさ」だけ
そんなことを考えたのも、この 1 年で Swift を見ていて感じたこととして、触ってはみたものの『Swift って面倒』とか『Swift って難しい』みたいな印象を抱いて辞めてしまった、そんな人が多い印象があったためです。
かたやネットでは Swift を駆使した高度なプログラミングが披露され、それがなおさら Swift から遠ざかる理由になったりしていないだろうか、そんなことを思ったのも、自分が Swift の楽しさを伝えたいと思う一つの理由でした。
実際 Swift に触れれば触れるほど、とっても良くできた言語だなって感心されられます。
さすが新登場の言語ということなのでしょうか、言語仕様もスリムにまとめられていて、専門性を持った言語にありがちな難解さを感じさせなくて、慣れるほどに気軽に使って楽しくなれる言語のように感じます。
自分にとっての Swift ってそんな印象なので、だからこそ、カジュアルに使える言語であってほしいと思っています。
楽しくなればこっちのもの
そこで、今回は『Swift で難しいな…』と感じて辞めてしまうきっかけはどこだろう、そしてそこに実は面白さが潜んでいると知ってもらえれば、いったん離れた Swift を『また始めてみようかな!』って思ってもらえるんじゃないかと思って、話題を組み立てることにしました。
実際、Swift ってとても面白くできているので、いっけん意味不明と感じても、その意味を汲み取るほどに面白さが分かってきます。
そしてその面白さにさえ気づいてしまえば、苦手意識も吹き飛んで、あとはもうただ「楽しい」と自ら進んで理解を進めてくれるはず。そして「楽しい」と思ってしまえばこっちのものです。
今回は3部構成で
そこで今回は 3 つの構成で話を進めることにしました。
まずは Swift の基本から
まずは初級編として、今から Swift を始めようと思う人がどの程度まで Swift を知っているかが掴めなかったので、Swift にどんな機能があるかを知ってもらう目的で『Swift 言語の特徴から、そこに搭載されている機能まで』をひと通り紹介することにしました。
どんな機能があるかを知らないのと、知っているのとでは大違いですから。
そう思って、機能紹介を詰め込んでいったら、あまりにボリュームが増えすぎてしまって、とても時間内にしっかり紹介できるほどではなくなったため、詳しい話は資料にまとめて配布して、時間内ではざくざくと駆け足で辿る形にしました。
自分は普段、発表資料を発表前に配ると楽しみが減ってしまって好ましくないと思うのですけど、今回ばかりは手元にないと不安で聞いていられないと思い、事前に配布することにしました。
内容としては
- Swift は安全性が重視された言語設計であることや
- 現代らしさを積極的に取り入れながら今すぐに使える言語であること
- 実は Objective-C の存在が学習の妨げになっているかもしれない
そんなところをお話しさせて頂きました。
その上で、
- Swift の目玉機能である不変値変数と可変値変数
- いろんな型の特徴と機能、進化した列挙型と構造体の紹介
- オプショナルの概要と使い方
などなど、Swift にはどんな機能があってどんな雰囲気のコードになるのか、そんな辺りを紹介しました。これから Swift に触る人にとっては導入的な、既に触ったことのある人には総復習的な、そんな内容として受け取ってもらえたらば幸いです。
そして Swift の面白いところへ
Swift に触れていると『なんでこんな面倒なことになってるの?』という言葉を耳にすることがたびたびあります。
自分も実際、最初のうちは時にそれでやる気を削がれたりもしましたけれど、でもその答えを自分の中で『意味わからない』ではなく『きっと何か理由があるはず』と変えて考えたときに、驚くような発見がいくつも出てきて、すっかり Swift が好きになってしまった経緯がありました。
そんな経緯をみんなと共有できたらいいなと思って、そんな中で見つけた発見を、中級編として話をすることにしました。ここが今回、特に自分が伝えたかった内容です。
内容としては
- 不変値変数と可変値変数が Swift を支えているのを感じてもらったり
- そんな 2 つの変数と密接に関わる言語仕様に気づいてみてもらったり
- オプショナルを nil が入るかではなく目的からみて使いどころを考えてみたり
- 列挙型と switch 文をコンセプトから結びつけて考えてみたり
- 型変換から窺える『責任』の在り方など
そんなところを 1 時間ほどでじっくりと話をさせて頂きました。
最後は Swift の雰囲気を感じて
そして最後は上級編として、15 分ほどで Swift のプロトコルを主体としたコーディングの雰囲気を、それがいちばん表に出やすい気がする『型を作る』というテーマで Playground を使ってざっくり紹介しました。
こちらも詳細は配布資料に任せてしまって、時間の中では『理解しなくていいから、喋りながらコーディングしていくのを見ていてもらう』という形で進めてみましたけれど、そんな中からも Swift がどんな感じの言語であるかを汲み取ってもらえたみたいで良かったです。
まとめ
そんな感じで臨んだ Swift 初級セミナーでした。
始まってみるまでどんなレベルの人が集まるか分からなくて、初級を駆け足で進めることが功を奏してくれるかどうか、中級で話についてこれなくなったらどうしようとか、いろいろ不安でしたけど、終わってみれば自分的には良い感じの手応えでした。
もしかして難しいかもと心配した中級編や上級編でも、質問もばっちり的を得たものが出てきたり、聞きながら嬉しそうにしている表情が窺えたりして、やっぱりこの辺りって面白いよねって思いながら、こちらこそ楽しく話を進めることができました。
終わってからも「今日は来てよかった!」とわざわざ伝えにきてくださる人が何名もいらして、とても嬉しい思いでした。
団欒できる場所
そしてさらに嬉しかったのが、講義の途中で質問の声が上がったところでした。
その質問がまた、みんなとてもにこやかに質問されるものだから、好奇心がそうさせているのが思いっきり伝わってきて、こちらもついつい嬉しくなってついつい長話してみたりとかして。
プログラミングって共通語ですね。でもほんと、こういう関係っていいなって思います。
自分はまだ MOSA で話す機会を頂くのは 2 回目ですけど、きっとこうしてカジュアルに会話を交わしながら学ぶ文化が、これまで MOSA を支えてきたみんなによって築き上げられてきたのでしょうね。運営されている方々によっても、もちろん参加されている方々によっても。
話す側も聞く側も対等に在れる、そんな勉強会もこの頃は少なくなってきたかなって感じていたところだったので、そんな場所がここにもひとつあったことが嬉しく感じられました。
好奇心が集う場所
好奇心が集まる場所って素敵ですね。そんな場所でこちらこそ、好きなことをたっぷり話せる機会をもらい、とても楽しい時間を過ごさせて頂けて光栄でした。
加えてたっぷり元気を分けて頂きました。
こういう好奇心の輪の中で発表できるってとっても幸せなことですね。願わくばこういう場所に、もっともっと参加できたらいいなって思いました。