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.

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

3,710 views

Published on

  • Hello there! Get Your Professional Job-Winning Resume Here! http://bit.ly/topresum
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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/ 画像処理・機械学習・信号処理・自然言語処理など

×