WWDC2014で発表されたAppleの新言語Swiftについて語りましょう
関連スレ
プログラミング言語Swift Part4
http://potato.2ch.net/test/read.cgi/mac/1484763495/
[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://potato.2ch.net/test/read.cgi/mac/1484217623/
Xcode part14
http://potato.2ch.net/test/read.cgi/mac/1476190499/
Swiftアンチスレ part1
http://echo.2ch.net/test/read.cgi/tech/1458491343/
前スレ
Swift part9
http://echo.2ch.net/test/read.cgi/tech/1476758084/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
Swift part10 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 3b3c-eq+O)
2017/02/20(月) 10:00:13.40ID:ChbPWtRt0152デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/13(月) 08:37:47.51ID:W+gruSmy0 collection.map { ..... }
の書き方は
collection map {....}.
ってかくsmalltalkの書き方の真似だよ。
rubyでは{...}がオブジェクトじゃないからこうするんだけど
swiftは{...}がオブジェクトだけど関数の()が省略できないから
という理由でこうするのだろうね。
の書き方は
collection map {....}.
ってかくsmalltalkの書き方の真似だよ。
rubyでは{...}がオブジェクトじゃないからこうするんだけど
swiftは{...}がオブジェクトだけど関数の()が省略できないから
という理由でこうするのだろうね。
153デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/13(月) 08:46:31.00ID:W+gruSmy0 >>152をもしよむには、そこの間に:忘れたから各自補っておくように。
154デフォルトの名無しさん (アウアウウー Sa93-j8zu)
2017/03/13(月) 13:44:46.91ID:l2t9P+Aja >>152をもしよむには、Smalltalkのブロックが [ ] になってないからこれも各自脳内置換するように。
155デフォルトの名無しさん (ブーイモ MM92-4Oo7)
2017/03/13(月) 16:20:02.25ID:VusjWGEdM156デフォルトの名無しさん (ワッチョイ d2ed-lBbp)
2017/03/13(月) 20:11:52.15ID:hyVcDS3T0 >>152
Swift や Ruby のメソッド map に相当する
Smalltalk のメッセージは collect だよん
まとめよう
[Swift]
・collection.map({ ..... }) // 一般的(常識的?)な書き方
・collection.map() { ..... } // クロージャを引数リストの直後へ移動できる
・collection.map { ..... } // さらには丸カッコ () も省略できる
[Ruby]
・collection.map(lambda { ..... }) # Ruby だと一般的ではない
・collection.map() { ..... } # ブロックを引数リストの直後へ移動できる(ブロック付きメソッド呼び出し)
・collection.map { ..... } # さらには丸カッコ () も省略できる(これが普通の Ruby らしい書き方)
[Smalltalk]
・collection collect: [ ..... ] "書き方はこれだけ"
たったこれだけで Swift の Tailing Closure は「smalltalkの書き方の真似」って言い切っちゃう>>152さんて素敵(棒
Swift や Ruby のメソッド map に相当する
Smalltalk のメッセージは collect だよん
まとめよう
[Swift]
・collection.map({ ..... }) // 一般的(常識的?)な書き方
・collection.map() { ..... } // クロージャを引数リストの直後へ移動できる
・collection.map { ..... } // さらには丸カッコ () も省略できる
[Ruby]
・collection.map(lambda { ..... }) # Ruby だと一般的ではない
・collection.map() { ..... } # ブロックを引数リストの直後へ移動できる(ブロック付きメソッド呼び出し)
・collection.map { ..... } # さらには丸カッコ () も省略できる(これが普通の Ruby らしい書き方)
[Smalltalk]
・collection collect: [ ..... ] "書き方はこれだけ"
たったこれだけで Swift の Tailing Closure は「smalltalkの書き方の真似」って言い切っちゃう>>152さんて素敵(棒
157デフォルトの名無しさん (ササクッテロリ Sp57-O+kf)
2017/03/13(月) 20:27:44.22ID:OdMsjmQCp よくわかんないけど
だからSmalltalk系譜のObjCは最高!Swiftはクソ!!
っていう荒らしの流れでおk?
swiftがperlとpyhtonとrubyとphpとjavaとc/c++とkotlinとgoとrustとetc....に似てるって
swift betaが出た当初から言われてたのに「SwiftはRubyの皮を被ったC++ 」とかヘソで茶が沸くよね
あっちこっちの言語から文法パクってるのに自分が知ってるRubyだけしか注目できてないだけじゃねーかw
だからSmalltalk系譜のObjCは最高!Swiftはクソ!!
っていう荒らしの流れでおk?
swiftがperlとpyhtonとrubyとphpとjavaとc/c++とkotlinとgoとrustとetc....に似てるって
swift betaが出た当初から言われてたのに「SwiftはRubyの皮を被ったC++ 」とかヘソで茶が沸くよね
あっちこっちの言語から文法パクってるのに自分が知ってるRubyだけしか注目できてないだけじゃねーかw
158デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/13(月) 21:02:12.46ID:W+gruSmy0 rubyの言いたいことはメソッドの定義をメソッドの使用する形で書けるようにするって
事で、
smalltalkの言いたいのはオブジェクトの定義をオブジェクトにメッセージを送る形で
書きたかったということだから発想は同じ。
例えばC言語だと定義はint f(){}の形だけど使うのはf()の形だから同じじゃないからね。
事で、
smalltalkの言いたいのはオブジェクトの定義をオブジェクトにメッセージを送る形で
書きたかったということだから発想は同じ。
例えばC言語だと定義はint f(){}の形だけど使うのはf()の形だから同じじゃないからね。
159デフォルトの名無しさん (ワッチョイ d2ed-lBbp)
2017/03/13(月) 21:41:18.89ID:hyVcDS3T0 >>157
せっかくSwift と似ている言語として「perlとpyhtonとrubyとphpとjavaとc/c++とkotlinとgoとrust」を
挙げてくれたのだから、各言語ユーザが自分の知っている言語に注目して、似ている所をカキコすれば
いいのではないかと思われ
たとえば、もし仮に Swift で内包表記が採用されていたなら、
「Swift は Pythonから内包表記をパクった」と主張できるよね
あるいは「Swift の Tailing Closure と似ている言語は XXX がある(Ruby だけじゃない)」といふ
意見が出てくれれば嬉しい限りですねえ
せっかくSwift と似ている言語として「perlとpyhtonとrubyとphpとjavaとc/c++とkotlinとgoとrust」を
挙げてくれたのだから、各言語ユーザが自分の知っている言語に注目して、似ている所をカキコすれば
いいのではないかと思われ
たとえば、もし仮に Swift で内包表記が採用されていたなら、
「Swift は Pythonから内包表記をパクった」と主張できるよね
あるいは「Swift の Tailing Closure と似ている言語は XXX がある(Ruby だけじゃない)」といふ
意見が出てくれれば嬉しい限りですねえ
160デフォルトの名無しさん (ワッチョイ 32c9-aox5)
2017/03/13(月) 21:48:14.79ID:4Ob213Q20 Haskellにも似てるらしいぞ
CPUの歓声が聞こえてくるところが
CPUの歓声が聞こえてくるところが
161デフォルトの名無しさん (ワッチョイ 07ba-fiD0)
2017/03/13(月) 21:54:10.12ID:rWhPvBOB0 golangに似てるところ上げてみろよw
162デフォルトの名無しさん (ワッチョイ 323c-ZZsN)
2017/03/13(月) 22:06:52.68ID:h57/U2+30 >>151
その程度の類似でRubyの皮を被ったとは言わんだろ
その程度の類似でRubyの皮を被ったとは言わんだろ
163デフォルトの名無しさん (ワッチョイ 323c-ZZsN)
2017/03/13(月) 22:14:02.97ID:h57/U2+30164デフォルトの名無しさん (ササクッテロリ Sp57-O+kf)
2017/03/14(火) 06:26:59.13ID:oHQ/8mFsp >>161
defer文法パックったところ
defer文法パックったところ
165デフォルトの名無しさん (ワッチョイ f73c-jJqA)
2017/03/14(火) 16:49:31.85ID:+ZD30cPg0 他の言語の影響受けてるのは明言してるんだし
パクッてオリジナル主張してるわけじゃないから何に似てようが別に良くね
話の発端っぽい>>142も「俺にとっては」とあるから
単に当人が知ってる範囲内での感想だろう
パクッてオリジナル主張してるわけじゃないから何に似てようが別に良くね
話の発端っぽい>>142も「俺にとっては」とあるから
単に当人が知ってる範囲内での感想だろう
166デフォルトの名無しさん (ワッチョイ 97bd-O+kf)
2017/03/15(水) 04:07:35.03ID:Z1jXyE+K0 別に良いよ、Swiftの世間話として談笑してるだけだよー
SwiftはPythonから関数引数の順不同指定可をパクった
・・・が2.xのいつぞやのタイミングで仕様ドロップと相成って悲しい
確かにSwiftで使うメリット少なくて利用者いなかったかもしれんけど、わざわざ実装したのに勿体ない
SwiftはPythonから関数引数の順不同指定可をパクった
・・・が2.xのいつぞやのタイミングで仕様ドロップと相成って悲しい
確かにSwiftで使うメリット少なくて利用者いなかったかもしれんけど、わざわざ実装したのに勿体ない
167デフォルトの名無しさん (アウアウエー Sa8a-WjpG)
2017/03/15(水) 10:07:37.18ID:WCbgXlGea Swiftは言語界の中国人ですね
168デフォルトの名無しさん (アウアウウー Sa93-j8zu)
2017/03/15(水) 11:14:37.72ID:qed+p8OGa >>166
名前付き引数の順不同化はSmalltalkのメッセージ式を見たら誰でも最初に思いつくアイデアだけど
似たようなObjective-Cのやり方を内部的に引きずっていたらきっと難しいだろうね
ちょっと試すくらいなら簡単だけど、すぐに破綻をきたす
名前付き引数の順不同化はSmalltalkのメッセージ式を見たら誰でも最初に思いつくアイデアだけど
似たようなObjective-Cのやり方を内部的に引きずっていたらきっと難しいだろうね
ちょっと試すくらいなら簡単だけど、すぐに破綻をきたす
169デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/15(水) 13:53:38.07ID:62YvBKwJ0 >>165
話の発端「Rubyの皮」、の発言人です。
Pascal, Clang, Fortran, Lisp, Ruby, Visual Basic, C++を触ってきた経験からの
感想です。Rubyの皮を被ったC++ってのは。
Swiftはいろんな言語の影響を受けてる事が判りました。
今はJavaScriptを触りたいけど、時間が無い。
話の発端「Rubyの皮」、の発言人です。
Pascal, Clang, Fortran, Lisp, Ruby, Visual Basic, C++を触ってきた経験からの
感想です。Rubyの皮を被ったC++ってのは。
Swiftはいろんな言語の影響を受けてる事が判りました。
今はJavaScriptを触りたいけど、時間が無い。
170デフォルトの名無しさん (アウアウエー Sa8a-WjpG)
2017/03/15(水) 14:09:22.47ID:MTxLUUdIa COBOLの経験のない奴には言語を語る資格はない
171デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/15(水) 14:33:46.75ID:62YvBKwJ0 >>170
なぜでしょう?
なぜでしょう?
172デフォルトの名無しさん (ワッチョイ 131f-2xLV)
2017/03/15(水) 14:34:53.40ID:7YWEdixI0 >>169
javascriptはやめとけ
javascriptはやめとけ
173デフォルトの名無しさん (アウアウエー Sa8a-WjpG)
2017/03/15(水) 14:39:23.26ID:MTxLUUdIa174デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/15(水) 14:58:49.09ID:62YvBKwJ0 >>173
では、その大御所は現代のプログラミング言語にどの様な、影響を与えているのでしょうか?
では、その大御所は現代のプログラミング言語にどの様な、影響を与えているのでしょうか?
175デフォルトの名無しさん (アウアウエー Sa8a-WjpG)
2017/03/15(水) 15:20:22.31ID:MTxLUUdIa 影響というより、その冗長性と非モダンな特徴からくる反面教師としての側面の方が大きいかな
COBOLを知っていないと実感をもって指摘はできないだろうけど
COBOLを知っていないと実感をもって指摘はできないだろうけど
176デフォルトの名無しさん (ワッチョイ f73c-aox5)
2017/03/15(水) 16:05:11.06ID:xlyceK/o0 >>170
老害はシネy
老害はシネy
177デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/15(水) 17:00:38.28ID:62YvBKwJ0178デフォルトの名無しさん (ワッチョイ f73c-aox5)
2017/03/15(水) 17:21:51.12ID:xlyceK/o0 >>177
ボキャブラ天国とか見てた老害はs
ボキャブラ天国とか見てた老害はs
179デフォルトの名無しさん (スッップ Sd92-K8Mp)
2017/03/15(水) 18:31:39.28ID:tAf0WVvBd C言語系やっていてK&Rを知らないってどういう事?
180デフォルトの名無しさん (ワッチョイ 5232-C77W)
2017/03/15(水) 19:12:41.40ID:sBKf9EyJ0181デフォルトの名無しさん (ササクッテロロ Sp57-WjpG)
2017/03/15(水) 19:37:35.38ID:3Vn4G48fp スラスラは読めないけど、作者と大体のあらすじは知ってるわな
182デフォルトの名無しさん (スッップ Sd92-K8Mp)
2017/03/15(水) 21:02:45.81ID:tAf0WVvBd >>180
基礎の基礎だと
基礎の基礎だと
183デフォルトの名無しさん (ワッチョイ 133c-QFag)
2017/03/16(木) 01:01:49.48ID:AMKOKIXm0 お前ら行書読めるの?スゲー
184デフォルトの名無しさん (ワッチョイ bf85-tpgq)
2017/03/16(木) 01:12:51.30ID:5p3YbdlX0 マシン語でもおぼえとけ
185デフォルトの名無しさん (ワッチョイ a3ba-yrln)
2017/03/16(木) 01:27:04.22ID:zhQm4U/K0 >>183
草書は無理だけど行書は読めるんでない?
草書は無理だけど行書は読めるんでない?
186デフォルトの名無しさん (ワッチョイ 133c-QFag)
2017/03/16(木) 02:02:49.43ID:AMKOKIXm0 >>185
素で間違えた。それを言いたかった
でも、行書でも結局読めない
空海・風信帖
https://upload.wikimedia.org/wikipedia/commons/b/bf/Huushincho_1.jpg
最澄・久隔帖
https://upload.wikimedia.org/wikipedia/commons/e/e7/Shakuhai.jpg
素で間違えた。それを言いたかった
でも、行書でも結局読めない
空海・風信帖
https://upload.wikimedia.org/wikipedia/commons/b/bf/Huushincho_1.jpg
最澄・久隔帖
https://upload.wikimedia.org/wikipedia/commons/e/e7/Shakuhai.jpg
187デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/16(木) 02:21:25.59ID:7dTItZGXa ところどころ読めるやろ
188デフォルトの名無しさん (ワッチョイ 133c-QFag)
2017/03/16(木) 08:03:25.57ID:AMKOKIXm0 >>187
コンパイルエラー
コンパイルエラー
189デフォルトの名無しさん (スップ Sddf-gIrG)
2017/03/16(木) 09:05:27.04ID:/skZEy4/d ロードはできるけどコンパイルエラーするな
190デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/16(木) 10:07:43.91ID:bRh67wE3a デバッグしろよ
191デフォルトの名無しさん (ササクッテロリ Sp97-td7u)
2017/03/16(木) 11:38:07.47ID:7qEFMeDJp 文法もわからんしAPI仕様書もない、ムリゲ
しかし、日本語の大御所で基礎の基礎だから読めないヤツは日本語を話る資格ないのか
これからは日本語でおkとか言えないな、、、
しかし、日本語の大御所で基礎の基礎だから読めないヤツは日本語を話る資格ないのか
これからは日本語でおkとか言えないな、、、
192デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/16(木) 11:49:59.94ID:bRh67wE3a 神経質な奴だな
そんな落ち込むなよ
そんな落ち込むなよ
193デフォルトの名無しさん (スフッ Sddf-CJUg)
2017/03/16(木) 12:31:27.45ID:0Zav/vrEd コンパイラなんてそんなもんだよ
ソースが同じでもテキストフォーマット変わればコンパイル通らないし
同じ言語でも世代が違えばコンパイル出来なかったり動作が変わったりする
ソースが同じでもテキストフォーマット変わればコンパイル通らないし
同じ言語でも世代が違えばコンパイル出来なかったり動作が変わったりする
194デフォルトの名無しさん (ワッチョイ 03c9-JN/B)
2017/03/16(木) 12:36:14.54ID:68bWV4sz0 >>193
Ruby1.8, 1.9しか知らんのだけど、今時の2.4ってのは全然動作が違うのかね?
osx El CapにはRuby2.0搭載なので、極タマに使ってみて、あんまり変化の無い
事に安心してるんだが。
Ruby1.8, 1.9しか知らんのだけど、今時の2.4ってのは全然動作が違うのかね?
osx El CapにはRuby2.0搭載なので、極タマに使ってみて、あんまり変化の無い
事に安心してるんだが。
195デフォルトの名無しさん (スップ Sddf-8YZg)
2017/03/16(木) 12:40:19.13ID:fylU8k5ad >>191
「日本語でおkとか」の「とか」は、「日本語でおk」以外の何?
「日本語でおkとか」の「とか」は、「日本語でおk」以外の何?
196デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/16(木) 12:53:53.08ID:bRh67wE3a とか
1.
《副助》例をあげて並べるのに使う。 「A―B―の記号」
2.
《普通は下に「言う」「聞く」などを伴って》 《連語》内容が不確かであることを表す。 「橋沢―いう人」
>>191の場合は、「2.」の用例だろ
つまり、
「日本語でおk」だったか、「日本語でOK」だったか、「日本語でおっけー」だったか不確かだけど、そんな風な言い方
ってこと
1.
《副助》例をあげて並べるのに使う。 「A―B―の記号」
2.
《普通は下に「言う」「聞く」などを伴って》 《連語》内容が不確かであることを表す。 「橋沢―いう人」
>>191の場合は、「2.」の用例だろ
つまり、
「日本語でおk」だったか、「日本語でOK」だったか、「日本語でおっけー」だったか不確かだけど、そんな風な言い方
ってこと
197デフォルトの名無しさん (スップ Sddf-8YZg)
2017/03/16(木) 13:04:00.85ID:fylU8k5ad >>196
内容が不確かな事を書かれても、不確かなのだから、何を書きたいのか解らないよ。
内容が不確かな事を書かれても、不確かなのだから、何を書きたいのか解らないよ。
198デフォルトの名無しさん (ササクッテロロ Sp97-aZn0)
2017/03/16(木) 14:04:38.09ID:B/XDf7Uvp じゃあ、日本語でおk で
199デフォルトの名無しさん (ワッチョイ 133c-QFag)
2017/03/16(木) 19:08:04.75ID:AMKOKIXm0200デフォルトの名無しさん (スププ Sddf-CJUg)
2017/03/17(金) 09:04:36.10ID:CVisIQCrd201デフォルトの名無しさん (ワッチョイ 133c-jYbd)
2017/03/17(金) 17:40:08.81ID:OpOSLOXG0 >>191のとかは不相応の程度を強める際の「なんて」と可換なニュアンスだろう
例 ハゲとか無理
例 ハゲとか無理
202デフォルトの名無しさん (スップ Sddf-KrGq)
2017/03/18(土) 01:27:16.65ID:6ina02vGd 日本語とかでおk
203デフォルトの名無しさん (ワッチョイ 53ba-nPNM)
2017/03/18(土) 02:26:45.14ID:6b/Lj0PJ0 必ずしも日本語じゃなくてOKってことね
よかった
よかった
204デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/18(土) 10:00:01.78ID:T7L2R5qRd とかに無理やり絡めると
省略あるいは不明確を示すとかはワイルドカードなんだと思う
とりあえず早い事perl like構文で使える正規表現をサポートしてほしい
Swiftのガッカリポイントの一つがまだ純正で正規表現が使えないというところだったから
省略あるいは不明確を示すとかはワイルドカードなんだと思う
とりあえず早い事perl like構文で使える正規表現をサポートしてほしい
Swiftのガッカリポイントの一つがまだ純正で正規表現が使えないというところだったから
205デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 10:52:24.54ID:h03j8lZL0 >>204
String#range(of:options:range:locale:)
options のところに .regularExpression を使えば、searchString で正規表現を利用した文字列(例えば “2ch+*" とか)が使えます。
String#range(of:options:range:locale:)
options のところに .regularExpression を使えば、searchString で正規表現を利用した文字列(例えば “2ch+*" とか)が使えます。
206デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 10:55:36.95ID:h03j8lZL0 typealias String.CompareOptions = NSString.CompareOptions
に注意ね。
に注意ね。
207デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/18(土) 11:50:49.28ID:T7L2R5qRd >>205
うん、しってるんだけどさぁ、これってNSStringにブリッジしてそっちのregex使ってるんじゃなかったっけ?
内部的にutf16になっちゃうので使いにくかった気がする
Swift2の頃の記憶だからSwift3では違うのかな?
Swiftではregex使わないようにしてたので、久しぶりに使ってみるかな?
それと、perlみたいにregexの結果をイテレートしてとか
そういう使い方したい
うん、しってるんだけどさぁ、これってNSStringにブリッジしてそっちのregex使ってるんじゃなかったっけ?
内部的にutf16になっちゃうので使いにくかった気がする
Swift2の頃の記憶だからSwift3では違うのかな?
Swiftではregex使わないようにしてたので、久しぶりに使ってみるかな?
それと、perlみたいにregexの結果をイテレートしてとか
そういう使い方したい
208デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 12:05:47.32ID:h03j8lZL0 import Foundation
let str: NSString = NSString(string: "Charlie Brown")
let a:NSRange = str.rangeOfString("Brown")
print(a.location)
print(a.length)
print(NSNotFound)
var ar: NSArray
do {
let reg: NSRegularExpression = try NSRegularExpression(pattern: "Brown",
options: NSRegularExpressionOptions.UseUnicodeWordBoundaries)
let str0 = str as String
let match: NSTextCheckingResult? = reg.firstMatchInString(str0,
options: NSMatchingOptions.ReportCompletion,
range: NSMakeRange(0, str.length))
print(match)
print(match!.range)
} catch {}
ちょいと前に保管したsnipet
let str: NSString = NSString(string: "Charlie Brown")
let a:NSRange = str.rangeOfString("Brown")
print(a.location)
print(a.length)
print(NSNotFound)
var ar: NSArray
do {
let reg: NSRegularExpression = try NSRegularExpression(pattern: "Brown",
options: NSRegularExpressionOptions.UseUnicodeWordBoundaries)
let str0 = str as String
let match: NSTextCheckingResult? = reg.firstMatchInString(str0,
options: NSMatchingOptions.ReportCompletion,
range: NSMakeRange(0, str.length))
print(match)
print(match!.range)
} catch {}
ちょいと前に保管したsnipet
209デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/18(土) 12:32:40.53ID:vKa31hq6d210デフォルトの名無しさん (ササクッテロリ Sp97-TYuy)
2017/03/18(土) 12:51:59.51ID:15tZ92u+p 少し前のDev MLで正規表現を言語仕様に組み込む話題があったような
あって困るものじゃないから入って欲しいね
あって困るものじゃないから入って欲しいね
211デフォルトの名無しさん (ワッチョイ bfc9-QFag)
2017/03/18(土) 12:54:59.80ID:XXqg+DqY0 議論はあったけど4には入らんと思う
> Addressing Regexps in Swift proper is out of scope for Swift 4, because
> there's simply no time to design and add the necessary language features.
> Addressing Regexps in Swift proper is out of scope for Swift 4, because
> there's simply no time to design and add the necessary language features.
212デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/18(土) 14:54:04.70ID:CoM5VADKa Obj-Cもそうだけど、Swiftで正規表現使おうとするたびに、使い方をググってるわ
Perlだとすぐに書けるんだけどな
Perlだとすぐに書けるんだけどな
213デフォルトの名無しさん (ワッチョイ bf3c-5NuA)
2017/03/18(土) 15:26:50.32ID:eyWXYpAT0 Swift 4が最終ステージに(白目)
https://www.infoq.com/jp/news/2017/03/swift-4-release-process
https://www.infoq.com/jp/news/2017/03/swift-4-release-process
214デフォルトの名無しさん (ワッチョイ bfc9-QFag)
2017/03/18(土) 15:51:30.64ID:XXqg+DqY0 日本語版InfoQはいつもネタが一ヶ月遅い
215デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 16:03:29.07ID:h03j8lZL0216デフォルトの名無しさん (ワッチョイ 3f93-CJUg)
2017/03/18(土) 16:33:29.93ID:L7+Dd5xH0 >>215
"A" for Application
"A" for Application
217デフォルトの名無しさん (ワッチョイ 133c-jYbd)
2017/03/18(土) 17:10:49.00ID:61cBFpsD0 APIの派生
ソースレベル互換→バイナリレベル互換
ソースレベル互換→バイナリレベル互換
218デフォルトの名無しさん (ワッチョイ 3f93-CJUg)
2017/03/18(土) 18:08:39.34ID:L7+Dd5xH0 なかなかAPIとABIとシステムコールとライブラリとフレームワークという言葉ををきちんと分かった上で使い分けるのが難しいんだよね
うちの若手とか
>>213の文脈だと
以前からあるライブラリとかと再コンパイルしなくてもリンク出来る
ってのがABIレベルでの互換性だろうね
うちの若手とか
>>213の文脈だと
以前からあるライブラリとかと再コンパイルしなくてもリンク出来る
ってのがABIレベルでの互換性だろうね
219デフォルトの名無しさん (ワッチョイ 133c-jYbd)
2017/03/18(土) 18:39:09.49ID:61cBFpsD0 システムコールは置いといていいでしょ
普通の開発者は直接的には使わないんだし
普通の開発者は直接的には使わないんだし
220デフォルトの名無しさん (ササクッテロリ Sp97-v7qi)
2017/03/18(土) 19:27:50.95ID:15tZ92u+p これと言ってることが微妙に違うのはInfoQの情報が古いのか、こっちの更新が遅れているのか
https://github.com/apple/swift-evolution/blob/master/README.md
はよABI安定させてlibSwift.soをiOS, macOSのシステムライブラリに保存してくれよなぁ
Swift 3でABI安定させるって理想だった頃はその構想だったのかもしれんが、ABI安定時期が不透明な今はもう諦めてるのかもしれん
https://github.com/apple/swift-evolution/blob/master/README.md
はよABI安定させてlibSwift.soをiOS, macOSのシステムライブラリに保存してくれよなぁ
Swift 3でABI安定させるって理想だった頃はその構想だったのかもしれんが、ABI安定時期が不透明な今はもう諦めてるのかもしれん
221デフォルトの名無しさん (ワッチョイ 3f93-CJUg)
2017/03/18(土) 20:06:24.89ID:L7+Dd5xH0 >>219
いやさ、printf()で済むところをwrite()とか、put()とか使いたがる人が居たりするんだよ
ライブラリ関数とシステムコールの違いが分かってないのよねん
説教したくなるのをグッとこらえて、システムコール使うと遅くなるしメンテナンスが大変になるんだよと言ってもなかなか納得してくれない
いやさ、printf()で済むところをwrite()とか、put()とか使いたがる人が居たりするんだよ
ライブラリ関数とシステムコールの違いが分かってないのよねん
説教したくなるのをグッとこらえて、システムコール使うと遅くなるしメンテナンスが大変になるんだよと言ってもなかなか納得してくれない
222デフォルトの名無しさん (ワッチョイ 23ce-JN/B)
2017/03/18(土) 20:38:16.85ID:GFFJDG7E0 Objective-Cでおk
以上。
おつでした。
以上。
おつでした。
223デフォルトの名無しさん (ワッチョイ 133c-jYbd)
2017/03/18(土) 20:39:58.56ID:61cBFpsD0 >>221
printf()もシステムコール使ってるよ
write() put()はシステムコールでなくラッパー関数でライブラリの一部
遅いのはシステムコールやチェック処理の回数差でバッファリングに起因する
printf()もシステムコール使ってるよ
write() put()はシステムコールでなくラッパー関数でライブラリの一部
遅いのはシステムコールやチェック処理の回数差でバッファリングに起因する
224デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 22:12:10.15ID:h03j8lZL0 >>221
システムコールって遅いの?逆なんじゃない?
つまり、ライブラリ関数より早い。
だって、ライブラリ関数はシステムコールのラッパー関数なんでしょ?
俺、arc4random_uniformとか、atofとか使いまくってるんですけど。
システムコールって遅いの?逆なんじゃない?
つまり、ライブラリ関数より早い。
だって、ライブラリ関数はシステムコールのラッパー関数なんでしょ?
俺、arc4random_uniformとか、atofとか使いまくってるんですけど。
225デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 22:21:36.55ID:h03j8lZL0 >>223
write()ってのは、何を指しているのでしょう?
ライブラリの一部というのだから、
FoundationライブラリString#write(to:)の事でしょうか?
なら、printfよりも遅いですよね。
put()はなんの事でしょうか?
write()ってのは、何を指しているのでしょう?
ライブラリの一部というのだから、
FoundationライブラリString#write(to:)の事でしょうか?
なら、printfよりも遅いですよね。
put()はなんの事でしょうか?
226デフォルトの名無しさん (ワッチョイ 133c-tpgq)
2017/03/18(土) 23:27:27.95ID:61cBFpsD0227デフォルトの名無しさん (ワッチョイ 133c-tpgq)
2017/03/18(土) 23:30:26.08ID:61cBFpsD0 長々書いたけど swiftdoc.org やAppleの開発ドキュメントを
見てたら多分支障無いから気にしなくていい
見てたら多分支障無いから気にしなくていい
228デフォルトの名無しさん (ワッチョイ 035b-8e1h)
2017/03/19(日) 00:02:51.00ID:X9SioAAy0 >>226
なるホドォ
なるホドォ
229デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/19(日) 00:11:01.40ID:WMiUvz/ea まさかこのスレにシステムコールのオーバーヘッドを気にするようなスピード狂がいたとは
230デフォルトの名無しさん (ワッチョイ cf7b-vzQh)
2017/03/19(日) 02:31:51.49ID:MM3vmS8Q0 1,000バイトの読み書きをするのに、1バイトずつ、
syscall * 1,000回すると遅いから、
ライブラリ内でバッファを確保(バッファリング)して、
1,000バイト貯まったタイミングで、syscallを1回だけ呼ぶと、速い
syscall * 1,000回すると遅いから、
ライブラリ内でバッファを確保(バッファリング)して、
1,000バイト貯まったタイミングで、syscallを1回だけ呼ぶと、速い
231デフォルトの名無しさん (ワッチョイ a33a-MtDv)
2017/03/19(日) 08:50:33.86ID:BHsM6TZ60 Dispatchの良いドキュメントってありますか?英語でもいいです。mpiのparallel forと同じようなことがしたいんですが、よくわからないので勉強したいので
232デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/19(日) 09:06:36.45ID:X9SioAAy0 >>231
Apple Gudes and Sample Codeで探せば!
Concurrency Programming Guide
とかヒットするけど。
Dispatch Queues, Dispatch SourceのSectionを参照。
Apple Gudes and Sample Codeで探せば!
Concurrency Programming Guide
とかヒットするけど。
Dispatch Queues, Dispatch SourceのSectionを参照。
233デフォルトの名無しさん (ワッチョイ 23ce-JN/B)
2017/03/19(日) 09:46:45.92ID:QbTcqaOM0 システムコールのオーバーヘッドを気にするような人がSwiftのようなモダンな高級言語を
使うとは胸熱だな
速度をちゃんとコントロールしたいならObjective-Cじゃないと無理だろ...
使うとは胸熱だな
速度をちゃんとコントロールしたいならObjective-Cじゃないと無理だろ...
234デフォルトの名無しさん (ササクッテロリ Sp97-v7qi)
2017/03/19(日) 09:55:06.98ID:yi8Y0/pHp ObjCもlibobjc.soとかのランタイムを食わせないと動かないからダメだろ
Swiftよりはランタイム総容量は小さいけどObjCにもランタイム/ラッパー関数は必要なんだぜ?
システムコール呼び出すC関数呼ぶだけならSwiftでもできるから同じ土俵
Swiftよりはランタイム総容量は小さいけどObjCにもランタイム/ラッパー関数は必要なんだぜ?
システムコール呼び出すC関数呼ぶだけならSwiftでもできるから同じ土俵
235デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/19(日) 10:08:01.66ID:X9SioAAy0 system callの呼び出し履歴を表示する、dtrussってコマンド見つけた。
trussのdetails版らしいけど、trussってなんの略だ?
trussのdetails版らしいけど、trussってなんの略だ?
236デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/19(日) 10:10:39.12ID:X9SioAAy0 trussはmanのsection 1にあるはずなんだけど、documentが、ない。
なぜだ?
なぜだ?
237デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/19(日) 10:12:54.40ID:X9SioAAy0 truss = trace user signal and system callかな?
238デフォルトの名無しさん (ワッチョイ 23ce-JN/B)
2017/03/19(日) 10:35:19.35ID:QbTcqaOM0239デフォルトの名無しさん (ワッチョイ 532b-v7qi)
2017/03/19(日) 16:43:04.63ID:BRUWii050 文法はwithout Cだけど、機能はwith CのSwiftすごい!!
Modern Objective-Cとかいう微妙に時代遅れなモダン言語(笑)とは違うな
Modern Objective-Cとかいう微妙に時代遅れなモダン言語(笑)とは違うな
240デフォルトの名無しさん (ワッチョイ 23ce-JN/B)
2017/03/19(日) 17:04:16.85ID:QbTcqaOM0 Swift:「文法はwithout Cだけど、機能はwith CのSwiftすごい!!」
C:「それじゃあ結局のところSwiftは文法的な見た目をモダン()にしただけの言語ってことになっちまうじゃねぇか...」
Objective-C:「」
C:「それじゃあ結局のところSwiftは文法的な見た目をモダン()にしただけの言語ってことになっちまうじゃねぇか...」
Objective-C:「」
241デフォルトの名無しさん (JP 0H37-oEzJ)
2017/03/19(日) 17:13:15.07ID:zGHcaEctH juliaも忘れんとって
242デフォルトの名無しさん (ワッチョイ bf3c-5NuA)
2017/03/20(月) 10:21:19.90ID:QillsqV80 つまりインラインでC言語が書けるObjective-Cが最強ってことだな。
SwiftもC言語埋め込めるようにすれば最強になれるで。
SwiftもC言語埋め込めるようにすれば最強になれるで。
243デフォルトの名無しさん (ワッチョイ bfd4-pP+o)
2017/03/20(月) 11:09:21.86ID:KXLYvEOG0 じゃあ、swiftにObjective-Cを埋め込めれば、真の最強じゃね?
244デフォルトの名無しさん (ワッチョイ 53ba-nPNM)
2017/03/20(月) 11:21:56.39ID:XcCZvFx20 至高の言語Swiftにひざまづけ愚民ども
245デフォルトの名無しさん (スップ Sddf-gIrG)
2017/03/20(月) 11:38:00.54ID:9CFcUwN1d without Cにする必要性について
246デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/20(月) 11:42:15.65ID:0inF6e9Oa ソースが汚くなるから
王室に乞食を招き入れるわけにはいかんだろ
王室に乞食を招き入れるわけにはいかんだろ
247デフォルトの名無しさん (ワッチョイ 532b-v7qi)
2017/03/20(月) 11:42:37.51ID:IesYv4al0248デフォルトの名無しさん (スップ Sddf-gIrG)
2017/03/20(月) 11:42:54.31ID:9CFcUwN1d249デフォルトの名無しさん (スッップ Sddf-8YZg)
2017/03/20(月) 13:24:38.46ID:es7jdWbid 俺はObjective-Cで、かつ、省略しない方が好き。
Swiftは、なんか、いろいろ中途半端。
あと、省略可能なのは良いけれど、省略した時にどうなるかを、考えなさすぎ。
省略時の動作は、最終的にコンパイラの実装依存になる。
よってコンパイラが変われば、全く期待した動作にならない場合だってあるんだよ。
Swiftは、なんか、いろいろ中途半端。
あと、省略可能なのは良いけれど、省略した時にどうなるかを、考えなさすぎ。
省略時の動作は、最終的にコンパイラの実装依存になる。
よってコンパイラが変われば、全く期待した動作にならない場合だってあるんだよ。
250デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/20(月) 13:32:26.07ID:LSRu7fHya Swiftに、省略時の曖昧な動作なんてあったっけ?
251デフォルトの名無しさん (エムゾネ FFdf-CJUg)
2017/03/20(月) 13:39:46.35ID:MLqjE/IfF >>242
Swiftでも直接Cの関数呼べるけどなんか問題ある?
このスレでも少し前にdup2()呼ぶサンプル書いてる人いたよ
個人的には
"C":{}とかで囲んで明示する必要がいるくらいには敷居を上げておいて欲しかった
今だと普通に呼べすぎて、swiftの関数なのかCの関数なのか見分けがつかない
Swiftでも直接Cの関数呼べるけどなんか問題ある?
このスレでも少し前にdup2()呼ぶサンプル書いてる人いたよ
個人的には
"C":{}とかで囲んで明示する必要がいるくらいには敷居を上げておいて欲しかった
今だと普通に呼べすぎて、swiftの関数なのかCの関数なのか見分けがつかない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 青森 緊急地震速報 [ぐれ★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★2 [冬月記者★]
- 【速報】衆院議員定数削減法案、自民・維新が今国会成立見送りで調整 [Hitzeschleier★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★2 [蚤の市★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ ★2 [Hitzeschleier★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★5 [Hitzeschleier★]
- 地蔵 [268244553]
- 【高市悲報】全角岩手、ガチで消息不明。地震で死亡か。 [246620176]
- 小野田紀美「今年の漢字は『推』!、推しが総理になりまして。推し活をした1年だったなあと」 [256556981]
- 地震だぁぁぁあ
- ぢしん [856698234]
- 【悲報】ネトウヨの次のターゲット「渡邊渚」に決まるwwwwwwwwwwwwwwwwwwwww [455031798]
