静的言語のデメリットが解決された
Swfit登場で動的言語はオワコンか?
探検
帰ってきた動的言語 VS 静的言語(代表Swift)
■ このスレッドは過去ログ倉庫に格納されています
2014/06/04(水) 00:32:30.04ID:F6AvD4LE
2片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0
2014/06/04(水) 00:40:14.08ID:qVJRsv3N 全自動2ゲッター参上。
2014/06/04(水) 00:56:34.63ID:KWyGL2f/
代表はC#かC++で
2014/06/04(水) 01:01:48.55ID:dR3HZjet
やっぱり型がある方が便利だよね。
バグ少なくなるし。修正も楽になるし。
バグ少なくなるし。修正も楽になるし。
2014/06/04(水) 01:49:23.44ID:OMtzL7Lr
理由もなくフルボッコにされたpythonの心中お察しいたします
6デフォルトの名無しさん
2014/06/04(水) 02:42:50.60ID:2rj+WfiI やっぱLISPが最強かー
7デフォルトの名無しさん
2014/06/04(水) 03:54:59.29ID:kTXVUqyW ウルトラセブン
2014/06/04(水) 05:21:03.50ID:xm3VPSs1
TypedClojure最強
2014/06/04(水) 05:53:12.01ID:2gJZ3DAh
最強は型推論付きの関数型言語で決着がついたのに、またやるのか。
2014/06/04(水) 07:19:40.25ID:cWUULp7C
変数に型がない言語って
やっぱりダメだよ。
簡単なバグでさえ見逃してしまう
どうせコードは特定の型(と互換性がある型)
前程になってるんだから、その型を書けばいい。
やっぱりダメだよ。
簡単なバグでさえ見逃してしまう
どうせコードは特定の型(と互換性がある型)
前程になってるんだから、その型を書けばいい。
2014/06/04(水) 12:15:18.80ID:QBS2GcPO
しっかりとロジックを組んでいれば、型がなくても問題ないけど
型があった方がコンパイラさんに駄目だしされて気づき易いから楽ってだけだな
まぁもっと丁寧にプログラミングする事をこそ重視した方がいいと思うけどね
型があった方がコンパイラさんに駄目だしされて気づき易いから楽ってだけだな
まぁもっと丁寧にプログラミングする事をこそ重視した方がいいと思うけどね
2014/06/04(水) 13:01:26.30ID:GG5AMWSc
スペルミスが素通しになるのを防いでくれれば後はそれほどでもない
2014/06/04(水) 13:09:31.90ID:H9m/5fkb
丁寧にプログラミング?
そりゃRuby厨は丁寧にプログラミングせざるをえんわな。安全ネットが無いんだから。
俺はHaskellで書くときはぶっきらぼうに書いてるぜ。-Wall でたいていの抜けはチェックできるし。
そりゃRuby厨は丁寧にプログラミングせざるをえんわな。安全ネットが無いんだから。
俺はHaskellで書くときはぶっきらぼうに書いてるぜ。-Wall でたいていの抜けはチェックできるし。
2014/06/04(水) 14:55:00.72ID:Q5ELIKYC
静的型の方がAPIリファレンスが読みやすい
2014/06/04(水) 16:48:38.79ID:OMtzL7Lr
動的言語のリファレンスでも型は書かれてるっていう
Doc生成とかIDEのためにも型は必須
Doc生成とかIDEのためにも型は必須
2014/06/04(水) 17:20:04.59ID:T4v3WcMA
Javascriptが跳梁跋扈しててもTypeScriptやHaxeみたいなAltJSがあるから、まあ、といったところだが、
今度はランタイムにまともな型システムがないのが気になってくる。
JavaのTypeErasureですら、何だこのレガシーVMはと思ったが…。
今度はランタイムにまともな型システムがないのが気になってくる。
JavaのTypeErasureですら、何だこのレガシーVMはと思ったが…。
2014/06/04(水) 17:59:07.48ID:KWyGL2f/
2014/06/06(金) 08:17:42.14ID:Xr84RnA8
タイポくらい簡単に見つかるよPythonは
2014/06/08(日) 20:29:27.03ID:muM/tUAt
Haxeの文法は出来が良いよ
2014/06/09(月) 17:59:59.45ID:hLL8713Q
静的型の逆襲が来てるっつーか
ぶっちゃけ動的型が一時の気の迷いだったのは確定的に明らかだと思うんですけど。
トレードオフの問題ではあるが、
コンパイルせず手軽に実行できる=事前チェックや最適化を何もしないスクリプト言語の作法を
メインストリームと勘違いした連中があまりにも多かった。
コードや開発者が増えるに従って、lintしたりjsdocのようなノーテーション入れたりTDDしたりするようになったら
お前もうそれコンパイルしろよ、そもそももっと安全な言語を使えよとなるわな。迂遠すぎるわ。
大体、メモリにビット列がどうストアされるかという
ある意味コンピュータの根本的な部分をgdgdにしてどうするんだよ。
マシン語が透けて見えるやつなら、動的型言語がCPUのニモニックレベルでどれほど不自然なことをやっているか、
オーバーヘッドがいかに大きいかは解るはずだ。
ぶっちゃけ動的型が一時の気の迷いだったのは確定的に明らかだと思うんですけど。
トレードオフの問題ではあるが、
コンパイルせず手軽に実行できる=事前チェックや最適化を何もしないスクリプト言語の作法を
メインストリームと勘違いした連中があまりにも多かった。
コードや開発者が増えるに従って、lintしたりjsdocのようなノーテーション入れたりTDDしたりするようになったら
お前もうそれコンパイルしろよ、そもそももっと安全な言語を使えよとなるわな。迂遠すぎるわ。
大体、メモリにビット列がどうストアされるかという
ある意味コンピュータの根本的な部分をgdgdにしてどうするんだよ。
マシン語が透けて見えるやつなら、動的型言語がCPUのニモニックレベルでどれほど不自然なことをやっているか、
オーバーヘッドがいかに大きいかは解るはずだ。
2014/06/09(月) 22:42:16.21ID:0wp3BeLp
釣り針が大きすぎるだろ
2014/06/09(月) 23:26:45.91ID:9PbNMvAP
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
23デフォルトの名無しさん
2014/06/10(火) 00:07:01.34ID:2MebFii0 CPUの歓声が聞こえるスレはここですか
2014/06/10(火) 01:56:03.90ID:R+j21wgE
(SwiftはそもそもObjective-Cの後継として設計されていて
Objective-Cは動的にクラスを扱う言語だったから
当然それができなきゃ後継たり得ないのでclassは動的に管理され
それとは別にstructの中で関数やメソッド宣言することで
静的言語のクラスのようなことができるという
スレタイのような対立をぶち壊してる言語でして…)
Objective-Cは動的にクラスを扱う言語だったから
当然それができなきゃ後継たり得ないのでclassは動的に管理され
それとは別にstructの中で関数やメソッド宣言することで
静的言語のクラスのようなことができるという
スレタイのような対立をぶち壊してる言語でして…)
2014/06/10(火) 01:59:10.01ID:p8HHtVx/
774 名前:デフォルトの名無しさん [sage] :2014/06/10(火) 00:52:23.29 ID:sFxDcnZ9
クラス(orメソッド)宣言に@objcを付ける(もしくはObjCのクラスを継承する)と
メソッド呼び出しはobjc_msgSendを使ったものになる
クラス宣言に@objcを付けなければ、ObjCと非互換になる代わりに
メソッド呼び出しはC++のvirtual相当(直接関数ポインタを取得してcall)になる
クラス宣言に@objcを付けず、かつメソッド宣言に@finalを付けると
メソッド呼び出しは完全に静的になる
よって、Swiftは完全な動的束縛、静的に型付けされた動的束縛、静的束縛の3つの形態で使えるようだ。
クラス(orメソッド)宣言に@objcを付ける(もしくはObjCのクラスを継承する)と
メソッド呼び出しはobjc_msgSendを使ったものになる
クラス宣言に@objcを付けなければ、ObjCと非互換になる代わりに
メソッド呼び出しはC++のvirtual相当(直接関数ポインタを取得してcall)になる
クラス宣言に@objcを付けず、かつメソッド宣言に@finalを付けると
メソッド呼び出しは完全に静的になる
よって、Swiftは完全な動的束縛、静的に型付けされた動的束縛、静的束縛の3つの形態で使えるようだ。
26デフォルトの名無しさん
2014/06/10(火) 02:28:13.77ID:qoouvLaS 型推論とジェネリクスがあるなら静的型言語のほうがいいな。
2014/06/10(火) 02:39:10.62ID:osqTzX66
2014/06/10(火) 06:17:18.98ID:wv+hvGP5
静的と動的が合体したみたいな言語ってありませんか(´・ω・`)?
2014/06/10(火) 07:06:23.59ID:p8HHtVx/
>>28 それがSwiftでは?
2014/06/10(火) 10:27:23.11ID:Asjcm40b
天麩羅Haskellとか、依存型(dependent type)だな。
2014/06/10(火) 16:42:07.04ID:p8HHtVx/
>>27 Swift のジェネリックを見ると、基本は動的型付で制約/束縛指定をすると型の種類に制限をかけて行くみたいだから、色んな形での使用が可能みたい。
Swiftのライブラリの多くは、ジェネリックで作ってるらしい。 配列や辞書なども。
http://ja.wikipedia.org/w/index.php?title=Swift_%28プログラミング言語%29#.E3.82.B8.E3.82.A7.E3.83.8D.E3.83.AA.E3.83.83.E3.82.AF
Swiftのライブラリの多くは、ジェネリックで作ってるらしい。 配列や辞書なども。
http://ja.wikipedia.org/w/index.php?title=Swift_%28プログラミング言語%29#.E3.82.B8.E3.82.A7.E3.83.8D.E3.83.AA.E3.83.83.E3.82.AF
2014/06/14(土) 09:07:17.65ID:gvIqw1Hb
Swiftの制作者 Chris Lattner は、WWDC14のキーノートでSwiftの説明をしたその人なのですが、
実は、今ではXcodeの標準コンパイラ基盤となっているLLVMを設計した人なのです!
実は、今ではXcodeの標準コンパイラ基盤となっているLLVMを設計した人なのです!
2014/06/14(土) 09:55:04.44ID:NSBhpKcG
LLVM凄いね。Linuxだけのものだと思っていたら、
XCodeも採用しちゃった。Appleにも認められたLLVMは凄い。
LLVMがなければAppleは今でもObjective-Cを使っていただろう。
というか今までObjective-Cしかなかったとかありえないな。
XCodeも採用しちゃった。Appleにも認められたLLVMは凄い。
LLVMがなければAppleは今でもObjective-Cを使っていただろう。
というか今までObjective-Cしかなかったとかありえないな。
2014/06/14(土) 10:18:14.30ID:gvIqw1Hb
>>33
LLVMのmain authorは、Appleの社員だが。
LLVMのmain authorは、Appleの社員だが。
2014/06/14(土) 10:41:46.94ID:NSBhpKcG
アップルが関係しだしたのは、LLVMの開発が始まったかかなり後のことです。
一人か数人かしらないけど、後から参加したくせに
LLVMはアップルが起源みたいなことを言わないようにw
一人か数人かしらないけど、後から参加したくせに
LLVMはアップルが起源みたいなことを言わないようにw
2014/06/14(土) 10:56:28.77ID:gvIqw1Hb
すまんかった。現在の、ね。
2014/06/14(土) 11:04:24.81ID:gvIqw1Hb
ちゅうか、
イリノイ大学でLLVM作ってたのがVikram AdveとChris Lattnerで、
2005年にChris LattnerがAppleに入社して今に至る、と。
The LLVM project started in 2000 at the University of Illinois at Urbana–Champaign,
under the direction of Vikram Adve and Chris Lattner.
イリノイ大学でLLVM作ってたのがVikram AdveとChris Lattnerで、
2005年にChris LattnerがAppleに入社して今に至る、と。
The LLVM project started in 2000 at the University of Illinois at Urbana–Champaign,
under the direction of Vikram Adve and Chris Lattner.
2014/06/15(日) 17:06:54.63ID:F7O8xQBW
>>33
VBとかな
VBとかな
39デフォルトの名無しさん
2014/06/26(木) 09:40:37.27ID:5mhML8Na ◎2chスレッド勢いランキングサイトリスト◎
★+ニュース板
・ 2NN (推奨サイト)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推奨サイト)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推奨サイト)
・ READ2CH
・ i-ikioi
※ 要タイトル検索
※ 2chブラウザ併用推奨
★+ニュース板
・ 2NN (推奨サイト)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推奨サイト)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推奨サイト)
・ READ2CH
・ i-ikioi
※ 要タイトル検索
※ 2chブラウザ併用推奨
2014/06/27(金) 00:28:28.91ID:8upcRNms
そういやLLVMスレが立った頃はclangなんて存在しなかったな。
LLVM-GCCしかなかった。
LLVM-GCCしかなかった。
2014/07/24(木) 22:46:38.40ID:3xYKvkhO
ClangはそもそもObjective-Cコンパイラを現代的に書き直す為に、一からAppleが開発した物。
CやC++も入ってるのはObjective-Cと混在可能だから。
Swiftもソースレベルで混在可能だからClangに組み込まれた。 一般解放は未定だが多分オープンソースになる。
これが意味する物は、Swiftは、C、C++、ObjCの全資産を利用可能だと言うこと。
CやC++も入ってるのはObjective-Cと混在可能だから。
Swiftもソースレベルで混在可能だからClangに組み込まれた。 一般解放は未定だが多分オープンソースになる。
これが意味する物は、Swiftは、C、C++、ObjCの全資産を利用可能だと言うこと。
2014/08/05(火) 11:23:59.81ID:YIevQOQe
全資産を利用可能と聞くと一見よさげだが
悪しき遺産に足を引っ張られて結局使いづらい中途半端なものに終わるってことじゃね
ブリッジ部分を工夫して上手く切り離せてればいいんだが
悪しき遺産に足を引っ張られて結局使いづらい中途半端なものに終わるってことじゃね
ブリッジ部分を工夫して上手く切り離せてればいいんだが
2014/08/05(火) 16:00:38.20ID:e8X0jHpI
>>42 ブリッジなんて何も感じさせないんだけど。
ObjCとかCのライブラリを使うからと言ってヘッダファイルが必要になるわけでもないし。
ObjCとかCのライブラリを使うからと言ってヘッダファイルが必要になるわけでもないし。
2014/09/02(火) 10:55:15.80ID:gs4puFO8
>>42 SwiftからLibcを使った例
puts("Hello from libc")
let fd = open("/tmp/scratch.txt", O_WRONLY|O_CREAT, 0o666)
if fd < 0 {
perror("could not open /tmp/scratch.txt")
} else {
let text = "Hello World"
write(fd, text, strlen(text))
close(fd)
}
SwiftからObjective-C の UIColorを使う例
let myTextField = UITextField(frame: CGRect(x: 0.0, y: 0.0, width: 200.0, height: 40.0))
let color = UIColor(red: 0.5, green: 0.0, blue: 0.5, alpha: 1.0)
myTextField.textColor = UIColor.darkGrayColor()
myTextField.text = "Hello world"
puts("Hello from libc")
let fd = open("/tmp/scratch.txt", O_WRONLY|O_CREAT, 0o666)
if fd < 0 {
perror("could not open /tmp/scratch.txt")
} else {
let text = "Hello World"
write(fd, text, strlen(text))
close(fd)
}
SwiftからObjective-C の UIColorを使う例
let myTextField = UITextField(frame: CGRect(x: 0.0, y: 0.0, width: 200.0, height: 40.0))
let color = UIColor(red: 0.5, green: 0.0, blue: 0.5, alpha: 1.0)
myTextField.textColor = UIColor.darkGrayColor()
myTextField.text = "Hello world"
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「こども2万円給付」は“ずるい”?「子持ちだけ優遇されてる」「来年から独身税もあるのに」…子育て世帯への支援は“不公平”なのか★2 [♪♪♪★]
- 【東京】赤坂サウナ火事2人死亡 サウナ室のドアノブ外れ閉じ込められた可能性 ★5 [nita★]
- 「PC買うなら急げ」は本当だった。マウスが一部販売停止&1月値上げを発表 [♪♪♪★]
- 【速報】 ロシア潜水艦が攻撃されて巨大水柱 [お断り★]
- 渡邊渚、批判・騒動への本音「ネット上では声が大きい人の意見が「普通」と思わされてしまう。これが今の日本社会の現状なんだな」 [muffin★]
- 【赤坂サウナ店火事】死亡男女は川崎市在住の夫婦 ドアノブ内側も外側も外れ、閉じ込められたか [ぐれ★]
- 【画像】これ高すぎね?wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- 【高市速報】ヤフコメアンケート「上野動物園にパンダは必要?」パンダはいらないが脅威の90%😳 [931948549]
- ゲッダン!揺れる廻る触れる切ない
- 日本、統計的にも終わり。「世帯年収」400万超えてれば上半分に入ってしまう。そりゃ高市も残業代で国民を救おうとするわ [517791167]
- 3時のおやつ🧁はふなふなキャンディー🍬🏡
- 東京都「お願いパンダレンタルさせて!!!😭」中国「🥴」 [817260143]
