X



【IT】PythonがJavaに迫る勢い - 7月の開発言語ランキング [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001ノチラ ★
垢版 |
2017/07/09(日) 10:03:54.81ID:CAP_USER
2017年7月の「PYPL PopularitY of Programming Language」が公開された。PYPLはGoogle検索エンジンにおいてプログラミング言語のチュートリアルが検索された回数から、対象となるプログラミング言語がどれだけ話題になっているかをインデックス化したもの。チュートリアルの検索回数を人気度と位置づけてランキングしている。

2017年7月におけるインデックスは次のとおり。
順位 プログラミング言語 インデックス値 推移
1 Java 22.6% ↓
2 Python 16.4% ↑
3 PHP 9.1% ↓
4 C# 8.2% ↓
5 Javascript 8.0% ↑
6 C++ 6.6% ↓
7 C 6.5% ↓
8 R 3.7% ↑
9 Objective-C 3.6% ↓
10 Swift 2.8% ↓
11 Matlab 2.5% ↓
12 Ruby 1.8% ↓
13 VBA 1.4% ↓
14 VisualBasic 1.3% ↓
15 Scala 1.2% ↑
16 TypeScript 1.2% ↑
17 Perl 0.8% ↓
18 Go 0.5% ↑
19 lua 0.4% ↓
20 Kotlin 0.4% ↑
21 Delphi 0.3% ↓
22 Rust 0.3% =
23 Haskell 0.3% =
http://n.mynv.jp/news/2017/07/07/053/images/002l.jpg
http://n.mynv.jp/news/2017/07/07/053/images/003l.jpg

長期に渡ってJavaが第1位を維持しているが、シェアは徐々に下がってきている。ほかのプログラミング言語ランキングでも同様の傾向を示している。PYPLプログラミング言語ランキングではPythonが高いポイントを獲得しており、そのポイントは徐々にJavaに迫ってきている。Pythonは採用されるシーンを増やしており、このままの傾向が続いた場合はPythonがJavaを超える可能性がある。
http://news.mynavi.jp/news/2017/07/07/053/
0265名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2017/07/10(月) 08:29:01.89ID:159ZIFEP
>>258
C++だと文法が多く、また罠も多い。
全てを把握しているプログラマーは、
少ないため、人によって書き方やレベルが、
大きく異なる。

2言語ともオープンソースで複数の人間が、
開発に参加しているが、レベルや書き方が
異なる人が混在すると開発が混乱する
恐れがある。
そのため、C++は採用していないと考えられる。

後、Rubyの場合は、作者がC++を好きじゃない
という理由もある。
0266名刺は切らしておりまして
垢版 |
2017/07/10(月) 08:50:06.50ID:iBlCeAGH
>>259
言語に重い軽いあるのかな?
ランタイム環境とかガベージコレクションとかの差じゃないの?
Cはすべてプログラマがめんどうみないとセグメンテーションフォールトになったりするから
、その分速い。
0267名刺は切らしておりまして
垢版 |
2017/07/10(月) 09:46:01.20ID:46pXaoOe
まあ実際C++でDOSを完全再現したところ、Windows3.1を思わせる容量とモッサリっぷりになった、って笑い話があるからね
0268名刺は切らしておりまして
垢版 |
2017/07/10(月) 09:51:27.87ID:Aa+Z3Y8C
パイソンも蛇やばも、蛇関連?
0269名刺は切らしておりまして
垢版 |
2017/07/10(月) 10:07:42.61ID:ZFTHtPOq
C++が遅かったりメモリ食うなんてことはないぞ。
使ってないライブラリを勝手に組込んだり、コンパイラが提供してるライブラリの性能が悪かったり、
コンパイラ自体の最適化がいまいちだったりすれば別だが。
性能がいいコンパイラならC言語より遅かったりメモリ食うことはないはず。
0270名刺は切らしておりまして
垢版 |
2017/07/10(月) 10:19:35.41ID:HiJkYAcC
C/C++論争は言語仕様だけでなくコンパイラやライブラリの出来も大きいね。
Cは割と平準化されてるけど、C++は未だにピンキリ。特に組込み系でハズレを引くとプロジェクトが破綻する。
0275名刺は切らしておりまして
垢版 |
2017/07/10(月) 12:09:14.02ID:fKMtOi3w
>>267
いつの時代の話だよ
0277名刺は切らしておりまして
垢版 |
2017/07/10(月) 14:37:05.69ID:6aCqB0WX
>>276
しかし、Cを極めて機械学習も実装できるレベルなら上手く自分を売れば数千万は貰える
アルゴリズム次第では起業も視野に入る
ピンキリがあって大多数が安いってだけ
0280名刺は切らしておりまして
垢版 |
2017/07/10(月) 21:23:28.38ID:D8Kzk5gh
C++に慣れると、C言語には戻れんな。C++が遅いって、そもそも書いてる
奴のレベルが低い、自称意識高い系だと思う。プリミティブ型と同じ意識で、
ループ内でクラス変数を宣言して、ループ回るたびに無駄にコンストラクタ
/デストラクタを呼び出しているとか。
0281名刺は切らしておりまして
垢版 |
2017/07/10(月) 21:27:04.98ID:D8Kzk5gh
バカと鋏は使い様の例えではないが、NULLポインタの使い方でプログラム
センスがわかる。
0282名刺は切らしておりまして
垢版 |
2017/07/10(月) 23:45:57.57ID:aqKiZ0Vd
>>277
その程度だとせいぜい数百万だな
0283名刺は切らしておりまして
垢版 |
2017/07/10(月) 23:49:19.82ID:tHoOQROm
数百万なら、日本で派遣やってる方がマシかもな。まぁ、トヨタの天下もいつまで
続くかは知らんケド。
0285名刺は切らしておりまして
垢版 |
2017/07/11(火) 02:47:54.02ID:ZIwNSrq0
Perl/Python/PHP/Ruby/Lua等のスクリプト言語にハッカーが大勢いたのはツールをスクラッチで作っていた時代の話
短期的なトレンドで熱しやすく冷めやすい日本の風土でさえ、出来上がったスクリプト言語を消費するだけで、米から降ってきたツールに振り回されてる感覚は無意識にあるはず

開拓者精神をもったハッカーを育成するのであれば、最底辺のかさ上げに全力を上げるのではなく、上位を目指す数を一人でも増やすこと

上位の開発者の潜在力を持つ人材は必ずいるはずだが、そうしたフレッシュな人材を怯えさせて安易なルート、平凡な学び方にいかせようとする風潮は悪い傾向だ

三流のプログラマーがアドバイスをしても同レベルか、三流のさらに劣化バージョンが生まれやすい
有能なプログラマーでも、教育に情熱が無く、虚栄心が強すぎると技術自慢に興じるばかりでマイナス要素にしかならない

教育側にもハッカーに準ずるレベルの人間を配置すべきだが、それが不可能なのは極めて不幸な状態だ

結局、日本ではプログラマーの報酬が低すぎるため、ハッカー的な人材には地雷だらけであり、ハッカーになろうとする人材も、育てる側の人材も生まれないのは致し方ない
0286名刺は切らしておりまして
垢版 |
2017/07/11(火) 03:26:45.21ID:ZIwNSrq0
×出来上がったスクリプト言語を消費するだけで
◯出来上がったスクリプト言語のツールを消費するだけで
0288名刺は切らしておりまして
垢版 |
2017/07/11(火) 05:05:54.76ID:I6kfrCL8
>>181
ネトゲなら lua ですよ。多いのは。中身を書き換えたらそれに勝る物なし。

HSPは速度が遅いとか言われてるね。この前使ったら、それなりだったので、面白かったですよ。
画面外から操作してるのかな。DQ10?
0289名刺は切らしておりまして
垢版 |
2017/07/11(火) 05:17:37.70ID:I6kfrCL8
>>193

VR いまいち盛り上がらないですね 従来のゲーム作るのと何が違うの? 言語的に。
機械学習 数学が出来ないと言語以前の問題かと。既存のライブラリをパラメーター変えるだけなら、ブラックボックスの利用者と変わらないのでは。この利用方法のPythonがあっと言う間に落ちぶれるでしょうね。
IoT サイズ優先でC系統かな。アセンブラはもう絶滅するとして。
ロボティクス 意外とサイズが大きいのを使ってるんだよね。1個昔の手法は全部入ってる感じで。機械学習と同じ成分でしょう。
仮想通貨 ブロックチェーンて言いたいだけだよね。もうそろそろ飽きてくる頃。
0290名刺は切らしておりまして
垢版 |
2017/07/11(火) 05:22:40.45ID:I6kfrCL8
>>203
http://pypl.github.io/IDE.html

同じシリーズの別ページ。

Rank
Change IDE Share Trend
1 Visual Studio 22.7 % +0.5 % 妥当なところかな
2 Eclipse 20.02 % -2.3 % この方面もいるよね
3 Android Studio 9.89 % +0.0 % 人気あるのね
4 Vim 8.06 % +0.0 % は?

4位は、エディタじゃないの。
14 Emacs 1.62 % -0.2 %
14位にもいるけども。

全く信用のおけないランキングだと思うけども。
0291名刺は切らしておりまして
垢版 |
2017/07/11(火) 05:39:33.11ID:y7CfKteR
アノニマスに入会するにはどれ勉強すればいいの?

あと入会手続きってどうすんの
どっかに事務所とかあって願書出すの?
0292名刺は切らしておりまして
垢版 |
2017/07/11(火) 05:46:22.21ID:I6kfrCL8
>>224

> ハードウェアの性能はムーアの法則の終焉で劇的に上がる見込みはなく、ハードウェアの潜在力を引き出すスキルが重宝されているからだ

まだまだ行ける。あと40年とか言われたら知らないけども。
2025年まではきっと大丈夫。プロセスも見えてる。

その後もきっと大丈夫。3Dスタックするとか、いろいろやることもあるでしょう。

もともと使い切れないほどの計算リソースがチップに詰まってる。

とりあえず、プログラマはバカだから、同時に1個の処理しか考えるのは無理だろうね。
で出来上がったのが、ノイマン型。ノイマン自身が言ってる。

それで処理能力が足りなくなったから、SIMDしてみたり、それでも不足だからMIMDしてみたり。
このあたりでプログラマの能力が破綻して、先に進めない。
マルチコアでまともに並列処理できるようになったのは意外と最近。
それまでは、シングルコア性能ばっか言ってたね。
同時に1個のことしか考えることができないから、こうなる。何十年も前にノイマンが言った通り。

非ノイマンな言語があるかって?
もちろんありますよ。
みんな、その成果物を持ってるでしょ。目の前の箱に詰まってるよ。
ただ、残念なことに、ほんの少しの人しか使えないし、理解もできない。
0293名刺は切らしておりまして
垢版 |
2017/07/11(火) 05:51:12.93ID:I6kfrCL8
>>234
残念なことに、クライアント側ではjavascriptしか動かない。
悪貨が良貨を駆逐する勢いで、Node.js。

JAVAもあるけどね。一部の業務ではJAVAが絶大なので、30年経っても仕事あるだろうね。
オラクルが倒産するとも思えないし、オラクルが死にかけたらアップルが引き取るだろう。
0294名刺は切らしておりまして
垢版 |
2017/07/11(火) 05:59:35.85ID:N4NlhjLB
>>293
なんかJavascriptだけ極めとけばとりあえずどうにかなる、
みたいな風潮ここ4、5年すごい感じる
0295名刺は切らしておりまして
垢版 |
2017/07/11(火) 06:02:33.37ID:I6kfrCL8
>>285
アセンブラを覚えさせれば?
スタック領域にコードを組み立ててそれを呼び出す。
普通の言語じゃできない。言語仕様的に禁止されている。そういう危ないことするよりも安全に低速に動く方が今の業界的にはいいそうだよ。
0296名刺は切らしておりまして
垢版 |
2017/07/11(火) 06:15:49.10ID:I6kfrCL8
>>294
多分、今後も大丈夫だよ。

javascript がまともになったのが1997年かな。
20年も前だ。今後も業界標準として、生き続けるんじゃないかな。(パソコンが死なない前提で)

結局、今のパソコンというかブラウザか、は、サンマイクロが言ってた、サーバ・クライアントモデルそのものなんだよね。
それを1個進めようとしてJAVA作ったけど、オラクルに吸収される羽目に。

JAVAの方が洗練されているし、いろんなことが出来るんだけども、なぜか流行らない。
いや、今で十分流行っていると言うべきか。

スマホがPCを全滅させたら、がらっと変わるだろうね。
サーバ上でいろんなスクリプト言語使ってた時代もあったんだね、と小学生に言われるようになるよ。
面白い時代に生きててよかったなあ、とみんな思うんじゃない?

アップルとグ―グルが世界を半分に分けましょう、それぞれが世界の半分を全部決めましょう、とかなったら暗黒時代だよ。
0297名刺は切らしておりまして
垢版 |
2017/07/11(火) 06:53:55.33ID:VO9Qc9hz
プログラム言語なんて全然知らない素人だけど、
みんなどこで学習したの?
専門学校?それとも大学の工学部とか?

あといつからプログラム言語を学び始めたのか…
0298名刺は切らしておりまして
垢版 |
2017/07/11(火) 07:04:20.08ID:z7P66g6v
みんなウェブ系みたいなストレスオンリー開発なんてよくやるわ
0300名刺は切らしておりまして
垢版 |
2017/07/11(火) 07:17:25.82ID:nbh+H9dg
Web開発はブラウザの開発者モードやOSSの各ミドルウェアを活用すれば楽だよ
0301名刺は切らしておりまして
垢版 |
2017/07/11(火) 07:37:29.64ID:8ueuz/ii
javaはまた廃れて行くんだろうな
androidで復活したけど、kotlin標準になったからjavaなんか使わんだろ
0302名刺は切らしておりまして
垢版 |
2017/07/11(火) 07:37:45.69ID:I6kfrCL8
>>297
プログラミング 学習サイト 無料 で検索してごらん。
今はいろいろあるよ。動画とかもあるし。
何を勉強したいか、というよりも、何をしたいか、を考える方がいいと思う。
何をしたいのかわからない、なら、
図形描画 プログラム で検索。
こんな図形が作れるのかーと思ったら当たり。
思わなかったら別のジャンルで検索だね。

昔はどこで勉強してたのか?
石田先生の本とかが多いんじゃないのかな。当時大学生だった人は。プログラミング言語C、は今でも新品買えるらしい、凄いね。
そうじゃないなら、
https://archive.org/details/Z80ProgrammingManual
こういう本とか、
http://www.classiccmp.org/cini/pdf/Apple/Apple%20II%20Reference%20Manual%20-%20Woz.pdf
本体買ったらついてくる本とかね。

Fortranの時代のことは知らない。
リアルタイムで知ってる人は寿命が尽きてそう。
0303名刺は切らしておりまして
垢版 |
2017/07/11(火) 07:42:51.97ID:zFxe5MDz
>>302
昔のMSXとか円を描くだけでもキーボードで英数字打ち込んでたの思い出したw
0304名刺は切らしておりまして
垢版 |
2017/07/11(火) 07:44:40.78ID:I6kfrCL8
>>299
Wikipediaによると、

低水準言語
機械語 / アセンブリ言語(アセンブラ)
高水準言語
1950年代
FORTRAN LISP ALGOL COBOL
1960年代
CPL BASIC PL/I APL BCPL Simula LOGO B
1970年代
Forth Pascal C Prolog Smalltalk Scheme ML AWK SQL Ada
1980年代
C++ Objective-C Common Lisp Eiffel Erlang Perl Mathematica J
1990年代
Python Tcl Haskell Visual Basic Ruby Lua Delphi Java JavaScript PHP OCaml SuperCollider R ECMAScript
2000年代
C# Scala D F# Go
2010年代
Dart Ceylon Elixir Hack Swift Rust Perl 6 Elm Julia Kotlin

だそうですよ。
0305名刺は切らしておりまして
垢版 |
2017/07/11(火) 07:53:22.00ID:I6kfrCL8
>>303
Microsoft BASICだね。

ちなみに、初期のMicrosoft BASICはビルゲイツ自身が開発してる。ポールアレンともう1人の共作。
普通に言って、天才プログラマーだった。
ただ、天才でも負けたことはある。

同じ動作をするプログラムを1バイトでも短く書けるか?
掛け金1ドル+ビルゲイツに勝ったという名誉。
0306名刺は切らしておりまして
垢版 |
2017/07/11(火) 08:05:05.11ID:y7CfKteR
>>297
エクセル使ってるなら簡単なマクロからはじめてみな
少し覚えただけでも便利さ実感するから
興味出てきたら本格的にベンキョすればいい
0308名刺は切らしておりまして
垢版 |
2017/07/11(火) 09:01:14.17ID:J6NLhnbs
■真相深入り!◆虎ノ門ニュース■

7/11(火) 百田尚樹・阿比留瑠比・居島一平
https://www.youtube.com/watch?v=E-ReNCXIARg

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
毎週月〜金 朝8時から生放送! LIVE放送終了後も動画で見れます♪
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

※ニコ生、フレッシュでも放送中
0309名刺は切らしておりまして
垢版 |
2017/07/11(火) 09:38:16.91ID:N4NlhjLB
>>297
独学。
やねうらお氏の公開してたライブラリを全部解析して勉強したのが最初だった
その前は7年間BASICやってたけど、ゲーム作りの楽しさだけで、スキルの上達はなかった
0310名刺は切らしておりまして
垢版 |
2017/07/11(火) 11:07:07.69ID:bM2vfBZn
>>290
そのランキングのどこがおかしいと言うのかw
敢えて言えば「今でもそんなもんなのかよ」ぐらい
vimやemacsはプラグイン使えばデバッガやコンパイラと連携できるからIDE的な使い方する奴はいるよ
20年前ならともかく今やったら変人だがLinux方面で湧いたvimキチガイはそんな奴らは多そうだ
0312名刺は切らしておりまして
垢版 |
2017/07/11(火) 12:17:01.05ID:R1YPZagk
>>294
webassemblyが普及するとその他の言語が流入してきそうだけどね。
色々あってwebassemblyが使われ始めるまで3年はかかると思うけど
0313名刺は切らしておりまして
垢版 |
2017/07/11(火) 12:21:39.54ID:R1YPZagk
>>297
小学校の頃から遊びで簡単なゲームなんかのプログラムは作ってたけど
本格的な勉強を始めたのは大学から。
0314名刺は切らしておりまして
垢版 |
2017/07/11(火) 16:46:33.95ID:BVXzc+JO
>>282
それはない。言うのは簡単だがこのレベルは殆どいない
0315名刺は切らしておりまして
垢版 |
2017/07/11(火) 16:55:12.17ID:BVXzc+JO
知り合いのSVMに詳しいC/C++/Python使いは余裕で1500くらい貰っている
DLの専門家でなくてもそのレベルだ
機械学習の理論を理解しCを極めてるなら大概のニーズに対応できる
実際はどちらも半端な奴ばかりだ
0316名刺は切らしておりまして
垢版 |
2017/07/11(火) 17:05:24.57ID:R1YPZagk
既存の機械学習論文読んで実装できる程度ならそこそこ優秀なCS系大学生なら普通にできる。
CUDA使って最適化できるとか、新しい機械学習アルゴリズムを考案できるとか
新しいDNNを設計できるとかしないと役に立たない。
0317名刺は切らしておりまして
垢版 |
2017/07/11(火) 17:19:42.57ID:idP+rFa3
実務で稼ぐのには新規研究はいらないのでは。グーグルとかごく一部の人だけで。
既存研究をまともに理解して、まともに動作させられれば大抵はまかなえるのでは。
なんらかの賞狙いとか、第一人者狙いとかでなければ。
0320名刺は切らしておりまして
垢版 |
2017/07/11(火) 23:57:14.13ID:Azexgp2p
>>310
呼んだか?(^ω^ ≡ ^ω^)おっおっ
0321名刺は切らしておりまして
垢版 |
2017/07/12(水) 07:12:49.62ID:DxnMMFDe
>>301
業務アプリでJavaが浸透したから、数十年後も今のCOBOLみたいな感じで
生き残ると思うよ。
将来の若手プログラマーに「何この糞言語」と罵られながらもw
0322名刺は切らしておりまして
垢版 |
2017/07/12(水) 07:17:17.49ID:AiNNTqWd
>>318
最低限chrome、firefox、edge、safariで動いてくれればワンチャンあるんだがな
ieはサポート期限待たずに早急に死んで欲しいし、operaはシェア考えると別にいいかな感
0324名刺は切らしておりまして
垢版 |
2017/07/12(水) 09:43:22.75ID:caPwsXM2
>>8
統計解析でも増えてきてる
スクリプトで自動化しやすいから

一年に数回しか統計解析しない奴には必要ないだろうけど
0325名刺は切らしておりまして
垢版 |
2017/07/12(水) 09:47:07.80ID:caPwsXM2
>>11
ライブラリは現役ですが
新しいシステムはスパコン系も
呼び出し規約がCと同じあるいは互換機能を持つので
Cから使ってますよ
Cを経由してさらにpythonnのnumpyからとか
0327名刺は切らしておりまして
垢版 |
2017/07/12(水) 09:55:13.88ID:caPwsXM2
>>50
Lisperなのにかなり前にMITのScheme使ってた授業がPythonになったの知らないのか?
SICPの後継の授業が
ライブラリが充実してるって理由で

その頃からPythonはスクリプト系で断トツの人気と普及率だった
工学系では

日本だとrubyも人気あったけどな
当時はかなり鈍足だったけど
0328名刺は切らしておりまして
垢版 |
2017/07/12(水) 10:00:00.13ID:caPwsXM2
>>55
ロボット制御とか組み込みも強い

perlもそうだったが
Cの数値型をうまく使えるスクリプト言語は
数値計算や制御系も得意だから
汎用スクリプト言語になりやすい

JavascriptやSchemeはそこが弱かったわけ
Javascriptはasm.js以降、方針転換してきてるが
0330名刺は切らしておりまして
垢版 |
2017/07/12(水) 10:06:49.25ID:caPwsXM2
>>83
気が早すぎるだろ
pythonなんて26年前に出来た言語だぞ
それがnumpyその他で地道に裾野を広げて
強化学習のお陰でようやく
ビジネスニュース板の話題になるようになった
0332名刺は切らしておりまして
垢版 |
2017/07/12(水) 10:14:51.82ID:caPwsXM2
>>93
debianのpythonチームが
perlでやってたパッケージ作成、インストーラを
python化するプロジェクト立ち上げたのが2000年くらい
2008年にはlinux standard baseでも規格化されてる
0333名刺は切らしておりまして
垢版 |
2017/07/12(水) 10:20:58.26ID:NPXHNJiJ
>>190
話題沸騰中のpythonがbytecode VMなんだが?

しかも>>100の言とは反して
python VMはネイティブライブラリとのリンケージ機能を優先して
古臭い設計のままに留まってる
JVMみたいに近代的じゃない
0334名刺は切らしておりまして
垢版 |
2017/07/12(水) 10:27:19.72ID:NPXHNJiJ
>>201
命令がないCPUでは実装が遅くなるから
Cはそういうものは言語に入れない方針
欲しい人は実装依存のasm文か
Cで(やや)ポータブルに書く
0335名刺は切らしておりまして
垢版 |
2017/07/12(水) 10:33:43.65ID:NPXHNJiJ
>>149
最初からJVMバイトコードコンパイルしてます
開発者のGoslingがbytecode VMの専門家
社内でOakって呼ばれてた頃からコンパイル志向
0340名刺は切らしておりまして
垢版 |
2017/07/12(水) 10:44:47.74ID:caPwsXM2
>>195
pythonとかぶり過ぎで
今の処理系実装に変えるまでは
処理速度が中位にかなり離された最下位グループだったからね
0341名刺は切らしておりまして
垢版 |
2017/07/12(水) 10:49:20.03ID:caPwsXM2
>>198
強化学習含めたnumpy,scipy系ではCのライブラリを呼び出してるから
python自体の速度はあまり問題になってない
呼び出しやすい言語設計の方が利点となった

ただwebサーバ系でdjango使ったのはたくさんあるだろ
AWSでもAzureでもG Suiteでも採用されてんだから
0343名刺は切らしておりまして
垢版 |
2017/07/12(水) 10:54:41.78ID:shxa6pY1
Pythonが機械学習で流行ったのはほとんどグーグルのせいだろ?
ここがJavaScriptでもRubyでも採用してたらそっちになってたはず。
楽天とかはRubyで機械学習してるかもしれん。
0345名刺は切らしておりまして
垢版 |
2017/07/12(水) 11:07:02.68ID:shxa6pY1
Python - Deep learning はなぜ pythonで実装されることが多いのですか?

そもそもなぜ多くのオープンソースプロジェクトが立ち上がったのか、という点については、Numpy と、Scipy という2つのパッケージの存在が指摘されていました。
また、R言語ベースの統計解析ライブラリとの連携がとても簡単という点も評価が高いようです。
マシンラーニングでつかわれるような高度に抽象化された数学的計算ライブラリとしてMatlabが有名ですが、
これはとても優れた機能を提供している反面、ライセンスが高額であることが難点と言われています。
マシンラーニングの基礎や応用分野の研究者たちは、潤沢な資金を持っていない学術研究者などが多くいますから、
彼らにとってすべて無償で入手し、開発し、再頒布できるPythonは最適解だったのではないでしょうか。
https://teratail.com/questions/33373
0346名刺は切らしておりまして
垢版 |
2017/07/12(水) 11:12:55.58ID:tUZ7F8D6
>>92
iPhoneがPyじゃないけど。比較対象のobjective-cだけど。
0347名刺は切らしておりまして
垢版 |
2017/07/12(水) 11:18:16.71ID:7acKiR3o
>>326
メモリアクセスパターンとか見ると基本パフォーマンス無視なのは事実
0348名刺は切らしておりまして
垢版 |
2017/07/12(水) 11:21:07.90ID:shxa6pY1
pythonの歴史(〜2016年)
2011年 pandas 0.30リリース。pythonはplyr/dplyrを備えたRの競合に。この段階で、現在の状況に至るためのお膳立ては整ったのであった。
[2006] 科学計算(NumPy/SciPy/scikit-learn)
[2005] 数式処理(Sage=セイジ)
[2011] データ整形(pandas)
[2003] 可視化(matplotlib)
[2001] インタラクティブ(notebook)
ところで、私が大学院に入学したのは2008年であった。研究室ではintel C compilerしか使われていなかった。
そして、BLASやLAPACKをCから叩いていた。スクリプティング言語としては、Rubyが使われていたが、Webアプリは誰も書けなかった。
mathematicaやMATLABはよく使われていた。Sageを使ってる人は1人だけいた。
ということで、この後には普及の歴史が続くこととなる。
http://soqdoq.com/teq/?p=2036


なぜ機械学習にPythonが選ばれるのか
日本ではWeb系のLL言語としてはPHP・Perl・Rubyが強く、Pythonは海外では普及しているが日本ではマイナーな言語である。
Google AppEngineの開始当初(2008年4月)にPythonをサポートしていた際には、なんでPythonなんだろうと軽く調べ、教育用として海外では普及しているという認識だった。
2012年〜2013年頃にデータサイエンスがバズワードとなり機械学習する上でR言語と次点でPythonという感じだったと思う。
そして昨今はPython一色になってきている。
なぜ、この分野が強くなったのか疑問を持ち「科学計算|機械学習 Python なぜ」検索してみると2サイトが見つけられる。
要約すると エコシステムが充実&加速
Rで出来たことがpandas, statsmodelでかなりできるようになった 機械学習もscikit-learnで楽に 言語間のデータのやり取りの必要がなくなるメリットが大きい

私としては何故このように科学計算分野のライブラリが作成され強化されるように至ったのかを知りたくなり歴史から調べてみました。

RubyがRailsにより注目されたように、Pythonでは当初数値コンピューティング用に設計されたものではなかったが、リストの概念や関数型言語の基本機能を実装したこと、
Jim Fulton氏(元ZOPE社CTO)が多次元配列・行列ライブラリ「Matrix Object in Python」を開発したことで、早い段階(Python 1.0から1年後)で科学/エンジニアリングコミュニティに注目され「Matrix-SIG」が設立、
後の「NumPy」が紆余曲折(Numeric(1995年)とNumArray(2001)を統合)を経て2005年にリリースされた。
また幾つかの科学計算用ライブラリをパッケージ化した「SciPy」が2001年にTravis Oliphant氏らによりリリースされた。
その後はEnthought社が2001年に米国で設立され、SciPyをベースにツールやパッケージやサポートを提供、また科学技術計算向けの「SciPy Conference」と呼ばれる会議の開催を支援して行く。

Pythonが、科学技術計算で使われるようになるであろう理由のもう一つに着目した。
オープンソースプロジェクトは開発リソース(おもにマンパワー)が限られ、開発の中心メンバーが何らかの理由で参加しなくなった場合、一気にそのプロジェクトが衰退する場合があるが、
特に科学技術計算関係のパッケージについては民間企業が本格的にサポートとしており、オープンソースソフトウェアとして公開する体制が整っている。

民間企業の代表的なのが、Enthought社とContinuum Analytics社である。
Enthought社は科学技術計算用パッケージ群「Scipy Stack」を提供し、科学技術計算向けの「SciPy Conference」と呼ばれる会議の開催を支援している。
Continuum Analytics社はPythonディストリビューション「Anaconda」を提供し、データ分析向けの「Py Data」と呼ばれる会議の開催を支援している。

また、GoogleもPython作者のGuido van Rossum氏を2005年に雇用したり、「Google Summer of Code」というオープンソースの開発に資金を提供するプロジェクトを2005年に作成し、
機械学習ライブラリの「scikit-learn」や多変量回帰分析・時系列分析ライブラリ「statsmodels」がリリースされています。

科学技術計算分野のキーマンは、「SciPy」と「NumPy」の作者でもあるTravis Oliphant氏であろう。
Oliphant氏は、2001年から2007年にかけてBrigham Young University(BYU)の電気・コンピュータ工学の助教授を務め、BYU生物医学イメージングラボを指導し、スキャン・インピーダンス・イメージングに関する研究を行っていました。
その後、前述したEnthought社の社長を2007年から2011年まで務め、2012年1月にContinuum Analytics社を設立しました。
http://qiita.com/yaju/items/5502115d7e3d06e6bbdd
0349名刺は切らしておりまして
垢版 |
2017/07/12(水) 11:22:26.62ID:7acKiR3o
>>330
rustはチンタラしてたら特徴をC++に取り込まれそうなんだよね
0350名刺は切らしておりまして
垢版 |
2017/07/12(水) 11:32:14.49ID:caPwsXM2
>>345
後半違う
MATLABは大学ではすごく安い
キャンパスライセンスで全学ただ同然で使える
スタンドアローン版をインストールして家でも使えるライセンス

pythonの方が柔軟性が高いから増えてる
0352名刺は切らしておりまして
垢版 |
2017/07/12(水) 11:53:19.57ID:7acKiR3o
>>351
> The Computer Language Benchmarks Game
見たけど、どれもCの方が速いように見えるんだけど。。
もしかして、見方を間違ってる?
0355名刺は切らしておりまして
垢版 |
2017/07/12(水) 12:16:37.14ID:7acKiR3o
基本的にPython自体は遅いからね。
重い計算処理をNumPyとかCuPyとか使って高速化すること前提になってる。
0356名刺は切らしておりまして
垢版 |
2017/07/12(水) 12:29:21.81ID:XCGOgV1g
Pythonに性能を求めちゃいかん。C関数の呼び出しが奇跡的に楽なので、性能が必要な部分はCで組むんだ。
その場合はCとPythonの境界がボトルネックになるので、変数やバッファも極力C側に持たせるぜ。
TensorFlowもnumpyもそんな感じだよね。
0357名刺は切らしておりまして
垢版 |
2017/07/12(水) 13:07:01.91ID:QC69CMNj
なんでBASICを熟成させて極めないんだね?
ただの言語だろ

新興宗教のように、既存のトップになれないからって
新たに作っておいしいとこを頂くような社会としか思えない
0359名刺は切らしておりまして
垢版 |
2017/07/12(水) 15:21:31.11ID:QC69CMNj
>>358
拡張して作ったりCOMやDLLに丸投げとか工夫できるだろ
新しいことやるために、新しい言語作ってしかも基本命令まで変えて作ることに意味あんのか?
無駄な派閥競争だろ
0360名刺は切らしておりまして
垢版 |
2017/07/12(水) 15:49:48.48ID:vdnLWXiK
>>359
組む人の哲学の違いが大きいんだろうな

マシン語時代からある、伝統的な手続き型(命令型)プログラミングが好きなやつ
(数学的な)関数を組み合わせてロジックを組む、関数型プログラミングが好きなやつ
マクロなプログラミング構造になるとOOPとかもっとたくさん出てくる

それらの哲学を一つの言語に集約するとカオスになる
Perlなんか最たる例
0361名刺は切らしておりまして
垢版 |
2017/07/12(水) 16:04:55.64ID:XCGOgV1g
VBAでもDLL呼び出しすれば機械制御できない訳ではない
そんな非合理なこともやったことあるけど、評判は良かった
0363名刺は切らしておりまして
垢版 |
2017/07/12(水) 18:53:24.00ID:k/J9glmH
そもそも実行効率でプログラミング言語の序列を決めること自体がナンセンス

むしろシステムの案件に対する実装効率と保守性で決めるべきかと
が、これも主観に大きく依存するし、参考程度にしかならない
0364名刺は切らしておりまして
垢版 |
2017/07/12(水) 18:55:38.94ID:q2IY96ud
必要十分なら実行効率、あるいは冗長化して金で解決できるなら
開発、保守効率の高い言語で実装するべきなんだが
受託の場合選択の余地がなかったりする
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況