2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

帰ってきた動的言語 VS 静的言語(代表Swift)

1 :デフォルトの名無しさん:2014/06/04(水) 00:32:30.04 ID:F6AvD4LE.net
静的言語のデメリットが解決された
Swfit登場で動的言語はオワコンか?

3 :デフォルトの名無しさん:2014/06/04(水) 00:56:34.63 ID:KWyGL2f/.net
代表はC#かC++で

4 :デフォルトの名無しさん:2014/06/04(水) 01:01:48.55 ID:dR3HZjet.net
やっぱり型がある方が便利だよね。
バグ少なくなるし。修正も楽になるし。

5 :デフォルトの名無しさん:2014/06/04(水) 01:49:23.44 ID:OMtzL7Lr.net
理由もなくフルボッコにされたpythonの心中お察しいたします

6 :デフォルトの名無しさん:2014/06/04(水) 02:42:50.60 ID:2rj+WfiI.net
やっぱLISPが最強かー

7 :デフォルトの名無しさん:2014/06/04(水) 03:54:59.29 ID:kTXVUqyW.net
ウルトラセブン

8 :デフォルトの名無しさん:2014/06/04(水) 05:21:03.50 ID:xm3VPSs1.net
TypedClojure最強

9 :デフォルトの名無しさん:2014/06/04(水) 05:53:12.01 ID:2gJZ3DAh.net
最強は型推論付きの関数型言語で決着がついたのに、またやるのか。

10 :デフォルトの名無しさん:2014/06/04(水) 07:19:40.25 ID:cWUULp7C.net
変数に型がない言語って
やっぱりダメだよ。
簡単なバグでさえ見逃してしまう

どうせコードは特定の型(と互換性がある型)
前程になってるんだから、その型を書けばいい。

11 :デフォルトの名無しさん:2014/06/04(水) 12:15:18.80 ID:QBS2GcPO.net
しっかりとロジックを組んでいれば、型がなくても問題ないけど
型があった方がコンパイラさんに駄目だしされて気づき易いから楽ってだけだな
まぁもっと丁寧にプログラミングする事をこそ重視した方がいいと思うけどね

12 :デフォルトの名無しさん:2014/06/04(水) 13:01:26.30 ID:GG5AMWSc.net
スペルミスが素通しになるのを防いでくれれば後はそれほどでもない

13 :デフォルトの名無しさん:2014/06/04(水) 13:09:31.90 ID:H9m/5fkb.net
丁寧にプログラミング?
そりゃRuby厨は丁寧にプログラミングせざるをえんわな。安全ネットが無いんだから。

俺はHaskellで書くときはぶっきらぼうに書いてるぜ。-Wall でたいていの抜けはチェックできるし。

14 :デフォルトの名無しさん:2014/06/04(水) 14:55:00.72 ID:Q5ELIKYC.net
静的型の方がAPIリファレンスが読みやすい

15 :デフォルトの名無しさん:2014/06/04(水) 16:48:38.79 ID:OMtzL7Lr.net
動的言語のリファレンスでも型は書かれてるっていう
Doc生成とかIDEのためにも型は必須

16 :デフォルトの名無しさん:2014/06/04(水) 17:20:04.59 ID:T4v3WcMA.net
Javascriptが跳梁跋扈しててもTypeScriptやHaxeみたいなAltJSがあるから、まあ、といったところだが、
今度はランタイムにまともな型システムがないのが気になってくる。
JavaのTypeErasureですら、何だこのレガシーVMはと思ったが…。

17 :デフォルトの名無しさん:2014/06/04(水) 17:59:07.48 ID:KWyGL2f/.net
お前ら飽きないな
静的型付け言語の潜在開発生産性は今の100倍 ×5
http://peace.2ch.net/test/read.cgi/tech/1385273168/

18 :デフォルトの名無しさん:2014/06/04(水) 21:30:13.11 ID:v+ydfbqzA
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

19 :デフォルトの名無しさん:2014/06/06(金) 08:17:42.14 ID:Xr84RnA8.net
タイポくらい簡単に見つかるよPythonは

20 :デフォルトの名無しさん:2014/06/08(日) 20:29:27.03 ID:muM/tUAt.net
Haxeの文法は出来が良いよ

21 :デフォルトの名無しさん:2014/06/09(月) 17:59:59.45 ID:hLL8713Q.net
静的型の逆襲が来てるっつーか
ぶっちゃけ動的型が一時の気の迷いだったのは確定的に明らかだと思うんですけど。

トレードオフの問題ではあるが、
コンパイルせず手軽に実行できる=事前チェックや最適化を何もしないスクリプト言語の作法を
メインストリームと勘違いした連中があまりにも多かった。
コードや開発者が増えるに従って、lintしたりjsdocのようなノーテーション入れたりTDDしたりするようになったら
お前もうそれコンパイルしろよ、そもそももっと安全な言語を使えよとなるわな。迂遠すぎるわ。

大体、メモリにビット列がどうストアされるかという
ある意味コンピュータの根本的な部分をgdgdにしてどうするんだよ。
マシン語が透けて見えるやつなら、動的型言語がCPUのニモニックレベルでどれほど不自然なことをやっているか、
オーバーヘッドがいかに大きいかは解るはずだ。

22 :デフォルトの名無しさん:2014/06/09(月) 22:42:16.21 ID:0wp3BeLp.net
釣り針が大きすぎるだろ

23 :デフォルトの名無しさん:2014/06/09(月) 23:26:45.91 ID:9PbNMvAP.net
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

24 :デフォルトの名無しさん:2014/06/10(火) 00:07:01.34 ID:2MebFii0.net
CPUの歓声が聞こえるスレはここですか

25 :デフォルトの名無しさん:2014/06/10(火) 01:56:03.90 ID:R+j21wgE.net
(SwiftはそもそもObjective-Cの後継として設計されていて
Objective-Cは動的にクラスを扱う言語だったから
当然それができなきゃ後継たり得ないのでclassは動的に管理され
それとは別にstructの中で関数やメソッド宣言することで
静的言語のクラスのようなことができるという
スレタイのような対立をぶち壊してる言語でして…)

26 :デフォルトの名無しさん:2014/06/10(火) 01:59:10.01 ID:p8HHtVx/.net
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つの形態で使えるようだ。

27 :デフォルトの名無しさん:2014/06/10(火) 02:28:13.77 ID:qoouvLaS.net
型推論とジェネリクスがあるなら静的型言語のほうがいいな。

28 :デフォルトの名無しさん:2014/06/10(火) 02:39:10.62 ID:osqTzX66.net
>>25-25
スレタイの静的は、
変数や関数の引数戻値に型がある静的型付言語のことを言ってるんじゃないの?

29 :デフォルトの名無しさん:2014/06/10(火) 06:17:18.98 ID:wv+hvGP5.net
静的と動的が合体したみたいな言語ってありませんか(´・ω・`)?

30 :デフォルトの名無しさん:2014/06/10(火) 07:06:23.59 ID:p8HHtVx/.net
>>29 それがSwiftでは?

31 :デフォルトの名無しさん:2014/06/10(火) 10:27:23.11 ID:Asjcm40b.net
天麩羅Haskellとか、依存型(dependent type)だな。

32 :デフォルトの名無しさん:2014/06/10(火) 16:42:07.04 ID:p8HHtVx/.net
>>28 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

33 :デフォルトの名無しさん:2014/06/14(土) 09:07:17.65 ID:gvIqw1Hb.net
Swiftの制作者 Chris Lattner は、WWDC14のキーノートでSwiftの説明をしたその人なのですが、
実は、今ではXcodeの標準コンパイラ基盤となっているLLVMを設計した人なのです!

34 :デフォルトの名無しさん:2014/06/14(土) 09:55:04.44 ID:NSBhpKcG.net
LLVM凄いね。Linuxだけのものだと思っていたら、
XCodeも採用しちゃった。Appleにも認められたLLVMは凄い。

LLVMがなければAppleは今でもObjective-Cを使っていただろう。
というか今までObjective-Cしかなかったとかありえないな。

35 :デフォルトの名無しさん:2014/06/14(土) 10:18:14.30 ID:gvIqw1Hb.net
>>34
LLVMのmain authorは、Appleの社員だが。

36 :デフォルトの名無しさん:2014/06/14(土) 10:41:46.94 ID:NSBhpKcG.net
アップルが関係しだしたのは、LLVMの開発が始まったかかなり後のことです。
一人か数人かしらないけど、後から参加したくせに
LLVMはアップルが起源みたいなことを言わないようにw

37 :デフォルトの名無しさん:2014/06/14(土) 10:56:28.77 ID:gvIqw1Hb.net
すまんかった。現在の、ね。

38 :デフォルトの名無しさん:2014/06/14(土) 11:04:24.81 ID:gvIqw1Hb.net
ちゅうか、
イリノイ大学で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.

39 :デフォルトの名無しさん:2014/06/15(日) 17:06:54.63 ID:F7O8xQBW.net
>>34
VBとかな

40 :デフォルトの名無しさん:2014/06/26(木) 09:40:37.27 ID:5mhML8Na.net
◎2chスレッド勢いランキングサイトリスト◎

★+ニュース板
・ 2NN (推奨サイト)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推奨サイト)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推奨サイト)
・ READ2CH
・ i-ikioi

※ 要タイトル検索
※ 2chブラウザ併用推奨

41 :デフォルトの名無しさん:2014/06/27(金) 00:28:28.91 ID:8upcRNms.net
そういやLLVMスレが立った頃はclangなんて存在しなかったな。
LLVM-GCCしかなかった。

42 :デフォルトの名無しさん:2014/07/24(木) 22:46:38.40 ID:3xYKvkhO.net
ClangはそもそもObjective-Cコンパイラを現代的に書き直す為に、一からAppleが開発した物。
CやC++も入ってるのはObjective-Cと混在可能だから。

Swiftもソースレベルで混在可能だからClangに組み込まれた。 一般解放は未定だが多分オープンソースになる。

これが意味する物は、Swiftは、C、C++、ObjCの全資産を利用可能だと言うこと。

43 :デフォルトの名無しさん:2014/08/05(火) 11:23:59.81 ID:YIevQOQe.net
全資産を利用可能と聞くと一見よさげだが
悪しき遺産に足を引っ張られて結局使いづらい中途半端なものに終わるってことじゃね

ブリッジ部分を工夫して上手く切り離せてればいいんだが

44 :デフォルトの名無しさん:2014/08/05(火) 16:00:38.20 ID:e8X0jHpI.net
>>43 ブリッジなんて何も感じさせないんだけど。
ObjCとかCのライブラリを使うからと言ってヘッダファイルが必要になるわけでもないし。

45 :デフォルトの名無しさん:2014/09/02(火) 10:55:15.80 ID:gs4puFO8.net
>>43 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"

46 :デフォルトの名無しさん:2016/01/27(水) 10:31:59.77 ID:9T6d+yCe.net
hoshu

47 :デフォルトの名無しさん:2016/02/04(木) 12:43:56.64 ID:M5WeNgYc.net
>>45
SwiftってCのAPI生で触れるんだよな。
一時期かなり凄いと思ったが、作りむようになるとSwiftの記法が面倒になるんだよな。
結局ロジックはCで書いて、Swiftからはラッパー関数呼び出すだけになったわ。

48 :デフォルトの名無しさん:2016/02/04(木) 17:21:15.79 ID:ob+62gtm.net
正解

49 :デフォルトの名無しさん:2017/06/09(金) 13:08:21.92 ID:Be6u/Qjm.net
内部のテンポラリ変数なんかは型は別になくてもそんな困らんのだけど
関数の引数宣言なんかは型があった方が読みやすいわな。

50 :デフォルトの名無しさん:2018/05/23(水) 22:16:04.28 ID:Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

2T9SK

51 :デフォルトの名無しさん:2018/07/04(水) 23:48:09.96 ID:gFgZc5FG.net
DOZ

52 :デフォルトの名無しさん:2019/02/08(金) 13:05:10.84 ID:ZGG3UIKF.net
>>25 iPhone用のPython  pythonista はその Objective_Cの関数が使えるから同じこともできる。

>>49 Python も関数のパラメータには型宣言が入れられる。 ただ自動的にチェックはしてくれない。

#型宣言無しの書き方
def func0( arg1 , arg2=1 ) :
 return arg1*arg2
#型宣言有りの書き方
def func( arg1 : str , arg2 : int = 1 ) -> str:
 return arg1*arg2 if type(arg1) == str else "バカ"

print(func('Test'))
print(func('Test',3))
print(func(10,3))
print(func0(10,3))

結果-----
Test
TestTestTest
バカ
30

総レス数 52
14 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★