Objective-Cのキモイ書き方から解放されるっていう意味では歓迎したい
はえーよw
javascriptみたいなやつか?
発表してすぐにドキュメント公開とは、さすが オープンソースベースのIDEすら未完成のどっかとは違うな
LLVMでScalaっぽいのつくりましたって感じか? マカじゃないから羨ましい悔しい
kindleで配布はよ ていうかwebでドキュメント公開しないところがいやらしいな マカー以外も興味ある人多いのに
やばい、ナウでヤングでいけてる、それで性能もいいというし。 これからiosとosxの開発賑わうのでは? 若者をapple自軍に呼び込む召喚魔法になりそう
11 :
デフォルトの名無しさん :2014/06/03(火) 05:49:11.67 ID:QNehfQ3/
開発環境は?
Objective-C と見た目が違い過ぎて笑う。 でも、流石にObjective-Cよりは遅いんじゃないか?
はやすぎワラタw
TypeScriptに似てるね。
>>13 WWDCではObjective-Cより速いってグラフ出してたけどどうなんだろうな
もともとLLVMを念頭に置いて設計されてるから有利なのかも?
Microsoftをパクってきたのか。
18 :
デフォルトの名無しさん :2014/06/03(火) 06:50:33.89 ID:Fqc6zuT2
結局、なんの言語のパクリなのか、まとめといてくれ。
早いよ。 マシンレベルでも最適化されるし言語仕様自体見ても高速に動きそう。
Enumもあるし、Genericsもあるのか。ますますTypeScriptに近いな Swiftのprotocolっていうのは、TypeScriptのアンビエント宣言のことかな?
タイプセーフ言語らしい。 Type Safety and Type Inference Swift is a type safe language. A type safe language encourages you to be clear about the types of values your code can work with. If part of your code expects a String, you can’t pass it an Int by mistake. Because Swift is type safe, it performs type checks when compiling your code and flags any mismatched types as errors. This enables you to catch and fix errors as early as possible in the development process.
1レスでマスターできるSwift言語入門 他言語のよせあつめだから、マスターするにはこれだけで十分w (まあざっとしか見てないから間違ってたらすまん) タイプセーフ言語。全般的に型ある。型キャストもある。 Generics搭載、アトリビュートあり var(変数)とlet(定数)。変数・引数の定義は「名前: 型」の順番 文字列リテラル = よくある文字列クラス。文字列の中で変数展開や関数実行可能 for、for in、while、do while、if、swtchがある。 ループ系はラベルが使えてbreak、continueできるタイプ switchは、caseにそこそこ色んなモノが使えてFallthroughキーワードでフォールするタイプ 関数はfuncで定義。デフォルト引数と名前付き引数が使える。 可変引数は...、inoutキーワードで引数で戻り値を返せる。クロージャある。アロー演算子もある。 タイプセーフEnum。おなじみのclassとstruct。thisはself。 (たぶん)単一実装継承。インターフェース(protocols)継承は複数可能 overrideキーワード、プロパティ(set、getキーワード)あり コンストラクタ=init、デストラクタ=deinit。 自動リファレンスカウンタ方式。Weak Referencesあり extensionで既存クラス拡張可能 例外、try-catchは不明(なし?)
どっかで見たような言語だな。
ノ ゚.ノヽ , /} ...
,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは
>>1 乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
javascript ジェネレータはよ
>>28 ざっと見たけど見当たらなかった。
どこかに書いてあるのかねぇ。
これでObj-C食ったら皆得だな
Objective-Cはさすがに古臭すぎて やりたくなかったが、これで消え去れば最高だね。 Swiftの方がJavaScriptに似てるからいいよ。
NS遺伝子のジョブズ消えたから発表できたのか
>>29 Javascript コンパイラは有るみたいだよ。
Emscripten is an LLVM to JavaScript compiler
https://github.com/kripken/emscripten/wiki Swiftは次の様なコンパイル手順を取ってる。
Swift > Clang > LLVM byte code > マシン語
だからこんな感じになるのでは
Swift > Clang > LLVM byte code > Emscripten > Javascript
またLLVM中間語をわざわざコンパイルしなくてもそれ自体を実行できるJavascriptも存在しているようだから、そのままHTMLで使える。
LLVM.js - Badass JavaScript
Ruby, Python, Haskell, Java, D, PHP, Pure, Lua 等へもコンパイルできるらしい。
これは夢が広がるな。
とりあえずつい最近Objective-Cの勉強始めた俺からするとめちゃくちゃ嬉しいwww いやー早速rMBP15 rate 2013をXcode6とYosemiteにして遊んでるがめっちゃ簡単やん!TypeScriptやん!普段仕事はC#.NETやからめっさ馴染み深いシンタックスやん!!楽勝やんこれwww ほんま如何にObjective-Cが難しかったかよくわかるわー、これでコーディングやなくてアプリの中身そのものにリソース注げるわー
今風のcって感じだな 大して目新しい機能はなさそうだけど、今さらobjcよりましと思う
いやでもこれでXamarin必要なくなるwww あのクソ高くてふざけた制限ばかりのサブスクリプションを契約しなくてよくなるwww マジXamarinざまぁwww
そもそもCocoaの遺伝子がLLVMに受け継がれそれが発展してSwiftが生まれたんだから正常進化形だな。
誰が一番最初にSwiftインタプリタ実装するか勝負だ! てかLLVMってことはemscriptenで簡単にJSにできたりするかな? 新たなaltJSの誕生である。
>>38 C#が使えるってだけならXamarinいらんけど、
Xamarinの価値はAndroidやWindowsターゲットとも主にモデル等でコード共有出来るってとこじゃねえの?
俺使ったことないし知らんけど
>>31 が言うように例外処理が書いてないなぁ
ゼロ割りは error だけど overflow operator 使えば 0 になるよ、とは書いてあるが
error になったらどうなるのかが書いてねぇ
いまどきの新しめの言語機能を全部ぶち込んだような言語だな。 静的型の型推論、クラスベース、関数型の機能もある。クロージャもある。演算子オーバーロードもある。 そしてガベコレなし。GCは結局それほど良い物ではなかったと明らかになってきたな、最近は。 (いまだにヌルサクに動かないAndroid見れば分かる) 動的型に対する静的型の反撃、LLVMベースと ある意味、この10年ほどの紆余曲折が全部込められてるw システムレイヤからアプリケーションレイヤ、エンタープライズから3Dゲームまで幅広く対応できるんじゃね? Appleオンリーのクローズドな言語ということを抜きにすれば神がかってるわw とりあえずさー、JavaScriptとはかなり距離の遠い言語だぞw 共通項はC風構文ってくらいだ。 JavaScriptに似てるって言うやつのプロフ見るとほぼウェブ屋だから やっぱウェブ屋は世界狭いんだなとか思ってるよ(´・ω・`) もっとも、そういう人達も表向きJavaScriptに近い感覚で使えるというのはいいことだと思うね。
ガベコレはまんまARCだろ
>>41 行けると思うよ。 LLVMバイトコードは同じはずだから。
>>46 まさかWindowsのJITで動いたりしてくれないよな。 あれもLLVMだから同じバイトコードを使ってるはず。
これIronSwiftとかゆってVSで新規プロジェクト作成からコーディングまでできたらうんこ漏らすわw リモートでコンパイル・デプロイまでできたら最強やな、はよ
50 :
デフォルトの名無しさん :2014/06/03(火) 10:26:42.14 ID:Fqc6zuT2
言語仕様の内側だけ見ると、あまりにも個性のない言語だね。 反面、外側を見ると、あのAppleのベンダー独自言語ってとこと、LLVM向けに設計ってとこが特徴的ではある。
lisp屋だけど、引き続きMacでは仕事がないか。
>>24 すげえ、もうだいたい書けそう
ちょっとした経験者ならすぐ作れそうだな
Web開発者を取り込みたい狙いもあるんかもしれん
ベンダロックインされてなかったら、Script言語が軒並み死んでたな。 僕の考えた最強の言語を実体化させんなと。
DartががっかりJavaもどきだったからな 期待している
56 :
デフォルトの名無しさん :2014/06/03(火) 11:28:40.77 ID:u2cAAs6G
57 :
デフォルトの名無しさん :2014/06/03(火) 11:30:54.27 ID:u2cAAs6G
swiftはiOSとMac OS X用のDSLである。 汎用言語ではないのでマカー以外は解散!
>>56 それ別のSwiftや
なんで名前被らせたんだろうな
60 :
デフォルトの名無しさん :2014/06/03(火) 11:41:30.74 ID:ymd/m1MP
今更IntにするならIntegerにしろよと思った
IntにしたのはInt32とかUInt16とかもあるからじゃないか
63 :
デフォルトの名無しさん :2014/06/03(火) 12:10:44.59 ID:aTPhR8I0
ARCもそだけど、GC(VM上でアプリが動く)というならWindowsPhoneやFireFoxOSはそんなに重くない。消費電力は知らん。
IntがIntegerじゃないのは、 JavaScriptに対して言われていた 「functionってなげーよwww」対策だろう。 長いって言うなら、funcって略すよ(Swift談) Intergerも長いっていうんだろ? Intって略すよ。 たぶんこれ。
TypeScriptでいいや
ああfuncって気付いてなかった 省略方針なのね
Cの関数はそのまま呼べるの?
functionだろうがfuncだろうが、関数を特別視すんなよ。 第一級関数なら変数と同じ扱いができるだろ。
elsifじゃなくてよかったw
>>67 型が違うのだから呼べるわけがない。
>>68 > 第一級関数なら変数と同じ扱いができるだろ。
それは言語の発展と逆行した考え方だぞ。
命令もデータも区別がないというのがノイマン型コンピュータ。
コンピュータにとっては区別がなくていいが、
俺らは人間。人間にとってわかりやすいようすると
汎用的な概念から、どんどん特殊化する。
たとえばgoto一つあればできることが、
ループやbreakやcontinueや例外などに細かい概念に別れた。
例外処理はどうなってるんだ?
初見で書いてあることが分かった気になれるところがいいね。 Objective-Cなんてさっぱりわからんかったから。
Obj-Cから例外は使うなって方針だったから無くなるのはまぁ
例外無いのなら嬉しいわ
そのままでは呼べないが、Objective-Cのコードを介在すればC言語の関数を呼べる感じだな
>>75 呼べるに決まってるだろ。 呼べなかったらOBJ-CとSwiftをどうやってマージして使うんだよ。
>>78 重要なのは「そのまま」かどうかだよ。
呼べるか呼べないかで言えば、JavaからC言語だって呼べるし
ラッパー作ればバッチファイルからだってC言語ライブラリ呼べるさw
そりゃラッパーかませば呼べるのは分かるよ swiftの関数内でそのまま例えばfreadとかできるのかが知りたいんだ ランタイムは共通とか言ってた気がするから ObjCで書いてコンパイルされたフレームワークで定義されたクラスやメソッドなんかは 構文が変わるだけで直接呼べるのだよね?
だからC言語の関数をそのまま実行するのは無理だって。 そもそもC言語の場合コンパイルしてしまえば、 バイナリから関数名も引数の順番も数もそういった情報はなくなってしまう。 それを補うのがC言語のヘッダファイルなわけで。 swiftがC言語のヘッダファイル(プリプロセッサ含む)を 解釈できるのでないかぎり、C言語の関数をそのまま実行するのは無理。
82 :
デフォルトの名無しさん :2014/06/03(火) 13:17:40.99 ID:FnIPHf/f
関数宣言を与えただけで呼び出せるのなら、それはそのまま呼び出せるのと違わん
関数宣言を与えても呼び出せないので、 SwiftはC言語の関数をそのまま呼べないという話。
C言語のコードをコンパイルしただけでは関数名は無くならないだろ
関数名は残っていたな失敬失敬w でも引数の型や数といった情報は消えてしまう。 呼びだそうにも何を渡せばいいかわからない。
基本的にはObjCと違って全部Swift内で完結せよというスタイルで Cで書かれたライブラリを使いたいならObjCでラッパークラスを作るか 素直に全部ObjCで書けということなのかな あまりお世話になることはなさそうかな
Swiftの処理系はC言語形式のヘッダファイルを解釈できるみたいだよ? ただそれによって利用可能になるのはObjCの形式で宣言したオブジェクトの定義だけみたいだが
>>87 ソース持ってきたら話を聞いてやってもいい。
C言語のヘッダファイルって、 ヘッダファイル専用の特殊形式ってわけでもなく、 Cコンパイラそのまま実装していなければ、 解釈不可能なはずだけどねぇw
「ObjCの形式で宣言したオブジェクト」って言ってる時点で、 それ普通のC言語のヘッダファイルじゃないからw Objective-CはC言語じゃないんだよ。 C言語の範疇から外れたものしか扱えないって 言ってるようなもんじゃんかw
>>91 なるほど、んじゃプロジェクトの特定のクラスだけObjCにするようなことは容易にできるわけだ
ほうほう、紛らわしいことにC言語とは全く互換性がない
Objective-C用のヘッダファイルというものがあるわけか。
http://www.atmarkit.co.jp/ait/articles/1404/09/news029.html >
> クラスの宣言
>
> クラスを作成するには、このクラスがどんなクラスなのかを宣言する必要があります。
> クラスの宣言はヘッダーファイル(.h)に書きます。そして、
> クラスを宣言するには@interfaceと@endを使用して以下のように書きます。
> クラスやクラスに定義されるメソッドの実装は実装ファイル(.m)に記述します。
> クラスを実装するには@implementationと@endを使用して以下のように書きます。
>
> @implementation クラス名
> @end
> @implementationと@endの間にクラスを実装していきます。従って、Personクラスでは以下のように記述します。
>
> @implementation Person
> @end
> また、実装ファイルには対応するヘッダーファイルを#importで読み込む必要があります。
> 以下のようにして、Person.hをインポートするようにしましょう。
>
> #import "Person.h"
> @implementation Person
> @end
Obj-CはCの仕様を完全に含んでるよ
>>71 throw try catchがなくて??ってなってる
>>94 > なるほど、んじゃプロジェクトの特定のクラスだけObjCにするようなことは容易にできるわけだ
できない。
というかそもそも、C言語にクラスというものが存在しない。
JNIみたいなもんじゃね。 ある程度の安全性を考えたら、直よりもJNIみたいな方がいいと思うが。
>>96 > Obj-CはCの仕様を完全に含んでるよ
で、Swiftで扱えるのは、C+αのα部分だけなんだろう?
それC言語の部分は扱えませんとw
>>98 ObjCと書いたのだが、何故Cが出てくる?
>>101 さっきから、SwiftでC言語ライブラリをそのまま呼べるか
(もちろんObjective-Cコード無しで)
という話をしているから。
>>102 いやいや、誰もCでObjCのクラスが書けるなんて言ってないが
知ってるかい? VB6では C言語の関数をそのまま呼べるんだよ。 Public Declare Function GetUserNameA Lib "advapi32" (ByVal buf as string, size as long) As Long Public Declare Function GetUserName Lib "advapi32" Alias "GetUserNameA" (ByVal buf as string, size as long) As Long
>>104 俺もそんな話してないが?
SwiftからC言語の関数をラッパー無しで
そのまま呼ぶことは出来ないって話しかしてない。
とりあえず
>>98 の「できない」は間違ってるってことでいいじゃない
>>106 んじゃ98は何なんだよ...
特定のクラスをObjCで実装すれば、そのクラスでCの関数を呼べる
そのクラスはSwiftで使える
という話じゃないの?
結局、
>>67 の"そのまま"が、ラッパーないしインタプリタの有無をその対象に含んでいるか不明なのが問題かしら?
どういう運用を想定しているんだろう 実行環境側に適切なバージョンのライブラリを配置する必要がある
ObjCのクラスを継承したSwiftクラスは自動的にObjC互換 そうでないものは@objcを付けるとObjC互換 単にマングリングの問題なのか、ブリッジが入ってオーバーヘッドが生じるのか...
またApple専用言語かよ 信者がTwitterで絶賛してて気持ち悪い LinuxとWIndowsで開発できない言語なんてロクでもない ただの信者向け言語
>>113 MSのTypeScriptみたいなものだよ。 あっちはJavascriptを生成し、こっちはマシン語を生成すると言う違いだけ。
中身は同じLVMMだからVSもEclipseプラグインも似たような物。
Swiftはインタラクティブなデバッグ環境を用意しているためにプリプロセッサを使っていないため多少敷居が高いだろうがプリプロセッサを通したコンパイラなら簡単に出来るだろ。
近いうちにオープンソース化されるよ。
115 :
デフォルトの名無しさん :2014/06/03(火) 15:34:29.27 ID:AkPA7OdE
box2dみたいなCライブラリを使うには、C-FFIのAPIが必要になるのかな?
>>30 ダサいっつうか、普通って感じだな。
obj-cから解放されるだけで大歓迎だが。
俺は常に最新の情報を仕入れているんだと言わんばかりのツイートで語ってる奴って知名度上げたくて必死だね
>>44 でもobj-cの難点はあの文法だから、そういう側面ではJavaScriptに似てると思われても仕方がないと思う。
誰も聞いてないのに Twitter、Twitter って コレだから Twitter 民は
んでオープンな処理系はまだかね? 触りたいけどMacが修理中だお…
LLVMってすごいんだね
未だにCの拡張版みたいな言語でアプリケーション作るのしんどいだろうから新しく言語作ってやったぜって事でいいのかな
昔Cocoa Javaというのがあってだな
いやでもSwiftわかいりやすいわ .NET案件の多いWindowsの業務アプリ系の開発者はかなり嬉しいんじゃないの TypeScriptをM$の技術者が作っただけあってそれをパクってるSwiftは.NETやってれば手癖で書けるから楽だわwww
>>123 大体あってると思う。
Cの拡張版だからというか、拡張部分のツギハギ文法が嫌われてる理由だと思うけど。
自分がそうなだけど、MacやiOSアプリ作りたいけどobj-cは嫌だって層がけっこうな人数いるだろうから、開発者激増しそうだな。
ざっと見たところ、いろんな意味でRustとかぶってるなぁ
129 :
デフォルトの名無しさん :2014/06/03(火) 19:29:50.57 ID:E7KMzTZf
JavaScriptやってきた俺でも出来るのかな? 正直、Titanium Mobileは食指が伸びなかったので期待してるんだが
元々あるのか、ヘッダを読んで自動生成してるのか分からんけど、 普通にC標準ライブラリも呼び出せるな。fopen とか 俺module はどうやって作るんだこれ
ひさびさにGoスレ並に伸びそうなスレ
twitterでswiftディスってる人のツイートに粘着してるカス信者うぜえな
133 :
デフォルトの名無しさん :2014/06/03(火) 19:49:00.11 ID:E7KMzTZf
>>71 on error goto や on error resume nextが使えるようになったらいいな
早速さわってみたいけれども、どうすればいいの? Windows か FreeBSD ならなんとか
135 :
デフォルトの名無しさん :2014/06/03(火) 19:58:36.38 ID:thu5Bo8U
c = 標準語 obj-c = 沖縄方言 javascript = 関西弁(大阪) swift = 関西弁(京都)
>>134 取りあえず OSXが無いとどうにもならない。 WindowsにVMware入れて動かす手も有る。 お試しなら十分だろ。
今俺がこうしてる。
その上でデベロッパ登録すれば直ぐにダウンロードして使える。
なに犯罪をドヤ顏で自慢してんだよ Appleの開発環境はMac持ってないやつには公開・提供されないんだよ クソ犬やクソドザは負けを認めてMac買え
なんでjavascriptなんだろう C++とかJavaライクなものなら嬉しかったのに
ま、どうってことない言語に思えるけど、Obj-Cから解放されるっていうのが最大のメリットだろうね
>>138 どのへんがC++やJavaと違ってJavaScriptに見えた?
変数宣言の構文とかセミコロンの扱いとかじゃねえの?
>>134 取り敢えずMac miniでも買え。
飽きたらMac miniにWindowsやFreeBSDを突っ込めばO.K.
中古のMacって相場いくらぐらいなんだろ
apple版go言語だな
>>141 Swiftは基本セミコロンいらないよ?いま上がってるサンプルとかにもほとんどセミコロンは無い
(一行に複数の文書きたいときだけ使うらしい)
JavaScriptはセミコロン省略できるとこもあるけど、文末にセミコロン欲しいしなるべく省略しないように書く
変数宣言構文はJavaScriptの拡張とかで使われてる形式で、
現在のJavaScriptでよく使う形式とはちょっと違うと思うんだが
>>143 Macの中古相場は旧OSを欲しがる需要が高く、値崩れし難いのでかなり高い。
新品を買って、要らなくなったら売っても、買値からあまり落ちずに高く売れるので新品買った方が良い。
場合によっては型落ち中古が現行機よりも高い事もあったりするので、投機目的ついでに買っちゃえ。
ヤフオクとかでインストールdvd買ってvmwareに入れればいいよ
>>137 MacにはWindowsいれられるのに
WindowsにはMac入れちゃいけないキチガイな企業のOSとか言語なんて滅びちゃえよ!
>>145 んなことは知ってるから国語の教科書でも読んでろ
セミコロンなんてCが遺した最大級の悪弊の一つ
>>149 >>141 はSwiftの変数宣言の構文とかセミコロンの扱いがJavaScriptと似てるって言いたいんじゃないの?
それに対してかなり違うよっていう俺の意見なんだが?
型があるし、クラスがあるし、 どっちかって言うとTypeScriptに似てるよね。
これってWindowsでビルドできるの?
155 :
,,・´∀`・,,)っ-○○○ :2014/06/03(火) 21:48:55.94 ID:h45MFUqG
Rubyっぽい構文に惹かれた
scalaっぽさに惚れた
言語仕様が公開されてるならWindowsのコンパイラもそのうち出来るんじゃないの?
>>158 コンパイラだけきても、WindowsでCocoa API呼べてもしょうがないし、
WindowsのAPIが呼べるようにするのは簡単ではないだろう
>>154 セミコロンの扱いに関しては、C++やJavaは、ほぼJavaScriptと同じ。SwiftはC++やJavaやJavaScriptとは異なる。
だから、Swiftのセミコロンの扱いが、C++やJavaと違って、JavaScriptに見えるのはおかしい。
変数宣言構文に関しては、C++やJavaとは違うし、JavaScriptとも違う。
だから、Swiftの変数構文がC++やJavaとは違うのはいいとして、JavaScriptに見えるのはおかしい。
CPUの歓声が聞こえる
164 :
,,・´∀`・,,)っ-○○○ :2014/06/03(火) 22:15:03.10 ID:h45MFUqG
セミコロンは文の区切りだね。 改行が文の区切りとみなされるようだ。 ということはバックスラッシュで行連結とかもあるのかな。 ifやfor文で括弧使わないところとかprintlnの文字列組み立てとかもRubyっぽくて素敵
これからiOSの仕事始めるのだが、Swiftで書くべき?著名人は何て言ってる?
Swiftだろ。 今更OBJCでやる意味が無い。 急ぎでやるなら別だが。 完成が秋以降の予定ならSwift
170 :
,,・´∀`・,,)っ-○○○ :2014/06/03(火) 22:26:21.75 ID:h45MFUqG
Objective-C/C++のコード資産は当分残るだろうから食わず嫌いはしないほうがいいんでない?
納期は3ヶ月後
Obj-Cしかないじゃん
Getting "Am I wasting my time reading your iOS book?" No, the book is really about the frameworks. The transition to Swift will be painless.(@AaronHillegass) だそうだから、Swiftで書こうかな。
>>170 ObjC からSwift のコンバータで変換する方向みたいだよ。
>>171 微妙なところだが、納期が決まってたら冒険出来ないね。
SwiftでiTunes Connectにアプリ申請できるのはいつ頃?
178 :
デフォルトの名無しさん :2014/06/03(火) 22:47:41.12 ID:Fqc6zuT2
Scala, TypeScriptなど、型名を後ろに書く言語が増えてるのは、その方が文法解析しやすいから? 昔、Cのパーサーについて書かれた文章に、何となくそんな感じのことが書いてあったような気がするんだが。
>>178 省略可能だから。
int i ・・・ intを省略できない。
var i: int・・・intを省略したらvar i
型ありでありながら、型の記述を省略できるようにすると
必然的にこうなってしまう。
まあ、var<int> i みたいな書き方も考えられるけどね。
そこはJavaScriptみたいな言語でのvar iという書き方を
ふまえたからそうなったのだろう。
182 :
デフォルトの名無しさん :2014/06/03(火) 23:16:48.39 ID:5GNqzpIY
Pascal var 変数名 : データ型名; var 変数名1, 変数名2, ・・・ ,変数名n : データ型名;
androidもjava捨ててgoにしてほしい。
まともに商売しようとする所はiOSもAndroidもフロントエンド以外は共通化や高速化の為に 結局C言語で書くわけだから、特に何も変わらないだろう
関数型の変数宣言するのにも「型 変数」よりも「変数:型」の方がわかりやすく書ける気がするな
>>171 出たばっかでまだ不明な事が多いのに、イキナリ本番ぶつけるなんてチャレンジャーだな。
tipsサイトはよ
>>185 静的型付けの関数型言語って、ほぼ全て後者だと思うけど
前者の例って何かあるかな?
189 :
,,・´∀`・,,)っ-○○○ :2014/06/04(水) 00:14:41.71 ID:IxbVXe6H
C++にも型名の代わりにautoキーワードで変数作れる機能あるしねー リテラルから型が推定できるからこそできる業であって。 とはいえもともとObj-Cが動的バインディングを売りにしてたし ある程度は実行時評価の部分は残るのかなという気がしている。
動的バインディングってようするに C++でも採用されてる多態性のことだよね? 動的に実行するクラスが決まる。
だってこれ動的型付け言語じゃん
俺は静的な方が好きなんだけどObjective-Cじゃないならなんでもいいや
あと
>>163 でジェネリクスと変性って同じだろw
>>189 なんで団子がここにいんだよ、自作板専住じゃないんかよw
セレクターを指定したメッセージだろ、売りっつーかリフレクションなんてC#でもあるじゃん
>>191 型推論付きの静的型付け言語じゃないの?
そうだよ
AS3使ってきた人にはSwiftは楽勝だな
196 :
デフォルトの名無しさん :2014/06/04(水) 00:56:00.63 ID:aeQAlcnR
STAP細胞はSwiftで作れますか?
197 :
デフォルトの名無しさん :2014/06/04(水) 00:58:18.18 ID:5LoqN5d1
いきなりswiftスレ乱立したな。 でも俺もけっこう心揺れてる。 ちょうどノートPC壊れてるとこだし、次はMac Book Pro の英語キーボードモデル買ってしまうかもしれんw
>>195 その手の言語を使ってた人には
ARCの関係でオブジェクト間の参照が循環しないように強参照とか弱参照とか使い分ける必要があるのが
ちょっと解り難かったりするんじゃないのかね?
199 :
デフォルトの名無しさん :2014/06/04(水) 01:05:15.86 ID:5LoqN5d1
>>198 c++erにはshared_ptrとweak_ptrでとっつきやすかも。
200 :
デフォルトの名無しさん :2014/06/04(水) 01:05:16.40 ID:zW2IOeMv
C++の設計と進化にも、i: intの記法検討したとあったね。
C++はCとのしがらみを優先したんだな
Objective-CもCとのしがらみを優先させた。
時代はC#とかScalaとか動的言語並にサクサク書ける静的言語だけど C#ですらプラットフォーム問題で言語の出来以上に流行らないのにこれはきついな
clangがサポートしてくれれば意外と流行るかもよ
コマンドラインでSwiftとそれ以外を混ぜて扱おうとすると結構面倒だな Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift がswiftコンパイラ ソースが全部swiftの場合はswift main.swift src2.swiftみたいに与えればバイナリができるので簡単 SwiftのソースからCやObjCを呼んでる場合、swift main.swift -import-objc-header bridge.h -cとして CやObjCの関数/クラスの定義ファイルを与え、-cオプションでコンパイルのみとしリンクはしない その後CやObjCのファイルを別途コンパイルし、swiftの.oファイルと一緒にリンクする swiftの関数はぱっと見Cのcalling conventionと同じようだけど マングリングされてるから直接名前解決は出来ないみたいね
>>204 clangがサポートしても
ARCなメモリ管理前提のフレームワークとか無いと
いろいろやるのはきついんじゃないかね?
GCじゃなくてARCな時点でApple以外に開けていく気がしない
結局ランタイムがCocoaにべったりだからねえ 非Appleプラットフォームではコンパイラサポートだけあっても...という状況はObjCと変わらないのでは
近い将来、Linuxで動作する可能性はあるの?
objective-cがMac以外で環境なかったんだし swiftも他プラットフォームへの展開はないんじゃないかなあ
色んな意味で言語として良いものであったのなら C#のMONOやJavaScriptのNode.jsみたいに他所で利用できるように誰かがコンパイラなりインタプリタなり作るやろ
Swiftの価値はObjective-C/C++以外選択肢がなかったOS X/iOSプログラミングにおける希望だってとこだろ Windowsプログラミングで.NETの牙城崩せるわけない、仮にIronSwiftとかS#が出たとしてVB/C#からどれだけ乗り換えると思う?
ぶっちゃけ Dart とどっちがエロいの?
でも、例えば ScalaのJVM以外の実装って結局誰も作らなかったよね
JVMは一応マルチプラットフォームだからじゃね
>>206 $ xcrun swift main.swift
でいけるで
見た感じ Scala > C# = Swift >> Java に思える
Rubyに似ている。
221 :
デフォルトの名無しさん :2014/06/04(水) 11:02:47.57 ID:pM55bPxZ
lispに似てる Swiftはc言語の皮を被ったLispだ
尖った機能がないから、他のプラットフォームでわざわざ使う気になるかねぇ。 プログラミングし易いっていのは魅力の一つだろうけど、それとて並列化方面に関してはさっぱりだし。
素直な言語とは良いものだ
言語仕様が優れてるだけで流行るなら既に数多の言語が新興言語に置き換えられてるから モダンな機能を詰め込んだ俺様言語の処理系を作るだけなら大学生でもできる
取り残されてた旧世代環境に、並の現代言語投入されたってだけだが 市場的に学習価値は高いから、勢いで同レベルの言語中ではトップになりそう iOSの将来性がちょっとわからんが
開発者の多さが支えになるだろうしオープン化も早いだろう。 今までObjCに二の足を踏んでいたJavaやJavascript開発者がドットなだれ込んできそう。 Appleとしては開発者囲い込みに成功する。 そしてMacも売れiOS端末も売れる。 Swiftは今後のAppleにとって好材料。
Obj-C開発者の推移が気になるわ 末期的にエキスパートだけ残るパターンとしてもかなり希少になりそう appleならはやめにxcodeでも使えなくするんだろうな
>>228 いなくなっても困らないだろ。 今までのObjCのソースはSwiftにコンバートしてしまえば良いんだから。
モダンな言語なら、ソースからドキュメントを生成するルールを定めてツールも提供して欲しいぜ
アップルに技術を期待してる奴がいるのは驚きだよ。 アップルは技術は2流だがデザインは1流です。
それ過去の話だろじじぃ ジョブズが死んでからのアップルなんて今までなかったし
技術面もシステムデザイン的なところは昔から一流だと思うけどな。 製品化した後の運用は色々とアレだけど。
>>233 少なくともソフトウエアエンジニアリングの観点からみたアップルは世の中に革新的な技術は何一つ発信して無いと思うけど。
あるなら何か例を挙げてみて。
それからアップルでソフトウエアで有名な人って誰がいる?
グーグルのgo開発者とかマイクロソフトのdartの開発者級のひとを挙げてみてよ。
リフレクション的なのないのかね Objective-C runtime libraryみたいなの
>>234 そもそもウインドーシステムを世に広げたのがAppleだと言う事を忘れてしまってるな。
坊やが生まれる前の話だが。
日本でインターネットで漢字が使えるようになったのもApple。
漢字がまともに使えるようになったのは、Postscript プリンタが普及したから。 Apple無くして日本の漢字文化は語れない。
Objective-CはClangに入り、思想はLLVMに受け継がれSwiftで次のステップに入った。
WebkitもLLVMもApple主導。 LLVMの中心的開発者Chris Lattner =original author of the LLVM
http://www.nondot.org/sabre/
>>234 Dartはグーグルで、開発は社内のあんまり有名じゃない人だよね?
GoのロバートやケントンプソンはGoogleの人というより、ベル研から引っ張ってきた人だしなあ
Googleは他にもSUNとかいろんなとこから有名どころを集めてるね
MSだと今はC#とTypeScriptのアンダース・ヘルスバーグが有名だけど、この人もMSの人というよりはBorlandの人かな
Appleはいまは有名な人?はいなくても
Webkit関連とかLLVM関連で多大な貢献をしてると思うよ
>>236 >日本でインターネットで漢字が使えるようになったのもApple。
これはどうかな〜?w
でもMSがインターネットへの参入に二の足を踏んでるときに、公式にMacTCPとか公開して積極的に取り組んだのはアップルだね
あ、これ静的型付き言語か(推論で省略するんだろうけど それなら細かいところのセンスが気に入らなくても使えそうだなぁ
古い話だけど、個人向けのコンピュータの世界でAPIってのをキレイにデザインして ちゃんとしたInside Macintoshみたいな資料を作り始めたのはAppleが最初だと思うし、 オブジェクト指向のフレームワークを使い始めたのもAppleが最初だと思うし、 今ある色々な重要なものの影響元をたどっていくとけっこうAppleにたどり着いたりする印象。 有名人な個人は今は知らないけど、昔はすごいのが沢山集まってたよね。
>>238 インターネット系は、NeXT由来が多かったりしない?
>>241 WWWのプロトタイプ的なものを作ってた人がNextを使ってただけで、
インターネットの技術の大半はSUNとかの純UNIX由来のものが多いかな?
インターネット上の漢字の取り扱いについては、特に特定のベンダーが貢献したというより、
大学とか研究所の関連の人の貢献が大きいと思う
そういう人が使ってたマシンはSUNとかのUNIXワークステーションかなあ
日本語は村井純さんあたりの人達が頑張ったんじゃないのかね。 NeXTが出た頃はメールとかニュースとかはもう日本語でやり取りされてたような。
ソニーのNEWSの頃だなー
それ以前、ディスプレイにまともに漢字が表示出来なかったんだよ。 勿論漢字Talk の上では漢字は使えたが、訳の解らないWEBの漢字を表示するのは一苦労だった。 単なる誰かの部屋のコーヒーカップを全世界から覗いて居た時代。
>>246 そのころ使ってたブラウザってmosaicやnetscape(まだかな?)かな?
SJIS以外でエンコードされてるページが表示できるようになったのは単にブラウザアプリが対応しただけではないのかと
既存の言語と大差ないのだからわざわざ方言増やすなと思わないでもないが、 Objective-Cのランタイム上で動かす都合上しょうがないか。 GCじゃなくてARCなのもそれだけの為だろうし。
>>248 そうそうそんな時代、Netscapeもすぐに出て来た。
ただ、その頃アウトラインフォントを扱えるのはAppleだけだった。
だから出版業会のコンピュータはMac一色になって行った。
>>249 結構今までの最近の言語と親和性は高いと思うけどな。
別に全く解らない外国語になったわけでも無いし、ほとんどの人間が理解出来るだろ。
単に新しい文化を取り入れるために語彙が多少変化したレベルだろ。 気にするほどじゃ無い。 むしろ歓迎してる人間の方が多いんじゃ無いかな。
何のスレだっけ?
Apple信者が自慢するスレ
懐古がわめくスレ
sωift
適切に練り上げた順当進化。 パラダイムを揺さぶるようなエポックメイキングはない。 Jobs後のAppleらしい。 でもこういうのは普通に便利。
昔はアップルと言えばビル・アトキンソンだったよなあ
とっつきやすさがObjective-Cとは比較にならん。
Obj-Cって字面がちょっと変わってるだけで、そんなに難しいもんじゃないんだけどな っていうか仕様で言ったらSwiftよりコンパクトなんじゃないか
>>250 adobeのPostScriptフォントが先だろ
これに対抗してMicrosoftとappleが共同で作ったのがTrueTypeフォント
言語の使いやすさより、リファレンスやサンプルの使いやすさが大事だと思うわ。 俺にとっては言語のポリシーが帰納的に分かるってことが、使いやすい言語だから。 やりたいこと→リファレンス・サンプル漁る→作る→改変→改変→理解。 全部言語仕様を理解する前にこんな感じで使って行くと思うし。
262 :
デフォルトの名無しさん :2014/06/04(水) 18:09:13.32 ID:aeQAlcnR
ちょっとスズキ行ってくる
>>259 Obj-Cは言語仕様はシンプルかもしれないけどその分文字列や配列操作等
他の言語だと簡便なインターフェイスを提供されている状況でも
長ったらしいメソッドを呼び出す必要があったから無駄な記述が増えて
結局面倒くさくなってるんだと思う
>>260 そう、当時AdobeはAppleと密接だった。Adobeが潰れそうだった時助けたのがApple.
だからAbobeのPostScriptを使えるのはAppleだけだった。
TrueTypeはその後。
>>261 現代的には正しいと思う。 Swift にはPlaygroundでインタラクティブにデバッグ出来るのが入りやすいと思う。
結論としては、Obj-Cはクソということでよろしいか
Obj-CがクソっていうかObj-Cで縛られてたのが糞 本来CやC++と比較すべきで今どきの高級言語と比較するべき言語じゃない
let cs = CGColorSpaceCreateDeviceRGB() let bytes : CMutableVoidPointer = nil let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedFirst.toRaw()) | CGBitmapInfo.ByteOrder32Little let context = CGBitmapContextCreate(bytes, 128, 128, 8, 512, cs, bitmapInfo) assert(context) println("context: \(context)") 出来るもんだな
268 :
,,・´∀`・,,)っ-○○○ :2014/06/04(水) 19:53:05.18 ID:IxbVXe6H
evalがなきゃLispじゃない
先進的で無くても、使い易ければ いいんだよ そーいうのは他にやらせておけっての
270 :
,,・´∀`・,,)っ-○○○ :2014/06/04(水) 19:57:40.23 ID:IxbVXe6H
結局ObjCの資産をそのまま継承するなら JavaScriptに対するCoffeeScriptとみたいな関係なのかね
まあメソッド呼び出しはobjc_msgSendでメソッド名渡しなのは変わらんしね
Appleは最終的にObjective-CをSwiftで完全に置き換えようとしているのか? Appleの人はcoexistとか言ってたけど。
OSXが出たときもJavaが本命でObjCはNeXTコード資産のための レガシーサポートという位置づけだったのがここまで引きずってるんだから どう転ぶかは判断しようが無いのでは
Cocoa touchはあいかわらずとっつきにくいんだよな。
>>265 Smalltalk大好きッ子としてはObj-Cは嫌いになれないのだが、同時にC++Loverでもあると表記はキモイことこの上ないのであるよ。
つかObj-Cって割と自由度高いのにApple縛りでものすげぇ損してる感じ。
>>186 出たばかりでもAppleなら問題ないだろう。Core Data + Swift + UITableViewもちゃんと動いている。
インストールディスク買って+VMWareでdeveloper登録からiOSでテストまでやってる人いる? Swiftを機にiOSアプリやってみたいけどMac高過ぎて
PlayGround 作った奴天才だな。かなり教育的に使えるわ
>>277 MacMiniでいいじゃん、同じサイズのWindows機より安いと思うぞ。(つかこのサイズだと何故かAtomだらけだし)
アクセス修飾子ってないの? Java脳なので違和感ある
PlayGroundがブラウザで遊べたらなぁ 職場にMac無いし
>>35 clang/LLVMを挟むならOS不問にならないものだろうか。
既存のC/C++のライブラリとリンクできたら色々できそうなんだけど。
絵文字使える時点でappleは他環境に使わせる気 無いだろねw
>>283 絵文字って普通の Unicode の絵文字だろ
Mac持っててもiOS Developer ProgramかMac Developer Program(両方とも$99/year) に参加してないとXCode 6 betaをダウンロードできないのね。 現状はiOSアプリ開発者が盛り上がってるだけか。
>>282 課題はオブジェクトランタイムかなと思ったけどCore Foundationなんかは既にDarwinでオープンだし、技術的障害はなさそうだからあとはAppleの胸先三寸なのかな。オープン化に期待したいなあ
いやまあobj-cのリプレース目的だけでも大歓迎だけど、ネイティブやれるモダン言語ってC#より低レベル寄りで色々活用できそうだし、地味なwktk感がある
C++1yやDが目指してた世界を、過去のしがらみもVMなしに成し遂げた理想郷…てのは言い過ぎか
obj-c互換はApple的に必須なのはわかるけど、
>>271 とかちょいひっかかるしw
swiftってmacアプリも開発できるよね?(できるようになるよね?)
>>287 現段階ではiOSアプリしか作れないとかイカレた勘違いをしてる?
うん
Cocoaだと何度いえば
>>288 なんか自分が見た記事だとiOSのことは書いてあっても
macのことに触れてなかったから不安だった(笑
protocolとかnilとかがあれだな
nilってゼロの事でしょ 連想配列をハッシュと呼んじゃうくらいキモイ
Smalltalkからの文化ですがな。 やっぱりRuby使いが惹かれるわけだ。
Pascalじゃね?
297 :
デフォルトの名無しさん :2014/06/05(木) 00:12:36.85 ID:mHl+sgam
>>281 LightTableから持ってきたらしい。
ちなみにLTの作者は元VisualStudio開発者。
298 :
デフォルトの名無しさん :2014/06/05(木) 00:13:03.81 ID:awAmNJBx
これは熱い。メコメコ省略できる
http://qiita.com/uasi/items/0a72bb444002471d832f let sorted = sort(anArray, { (s1: String, s2: String) -> Bool in
return s1 < s2
})
↓
let sorted = sort(anArray, { s1, s2 in
return s1 < s2
})
↓
let sorted = sort(anArray, { s1, s2 in s1 < s2 })
↓
let sorted = sort(anArray, { $0 < $1 })
↓
let sorted = sort(anArray, <)
>>279 アプリ試しに作ってみるためだけに数万もかかるのはちょっと
>>298 うわ、なんだこりゃw
obj-cの反動かとさえ
301 :
デフォルトの名無しさん :2014/06/05(木) 00:25:17.74 ID:mHl+sgam
303 :
デフォルトの名無しさん :2014/06/05(木) 00:34:30.36 ID:/T91KtMA
1 < 2 の代わりに <(1, 2) とかできるん?
>>298 The Swift Programming Language読み進めてて
とにかくまずそういう「え?これで適切に動くの?」ってのが
ちょいちょい気になって読むのが止まるw
インタラクティブに試せるから
Xcodeで打ち込んで試しながら学べって感じか。
306 :
デフォルトの名無しさん :2014/06/05(木) 00:38:07.04 ID:/T91KtMA
>>287 Xcode6-beta.app起動すると、
osxもiosもテンプレプロジェクトに出て来て、
osxはswift/objc/c/c++選べて、
iosはswift/objc選べる。
rubyでも array.sort_by{ |a, b| b <=> a } array.sort{ |e| e } array.sort(&:-) array.sort &:- とかできるけど sort(array, <) には負けた感ある
Obj-Cのメソッドにブロックを渡す時の書き方が変だ 型を宣言しないといけないのか この辺慣れないとなー
309 :
デフォルトの名無しさん :2014/06/05(木) 01:09:22.54 ID:/T91KtMA
メソッドだけならObjCにもカテゴリがある
SwiftスレはあるのにObjectve-Cのスレがないのはなんでや。オワコンなんか
Mac板の「Cocoaはさっぱり!!!」が本スレ
そのCocoaはさっぱりもなくなってたお(´・ω・`)
2010からswift開発始めて、Rustが登場したのは2012年だけど、かなり影響うけてるのか。
現在のApple WWDCアプリがSwift製だそうな。
321 :
デフォルトの名無しさん :2014/06/05(木) 04:40:05.58 ID:82BFuaye
もうアップルの頭の中は 中共>日本なんだな
昔はコンピュータに中国語や韓国語があると ウィルスに感染したか!?くらいのイメージだったもんだが、 いつの間にかプレゼンスを奪われましたね、日本。
323 :
デフォルトの名無しさん :2014/06/05(木) 04:50:03.37 ID:Iunw+H6u
なぁ、なんでconstがletなんだ?
これか
無線LANルーター更新でウイルス バッファロー
http://www.chunichi.co.jp/s/article/2014060390170941.html パソコン周辺機器大手のバッファロー(名古屋市)がホームページで掲載していたプログラムが改ざんされ、
更新などのためにこれをダウンロードするとウイルスに感染する状態になっていた。
感染したままインターネットバンキングを利用すると、IDやパスワードが漏れる恐れがある。
同社によると、5月27日午前6時すぎからの約7時間にわたり、
同社の無線LANルーターや外付けハードディスクなどをパソコンで使用するために使う10のプログラムに、
ウイルスが混入していた。発覚後、サービスを停止したが、856件のダウンロードがあったという。
27日午前10時ごろ、利用者から「プログラムを実行したら、中国語のメッセージが表示された」という連絡があり、発覚した。
(後略)
C++そのまま呼び出せんのかな? いつもOS依存箇所だけはObj-Cで書いて、それ以外はC++でコーディングしてた
>>326 C++は流石に無理。CかObj-Cでラップしないと
letとか分かりにくいな。constとかfinalはfixがいい
let は恥ずかしくて使えないな
>>326 受口をextern "C"しておけばそのまま呼び出せるでしょ。
今までもObjective-C++として使ってなかったのなら、そうしてたはず。
中江有里
let s = 'go'
let it = 'go'
>>278 まさにコンピュータ教育を意識して作ったらしい。
Apple's top secret Swift language grew from work to sustain Objective C, which it now aims to replace
http://appleinsider.com/articles/14/06/04/apples-top-secret-swift-language-grew-from-work-to-sustain-objective-c-which-it-now-aims-to-replace Swift の考案者は、LLVM創設者の Chris Lattner だそうだ。
documentation guru と同様に compiler optimization ninja と言う言葉が使われてるのは面白い。 それと dogfooding group
(テストグループ)とか、いつも内部で使ってるんだろうな。
すごく面白いから一読を勧める。
特に
Swift's Interactive Playgrounds & REPL
"I hope that by making programming more approachable and fun,
we'll appeal to the next generation of programmers and to help redefine how Computer Science is taught," Lattner stated.
Apple notes that the REPL debugging console in Xcode "includes an interactive version of the Swift language built right in.
Use Swift syntax to evaluate and interact with your running app, or write new code to see how it works in a script-like environment."
>280 ドキュメントのソース部分以外ほとんど見てないから想像だが export で指定したものが他のモジュールから見えるのだと思われる デフォルトが private で export で指定したものだけ public ? C言語や関数型の言語と同じような指定の仕方か 環境使える人詳しく教えて
>>282 出来るだろ。
>>293 0 じゃなくて NULL と同じ
>>323 >なぁ、なんでconstがletなんだ?
let j = i
と言う使い方も有り、必ずしも定数とは限らないから。 これ以降変化しないよと言う定義。
let j = i って英語だとどういうニュアンスなんじゃろ
単純にiをjにするってニュアンスじゃないの? 直接的には、iがimmutableってニュアンスは無いと思うけど、 いまはimmutableな変数をなるべく使うべしって流れがあるからletにその役目を与えて、 mutableには別のvarって構文を用意したと Rustはimmutableもmutableもletで宣言するけどデフォルトはimmutableで、 mutableな変数を定義するときにはlet mutとかするねえ
339 :
デフォルトの名無しさん :2014/06/05(木) 12:46:01.63 ID:VmoRAZhY
letは値や式に一時的に名前を付けるイメージじゃないかな。数学で言うところの〜と置く、みたいな。letって言葉を使ってるのはHaskellとかの関数型言語に合わせたんじゃないだろうか。 varはvariable=変数=変化するもので、容れ物や箱やメモリそのものみたいなイメージ。 mutableかimmutableかの違いだけにみえて、内部実装的にもかなり取り扱いが違うんじゃないかと予想。
letはBASICの代入文を思い出す
日本のプログラミング教育はSwiftでいいんじゃね 世界でiPhoneシェア一番高い国だし
>>343 まだシンタックスハイライト対応してないのかwがんばれGithubちゃんw
多分constじゃないのはletが代入の可否を返す式だからだと思うよ
if let it = go {it.foo()}(実質「goがnilじゃない場合foo()を実行」と同義)
みたいな使い方するみたいだし
>>267 言語的に特別扱いしないでC言語周りが使えるのは何気に凄いな
ifの比較と代入間違える凡ミスをなくすための let強制だとしたらいくらなんでもやり過ぎだな
>>345 letが値を返す式というわけじゃ無いと思うが自分は確かめるすべが無い
Language Reference見る限りifの次に式か宣言の両方が書けるということになってる
let 〜は宣言で、宣言は式じゃないから
let a = let b = 0
みたいには書けないんじゃないかな?
348 :
デフォルトの名無しさん :2014/06/05(木) 15:40:25.97 ID:MTRKCqc9
要するにいろいろパクってみたが、 何のための言語がよく分らないものができたってかんじか。 >非常に軽快に動くことが特徴であり、 特徴でもなんでもないし。
4月にDevProgram切れたの放置してたけどSwiftだけやってみてえ……7800円払うのは負けだよなぁ……
>>350 おまのレスを読んでもガッカリ感しか感じない。
JavaやC#を超える衝撃的な「何か」はないのか?
つ 驚き最小の原則
354 :
デフォルトの名無しさん :2014/06/05(木) 16:14:34.40 ID:VmoRAZhY
パラダイムを変革するとか新しい考え方を導入するとか考えてないと思う。 OSXやiOSで開発する上で必要なものや便利なものをまとめ上げた言語だと思う。 考え方としてはDSLにちかいんじゃないかな。
Cの関数を簡単に呼べるのが凄いわ
つまり30~40年後に Swift 老害としてCOBOLerのような地歩を固めるのだ
むしろ呼び出したくないだろ。 コードにCのprintfが混ざってるなんて勘弁してくれ。
Cのライブラリを利用できるんだぜ
なんかprintfとかfprintfはどうやっても呼べないんだよね あれって実体がマクロだったりしたっけ
利点はわりとフツーの字面で iナンタラの開発ができるということに尽きるのではなかろうか objective-cなんか使わされるよりははるかにましな気が
ObjectiveCなんか使わずに初めからC++採用してればよかったんだよ。
xcode6だけ早いとこ正規リリースしてAppStoreにあげてくれないかな iOS8向けの開発をSwiftでやりたいがベータ版の開発環境は使いたくない
セミコロン省略可はいいね この銀河系に存在する全言語で採用して欲しい
隣の銀河系のことも考えてやれ
>>365 そうなると逆に複数行にわたって1つのstatementを書きたい時はどうなるんだ?
シェルみたいにバックスラッシュで連結かなあ?
semicolon省略に関する記述と、1行に複数statementの時はsemicolon要るって記述は見つけたんだが……
省略可じゃなくて禁止にすべき
>>343 とかまだらに残ってて笑った
>>367 試したところスペースが入りうるところでは任意に改行できるみたい
改行前のバックスラッシュはエラー
>>369 それ、構文的にstatementの終わりかどうかを判別できてるってことだよね?
だったら、1行に複数statement入れた時も、判別できるからsemicolon不要だと思うんだが……
どんだけ読みにくいソース書きたいんだよ!
>>367 consecutive statements on a line must be separated by ';'
というエラーが出るから、構文の区切りは判断してるけど可読性のためにセミコロンを明示的に入れよ
というルールにしていると思われる
Swiftってメソッド名を取得するようなプリティーなファンクションある?
>>372 それなら、複数行のstatementがどこで終わるかわかりにくいから
可読性のためにsemicolonを入れて欲しいよ……
何か気持ち悪いなぁ
>>374 セミコロン入れたいのなら自分で書けば良いだけだろ
変なこと行ってるぞお前
>>362 OS X が BeOS だったらそうなっただろうね。NeXT になったから ObjC。
NeXT は Apple から追い出されたジョブスが Machintosh の有力開発環境だった Smalltalk に親しんでいたから inline Smalltalk を書ける ObjC。
そういう歴史。
>>372 これも Smalltalk からの歴史。Smalltalk ではコロンでは無くて . だけど。
ちなみにどっかの論文で、BASIC や Smalltalk のようなセパレータタイプよりも、C のターミネータタイプの方が学習が容易で間違いが少ないという実験があった。
例えばこんなワンライナーで var a = rand() var b, c: Int? b = a % 20 > 10 ? 10 : 20 c = a > 10 ? b : b! + 20 ぱっと見で瞬時にセンテンスの区切りが分かるならセミコロンはいらんだろうな
>>375 いやいや、必須になってるのと任意になっているのでは「他人のコードを読む」ときの
可読性が違うから気にしてんだよ。自分のコードなら入れるって。
1行に複数statementの時は「必須」だから文の切れ目がわかるけど
複数行に1statementの時は「任意」っぽい(?)からわかりにくく「書ける」ってこと。
複数行に1statementの時に終わりが分かりにくいってことはないと思うぞ そんなに分かりにくかったら空行なりいれればいいわけだし
>>379 だから、自分で書くんだったら注意するって。
実際に見てみたらわかりにくくないってことないのかなぁ?
まぁ、当面はXcodeしかコーディング環境がないからXcodeが上手いこと見せてくれれば問題ないか
>>380 複数ステートメント1行セミコロン無しでわかり難い例は
>>377 にレスしてくれてるんだから、
1ステートメント複数行でわかり難い例ってのを具体的に書いてみたら?
Swiftはlongがない代わりにintの長さがマシン依存だからいやんなことになりそう
長さに依存するような整数はInt64とかInt32みたいに書けばいいんじゃないか?
そういやMacはもう64bit環境しかないな。 iOSの方は5sのみ64bitで後は移行中だけど
OSXのC処理系はILP32 or LP64だから、何となく
C書いてるときには、関数内で特定の処理の塊を { } で囲んでコメント付けたりしてたんだが、 こういうことを Swift では出来なくなったみたいだな。 {} がクロージャとして認識されるから。
文末記号が無い言語は解析ルール次第で出来ることが変わるから信用できない VB9なんかは多項式の途中で改行するとエラーになったりして救えなかった
>>386 そういうのは関数内で関数定義して呼び出しちゃえばいいんじゃない?
コンパイルされるコードは最適化されちゃって変わんないと思うよ
>>381 こ、こんなのであってますか……言語仕様もいまいち分かってなくて
コンパイル通るかもわかんないけど……
var hogehoge = "hogehoge"
var a : Boolean = let b :
Integer = 0b11110000 && let
hogehog = "gehogeho"
そもそも、IntegerもBooleanも違うかったわ
お前、言語仕様も分かってないのにグダグダ言ってたのか
>>390 2行目の b と : の間で文法エラー
>>390 なんかめちゃくちゃだと思うが、
式の途中で改行とかすれば次の行の先頭にインデントとか入るだろうから
行の初めが前の行から継続してるかどうかは自明になると思う
どーせ瑣末な文法で躓くんだから、c++使い続けたらいいのに
>>392 ( ̄Д ̄)ノ オウッ すまんの試す環境がないから
さっき聞いたスペースが入るトコはどこでも改行できるって話を元に考えただけだし
IDEでのフォーマットはない前提な
型の名前が間違ってるのは愛嬌で許してくれよ
>>393 型との間の:は空白を許さないの?それとも型とコロンの間の空白はきっちゃダメ?
後、letで代入する値が変数じゃなくてリテラルの場合は常にtrueだから
もしかしたら怒られる?それとも単に最適化でtrueに変換されるだけかな?
試したい……
>>396 IDEのフォーマットが無い前提って、インデント無しのコードを読めってこと?
そんなの問題外じゃない?
あと、letがBooleanを返す?って他でも書いてる人がいるから調べてるんだけど、
どこかのドキュメントに書いてある?
if let a = b { } って書き方できるから勘違いしてるんだろう letがBool返すわけではない
とりあえず実物触るまでは全て杞憂らしいことが何となく納得。
if let a = b は The Swift programming languageの頭の方のControl Flowの節で出てて
↓
“If the optional value is nil, the conditional is false and the code in braces is skipped.”
抜粋:: Apple Inc. “The Swift Programming Language”。 iBooks.
https://itun.es/jp/jEUH0.l ってなってるから、condition is "false" って値が取れると思ってた。ってか、取れないんだ?
複数の値のnil値判断を&&で出来ると思ってた。
var i: Int? = 10 if i { println("i = \(i)") } はオッケー var i: Int = 10 if i { println("i = \(i)") } はアウト〜
>>400 つまり?のついている値が"optional"ってマークされてるものの値を評価してるわけだ。
letの返値じゃなくて、代入された値を評価してる、と。
"optional"な値の場合は、nilはfalse、nil以外がtrueとして評価される、と?
"optional"じゃない場合は、条件式で利用できない……か。
Swiftってアップル製品の環境でしか動かないの?
MSがWindowsで動くようにしたらAppleはいつものようにすぐ訴えるし。
記念カキコ
クラス内の変数は全部パブリックになってしまうん?
>>397 let a=b のb が値を持つかどうかの判定でBooleanを返すと有るね。
The Basics の Optional Binding
You use optional binding to find out whether an optional contains a value
if let constantName = someOptional {
元々 if a=b をエラーにするから、代入兼判定としてletを使うようにしたと言う事だろうけど。
憶測が多いな 別にletじゃなくてvarでもいいんだけど var a: Int? = 10 if var b = a { println("b = \(b)") }
swiftのarrayってlet&unshareで使うのがいいのかな?? appendした後の挙動がバグ臭プンプンする。
>>407 大事なのは Int? の ? だと思うんだが。?のついている型だけが代入時のnil判定に使えるということじゃないの?
>>408 後ろはNSMutableArrayじゃなさそう?
C++のboost::optionalよりよさげ?
>409 “Assignment and Copy Behavior for Arrays”を読んで欲しいんだけど、 var listA = [1,2,3] var listB = listA listB[0] = 9 ってするとlistA[0]も9になってる。 まぁこれは普通だよね。 だけどこのあと listA.append(4) って要素数が変わる操作をしたら listA[1] = 22 ってしても listB[1] は2のまま。 分かっててもミスりそう。
>>411 これはトラップ過ぎるwwww
funcに引数で渡されてきたArrayはどういう扱いなんだろう?
要素追加した瞬間にcopyされて別物か?
>>411 ディクショナリだとまた挙動が違うんだよな
var dictA = [0:1, 1:2, 2:3]
var dictB = dictA
dictA[0] = 9
ってやると、dictA[0]は9になるけど、dictB[0]は1のまま
414 :
デフォルトの名無しさん :2014/06/05(木) 22:39:53.87 ID:O/ymbC/3
>>413 arrayもdictionaryもstructureなんだからdictionaryの動作が正しいよね。きっと。
arrayのはパフォーマンス上げるためなんだろけどunshareを標準にして欲しい。
>>412 >要素追加した瞬間にcopyされて別物か?
明日試してみるよ
javaのプリミティブが嫌いだったんだけど swiftは無い?
arrayの特別扱いってなんかPHP臭がするんですけど。。。
あとarrayをループさせる時はfor - in より for var i = 0;i < array.count;++ でループさせて array[i] で参照したほうが20%ほど早かった。 この辺もobjective-cと違うよね。
419 :
デフォルトの名無しさん :2014/06/05(木) 23:02:45.98 ID:sbVpP/3M
うーん var array1 = [1,5,7,4] var array2 = sort(array1, >) この時、array1までもソートされる破壊的な操作なんだけど、 sort(&array1, >) って呼ぶのを強制された方がしっくりくるのだが。
やっぱり*は必要だったのだ
最近の言語ってセミコロンや括弧を無くすことに躍起だけど 文法にambiguousな部分が出てきたりしないのだろうか。
とりあえず、配列にはcopy()とunshare()があることを意識しといた方かよさそう あと関数の引数に配列を渡して操作するきは、inout付きにした方がいいのかな
>>419 破壊されたくなければ、明示的に
var array2 = sort(array1.copy(), >)
しろって方針なんだろうな。コスト削減のために
でも関数の引数が自動的にコピーとなるような指示詞が欲しいな
var array1 = [1,5,7,4] var array2 = array1.copy() array2.sort(>) 若しくは、 var array1 = [1,5,7,4] var array2 = array1 array1.unshare() array2.sort(>) とか
428 :
デフォルトの名無しさん :2014/06/05(木) 23:27:16.58 ID:ABWTHSvc
てか、破壊されるなら戻り値でArray戻さないでよ、紛らわしい 仮にも標準関数なのに
そういうもんだと割り切りゃいいか Effective本的なのが欲しいね。細部の落とし穴が存在しない言語なんて求めるだけ酷だろし
func foo(var a : Int[]) { a.unshare() ...//いろいろな処理 } こうすればいいのか。 ちなみに引数のところから var を抜くとエラーになる。
let listA : Int[] = [1,2,3,4,5,6,7] let listB : Int[] = listA.filter({$0 % 2 == 0}) let listC = filter(listA,{$0 % 2 == 0}) listB は普通の新しい配列なのに、listC は遅延リストなのが面白いな
配列みたいなコピーコストの高いやつはデフォルト同じやつ参照でいいんだが ディクショナリは代入した時点でコピーしちゃうみたなんで、おいそれと代入しにくいな 配列よりむしろディクショナリの挙動の方が気になる
Swiftの仕様をまだ全部は見切れてないけど、クラスのSubscripts化とか、Property observer みたいにちょっと新鮮かなと感じる特徴もあるけどね
subscript って何かと思ったら、C++ の operator[] のオーバーロードみたいなもんかな
演算子のオーバーロードできんの? これで他人が読めないコードが書けるな。
でける
絵文字でな
たとえばこれがHaskellみたいにどうしてもそういうシンタックスが必要だ、と いうことで新言語作るのならいいけど、新しい言語作りたい病の人が大して意味もない のに既存の言語を適当に交ぜたみたいな新言語作ったら、まあいい加減にしてくれよ、 と思うのが普通でしょ。 Appleの場合なまじプラットフォームとしては力があるから、「これでやります」と 言われたら従うしかない。 いろんな人が迷惑する。それだけにしか使い道のない言語に脳細胞使われちゃうわけで。
>>438 選択肢が増えただけだが。
頭悪いな、君は
>>438 まずobj-cが古臭く冗長で無理がきてる、という問題に向き合った成果じゃないの
とりあえずの所でいうと、obj-cだって事実上Apple製品以外で使われとらんし
obj-cもうちょいどうにかならんのか、というのはユーザサイドから腐るほど言われてた言葉だしなあ
それだけにしか使いどころがないダサい言語が、とりあえず使いどころは変わってないけどフレッシュになりました、ってことでしょ
>>438 ぱっと見た感じ他の言語の寄せ集めだから別に覚える事なんてほとんどないわけだが。
442 :
デフォルトの名無しさん :2014/06/06(金) 01:24:17.01 ID:M36FOYua
誰か、Objective-C擁護派は居ないのか? Swift登場以前は居たんだろ?
SwiftでCoreFoundationやQuartzの関数は呼べますか? 例えばCGContextRef を取得して操作したりとかできるんでしょうか?
出来るもんだな (´∀`)
>>442 や、より簡単な形でとりあえずobj-cで出来ることがだいたい出来るようになってる訳だし相反するものでもないんでないかな
smalltalk信奉者なんかで、かつ概念的な語りが好きな方々が一定数残ると思うけどね
皮肉でなく、昔語りをする人は必要だ
何かgoとかtypescriptが出た時より騒がれてるけど、何が凄いの?
>>447 obj-cランタイム互換でしょ
うざがられてたけど仕方ないと思われてた古めかしい設計のobj-cを苦もなく差し替えられる
あとc互換っぷりも個人的にはビビってる
低レイヤでなんか色々捗りそう
いまごろランタイムも書き直し中なのかなあ。 AndroidをGoにするのは難しいから またAndroidはもっさりって言われちゃうな
今はSwiftScriptかSwiftTalkを開発中
>>447 GoなんてGoogle社員が暇な時間に作ってみましたってだけで
別にChromeの中核スクリプトに採用する為のものでもなんでもないからな
メンツがメンツだけに一時期注目されたけどあれでも騒がれすぎだった
452 :
デフォルトの名無しさん :2014/06/06(金) 06:14:19.62 ID:VdkUhq2q
>>451 ↑こいつ知ったかで良くここまで自信まんまんに恥晒せるな
すごいわ
>>407 varでもよかったんだ
ところでbの型ってOptional(型!)だったらりする?
>>415 推測だけどGo-langのスライスみたいにArrayはあくまでラッパーで本体は別に存在するんじゃない
だから代入した場合本体の参照のみコピーされるのではないかと
unshareの機構も合点がいくし
>>447 発表した時点で”使える”言語だからじゃないの?
あと注目度の高いWWDCの基調講演で発表されたというインパクトもあるかもね
ObjC冗長だって言うけど、Swiftになったら結局コメント書かなきゃいけなくなる予感 ObjCはappleDocコメントとメソッド名で機能は殆んどつたわるからな つかAppleDocとかCocoaPodsとかSwiftに移行するのかな
455 :
デフォルトの名無しさん :2014/06/06(金) 08:02:22.50 ID:s5X4N2N/
>>453 >
>>407 >varでもよかったんだ
>ところでbの型ってOptional(型!)だったらりする?
bはOptionalにならない。必ず値が入るから。
b = a!
と同じ
456 :
デフォルトの名無しさん :2014/06/06(金) 08:14:54.58 ID:s5X4N2N/
どうでもいいけど var a:Bool? var b = !a! みたいな書き方も出来るのな。 まぁ否定演算子と間違える奴は居ないか
>>438 Swiftレベルの文法で脳細胞使ってんなよ
初見で書けるだろこんなの
>>451 実績がないのは事実
と思っていたがdocckerでgo始まったと思ったわ
>>457 いつまでもマルチコピペ野郎に反応すんなks
Boys, be ambiguous!
>>446 より簡単に書けるからこそ、後でみてわからなくなりそう
array[index]
[array objectAtIndex:index]
事前知識なしで意味がとりやすいのは後者
>>450 SwiftScript は絶対に出てきそう。 Swiftインタプリタと実現性はどっこいどっこい。
AppleScriptを置き換えてあらゆるものを統一言語で処理する。
COBOLの場合 ADD A B GIVING C C = A + B 事前知識なしで意味がとりやすいのは後者 こうですか!? わかりません><
あれ、前後まちがえた...
Swiftは関数の引数にラベルを書けるから可読性が落ちることはないと思う。 まぁどっちの場合もプログラマの命名センスに依存するけど 今手元に実行環境ないから確認できなけど、Arrayにも valueAtIndex的なメソッドあるんじゃないかな
466 :
デフォルトの名無しさん :2014/06/06(金) 10:14:32.43 ID:ueXkqxBK
Objective-Cはオブジェクト指向入門としては分かり易いけど、オブジェクト指向に慣れてくるとモダンオブジェクト指向言語の方が書きやすいんだよなぁ
>>432 いやDictionaryの方は素直じゃねえか?
参照だけするなら新しいオブジェクトを増やさない。CopyOnWriteって思想でしょ。
Arrayは中身だけ書き換えるソートみたいな処理があるから、中身変えただけじゃコピーされないように
したんじゃねえの?
でも中身を書き換えてもコピーされないような特殊メソッドを用意してやったほうが良かった気がするんだよなぁ。
>>461 いやいや、[対象 操作:引数]って構文がノーマルCからかけ離れてるから、一概には……
30年前くらいにパソコンを始めるとまず学習するBASICでも配列はA(4)みたいにアクセスしてたし。
468 :
デフォルトの名無しさん :2014/06/06(金) 10:24:52.84 ID:IcDjZ6AK
469 :
デフォルトの名無しさん :2014/06/06(金) 10:33:51.88 ID:VHSXa0o7
>>468 人間クラス継承して美少女クラス作るとか言ってる時点でオブジェクト指向理解できてない。
美少女クラス作るなら二次元人クラス継承するに決まってんだろ
>>470 [self postBlog:@"眠い" with:nil]
だと確実に混乱する
[self postBlogWithTitle:@"眠い" withBody:nil]
とみんな書いてくれるだろうか
Swiftってラピュタに出てくるやつかな
>>471 オブジェクティブCのいいところって、
下のようなメソッド名に無意識のうちに誘導されるところだと思っていたんだけど、上のような書き方をする人も結構いるんですかね
>>474 470みたいなこと心配してる辺り、お前とお前の周囲はよっぽど低レベルなプログラマばかりだと思ったが
postBlogWithTitle: body: こうだべ
新人とか派遣がしょっちゅう入れ替わりで入ってくるんだろw
>>474 少なくともAppleの出してるガイドライン的にはしたの書き方になる
上の書き方は悪い例としてあげられている
その良いところって、ObjectiveCの、というよりライブラリの出来じゃ?
そんなに悪いこと言ってるとは思わんけどね でも気をつけないと行けないのはAPI作る側で、利用する側じゃないんだよな func postBlog(title: String) {} だと postBlog("漏らした") としか書けない postBlog(title: "漏らした") と書けるためには func postBlog(#title: String) {} と定義しないと行けない デフォルトと逆にしてほしいね デフォルトでラベル付きで、#付けたらラベル無しがいい しかも、何故かイニシャライザはデフォルトでラベル付きになる class Blog { init(title: String) {} } って書くだけでラベル付きになる let entry = Blog(title: "漏らした") メソッドとイニシャライザでデフォルトが逆で紛らわしい
イニシャライザはObjC側に持ってくとinitWithが補完されるから...とかそういうのが絡んでるのでは
配列添字演算子[]よりObjective-Cのメッセージ式で使う[]の方が
よっぽど意味不明だと思うけど
>>455 >bはOptionalにならない。必ず値が入るから。
やっぱそうなるのね
bにnil再代入出来たらOptional Bindingの意味ないじゃんって思ってたからちょっと気になって
>>480 それなら関数名postBlogWithTitle()すればいいんじゃないの?
[]はプリプロセッサの名残だからねえ
484 :
デフォルトの名無しさん :2014/06/06(金) 12:39:11.46 ID:TaxzDts5
今からXcode新しいの入れようと思うんだけど swiftで作ったアプリはiOS7ターゲットのアプリとしてもうリリースできるの?
SSEとかintrinsicsを使う方法はあるのだろうか
>>482 >それなら関数名postBlogWithTitle()すればいいんじゃないの?
面倒くさいから1引数で例示してるけど、ラベル付き引数が真価を発揮するのは多引数のときなんで多引数で脳内変換して呼んでくれ
func fill(#red: Int, #green: Int, #blue: Int) {}
func fill(#hue: Int, #saturation: Int, #lightness: Int) {}
と定義して
fill(red: 20, green: 30, blue: 40)
と呼ぶか
func fillRGB(red: Int, green: Int, blue: Int) {}
func fillHSL(hue: Int, saturation: Int, lightness: Int) {}
と定義して
fillRGB(10, 20, 30)
と呼ぶか
俺は圧倒的に前者の方がいい
ちなみに、うっかり
func flll(red: Int, green: Int, blue: Int) { println("RGB") }
func fill(hue: Int, saturation: Int, lightness: Int) { println("HSL") }
なんて定義すると、一つ目の fill が二つ目の fill で上書きされて、
fill(20, 30, 40)
で常に二つ目の HSL の方しか呼び出されないみたい
コンパイラも何も注意してくれない…
こういううっかりミスをなくすためにもデフォルトでラベル付きにして
どうしてもラベル付けたくないときだけ # 付けてラベル無しに出来る仕様の方がいいと思うんだ
Objective-Cは要するにCで、クラス化したモジュールに命令を送る つまり『言語に追加した機能を使う』時は[]でっていう形で統一されてて そこで「なにになにをさせる」って明示的な書き方をせよって念押しされてたから 他のオブジェクト指向言語が嵌った "後でソース見たら何やってんのかわかんねぇ"問題が大幅に軽減されていたんだけど いろいろガタがきてたCをモダン言語に差し替えたのはいいが それで結果としてプログラマーの陥る精神疾患 「タイプ量が少なければ俺が楽、人には読めない難しい書き方する俺カッケー」が 輸入されて来ちゃったら本末転倒だよなーとは思ってる。 そもそもObjective-Cでも引数ラベルガン無視で[hoge: : :]って書いたり キャメルケースなんかシラネーヨwwwってクラスやメソッドをAAA、BBBって 書いてもプログラム構文的には問題がないわけで ありゃ文化的に"そう書かないと後で死ぬぞ?"と強制したものだから Swiftでリセットした時に「魔法の呪文みたいに書くのがプロなんだよ 俺の呪文が解読できねぇのは素人!」みてぇなヒャッハー(モヒカン装備)が 流れ込んできて暴れられたらせっかくのSwiftが 他の言語が陥ったのと同じ混乱持ち込まれそうで嫌だなぁ。と Appleはサンプルや正書法をしっかりして欲しいとは思う。
JavaScriptやruby出身のにわかが暴れるわけですわ
動的型.vs.静的型のときに「動的型信者は、簡潔に書けるからスクリプト系の言語を 支持してるのあって、静的型でスクリプト言語なみに簡潔にかける言語がでてきたら 静的型のほうが断然いいよな」って言っても、動的型のほうだいいって認めなかったな。 あのときの動的信者はswiftは使用禁止な。 泣いて謝ってもるゆさん。
mac持ってるけどIOSデベロッパーじゃないからxcode6betaが取れない・・・ なんか方法ないかなー
>>490 方法?あるよ
クレジットカードを手にしてiOS Developer Programを購入する
493 :
デフォルトの名無しさん :2014/06/06(金) 15:42:02.29 ID:NEq+KBRq
一年間7800円なんだからゲーム一本買うようなもんだと思えばいいじゃん。ゲームより楽しいよ。
8400じゃなかったか
>>486 俺は後者のほうがいいけど?
別に誰もswift強制してないんだから、objc使えばいいじゃん
>>493 ゲームする時間がないから躊躇してんだよなぁ
499 :
デフォルトの名無しさん :2014/06/06(金) 16:11:18.17 ID:J6hrkM26
>>494 7800だよ。開発者登録やめてたけどSwift発表されて早く触ってみたくて即日登録した俺が言うんだから間違いないw
>>493 なるほどその考えいいな!最近は本当にゲームよりプログラミングの方が楽しいから行けるかも!
なるほど、4月から税別表記になったんだっけか
502 :
デフォルトの名無しさん :2014/06/06(金) 16:48:05.07 ID:343Zpa5B
あ、8400円は税5%込みの時の値段か。納得。
tupleは、3つまではレジスタ渡し(rax,rdx,rcx)で返されて それ以上は全部スタック渡しになるようだ でも浮動小数点はxmm0,xmm1の次はx87のスタックトップ使ってて超謎仕様
全部ってのは4つ目からスタック、ではなく1つ目から全部という意味ね
505 :
デフォルトの名無しさん :2014/06/06(金) 19:38:00.97 ID:s5X4N2N/
てことはタプルは3つまでにしといた方がパフォーマンスいいのか。ループ内で使う場合とかは頭の片隅に置いておいた方がいいな
>>490 取るってなんだ取るって、どっかにくっついちゃったのか
弟がダウンロードのことを「引き込む」っていうので いつも会話で違和感あるの思い出した。 「落とす」も考えたらたいがいだな
感覚的にタプルはペアなオブジェクトな印象‥何でだろうw
509 :
デフォルトの名無しさん :2014/06/06(金) 21:25:39.79 ID:s5X4N2N/
>>508 key-value的に使うことが多いからじゃね?
後は処理結果とエラーコードとか
>>508 一般にはN個の要素から構成されるタプル(tuple, 組)について、
2要素のものをペア(pair, 対)と呼ぶ
同様に、3要素をトリプル(triple)、4要素をクワッダプル(quadruple)と
呼ぶことがある
Wikipediaの「タプル」のページに詳しい解説あり
511 :
デフォルトの名無しさん :2014/06/06(金) 21:35:00.88 ID:5aTUsUzW
感覚的にタプルはなんかたっぷんたっぷんしてるイメージがある
PHPやJavaを駆逐するような言語を期待してたのになぁ
タプルは直積集合
の要素
しかしSwiftの解説本が出る時に、 Optional Types とか force-unwrap とか Optional Chaining とか Subscripts とか Memberwise initializer とか Nested Types とか どういう風に訳されるのかね 適当な訳語が乱立しないようにApple Japan辺りが指針を出すべきだと思うけどね
今時訳さないんじゃない
訳すでしょ Designated Initializer もデシグネイテッドイニシャライザじゃなくて指定イニシャライザって訳してるし
Javaの公式ドキュメント日本語訳だとOptionalはそのままだなあ
なんでもない俺が悪かった
デジグネイテッド
すまん、シの濁点が抜けてた デジグネイテッドね
tupleのレジスタ渡しはarm64だと4つまでOKだった。
なんでamd64だと変わるんだw 最適化の傾向がよくわからんね llvmがゴニョゴニョしてるんだろうけど というかamd64上って仮想環境動作かhackintoshってことですか
ごめんなさい空目 armですねすみません 疲れてるな 寝ます
x86_64だと3つ、arm64(aarch64)だと4つ。
>>518 野球のDHに合わせて指名イニシャライザのほうが分かりやすかったよな
>>482 Smalltalk のブロックが [] なんだから inline Smalltalk を書ける Objective C が [] を Smalltalk 部分の埋め込みに使うのは当然だろう。
無知な奴にとって意味不明だというのはそれは当たり前であって何の主張にもならない。
むしろ昨日の昼にム板のスレでの門外漢の "だいたいObjective-Cなんてさー"的なdisりに呆れて書き込んだ内容が コピペ君にまるごとコピペされて俺の方が困惑。
Xcodeの補完ってまだ動かないの? ならしばらく様子見したい
>>507 語源をたどると
相手が月とか衛星にあるコンピュータで
こっちから投げるのがアップロード
落とすのがダウンロード
なら自然な表現だな
>>491 クレカ持ってないんだがw
クレカ無いとデベロッパー登録は無理?
536 :
デフォルトの名無しさん :2014/06/07(土) 11:13:46.01 ID:MHvRsMmd
商品購入と同じだから銀行振り込みでも良いよ。
個人の場合は簡単だが企業の場合は少し面倒くさい。
あれ? 無料会員だとダウンロードできないの?
無料会員は正式リリース後にまたお越し下さい
>>536 通る
つかebank(ちくせう、今じゃ楽天だ)で通った
指定イニシャライザとコンビニエンスイニシャライザを明確に区別する仕様はいいね
>>529 Smalltalk では [] がブロックだからこそ、普通のメッセージ送信に [] が必須な ObjC の文法には違和感があるよ。
1年で開発者登録数が倍増しそうだな。
2倍に増えるどうかは中国次第
日本語の文字も使えるなら、なでしこ涙目だな
>>544 いや増えないだろ
アプリのアイデアないと使わないし
>>547 ワナビーを捕まえるビジネスですよ。
期間が1年だから
実機で動かす必要があるギリギリまで
申し込まないほうがいいぞ>新規開発者
>>547 いや、単なる勉強として登録するのが結構増えると思う。
あ、でも正式リリースされると登録しなくても使えるのか。
アプリのお試しリリースと言うのは良いね。
>>547 俺ツール作るのに良い感じだけどね
何も売る目的だけでは無いかな
Obj-Cの[]ってWindowsでいうところのSendMessageだよな うん、やっぱきめえwww
Smalltalkを真似るんだったらクロージャを[]にしてメソッドチェーンするのにいちいち書かなくて済むようにはしてほしかったな
なぜ言語の文法とOSのAPIを比べるのか
気の毒でつっこめないよw
Swiftは、Pre Compilerを使わないと言う前提だから、実行時の動的書き換えがよく考えられてると思う。
メッセージはAPIあるいはsendメソッドであるべきだったと思うよ
ははは
その理屈だとSwiftでもメソッド呼び出しはobj->send(selector, args)みたいな書式にしろという主張かね
なんでわざわざWindowsAPIを例に出したと思ってるのだ obj->Selector(args) でええやん。ObjCの[]はやっぱりありえん。
CocoaにはNSNotificationっていう立派なメッセージングシステムがあるんだけど
ObjCの[]をDisるなら、Lispの()もDisらなきゃ
MFCのメッセージクラッカもたいがいきめえ
なんで[obj selector:args]は駄目でobj->selector(args)はいいの
Obj-Cの文法は既存のCの文法とは別にするとこで Obj-CとCの部分を明確に区別することが目的だろ
>>561 delegateを使うより好きなんだよな
ただコードを追いにくいのと後始末忘れて
リークするという欠点が
rubyじゃ知らない人が多すぎるからだろ
C++とかJavaとかと比較しよう
仮に、他のプラットフォームで使えたとしても、Goなどと比べて特長(徴じゃないよ)が全くない。 だから、普通の人は閉鎖的だと言ってわざわざ絶望しない。
こんな奴がC++の幹部やってるようじゃ未来は暗いな 早晩ObjCとSwiftに駆逐されるでしょう だいたい自由(笑)なんてのはとっくに敗北してる マルウェア天国のGoogle Playを見ろよ ソフトの発展にはAppleみたいな信頼できる組織の統制が絶対に必要なんだよ
自由なソフトウェア教というApple教より不自由な宗教にハマってるようにしか見えんわなw
>>572 >C++の幹部
ここ笑うところですか?
ソフトウェア利用者の自由は保証するが、作る人の自由は保証しない。
>>572 なんでNGされてるのかと思ったらおまえマルチポストコピペ君じゃん。
>>535 この春に更新した時はクレジットカードかApple Storeギフトカードの選択しかできなかった。
Apple Storeギフトカードはコンビニ払いができるので、カードなしでも大丈夫。手数料もなし。
7800+消費税分の金額で自分宛のApple Storeギフトカードを購入。
コンビニでの入金後、2日くらいでコードがメールで届く。
Apple StoreでiOS Developer Programを購入するときにApple Storeギフトカードを選択して
事前に購入したコードを入力すれば完了。
SwiftだのC++だのPythonだのJavaだのたいして変わらん奴らで罵り合ってて恥ずかしくなるわ 言語には2種類しかないんだよ Lispかそれ以外の言語か。
>>577 NGにしてるしてるってわめくバカが一番ちゃんと読んでいる不思議w
最近は共有NGってのもあるだろ
4GのMacbook AirだとPlayground弄るのもきついな 固まったり、落ちたりする
583 :
デフォルトの名無しさん :2014/06/07(土) 22:03:33.64 ID:x7Ot83v2
江添ってC++の幹部だったのかー 知らなかったわー
お前ら嫉妬すんなよw 有名企業で言語の啓蒙が仕事とかなかなかできないぞw しかしSwiftは興味深いし楽しい 自分が楽しめればよれこそが自由だよ
否定意見を嫉妬認定はろくでもない奴の法則
自分の好きな物を否定されたら顔真っ赤にして人格否定するのはろくでなしの法則
Playgound でオプショナルなオブジェクト変数にnilを代入してもデストラクタが呼ばれないんだが なんでだろ?
アプリ内で実行するとちゃんとデストラクタが呼ばれるなぁ PlaygoundだとAutoreleaseが働かないとかそんな制約でもあんのかな?
590 :
デフォルトの名無しさん :2014/06/07(土) 23:42:16.39 ID:wMSL+ECD
>>579 やはりここにも原理主義者が現れたか
。。。その通りなんだけどね
すでに閉鎖的すぎて の根拠がApple製ハード/ソフトでしか言語仕様が読めねーよ という事だったのだけど オンラインでHTML版が公開されていることを指摘された時点でちゃんと題を訂正すべきだったのにね という話では
全然仕様とか見てないんだけどObjective-Cの大幅アップデートではないの?
ObjCを近代的に書き直したらこうなったってことでしょ 結局[]の不人気を認めたってことで CilkPlusとかTBBとかと組み合わせて使うことは考慮されてるのかしら?
しかしこのスレもひところの勢いがなくなったな みんなもう飽きたのかな
>>595 Apple純正でもスレッドプールの実装でGCDがあるんだけど、これはそのままSwiftでも使えるらしい。
キチガイ信者とキチガイアンチ。 もうちょっと冷めた見方できんのかね。
新しく言語増えてヒステリックになる人の心理がよくわからないんだよね 奇をてらった物でも無く、習得するのに一時間もかからない この言語を何故憎むのか Openで無いから?それも意味わからんし
結局NDAは一般に公開されてるものに関しては無視して良いの?
>>600 1時間で最低限でも習得でもするには、400ページある基本的なランゲージリファレンスだけでも
1ページ9秒のペースで読まなきゃならんわけだが
>>582 こっちも落ちまくって全然話にならない。
最後まで安定しなければ、いよいよ買い替えか?
能書きはもう良いからなんか作ってみた報告とかねーのかよ そこでここが良かったとか悪かったとか具体的な話があれば説得力がある ぐだぐだ理屈ばっかり達者なクズばっかりだなここは
つ[言い出しっぺの法則]
>>606 その前に作る似値するかどうかを話し合ってんだろうが
なんでも、やってみないとわからんって馬鹿だろ
609 :
デフォルトの名無しさん :2014/06/08(日) 06:51:33.93 ID:TOeZB11U
Objective-C同様、引数にキーワードつけて読みやすくなってるのはいいんだけど 呼び出すときに 関数:キーワードつけない メソッド:1つめ以外キーワードつける イニシャライザ(というかコンストラクタ):全部キーワードつける と統一されてないのがキモい。 全部キーワードつけたいよ・・・
誰かWeb上の簡易エミュレータ作ってくれないかな そういうのもNDA違反になるの?
あるはず
>>610 script的に遊びたいから?
手っ取り早いのは、Macのサーバにtelnetで入ってTerminal でSwiftインタプリタやLLDBを動かすことだろうな。
でも第3者にオープンするのはNDA違反だな。
正式リリースされれば、オンラインスクールとして何処かがやり始めるだろう。
>
>>610 script的に遊びたいから?
仕様は読むけどやっぱり動かしてみたいのよ。
正式リリースまで課金デベロッパーしか動かせないなんてのはつまんない。
言語仕様はNDA関係なくiBooksで無料購入できるべ
今までだってGNU ObjCがあったのにMac以外の環境で全く流行らなかったことを 考えればオープン仕様になったところで普及は見込めんな スクリプトで遊びたいなら月額980円のレンタルサーバでRailsやNode.js使った Webアプリ作ったほうがよっぽど楽しいと思うよ
別に980円じゃなくてもいいだろ
>>615 iOSアプリ開発者でさえ仕方なく使ってたObjCを、それ以外のプラットフォームの開発者が使うわけないじゃん
AppleがObj-Cを強制していたから仕方なく使ってただけで 他の選択肢があるなら好き好んで使わないというだけの話
皮肉なことだけどRuby on Rails勉強会によく参加する開発者のかなりの割合がMac使い まあ非Mac環境のユーザーは今使えるものを使えってことだな
>>615 Swiftの本質が解っていないな。 そもそもスクリプトとコンパイラは全く別物。
スクリプトは万能になり得ないが、基本的にコンパイラ系は万能になりうる。
オープンソースにして一番影響が大きいのは、iOS, Androidの開発環境が同じになってうまくすれば相互にリンク出来る事。
ObjCだと開発者も二の足を踏むのが多かったがSwiftなら誰でも使える。
たいていのスマホアプリはAndroidとマルチ展開するからWebインターフェースとか AIRがよく使われるんだよね。 たとえばRubyOnRailsでiOSアプリ作れるかというと、作れる(というか運用してるとこもある) サーバ集約型なら、クライアント側はブラウザを埋め込むだけの最低限のコードを書けば いいからね。 SwiftでAndroidとの相互移植がしやすくなるかというと、全くそんなことは無い。 Webブラウザを呼び出すコードを書くくらいなら雛形いくらでもあるからねー。
iOSアプリがRoRで作れるなんて寝言は クライアント側も全部Rubyで書いてから言えカス
クライアント側は(UI)WebView使うって書いてるのにかわいそう
逆に言えばクライアント側がWebを表示するだけのサーバ集約型アプリなら 大半はRoRで作れることを認めたわけだね SwiftでAndroidとのマルチ開発できるなら世話ねーよwww
>クライアント側がWebを表示するだけのサーバ集約型アプリ アプリの一部に限定して大半なんてのたまわれても困るんだが? Xamarinにお布施した方がマシだろ
そもそもObjective-Cは単にsmalltalk+Cで あんなシンプルな言語をピープー言って使えなかった層が "ぼくの知ってる言語に似てるような気がするから使える!"なんてことが あるわけがねぇじゃねぇか。
AirとかwebViewアプリとかTitaniumとかはマルチプラットフォーム舐めてる奴のたわ言 まともな会社ならそれぞれのプラットフォームのネイティブで実装するのが最も確実で最もユーザフレンドリーで最もメンテナブルで 結果的に最もコストが低いと分かってるから実際そうしてる
>>628 そういう奴に限ってSwiftはjavascriptを置き換えてWeb標準になるだの
Androidと共通の開発言語になるだの妄想しているというw
> 最もメンテナブルで アプリのアップデートのたびにいちいちダウンロードさせるのがメンテナブルか?www あんまり笑わせないでくれ。 大規模なUI更新をしてもサーバ側だけですむのはWebインターフェースのメリットだよ。 Amebaとかのソーシャルアプリは本当はWebだけで完結してるが プッシュ通知が送れるからなんちゃってネイティブアプリ版も作ってるにすぎない。 「Apple税」を3割もとられるのはアプリ屋にとっては痛い話なんだけどね。
>>622 そんなのアプリと言えるか。 それに最近はそんなWebブラウザで出来るような質の悪いアプリはリジェクトされる。
>>625 これを例にあげて"iOSアプリはRubyで作れる"っていう主張ならまだわかる
ただRoR使ってクライアント側を軽視して作ったマルチプラットフォームアプリが
大部分において他より優位であるかのような主張は一理ない
> クライアント側を軽視 Webインターフェースだと軽視したことになるのか。面白いこというなー
わざわざできる事を制限してパフォーマンスも悪くしてどのあたりが軽視じゃないの? 明らかに向いてないアプリもまだまだ多いよね?
>>631 よくApple税とか言う奴居るが、普通にパッケージ売りしたらもっと中間マージンで飛ぶわ
ID:V8pGZEud Webブラウザでできるアプリでリジェクトされた例を示してください! さあ速く!
>>637 HTML5がどうだのいろいろ屁理屈こねてWebブラウザで動くFlashは潰したけど
アプリ組み込みのFlash(=AIR)は残ってるよね。
結局は決済レジの問題だよ。
構ってちゃんを相手してやるなんてお前ら優しいな
> わざわざできる事を制限してパフォーマンスも悪くして Appleの悪口はそのへんにしとこうか 自社決済に誘導したいがためにわざとWebブラウザを不便にしてる
>>641 へたくそな図だな。春に入社した社会人1年でもそんな稚拙なプレゼン資料作らないぞ
var list: Array<String> = ["Hoge"] と var list: String[] = ["Hoge"] と var list = ["Hoge"] は同じ意味でいいんだっけ?
いいよ
まあWebアプリでしっかりしたUIを作るのはかなりつらい感じではある もっと簡単にできればいいが
書き方がいっぱいあって紛らわしい var list: Array<String> = [] var list: String[] = [] var list = String[]()
春はへんなのが湧くな
暦がわからない変なのとかね
>>629 たしかにその三つはそういう評判だが‥
Xamarin はどうかね?
既にWebベースのソフト資産を持ってる企業にとっての選択肢としてAIRやWebViewは ベターな選択だろう。0から作る場合は別。
JobsのFlash殺しは大成功だったな。
Swiftには、privateやprotectedといったアクセス指定子みたいなものが見当たらないんですが、 全部おっぴろげ〜ってことですかね? 隠したかったらクロージャを使えってことですかね?
>>651 Xamarinはモデル層限定で使うなら、まぁ、アリかなって感じ
個人的にだけど
ただやっぱりApple/Google等プラットフォーマーと開発者の関係の中に第三のファクターが入ってくるのは、やはりリスクではある
いつまでサポートしてくれるか分からないし、サポートし続けてもらうためにこっちが応援しつづけなければならないコストを暗に抱える
Flasherが必死にAdobeヨイショするように
表には出てこなくなっただけでFlashソフト資産を持ってるソフト屋は AIRを使ってアプリ作ってる
カプセル化はオブジェクト指向の3大要素の1つなんだけどなぁ これがないって一体どういうこと?
べつにアクセス制限はカプセル化に必須ではないのでは
>>658 アクセス制限できないと外側から変数を触られまくり放題じゃん
これクラスや関数の宣言だけして実装はしないヘッダを作れないの?
javaみたいな変なクラス単位のアクセス指定じゃなくてオブジェクト単位のprivate/publicがいいな
>>661 サンキュー
今んとこはプロトコルとクロージャでファクトリメソッド使えって書いてるね
モジュール単位見たい。 で、モジュールの中を見たければimport
666 :
デフォルトの名無しさん :2014/06/08(日) 17:29:31.82 ID:BZF26sA9
iBookで読めるスイフト本にはパッケージの仕組みの解説ないよね?extensionが適用されるスコープのルールが気になるんよなあ
はぁ? そのものズバリのExtensionsって章でスコープの解説しているだろボケ
669 :
デフォルトの名無しさん :2014/06/08(日) 17:36:06.42 ID:BZF26sA9
genericなextensionを宣言できるようにして欲しいなあ extension <T> Array<T>: Seq<T> みたいに書けるとエロい
ドキュメント作る側とか開発側とかなり丁々発止のやりとりがあったんだろうな。 普通の解説本ではこんなに使う立場に立った本は書けない。 流石、末端ユーザーと歩んだApple。
ひょっとして ID:V8pGZEud はまともなアプリ開発した実績がないんじゃないの?
672 :
デフォルトの名無しさん :2014/06/08(日) 17:43:05.84 ID:j3SKCg8z
間違いない
>>667 SmalltalkやRubyのインスタンス変数みたいなアクセス制御を想定してたけど動的静的は関係無い
Javaとかのはprivateでもクラスが同じなら他のオブジェクトからアクセス出来てしまうけど
クラスとか継承とか関係なく他のオブジェクトからのアクセスだけ出来ないほうが好き
静的型付け言語で言えばOCamlのprivateとかScalaのprotected[this]がそれに相当するらしいが
674 :
デフォルトの名無しさん :2014/06/08(日) 18:25:55.40 ID:jXab0XRf
>>641 見事に何も伝わらないスライド
コレは確実にダメ社員 or ニートですわ
まあObj-Cの@privateとかはコンパイラがチェックするだけで 実行時はチェックされずどこからもアクセス可能だからね
×印の意味がまったく意味不明だしな まともなGUI組めない人間だと一発でわかったよ
677 :
デフォルトの名無しさん :2014/06/08(日) 18:30:55.85 ID:Isn3H6F1
>>675 C++も関数ポインタさえ取得すればprivate関数呼び放題ですけどね
実行時に属性チェックするのは速度的に不利だから静的な解決になるのは仕方ない
>>678 Obj-Cは、そもそもメソッドに属性は付けられなくて全部publicになっちゃう
ヘッダに露出させんなということらしいが
言語を否定出来るレベルに無い人が 騒いでいて、痛々しく。
682 :
デフォルトの名無しさん :2014/06/08(日) 18:49:02.50 ID:Qgtqu9Sx
言語を否定する人の多くがその言語の1機能のみを切り出して否定する。 言語の思想によって必要な機能だから実装されているのであって、その機能のみを否定するのは滑稽と言わざるを得ない。 その思想に対する否定なら分かるが、それが理解出来ないからと機能を否定するくらいなら黙っておいた方が無能をひけらかさないで済むぞ
>>681 ニワカな奴ほど語りたがる。この一言だろうねw
言語使用が糞()、実装がタコ()、美しくない()、
汎用的じゃない()、コストが〜()、OSが糞()
↑こんなの技術者ならば酒飲んでても書き込めないわ。
語るレベルに無いからこそ気軽に語れるという構造。
頭が固くなって新しいことについていけない畏怖から攻撃的、否定的になる人ってよくいるよね
>>682 >言語を否定する人の多くがその言語の1機能のみを切り出して否定する。
それどころか、Swiftは便所の落書きだと「Appleだから」で否定されてる件w
Objective-Cを置き換えかねない物が物だけに
"Appleだから"で賛美してる奴が皆無なもんだから
Swiftについては宗教的アンチの言動が目立つ目立つw
686 :
デフォルトの名無しさん :2014/06/08(日) 21:19:18.25 ID:L3IirfqI
そりゃ頭の悪い老害は自分の仕事を失う恐れがある新しい技術なんてネガキャンしか出来ないからな。
687 :
デフォルトの名無しさん :2014/06/08(日) 21:33:31.46 ID:2ruPoz8R
これって実行速度はどうなのよ JavaやC#との比較が出てこないのはどうして
その比較はおかしくねーか? Swiftの生成コードは中間言語じゃねーぞ まあC#やJavaも曲がりなりにもネイティブコード吐くことはできるが
>>687 MacとiOS専用だからC#と比べろ言われても困るし
Javaと言われてもなぁ…
つか、実行テスト環境外だとObjective-Cより最適化されて速くなった
Obj-C後継のネイティブコンパイル言語だから発表時の通り
Objective-C<Swift<Cって速度順だと思うぞ?
実行速度は同じハードウェアでOSは別物いれて同じタスク実行させてみれば比較できね? Objective-Cはコンパイルするのに動的な部分があったのでCより遅かったけど SwiftはCより遅くなるとしたら何が原因なのか知りたいわ
JavaもHotSpotコンパイラがあるからなぁ・・・ ただiOSでは動かんしJava-Cocoaってまともに保守されてないんじゃね?
>>690 メソッド呼び出しが動的束縛なのはSwiftも変わらないよ。そうじゃなきゃObj-C互換を保てないし。
ただSwiftにはstructも用意されてて、こっちに追加したメソッドは静的に呼び出し先が決まるので
Obj-C互換のOOPは要らずカプセル化程度でいいという場合はオーバーヘッドを小さくできる。
694 :
デフォルトの名無しさん :2014/06/08(日) 22:04:20.73 ID:jOrVVeIi
>>691 ObjC固有のコードの実行時間が気になる〜
誰か教えて。
Swift-Pythonの比較グラフを信じるなら、JavaとSwiftはそん色ない気はする。 もちろん、OSの機能をダイレクトに扱える場面ではSwiftだろうけど。
>>695 Swift-Xamarin のガチがみたかったんだが‥
C++のメンバ関数は暗黙的にthisポインタを引数にとるからpublicで呼ぶにも 通常の関数コールでは呼び出せないぜ MSVCなら__thiscallだがgccだといろいろ面倒だった気が・・・ もちろんstatic関数にする
なんでわざわざそういうバッドノウハウ的な使い方するんだ?
>>691 それインチキだよ。
Cの方は
for (int j=0;j<100;j++){
と書いて、Swift の方は
var j=0
while j<100{
j++
}
とわざわざ遅くなるようにコーディングしてる。
やるなら同じようなコーディングにしないと比較にならん。
for var j=0; j<100;j++ {
と書かないとインチキ。 遅くなって当然。
わざとらしい。金を稼ぐためのネタだな。
>>613 ある意味そういう集客でありビジネスだからな
どっちもこんなんにしかなりそうにないな xor %ecx, %ecx 1: add $1, %ecx : cmp $100, %ecx jne 1b
この言語が発表されてから、にわか共がブログに書いたりツイートしてるせいで、検索の邪魔でしょうがない。 見たくなる記事のタイトルだけど、中身は空っぽ。なかなか面白い言語だ。とかよくわかってないから知ったかで中身がない文。 ここにも結構、知ったかが居るけど黙っててくれるかな?少しは勉強してから書き込もうね。
お兄ちゃんカッコいい!
(何が検索結果に出ることを期待してるんだろう…)
>>701 もちろん使わないぜ?
ただ、「呼べなくする」ことと、ポリシーで呼ばなくすることは全くの別問題ということよ。
protectedやprivateは、ポリシーを遵守するためにコンパイラが少しだけ手助け
してくれてるだけにすぎない。
WindowsのMFCなんて全部のメソッドがpublicだぜ
全部publicって当時のメッセージベースオブジェクト指向では当たり前だったんじゃねーの?
WindowsもSmalltalkの影響を受けてると言われてるしなw
結局は使う人間のポリシーの問題よ。
MVCのフレームワークにしろ、各機能を無視してViewだけにコードをべた書きすることも
できる(自称「PHPできます」のアホに多い)けど、そこはコーディングルールを定めて
自分らで縛りを設けて使うじゃん。
本当に外部から呼ばれて困るメソッドなら状態変数でも使ってチェックするよ。
今日のNGID:zgyYB5Bh
711 :
デフォルトの名無しさん :2014/06/09(月) 09:36:46.55 ID:+5RVIEA6
>>706 みたいなのはハウツー探してるコピペコーダーだろ。
言語仕様の解説見ても理解出来ないから不要という判断をして、有用な情報が無いとボヤいておる。
NDAあるから公式ドキュメントに載ってる事以外は書けないんだから、必要なら自分で検証すればいいだけなのにね
NDAだからやめろ!キリッ そういうやつ大杉
>>712 お堅いことを言わせてもらうと、アップル社の公式見解ではないもの、あるいはアップル社を代表して公式に意見を述べているのかどうか不明確な情報(WWDCでスタッフに聞いたよ、レベルの話)を、〜してよい、と書いてしまうのはどうだろう。
ま、現実的には余程のことじゃない限り黙認っていうか、いちいちそんなことに構ってられないとスルーされるんだろうけど。
swiftにわかじゃない人間とは
Appleとしての動向にふれるような部分でなきゃ問題にならんと思うよ 時期に関する「予定は未定」の情報を好んで撒き散らす厨は危ないな
Swiftを普及させたいだろうし、今回からベータ版に関する公開情報も増やしてるから、以前よりはオープンにして新規開発者を取り込もうとしてるかな。 ベータのスクショや動画を流してるニュースサイトの方が遥かに問題だけど、あれもPR効果になるから黙認してるんだろうな。
>>712 騒いでもいいけどベータ版に関する話ってことで不具合をあげつらわないようにってことか
バイナリや見た目に関してはアウト、と
↑であったように、ドキュメント見ただけじゃわかりにくくて
ベータ版を使って実行した結果を検証してもらうくらいなら大丈夫かな?
売名丸見えでウザいのは確かだがマジ基地とまで言われるのかw
マジ基地度合いで言ったらID:QWDfgH1hもいい勝負だな
726 :
デフォルトの名無しさん :2014/06/09(月) 15:23:51.19 ID:Ujl5/fza
>>724 だからwiki開いたら、削除対象になるよ?って警告が出てくるよ。
この件でwikiの中の人にチェックされてしまったら削除される可能性が高いな
>>725 はてブで逆張りしてる連中を全員ID晒したいレベル
せっかくNDAが緩和された矢先にこんなタコが現れるのうけるわ
iOS, OSX特化言語ってだけで寄ってくるエンジニアはアレだわ(煽り)
>>729 うーむ、これはいったい何がどうなってこうなった
732 :
た :2014/06/09(月) 17:48:16.53 ID:s5Hl48NH
しかしAppleはなんでわざわざ既に存在する言語(
ttp://swift-lang.org/main/ )と同じ名前にしたかね
普通はよけいな混乱をさけるために既存の名前は避けると思うんだけど
どういう意図があるんだろ
もともとマイナー言語だから知名度を奪うって意図ではないだろうし
言い名前だからだろう。 マイナー言語だからわざわざ配慮してやる必要もないし。
なんかこだわりの名前なんじゃないのかね。 アップルは気に入った名前思いつくと多少問題あっても強引に行くよね。
アイコンまでちょっと似てるのはどうよ 上向きと下向きで違うけど しかもご丁寧にアップルのSwiftサイトからswift-langのサイトにリンクを張っているのもいやらしい
/.Jに、二つの言語を勘違いした挙げ句、恥の上塗りを続けてる馬鹿が居たな。
並列コンピューティングのためのオープンソース言語をAppleはObjC置き換えのために採用した!(ドヤァ ってやつだな
名前をパクる言語とか4ねよ
MicrosoftもSwiftと言うWeb言語を作ったことあるんだけどね。 仕返しだ。
実にApple関連スレらしい流れで安心したw
>>732 GoogleがGoを発表した時に同じことが起こったな。きっとそれへのオマージュだよ。
つか、iPhoneの発表時も名前被りについて色々やりあったし、誰かが使っているという理由で
名前を変えないってのがApple文化なんじゃない?
そもそも会社名がいきなりそれ
swift-jpwwww 香wばしいなwwwwww www wwww
>>729 いきなり最近ちょいちょい便所の落書きでみかける
「Objective-Cは難しくて糞だけどSwiftはなんか知ってる言語っぽい感じだから
Appleは心を入れ替えてボクらのために優しい言語を用意してくれたんだろ?」
って例の妄想炸裂から始まってて噴いた。
アホか。Objective-Cは単純なC文法の上で空気のように
既存のフレームワーククラスを使いまくってるから初心者がキツイんであって
フレームワークの勉強でつまずいて生産性ガーつってるレベルなら
そこはSwiftでもまったく変わらねぇよ。むしろ、そんな勘違いで始めたりしたら
Swiftのサンプルで既存クラス呼び始めたら「やっぱりAppleだった!」とか言い出すだろ、コイツ。
日本語なら-jaか-jpnじゃねえの? 日本ならjpだが
gnuじゃ無いので好き
LLVMスレでも言及されてたけどAppleがClangに移行したのはGPLv3回避のためらしいね
>>736 あればひどかったな
SwiftってSwyft由来?高速って意味?
>>747 大きな理由の一つなのは間違いないだろうね
その甲斐あって、鈍化したobj-cテコ入れの主導権を握り、Blocksなどcレベルでの魔改造も可能になりswiftに至ってる訳だから先見の明があったなぁと思う
.netという化け物を構築したMSと比べて、妙にネイティブコードに固執してて興味深い
電力効率とか考え抜いた結果なのか、単にVM実行が嫌いなのかはわからんけど
WindowsPhoneって.netフレームワークが入ってるのん?
752 :
デフォルトの名無しさん :2014/06/09(月) 21:30:31.47 ID:Y5/zgnch
ねえ、これってクラス作成時は必ずしも継承のためのスーパークラスを指定する必要は無いって事? NSObjectみたいなの無いの?? Subclasses include their superclass name after their class name, separated by a colon. There is no requirement for classes to subclass any standard root class, so you can include or omit a superclass as needed.
>>752 そだよ
NSObjectはNSObjectで指定すれば継承できるよ
でも隠れてるだけで結局中では祖先クラスは存在しそうだけど
そういえばSwiftってClassクラスみたいなの無いのかな
>>751 ストアアプリの実行環境が.NETベースだから当然そう。
ただし既存のWinFormsやWPFで作ったデスクトップアプリは動かないぜ
実行権限が与えられてるのはあくまでストアアプリだけ。
WindowsCEアプリは言わずもがな。
755 :
デフォルトの名無しさん :2014/06/09(月) 21:39:09.10 ID:Y5/zgnch
757 :
デフォルトの名無しさん :2014/06/09(月) 21:54:17.05 ID:Y5/zgnch
しかし英語苦手な人間に取っては英語マニュアルはすげえ辛い アップルジャパンは何やってるんだ? 英語だけじゃなくて日本語とか中国語くらいのマニュアルは同時に出して欲しいもんだわ
758 :
デフォルトの名無しさん :2014/06/09(月) 22:07:01.19 ID:Y5/zgnch
てかあったんかい!!!!!!!!! swift-jp
760 :
デフォルトの名無しさん :2014/06/09(月) 22:16:30.76 ID:Y5/zgnch
>>759 ありがとう
ObjectiveーCで研修受け初めて1ヶ月目って言うなんとも間の悪いプログラミング初心者です
Apple社員だったら笑う
もう少し後だったら 研修のメニューがSwiftだったかもな そしてさらに後でカイジちっくに号泣してたりしてな
763 :
デフォルトの名無しさん :2014/06/09(月) 23:19:25.09 ID:Y5/zgnch
しかも3ヶ月コースで、今更Swiftに変更しないってさ 講師もSwiftなんか出来ないから当たり前っちゃ当たり前だけどさ・・・ 長い目で見て廃れて行くのが確定な言語の学習ってモチベ上がんないよ せめて発表は2ヶ月待って欲しかったわ
まあでもObjective-Cのデザインパターンは知っておいて損は無いぞ 実際、Swiftだけ勉強してもアプリ書けないし
Swiftなんぞ勉強しても無駄だった…は怖くないのん
言語の1つや2つ覚えて損だの得だの言ってるうちは素人だから気にすんな
>>758 そこは上で話題になっている目立ちやがりで自分でwiki作っては
GitHubの翻訳プロジェクト()は1ページすら翻訳してないつークソのサイトだぞ
まともにエンジニアやってて1つの言語だけしかまともに使えないようなのは どのみちどんな言語覚えたところで使えんでしょ。 まあiOSに関してはどっちかというと仕事投げる側の立場だけどね。
いや、実用性ないって先に言ってるじゃん そんな回りくどいことやんなくてもfriendで非公開メンバにアクセスできるし 別に覚える必要ないんだぜ この手のハックは長らくやってないもんでthisポインタをとるメンバー関数の 関数ポインタのとり方ド忘れしてもーたわ。というか使わんが。
-Dprivate=public とでもつけてコンパイルすればいいじゃないの。
天才現る!
クラス(orメソッド)宣言に@objcを付ける(もしくはObjCのクラスを継承する)と メソッド呼び出しはobjc_msgSendを使ったものになる クラス宣言に@objcを付けなければ、ObjCと非互換になる代わりに メソッド呼び出しはC++のvirtual相当(直接関数ポインタを取得してcall)になる クラス宣言に@objcを付けず、かつメソッド宣言に@finalを付けると メソッド呼び出しは完全に静的になる よって、Swiftは完全な動的束縛、静的に型付けされた動的束縛、静的束縛の3つの形態で使えるようだ。
痛々しい‥
板板C
停止したのね
>>758 >>777 これって管理人の自演だろ
いいからテメーで作ったwikipediaのページに書き込め
Cellのときはソニーはこういうのに寛容で結局ソニー自ら日本語マニュアル出した でもこれは有志ってよりは明らかに営利目的だな
マニュアルは開発機とセットで付いてきますよ?
営利っていうか、自分だけで翻訳するならともかく自分は1ページすらやってないし あとはGitHubで林檎信者にやらせるつもりだからな
Happy Macintoshプログラミングみたいに本1〜2冊かける人がやるならともかく 何の実績も無い人がやったらあかんね ドメインとってるあたりアフィ収入でも狙ってるのかなと思ってしまった。
しかも怪しいのが現状のサイトは「中身が何一つない」のにこんな書き込みがされてるところ
数日前にドメイン取るついでにステマ隊雇ったっぽい
758 名前:デフォルトの名無しさん[] 投稿日:2014/06/09(月) 22:07:01.19 ID:Y5/zgnch [4/6]
てかあったんかい!!!!!!!!!
swift-jp
777 名前:デフォルトの名無しさん[sage] 投稿日:2014/06/10(火) 01:05:16.07 ID:NONZII8t
良いサイト見つけた
http://swift-jp.com/
githubのリポジトリ消えてるじゃんw
ホームページの方もとっくに停止案内が出されてるのに、ステマ隊は細細とやってるのが痛々しい。
有志の翻訳にすら難癖つけて潰すマカw ほんと気持ち悪いコミュニティだなw
AppleのAPI触るエンジニアが英語苦手ってどーゆーことだよ あれくらい読めや
言語1割、Framework 9割だから。
アップル関連は英語読めないとまともに開発できないだろ・・・
面白い茶番を見せてもらった
iPhoneのアプリは初心者が作ってるの多いからな とにかく落ちる。この言語で少しはマシに なればいいんだけど
プログラミング自体が初めての層にはおすすめできない感じだな。 シンプル化したお手軽言語ってことでもないね。 他言語の良い所を取り入れているのはいいんだけど、いきなりこういう言語から入っても概念がつかめずに死ぬ。
え?w
>>795 じゃあ、Pascalからでも入るか?
それとも30年前のようにBASICからやったほうがいいか?
死ぬ奴は、何やっても死ぬから安心しなさい。
そろそろSwiftの話でもしようか
ガリバーの話か。
とりあえずオブジェクト志向言語なら興味持ったもので始めればいいよ 一回ハマれば必要に応じて自然と新しい言語や概念を学ぶようになるから Swiftの良いところはMacを買えば一通りの開発環境と実行環境が揃うところかな
>>800 それは半年後だよな。
今環境揃えようと思ったらデベロッパープログラムで8400円(税込)払わんと
ああ、そうか まあゲーム一本か二本買うと思えば・・・
どっかにswiftバイナリ落ちてんじゃね
コンパイラだけあっても使いにくそうな、、、、Xcode6あったほうがいいべ ライブラリも必要だし。
>>363 なるほど、Swift自体は可変長定義できるみたいだけど
Cの可変長は直接呼べない、ということになるのかも
遅レスでした
>>795 スクリプト的なお手軽言語としても入っていけるよ。
シェルや、BASICの文法レベルでも書けるし、高度な扱い方もできると言うだけで初心者がすぐにすべてを理解できなくても良いだろ。
学習教材としては最適だと思うぞ。 リアルタイムに実行できると言うのが初心者には一番良い。
ただ実際に何か作ろうと思うとAPIとか色々面倒くさくなるがそれはどんな言語も同じだからな。
しかし The Swift Programing Language は良く書けてるな。
良く有るこれが出来るあれが出来ると言う押しつけがましさが無く、簡単な所から例題中心に話を進めてるのが素晴らしい。
>>801 半年後と言う事は無い。 3か月後。 その頃には入門本も沢山出てくるだろう。
たしかに3か月チョイの可能性は高いか。 最短で、iPhoneの出る9月20日前後にiOS8とともにXcode6解禁、かな
しかしまだ発表から一週間か いろいろあったなあ どこが最初に日本語書籍を発売するかな 買わないけど
(他環境の人に説明しておくとSwiftは現在Xcode6ベータ版でしか動かなくて そのベータ版を落とすのに有料の年間開発者登録がいる。 しかしXcode自体はMacの標準開発環境として無料提供されていて 現在Xcode5.1.1はAppStoreからタダで落としてMacアプリの開発に使えるので Xcode6も秋にβが取れて標準提供され始めたらたら 当然Swiftもタダで使えるだろうということ。(Macは買えw))
そういやXcodeってDeloper Programに参加してないユーザー向けに 600円くらいで売ってた謎の時期があったのを思い出した
Yellowbox的なもの(他のOSに移植可能な開発環境)は欲しいところだねー
文字列使うときは、ついつい@をつけようとしちゃうよね
>>771 おいだんごよ、恥ずかしくも
>>700 =糞コードを撒き散らすQZ ごときに「標準でできますよ〜♪」と指摘されて、それでも生きていけるのか?
だんごはNGしてるから見えんわ。お前もそうしろ、相手するだけ無駄だから。
老害っぽい匂いがするよね、彼 技術についていけない悲哀を感じる
>>813 だからそんな無価値なコードなんて最初から興味ないっつーの
>>815 ついていけない技術?C++02 の標準が?
x86/PPC/ARMのアセンブリからRubyOnRailsまでこなす俺にはかなうまいて C++のクラスのメンバ関数のコール規約は処理系依存で C++で書く場合は結局Cスタイル関数にするか JNIとかCOMでラップしないとまともに使えないんだよね。 だからmatzに「C++など論外(笑)」と一蹴される こないだも社内用のgem何本か書いたけど基本CのABIにあわせてるよ。
やっぱりだんごさんには叶わないや!
820 :
デフォルトの名無しさん :2014/06/10(火) 23:39:19.50 ID:dlyGCN1m
それだけ技術持ってる()のにこんな所に常駐してるって・・・ なんかどんな人間かだいたいわかっちゃうなw
>>818 それをいうなら C のコール規約も同じくらいに処理系依存なんだが?
あっ...(察し)
察したw
> C のコール規約も同じくらいに はぁ? この時点でバカ確定だな 少なくともC++のクラスのメンバ関数をasmで書く気はしないわ 何だよあの変なシンボル名 Cシンボルなら関数名の頭にアンダースコアついたりつかなかったりするだけだから 全然わかるがC++はthisポインタをどのレジスタ、あるいはスタックの何番目に置くかすら コンパイラごとに統一されてないよ CのABIはOS・CPUごとに標準仕様からそのとおりに実装しておけば基本的に 問題は発生しない。
SWIFTさいぼうはありまぁすっ!
なんか自分を大きく見せようと必死なアニマルがおるな
俺はC++でextern "C"とかCOMやJNIでラップされた関数以外は 他言語から触る能力すらない矮小なへたれです
マングリ返し
Apple側というかMacやiOS、XcodeやObjective-Cの側に立ってると いやでもまぁだいたいこの先こんなことを狙ってるのかな?ってのが 透けてみえるものなのだけど (外れることもあるので予想を喧伝はしない恥ずいからw) そして、逆にこっち側にいるとね、盲人たちが象を撫でて 自分のとこから見えた「それだけはねぇよ!w」って吹いちゃうレベルの 自分勝手で手前味噌なおかしなこと言ってるのも見えるのだよ。 上のコテハンもまさにそういう輩なのでID変わる度に この時間ぐらいに書き込まれてる一日の最初のだけみて 「ああやっぱりw」とノイズ源としてNGしている。 わかりましたか?
> 自分勝手で手前味噌なおかしなこと wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww 鏡みろwwww
NG推奨ID ID:LAxb9MUT
反論できなくなると「NG推奨」なんだな 本当にスルーしたいなら黙ってNGにすればいいのに、どうしていちいち主張したり、みんなで一緒に無視しよう、とかやりたがるのだろう? よほど自分に自信がないのだろうなあ。
今日のNG推奨ID ID:+m+GdR9M
自分の気に入らないものから目をそらすのは構わないけど 他人を巻き込むな
ID: KsdklSL7 哀れ切ない
スレ立て早すぎ このペースじゃ週末まで持つだろ
昨今のご時勢だとスレ立てたいときに立てられるとは限らないからなぁ
肝心な時に落ちてなけりゃなw ここは少ないと落ちたりしないっけ
早くスレ立てし過ぎると新しいスレに書き込みが無くて落ちるんだよねこの板
ID変えて自演までするか・・・ ご苦労なこった
こんどは敵は一人妄想か
濱田さんはいい人なんです!リーダーシップを発揮しようとするところを変なクズが妨害したのが許せません
844 :
デフォルトの名無しさん :2014/06/11(水) 17:11:40.19 ID:qDgSaB/o
濱田はもうiOS界隈で悪評が広まったからお仕事来ないだろうなぁ…可哀想に
>>843 ぱっと見、皮肉だと思うが
あの感じだと本人がこういうことを言いかねないかもw
濱田さんをバカにするな!彼は日本のプログラマーを支える貴重で優秀な人材なのだ!
先日まで無名の動物だったのに、すっかりギャグキャラとして有名になってしまったな濱田よ
悪名は無名に優る
黙ってまず自分から翻訳をサイトに載せていたらぜんぜん評価は違っただろうな。 著作権ゴロも黙ってて。
OSSのSwift処理系作ってる人作ろうとしてる人一人くらいいないの
まだAppleの立場が分からんからなぁ もしかしたら正式リリース時にオープン化するかもしれんし
いずれはANSIとかで標準化したいんじゃないのかね
まるで作れるみたいな言い草
Appleの歴史考えるとオープン化なんかする訳ないだろ てかしないでもいいよ
でもlaunchdとかlibdispatchとかオープンになってるよね
オープンにするメリットがないからなあ コードの使い回しがきかない→Appleハード用だけリリース ってほうがAppleの売り上げ上がりそうだし
オープンソース化する → Swift人口増える → iOSアプリ開発人口が増える
オープンが正義って風潮に疑問を感じる
www.opensource.apple.com 見れば分かるけど、オープンソースにするのに Apple は一々何か理由付けは要らんぞ
アップルって結構オープンソースを公開してるよね。 専用のホームページまで作って。 OS XやiOSの一部を公開してるけど知らない人も結構いるんだろうな。
LLVM とWebkit は大成功を収めてるしね。
Swiftで作ったアプリは、前のOSでも動作するの?
LLVMやWebKitはAppleが始めたわけではないから例としてはあまり適当ではないな
メリットというとdarwinって誰のためのオープンなんだろな 実用になる物も出てないし、それこそappleにメリットないような 義理立てなのかな。オープンライセンスの絡むコアをまとめて晒しときましたよ、的な
>>864 WebKitは丸々Safariのソースを提供したんだよ。 LLVMも最初からAppleが全面的に作ってきた。
>>865 昔どこでもハードを作って良いとしていた時の名残では?
>>863 これNDAの範疇かなー
デプロイターゲットが10.4まで選べるという夢を今しがた見たけど10.4ないし動作確認する所までの夢は見てないので悪しからず
今見てる夢がそもそもSpriteKit系でAutoLayoutなんかが含まれてるため結局10.7まであげないとビルドも通らなくて恐縮です
どこまで下げれるのか夢みる人の寝言が聞けるといいですね
>>866 いやWebKitはLGPLのKHTMLが元だからソースを公開せざるを得なかっただけ。
LLVMが最初からAppleが作ったってどんな妄想だよw Clangと勘違いしてないか
>>866 その元はコンカラのKHTMLエンジン。オープンだけど大元はKDEの産物で、appleはフォークするまでは無関係すよ
>>867 CHRPすか?それはOSXより前過ぎる
>>868 なるほど、対応していないメソッドなりを使わない限り、動く可能性は高いってことか。
ASOCと同じような感じね
ありがと
872 :
デフォルトの名無しさん :2014/06/11(水) 23:31:43.05 ID:oNrN0JCZ
誰か早くswiftで作ったアプリ公開してよ もう煽り合いは飽きたよ
いやそんなテトリス未満のゴミを しかも自分で作ったものでもないのに どや顔で出されても
>>875 くっそ、思いの外可読性高いなwww
アプリケーションハンガリアンで一貫した補完が効くなら一考の価値もありそうに思えてきます
漠然とした不安が拭えず、自分では試したくないけどw
>>875 たしかに可読性高いw
ゲームプログラミングは積極的に絵文字変数を使っていいんじゃねーか
>>872 WWDC.appがSwift製でAppStoreで配布された最初のアプリだよ
どんな絵文字を見せられても一瞬でなんて言う読みで変換すればいいか分かるとか 一瞬で文字パレットから探し出して入力できるとか そういう特殊能力もったチームで開発するならいいんじゃね
>>868 ということはPPCバイナリ吐けるんだ。
さすがにMacだとIntel化以降しかもう動かす気にならないが
(性能的に。俺じゃAltivecフル活用もできねぇし)
やっぱこれ、LLの皮を被ったObj-Cって感じなんだな まぁ、Obj-Cの独特なルール覚えるよか楽ではあるか
Swift触ってるとObjective-Cの残像が見える
>>882 ランタイムがx86-64向けしか用意されてないから、無理
つーかARCがデフォルトで、ARCのweak referenceは10.7以降でしか動かないという制限があった気がしたから
10.7以降のみサポートじゃない
>>885 そっかARCか、そんじゃ10.7でも厳しいかもしれないな
10.7のARCはかなりダメだった思い出がある...
日本だと公共事業で新言語作りましょうって言い出しかねない
888
Swiftでなんか作った奴いないの? ニコニコとかで公開してよ
>>567 Pythonより3.9倍速いのなら
IronPythonより遅いんじゃないか?
>>889 作ったソースなら沢山出回ってるし、作る過程ならYoutubeにある。
何が見たいの?
基本的にいまはAppleと契約した開発者が規約に沿ってβ版使ってるので 個人はあんまり露出して語り辛いのよね。 Apple的にはたぶん咎めない方針だろうけれど。 内容的にはObjective-C後継言語だからそのまんまいまでも MacやiOSのアプリが作れるのだけど。
>>887 役所は斜め下を行くから、日の丸言語とか言いそうw
日の丸検索エンジンに投じた150億あれば新言語くらい作れそうなもんだがねー OS X用のCocoaアプリって今作ったら配布できるのかな?
>>879 初めは普通に文字列でやっといて、バグ取りの時に絵文字へ一括置換でよくね?
特定の文字列を絵文字で表示するIDEがあれば良いんだよ!
>>895 コーディング時も視認性が良い方が良いからね。
>>896 自分用の辞書を作っておけば良いんだよ。
或は日本語変数名を使う。 この方が応用性が広いね。
2ch Swiftスレの活動履歴 ・雑談 ・日本語化プロジェクトを潰した いじょ
>>866 丸々Safariのソースて…
妄想をドヤ顔で話すのやめなよ
いくらベータとはいえPlaygroundは不安定すぎるにも程があるだろ
The playground is too unstable even though it is a beta version. What the heck!
日本語や中国語で書かれたソースコードなんて
欧米人から見たら
>>875 に見えてるのかも知れない
フォントをインストールしていなかったら、下駄マークの羅列になるんじゃ無いかな。 でも最近は各国のページを見る時にいくら翻訳すると言っても下駄の羅列は面白く無いから、俺は大抵の国のフォントは入れてる。 そう言えば、マニュアルの例題に漢数字が使われてたな。
ドザか?
l三`ー 、_;:;:;:;:;:;:j;:;:;:;:;:;:_;:;:;_;:?-三三三三三l l三 r=ミ''‐--‐';二,_ ̄ ,三三三彡彡l_ この感じ・・・・ lミ′  ̄ ー-'" '=ミニ彡彡/‐、ヽ l;l ,_-‐ 、 __,,.. - 、 彡彡彳、.// ドザか? _______∧,、_? `之ヽ、, i l´ _,ィ辷ァ-、、 彡彡'r ノ/_ ______  ̄ ̄ ̄ ̄ ̄ ̄ ̄'`'` ̄ 1  ̄フ/l l::. ヽこ~ ̄ 彡彳~´/  ̄ ̄ ̄ ̄ ̄ ̄ ヽ ´ :l .l:::. 彡ィ-‐'′ ゝ、 / :. :r-、 彡′ / ィ:ヘ `ヽ:__,ィ='´ 彡;ヽ、 _,,..-‐'7 /:::::::ヽ _: :_ ヽ ィ´.}::ヽ ヽ、 _,-‐'´ { ヽ:::::::::ヘ `'ー===ー-- ' /ノ /::::::ヘ, ヽー、
>>906 SwiftってMac環境でしか開発できないのになんでフォントの心配をしてるの?
ソースをブラウザに載っける場合の話じゃないの?
>>909 Mac環境じゃ無くてもソースを見たり変更したりするから。
VMware / VNC 環境とか両方で見るし。
例えばソースを見て変更しようとするのが居た場合とか。 Mac ユーザに限らず色々いるよ。
>>893 ruby がコンパイラになれば、その時点で無敵になると思うよ、日の丸言語は ruby で決まり
本立ち読みして来た
動的言語には弱点があり、故に 静的言語が見直されてるんだよ
結局SwiftもMac買わなきゃ使えもしないのか OSSのLinuxカーネル使ってるくせに閉鎖的とは何事かw さすがアップル
さすがにそれは使ってないw
Linuxカーネル使ってるwww
Macが使ってるのはLinuxのカーネルじゃなくてUbuntuのカーネルだから
釣り堀化させるのやめてwww
おまけに今時時代遅れの型推論とか実装しちゃうオバカさん 糞林檎 カスですわ
OSを開発する技術もないアッホルはUNIXをパクルしか能がない これは羞恥の事実なんだが? おまいらアホか?
さすがにこれは釣り
え、おまえらマジでAppleが独自開発OSだと思ってるの? マジ?
LLVMはLinux Light Virtual Machineの略だからなぁ
GitHubにあるFlappyむずかし過ぎワロタwww あ、コードがじゃ無くてゲーム自体がねw クソゲーwww
927 :
デフォルトの名無しさん :2014/06/12(木) 23:44:12.51 ID:5if5Krxc
MacはベースはWindowsだからなー
使ってやろうと思ったけど、ゴミ過ぎてやる気なくしたわ 死んでいいよ
俺的メモ Swift的階乗計算(キャッシュ機能付き) func memoize<T: Hashable, U>( body: ((T)->U, T)->U ) -> (T)->U { var memo = Dictionary<T, U>() var result: ((T)->U)! result = { x in if let q = memo[x] { return q } let r = body(result, x) memo[x] = r return r } return result } let factorial = memoize { factorial, x in x == 0 ? 1 : x * factorial(x - 1) } println(factorial(5))
きたねえ言語だなあ
>>930 あなたの精神衛生の為に、このスレには今後近づかないことをお勧めします。
気になって仕方ないんだろうけどね。
>>929 これ動くのか
generics分かりにくいぜ
必要なのは言語の仕様じゃなくてモジュール
これを機会にmac買うか
mac高い 有料でいいから他のOS用にも出してくれりゃいいのに
MacMiniなら安いじゃん
Swift 動くなら mac じゃなくても良いんだよな
Macはだいたいパソコン出荷台数全米三位とかで 機種が6ラインしかないからパーツがものすごい量発注できて 新機種発売時は「なんでその性能をその値段で出せる?」っつーぐらい 毎回"安い"イメージなんだが…インターフェイス規格類をケチってないから 安PCよりなんか長く使えるし。miniしかみてねーけどw
どうせGNUがパクリ処理系出すし WEBでサンプル打ち込むと結果返してくるサイトもできるだろうし これ試すためだけにわざわざMac買う必要はないだろ
パクリ、、、w 互換のやつ出るだろうな Code貼り付けるサイトが対応するのいつだろうなあ
Macでしか使えない言語だとプログラミングコンテストとかで使えないな
スタバでiPadでiBookのThe Swift Programming Languageドヤリング読書中記念カキコ
コーヒーこぼして
>>942 のiPadが爆発炎上しますように
Swift使うにはXcode6.0β入れないと使えない? 今度MacBook Air11インチ買うから試しに触ってみたい
いまのところXcode6がβだから有料開発者しか試せないんだよなぁ たぶんXcode6が秋に正式版になったらAppStoreから無償で落として Swift使えるようになるんだろうけど。
お前らじゃ、言語換えたところで、ろくなもの作れないよ
そうなのよおじさん「そうなのよ」
いろいろ楽すぎて他の言語書くのが嫌になる
オブジェクティブシー 他 の 言 語
>>950 というか既存クラス呼ぶのはいっしょなんで
書きたくなくなるのは取っ払われた"The C"の部分なわけで
新技術に触れるために年間8400円くらいで躊躇してる時点で大した技術者じゃないよね
そうなんです すいません
1万くらいならいいけどMac miniだと最安54800じゃん
いまさらXCode6beta落としてみたけど Playground楽しいな。 これdmgだけ人に渡したら実行できるんかねー アカウント入れるとこあったっけ
>>953 新技術じゃなくて、ただの一言語じゃね?
他にも言語は沢山あるし、そのほとんどが無料。
>>956 Playgroundsだけなら動く筈。 Builderとか実際にアプリを作るのはアカウントが無いとだめ。
iOS実機で動かす以外はアカウントなんか不要だろ
XcodeがMacの標準開発環境で、当然デフォルトはMacアプリ作るためのもの ってのがスポーンと抜けてる奴がいるのはなんなんだあれ? VisualStudioでWindowsPhoneの話するぐらいの違和感
962 :
デフォルトの名無しさん :2014/06/14(土) 00:23:38.40 ID:ykVp56yv
割れックスコーデまだー?
卑猥な言葉は人前で話すなってジッチャが言ってた
>>961 デフォルトじゃなくてデファクトの開発対象で語ってるんだろうさ
ほんと囲いこみだけはお上手さね
>>966 情報によるとMicrosoftからVisualStudioとC#のMac版が出ると聞いて。
それ結構売れそう
せめてハードフリーなライセンス作ってから喚こうね^^; 技術的にムリなんだろうけど・・・ アッホル
人集めに失敗して笑いものになった濱田君がまた暴れてる
>>953 マジレスすると最初は言語触るだけでもよいが
アプリのアイデアないと使わなくなると思うよ
>>971 マジレスすると、MacはiPhone iPad を生かしてくれる。
今度のContunuity でもっと便利になる。
>>971 その辺に転がってるゲームを作って遊びでも結構な時間つぶし出来るだろ。
iBooks Author も使うようになるかもね。 Swift の成長も楽しみ。
>>972 単独じゃゴミなのか
不完全なパーツ単位で買わされるなんて
アッホル信者って修行が好きだよな
LLVMメーリスの open positions in Apple's Swift compiler team というスレにて、Chris Lattner 曰く > We literally have not even discussed this yet, because we have a ton of work to do to respond to the huge volume of feedback we're getting, > and have to get a huge number of things (e.g. access control!) done before the 1.0 release this fall. > You can imagine that many of us want it to be open source and part of llvm, but the discussion hasn't happened yet, and won't for some time. だそうだ。
日本語も書けないバカ
しばらくやる気は無い、って言ってるからBad newsだろ。 but the discussion hasn't happened yet, and won't for some time.
What the heck!
Guys, feel free to make up your own dragons if you want, これは make up your own dragons 勝手に夢見てろ ってことかな。 彼は面白い表現を使うな。 テストチームの事をdog feeding guysと言ったり。 でも強い夢は叶うんだよな。皆で夢を見よう。 夢見る皆で Swift team の求人広告に応募しよう。 俺は無理だけど(≧∇≦)
Microsoftなんかも dogfood って言うじゃない
ドキュメントの掛かれたコードの断片を見た感じ ―その言語は、強い。 デルファイア という認識で良い?
984 :
デフォルトの名無しさん :2014/06/14(土) 21:23:24.33 ID:KRK20Qc7
自社製品を使ってることをdogfoodingというみたい。 日本語の資料でも、AWSが自社で使ってるのを強調するのによく見かける。
VisualStudioだとExpressとかあってちょっとプログラムやってみよう、というのに 敷居が低くていいんだが、ベータ版なのに金取るとかアマチュアプログラマに 優しくないよねAppleは。
実際に開発する人間が使うからdogfoodingなのであって テストする人間がそれを使うのは当たり前の話なような
>>985 > ベータ版なのに金取るとかアマチュアプログラマに優しくないよねAppleは。
何その気が狂った論理
なつかしいな。MacOSXはベータ版なのに有料だったんだよ。 Mac OS X Public Beta 3,200円
有料ベータ有料テスター それでも嬉ションもらしながら買って崇めるマカ豚
次スレおね
埋めよ増やせよ
お、信者ゥー!
おっぱいーん(´・ω・`)
うめ Macなんて使わないからLinux用開発環境はよ
次スレで勢いは衰えそうだな。
998 :
デフォルトの名無しさん :2014/06/15(日) 01:35:33.85 ID:Nc8hFXME
deligateある? 使ってないけど。
出たばかりの新言語だというのに 何このオワコン感
糞林檎はゴミ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。