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:ChbPWtRt0431デフォルトの名無しさん (ワッチョイ 6372-Xafy)
2017/04/26(水) 11:01:47.26ID:8tL6gyso0432デフォルトの名無しさん (ワッチョイ ab05-MGa5)
2017/04/26(水) 11:05:31.83ID:GvwT/G3X0 数で比較するんじゃなくて、どっちをユーザに使わせようとしてるかを比較するんだよ?
UIAlertController(推奨)とUIAlertView(非推奨)みたいなのもあるな
UIAlertController(推奨)とUIAlertView(非推奨)みたいなのもあるな
433デフォルトの名無しさん (ワッチョイ 6372-Xafy)
2017/04/26(水) 11:25:04.64ID:8tL6gyso0 すまん、数を持ち出したのは間違いだったが物事を単純に考えてる奴には目で見て分かりやすいと思ったので
新しいAPIでもcompletionHandlerもあればdelegateもあるし適材適所って事
新しいAPIでもcompletionHandlerもあればdelegateもあるし適材適所って事
434デフォルトの名無しさん (ワッチョイ ab05-MGa5)
2017/04/26(水) 11:38:07.27ID:GvwT/G3X0 適材適所であることに異論はないが、今までdelegateだったものがblockに移行してる事実はあるよね
>>426の「何の関係があるの?」の疑問は解決したかな
同じようにObjCだったものがSwiftに移行・・・はして失敗してるんだよなぁ
Swiftに移行したけど破壊変更が頻繁でメンテナンス性が悪いからObjCに差し戻そうって意見が割とガチで出て辛い
>>426の「何の関係があるの?」の疑問は解決したかな
同じようにObjCだったものがSwiftに移行・・・はして失敗してるんだよなぁ
Swiftに移行したけど破壊変更が頻繁でメンテナンス性が悪いからObjCに差し戻そうって意見が割とガチで出て辛い
435デフォルトの名無しさん (ワッチョイ 4a3c-TbnN)
2017/04/26(水) 14:54:49.58ID:rNMObgtm0 >>430
なるほど>>425が言いたいことは理解したわ
Delegateをコールバックを実現する仕組みの一つとして捉えると
わざわざDelegateを定義しなくてもcompletionHandlerみたいなblockパラメータって十分ってことかな
シンプルなケースはそれでいいけど少し複雑になるとDelegate使ったほうが良いケースもあるし使い分けだよね
自分で新しく作るんじゃなくUITableViewDelegateみたいなフレームワークで用意されたプロトコルを使う場合は
コールバックを実現する仕組みというより事前に用意された拡張ポイントを使う方法として捉えてる
その場合サブクラス化、デリゲート、イベントなんかは同じグループとして捉えてるけどBlockは抽象度違うからグループの外だね
なるほど>>425が言いたいことは理解したわ
Delegateをコールバックを実現する仕組みの一つとして捉えると
わざわざDelegateを定義しなくてもcompletionHandlerみたいなblockパラメータって十分ってことかな
シンプルなケースはそれでいいけど少し複雑になるとDelegate使ったほうが良いケースもあるし使い分けだよね
自分で新しく作るんじゃなくUITableViewDelegateみたいなフレームワークで用意されたプロトコルを使う場合は
コールバックを実現する仕組みというより事前に用意された拡張ポイントを使う方法として捉えてる
その場合サブクラス化、デリゲート、イベントなんかは同じグループとして捉えてるけどBlockは抽象度違うからグループの外だね
436デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/26(水) 15:04:57.22ID:3mj2KO3W0 SwiftのprotocolはJavaのinterfaceみたいなもんだと説明されるけど、Javaでoptionalメソッドを定義できるの?
437デフォルトの名無しさん (アウアウエー Sa82-p2Ky)
2017/04/26(水) 15:08:18.39ID:gZc0mpUPa >>436
スレチもいいとこ
スレチもいいとこ
438デフォルトの名無しさん (ワッチョイ 4a3c-TbnN)
2017/04/26(水) 15:17:06.14ID:rNMObgtm0 >>436
何もしないデフォルト実装を用意する
何もしないデフォルト実装を用意する
439デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/26(水) 15:54:00.63ID:3mj2KO3W0 >>438
なるほどぉ。
なるほどぉ。
440デフォルトの名無しさん (スップ Sdaa-SXGp)
2017/04/26(水) 19:42:58.31ID:7DECPBe+d funcって書くのにメソッドなの??
441デフォルトの名無しさん (ワッチョイ 533c-p2Ky)
2017/04/26(水) 19:59:41.32ID:lYhaqZk40 そもそもfuncとmethodを分ける意味ってあんの?
会話で通じないとかなくね?
会話で通じないとかなくね?
442デフォルトの名無しさん (ササクッテロレ Sp23-p2Ky)
2017/04/26(水) 20:56:10.25ID:2ExUo8Ujp Fuck!!!
443デフォルトの名無しさん (スッップ Sdaa-skpP)
2017/04/26(水) 21:12:05.58ID:7OfAzagzd 関数の事をmethodって言う奴は「解ってないなあ」と思う。
あと、宣言と定義の使い分けできていない人も苦手だな。
あと、宣言と定義の使い分けできていない人も苦手だな。
444デフォルトの名無しさん (スップ Sd4a-mqxQ)
2017/04/26(水) 21:14:41.12ID:yg9vhXXld 伝わればなんでもいいよ
445デフォルトの名無しさん (ワッチョイ 533c-p2Ky)
2017/04/26(水) 21:15:15.06ID:lYhaqZk40 ヘッダーがなくなった時点で、宣言も定義もほぼ同義じゃねーの
446デフォルトの名無しさん (ワッチョイ 4af3-p2Ky)
2017/04/26(水) 21:43:02.76ID:ZkZBCOOl0 Swiftでは公式に用語がどう定義されてんだろうと思って探したら丁度ズバリ書いてた
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/doc/uid/TP40014097-CH34-ID351
In Swift, most declarations are also definitions in the sense that they
are implemented or initialized at the same time they are declared.
That said, because protocols don’t implement their members, most
protocol members are declarations only.
For convenience and because the distinction isn’t that important in
Swift, the term declaration covers both declarations and definitions.
Swiftではプロトコルとか一部除いてほぼ宣言と同時に定義するし、いちいち区別するのメンドクセーから「宣言」も「定義」もひっくるめて「宣言」って用語だけ使うわー
まぁそれもBNFだけでの話のようで、Guideの他の部分の文章では「definition」も使われたり混同されたりしてるようだけど
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/doc/uid/TP40014097-CH34-ID351
In Swift, most declarations are also definitions in the sense that they
are implemented or initialized at the same time they are declared.
That said, because protocols don’t implement their members, most
protocol members are declarations only.
For convenience and because the distinction isn’t that important in
Swift, the term declaration covers both declarations and definitions.
Swiftではプロトコルとか一部除いてほぼ宣言と同時に定義するし、いちいち区別するのメンドクセーから「宣言」も「定義」もひっくるめて「宣言」って用語だけ使うわー
まぁそれもBNFだけでの話のようで、Guideの他の部分の文章では「definition」も使われたり混同されたりしてるようだけど
447デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/26(水) 22:01:01.52ID:H5XmXuTS0 >>443
うっそーん?
instance method, type methodっていう言い方はするが、
instance function, type function(class function)なんて聞いたこと
ないぞぉ。
うっそーん?
instance method, type methodっていう言い方はするが、
instance function, type function(class function)なんて聞いたこと
ないぞぉ。
448デフォルトの名無しさん (ワッチョイ 5b05-yA3i)
2017/04/27(木) 02:46:48.47ID:v69LNgpd0449デフォルトの名無しさん (ワッチョイ 6b0f-T1v3)
2017/04/27(木) 08:03:13.29ID:T2cThVGm0 いやだからなんでfuncって書くのにメソッドやねん
だったらmethにでもしとけばええやん
だったらmethにでもしとけばええやん
450デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 08:35:20.62ID:7p4DwLyja グローバルな関数とメソッドでfuncとmethを書き分けろっての?
ただの関数にmethとか使うのは抵抗あるわ
メソッドにfunc使うのは他の言語の例もあるので違和感ないけど
ただの関数にmethとか使うのは抵抗あるわ
メソッドにfunc使うのは他の言語の例もあるので違和感ないけど
451デフォルトの名無しさん (アウアウエー Sa7f-cD9Q)
2017/04/27(木) 09:04:29.23ID:N3r3uYtra そもそもメソッドというのはSmalltalkのコミュニティが使い始めた用語で
もともともはメッセージを受け取ったオブジェクトが目指すゴールを記述するための新しい言語要素を想定してたんだよね
だけど、けっきょくそのSmalltalkも-76以降はSimula67(ALGOLの拡張)スタイルの普通の関数に落ち着いたし
その後ブームとなったJavaもそのまま用語を採用した経緯もあって
メソッドと関数っていうのはインスタンスとオブジェクトみたいなもので区別はあまり意味をもたなくなっちゃっている
強いて言えば、クラスに属する(言語によってはプラスして暗黙のselfを受け取れる)関数をメソッドと呼ぶとかゆるいくくり
もともともはメッセージを受け取ったオブジェクトが目指すゴールを記述するための新しい言語要素を想定してたんだよね
だけど、けっきょくそのSmalltalkも-76以降はSimula67(ALGOLの拡張)スタイルの普通の関数に落ち着いたし
その後ブームとなったJavaもそのまま用語を採用した経緯もあって
メソッドと関数っていうのはインスタンスとオブジェクトみたいなもので区別はあまり意味をもたなくなっちゃっている
強いて言えば、クラスに属する(言語によってはプラスして暗黙のselfを受け取れる)関数をメソッドと呼ぶとかゆるいくくり
452デフォルトの名無しさん (エムゾネ FF7f-T1v3)
2017/04/27(木) 09:05:58.12ID:OI3ixlBfF funcyな言語やで
453デフォルトの名無しさん (ワッチョイ 0bf3-czGs)
2017/04/27(木) 10:36:56.84ID:OuTFIb+i0454デフォルトの名無しさん (アウアウエー Sa7f-cD9Q)
2017/04/27(木) 11:23:38.37ID:N3r3uYtra >>453
ああ、それはSmalltalkの(というかOOPの)メッセージングというコンセプトをよくわかっていない人がやりがちな間違いで
メッセージと、それを送ることでコールされるメソッド(関数)は別物
たとえばメッセージ(仮にmとしよう)を送ってもmとは関係ないメソッドがコールされることもあるし
極端な話、何もしないという選択肢(振る舞い)もありうる
もっとも多くの場合、メッセージ(厳密にはメッセージを構成するセレクタ)とメソッド名は一致させるのが普通なので
混同するのも無理からぬことだけれども
ああ、それはSmalltalkの(というかOOPの)メッセージングというコンセプトをよくわかっていない人がやりがちな間違いで
メッセージと、それを送ることでコールされるメソッド(関数)は別物
たとえばメッセージ(仮にmとしよう)を送ってもmとは関係ないメソッドがコールされることもあるし
極端な話、何もしないという選択肢(振る舞い)もありうる
もっとも多くの場合、メッセージ(厳密にはメッセージを構成するセレクタ)とメソッド名は一致させるのが普通なので
混同するのも無理からぬことだけれども
455デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 11:49:48.89ID:7p4DwLyja Obj-Cの場合はメッセージ=メソッド的なとこあるけど、Smalltalkは違うんかね
456デフォルトの名無しさん (アウアウエー Sa7f-cD9Q)
2017/04/27(木) 12:55:56.69ID:N3r3uYtra >>455
んー、Obj-Cのコミュニティ(Appleの公式文書も含め)が勘違いを広めているってよくない傾向はあるけど
Obj-CもSmalltalkもメッセージングの根本の考え方は変わらない
そもそもObj-CはSmalltalkのやっていることをCのプリプロセッサでやろうとした試みからスタートしたので変えたら意味ないし
ちなみにそのときの文法はまだメッセージ式ではなかったから純粋にコンセプトだけをなぞろうとしたことがわかる
http://dl.acm.org/citation.cfm?id=948095 (残念ながら有償)
mySodaMachine = {| SodaMachine, "comb:model:", 23, 4 |};
んー、Obj-Cのコミュニティ(Appleの公式文書も含め)が勘違いを広めているってよくない傾向はあるけど
Obj-CもSmalltalkもメッセージングの根本の考え方は変わらない
そもそもObj-CはSmalltalkのやっていることをCのプリプロセッサでやろうとした試みからスタートしたので変えたら意味ないし
ちなみにそのときの文法はまだメッセージ式ではなかったから純粋にコンセプトだけをなぞろうとしたことがわかる
http://dl.acm.org/citation.cfm?id=948095 (残念ながら有償)
mySodaMachine = {| SodaMachine, "comb:model:", 23, 4 |};
457デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/27(木) 14:07:08.57ID:Wv+Yc+Vq0 Methods are functions that are associated with a particular type
以上。
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html
以上。
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html
458デフォルトの名無しさん (ササクッテロラ Sp1f-eQq1)
2017/04/27(木) 14:47:27.97ID:52wV30cHp 以上って言っても、small talkやobjcについてスレチ上等で会話してる奴等には通じない、、、
大元の>>440だけ考えたら、コード上でfunc, methの書き分けなんて面倒っていう
コンパイラ側とコーダー側の双方メリットによるものだろうよ
大元の>>440だけ考えたら、コード上でfunc, methの書き分けなんて面倒っていう
コンパイラ側とコーダー側の双方メリットによるものだろうよ
459デフォルトの名無しさん (ワッチョイ 5b3c-C6JC)
2017/04/27(木) 15:27:43.95ID:573QYR970 戻り値が void の function なんてのは C で初めて見た。
例えば BASIC や Pascal では戻り値が無いのは procedure で 戻り値があるのが function だ。
method はやり方とか手順とかいう意味で routine や procedure と同じような意味合いだ。
function というからには副作用が無い(引数以外が戻り値に影響しない)ことを期待したいところだが、「機能」という意味合いに着目すると、これらの中で最も曖昧であって、一つで済ませるなら便利かもね。
例えば BASIC や Pascal では戻り値が無いのは procedure で 戻り値があるのが function だ。
method はやり方とか手順とかいう意味で routine や procedure と同じような意味合いだ。
function というからには副作用が無い(引数以外が戻り値に影響しない)ことを期待したいところだが、「機能」という意味合いに着目すると、これらの中で最も曖昧であって、一つで済ませるなら便利かもね。
460デフォルトの名無しさん (JP 0H9f-PkLO)
2017/04/27(木) 16:23:53.95ID:a+4IBLmkH Cのvoidはアキュムレータの値を還すよ
461デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 16:43:42.91ID:QxU5eB0Ka そんなもの返されたところで使い道は無ぇ
462デフォルトの名無しさん (ワッチョイ 5bf3-nUWF)
2017/04/27(木) 16:48:34.82ID:R6dFUrFW0 るーびーですねわかります
463デフォルトの名無しさん (ワッチョイ 0f92-oOkd)
2017/04/27(木) 19:19:04.75ID:5OLYtE1F0 >>460
それは返すとは言いません
それは返すとは言いません
464デフォルトの名無しさん (スップ Sd7f-T1v3)
2017/04/27(木) 21:03:25.93ID:8BI3unQLd465デフォルトの名無しさん (ワッチョイ bb3c-L4LY)
2017/04/27(木) 21:31:33.44ID:i5BzzK+e0466デフォルトの名無しさん (ササクッテロラ Sp1f-eQq1)
2017/04/27(木) 22:14:36.28ID:52wV30cHp 教祖様がコード上はfuncをキーワードにするけど、>>457の通り人間向けはmethodがいいって言ってる
ケースバイケースで言い換えたい所存、信仰したくない宗教だけど敬意は払う
信者はsmall talk原理主義やobjc至上主義で討論してるけど結論出ないだろ
ケースバイケースで言い換えたい所存、信仰したくない宗教だけど敬意は払う
信者はsmall talk原理主義やobjc至上主義で討論してるけど結論出ないだろ
467デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/27(木) 23:12:26.96ID:Wv+Yc+Vq0 >>464
メソッドって呼んだ場合は単なる関数じゃなく
クラスや構造体なんかの特定の型に紐付いた関数だっていう意味が付随するの
それが不要だと思うなら全部関数って呼べばいいと思うよ
メソッドに限らずクロージャなんて呼ばずに全部関数って呼んでもいいし
逆に関数なんて呼ばずに全部クロージャって呼んでもいい
メソッドって呼んだ場合は単なる関数じゃなく
クラスや構造体なんかの特定の型に紐付いた関数だっていう意味が付随するの
それが不要だと思うなら全部関数って呼べばいいと思うよ
メソッドに限らずクロージャなんて呼ばずに全部関数って呼んでもいいし
逆に関数なんて呼ばずに全部クロージャって呼んでもいい
468デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/27(木) 23:16:43.40ID:Wv+Yc+Vq0469デフォルトの名無しさん (スップ Sd7f-T1v3)
2017/04/27(木) 23:28:54.98ID:8BI3unQLd470デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 23:37:34.54ID:+McxYUoga キーワードないと宣言なのか呼び出しなのかコンパイラも判断に迷うだろ
471デフォルトの名無しさん (ワッチョイ 5ff3-L4LY)
2017/04/28(金) 00:05:28.20ID:uTZO7qUH0472デフォルトの名無しさん (アウアウウー Sa9f-L4LY)
2017/04/28(金) 04:06:13.32ID:TMPExC9ya arc4random()をIntに入れるのに完璧なやり方ってある?
473デフォルトの名無しさん (スップ Sd7f-T1v3)
2017/04/28(金) 05:07:09.24ID:dZlKtiRpd >>470
Cはそんなfuncとかいうキーワードないのに成り立ってて不思議だね
Cはそんなfuncとかいうキーワードないのに成り立ってて不思議だね
474デフォルトの名無しさん (スップ Sd7f-Ch68)
2017/04/28(金) 07:34:38.00ID:NEA7d0M1d C言語の場合
プロトタイプ宣言
と言うように、宣言はメモリの確保を伴わない
関数定義
と言うように、定義はメモリの確保を伴う
オブジェクト指向の場合はどうなるんだろうね
コードは宣言でインスタンス化は定義かな
プロトタイプ宣言
と言うように、宣言はメモリの確保を伴わない
関数定義
と言うように、定義はメモリの確保を伴う
オブジェクト指向の場合はどうなるんだろうね
コードは宣言でインスタンス化は定義かな
475デフォルトの名無しさん (ワッチョイ 6b0f-LXZo)
2017/04/28(金) 08:07:22.91ID:+uUUmIhK0 JavaとかObjective-Cでもfuncとかいうキーワードはないのに成り立ってるね
476デフォルトの名無しさん (ワッチョイ 5b05-yA3i)
2017/04/28(金) 08:23:00.72ID:Z9SVt9YO0 他の新興言語のgoやrustはキーワードつけてるね
あってもなくても成り立たなくはないけど、ある方が流行りなんでしょ
他言語文法仕様をパクってモダンなものを作るんだから流行りに合わせてつけるのは当然でしょ
あってもなくても成り立たなくはないけど、ある方が流行りなんでしょ
他言語文法仕様をパクってモダンなものを作るんだから流行りに合わせてつけるのは当然でしょ
477デフォルトの名無しさん (ワッチョイ 6b0f-LXZo)
2017/04/28(金) 08:24:09.58ID:+uUUmIhK0 なるほどモダンねぇ...
478デフォルトの名無しさん (ワッチョイ 5ff3-L4LY)
2017/04/28(金) 08:25:01.60ID:uTZO7qUH0 型が後置だからだろ
479デフォルトの名無しさん (エムゾネ FF7f-T1v3)
2017/04/28(金) 08:59:20.10ID:1TnL0+oaF480デフォルトの名無しさん (ササクッテロラ Sp1f-eQq1)
2017/04/28(金) 09:15:26.74ID:HrVNNKWrp いや、後置でもコンパイラが頑張ればできるでしょ
481デフォルトの名無しさん (スプッッ Sd1f-xKwp)
2017/04/28(金) 09:57:20.06ID:Ac9Dm7bId 明示しないとコンパイラだけじゃなく人間も頑張らなくちゃならなくなるかも
482デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/28(金) 10:00:18.34ID:K29gCEJ0a >>473
Cは変数も関数も型宣言(関数の場合は返り値の型)が先にくるからね
Cは変数も関数も型宣言(関数の場合は返り値の型)が先にくるからね
483デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/28(金) 16:06:25.59ID:pTZXbcwl0 構文解析の問題だからメモリ確保云々は関係ないでしょ
funcキーワードを使わないとして
例えば foo() {…} と書いた場合にこれが関数定義なのか
Trailing Closureを付けて関数を実行しようとしてるのか{…}の中身を調べないと分からないし
未定義のものを実行しようとしてるのかどうかの判定も困難
キーワードがあることで構文解析・静的解析・型推論なんかで有利に働いて
言語としての表現力や安全性が高まる 特に表現力
funcじゃなくてletやvarを使ってもいい(Swift的にはこれらは関数とは呼ばないけど)
let foo = {print(“foo”)}
let bar = {() -> () in print(“bar”)}
let baz: () -> () = {…}
funcキーワードを使わないとして
例えば foo() {…} と書いた場合にこれが関数定義なのか
Trailing Closureを付けて関数を実行しようとしてるのか{…}の中身を調べないと分からないし
未定義のものを実行しようとしてるのかどうかの判定も困難
キーワードがあることで構文解析・静的解析・型推論なんかで有利に働いて
言語としての表現力や安全性が高まる 特に表現力
funcじゃなくてletやvarを使ってもいい(Swift的にはこれらは関数とは呼ばないけど)
let foo = {print(“foo”)}
let bar = {() -> () in print(“bar”)}
let baz: () -> () = {…}
484デフォルトの名無しさん (ワッチョイ 5ff3-L4LY)
2017/04/28(金) 18:44:38.27ID:uTZO7qUH0 >>472
Intに入れるじゃ何聞きたいのか分からん
var result: Int = 0
arc4random_buf(&result, MemoryLayout.size(ofValue: result))
こういう話?
それとももっと別の話なのか
Intに入れるじゃ何聞きたいのか分からん
var result: Int = 0
arc4random_buf(&result, MemoryLayout.size(ofValue: result))
こういう話?
それとももっと別の話なのか
485デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/28(金) 21:07:49.54ID:pTZXbcwl0486デフォルトの名無しさん (ワッチョイ 9f9d-w1TE)
2017/05/06(土) 16:47:48.74ID:3sfm3EzD0 『詳解Swift』ってどう?Amazonの評価は真っ二つに別れているんだけど
487デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 17:06:44.06ID:Vgrr/US10488デフォルトの名無しさん (ササクッテロロ Spf7-3eBY)
2017/05/06(土) 17:17:20.80ID:Du+O4KVHp 中上級者向けの本で内容を理解出来ないと悪いレビューつける奴いるしな
489デフォルトの名無しさん (ササクッテロリ Spf7-rRTA)
2017/05/06(土) 17:32:44.31ID:rU3gcFGYp swift 3に対応した3版は出たのかねぇ
作者も読者も疲れてそうだと思った
作者も読者も疲れてそうだと思った
490デフォルトの名無しさん (ワッチョイ f23c-q6do)
2017/05/06(土) 17:49:37.89ID:l3lhsLeM0 >>486
Appleの公式本読めば十分だよ
日本語という以外の付加価値は全くないけど
公式本に近い内容を日本語で読みたければ買ってもいいと思う
一度読んだら辞書的な使い方はしないので電子版のほうがオススメ
あと荻原本は公式本よりやや説明がくどいので好き嫌い分かれる
目新しい概念をわかりやすく説明してくれてたりはしない
Appleの公式本読めば十分だよ
日本語という以外の付加価値は全くないけど
公式本に近い内容を日本語で読みたければ買ってもいいと思う
一度読んだら辞書的な使い方はしないので電子版のほうがオススメ
あと荻原本は公式本よりやや説明がくどいので好き嫌い分かれる
目新しい概念をわかりやすく説明してくれてたりはしない
491デフォルトの名無しさん (アウアウウー Sab3-aLIQ)
2017/05/06(土) 17:50:10.60ID:Vu96M1x5a >>488
百田尚樹の本をサヨクが理解出来ないのと一緒だな
百田尚樹の本をサヨクが理解出来ないのと一緒だな
492デフォルトの名無しさん (スッップ Sd52-YlV+)
2017/05/06(土) 17:50:47.77ID:tXDjXsMUd どうせSwiftの自己満仕様変更で古くなる参考書を何故買うかね?
493デフォルトの名無しさん (ワッチョイ 9f9d-w1TE)
2017/05/06(土) 19:55:06.44ID:3sfm3EzD0 古くなるのが嫌なら、IT系の本、特に入門書なんて全部買えないだろ。
それに図書館で買ってもらって読むって手もあるし。
それに図書館で買ってもらって読むって手もあるし。
494デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 20:50:30.20ID:Vgrr/US10495デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 20:51:18.32ID:Vgrr/US10 >>491
素晴らしい比喩
素晴らしい比喩
496デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 20:52:39.76ID:Vgrr/US10497デフォルトの名無しさん (アウアウカー Sa1f-3eBY)
2017/05/06(土) 20:54:11.98ID:A6Xoj7sWa コンピュータの世界はどんどん新しくなるのが当たり前だろ。
言語は、その中でもまだ遅い方よ。
言語は、その中でもまだ遅い方よ。
498デフォルトの名無しさん (JP 0H4b-vxmx)
2017/05/06(土) 21:30:38.70ID:RxOQwEquH ネットの情報は新旧混在ですぐデブリだらけになるからな
499デフォルトの名無しさん (アウアウエー Sa4a-dJIr)
2017/05/06(土) 21:58:01.55ID:I53ls5gra どんどん新しくなるといいながら、未だにフォン・ノイマン型が主流なんだよな
500デフォルトの名無しさん (アウアウカー Sa1f-3eBY)
2017/05/06(土) 22:03:44.34ID:A6Xoj7sWa 分野による。
組み込みじゃハーバード型が主流。
組み込みじゃハーバード型が主流。
501デフォルトの名無しさん (アウアウエー Sa4a-dJIr)
2017/05/06(土) 22:12:19.08ID:I53ls5gra ハーバード型もパラダイム的には大して変わんねーから
502デフォルトの名無しさん (アウアウカー Sa1f-3eBY)
2017/05/06(土) 22:17:28.66ID:A6Xoj7sWa データと命令で分かれてるのは地味に重要だぞ。
高速なCPUじゃ分かりにくいかもだが、低速になる程顕著。
高速なCPUじゃ分かりにくいかもだが、低速になる程顕著。
503デフォルトの名無しさん (スッップ Sd52-YlV+)
2017/05/06(土) 22:31:46.28ID:tXDjXsMUd >>496
言いたいことはまだ発展途上の言語はweb上のドキュメント参照しとけばいいってことだよ
言いたいことはまだ発展途上の言語はweb上のドキュメント参照しとけばいいってことだよ
504デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 22:35:29.44ID:Vgrr/US10505デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 22:37:36.61ID:Vgrr/US10 フォン・ノイマン型 ハーバード型
ってなんの話だ?
ってなんの話だ?
506デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 22:39:01.34ID:Vgrr/US10 AVR, PIC vs Intel, ARM
って事なのね。
って事なのね。
507デフォルトの名無しさん (ササクッテロロ Spf7-3eBY)
2017/05/07(日) 01:04:29.57ID:97sXlIAUp 早々にSwiftに移行した人達よ、工数人件費は抑えられた?上がった?
508デフォルトの名無しさん (ワッチョイ cf92-npF+)
2017/05/07(日) 14:03:00.79ID:w48Ptm+H0 >>491
キチガイの発想は健常者には理解不能だよなあ
キチガイの発想は健常者には理解不能だよなあ
509デフォルトの名無しさん (ササクッテロリ Spf7-rRTA)
2017/05/07(日) 16:21:15.72ID:kFOE8CxJp510デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/07(日) 17:00:21.83ID:4+gPHsDZ0 >>509
ちょっと、どう言う状況なのか?理解不能。
Swift2.3 - 3.xへの移行が難しいってのはどう言う事?
Unsafe族を使いまくってたのとか?
それでも、なんとか移植できるでしょ。2.x -> 3.xはそんなに
困難?
これから段々、Obj-C世代が居なくなるよ。
ちょっと、どう言う状況なのか?理解不能。
Swift2.3 - 3.xへの移行が難しいってのはどう言う事?
Unsafe族を使いまくってたのとか?
それでも、なんとか移植できるでしょ。2.x -> 3.xはそんなに
困難?
これから段々、Obj-C世代が居なくなるよ。
511デフォルトの名無しさん (ササクッテロリ Spf7-rRTA)
2017/05/07(日) 17:34:13.56ID:kFOE8CxJp 1.xの頃は開発環境が業務に耐える品質じゃなかったし
2.xはまだマシだけどやっぱり更新頻繁だったんよ
半年単位で言語仕様、API仕様が変わってたからメンテ工数がobjcの比じゃなかった
2.3から3の移行が厳しいんじゃなくて、それまでが悲惨すぎてもうやめよってなった
比較的更新速度の遅い3.0以降で業務採用始めてたら違ったかもな
まぁ早々に移行したヤツと、最近移行を考えてるヤツは状況違うから、あんまり参考にならんよ
2.xはまだマシだけどやっぱり更新頻繁だったんよ
半年単位で言語仕様、API仕様が変わってたからメンテ工数がobjcの比じゃなかった
2.3から3の移行が厳しいんじゃなくて、それまでが悲惨すぎてもうやめよってなった
比較的更新速度の遅い3.0以降で業務採用始めてたら違ったかもな
まぁ早々に移行したヤツと、最近移行を考えてるヤツは状況違うから、あんまり参考にならんよ
512デフォルトの名無しさん (ワッチョイ 32d4-qAfm)
2017/05/07(日) 18:21:04.90ID:Y4rdOdmi0 本番に耐えられるのはバージョン3からというしな
513デフォルトの名無しさん (ワッチョイ cf92-npF+)
2017/05/07(日) 19:54:43.41ID:w48Ptm+H0 そういうのもあるけどXcodeがクソすぎる
514デフォルトの名無しさん (ワッチョイ 323c-5tHG)
2017/05/07(日) 20:20:45.01ID:59YO4yyL0 うちはまだSwift2.3 - 3.xへの移行まだしてないな。
GCDあたりとか手作業で書き換えないといけないらしいし、
いっそObj-Cに戻したほうがSwift3→4移行の時も苦労しなくて済みそうな気がしてくる。
GCDあたりとか手作業で書き換えないといけないらしいし、
いっそObj-Cに戻したほうがSwift3→4移行の時も苦労しなくて済みそうな気がしてくる。
515デフォルトの名無しさん (ワッチョイ b2c8-tela)
2017/05/07(日) 22:19:05.42ID:dChYZV8N0 swift5もでるみたいだから毎年苦労することになる。
516デフォルトの名無しさん (ワッチョイ f2f3-pbiz)
2017/05/07(日) 22:39:31.23ID:VGI2seLS0 4からCIでソース互換性テストやるようになったから大丈夫だろ
517デフォルトの名無しさん (ワッチョイ 7ba3-LFpG)
2017/05/07(日) 22:45:12.18ID:DJhnYmDa0 そろそろ仕様は安定しましたか?
518デフォルトの名無しさん (ワッチョイ 761f-Ogwz)
2017/05/08(月) 00:46:35.42ID:j5FwBoSL0 移行しないという選択肢は
519デフォルトの名無しさん (ワッチョイ 9b0f-YlV+)
2017/05/08(月) 08:14:18.24ID:tEZCpO6i0 >>518
Appleが政治的にゴリ押してるから移行する必要性が出てるわけであって、技術的にはそれもあり
Appleが政治的にゴリ押してるから移行する必要性が出てるわけであって、技術的にはそれもあり
520デフォルトの名無しさん (アウアウウー Sab3-3eBY)
2017/05/08(月) 08:43:41.22ID:CnaMYymAa >>518
数年しか使わないアプリならそれでいいんじゃない。
数年しか使わないアプリならそれでいいんじゃない。
521デフォルトの名無しさん (スッップ Sd52-qAfm)
2017/05/08(月) 08:48:43.68ID:X/V4E59/d >>517
俺は十分に安定したと判断したからswiftに移行したけど、予想が外れたら恨んでくれて良いよ
俺は十分に安定したと判断したからswiftに移行したけど、予想が外れたら恨んでくれて良いよ
522デフォルトの名無しさん (ワッチョイ b3f5-BeWO)
2017/05/08(月) 13:41:30.46ID:Bf5KwLeX0 swift触るよりreact native とtypescriptでいいんじゃないかな?
reduxでステート管理できるぜ
reduxでステート管理できるぜ
523デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/08(月) 13:44:43.79ID:vwxEwAxp0 >>522
react nativeもなんだかなぁ。
結局JavaScriptだけで、アプリ作れる訳では無いし。
RxSwift触ってるけど、
なんで、Variableとか、Driverとかがあるのか?良く判らん。
おまけに、RxSwift3.4になって、他にも色々増えてるし。
react nativeもなんだかなぁ。
結局JavaScriptだけで、アプリ作れる訳では無いし。
RxSwift触ってるけど、
なんで、Variableとか、Driverとかがあるのか?良く判らん。
おまけに、RxSwift3.4になって、他にも色々増えてるし。
524デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/08(月) 13:46:43.44ID:vwxEwAxp0 Variable, Driver
Single, Maybe, Completable
ってのがあるんだけど、こんなにViewModelが必要なのだろうか?
Single, Maybe, Completable
ってのがあるんだけど、こんなにViewModelが必要なのだろうか?
525デフォルトの名無しさん (ワッチョイ 9f6e-7iRX)
2017/05/08(月) 16:14:31.41ID:bL8ez2V30526517 (ワッチョイ 7ba3-LFpG)
2017/05/08(月) 16:27:33.64ID:WhT9Qpgj0 ずっと前から定期的にswiftが安定したかどうかをこのスレで尋ねてきたんだけど
今回初めてポジティブな反応があったってのは喜ばしいです
これから勉強するって立場だと、前みたいにあまりにも大きい変更があるなら
手を出しづらいけど、
そこまで大きくない変更があるぐらいならなんとかなりそうだし、
仕様が安定した頃にはバリバリ書けてる様になれるのが理想なので
そろそろ勉強し始めてみるよ
またこのスレにはお世話になると思うので
今後もよろしくお願いします
今回初めてポジティブな反応があったってのは喜ばしいです
これから勉強するって立場だと、前みたいにあまりにも大きい変更があるなら
手を出しづらいけど、
そこまで大きくない変更があるぐらいならなんとかなりそうだし、
仕様が安定した頃にはバリバリ書けてる様になれるのが理想なので
そろそろ勉強し始めてみるよ
またこのスレにはお世話になると思うので
今後もよろしくお願いします
527デフォルトの名無しさん (ワッチョイ f2f3-pbiz)
2017/05/08(月) 17:29:23.85ID:WxeP2eSJ0 ABI安定化は延期されたから4には入らないって何度言わせるんだ
528デフォルトの名無しさん (ワッチョイ 9f6e-7iRX)
2017/05/08(月) 18:17:19.90ID:bL8ez2V30 あん?3が見送りで4で安定(予定)じゃないのかいな
swift-evolutionのREADMEでは4に入ってんぞ、これからまた変わったのか?
swift-evolutionのREADMEでは4に入ってんぞ、これからまた変わったのか?
529デフォルトの名無しさん (ササクッテロレ Spf7-dJIr)
2017/05/08(月) 18:44:56.25ID:ZyGEVEkup 変化を恐れては何も進歩しない
530デフォルトの名無しさん (ワッチョイ b3f5-BeWO)
2017/05/08(月) 22:24:36.42ID:Bf5KwLeX0 >>523
でも大概のアプリの要求は満たせると思うが。何よりマルチプラットホームなのが嬉しい。
とはいえ、typescrptにも限界はあって
やはり動的言語を無理やり静的言語に見せかけているゆえの謎の不具合は避けられないんだよなぁ
でも大概のアプリの要求は満たせると思うが。何よりマルチプラットホームなのが嬉しい。
とはいえ、typescrptにも限界はあって
やはり動的言語を無理やり静的言語に見せかけているゆえの謎の不具合は避けられないんだよなぁ
531デフォルトの名無しさん (ササクッテロラ Spf7-3eBY)
2017/05/09(火) 00:14:22.36ID:U8IiXvlVp■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 青森 緊急地震速報 [ぐれ★]
- 【速報】衆院議員定数削減法案、自民・維新が今国会成立見送りで調整 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★2 [冬月記者★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★2 [蚤の市★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ ★2 [Hitzeschleier★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★5 [Hitzeschleier★]
- 地蔵 [268244553]
- 地震だぁぁぁあ
- 小野田紀美「今年の漢字は『推』!、推しが総理になりまして。推し活をした1年だったなあと」 [256556981]
- 街で見かける謎のシールあるじゃん?
- ぢしん [856698234]
- 【悲報】ネトウヨの次のターゲット「渡邊渚」に決まるwwwwwwwwwwwwwwwwwwwww [455031798]
