Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Yuichi Yoshida
Chief engineer, DENSO IT Laboratory, Inc.
@sonson_twit
© 2014 DENSO IT Laboratory, Inc., All rights reserve...
自己紹介
2tchの中の人
• iOS好きです
• 2tch(2ちゃんねるビューア)
• iOS SDK Hacksなど
• 研究・開発
• コンピュータビジョン
• 機械学習
• 画像検索サービスとか
• 車向けサービスやハードウェアとか
本業
Swiftを始めるにあたって,
どこから手を付けたらいいか,わからなくないですか?
プログラミング
• C
• C++(触るレベル)
• MATLAB
• Ruby(触るレベル)
• Javascript(適当レベル)
• Objective-C
たとえば,C→Ruby
int length = 10;
int *array = (int*)malloc(sizeof(int) * length);
// initialize array
for (int i = 0; i < leng...
たとえば,C→Ruby
var array = [10, 2, 3, 4, 5, 5, 2]
array.each{|e|
puts e
}
var array = [10, 2, 3, 4, 5, 5, 2]
for i in 0...arr...
避けたいこと
• Rubyを始めたとき(今でも・・・だけど)
• CをそのままRubyにしただけ
• RubyでコンパイルできるC言語のコード・・・
• C→Rubyへのアドバンテージがない
• ライブラリやGemだけ
• Obj-C→Swif...
Obj-Cっぽくないコード書くために
• !を使わない
• できる限り高階関数で実装する
• できる限りclassをstructに換える(意味ないのはダメ)
• protocolも使う
• Result<A>に挑戦する
• flatMapに挑戦...
最初
• Swift,Optional,爆発しろ
現在
• Swiftかわいいよ,Swift・・・・
reddift
Swift Reddit API Wrapper
• 1億人以上のアメリカのSNS
• APIあり
• Objective-CのAPI Wrapperはあり
• OAuth2に対応してない
• Swiftじゃない
• よし,いっ...
http://www.objc.io/books/
https://robots.thoughtbot.com/efficient-json-in-swift-with-
functional-concepts-and-generics
参考文献?
まとめ
• 勉強どう始める?
• Swiftっぽいコードを書かないと意味がない
• ちょっとずつSwiftっぽくしていけばいいんじゃね?
• 議論
• 何から始めればいいのか
• Swift っぽいコードとは?
• Swiftで関数型言語として...
デンソーアイティーラボラトリでは、
         研究者,エンジニアを絶賛募集中です。
興味のある方はこちら。https://www.d-itlab.co.jp/recruit/
画像処理・機械学習・信号処理・自然言語処理など
Upcoming SlideShare
Loading in …5
×

Swift 2 (& lldb) シンポジウム

4,049 views

Published on

Swiftをどうやって勉強すればいいのか.脱初心者を目指す私が書いてみました.

Published in: Technology
  • Be the first to comment

Swift 2 (& lldb) シンポジウム

  1. 1. Yuichi Yoshida Chief engineer, DENSO IT Laboratory, Inc. @sonson_twit © 2014 DENSO IT Laboratory, Inc., All rights reserved. Redistribution or public display not permitted without written permission from DENSO IT Laboratory, Inc. オールドタイプの奮闘 Programming Swift 2 (& LLDB) シンポジウム Swiftをどうやって勉強するか
  2. 2. 自己紹介 2tchの中の人 • iOS好きです • 2tch(2ちゃんねるビューア) • iOS SDK Hacksなど • 研究・開発 • コンピュータビジョン • 機械学習 • 画像検索サービスとか • 車向けサービスやハードウェアとか
  3. 3. 本業
  4. 4. Swiftを始めるにあたって, どこから手を付けたらいいか,わからなくないですか?
  5. 5. プログラミング • C • C++(触るレベル) • MATLAB • Ruby(触るレベル) • Javascript(適当レベル) • Objective-C
  6. 6. たとえば,C→Ruby int length = 10; int *array = (int*)malloc(sizeof(int) * length); // initialize array for (int i = 0; i < length; i++) { printf("%dn", array[i]); } free(array); 朝飯前だ!
  7. 7. たとえば,C→Ruby var array = [10, 2, 3, 4, 5, 5, 2] array.each{|e| puts e } var array = [10, 2, 3, 4, 5, 5, 2] for i in 0...array.count puts array[i] end Before breakfast! 直訳 Piece of cake! 意訳
  8. 8. 避けたいこと • Rubyを始めたとき(今でも・・・だけど) • CをそのままRubyにしただけ • RubyでコンパイルできるC言語のコード・・・ • C→Rubyへのアドバンテージがない • ライブラリやGemだけ • Obj-C→Swiftの場合はそれすらない その言語ならではの書き方を学ばなければ意味がない
  9. 9. Obj-Cっぽくないコード書くために • !を使わない • できる限り高階関数で実装する • できる限りclassをstructに換える(意味ないのはダメ) • protocolも使う • Result<A>に挑戦する • flatMapに挑戦する←イマココ
  10. 10. 最初 • Swift,Optional,爆発しろ
  11. 11. 現在 • Swiftかわいいよ,Swift・・・・
  12. 12. reddift Swift Reddit API Wrapper • 1億人以上のアメリカのSNS • APIあり • Objective-CのAPI Wrapperはあり • OAuth2に対応してない • Swiftじゃない • よし,いっちょ,勉強がてら作るか! • MIT License https://github.com/sonsongithub/reddift
  13. 13. http://www.objc.io/books/ https://robots.thoughtbot.com/efficient-json-in-swift-with- functional-concepts-and-generics 参考文献?
  14. 14. まとめ • 勉強どう始める? • Swiftっぽいコードを書かないと意味がない • ちょっとずつSwiftっぽくしていけばいいんじゃね? • 議論 • 何から始めればいいのか • Swift っぽいコードとは? • Swiftで関数型言語として実装すべきか • 関数型と手続き型の中間だと思うけど・・・・
  15. 15. デンソーアイティーラボラトリでは、          研究者,エンジニアを絶賛募集中です。 興味のある方はこちら。https://www.d-itlab.co.jp/recruit/ 画像処理・機械学習・信号処理・自然言語処理など

×