Swift part2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2014/06/11(水) 14:42:15.02ID:+13mKJ0ZApple Developer
https://developer.apple.com/swift/
Welcome to Swift
https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/
iBooks: The Swift Programming Language
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
書籍の形にはなってないけどドキュメント
The Swift Programming Language
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
今のところbeta版のXcode 6がSwift対応らしい
https://developer.apple.com/xcode/downloads/
関連スレ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/
前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
0705デフォルトの名無しさん
2014/07/12(土) 19:31:52.68ID:xLJj+FnH確かに
.xcodeprojとかもあったな
ところで.swfは釣りっすか?w
0706デフォルトの名無しさん
2014/07/12(土) 19:40:07.02ID:hFyjpWla0707デフォルトの名無しさん
2014/07/12(土) 19:54:39.63ID:6CFefVBC0708デフォルトの名無しさん
2014/07/12(土) 19:56:25.31ID:CDlL/Wk/それはMS-DOSというかその前のCP/Mの制限だな。ファイル名8文字+拡張子3文字。
UNIXなんかは元々ファイルシステム上では単一の文字列でピリオド以降を拡張子として解釈するだけだから特に制限はない。
昔のMacOSだとファイル名と別に4文字までのTYPEが付けられる。
0709デフォルトの名無しさん
2014/07/12(土) 19:58:38.41ID:QxcUStnc0710デフォルトの名無しさん
2014/07/12(土) 19:59:03.13ID:awTqtEB0拡張子が3文字以下なことが多いのは、大昔の制限の名残だよ。
swiftは5文字なんだからそのままでいいでしょ
Scalaの拡張子もscalaだし
0711デフォルトの名無しさん
2014/07/12(土) 20:14:12.27ID:CKeavNXA冷静に考えよう
scala が 3文字になったら sca ですよ
0712デフォルトの名無しさん
2014/07/12(土) 20:15:43.85ID:uQaOo2aVそりゃプロジェクトファイルなんて数が少ないからどうでもいいんだよ
MSはソースファイルの拡張子は長くしない
0713デフォルトの名無しさん
2014/07/12(土) 21:17:23.03ID:HSia6VRMC++ (vector) --> 0.068秒
Python -> 0.173秒
Ruby --> 0.169秒
Swift (-Ofast付き) -> 2.32 秒
正式リリースまでにはまともになるのだろうか
0714デフォルトの名無しさん
2014/07/12(土) 21:23:12.71ID:74gS95aI0715デフォルトの名無しさん
2014/07/12(土) 21:28:51.25ID:YFp0R0a/FATファイルシステムの制限だよね。
0716デフォルトの名無しさん
2014/07/12(土) 21:39:21.19ID:HSia6VRM測ってみた
ObjC (NSArray) --> 0.414秒
0717デフォルトの名無しさん
2014/07/12(土) 21:43:46.26ID:74gS95aI0718デフォルトの名無しさん
2014/07/12(土) 21:52:52.01ID:I6M2/WNb糞言語だな
0719デフォルトの名無しさん
2014/07/12(土) 21:59:41.56ID:6CFefVBC0720デフォルトの名無しさん
2014/07/12(土) 22:07:44.47ID:R5OtEg7d作っておけば勝手に早くなってくれるんだから気にすることは無い。
0721デフォルトの名無しさん
2014/07/12(土) 22:15:35.10ID:ktHPdObyスレチになるけど、Python と Ruby の差が
予想以上に小さいことに驚いた
何か魔法を使っている?
それとも Python 最速伝説は幻想だったのかなぁ ....
0723デフォルトの名無しさん
2014/07/12(土) 22:19:33.25ID:UUivqCYRrubyは1.9からVMになってて、かなり高速化した。
まあ、配列作るだけのベンチマークにどれだけ意味があるのか分からんが
0724デフォルトの名無しさん
2014/07/12(土) 22:23:10.11ID:QxcUStnc0725デフォルトの名無しさん
2014/07/12(土) 22:36:49.50ID:B7XGURdfディクショナリ型はどうかなぁ
0726デフォルトの名無しさん
2014/07/12(土) 22:42:25.77ID:74gS95aI0727デフォルトの名無しさん
2014/07/13(日) 00:01:10.09ID:2r9XuANiWindowsにもthemeやmanifestなんて拡張子が増えたね
0728デフォルトの名無しさん
2014/07/13(日) 03:27:41.34ID:hh7t9GxI0729デフォルトの名無しさん
2014/07/13(日) 03:28:55.46ID:hh7t9GxIそのうち拡張子にホワイトスペースが含まれる時代がもうすぐ
0730デフォルトの名無しさん
2014/07/13(日) 08:43:44.21ID:FukqOMB8おまえのソース、みたくないものだな
0731デフォルトの名無しさん
2014/07/13(日) 12:53:54.09ID:f0JToqLxこの調子でSwiftコンパイラとlibswift_stdlibもオープンソースにしてくだしあ
0732デフォルトの名無しさん
2014/07/13(日) 12:56:08.02ID:zSV3XHBMCの良さを捨て去ったSwiftは許せん
0733デフォルトの名無しさん
2014/07/13(日) 13:20:52.58ID:hh7t9GxI0734デフォルトの名無しさん
2014/07/13(日) 13:54:25.32ID:Xj6Z/8Xz三日坊主にならなきゃいいが
0735デフォルトの名無しさん
2014/07/13(日) 13:59:12.52ID:XamuTFgihttps://github.com/ksm/SwiftInFlux
0736デフォルトの名無しさん
2014/07/13(日) 14:22:15.47ID:Au996OtXじゃあ安心して今後の改善に期待していいかな?
0737デフォルトの名無しさん
2014/07/13(日) 14:42:18.87ID:09pjGLVO> full grapheme clusters, which are composed of multiple code points.
Character
Note that Character is still evolving and will settle down by the final release of 1.0.
One of the reasons that we use double quote syntax to initialize Characters is that they are expected to be able to hold full grapheme clusters, which are composed of multiple code points. This will roll out in a later beta.
-- Chris Lattner
grapheme 字素
http://m.kotobank.jp/word/グラフィーム
0738デフォルトの名無しさん
2014/07/13(日) 14:47:04.79ID:XamuTFgiアクセントや濁点等の結合文字とか、サロゲートペアとか
文字コード上では2文字でも見た目が1文字なら1文字のCharacterとして扱うということでしょ
0739デフォルトの名無しさん
2014/07/13(日) 14:48:19.25ID:Au996OtXこういうこと
0740デフォルトの名無しさん
2014/07/13(日) 14:52:53.43ID:09pjGLVO日本も昔のASCII時代の濁点は困ってたけど。
0741デフォルトの名無しさん
2014/07/13(日) 14:57:34.52ID:BT8HK/tO多忙すぎてオープンソースにするかどうかの議論すらやる暇ないそうな
http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-June/073698.html
0742デフォルトの名無しさん
2014/07/13(日) 16:15:17.48ID:mp4RlYuSがんばれ
0743デフォルトの名無しさん
2014/07/14(月) 15:34:51.35ID:lReUhcBfあー、SwiftのREPLってこういう恩恵もあるのか
これは地味に嬉しい
0744デフォルトの名無しさん
2014/07/14(月) 16:24:45.59ID:JENp6B27Objective-Cでも使えるよ、repl関係ないよ
0745デフォルトの名無しさん
2014/07/14(月) 16:32:30.07ID:GToJEt01こんなクローズドな言語イラネ
0746デフォルトの名無しさん
2014/07/14(月) 16:50:08.98ID:xs99ZBfy0747デフォルトの名無しさん
2014/07/14(月) 16:58:55.70ID:lReUhcBfありゃ、そうなのかすまん
IB上ですぐ反映されるっていうから例のPlaygroundみたいに裏で実行してるのかと思ったよ
0748デフォルトの名無しさん
2014/07/14(月) 17:08:43.73ID:Z5ME5LpP0749デフォルトの名無しさん
2014/07/14(月) 17:10:01.47ID:4Au1+Pyc0750デフォルトの名無しさん
2014/07/14(月) 17:10:03.91ID:sQKqFHYbミ 彡 ,.ィi彡',.=从i、;;;;;;;;;;;;
三 ギ そ 三 ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
三. ャ れ 三 ,. -‐==- 、, /!li/'/ l'' l', ',ヾ,ヽ;
三 グ は 三 ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
三 で 三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
三. 言 ひ 三 .,,__/ . ,' ン′  ̄
三 っ ょ 三 / i l,
三. て っ 三 ノ ..::.:... ,_ i ! `´' J
三 る と 三 iェァメ`'7rュ、,ー' i }エ=、
三 の し 三 ノ "'  ̄ ! '';;;;;;;
三 か て 三. iヽ,_ン J l
三 !? 三 !し=、 ヽ i ,.
彡 ミ ! "'' `'′ ヽ、,,__,,..,_ィ,..r,',",
彡川川川ミ. l _, , | ` ー、≡=,ン _,,,
ヽ、 _,,,,,ィニ三"'" ,,.'ヘ rー‐ ''''''"
`, i'''ニ'" ,. -‐'" `/
ヽ ! i´ /
ノレ'ー'! / O
0751デフォルトの名無しさん
2014/07/14(月) 17:28:00.59ID:KGa9EEJehttp://qiita.com/dankogai/items/d63dfda25088165deed5
0752デフォルトの名無しさん
2014/07/14(月) 17:29:22.60ID:KGa9EEJe0753デフォルトの名無しさん
2014/07/14(月) 19:04:49.66ID:RZ62ioTLC#とか、Rubyとか、Googleは採用してませんが
0754デフォルトの名無しさん
2014/07/14(月) 20:17:16.27ID:DuRBXQUq(そこ、笑うとこやで、兄やんっ)
0755デフォルトの名無しさん
2014/07/14(月) 20:20:50.32ID:xs99ZBfy俺に言うな。>>745をよく見なさいw
0756デフォルトの名無しさん
2014/07/14(月) 21:51:45.56ID:whZx8tfPもしくはマルチ禁止とか無茶苦茶な規約を発動して潰すはず
0757デフォルトの名無しさん
2014/07/14(月) 21:55:50.47ID:xs99ZBfy0758デフォルトの名無しさん
2014/07/14(月) 22:02:32.94ID:JENp6B270759デフォルトの名無しさん
2014/07/15(火) 01:13:25.82ID:micTd99E0760デフォルトの名無しさん
2014/07/15(火) 01:15:01.52ID:wY3QqZWcjavaは?
0761デフォルトの名無しさん
2014/07/15(火) 06:09:34.87ID:G0sBDiLW0762デフォルトの名無しさん
2014/07/15(火) 09:54:28.35ID:X+1U4btAあれって実装コードがかぶっていたかららしい。
言語仕様が対象ではない
0763デフォルトの名無しさん
2014/07/15(火) 10:30:28.32ID:r2pgp0MyJavaのAPI仕様自体には著作権無いって判決が一審で出たんだけど
Oracleが控訴したら二審でこれが覆っちゃってちょっと大変なことになってる
API仕様に著作権あるってことで、このまま確定しちゃいそう
0764デフォルトの名無しさん
2014/07/15(火) 10:50:56.90ID:8APAVMM90765デフォルトの名無しさん
2014/07/15(火) 11:13:35.72ID:ySYgfKOJんなあほな。NFSにせよSolarisにしろAPIをオープンにするってのが、サンの戦略だったのに……
0766デフォルトの名無しさん
2014/07/15(火) 12:00:46.30ID:og7aDLMg0767デフォルトの名無しさん
2014/07/15(火) 12:05:19.99ID:AlmaazeQ0768デフォルトの名無しさん
2014/07/15(火) 12:11:56.15ID:j3zFGvRv0769デフォルトの名無しさん
2014/07/15(火) 12:23:24.29ID:7MWYl2Sv0770デフォルトの名無しさん
2014/07/15(火) 13:15:50.71ID:YSAyaOR/↓
じゃあ、俺が改変して使いやすくしたのおまえよりいっぱい配るわ
↓
ちょ!おま…
だいたいこんな
0771デフォルトの名無しさん
2014/07/15(火) 13:39:50.89ID:4zlWl4sH0772デフォルトの名無しさん
2014/07/15(火) 14:14:00.73ID:zrHbAgn8黙れ小僧、お前にサンが救えるか
0773デフォルトの名無しさん
2014/07/15(火) 14:17:28.25ID:r2pgp0My0774デフォルトの名無しさん
2014/07/15(火) 14:24:13.13ID:ySYgfKOJJavaがもっと最前線で熱い言語になってただろう
0775デフォルトの名無しさん
2014/07/15(火) 15:05:37.10ID:crlBJ/uWここなんのスレだっけ
0776デフォルトの名無しさん
2014/07/15(火) 17:40:26.17ID:AlmaazeQ0777デフォルトの名無しさん
2014/07/16(水) 00:17:19.37ID:zFOkDjlK0778デフォルトの名無しさん
2014/07/16(水) 11:06:00.57ID:CCnp7m7Gそこはぜひgolangで。
並列処理が書きやすいので、GUIなアプリって結構向いてると思うんだけどなぁ。
0779デフォルトの名無しさん
2014/07/16(水) 12:11:04.92ID:dtGU31iT0780デフォルトの名無しさん
2014/07/16(水) 13:10:05.87ID:H4PcVsCO0781デフォルトの名無しさん
2014/07/16(水) 14:19:01.12ID:wsy7O7ip0782デフォルトの名無しさん
2014/07/16(水) 15:33:25.95ID:Q9CmSXAc0783デフォルトの名無しさん
2014/07/16(水) 15:54:56.91ID:T3V8/QkC0784デフォルトの名無しさん
2014/07/16(水) 16:21:44.12ID:VD72Xzm00785デフォルトの名無しさん
2014/07/16(水) 16:51:21.56ID:j5ySGOGm0786デフォルトの名無しさん
2014/07/16(水) 17:06:37.35ID:Qi1kxiorインタプリタ(interpreter)とは、プログラミング言語で書かれたソースコードないし中間表現にある命令列を逐次解釈しながら実行するプログラムのこと。
インタプリタは次のだいたいいずれかの動作をするプログラムである。
1. ソースコードを直接実行する。
2. ソースコードを何らかの効率的な中間表現に変換し、それを即座に実行する。
3. システムの一部であるコンパイラが生成し出力した、コンパイル済みの中間表現を実行する。ソースプログラムはマシンに依存しない中間的なコードに事前にコンパイルされ、実行時にリンクされ、インタプリタで実行される。
マイクロコンピュータのTiny BASICは1番の例である。Perl、Python、MATLAB、Ruby は2番の例、Javaは3番の例である。
0787デフォルトの名無しさん
2014/07/16(水) 17:44:25.57ID:N1NQ+Icuあらかじめコンパイルしてるでしょ
0788デフォルトの名無しさん
2014/07/16(水) 17:49:05.83ID:PJMDKlZs0789デフォルトの名無しさん
2014/07/16(水) 18:06:03.74ID:VD72Xzm0独自のVMで実行してますので、そういう意味ではコンパイラです
0790デフォルトの名無しさん
2014/07/16(水) 18:11:55.83ID:2EKfnOIgスクリプトで作られたアプリなんて見たこと無いんだけど。AppleScriptで作られたインストーラとかは稀に見るけど、アプリって言えるもんじゃないしな
0791デフォルトの名無しさん
2014/07/16(水) 18:12:13.01ID:Qi1kxior0792デフォルトの名無しさん
2014/07/16(水) 18:15:31.97ID:N1NQ+Icuなんかの翻訳っぽいんだけど
翻訳だとしたら誤訳のような気がする
「即座に実行」って
「変換した直後に実行する」という意味に読めてしまう
0793デフォルトの名無しさん
2014/07/16(水) 18:16:35.96ID:Qi1kxiorその代わり大抵の事は出来るといえば出来る。 人の褌で相撲を取る。
0794デフォルトの名無しさん
2014/07/16(水) 18:17:32.82ID:YAHvhD3g0795デフォルトの名無しさん
2014/07/16(水) 18:17:46.09ID:2EKfnOIg0796デフォルトの名無しさん
2014/07/16(水) 18:19:20.70ID:2EKfnOIgAppleScriptはちゃんとアプリケーションを作ろうと思えば作れるんだけどw
でもそんなことするやつぁほとんどまったくいないのは、やっぱりスクリプトだからだろうなっていう
Pythonもそうかな。知らんけど
0797デフォルトの名無しさん
2014/07/16(水) 18:23:40.75ID:f0ZKY8xohttp://www.publickey1.jp/blog/13/dropboxpythonpycon_apac_2013.html
0798デフォルトの名無しさん
2014/07/16(水) 18:32:10.46ID:2EKfnOIgマジかっ!マジだった。自分の入れているアプリを調べたら結構汚染wされていた。そのうちどれだけまんまアプリなのか詳しくはみていないが
どうも。Pythonやるな。Swiftの紹介でもPythonが出されたのかこういうことか、とか
0799デフォルトの名無しさん
2014/07/16(水) 18:51:25.51ID:Qi1kxiorPythonはあくまでも汎用言語で、スクリプトの様な使い方が出来るからと言ってスクリプト専用言語では無いよ。
スクリプト的な使い方が出来るのは、Swiftだって同じ。
0800デフォルトの名無しさん
2014/07/16(水) 19:04:42.89ID:2EKfnOIgサンプルとかこう使ってるというのを見ると、実際にアプリ作っているというのは目にしたことが無く、だいたいにおいてスクリプトとしてしか使ってないんだろうと思い込んでいた部分がありの
PyObjCがあるのも知っていたけど、興味本位でCocoa呼べる使えるーってので、それでってたらそれで終了なのがだったのでし。AppleScriptも同じ
ふつーにアプリ作成する手段か作れるけど作りはしない手段の違い的なw
あがいてみたが、俺が悪かった
0801デフォルトの名無しさん
2014/07/16(水) 19:53:44.76ID:m0YcwmXR3点、指摘する
まず 1. と 2. の間に、
「1.5 ソースコードを抽象構文木(AST)に変換し、これを評価することで実行される」
という分類が抜けている
これは、Ruby 1.8 までの実装が該当する(1.9 からは YARV へ移行)
また学校の演習課題で作らされる大半の LISP 処理系も、これに該当するだろう
次に、3. はコンパイラの定義であり、インタプリタの定義としては間違っている
3. には「実行時にリンクされ、」という記述があるけれど、
インタプリタはすべてのシンボルのアドレスが解決された中間コードを生成できるから
コンパイラのように外部シンボルを解決するリンカを必要としない
仮想マシン技術を基礎とするすべての処理系はインタプリタであるという
解釈は誤りであって、実行形態によってインタプリタとコンパイラへと分類できる
いいかえると、javac(コンパイラ) と java(仮想マシン処理系)という明解な分離のある
「Java言語処理体系はコンパイラ」であって、これをインタプリタとするのは間違い
なお「javaコマンドはJVMバイトコードのインタプリタ」である、という表現は正しい
最後に、削除した旧 3. に代わって、3'. の定義を追加する
「3'. ソースプログラムはマシンに依存しない中間的なコードにコンパイルされた後、
マシンに依存するコード(機械語)へ再度コンパイルされてから実行される」
これは LLVM ベースのインタプリタ、たとえば MacRuby が該当する
0802デフォルトの名無しさん
2014/07/16(水) 20:19:38.09ID:m0YcwmXRDropBoxクライアントは元々 WxPython で書かれていたから、
OSX移植に PyObjC を利用するのは自然な流れだろうね
ただしこれは特殊なケースであって、Python が App Store で扱うような
「一般の OSX/iOS アプリ開発」にも適しているという結論にはならないのでは....
0803デフォルトの名無しさん
2014/07/16(水) 20:43:30.79ID:m0YcwmXRRuby のケースだと、RubyMotion(旧 MacRuby) があるよ
旧世代の RubyCocoa や PyObjC では Cocoa をアクセスするには
いちいち ScriptingBridge フレークワークを中継する必要があった
これらに対して新世代の RubyMotion では
Ruby の Object クラスが ObjC の NSObject クラスとして実装されているから、
ブリッジを介することなく直に Cocoa フレームワークを利用できる
結果として、すでに Rails が代表的なWebフレームワークとして
世界で認知されているように、RubyMotion も OSX/iOS 向けの
サードパーティ製スクリプト言語処理系として絶対的な存在になろうとしている
なお RubyMotion は(Swif のような)Apple純正の処理系ではないけれど、
その作者は(Cocoa の内部を知り尽くした?) Apple 所属の社員になる
現実には、プロトタイピングとして RubyMotion を使い
アプリをサクッと作ってはイジってコワすというプロセスを繰り返し、
仕様が固まったら Swift で書き直すという流れが多いだろうと思う
そして Ruby と Swift はどちらもオブジェクト指向はもちろんのこと、
普通のクロージャ(ブロック)を備えるなど関数型プログラミングにも
適しているという共通の特性があるから、両者の相性も良い
0804デフォルトの名無しさん
2014/07/16(水) 20:48:45.66ID:PJMDKlZs■ このスレッドは過去ログ倉庫に格納されています