トップページ⇒tech
1001コメント317KB

Swift part3

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/07/23(水) 11:46:48.42ID:x29J8vdY
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

Apple 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
Swift Standard Library Reference
https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibraryReference/
Swift Blog
https://developer.apple.com/swift/blog/
Resources (Xcode 6が無料でダウンロードできる)
https://developer.apple.com/swift/resources/

関連スレ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/
帰ってきた動的言語 VS 静的言語(代表Swift)
http://peace.2ch.net/test/read.cgi/tech/1401809550/

前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
Swift part2
http://peace.2ch.net/test/read.cgi/tech/1402465335/
0218デフォルトの名無しさん2014/08/25(月) 10:44:04.90ID:hrMUIaDn
既にSwiftのオレオレ拡張が蔓延しつつあって怖い
0219デフォルトの名無しさん2014/08/25(月) 10:56:04.48ID:eTCM4KCx
>>217
いや、リリースを受け付けてないベータだから
始まってないというコメントは正しいだろ
何をそんなにムキになってるんだ、、、
0220デフォルトの名無しさん2014/08/25(月) 11:01:31.72ID:lkLmBLAW
ここはいつきても荒んだスレですね
0221デフォルトの名無しさん2014/08/25(月) 11:49:21.31ID:MBd9CDQX
>>219 正式には始まっていないが予行演習は始まってるが正しいかな

正式リリースまでに整えて欲しい機能は色々有りそうだからあくまでも練習だな
文字列操作系はすっきりさせてほしいな
0222デフォルトの名無しさん2014/08/25(月) 17:46:09.79ID:5lv6SwDz
どうせなら基本構文自体にもUnicodeを取り入れれば表現豊かな言語になると思うんだけどな 今まではあまりにも文字数が少なすぎてがんじがらめと言う感じがする

-∞〜∞
とか、
a⇔b で交換するとか

≠∩∋≒【カッコに色んな物が使えるだけでも表現が豊かになる

そろそろ言語にも感情表現が入ってきても良いかも
let 俺 = "太郎"
var お前 = "そんなの居たかな"
if 俺 ❤️ お前 { 結婚 }
10年か、20年以内に感情も少しは操作出来る言語体系になって欲しい

数学式とコンピュータ言語の式が違ってたのも単に使える文字が限られてたと言うだけだし
0223デフォルトの名無しさん2014/08/25(月) 17:50:10.50ID:94tR31jF
学生時代にdefineやってる奴いたな
なでしことかひまわり使え、好み
のこと出来る
0224デフォルトの名無しさん2014/08/25(月) 17:57:32.51ID:czeo/7PN
マルチバイト文字とか不具合の温床でしかないだろ…
コメントや文字列リテラルの中に入ってるだけで恐ろしいのに
構文に組み込むとか狂気の沙汰だわ
変数名に使えるのもふざけんなって感じ
職場で変数名にマルチバイト文字使う奴いたらぶん殴っていい
0225デフォルトの名無しさん2014/08/25(月) 18:04:51.62ID:4/gZvpuG
演算子はユニコード使って定義できるだろ
ウザいから俺はやらんけど
0226デフォルトの名無しさん2014/08/25(月) 18:06:50.28ID:5lv6SwDz
>>224 それはまだ未開の人類だからだよ
遅れすぎてる
0227デフォルトの名無しさん2014/08/25(月) 18:15:56.60ID:pHB0DbF7
>>224
使わないからバグがなくなんねーんだよ。
コメントやリテラルに入ってるのは別に問題ないだろ。
それを恐れてるのはUnicodeを扱うことになれていなさすぎ。
JavaとかUnicode否定したら言語仕様も否定されちゃうからな。
もっと使え、マルチバイトを使ってもいいと仕様が規定されている場所では。
0228デフォルトの名無しさん2014/08/25(月) 18:20:36.02ID:ksDT2V+X
ずっと前から識別子にUnicode使えるJavaやJSでもまったく普及してないんだから察しろよ
0229デフォルトの名無しさん2014/08/25(月) 18:25:12.36ID:5lv6SwDz
昔インターネットやプログラムに、Ascii以外を使うな、JIS以外を使うな、EUC以外を使うなとか言ってただろ

もうUNICODEは十分に普及しているから、一気にやれば良いんだよ
CJKを普及させたのは日本中心

テレタイプ時代にFAXを普及させたのは日本人

UNICODEに絵文字を入れさせたのも日本人

今この絵文字♥️を文字化けしたり白黒でしか見えないのは文化が遅れてるからに過ぎない
��㊙️��������
0230デフォルトの名無しさん2014/08/25(月) 18:35:06.78ID:/GNBWPvx
>>224
使えてもそんなの使うヤツいねーだろと思ったら、いそうで笑った
0231デフォルトの名無しさん2014/08/25(月) 18:35:14.81ID:5lv6SwDz
勿論既存のプロジェクトに混在させるような愚かな真似は誰もしないだろう

やるなら新しい言語だな
0232デフォルトの名無しさん2014/08/25(月) 18:37:44.22ID:/GNBWPvx
混在とは関係なく選択肢に全くもってないな。利点は何?
タイプ数がめっちゃ多くなるだけで、何も利点が無いな。俺には
0233デフォルトの名無しさん2014/08/25(月) 18:41:33.98ID:/SQ2uYqH
>>232
遊び心
0234デフォルトの名無しさん2014/08/25(月) 18:43:01.74ID:/GNBWPvx
>>233
まあ、それだとわからないでもない
でも、せいぜい個人のプロジェクトだけに留めておいてほしいものだ
0235デフォルトの名無しさん2014/08/25(月) 18:44:41.81ID:ksDT2V+X
アラビア語で書かれても文句言わないというなら何も言うまい
0236デフォルトの名無しさん2014/08/25(月) 18:48:27.22ID:5lv6SwDz
>>232 それは今までの知識の範囲で満足してるからだろ

世の中はそんなものじゃなく言語で処理できないことはライブラリなどで処理してきてるが、それもASCII文字列記号で定義しているからむちゃくちゃ解りづらくなってる

それも英語でわかるように作ってるから英語圏以外の人間には解りづらくなってる

FAX 絵文字 の歴史を思い起こしてみれば良い
万国共通の言葉は絵だよ
0237デフォルトの名無しさん2014/08/25(月) 18:53:56.62ID:/GNBWPvx
>>236
知識の範囲wいや、英語に慣れないお前がなにいうーぅ。それも、英語ってか英語「表記」でしかないものを

知らないかもしれないが、プログラミングしている人にはすでに共通語になっている
一般人も絡めると日本語でというのもわかるが、いかんせん、プログラミングはまだまだ一般人にはアレなもの。お前の言っているのは一般人全部ひっくるめないとの話

プログラマじゃないだろお前さんは
0238デフォルトの名無しさん2014/08/25(月) 19:05:02.77ID:MBd9CDQX
>>237 俺はプログラムは何十年もやってきてるが大事な事は基本的には小学生でも理解できること
一般主婦でもプログラム出来る事

今は余りにも幼稚な特殊言語になってるからそんな意見が出てきてもおかしくない

昔のBASICやCは単純その物だったが今は言語そのものはまだましだが周辺が複雑になりすぎてそれを表現する手段が追いついていない
たとえばデータマイニングや機械学習のための表現は全くと言って良いほど整備されていないのでは?
それは方式が確率されていないからだけではなく基礎となるコンピュータ言語が幼稚だからじゃ無いのかな?

難しい事を言わなくても正規表現だけをとっても今のままで良いとは思わない
0239デフォルトの名無しさん2014/08/25(月) 19:08:46.33ID:/GNBWPvx
>>238
プログラムは何十年もやってきているのに、小学生でも理解できること一般主婦でもプログラム出来る事
なんて言っているなんて、プログラムを何十年も何やっていたんだかw
たかが変数名などを日本語にしたら、小学生でも理解できること一般主婦でもプログラム出来るんだwその程度を何十年もやってたのかw
もうアホらしくて、脱力
0240デフォルトの名無しさん2014/08/25(月) 19:17:41.23ID:MBd9CDQX
>>239 >コンピュータ言語が幼稚
だと言う事が理解できないお前の頭では無理だろう
0241デフォルトの名無しさん2014/08/25(月) 19:20:23.34ID:/GNBWPvx
>>240
それは、Swiftと関係ないだろ?てか、Swiftの方が「正規表現」っぽさちょっとあるよーなw
なに言ってるの?完全日本語プログラミング言語のことを言っているとしか思えないんだけどw
今の話は 「たかが変数名などが日本語」 なんだけど?それを読めない賢いお前の頭とは確かに俺はできが違うな
0242デフォルトの名無しさん2014/08/25(月) 19:22:37.12ID:pHB0DbF7
お、ちょっとSwift戻ってきたw スレタイ思い出したか。
でも、お前等がなんの言い合いしてるのか分からんwww日本語が理解できねえよwww
0243デフォルトの名無しさん2014/08/25(月) 19:24:17.30ID:/GNBWPvx
>>242
まあ>>235で終わっていたとも言えるw
0244デフォルトの名無しさん2014/08/25(月) 19:45:42.97ID:94tR31jF
自然言語プログラミング推しは「なでしこ」やろうぜ
swiftとはおもむきが違うけど、はなぢが出るテンションになる
swiftはCPUの歓声が聴こえる言語だけど
なでしこは日本人の歓声が聴こえる言語だ
0245デフォルトの名無しさん2014/08/25(月) 20:05:22.81ID:ZYhIgEvx
今日びObjCでも変数名とか日本語使えるよ
0246デフォルトの名無しさん2014/08/25(月) 20:26:37.22ID:qn4SIa82
コード部分に日本語混じってると気持ち悪くない?
アルファベットだけの方が綺麗というか
0247デフォルトの名無しさん2014/08/25(月) 20:28:36.56ID:pHB0DbF7
>>246
下手に英訳されると分からんものは、日本語でってお願いしたくなるぞ。
全員があるていど正しく英語を使えるならいいんだけど……ローマ字が半端に混ざってたりして萎えない?
0248デフォルトの名無しさん2014/08/25(月) 20:31:22.62ID:5J2BoOSF
邦楽に英語の歌詞が混じるかっこよさ(笑)が
分からない人が(マルチバイト混同言語を)使うのは難しい
0249デフォルトの名無しさん2014/08/25(月) 20:42:10.72ID:lkLmBLAW
日本語に英語が混じるのはかっこいいけど、
英語に日本語混じると萎えるよな
0250デフォルトの名無しさん2014/08/25(月) 20:54:12.04ID:NWzgAfyk
>>222
そういうのはSmalltalk72って先例があるよ。
後に続く言語がないってことは…まあそういうことだ。
0251デフォルトの名無しさん2014/08/25(月) 22:04:19.26ID:MBd9CDQX
>>250 単に別の記号で置き換えただけってのは気持ち悪いだけ

言語表現が豊かにならなければ何の意味も無い
新たな豊かな概念が入ったりね
0252デフォルトの名無しさん2014/08/25(月) 22:09:45.07ID:MBd9CDQX
解り易い例で言えば例えば数学の式がそのまま書けるとか。
Σや�� とか
0253デフォルトの名無しさん2014/08/25(月) 22:17:26.49ID:5J2BoOSF
計算式ソフトとか知らないのかな、、、
理系大学なら使ったことあるだろうに
0254デフォルトの名無しさん2014/08/25(月) 22:17:34.79ID:lkLmBLAW
それ使い易いか?
ちゃんとやろうとすると上付文字、下付文字とか必要になるじゃん?
0255デフォルトの名無しさん2014/08/25(月) 22:18:01.46ID:OL5TYESp
簿記の知識がなくて会計のプログラムやらなければならないときに
勘定科目を全部日本語で書いてすみませんでした。
英語とかローマ字だと可読性が悪かったので・・・
0256デフォルトの名無しさん2014/08/25(月) 22:22:46.57ID:pHB0DbF7
会計は国際基準あるし、英語もちゃんと用語あるから、英語使っても自然だろうよ。
何かさ、この話続けたら別のSWIFTの話になっちゃいそうじゃねーか?
0257デフォルトの名無しさん2014/08/25(月) 22:52:40.87ID:kbLAO+O7
日本語が使えても、用語をキッチリ定義したり、はっきりとした動詞でメソッド名を
付けないと何を書いているのか分からない。で、それができるんだったら英語でもキッ
チリ書けたりする。
0258デフォルトの名無しさん2014/08/26(火) 00:06:16.08ID:tKOqY/ln
junitはメソッド名とか全部日本語にしてるわ。無理することない。
0259デフォルトの名無しさん2014/08/26(火) 01:58:04.75ID:zfVnwAq+
>>227
Unicode ならそれでもいいだろう。
だが、世の中にはShiftJISで書かれたコードもある。
(というか、WindowsがShiftJISだからShiftJISのコードの方が多い)
そして、ShiftJISでは2バイト目に5C(エスケープ記号)が来る文字コードが複数ある。
これらの文字を行コメントの末尾に置いた場合何が起こるか?
エスケープ記号によって直後の改行コードがエスケープされ、次の行もコメントになってしまうことがある。
このようにコード中にマルチバイト文字を含めるのは想定外の不具合を引き起こすことが多い。
従ってコードはAscii文字のみで書くべきである。
0260デフォルトの名無しさん2014/08/26(火) 02:29:56.19ID:9W6Ab6sX
>>248
イタリア語ベースに決め台詞が英語(強調の do) のいい曲があるんだ‥https://www.youtube.com/watch?v=BgJByRITxsk
0261デフォルトの名無しさん2014/08/26(火) 02:41:00.87ID:VLggV6jW
ゴミみたいなスレだな
0262デフォルトの名無しさん2014/08/26(火) 02:54:23.18ID:3JebLl4a
>>259 いつの時代の話だよ。どこのスレでそんな事言ってるんだよ ここはSwift スレだよ
Unicode必須だし、結合文字も1文字として扱えるコンパイラだよ

勿論データが不特定なコードであればUnicodeに変換してから処理する必要が有るけどそんなことは常識だろ

アプリは基本全世界対応、Appleも全世界対応
特定の国にしか通用しない文字コードの心配なんかしなくて良い
0263デフォルトの名無しさん2014/08/26(火) 04:00:36.41ID:9W6Ab6sX
>>259
UTF-8 ならそれでもいいが,UTF-16/32 だとどうなる?
0264デフォルトの名無しさん2014/08/26(火) 05:33:33.16ID:3JebLl4a
>>263 文字セットはUTF16 の範囲内をサポート

Stringの場合は、UTF8 UTF16 UTF32 全てをサポート
どの文字コード体系でも出力出来る

NSStringの場合の文字コードのカウントは、UTF16のカウントに限定
( NSString を自分で定義することはできなくしたから混乱はないはず )
0265デフォルトの名無しさん2014/08/26(火) 06:46:53.72ID:1W5P6MCO
英語が堪能じゃないプログラマが大量に沸いてて笑う
これも swift のなせる技か、一見ハードル下げたからなぁ
Appleの巧妙なデモで実際はベータの度にハードル上げてるが
0266デフォルトの名無しさん2014/08/26(火) 08:01:29.01ID:LqE8Qyf0
FlasherやJavaScripterの書くコードは酷い。二度と関わりたくないレベル
0267デフォルトの名無しさん2014/08/26(火) 08:13:24.83ID:djodkW0X
>>265
βを追っていると段々複雑になってきているのは俺も思ったw
0268デフォルトの名無しさん2014/08/26(火) 10:09:12.60ID:3JebLl4a
マニュアル見てても最初の方は物凄く優しそうに見えるが結局最新の言語機能をてんこ盛りに持ってるから使い切るまで理解するのは難しいし
まだ実装していない物とか描き切れていない内容もかなりありそう。
Swift Standard Libraryなんてほとんど書かれていないし

例えば NSString がObjective-Cのタイプだったら割り切って見る事が出来てたけど
Stringが NSStringの全ての機能を使えるようになったので NSString 全てを理解する必要が出た
(ま、最終的にはObjective-C全ての機能を覚える必要が有るんだろうけど)

英語が苦手ならNSString系は英文の方(Swift構文)と日本語の方(意味)と並べてみると良いかも
iOS Developer Library (iOS8)
https://developer.apple.com/library/prerelease/ios/navigation/ の中の
Foundation Framework Reference >  NSString Class Reference
https://developer.apple.com/library/prerelease/ios/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/index.html#//apple_ref/doc/uid/TP40003744

日本語ドキュメントの中の
https://developer.apple.com/jp/devcenter/ios/library/japanese.html
文字列操作プログラミングガイド
https://developer.apple.com/jp/devcenter/ios/library/documentation/Strings.pdf
0269デフォルトの名無しさん2014/08/26(火) 13:23:04.42ID:CYLgTmdl
>>268
長い三行で
0270デフォルトの名無しさん2014/08/26(火) 19:39:12.32ID:doOctk9c
>>266
初期のiOS開発質問スレでactionscript(flash)の人らしいのが
「画面の特定位置のタッチを検出してswitchで分岐させたいのですが」
って質問してて「普通にやれ!」ってツッコミまくられてたなぁ…
(タッチアクションをトリガにして画面のどのエリア(=ボタン)が触られたかを
条件分岐で判定して処理させようとしてた)
0271デフォルトの名無しさん2014/08/26(火) 21:22:36.48ID:MdKwscJy
>>270
フラッシャーな人はフレームワークガン無視で実装するのが文化らしいからな。
0272デフォルトの名無しさん2014/08/26(火) 23:00:49.14ID:zfVnwAq+
ところで、アップルのフレームワークには最近の流行りのデザインパターンは導入しないのかね。
MVVMとか、Dependency Injectionとか、Data Context Interactionとか。
どれもJavaや.NETでは当たり前なんだけど。
いくら言語がモダンになっても、フレームワークの設計思想が古臭いままじゃ、生産効率は大して上がらないよ。
0273デフォルトの名無しさん2014/08/26(火) 23:05:47.19ID:GsbihVDY
UIApplicationのデリゲートを swift で組んで
あぁ、過去のフレームワークの呪縛に swift も囚われるのか
と誰しもが思ったはず

あのメソッド、体を張ったギャグだろ、もはや
0274デフォルトの名無しさん2014/08/27(水) 00:13:46.13ID:Auhnp5AU
>>272
MVVMにしても、MVPにしても、厳密に使われてるの見たことないわ。やるにしても、サードパーティでやればいいんじゃね?
DIとか廃れたし、DCIとか流行ってもなくね?
MVVMはともかく、ほか2つはiOS/OS X界隈じゃあまり重要視されていないと思われ。
0275デフォルトの名無しさん2014/08/27(水) 00:16:58.33ID:MDxpf5sK
.NETは知らんけど、Android SDKよりはCocoa Touchの方がマシだと思う
0276デフォルトの名無しさん2014/08/27(水) 00:23:01.27ID:Auhnp5AU
>>273
そんなに変か?よくわからん
呪縛と言うが、プログラムは常に負の遺産化して行くもんだし、むしろ綺麗に引き継げていると思うけど。
0277デフォルトの名無しさん2014/08/27(水) 00:24:32.43ID:s5ONx/CD
 Wiki見る限りMVVM=Cocoa Bindingで10年以上前にOSXに実装したけど、結局iOSに
持って来なかったな。DI的手法はStoryboardとかxmodelとかそうだと思うけど。

 あういうのって大抵がCocoaとSmalltalkで既に実現していたのを焼き直しただけ。
例えばActive Recordとか元ネタがEOF(現Core Data)じゃない?
0278デフォルトの名無しさん2014/08/27(水) 00:49:03.97ID:Auhnp5AU
>>277
俺はiOSメインだからよく知らないが、Cocoa Bindingってまだ結構つかわれてるのかな?ああいうのって、コード上から何してるか分かりにくいから敬遠しがちだわ。(IBも若干抵抗あったし)

iOSにないのはパフォーマンスの問題かな?
ライブラリはあるみたいね
https://github.com/ReactiveCocoa/ReactiveViewModel
0279デフォルトの名無しさん2014/08/27(水) 00:55:04.16ID:s5ONx/CD
>>278
 メンテナンスの問題とそれほどPCアプリほど複雑な依存関係を実装するニーズが無かったのと二つだと思う。
WPFみても嵌っている人多そうだし。
後、UIView自体はCALayerのラッパーの用な物なんで作れないとか。

 将来、App Kitが廃止されて、OSXもiOSもUIKitに一本する時どうなるかやね。


 
0280デフォルトの名無しさん2014/08/27(水) 01:21:22.87ID:Auhnp5AU
>>279
なるほどね。
てか、AppKit廃止されんの?まあ、されるんなら、UIKit側に合わせるだろうけど。SwiftもARC一本化したしな
0281デフォルトの名無しさん2014/08/27(水) 03:56:01.48ID:9Ysrcdv4
Swiftとあまり関係ないけど、
Storyboard SegueのAPIとかをもっと洗練させて欲しいんだけどな。
現状だとprepareForSegueがどんどん肥大化するし、
UnwindSegueも超絶使いにくい。
だんだんpresentViewControllerとdismissViewControllerでいいじゃんとか思ってくる。
0282デフォルトの名無しさん2014/08/27(水) 09:06:00.02ID:qNhMHOnM
言語の名前

SwiftよりAurisのほうが、広く普及するみたいな感じでいいと思うのだが。
0283デフォルトの名無しさん2014/08/27(水) 09:48:07.27ID:9be3Q43w
https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/DesignPatterns.html
0284デフォルトの名無しさん2014/08/27(水) 10:12:00.61ID:mXhl2ow7
?
0285デフォルトの名無しさん2014/08/27(水) 10:47:40.70ID:+JOa++3v
>>276
そっちは分かりづらいな
UITableViewの方が分かりやすい
メソッド名、キーワードの扱い無理矢理すぎる
swiftだけから始めたエンジニアが理解(納得)できるメソッド名じゃねーよ、あんなの
0286デフォルトの名無しさん2014/08/27(水) 10:56:21.15ID:mXhl2ow7
否定するなら代案をださなきゃ
否定は最も安易な意見
0287デフォルトの名無しさん2014/08/27(水) 11:07:30.58ID:+JOa++3v
>>286
で?
0288デフォルトの名無しさん2014/08/27(水) 11:13:41.80ID:mXhl2ow7
>>287
いや、もういい
俺が悪かった
0289デフォルトの名無しさん2014/08/27(水) 14:21:55.90ID:F/J1AYIT
Smalltalkにより近づけた方が新参者が湧いてこないでよかったのに
0290デフォルトの名無しさん2014/08/27(水) 16:28:00.36ID:D317Wfm+
>>289 Mac と iPhone / iPad を買ってくれるお客さんを増やすためには、沢山の新参者が必要なんですよ

言語と言っても営業ツールなんだから

ま、Javaを作ったSUNは無くなってしまった
オープンソースにしすぎるのも良し悪し、落し所が難しいね
けど旧社員はハッピーじゃ無いのかな

そう言えば SUN もBSDだったね
0291デフォルトの名無しさん2014/08/27(水) 16:34:51.08ID:pNPs7EXf
MySQL買ったから買収されただけだろ
0292デフォルトの名無しさん2014/08/27(水) 16:35:42.95ID:pNPs7EXf
あとSunOSはBSD系だけどSolarisはSysV系
0293デフォルトの名無しさん2014/08/27(水) 17:53:54.48ID:rIjA/xTp
Solarisもごく初期はBSD系だからややこしい。
0294デフォルトの名無しさん2014/08/27(水) 18:10:38.34ID:A+sUzTvq
Java VMは Microsoft も Apache も作ってたが Google の Dalvik しか残らずしかもなくなる予定
ARTしかりネイティブバイナリに落ち着く定めよのう
0295デフォルトの名無しさん2014/08/27(水) 18:41:05.87ID:h3Eh8rr+
>>293
Solaris1.0は便宜上SunOSの改名だからSolarisはSysVと考えていいかと。
>>294
ARTってDalvikのコード実行できないの??MSXべーしっ君みたいなもんだと思ってたんだが。
0296デフォルトの名無しさん2014/08/27(水) 19:22:58.14ID:oxMQ7g2i
>>295
Dalvikのバイトコード(dex)をLLVM中間コードにコンパイル、LLVM中間コードからネイティブコードへコンパイル
これらをアプリインストール時に行う

直接dexが動いているわけではない。
0297デフォルトの名無しさん2014/08/27(水) 19:24:22.93ID:oxMQ7g2i
>>294
サードパーティの、が抜けてる。
あと、Dalvik VMはJavaVMではない。全く別物
0298デフォルトの名無しさん2014/08/27(水) 19:38:33.63ID:A+sUzTvq
一応、素のjava classのためのクラスローダーとか乗ってるんだけどな
まぁ、定義を追っても下らないので気にすんな
0299デフォルトの名無しさん2014/08/27(水) 19:49:08.99ID:oxMQ7g2i
>>298
それってJavaVMのバイトコードを直接実行できんの?
できなきゃVMとしては別物。定義を追う必要もない
0300デフォルトの名無しさん2014/08/27(水) 20:10:31.37ID:Dapo3mLs
>>299
めんどくさいなぁ、ガラケー時代のJavaVMと呼ばれたモノはみんな素のjava classをプレコンパイルしたバイナリを実行してたんだよ、Dalvikと同じく
同じ定義で素のクラスが喰えるモノをJavaVMと表現する古い人もいるんだよ
DalvikがJavaを名乗らなかったのはDoJaと同じ理由だろうよ

swift(iOS Runtime)やARTは完全にネイティブコードだから別次元なんだよなぁ
ハードスペックが上がった今時そんなにネイティブに拘らんでもと思うが
0301デフォルトの名無しさん2014/08/27(水) 20:20:28.18ID:h3Eh8rr+
>>300
>ハードスペックが上がった今時そんなにネイティブに拘らんでもと思うが
それでもやっぱり携帯デバイスはネイティブでないと電池とかも持たなかったりでね。
AndroidよりiOSのアプリのほうがハードは貧弱だけど快適だって評価も結構あったよね?
ネイティブでの生産性を上げるというアプローチは、iOSでネイティブアプリを作らせていたAppleの方針だし
その結果がSwiftなんだろうよ。
0302デフォルトの名無しさん2014/08/27(水) 20:30:23.13ID:Auhnp5AU
>>300
DoJaは正式なJavaME(JavaVM含む)では?
>素のjava classをプレコンパイルしたバイナリを実行してた
何言ってるのかわからない。
JavaVMの定義は、「JavaVM向けバイトコードの命令セットを実行する仮想マシン」であってそれ以上でもそれ以下でもない。
その古い人たちというのは、勘違いしてただけ。

>DalvikがJavaを名乗らなかったのはDoJaと同じ理由だろうよ
違う。
まず、DalvikVMはJavaVMのバイトコードを直接実行できない(何度でも言うが)
また、VM関係なくAPIなども含めた環境がSUN(今はOracleか)の互換テストを通っていない。
だから、法律上Javaを名乗れない
0303デフォルトの名無しさん2014/08/27(水) 20:33:29.08ID:Dapo3mLs
iOSはアニメーションで誤魔化してるが案外動作もっさりだからなw
バックグラウンドマルチプロセスを解放したりとそろそろバッテリーは劣化を見せ始めるからテコ入れは必要だったんだろうな
0304デフォルトの名無しさん2014/08/27(水) 20:36:07.84ID:Auhnp5AU
>>303
俺もあんまり詳しくないが、てきとーなこと言ってね?
アニメーションで誤魔化してる→バックグラウンドと全然つながってないし。
0305デフォルトの名無しさん2014/08/27(水) 20:38:26.83ID:Dapo3mLs
>>302
DoJaは正に法律的にJavaを名乗れなかったし、Dalvikは素のクラスファイルのクラスローダがあるし
噛み合わんぜよwやっぱりもう下らないじゃないかww
0306デフォルトの名無しさん2014/08/27(水) 20:40:59.41ID:Dapo3mLs
>>304
繋げてないからな、ネイティブコードに関する2つ視点の話だ
0307デフォルトの名無しさん2014/08/27(水) 20:51:32.31ID:Auhnp5AU
>>305
そもそもDoJaはVM部分はJavaMEなのでは?プロファイルやAPIの部分のみ独自
だから、Javaを名乗りようがない

>Dalvikは素のクラスファイルのクラスローダ
これ何のこと?教えてよ
0308デフォルトの名無しさん2014/08/27(水) 20:57:33.30ID:MDxpf5sK
ヨソでやってください
0309デフォルトの名無しさん2014/08/27(水) 20:57:58.56ID:Auhnp5AU
>>306
じゃあ、1つづつ
>iOSはアニメーションで誤魔化してるが案外動作もっさりだからなw
アニメーション(エフェクトやインジケータ)による体感時間の軽減はわかるんだが、それを除いただけでもっさりするとは思えない。
例えば、どの辺りがもっさりなんだ(開発者の視点で頼む)
>バックグラウンドマルチプロセスを解放したりとそろそろバッテリーは劣化を見せ始めるからテコ入れは必要だったんだろうな
そこら辺はOS側の仕事だから、Swiftは関係ないだろう
0310デフォルトの名無しさん2014/08/27(水) 21:02:30.30ID:FM2rf8sy
おいおいここはSwift スレだぞ
もうそろそろJava談義は良いだろ

一つだけSwiftに近い話に戻せば、Javaがいくらがんばってもネイティブと勝負するにはそれなりに高価なハードじゃ無いと勝負にならない
0311デフォルトの名無しさん2014/08/27(水) 21:04:01.68ID:aRzM6R4R
法律もクソも、上納金払ってオラクルが認めてくれればJavaだしそうでなければJavaじゃない
それだけだよ
テスト云々は、Javaと認められたければこうしてね、というガイドにすぎず、
オラクルがJavaと認めるかどうか判断するときにそれに従わなきゃいけない筋合いはない
0312デフォルトの名無しさん2014/08/27(水) 21:08:16.51ID:Auhnp5AU
>>311
JavaではなくJavaVMの話だ。
JavaVMのバイトコードを動かせないVMをJavaVMと言い張るから反論した。
ちゃんと読めばわかること。
0313デフォルトの名無しさん2014/08/27(水) 21:11:19.88ID:h3Eh8rr+
みなさーん、スレタイスレタイ
レスの内容、ちょっとは関連付けてよw
0314デフォルトの名無しさん2014/08/27(水) 21:19:37.99ID:FM2rf8sy
>>311 そんな勝手なことをしたら言語規格なんて無くなるだろ

やるんならソサエティの中で指導的立場で動くのが大人と言うものだ
まるでガキ
0315デフォルトの名無しさん2014/08/27(水) 21:30:37.67ID:hJeKPnbu
ちゅうか、ForthとかPrologとかlispとかSmalltalkとかJSとかBasicとか方言だらけやん。
むしろJavaは方言の癖が殆どない。
0316 ◆QZaw55cn4c 2014/08/27(水) 22:17:28.20ID:MFzPg3cf
scala‥clojure‥
0317デフォルトの名無しさん2014/08/27(水) 23:44:29.62ID:KvXUn5/Y
面白い子が入るくらいに swift はハードル下げたなぁ
swift は色んな言語仕様の闇鍋だから方言も多くなりそうで楽しみだ
■ このスレッドは過去ログ倉庫に格納されています