1: 田杉山脈 ★ 2019/11/24(日) 19:37:07.19 _USER
えっせzu1
「Pythonはどうしてこんなにはやっているんですか」。プログラミングを最近学び始めた人と話をしていて、そんな質問を受けた。自分としてはPythonを学ぶ意義は自明だと思っていたが、プログラミングにあまり詳しくない人にはそうでないのかもしれない。

 私は、2019年10月上旬に開催されたイベント「日経 xTECH EXPO 2019」で、「非プログラマーがPythonを学ぶ意義」と題して講演した。そこで今回のコラムでは、この講演のプレゼンテーションを基に、Pythonを学ぶべき理由を説明したい。

 ただ、内容を少しだけ変えようと思う。講演では非プログラマーを対象にしていたが、今回のコラムではプログラマーを含めたすべての人を対象にする。Python以外の言語を使っているプログラマーにとっても有用な内容だと思うからだ。講演では、非プログラマーがプログラミングを学ぶ意義を最初に説明したが、その部分は省略する。

Pythonが得意とする分野
 世の中にはたくさんのプログラミング言語がある。よく使われているものだけでも、C、C++、C#、Java、JavaScript、PHP、Python、Ruby、Swiftなど様々だ。マイナーな言語も入れると数え切れないくらいある。

 プログラミング言語を「汎用プログラミング言語」と呼ぶこともある。どの言語を選んでも、理論的にはどんなロジックでも記述できるという意味だ。この特徴を「チューリング完全」と呼ぶ。チューリング完全でない言語は、普通はプログラミング言語とは呼ばない。

 もっとも、言語ごとに得意分野は存在する。例えば、「ある分野で言語Aを使うと処理を一から書かなければならずシステムの開発が大変なのに対し、言語Bは豊富なライブラリーを持つため簡単にシステムを開発できる」といったことはよくある。また、「ある分野で言語Xを使うと高速に実行できるが、言語Yでは処理に時間がかかる」といったこともある。

 具体的な得意分野を挙げよう。Javaはエンタープライズシステムの記述に多用されるし、JavaScriptはWebのクライアントソフトウエアの記述に主に使われる。Rubyで書かれたRuby on Rails(以下、Rails)というフレームワークは、Webアプリのサーバー側システムの開発に使われる。Swiftは、iOS向けのアプリ開発に使われている。

 では、最近注目を集めているPythonの得意分野は何だろうか。それはずばり人工知能(AI)である。
以下ソース
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00682/111900020/
引用元: http://egg.5ch.net/test/read.cgi/bizplus/1574591827/


11: 名刺は切らしておりまして 2019/11/24(日) 19:52:11.82
>>1
しょうもな

この人、単なる物書きでプログラミングで仕事したことないんでしょう

30: 名刺は切らしておりまして 2019/11/24(日) 20:16:05.39
>>1
AIはただの流行り物だからなぁ。やっぱり学ぶべきはC

85: 名刺は切らしておりまして 2019/11/24(日) 21:42:26.55
>>1
pythonマスターしたけど、組み込み系ではC++が成長株、Linux C++出来る技術者が足りないとか言われる。

4: 名刺は切らしておりまして 2019/11/24(日) 19:48:08.28
ライブラリがたまたま多いだけで言語そのものの(ry

9: 名刺は切らしておりまして 2019/11/24(日) 19:51:47.48
>>4
これ

言語仕様としては大分クソ

20: 名刺は切らしておりまして 2019/11/24(日) 19:56:35.28
>>4
そのライブラリをどっかから調達してこないと殆ど何にもできない。

27: 名刺は切らしておりまして 2019/11/24(日) 20:06:48.98
>>4
他の言語にある for (i=0; i<100; i++) みたいな書き方ができないとか
たしかに多少の癖はあるかな
あとPythonの標準リストとNumPy配列が別物なのもいちいち面倒くさい

ただインデント(字下げ)は、やっているうちに慣れたし
ソースも見通しやすくて、全般に悪い言語ではないと思う

56: 名刺は切らしておりまして 2019/11/24(日) 20:52:55.61
>>27
まずfor (i=0; i<100; i++)みたいな処理は実務でないので問題ない

6: 名刺は切らしておりまして 2019/11/24(日) 19:50:08.24
パッケージによってころころ変わるし
とっつにくい

10: 名刺は切らしておりまして 2019/11/24(日) 19:51:48.57
初心者には難しい

12: 名刺は切らしておりまして 2019/11/24(日) 19:52:17.61
Cもしらないやつばかり苦笑

49: 名刺は切らしておりまして 2019/11/24(日) 20:40:02.15
>>12
むしろCしか知らない奴の方が使えない
他人がメンテしやすいコード書かないしテキスト文字処理までいちいちCで書くとか柔軟性に欠ける奴ばかり

51: 名刺は切らしておりまして 2019/11/24(日) 20:45:05.07
>>49
Cを知らないやつが書いたコードは、どの言語使おうが効率悪いやつ多いな
ライブラリの中身がどう実装されてるかイメージできずに使ってるからな

88: 名刺は切らしておりまして 2019/11/24(日) 21:46:39.90
>>51
Linux Cの技術者は腐るほどいるが、人余りなんだよな

13: 名刺は切らしておりまして 2019/11/24(日) 19:52:56.44
しかしこのご時世老いも若きもスマホでTwitterで承認欲求の発散にご執心な様子
PCでのみ出来ることの多さも考えないでスマホで十分とか言い切っちゃう

14: 名刺は切らしておりまして 2019/11/24(日) 19:53:19.95
数学ができる奴が使うツールやで

16: 名刺は切らしておりまして 2019/11/24(日) 19:54:48.95
テキストで記載する方法が既に時代遅れなのではないかと
これからは文字を利用しない方法のプログラミングが必要なのでは?
可視性が悪いし文字一文字違うだけで別ってのは
チェックするだけでも全体把握するだけでも労力がいる。
複雑なものをもっと簡単な方法で作る方法が大事なのではないかと。
そこには文法とか可読性を超えたものが必要だ。

21: 名刺は切らしておりまして 2019/11/24(日) 19:56:36.33
>>16
静的解析ツールないの?

22: 名刺は切らしておりまして 2019/11/24(日) 19:57:28.29
>>16
haskell やれ

17: 名刺は切らしておりまして 2019/11/24(日) 19:55:33.13
数学ができないやつは仕様書・参考書の通り打ち込んどけ

28: 名刺は切らしておりまして 2019/11/24(日) 20:09:30.46
pythonは初心者の俺でも
人間の言語に近いのか扱いやすかった
ただし開発環境UIをジジイババアでも使えるようにしないと
革命とは言えない

32: 名刺は切らしておりまして 2019/11/24(日) 20:19:51.86
5分で理解できた
そんな仰々しいものじゃないよ

38: 名刺は切らしておりまして 2019/11/24(日) 20:32:08.11
Pythonがこのまままら、Juliaが来るだろう。

45: 名刺は切らしておりまして 2019/11/24(日) 20:38:06.29
VBの方がええよ。全人向けならば

50: 名刺は切らしておりまして 2019/11/24(日) 20:44:20.90
これは多いに誤解される
Pythonがいいというよりライブラリだ
グーグルとかが参加してて
グーグルがルビー、Javascript、タイプスクリプトに乗り換えたら話はかわる

58: 名刺は切らしておりまして 2019/11/24(日) 20:54:13.40
底辺の最期の希望

62: 名刺は切らしておりまして 2019/11/24(日) 21:03:36.31
Range 使えば普通に算術ループできますやん
ホラはあかんよ、ホラは

64: 名刺は切らしておりまして 2019/11/24(日) 21:05:28.25
ブロックをインデントに束縛して
コードの個人差を減らして保守性を向上させたのは良い点だと思う。

オブジェクト指向周りの文法や、
イミフな定数の不導入とか、
コロンもいらなくね?とか、
文法に乱雑さを感じる。

len()とかsorted()とかをiterableのメンバにせずに
標準関数で外出しにしてるのとかもイラッとくる。
jsがスマートな言語に見えてきて仕方ない。

68: 名刺は切らしておりまして 2019/11/24(日) 21:07:38.74
最近は他の言語用のAIエンジンも増えてきたから
まあ、いつまでも独壇場というわけにも
いかんだろうな

78: 名刺は切らしておりまして 2019/11/24(日) 21:26:28.08
>>68
AIだけじゃない、数値計算用のライブラリが揃ってるのが Pythonの強み

76: 名刺は切らしておりまして 2019/11/24(日) 21:22:04.49
どうせ定年まであと7年なので今のまま
JavaとPHPとOracleとExcelとVBAでフィニッシュするわ
Pythonその他は定年後の趣味の一つにでもしとく

79: 名刺は切らしておりまして 2019/11/24(日) 21:35:52.45
ラインエディタの頃の
cはシステム領域とかおかまいなく破壊してくれたよね
てかpythonってlinux系だと
Mailmanでさわった記憶しかないや
なんで今更とかは思う

86: 名刺は切らしておりまして 2019/11/24(日) 21:44:00.55
テキストエディタでチョロっと書いただけで動けばいいのに
環境構築とかめんどいわ
ライブラリとかなんやねん

92: 名刺は切らしておりまして 2019/11/24(日) 21:53:50.92
この意味の万能性って、何も言っていないに等しい
2本脚があれば、大陸の端から端まで行けるというような話だから

99: 名刺は切らしておりまして 2019/11/24(日) 22:03:43.44
ゼロからやるならまずライブラリとか無しでBASICで
ループとかGOTOとか A=A+1とかを理解して
次に C をやって、 次にアセンブラ<-->機械語 で簡単なプログラムを組んで
実際の仕事では Cや構造化やオブジェクト指向のあるC++だな
Pythonは知らんが Cを知らんと何をやっても 基礎がわからんだろう

101: 名刺は切らしておりまして 2019/11/24(日) 22:08:56.45
本物のプログラマはPascalを使わない的な何か

104: 名刺は切らしておりまして 2019/11/24(日) 22:10:32.73
python2と3で互換性がないのに、ネットには情報が混在してる
perl最強!

perlにできなくて、pythonならできることってあるの?

166: 名刺は切らしておりまして 2019/11/25(月) 00:09:57.07
>>104
perl5 と perl6 もな〜

186: 名刺は切らしておりまして 2019/11/25(月) 06:41:34.77
>>166
ようやくperl6は諦めたらしいよ

108: 名刺は切らしておりまして 2019/11/24(日) 22:12:55.09
perlにはpandasやnumpyみたいなライブラリはあるんかい?
ワシのバイオの分野では一時期流行ったみたいで、perlで書かれた
スクリプトが結構あるし、perl使いもまだ多いようだが。

110: 名刺は切らしておりまして 2019/11/24(日) 22:16:33.35
>>108
Rから統計関係やりだしたので、pyはRにあとから真似してくる感じがある
アドホックにやるならRstudioでreport生成しちゃう。

pyはproductionになったときにRをpyに書き換えるといいらしい。

111: 名刺は切らしておりまして 2019/11/24(日) 22:17:49.83
>>108
細かくはみてないがPDLモジュールはnumpy相当なのかなぁ。

109: 名刺は切らしておりまして 2019/11/24(日) 22:13:06.11
つまり、ちょっと前はvbscript最強、perl最強、php最強、java最強とかきたよね。そのときの時代の旬、いまはAIなのかもしれんが、そのAIについてDL方面のパッケージが充実してるから必然的にpyオヌヌメになってるだけで、pyそのもの自体がオススメってわけじゃないよね。

スポンサード リンク