【試される信仰心】Apple「Swift3.0は「Swift 2.2」とはソースコードの互換性が失われるけど文句ねーよな」 [無断転載禁止]©5ch.io [575063867]
■ このスレッドは過去ログ倉庫に格納されています
Apple、次期メジャーバージョン「Swift 3.0」のリリース過程を解説、正式リリースは2016年後半予定:CodeZine(コードジン)
http://codezine.jp/article/detail/9423
米Appleは、プログラミング言語Swiftの次期メジャーバージョンとなる「Swift 3.0」の、リリースまでの過程を、Swift公式ブログの5月6日(現地時間)付の記事で解説している。
「Swift 3.0」では、言語仕様および標準ライブラリに大きな変更が行われるため、「Swift 2.2」とはソースコードの互換性が失われる。また、(現段階ではまだ開発の初期段階ではあるが)クロスプラットフォームなパッケージの作成・配布を可能にする、Swift Package Managerを新たに備える。
なお、Swift Package ManagerはDarwinおよびLinuxにも対応予定で、「Swift 3.0」はLinux向けのコードライブラリも搭載している。
「Swift 3.0」の正式リリースは2016年後半を予定しているが、それに先だって開発者向けのプレビュー版を4〜6週間程度の間隔で提供する。
開発者プレビュー版は、その時点での最終リリースとなる「master」、「master」から作られる開発者向けブランチであり、ユーザーからのプル・リクエストを受け付ける「swift-3.0-preview-<X>-branch」に分けられ、さらに、「swift-3.0-preview-<X>-branch」の最終版を「swift-3.0-branch」と呼ぶ。
変更はコア部分のみで、大きな変更についてはケース・バイ・ケースで判断される。また、言語仕様やAPIへの変更は「Swift Evolution」プロセスに準拠し、変更を受け入れるか否かの基準は、正式リリースが近づくにつれて、より厳しくしていく。
最初の開発者向けプレビュー版「swift-3.0-preview-1-branch」の提供は5月12日(現地時間)を予定しており、以降4〜6週間ごとに新バージョンの提供を行う。一方、「swift-3.0-branch」のリリースはswift-devなどで議論して決定する。 Pythonも互換性がどうので古いのが使われてるんじゃなかったっけ
互換性を気にしすぎたせいで出来上がった糞言語c++があるだけになんとも言えん
>>8
なんであんなんが競技プログラミングで使われてんの? >>1
おいおいwww
ようやく盛り上がってきたところで、これ?ww ダメだこりゃ 互換性捨てて前に行く奴がいてもいいよ
全員これじゃ困るけど
>>7
2.xと3.xとでは、互換性がかなり失われてるから、未だに2.xが主流 Appleは数十年前からまともな開発環境を用意したことはないからな
プログラマなめくさってんだよ
古いOS使い続けてるゴミクズを強制的に切り捨てるためかね
それ言ったらpython3.xもangular2も
もうさこんなMacとiosにしか使えない言語じゃなくて
クロスプラットフォーム開発ができる言語使ったほうが良くね?
C#とかJavaScriptとかさ
低レベルのクロスプラットフォームはメーカーの気まぐれについていけなくてちぬからな
ボーランドもメトロワークスもちんだ
りんごがどうっていうかプログラム言語では割とあること
別に2.xの開発終了させるわけじゃなければいいんじゃね
つまり、りんごは負けを認めたのか。
Swift2.2が使えない言語と言うことを認めたんだな。
割と新しい言語だろ、言語デザインがスタートから間違ってたのか
AppleがCOBOLに回帰したらおじいさん達が喜ぶな(ローカル変数使えたら実際あんまり困らないし)
ランダムに右か左かを表示するだけのアプリに何億も貢ぐ
林檎信者共にとっては屁でもないだろこんなの。
これこそがあいつらの言う「アップルの理念」なんだろうし。
FlashPlayer + AS3.0を潰した罪はでかいぞ
やりたい放題だな
storyboradの編集をまともにするのが先だろ
死ねよ
>>33
python2と3
Perl5と6
Java
vb.netなんかもころころ変わってんじゃね そんなんゲロ吐いちゃう
コンパイラに頼ってるから、コンパイラのバーアップなければ死んじゃう
>>8
C++はクソじゃないだろアホ
winAPIに絡ませてるのが難解なだけ >>30
OSSにしたのは去年くらい
そんでドキュメントとライブラリが増えたらこのざまですよ これは今回のバージョンで破壊的変更は無いと宣言しないと水を差しそうだな
3出て一年してからでいいだろまじで
目新しいだけで技術選ぶやつはクソ
swiftという言語はアップルが作っただけにスタイリッシュでクールな言語なんだろうか?
2.2から3.0にコード変換出来るようにはするだろ流石に
write once, run everywhere
AndroidがSwiftを採用する事は無さそうだな
3へのコンバータを出すかどうかより
2のビルド環境を残すかどうかが重要
奴らは開発環境ごと殺しにかかる
>>26
それnativeじゃないからな
ゲームと違ってアプリ屋はそれぞれ native で組む プログラミング言語にはよくあること
ただしD、お前は許さない
Objective-Cからの書き換えが捗るな{ }
互換性があるに越したことはないが
メジャーバージョンアップで完全に互換性ある言語の方が珍しいんじゃね
1は素人か
基本的に冗長なメソッドが短くなるんで大歓迎かな
4.0の時も遠慮せずに振るいにかけて欲しいわ
ただでさえpg単価下がりそうなお手軽言語やからな
c#だっていずれnull禁止型を入れるために互換性切る必要あるしな
voidが値を返さないせいで式に出来ることが少ないし
大きく互換性切ると別言語になっちゃうけど
c#は別言語も同様に動かせる共通言語ランタイムだからまあどうでもいい話だな
swiftも3から2のライブラリが呼び出せれば互換性なくても別に問題ないだろう
swiftは悪くないけど安定するまであと10年はかかる
今はjavascriptやるのが吉
枯れ切った規格の Common lisp でも処理系による差を吸収するのが難しいとはいえるけど、やっぱり、期間が短すぎだな
互換性無いなら名前変えろや
さも上位互換みたいにバージョン上げた名前使うのやめろ
互換性なしでサイドバイサイドもできないなら誰もこんなクソ言語使わないんじゃない?
正直に答えろ
objective-Cは良い言語だったか?
>>71
swiftの代わりにjavascriptを使って何をするつもりなの?
>>80
超気持ち悪かった 俺オブC好きだよ
あの長ったらしいメソッド名
慣れると分かりやすい
>>82
慣れる慣れる。変化球だけどなんだかんだで悪くはなかった >>63
xamarinネイティブ吐くよ
C#以外要らないな
>>85
androidでネイティブと言ったらJNIからc,c++のコードを呼出すことを指すのだよ >>39
>ランダムに右か左かを表示するだけのアプリに何億も貢ぐ
>林檎信者共にとっては屁でもないだろこんなの。
>
>これこそがあいつらの言う「アップルの理念」なんだろうし。
何てアプリ?
>>88
アメリカの空港の入国ゲートの案内表示
テロ対策のため、絶対に規則性がなく必ずランダムに左右を表示するアプリが必要だったらしいのですよ >>87
JNIってc,c++の関数とJavaのメソッドを呼び合える
インターフェイスのことであってJITみたくコードを吐く
技術じゃないでしょ?
>>91
そうだよ
c,c++はコンパイル時にバイナリにされるよ
JITみたいに必要に応じてコンパイルという訳じゃない リンゴ信者は気持ち悪い
アップルウオッチを身につけてドヤ顔してるやつ全部同じ顔
洗脳ってこういうことね
>>42
storyboradは
さっさと捨てろ
GUIを複数人で管理できねーし
一つ画面いじると、大規模全コンパイルの糞仕様 個人的にはシュミレータが鬼のように重くなったのをどうにかして欲しい。昔カルカッタやろ
なんでこんなにポンポン互換性のないバージョンアップするんだよ
androidなんてjava6から7になってNで8になる程度だし、基本的に古いのはそのまま使える
swiftは変わりすぎだろ
前に作った別プロジェクトからコピペしてくるとエラー出まくるぞ
xcode重すぎるしswiftビルド遅すぎるしクソアホツールや
Androidも変化は速いだろ。API 2x以降はこのAPIは非推奨になりました! みたいのはむっちゃ多い。
非推奨になっても使えるけどさ
この分野には不案内だが、素人なりに疑問に思うのは、人間が機械に行わせている作業というのは
どんなに複雑化したように見えても、1と0の2値で表現した整数量に変化させてそれを並べたものに計算を加えて
これをアウトプットする、という基本的な発想は一切変更がないんだろ?
アウトプットされる表現が初音ミクの擬似音声のPCMだろうと、デジカメの画像だろうと、つまり極限ま分解し
コンピューターの内部においては1、0のビットデータで表現されているはずだ。
つまりコンピューターに命令する命令の根本的な発想は、それが真空管で作られてから今に至るまで
原理的にはさほど変わってないと信じているんだが、言語仕様というのはそんなに頻繁に変えなきゃ
いけないもんなのか?
俺は生まれてから日本語を覚えて何十年にもなるが、自分が使っているこの言語を20年かそこらで
頻繁に改廃されたりしたら、頭をかきむしりたくなるだろうっつーかキレると思うんだ。
そして現代日本語は俺の考えや言いたいことをおおよそ完全に表現可能で十分にこの言語に
満足している。
アラビア数字と論理記号で表現される証明数学などは、もっと普遍的かつシンプルで、おそらく
数百年以上経っても変わりようがない。
つまり「覚えればずっと使える」。
なぜ、「覚えればずっと使える」というような言語にならないのか、あるいは使用者や
言語製作者がそういうものを目指さないのか。
俺は素人だからそこんところがわからない。少なくとも、一度覚えれば半世紀ぐらいは
使いでのある、そういうプログラミング言語は目指せないのか?
目指せないとすれば、何が障害になっているのか。
こういう話題を見るたびに、そこをぜひ教えて欲しいといつも思う。
>>100
0と1だからこそコンピュータとそれを支える論理数学は
厳密でそれゆえ自然言語の曖昧さを許容できない
人間に親しみやすいのは高度に抽象化された自然言語だが
コンピュータに理解されるものは究極的に曖昧さを
排除された命令コードと一切の曖昧さを許さない数値群
そのギャップを埋めるためにプログラム言語は作られる
抽象化レベルや抽象化ポリシーが違えば
言語のグルーピング手法は異なる
それこそ人の数ほどある
だから多数開発されるわけ まあ言語とか言いつつ命令の塊なんだけどな
だから本来的な言語の役割とはちょっと違うかな
いわば指示書みたいなもんだから
>>101
その話を俺なりに大雑把に解釈すると、つまり「人間側のテイストの問題」というように感じた。
コンピューターに渡す演算式になる時は何の変わりもないけど、その演算の書き方の好みが各人でわかれるんだ
だから言葉遣いの好き嫌い、どういうギャップの埋め方が好みかで人々は言語を選び取ってくけど、
料理に中華、フレンチ、日本料理、イタリアンがあるように
プログラム言語も料理の好みのごとく分岐している、と。
確かにテイストの違いで選ぶ言語が変わる、話しやすい言葉を選ぶというのは一つの理屈だろう。
けども、書いたように「もう、俺はこの料理だけ食って生きていくんだ、この調理法を覚えたら
新しい料理なんて覚えるの面倒くさいからどうでもいいんだ、とにかく俺はこれでお腹いっぱいに
なるんだ、だからこの調理法を50年でも100年でも使いたいんだ」みたいなニーズは無いわけ?
>>1のニュースも仕様が変わりました、で、迷惑してるという話だろ?
だったら、もう、この調理法を変えないでくれ、この言語であと100年ぐらいはずっと
プログラミングで生きていけるだろう、みたいな、そんな言語は無いのけ?
自分が一度覚えたことをそんな頻繁に時代遅れにされてたら、学習者はたまらんだろうと
俺なんかは思ってしまうのだが。 >>46
なぜそこでwinapiが出てくるかわからん
windowsでゲーム作るだけの言語じゃないんだよ つまりあの「中華鍋さえあればチャイニーズシェフはどこでも開業できる」的なそういうプログラミング言語。
中国人はどこに移民するにあたってもまず中華料理店から勢力を伸ばしていく。
つまりあの鍋とコンロがあれば、あらゆる場所で可能な技法のワンセットとして中華料理は彼らの武器になってきた。
こういう技法のセット、どこでも普遍的に使用できてしかも、時代を通じて使い続けることができ
陳腐化されないスキルや技術のワンセットというのはとても便利で、また、俺はそういうものが好きだ。
プログラミング世界においても、そういうものができたら万人の利益に資するのではないかと思うのだが
そういうものを打ち出すのは難しいのかね?
>>26
swiftはオープンソース化されたから
今後は他の分野でも使われる可能性は十分ある
androidもswiftになる可能性あるし >>103
コンピュータの仕事に求められるニーズが時代に応じて
変わっていくから
あとアルゴリズムやスタイルに関するトレンドもある
GUIや並列化をアプリケーションプログラマに求められる
のは80年代には無かったし、そもそもCPU自体がプア
なら実用的な言語形態は変わってくる
ずっと変化していないコンピュータ言語はある
それはアセンブリ言語
さらに言うと実のところ各言語は自分以外の言語の
いいとこ取りをしてるだけでその組み合わせが
如何に多数の開発者のニーズにマッチしてるかって
だけなんだよね >>105
WinAPIはCベースだからじゃないの?
まあ言語特性を説明するには合ってないけど 互換性ってのはJavaみたいに圧倒的なニーズと歴史があるから価値があるんだよ
今Swiftに飛びついてるのは意識高いデベロッパやモノ好きだから互換性なんか気にせずどんどん改良しろ
>>106
そういうのはCだったり、Javaだったり、javascript
だったり、LAMPだったり、VBだったり
潰しの効く言語というのは業界ごとにちゃんと存在してるよ
ただエスペラント語みたいな言語はないってだけ
あえて言えばIAとかARMとかのニーモニックかね >>111
なるほど。使いでのある言語というのは一応あるんだね。
C言語というのは昔から聞くから相当に寿命が長いのだろう。
いや、単純にプログラミング言語ニュースというのは新しいのがリリースしては不満が巻き起こる
というパターンを何度も繰り返しているように見えるので、それを何度も繰り返すのは不毛だろうから、
それなら一種の普遍言語を作ろうという解決になぜ向かわないのか。
それに何か強固な障害があるのか、あるとすればそれはどんな理由で実現しないのか、と個人的に疑問に思ったまでで。
>>112
例えば日本語だって、戦前は横書きの文章を右から読んでいたのが、戦後になって左から読むようになった
もっと昔の文語体なんて、現代の人間で、すらすら読めるやつはいないだろ
コンピューター言語を操る人間様同士の言語だってこんな有様なのに、完璧なコンピューター言語が作れれる訳がない
言語はその時々の技術的制約や文化の影響を受けて進化し続けるんだと思うな >>113
しかし現代日本語は100年ぐらいは持ちこたえてるからね。
江戸時代のものまで遡ってスラスラ読ませろとは言わないが、大正時代や明治末期は読めるわけだよ。
要するに更新頻度が早すぎやしないかということだよ。俺は一度身につけたことを、高速で陳腐化はされたくないから、
次々とタケノコのように出る言語や、すぐ前の文法が使えないとかいう話で、プログラマの方々はよく怒らないな、と。 >>116
だってホビーだもん
技術の出発点は好奇心と発見から生まれるもので
その土台はホビーにある
その意味で言えば安定は死を意味するわけで
それを望む人もいるだろうけど世界的には変化を望む人が
多くいるってことじゃないかな >>116
文法なんて人間の言葉に比べたらシンプル
言語よりもフレームワークとかツールがガラッと変わるほうがつらい >>117
俺のアナロジー的な把握で言うなら、ホビーの部分はつまりプログラムで表現されるアプリケーションの部分だろう
と考えてしまうんだ。
つまり小説と同じなんだよ。
日本語や英語を使って小説家は小説を書くよね。
つまりホビー、自己表現の部分は書かれた物語で達成するわけで、使用言語で達成するわけじゃない。
日本語の仕様や英語の仕様がグラグラ揺れて、変わってしまうと(もちろん方言とか、わざと古めかしい
漢文表現やシェイクスピア時代の近代英語を使うような、むしろ変わった日本語や英語を楽しむという
小説作法もあるにはある、あるけどそれがメインでは困り標準英語や標準日本語のようなものは
あって欲しいということだ)、いちいち新しい書き方をも覚えなければいけなくて、それがすでに楽しくない。
ストレスだ、ということにならんかと。
言葉を思いつくのがホビーな人は片っ端から新しい言葉作ればいいけど、言葉そのものより書くこと
を重視したい、そっちがホビーだという人は言葉はもういちいちグラグラと揺れてくれなくて
良くて、覚えた言葉で書くことの方を重視したいとは思わないのか。 既に書いたように俺はこの世界の部外者であり、素人意見だから、事情通からみて
お笑いなことを述べているに過ぎないかもしれない。
そこは部外者の勝手な意見として笑い飛ばしてほしい。
ただ、もし仮に俺が若い子どもで、プログラムの世界に参加するとなったら、俺はたかが数十年ももたないような
陳腐化の早い技術を、自分の生涯の頼みとはしたくないってことだ。
俺がこの世界に参加する立場なら、たぶん寿命が長い、つまり一度覚えればずっと使っていけるようなものを希望するだろう。
>>119
>>116
C言語を使えばなーんでも作れるよ!
Linuxだってwindowsだってみんなc言語で出来てるんだ!
でもキッチリ丁寧に決まり事に従って書いてね。
あ、でもその書き方はWindowsのマシンでしか理解できないからね、iphoneにも分かるように翻訳機も作ってね!
それとコンピューターは曖昧なことはわっかんねーから引用するときは何ページの何行目の4番目の単語とか毎回漏らさず書いてよね!
てな感じでやってけばアセンブラとcだけで全部作れるんじゃね?
ただ目的はさぁサクッと僕の考えた凄いメモ帳を作る事なんだわ。
単語がどこに書いてあったか、とか機械ごとの差異とか意識してたら進まねぇんだわ
「じゃあそういう煩わしいのを省略できるようにしたのを作ったよー!
すぐに使える部品もいっぱい用意したよ!」
っていう便利な工具セット(別言語)が出てくるのも納得いかんかね? >>121
いや、納得いくよ。つまり俺も、そういう普遍的に使えるものはないんか、という話だからね。
普遍的に使えるもんがあって、それがあれば環境の差だのなんだの大して気にせず生きていける。
まさに「中華鍋があればどこでもチャイニーズ料理店」だよそれは。 うん、チャーハンを作るのに、中華鍋(C言語)だけでも作れるよ。
けど毎回真心込めた手作りで時間がかかっちゃうし、
「日本人の舌に、アメリカ人の舌に合わせたい!
組み合わせて天津チャーハンを作りたい!
そもそも毎回手作りめんどくさい!レンジでチンして餃子もチンしてすぐに作れたほうが楽!
飯食わす場所もいちいち考えてられない。大体飯食うスタイルなんて一緒やろ!」
とかのルーチン、応用、ほとんど変わらない形態を短時間で出来るようになりたいから、
冷凍食品やら、レトルト食品やら、セントラルキッチンやらチェーン展開、宅配やら(色んな言語)が出てくる。
ほんでそれぞれにメリット・デメリットがある。改良もしたり廃止されたりもする。そんだけ。
>>123
上でもCが勧められてたから、つまり結局のところ一番基底にあるもの、中華鍋に中華包丁のような
使いでのある存在はC言語だと思っておけばいいのかね。
ほかはその上にくっつく上部構造に過ぎない、つまりシェフにとってはより進んだキッチンや作業を早くするミキサーなど細々
した道具、便利ツールにすぎなくて、それらの根底にあるのはCだと。
そしたら俺ならC言語の学習から入るだろう。 アホらしい
中華料理を作るという目的に対して、C言語は鍋を鋳るところから始めるに等しいわ
TOKIOでもない限り今更C言語を使おうと思うのは人生の無駄遣いでしかない
言語の進化を受け入れないという選択肢は職業プログラマにはないんだよ。
技術の無いプログラマとかが淘汰されるんだからよくね?
頭良い人ならすぐ理解できるでしょ
>>120
コンピュータプログラミングの本質はノイマン型コンピュータが
生まれた時から変わってないから、陳腐化を心配する必要は
ない気がする
プログラム言語はスポーツ用品や楽器のようなもんで
バットやグローブ、ボールやクラブの機能性や性能は
マイナーチェンジしたり、楽器はクラシックギターがエレキギター
になったりするけど、それによって表現することや得られることの
本質は変わらないのと一緒
物理的な制約を受けないソフトウェアだから変わり得るものの
許容範囲が恐ろしく広いけど論理的な本質はずっと変わってないし
これからも変わらないからそこは陳腐化しないと思う
まあAIが発展したらプログラミング自体が陳腐化する可能性はあるけど
その場合はコントロール手法が発展するだろうからね Appleはソフトに限らず面白い物作るのは出来ても作り込む能力は無いからちぎっては投げちぎっては投げするしかない
そういうとこはシャープに似てる
>>46
クソだよ
オブジェクトの初期化だけで何通りの方法があんだよ
しかもそれぞれクセがあるし swift1から2のときもそうだったし、2から2.1とか2.2のときもそうだったじゃん
ちょっと面倒ではあるけどもちょこちょこ直すだけだしね
変に古いコードがいつまでも残るよりいいよ
■ このスレッドは過去ログ倉庫に格納されています