システム開発はプログラミング言語の選択段階で品質が決定している。Linux上のXamarinでF#が最強?

1: バーニングハンマー(芋)@\(^o^)/ 2015/11/14(土) 16:34:06.06 ID:zh1rgSUr0.net BE:422186189-2BP(1501)

sssp://img.2ch.sc/ico/folder1_03.gif
あるプログラミング言語がその仕事に適したものであるかといった議論は論争に発展しがちだ。時には宗教戦争の様相を
呈することがあるものの、プログラミング言語がコーディングプロセスだけでなく完成した製品の特性にも影響することは
多くの方が同意するところだろう。

これについてカリフォルニア大学デイビス校のコンピューターサイエンス研究者らが、プログラミング言語のソフトウェア
品質に与える影響(PDF)に関する調査結果を発表した。

研究ではGitHubの729プロジェクト(17言語、29,000人が書いた8,000万行のソースコード、150万コミット)を分析。
大きなサンプルサイズを利して混合研究法のアプローチをとり、複数の回帰的モデリングやテキスト解析を組み合わせて
静的型付けと動的型付け、型付けの強弱といったプログラミング言語の特徴がソフトウェアの品質に与える影響を調べた。

異なる手法による調査結果を組み合わせ、チームの大きさやプロジェクトの大きさ、プロジェクトの歴史といった影響を
与える要素を調整することで、言語設計がソフトウェア品質に及ぼす影響は、大きくはないが有意なものであることが
明らかになったとのこと。

論文によれば、

最も明らかなのは、強い型付けは弱い型付けよりもそれなりに優れており、関数型言語では静的型付けが動的型付けよりも
やや優れている点だ。また、関数型言語は手続き型言語よりもやや優れていることもわかった。

言語設計による影響は、プロジェクトやチーム、コミットの大きさといった要素に大きく支配されている点も注目に値する。

ただし、関数型で静的かつ強い型付けを持つ言語を好む性格、といった識別困難な要素が影響している可能性が高い点にも注意が必要だ。

とのことだ。
https://twitter.com/ProgrammingMono/status/665427558683574272

5: ラ ケブラーダ(関東・甲信越)@\(^o^)/ 2015/11/14(土) 16:37:59.04 ID:A62wXykAO.net
品質に言語関係なくね?
デバッグしてるヤツラの質とデバッグ時間

 

15: ボ ラギノール(空)@\(^o^)/ 2015/11/14(土) 16:43:14.74 ID:8M0bk7MI0.net

>>5
動的言語ではデバッグ時に型チェックの単体テストとかやってるからな。
売り逃げでデバッグしない前提なら早いが、デバッグする前提だと効率が死ぬほど悪い。

オブジェクト指向も同様で、規模がでかくなると各クラスのインスタンス変数が昔ながらのグローバル変数なみの影響を及ぼす。

 

17: スターダストプレス(庭)@\(^o^)/ 2015/11/14(土) 16:45:09.49 ID:6DcuAXDv0.net

>>15
オブジェクト指向も同様で、規模がでかくなると各クラスのインスタンス変数が昔ながらのグローバル変数なみの影響を及ぼす。

それはせっけいがわるいだけでは

 

21: ボ ラギノール(空)@\(^o^)/ 2015/11/14(土) 16:47:27.98 ID:8M0bk7MI0.net
>>17
オブジェクトの状態で動作が変わるメソッドなんかが大量に発生すると
デバッグというかテストが凄いことになる。

 

23: アイアンクロー(大阪府)@\(^o^)/ 2015/11/14(土) 16:48:59.98 ID:1oNysaMy0.net
>>21
かといってオブジェクトを消して作り直すと
その分岐を呼び出し側が受け持つ

 

59: マシンガンチョップ(神奈川県)@\(^o^)/ 2015/11/14(土) 18:55:48.72 ID:MkNZ2HrH0.net
>>21
ポリモーフィズムも関数ポインタもテストするのは嫌だな

スポンサーリンク

7: エルボーバット(チベット自治区)@\(^o^)/ 2015/11/14(土) 16:38:23.11 ID:mUON4fvl0.net
日本では言語について興味のないSierが選択するから意味ない

 

10: ドラゴンスープレックス(空)@\(^o^)/ 2015/11/14(土) 16:39:51.39 ID:lu7FkWlG0.net
慣れた言語が一番早いし安定してる

 

12: スターダストプレス(庭)@\(^o^)/ 2015/11/14(土) 16:40:20.67 ID:6DcuAXDv0.net
ざまりんってなあに?

 

20: ボ ラギノール(空)@\(^o^)/ 2015/11/14(土) 16:46:23.45 ID:8M0bk7MI0.net

>>12
Xamarin Studioでググれ。
関数型でまともな統合開発環境とライブラリがあるのはF#くらいなのは確か。

ただ素人には無理だと思う。

 

28: アイアンクロー(大阪府)@\(^o^)/ 2015/11/14(土) 16:55:45.22 ID:1oNysaMy0.net
>>20
それあっても使われないと消えていく

 

13: 断崖式ニードロップ(catv?)@\(^o^)/ 2015/11/14(土) 16:40:24.86 ID:/OKGV0a00.net
DBの設計こそ命。

 

19: アイアンフィンガーフロムヘル(禿)@\(^o^)/ 2015/11/14(土) 16:46:11.59 ID:T+0dXmkc0.net
上流はそんなん興味ないぞ

 

22: アイアンクロー(大阪府)@\(^o^)/ 2015/11/14(土) 16:47:28.65 ID:1oNysaMy0.net
>>19
上流はただの営業だろ
エンジニアですらない

 

26: バーニングハンマー(芋)@\(^o^)/ 2015/11/14(土) 16:52:52.91 ID:41zA7zn00.net
>>19
だから日本は米国に勝てない

 

106: 膝靭帯固め(千葉県)@\(^o^)/ 2015/11/15(日) 03:17:53.42 ID:DM+jp+Z20.net
>>26
何で比較するかによるけど、品質では勝ってると思う。
車のエンジン制御ソフトや、一般的な日本製品に組み込まれているソフトウェアはあまり変な動作はしない。

 

29: 閃光妖術(神奈川県)@\(^o^)/ 2015/11/14(土) 16:56:15.83 ID:xAa5SS1Q0.net
うち自営だけどプログラミングは触りだけ勉強してあとはプロに任せてる
好きでも何でもないし、これをやってたらきりないので時間の無駄

 

30: チェーン攻撃(チベット自治区)@\(^o^)/ 2015/11/14(土) 16:56:37.56 ID:1AZzNF010.net

まあそのとおりだな。

今はやりの機械学習ではほとんどがpythonになってるね。
行列演算と配列操作に強い言語が求められてるかな。
あと自動微分とか数式処理ついてたら言うことがないのだろう

 

31: アルゼンチンバックブリーカー(dion軍)@\(^o^)/ 2015/11/14(土) 16:57:02.91 ID:5xWjeNgA0.net
こんな最新の技術どうやって勉強するんやろ

 

32: アイアンクロー(大阪府)@\(^o^)/ 2015/11/14(土) 16:58:13.05 ID:1oNysaMy0.net
>>31
F#はMicrosoftの無料版についてるそうだよ

 

35: ナガタロックII(dion軍)@\(^o^)/ 2015/11/14(土) 17:02:17.09 ID:mv1VtKDJ0.net

この種の話をすると、みな自分の経験を全体に当てはめようとする。
群盲象を撫でるを奴ばかりになる。

これがコンピュータ技術者は視野が狭いことの証左です。

 

37: アイアンクロー(大阪府)@\(^o^)/ 2015/11/14(土) 17:03:13.06 ID:1oNysaMy0.net
>>35
その意見見飽きた

 

108: 膝靭帯固め(千葉県)@\(^o^)/ 2015/11/15(日) 03:19:59.16 ID:DM+jp+Z20.net
>>35
全種類のソフトウェアとそれに関係するハードウェアの内部まで把握している人が世界に何人いるか。
いなければ自分の経験から判断するしかない。

 

41: アイアンクロー(大阪府)@\(^o^)/ 2015/11/14(土) 17:09:16.77 ID:1oNysaMy0.net

(* int リストの要素を再帰的にプリントする *)
let rec printList lst =
match lst with
| [] -> ()
| h :: t -> printf “312\n” h
printList t

読みにくい

 

45: エルボーバット(新疆ウイグル自治区)@\(^o^)/ 2015/11/14(土) 17:17:30.17 ID:6sHW2Mt20.net
関数型は最初のうちは頭の体操になって楽しいけど
慣れたら手続き型と同じで作業になる・・

 

49: フロントネックロック(東京都)@\(^o^)/ 2015/11/14(土) 17:21:40.18 ID:i7D4ORGR0.net
関数型を使う機会がない
emacsのlispなら使うかもと思ったが
デフォのemacsで満足して結局つかわない

 

54: ニールキック(東京都)@\(^o^)/ 2015/11/14(土) 17:40:15.44 ID:mnhXbHi+0.net
F#?
Cとの間のDとEはどこいったの?

 

56: 張り手(芋)@\(^o^)/ 2015/11/14(土) 17:48:36.08 ID:ylGrTPh50.net
>>54
ALGOL
BASIC
C
Delphi
Erlang
F#
Go
Hack

 

64: ニールキック(東京都)@\(^o^)/ 2015/11/14(土) 19:33:43.00 ID:mnhXbHi+0.net

>>56
なるほどthx

Delphi 聞いたことあるけど、Dの位置を取るほどの言語だったのか!
Erlang 知らん!

 

71: 頭突き(東日本)@\(^o^)/ 2015/11/14(土) 20:25:29.95 ID:v7ZBgteS0.net
>>64
釣られるなよw
D言語ってあるよ

 

57: 頭突き(芋)@\(^o^)/ 2015/11/14(土) 17:49:32.56 ID:krWIuOH/0.net
オブジェクト指向はデカくなるとデバッグが凄いことになるよな

 

58: パイルドライバー(catv?)@\(^o^)/ 2015/11/14(土) 18:07:33.06 ID:/6Saf+ie0.net
AndroidはJava以外じゃ作れないじゃん

 

61: 頭突き(東日本)@\(^o^)/ 2015/11/14(土) 19:00:09.48 ID:v7ZBgteS0.net
>>58
何年前の話してるんだ?

 

66: 閃光妖術(やわらか銀行)@\(^o^)/ 2015/11/14(土) 20:10:39.84 ID:SXyaTd9w0.net
アプリ開発しようと思ったけどプログラミング難解すぎじゃないですか……みんな何年やってるんだ………

 

69: トラースキック(静岡県)@\(^o^)/ 2015/11/14(土) 20:18:36.03 ID:oaL3L8+n0.net
>>66
今は入門しやすいスッキリした言語ないかもな

 

70: フライングニールキック(catv?)@\(^o^)/ 2015/11/14(土) 20:19:15.57 ID:UffNclE40.net
>>66
でもみんなプログラマーは底辺って言うんだよね。

 

74: 急所攻撃(茸)@\(^o^)/ 2015/11/14(土) 20:44:31.69 ID:UIyf1PGY0.net
>>66
20年位かな。

 

76: レッドインク(新疆ウイグル自治区)@\(^o^)/ 2015/11/14(土) 21:13:59.01 ID:wQeqeXnm0.net
いずれの新言語もイニシャルユーザは新規ユーザの参入を阻むような言動が多いから
いずれの新言語もコミュニティが広がらない感がある

 

85: アイアンクロー(dion軍)@\(^o^)/ 2015/11/14(土) 21:50:16.28 ID:o+zBYLjn0.net
確かに重要なんだけど、それを調査する時間を顧客が理解してくれるとは限らない
俺は要望に合う将来性も考えた言語を探してたんだが、その期間はサボっていると受け取られた
複数の言語の動作確認までしてたのに、だ
本当にあれは酷かった
ちなみに顧客は中国人

 

88: ボックス ◆6iJaDSI5YU (SB-iPhone)@\(^o^)/ 2015/11/14(土) 21:57:06.42 ID:pwaGV+tb0.net
>>85
顧客のニーズから外れたことやってたら
そらサボり扱いも当然じゃん

 

81: ジャーマンスープレックス(奈良県)@\(^o^)/ 2015/11/14(土) 21:41:03.01 ID:M8JG3QGY0.net
現場で、あと1時間で飛行機間に合わなくなるのに、
真後ろで客が腕組んで見てる状態で、
他人の作ったOOPを修正しなければならない悲壮感。

 

90: メンマ(新疆ウイグル自治区)@\(^o^)/ 2015/11/14(土) 22:27:06.14 ID:MuzzaCdj0.net
フェイスブックとかラインとかツイッターとかのようなソーシャルネットワークを
まったくプログラミング知識ゼロから1人で作るとしたら、何を勉強したらいいの?何言語?

 

91: 逆落とし(空)@\(^o^)/ 2015/11/14(土) 22:30:57.66 ID:el0FHzso0.net
>>90
ウェブはPHP
アプリはJava
twitterみたいなのならすぐ出来ると思うよ

 

92: メンマ(新疆ウイグル自治区)@\(^o^)/ 2015/11/14(土) 22:32:02.02 ID:MuzzaCdj0.net
>>91
ほほう。信じて勉強してみる。
トンクス

 

95: ハーフネルソンスープレックス(東京都)@\(^o^)/ 2015/11/14(土) 23:07:28.78 ID:Ngv3yYZW0.net
>>92
91で正しいが、DBも追加しとけば強いよ

スポンサーリンク

93: 32文ロケット砲(東京都)@\(^o^)/ 2015/11/14(土) 22:34:08.55 ID:Yg9fGxd80.net
ツイッターのプッシュ配信を実装するのは難しいな
HTML5屋でも結構慣れてる人じゃないと

 

99: フェイスクラッシャー(家)@\(^o^)/ 2015/11/14(土) 23:27:55.80 ID:v7+e8mtn0.net
いまさら、いまさら、いまさらPHPとJavaを推す男の人って・・・w

 

103: メンマ(北海道)@\(^o^)/ 2015/11/15(日) 02:51:22.86 ID:RVE1ldYG0.net
>>99
じゃあ、何ならいいの?説明してくれないか?

 

100: キチンシンク(やわらか銀行)@\(^o^)/ 2015/11/14(土) 23:54:47.17 ID:gNMgXvzW0.net
所詮時代が変わるとまたいろんな言語が出てくる。だが、コンパイル後の機械語はみな同じだから、
assember又はCなど、より機械語に近い1対1の関係である言語の方がよい。
今の言語は中間に色々なものを含みすぎて、(フレームワークなど)コンパイル後の物体に不要
かつ人間が理解できないような膨大な容量となり、成果物に対する信頼度が非常に低くなる。
所詮どんなに必死こいて新しい言語なんて覚えたって、すぐにスタレル運命だから非常に無駄。
言語云々より仕様書を企画統一化し、コンピュータ自身に理解させ、作らせる時代にならないと。

 

102: 膝十字固め(大阪府)@\(^o^)/ 2015/11/15(日) 01:45:10.97 ID:saj+vETf0.net

>>100
だけどー♪
メモリーを自動で管理してくれるJAVAっぽい言語のが
安全なのよ~♪

マーロックしたメモリをフリーしなくて良いとか最高じゃないっすかw

 

107: ドラゴンスリーパー(長野県)@\(^o^)/ 2015/11/15(日) 03:18:31.20 ID:zZyBGY7d0.net
>>102
下手なヤツが書くとかんたんにヌルポになるから最高とは言えない

 

112: パイルドライバー(やわらか銀行)@\(^o^)/ 2015/11/15(日) 06:36:45.08 ID:uGrnmuaR0.net

民間用途なら
それなりの時間内で それなりに処理でき それなりな画面を用意すればいい

それ以上は、
研究や軍用だろう。
日本は、前者はまさに”それなり”にあっても、後者はダメダメな感じじゃないかな。

給料のために 色々足掻いて がんばれや(`・ω・´)ゝ

引用元URL:http://hayabusa3.2ch.sc/test/read.cgi/news/1447486446/

関連記事

matz

まつもとゆきひろさん、 Ruby3.0開発開始へ

1: 番組の途中ですがアフィサイトへの\(^o^)/です (ワッチョイ a2d1-JYt4) 20

記事を読む

https---www.pakutaso.com-assets_c-2015-06-PAK86_codeing20140517-thumb-1000xauto-17052 (1)

プログラミング習うなら、専門学校と大学どっちがいいの?

1: 以下、\(^o^)/でVIPがお送りします 2015/09/13(日) 19:21:28.3

記事を読む

bsAL202syazai220140830165542

JavascriptもPHPも挫折したんだけど、もっと簡単なプログラミング言語は無いの?

1: 番組の途中ですがアフィサイトへの\(^o^)/です (ワッチョイ c576-2/7G) 20

記事を読む

4b505a4467abfb46b0a8a1254296b885_s

変数名を食べ物にしてソース書いてるけど別にいいよね

1: 以下、\(^o^)/でVIPがお送りします 2015/05/14(木) 09:04:13.3

記事を読む

https---www.pakutaso.com-assets_c-2014-12-OK76_iphone6hikusugi20141221141320500-thumb-1000xauto-5795

高校生の開発したAndroidのゲームが凄い事になってるwwwwwwwwwwww

1: 名無しさん@おーぷん 2014/12/21(日)20:26:09 ID:O5U 開発期間→

記事を読む

https---www.pakutaso.com-assets_c-2015-03-MAX86_ugegege20150207110830500-thumb-1000xauto-12260

プログラム単語を覚えるアプリみたいなのない?

1: 以下、\(^o^)/でVIPがお送りします 2015/06/28(日) 11:51:37.1

記事を読む

wpid-news4vip-1395399165-28.png

お前らプログラミングどのくらいやってる?

1: 以下、\(^o^)/でVIPがお送りします 2014/05/23(金) 20:12:47.6

記事を読む

https---www.pakutaso.com-assets_c-2015-06-LISA78_kaidanhaihai20141018101533-thumb-1000xauto-17985

javascript覚える為にHTMLとCSSどの程度出来るようになればいいの?

1: 以下、\(^o^)/でVIPがお送りします 2015/07/25(土) 21:38:29.4

記事を読む

https---www.pakutaso.com-assets_c-2014-02-GREEN_O20140125500-thumb-1000xauto-4117

FC2のような動画アップサイトを作ろうと思う。プログラミング言語は何が良いんだ?

2: 番組の途中ですがアフィサイトへの\(^o^)/です 2015/05/04(月) 16:53:

記事を読む

150130-php7

PHP7に初のアルファ版登場

1: 番組の途中ですがアフィサイトへの\(^o^)/です 2015/07/02(木) 20:10:

記事を読む

Huawei-Mate-8-benchmark-post-launch_1
Androidのベンチマーク、10万点を突破 インフレが止まらない

1: 番組の途中ですがアフィサイトへの\(^o^)/です (ニククエ

hGJvbfh
せっかくの休みだ。原付で>>5に行く。

1: 名無しさん@おーぷん 2015/11/29(日)06:13:2

9xHNnte
XperiaZ5からdocomoのロゴだけ消せるシートが発売開始

1: 番組の途中ですがアフィサイトへの\(^o^)/です (アウアウ

bsLISA78_MBAsawaru20141018102912
子供にプログラミング教えることになりそうなんだが、どうやって教えたら良いんだ?

1: 以下、\(^o^)/でVIPがお送りします 2015/11/2

top
国内で最大容量の8THDDが2万円台に値下がり

1: 海江田三郎 ★ 2015/11/29(日) 14:43:35.

→もっと見る

PAGE TOP ↑