126
2017年、飛躍する技術と共に命懸けのダイブ! 「普段使い言語環境」更新による スキルリセットサバイバルガイド YAPC : Hokkaido 2016 株式会社ファームノート 谷内

YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Embed Size (px)

Citation preview

Page 1: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

2017年、飛躍する技術と共に命懸けのダイブ!

「普段使い言語環境」更新によるスキルリセットサバイバルガイド

YAPC : Hokkaido 2016

株式会社ファームノート 谷内 元

Page 2: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

まとめ• .NET とか Swift のオープンソース化、軽量化、クロスプラットフォーム化などの動きが加速

• C#、Java、Objective-C以外の言語を選択するとスクリプティングもいける

•スマホアプリ開発もゲーム制作もいけるし結構楽しそうじゃね?公式SDKが多いから glue 言語としても実用的だよね。

• Scala とかと比べて緩くはじめられるし挫折しないかもよ。新しい分野も勉強できそう。

• F# は優秀だったわ。Perl6(JVM) は辛かった。Swift は時間足りなかったよ、ごめんね。

Page 3: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

P

P

A

P

Page 4: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl

P

A

P

Page 5: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl

Python

A

P

Page 6: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl

Python

A

PHP

Page 7: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl

Python

A?

PHP

Page 8: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl

Python

Anything but P*

PHP

Page 9: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

今つかってる Pなんちゃらをやめて、普段使いの言語も変えて、スマホアプリ作って趣味プログラマになったり、ChatOpsとかなんか面白そうなことを始めてみたら?

Page 10: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

いろいろできるよ

Page 11: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

そう

Page 12: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

.NETCocoaJVM

ならね!

Page 13: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

ご静聴ありがとうございました

Page 14: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

いろいろとは?

Page 15: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 16: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 17: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Silverlight は残念だったけど

俺の XAML 力が活かされる日が来たか!?

Page 18: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 19: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 20: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 21: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 22: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 23: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 24: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 25: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 26: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

自己紹介•谷内元

Page 27: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

自己紹介•谷内元

• WEB系エンジニア?

Page 28: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

自己紹介•谷内元

• WEB系エンジニア?

•ある日、Terminal の文字サイズを小さくすると絵が描けることに気づいてしまった

Page 29: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

自己紹介•谷内元

• WEB系エンジニア?

•ある日、Terminal の文字サイズを小さくすると絵が描けることに気づいてしまった

• Windows の putty の上に疑似ビデオレイヤーをつくり、その上で動作するゲームエンジンを開発、YAPC::Asia 2011 で発表

Page 30: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

自己紹介•谷内元

• WEB系エンジニア?

•ある日、Terminal の文字サイズを小さくすると絵が描けることに気づいてしまった

• Windows の putty の上に疑似ビデオレイヤーをつくり、その上で動作するゲームエンジンを開発、YAPC::Asia 2011 で発表

•その功績がじわじわっと来て3年後に認められ、株式会社ファームノートのCTOに就任

Page 31: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 32: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 33: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 34: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 35: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 36: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Page 37: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

この物語は、全て実話に基づいている

Page 38: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

序章

Page 39: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

僕等の時間は限られている

Page 40: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

年のせいか物覚えも悪くなってきた

Page 41: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

新しい言語は、自由奔放で気まぐれ

まるで若い娘のよう

Page 42: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

若い女に振り回されるのは疲れた

Page 43: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

いや、どうせなら若いのがいいが、

※プログラム言語の話です

Page 44: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

どこにいけば

Page 45: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

どこにいけば

新しい出会いと刺激もとめて

Page 46: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 47: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

フルーツ盛り合わせは随分割高だったけどまあ美味しかったし

Page 48: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

フルーツ盛り合わせは随分割高だったけどまあ美味しかったし

Backbone.jsUnderscore.jsjQuery/Grunt

SPA

Page 49: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 50: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

これをねだられた時にはちょっと違うと思ったけど土日も働いてなんとかしたさ

Page 51: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

これをねだられた時にはちょっと違うと思ったけど土日も働いてなんとかしたさ

gulpAngular

React/Redux

Page 52: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Page 53: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

でもこれはないよねちょっと裏切られた気分だったよ所詮はそんな関係だったってこと

Page 54: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

でもこれはないよねちょっと裏切られた気分だったよ所詮はそんな関係だったってこと

Angular2Gulp/npm

React/ReduxBabel/TypeScript

Page 55: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

俺の失なわれた数年間苦い思い出の日々

もう戻らないもう騙されない

Page 56: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Page 57: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Ruby は若くてかわいくて指名No1だったけど

外人と結婚したし、実はもうおばさんだ。最近では Node に人気を奪われてるらしい

Ruby ❤️ RailsAssetPipeline

↓Node.js/npm/gulp

Page 58: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

新しくてしかも堅実そうなこの娘は、

Sprint BootMicro Service

Page 59: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

本当は、名を変え、整形して

厚化粧しただけって知ってる。

昔、馴染みだった客はみんな知ってること

Sprint BootSpringFramework

SpringMVC/SpringSecurity/SpringBatch/SpringIntegraion…

Page 60: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Page 61: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

俺はどうすれば

Page 62: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

私を導いてくれ、

Page 63: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

こんな出来損ないの俺を何十年も支えてくれた perlやpython。

Page 64: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

こんな出来損ないの俺を何十年も支えてくれた perlやpython。

普段使いから面倒なお仕事まで、

文句ひとつ言わずこなしてきてくれた古女房に別れを告げ、

Page 65: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

こんな出来損ないの俺を何十年も支えてくれた perlやpython。

普段使いから面倒なお仕事まで、

文句ひとつ言わずこなしてきてくれた古女房に別れを告げ、

Scala に浮気、

Page 66: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

こんな出来損ないの俺を何十年も支えてくれた perlやpython。

普段使いから面倒なお仕事まで、

文句ひとつ言わずこなしてきてくれた古女房に別れを告げ、

Scala に浮気、

結局泣いて帰ってきたのも、もう8年前のこと。

Page 67: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

2016年の暮れも押し迫る中、

また性懲りもなくふらふらと彷徨いでたその先には、、、

Page 68: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

2016年の暮れも押し迫る中、

また性懲りもなくふらふらと彷徨いでたその先には、、、

謎の看板とあなたを手招きして待っている極上の美女達!

Page 69: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

「スクリプト言語禁止縛りスクリプティング coming in 2017 バトルロイヤル会場」へようこそ

Page 70: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

「スクリプト言語禁止縛りスクリプティング coming in 2017 バトルロイヤル会場」へようこそ

...これは罠だ!

Page 71: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

『あなたに私が使いこなせるかしら...』

蠱惑的な笑みからこぼれ出るは知性、麗しき才媛

F# on .NET Core/mono

Page 72: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

『私、まだ何も知らないの、あなた色に染め上げて...』

未成熟な躰に美しいUIをまとったロリータ

Swift with CoreFoundation

Page 73: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

『$#->%@!?』

それは安定を母とし混沌から産まれた -ジャングルの奥地で出会った青天の霹靂、ブラックスワン

制御できない野生の魅力に振り回されたい

Perl6 on JVM

Page 74: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

やっと本題

Page 75: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

.NETCocoaJVM

Page 76: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

2016年方針が大きく変化

Page 77: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

OpenSourceCrossPlatform

Lightweight and FastREPL and Intellisense

Visual Studio CodeEasy to Deploy

Page 78: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

2017年完成へと向っていく

美しい蝶になる(予定)

Page 79: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

.NET/C# Cocoa/Objective-C JVM/Java Pros.1

金になる求人 が多く、仕事の幅が広い

組み込み、スマートデバイス、デスクトップアプリ、ミッションクリティカルな大規模開発、unity のようなゲーム制作までなんでもあり

Page 80: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

.NET/C# Cocoa/Objective-C JVM/Java Pros.2

長く使える学習 コストを低める仕掛けがある、覚えた知識は長く使える

公式 ドキュメントが充実しており、初心者向けの書籍も多い。

後方互換性 が保証される。サポート期間が長い。仕様が大胆に変更されることが少ない

Page 81: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

.NET/C# Cocoa/Objective-C JVM/Java Pros.3

迷いが少ない開発効率や品質を高めるためのツールやガイドラインがある。標準品があり選定に迷いが少ない

標準のGUI構築ライブラリを持ち、高機能IDEや設計ツールが充実している

著名なサービスについては公式のSDKが用意されていたり、他言語と比べて公開されるのが早かったりすることがある

Windows や macOSにおける標準である。(Java は違うがポータビリティは高く、perlなどと比べると実行する OS を選ばないところがある)

高速で安定した VM 上で動作する。(Objective-Cはネイティブ)

Page 82: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

.NET/C# Cocoa/Objective-C JVM/Java Cons

面白みがない

目新しさもなく今更勉強したくない

さくっと書いてさくっと試せない

デプロイ面倒そう

IoTとかの非力な環境に向いてなさそう

なんだかんだで大袈裟な仕掛けになりがちで案件受注したりとかのお仕事でないと厳しい

プロプライエタリな感じ

Page 83: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

2016年から2017年にかけ、問題が解消されそう

Page 84: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

あとは、刺激が欲しいってんなら

これらを

C#Objective-C

Java

Page 85: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

こうすればいいんだろ

F#SwiftPerl6

Page 86: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

型が軽い or 漸進的型付け命令型でも関数型でもOK軽量IDE+重量級IDE

十分に普及したエコシステムWeb Service との接続性が高く、新技術への追従が早い

Page 87: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

F# (mono/.NET Core)

Page 88: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

命令型で書く泥臭く書く

無理にCPSにしないTypeProviderなし

C#向けのSDKをつかうRecord 型にすらつきあう必要なし

Page 89: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

F# -サンプル

Visual Studio Code を参照

Page 90: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

こいつ動くぞ!

ニュータイプじゃなくても!

Page 91: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

F# -ひとことでいうと優等生VisualStudio• Code 上で、コードを範囲選択するとREPL で実行。簡単

関数型• だけれど命令型で書ける

スクリプティングだから• 汚なく書くのが正解、ぐらいに思ってやると挫折しない

ドキュメントが• 充実

F# for fun and profit • みたいなサイトが素晴らしい

•新しい文法や概念を使うこともできるので、新鮮。勉強した気になる

Page 92: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

F# -微妙なとこ。.NET に投資するか

•スクリプトから離れてプロジェクトを作ろうとすると、それなりに面倒になる

•特に mono 環境では forge でソリューションやプロジェクトを作るが、windows 開発の経験がないとピンとこない

• .NET Core もプロジェクト設定が独自のjsonファイルになっているけれど、XML のcsproj/fsprojに戻すみたい

Page 93: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

F# -厳しいとこ• SQLite の dllファイルが動かず、情報もなし。Mono だと駄目みたい

• System.Data.SQLiteをビルドしたら直ったけれど、Windows の開発に加えて mono の知識も要求される

$ wgethttps://system.data.sqlite.org/blobs/1.0.103.0/sqlite-netFx-source-1.0.103.0.zip

$ xbuild System.Data.SQLite.2015.csproj /t:Rebuild /p:UseInteropDll=false /p:UseSqliteStandard=true

Page 94: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl6 (JVM版)

Page 95: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl5 より断然いい!言語は。

ライブラリが。。。

Page 96: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

2016.11 Releaseビルド!

(一昨日の夜)

Page 97: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

死亡!

Page 98: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

2016.10 Releaseビルド!

Page 99: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

死亡!

Page 100: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

時はながれ…

Page 101: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

2015.7 Releaseビルド!

Page 102: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

通った!(昨日の朝方)

Page 103: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl6 – JVM backendMoar• はいいこだったのに、これは。。。

2016.11 • リリースは、OSX で JVM のメソッドの長さ制限にかかってビルド中に死亡

Docker • の Ubuntu でやってみたら compile は通ったが panda の bootstrap だかで落ちた

普通• にビルドできるリリースもあったはずだと思い、徐々に遡ったら 2015.7 のやつで通った。おとつい木曜の夜から始めてこの時点でもう明け方

Java • の標準クラスが動いたやったね!

Page 104: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl6 – JVM backendこんな• 感じ

use java::util::CRC32:from<Java>;

my $crc = CRC32.new();

•と思ったら自作のクラスが動かない。Jvminterop のドキュメントが4年前の更新でしかも途中で終っている

ソースコードを• 読み始めるが、先に nqpがあって~などの概念の学習から入る必要があった。この時点で昨日のAM10時くらい。

Bootloader • のまわりのソースを読むこと数時間。眠い

Page 105: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl6 – JVM backend

•自前の jar は、system class loader でなくて、boot class loader に読ませないとだめなのかと気付き、解決。昨日の昼過ぎ。つかれた

> use com::farmnote::Sample:from<Java>;

> my $sample = Sample.new();

> $sample.sayHello();

Hello

Page 106: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl6 – JVM backend•情報がない

•ソース読むにしても、JVM と asmの知識、perl6 の知識が必要

• 1日でやるのは無謀だった。1週間くらいあればなんとかなるかも、ならないかも。

•彼女はアフリカの奥地で、母親である java の遺伝子を起因とした謎の遺伝病を患っており、昔母親とただならむ関係であった考古学者の私は、病気の治療に生涯の全てを捧げるのであった。これは贖罪なのか、、、という妄想でなんとか乗り切った

•つまり普通の人にはまだ無理

Page 107: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Perl6 すばらしいので当面はMoarVMで。

Page 108: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Swift 3 (Linux版)

Page 109: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

えっとね、なんか

うまく動かなかったよ

Page 110: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Linux で動くようにCoreFoundationを再実装して、

その上に Swift でFoundation を実装してるよ

Page 111: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

macOSでやるといいよライブラリも揃ってるし

Page 112: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

よくわからないけどさきっと詳しい人がなんとか

してくれるよ

なおったら起こしてね。

Page 113: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

終章

Page 114: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Bad End Route

Page 115: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

どうしてこうなったのだろう

Xamarinは 100% API ラップだった

Page 116: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

つまり、Android と iOS の知識が両方とも必要だったんだ

Page 117: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

勉強してる間に、Android の webviewは

速くなった

Page 118: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

WebAssemblyはmono より速いんだって。

そう聞いたよ

Page 119: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

今じゃみんなReact

俺が1本のアプリを Xamarinでつくっている間に、

彼等は2本のアプリをつくって10回はアップデートしてる

Page 120: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

俺が実装技術の勉強をしている間に

彼等は UI/UX と効果測定を洗練させていってた

Page 121: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

女房の perlは最近すっかり塞ぎ込み気味で元気がない

もっと一緒にいろんなコードを書きたいっていってたのにな

Page 122: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

俺はどうすればよかったのだろう

Page 123: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

Bad End

Page 124: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

懇親会でHappy End について語りましょう!

Page 125: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

お昼にスポンサートークもやりますので是非!

Page 126: YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド

ご静聴ありがとうございました