Swiftスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2014/06/03(火) 04:12:21.08ID:rEEU5ykvhttps://developer.apple.com/swift/
0036デフォルトの名無しさん
2014/06/03(火) 09:35:53.62ID:t1I4ETzWいやー早速rMBP15 rate 2013をXcode6とYosemiteにして遊んでるがめっちゃ簡単やん!TypeScriptやん!普段仕事はC#.NETやからめっさ馴染み深いシンタックスやん!!楽勝やんこれwww
ほんま如何にObjective-Cが難しかったかよくわかるわー、これでコーディングやなくてアプリの中身そのものにリソース注げるわー
0037デフォルトの名無しさん
2014/06/03(火) 09:40:34.97ID:Y/pEIVnr大して目新しい機能はなさそうだけど、今さらobjcよりましと思う
0038デフォルトの名無しさん
2014/06/03(火) 09:45:10.46ID:t1I4ETzWあのクソ高くてふざけた制限ばかりのサブスクリプションを契約しなくてよくなるwww
マジXamarinざまぁwww
0039デフォルトの名無しさん
2014/06/03(火) 09:46:10.84ID:va6vQ78Zジョブスなら歓迎するはず
0040デフォルトの名無しさん
2014/06/03(火) 09:50:18.20ID:9Ltabfc60041デフォルトの名無しさん
2014/06/03(火) 09:57:27.88ID:RuKqYDTEてかLLVMってことはemscriptenで簡単にJSにできたりするかな?
新たなaltJSの誕生である。
0042デフォルトの名無しさん
2014/06/03(火) 09:59:34.95ID:RuKqYDTEC#が使えるってだけならXamarinいらんけど、
Xamarinの価値はAndroidやWindowsターゲットとも主にモデル等でコード共有出来るってとこじゃねえの?
俺使ったことないし知らんけど
0043デフォルトの名無しさん
2014/06/03(火) 10:00:18.19ID:d3S2ffswゼロ割りは error だけど overflow operator 使えば 0 になるよ、とは書いてあるが
error になったらどうなるのかが書いてねぇ
0044デフォルトの名無しさん
2014/06/03(火) 10:03:39.83ID:S1JFtVB8静的型の型推論、クラスベース、関数型の機能もある。クロージャもある。演算子オーバーロードもある。
そしてガベコレなし。GCは結局それほど良い物ではなかったと明らかになってきたな、最近は。
(いまだにヌルサクに動かないAndroid見れば分かる)
動的型に対する静的型の反撃、LLVMベースと
ある意味、この10年ほどの紆余曲折が全部込められてるw
システムレイヤからアプリケーションレイヤ、エンタープライズから3Dゲームまで幅広く対応できるんじゃね?
Appleオンリーのクローズドな言語ということを抜きにすれば神がかってるわw
とりあえずさー、JavaScriptとはかなり距離の遠い言語だぞw 共通項はC風構文ってくらいだ。
JavaScriptに似てるって言うやつのプロフ見るとほぼウェブ屋だから
やっぱウェブ屋は世界狭いんだなとか思ってるよ(´・ω・`)
もっとも、そういう人達も表向きJavaScriptに近い感覚で使えるというのはいいことだと思うね。
0045デフォルトの名無しさん
2014/06/03(火) 10:06:21.04ID:d3S2ffsw0046デフォルトの名無しさん
2014/06/03(火) 10:07:55.16ID:9Ltabfc60047デフォルトの名無しさん
2014/06/03(火) 10:11:30.41ID:9Ltabfc60048デフォルトの名無しさん
2014/06/03(火) 10:12:00.54ID:L+zlmaIcもうあるだろ
0049デフォルトの名無しさん
2014/06/03(火) 10:13:41.37ID:t1I4ETzWリモートでコンパイル・デプロイまでできたら最強やな、はよ
0050デフォルトの名無しさん
2014/06/03(火) 10:26:42.14ID:Fqc6zuT2反面、外側を見ると、あのAppleのベンダー独自言語ってとこと、LLVM向けに設計ってとこが特徴的ではある。
0051デフォルトの名無しさん
2014/06/03(火) 10:48:29.11ID:4aJXakc50052デフォルトの名無しさん
2014/06/03(火) 10:50:09.75ID:4aJXakc5こんなスレたってるぞ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/
1 デフォルトの名無しさん sage 2014/06/03(火) 10:20:03.13 ID:Tlzh3MoL
まあ、どちらもタイプセーフJavaScriptという
似たような言語なんだから仲良くしろや。
0053デフォルトの名無しさん
2014/06/03(火) 11:12:45.60ID:JVBQ3X9Gすげえ、もうだいたい書けそう
ちょっとした経験者ならすぐ作れそうだな
Web開発者を取り込みたい狙いもあるんかもしれん
0054デフォルトの名無しさん
2014/06/03(火) 11:13:03.13ID:L8tGCPp+僕の考えた最強の言語を実体化させんなと。
0055デフォルトの名無しさん
2014/06/03(火) 11:26:50.98ID:RuKqYDTE期待している
0056デフォルトの名無しさん
2014/06/03(火) 11:28:40.77ID:u2cAAs6Ghttp://swift-lang.org/
0057デフォルトの名無しさん
2014/06/03(火) 11:30:54.27ID:u2cAAs6G汎用言語ではないのでマカー以外は解散!
0058デフォルトの名無しさん
2014/06/03(火) 11:31:03.42ID:UTo3AZ7ILLVM3.6で追加されるよ
0059デフォルトの名無しさん
2014/06/03(火) 11:31:55.13ID:RuKqYDTEそれ別のSwiftや
なんで名前被らせたんだろうな
0061デフォルトの名無しさん
2014/06/03(火) 11:44:01.73ID:92ySfIuy0062デフォルトの名無しさん
2014/06/03(火) 12:00:46.02ID:9AiAEfmm0063デフォルトの名無しさん
2014/06/03(火) 12:10:44.59ID:aTPhR8I00064デフォルトの名無しさん
2014/06/03(火) 12:20:16.27ID:UatVHvvjJavaScriptに対して言われていた
「functionってなげーよwww」対策だろう。
長いって言うなら、funcって略すよ(Swift談)
Intergerも長いっていうんだろ? Intって略すよ。
たぶんこれ。
0065デフォルトの名無しさん
2014/06/03(火) 12:23:12.43ID:dLpXwHsH0066デフォルトの名無しさん
2014/06/03(火) 12:23:51.45ID:92ySfIuy省略方針なのね
0067デフォルトの名無しさん
2014/06/03(火) 12:29:19.32ID:XlUvQuDj0068デフォルトの名無しさん
2014/06/03(火) 12:29:45.33ID:u2cAAs6G第一級関数なら変数と同じ扱いができるだろ。
0069デフォルトの名無しさん
2014/06/03(火) 12:30:37.08ID:RuKqYDTE0070デフォルトの名無しさん
2014/06/03(火) 12:34:42.13ID:UatVHvvj型が違うのだから呼べるわけがない。
>>68
> 第一級関数なら変数と同じ扱いができるだろ。
それは言語の発展と逆行した考え方だぞ。
命令もデータも区別がないというのがノイマン型コンピュータ。
コンピュータにとっては区別がなくていいが、
俺らは人間。人間にとってわかりやすいようすると
汎用的な概念から、どんどん特殊化する。
たとえばgoto一つあればできることが、
ループやbreakやcontinueや例外などに細かい概念に別れた。
0071デフォルトの名無しさん
2014/06/03(火) 12:36:05.68ID:sk2oOubr0072デフォルトの名無しさん
2014/06/03(火) 12:38:04.11ID:sk2oOubr呼べる。
0073デフォルトの名無しさん
2014/06/03(火) 12:38:47.16ID:6F7AkFO6Objective-Cなんてさっぱりわからんかったから。
0074デフォルトの名無しさん
2014/06/03(火) 12:40:51.80ID:RuKqYDTE0075デフォルトの名無しさん
2014/06/03(火) 12:42:17.52ID:XlUvQuDjどっちだよw
0076デフォルトの名無しさん
2014/06/03(火) 12:44:34.65ID:/HreOboq0077デフォルトの名無しさん
2014/06/03(火) 12:45:44.32ID:9AiAEfmm0078デフォルトの名無しさん
2014/06/03(火) 12:50:30.70ID:9Ltabfc60079デフォルトの名無しさん
2014/06/03(火) 12:52:13.32ID:UatVHvvj重要なのは「そのまま」かどうかだよ。
呼べるか呼べないかで言えば、JavaからC言語だって呼べるし
ラッパー作ればバッチファイルからだってC言語ライブラリ呼べるさw
0080デフォルトの名無しさん
2014/06/03(火) 13:01:40.44ID:XlUvQuDjswiftの関数内でそのまま例えばfreadとかできるのかが知りたいんだ
ランタイムは共通とか言ってた気がするから
ObjCで書いてコンパイルされたフレームワークで定義されたクラスやメソッドなんかは
構文が変わるだけで直接呼べるのだよね?
0081デフォルトの名無しさん
2014/06/03(火) 13:09:10.15ID:UatVHvvjそもそもC言語の場合コンパイルしてしまえば、
バイナリから関数名も引数の順番も数もそういった情報はなくなってしまう。
それを補うのがC言語のヘッダファイルなわけで。
swiftがC言語のヘッダファイル(プリプロセッサ含む)を
解釈できるのでないかぎり、C言語の関数をそのまま実行するのは無理。
0082デフォルトの名無しさん
2014/06/03(火) 13:17:40.99ID:FnIPHf/f0083デフォルトの名無しさん
2014/06/03(火) 13:18:54.28ID:UatVHvvjSwiftはC言語の関数をそのまま呼べないという話。
0084デフォルトの名無しさん
2014/06/03(火) 13:19:20.45ID:9AiAEfmm0085デフォルトの名無しさん
2014/06/03(火) 13:22:35.28ID:UatVHvvjでも引数の型や数といった情報は消えてしまう。
呼びだそうにも何を渡せばいいかわからない。
0086デフォルトの名無しさん
2014/06/03(火) 13:24:31.40ID:XlUvQuDjCで書かれたライブラリを使いたいならObjCでラッパークラスを作るか
素直に全部ObjCで書けということなのかな
あまりお世話になることはなさそうかな
0087デフォルトの名無しさん
2014/06/03(火) 13:24:52.63ID:9AiAEfmmただそれによって利用可能になるのはObjCの形式で宣言したオブジェクトの定義だけみたいだが
0088デフォルトの名無しさん
2014/06/03(火) 13:28:06.12ID:XlUvQuDjそれって
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html
のどの章あたりに書いてあります?
0089デフォルトの名無しさん
2014/06/03(火) 13:28:09.49ID:x2ex+shdソース持ってきたら話を聞いてやってもいい。
0090デフォルトの名無しさん
2014/06/03(火) 13:29:17.83ID:sL9VpNbyヘッダファイル専用の特殊形式ってわけでもなく、
Cコンパイラそのまま実装していなければ、
解釈不可能なはずだけどねぇw
0091デフォルトの名無しさん
2014/06/03(火) 13:30:24.57ID:9AiAEfmmhttps://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html
0092デフォルトの名無しさん
2014/06/03(火) 13:30:54.21ID:RuKqYDTEhttps://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/index.html#//apple_ref/doc/uid/TP40014216-CH2-XID_0
0093デフォルトの名無しさん
2014/06/03(火) 13:32:25.88ID:Vd9fiKAuそれ普通のC言語のヘッダファイルじゃないからw
Objective-CはC言語じゃないんだよ。
C言語の範疇から外れたものしか扱えないって
言ってるようなもんじゃんかw
0094デフォルトの名無しさん
2014/06/03(火) 13:32:40.27ID:XlUvQuDjなるほど、んじゃプロジェクトの特定のクラスだけObjCにするようなことは容易にできるわけだ
0095デフォルトの名無しさん
2014/06/03(火) 13:35:51.48ID:2DJZsrYRObjective-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
0096デフォルトの名無しさん
2014/06/03(火) 13:36:04.76ID:RuKqYDTE0097デフォルトの名無しさん
2014/06/03(火) 13:36:46.70ID:JVBQ3X9Gthrow try catchがなくて??ってなってる
0098デフォルトの名無しさん
2014/06/03(火) 13:37:22.18ID:Nh2RM5Lo> なるほど、んじゃプロジェクトの特定のクラスだけObjCにするようなことは容易にできるわけだ
できない。
というかそもそも、C言語にクラスというものが存在しない。
0099デフォルトの名無しさん
2014/06/03(火) 13:37:49.46ID:6F7AkFO6ある程度の安全性を考えたら、直よりもJNIみたいな方がいいと思うが。
0100デフォルトの名無しさん
2014/06/03(火) 13:39:10.62ID:Nh2RM5Lo> Obj-CはCの仕様を完全に含んでるよ
で、Swiftで扱えるのは、C+αのα部分だけなんだろう?
それC言語の部分は扱えませんとw
0101デフォルトの名無しさん
2014/06/03(火) 13:40:00.04ID:XlUvQuDjObjCと書いたのだが、何故Cが出てくる?
0102デフォルトの名無しさん
2014/06/03(火) 13:41:30.08ID:Nh2RM5Loさっきから、SwiftでC言語ライブラリをそのまま呼べるか
(もちろんObjective-Cコード無しで)
という話をしているから。
0103デフォルトの名無しさん
2014/06/03(火) 13:42:54.08ID:XlUvQuDjこれ見ると制限付きではあるがCの関数も呼べそうな雰囲気があるが
Cの引数型がSwiftで定義されてて、それを与えた関数はCの関数を呼んでるとみなし
Cのcalling conventionで静的リンクされるんじゃないの?
0104デフォルトの名無しさん
2014/06/03(火) 13:44:33.07ID:XlUvQuDjいやいや、誰もCでObjCのクラスが書けるなんて言ってないが
0105デフォルトの名無しさん
2014/06/03(火) 13:45:27.17ID:Nh2RM5LoC言語の関数をそのまま呼べるんだよ。
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
0106デフォルトの名無しさん
2014/06/03(火) 13:46:29.73ID:Nh2RM5Lo俺もそんな話してないが?
SwiftからC言語の関数をラッパー無しで
そのまま呼ぶことは出来ないって話しかしてない。
0107デフォルトの名無しさん
2014/06/03(火) 13:48:57.11ID:9AiAEfmm0108デフォルトの名無しさん
2014/06/03(火) 13:49:36.62ID:XlUvQuDjんじゃ98は何なんだよ...
特定のクラスをObjCで実装すれば、そのクラスでCの関数を呼べる
そのクラスはSwiftで使える
という話じゃないの?
0109デフォルトの名無しさん
2014/06/03(火) 14:12:29.29ID:9Ltabfc6C系のコンパイラにはClangを使ってると思った。
LLVM Compiler Overview
https://developer.apple.com/library/prerelease/ios/documentation/CompilerTools/Conceptual/LLVMCompilerOverview/
In Xcode, the LLVM compiler uses the Clang front end (a C-based languages project on LLVM.org) to parse source code and turn it into an interim format.
0110デフォルトの名無しさん
2014/06/03(火) 14:31:47.48ID:6yhmnutt0111デフォルトの名無しさん
2014/06/03(火) 14:49:23.83ID:M9d0+DYH実行環境側に適切なバージョンのライブラリを配置する必要がある
0112デフォルトの名無しさん
2014/06/03(火) 14:53:58.14ID:XlUvQuDjそうでないものは@objcを付けるとObjC互換
単にマングリングの問題なのか、ブリッジが入ってオーバーヘッドが生じるのか...
0113デフォルトの名無しさん
2014/06/03(火) 14:55:22.49ID:/aqJorFA信者がTwitterで絶賛してて気持ち悪い
LinuxとWIndowsで開発できない言語なんてロクでもない
ただの信者向け言語
0114デフォルトの名無しさん
2014/06/03(火) 15:11:23.41ID:9Ltabfc6中身は同じLVMMだからVSもEclipseプラグインも似たような物。
Swiftはインタラクティブなデバッグ環境を用意しているためにプリプロセッサを使っていないため多少敷居が高いだろうがプリプロセッサを通したコンパイラなら簡単に出来るだろ。
近いうちにオープンソース化されるよ。
0115デフォルトの名無しさん
2014/06/03(火) 15:34:29.27ID:AkPA7OdE0116デフォルトの名無しさん
2014/06/03(火) 16:32:51.94ID:xS1agrJxダサいっつうか、普通って感じだな。
obj-cから解放されるだけで大歓迎だが。
0117デフォルトの名無しさん
2014/06/03(火) 16:35:20.87ID:/aqJorFA0118デフォルトの名無しさん
2014/06/03(火) 16:38:05.79ID:xS1agrJxでもobj-cの難点はあの文法だから、そういう側面ではJavaScriptに似てると思われても仕方がないと思う。
0119デフォルトの名無しさん
2014/06/03(火) 16:38:06.66ID:sk2oOubrコレだから Twitter 民は
0120デフォルトの名無しさん
2014/06/03(火) 17:52:53.68ID:d3S2ffsw触りたいけどMacが修理中だお…
0121デフォルトの名無しさん
2014/06/03(火) 17:55:34.76ID:7VCuqd/GCの関数は直接呼べるようだ
というかそもそもSwiftの(クラスメソッドじゃない)funcは
引数に名前付けない限りはCの関数と同じ名前空間、呼び出し規則でバイナリに落とされるのかな?
0122デフォルトの名無しさん
2014/06/03(火) 18:08:07.36ID:2BJr+HwU0123デフォルトの名無しさん
2014/06/03(火) 19:08:14.72ID:+L5eE3yS0124デフォルトの名無しさん
2014/06/03(火) 19:12:17.00ID:7VCuqd/G0125デフォルトの名無しさん
2014/06/03(火) 19:15:09.53ID:t1I4ETzW.NET案件の多いWindowsの業務アプリ系の開発者はかなり嬉しいんじゃないの
TypeScriptをM$の技術者が作っただけあってそれをパクってるSwiftは.NETやってれば手癖で書けるから楽だわwww
0126デフォルトの名無しさん
2014/06/03(火) 19:20:17.45ID:xS1agrJx大体あってると思う。
Cの拡張版だからというか、拡張部分のツギハギ文法が嫌われてる理由だと思うけど。
0127デフォルトの名無しさん
2014/06/03(火) 19:23:28.64ID:xS1agrJx0128デフォルトの名無しさん
2014/06/03(火) 19:27:43.38ID:lYocvdBa0129デフォルトの名無しさん
2014/06/03(火) 19:29:50.57ID:E7KMzTZf正直、Titanium Mobileは食指が伸びなかったので期待してるんだが
0130デフォルトの名無しさん
2014/06/03(火) 19:35:55.05ID:sk2oOubr普通にC標準ライブラリも呼び出せるな。fopen とか
俺module はどうやって作るんだこれ
0131デフォルトの名無しさん
2014/06/03(火) 19:40:30.12ID:GrNLWq+f0132デフォルトの名無しさん
2014/06/03(火) 19:42:03.11ID:qHlXCI8o0133デフォルトの名無しさん
2014/06/03(火) 19:49:00.11ID:E7KMzTZfon error goto や on error resume nextが使えるようになったらいいな
0134デフォルトの名無しさん
2014/06/03(火) 19:54:35.79ID:SsmCsZ51Windows か FreeBSD ならなんとか
0135デフォルトの名無しさん
2014/06/03(火) 19:58:36.38ID:thu5Bo8Uobj-c = 沖縄方言
javascript = 関西弁(大阪)
swift = 関西弁(京都)
■ このスレッドは過去ログ倉庫に格納されています