X



【IT】プログラマーだけではない、全ての人がPythonを学ぶべきたった1つの理由

■ このスレッドは過去ログ倉庫に格納されています
0001田杉山脈 ★
垢版 |
2019/11/24(日) 19:37:07.19ID:CAP_USER
「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/
0283名刺は切らしておりまして
垢版 |
2019/11/25(月) 19:01:33.83ID:D31Vs90M
C++はコンパイルエラー分かりにくいのが辛い
リフレクションのない言語の宿命なのかもしれんけどなんとかならんのかな
0284名刺は切らしておりまして
垢版 |
2019/11/25(月) 19:04:42.31ID:DAiE6nMA
Java勉強したけど、教えてくれる人が上手かったからか理解しやすかった
転職につなげたいけど、もういい年だからプログラマーになるのは難しいんだろうな
プログラミングの知識って、プログラマーになる以外には、活かせる仕事ってないのかな
0285名刺は切らしておりまして
垢版 |
2019/11/25(月) 19:18:31.87
スクリプト職人として職場で重宝がられるだろ
0287名刺は切らしておりまして
垢版 |
2019/11/25(月) 19:48:26.87ID:DD+ssELy
プログラマーじゃないならプログラミング言語なんて一切触る必要ない
そんなこと気にしなくていいからせめてExcelの関数一つでも覚える努力しとけ
0289名刺は切らしておりまして
垢版 |
2019/11/25(月) 19:50:50.38ID:HrmTTFmm
今は素のままの言語をコーディングするのってあまり無いよね。大抵の土方はフレームワーク使ってる
0290名刺は切らしておりまして
垢版 |
2019/11/25(月) 19:56:21.88ID:kCqAy7fN
自分が若い頃はネラーの殆んどは、スクリプトなんて当然のごとく知ってたよなぁ
0292名刺は切らしておりまして
垢版 |
2019/11/25(月) 20:15:54.34ID:J08H2T67
スクリプトってシェルスクリプトとやらのこと?
0293名刺は切らしておりまして
垢版 |
2019/11/25(月) 20:24:29.87
Javaスクリプト
0299名刺は切らしておりまして
垢版 |
2019/11/25(月) 21:03:03.98ID:Hd/baHUN
>>16
その文章を文字を使わずに表現してみろよ
0300名刺は切らしておりまして
垢版 |
2019/11/25(月) 21:03:55.69ID:Hd/baHUN
>>288
できるよ
0301名刺は切らしておりまして
垢版 |
2019/11/25(月) 21:14:24.06ID:uHDtKNDU
結局ボッキデータかよ
0303名刺は切らしておりまして
垢版 |
2019/11/25(月) 21:26:40.07ID:c4wxsDw3
知らねーわボケ
0304名刺は切らしておりまして
垢版 |
2019/11/25(月) 21:26:58.99ID:SsStlbbZ
>>1
たった一つの理由を語るだけなのに記述量が多すぎる言語だということはわかった。
不合理だわ。
0306名刺は切らしておりまして
垢版 |
2019/11/25(月) 21:51:40.24ID:1kg8ad3p
おれはみんなが
C言語を習い
C言語のように考え
C言語のように行動する
ことを望む!!!
0309名刺は切らしておりまして
垢版 |
2019/11/25(月) 22:07:25.11ID:E46y7yPx
まあ、Pythonを極めるのであれば、Cも必要なんでしょうね。
Cが土台の言語だから。計算量や速度がそんないらないなら、
Pythonだけでも良いんだろうけど。
0311名刺は切らしておりまして
垢版 |
2019/11/25(月) 22:16:34.47ID:UtyrddeU
>>1
Pythonの強みと言えば、やはりAI分野の外部ライブラリーが豊富な点。
ここがすごい。
0312名刺は切らしておりまして
垢版 |
2019/11/26(火) 01:10:35.87ID:Rkn7Li1V
ビジネス書みたいなスレタイだな
0315名刺は切らしておりまして
垢版 |
2019/11/26(火) 02:03:23.93ID:HfFqEdqV
なんかさ!py屋がrに対抗してstatやりだして、その延長でDLはやってみんながつかいだしたから、おすすめみたいな流れが作られた感がやだな
0316名刺は切らしておりまして
垢版 |
2019/11/26(火) 05:10:27.73ID:Onwt0x2N
日本のIT関係者は幼稚な印象
アカデミックな姿勢で冷静に技術を語り合えない印象
0317名刺は切らしておりまして
垢版 |
2019/11/26(火) 05:53:31.38ID:YiG3KRBY
最初はどういうプログラムを作ればいいか初心者の俺に教えてくれよ
hello worldを表示させるだけとかメモ帳に打つのとなんも変わらん
そもそもプログラムってexeファイルになるんやないんけ?
0318名刺は切らしておりまして
垢版 |
2019/11/26(火) 06:18:45.73ID:HfFqEdqV
手でやるとめんどくさい作業をプログラムにやらせるのがいい。
例えば、Excelで毎日の気温を入力して保存していたとする。これはVBAでもできるし、pythonでExcelを操作させることもできる。
0320名刺は切らしておりまして
垢版 |
2019/11/26(火) 06:23:26.90ID:HfFqEdqV
>>317
exeはwin専用で、ダブルクリックで実行可能な形式のバイナリファイルのことだよ。exeをつくる前に、テキスト形式のプログラムを書いて、実行可能なバイナリに変換することもあるし、バイナリに変換しないで実行できるものもある。
0321名刺は切らしておりまして
垢版 |
2019/11/26(火) 06:27:25.39ID:HfFqEdqV
cqt access.log | grep error | awk '{print $4}' | sort | uniq | wc -l みたいのは、手が勝手に動く感じ。
0325名刺は切らしておりまして
垢版 |
2019/11/26(火) 12:45:00.15ID:YiG3KRBY
>>320
でもそれってプログラム作ったパソコンでしか動かないんじゃ?
他のパソコンでも同じ環境を用意するとかか?
0327名刺は切らしておりまして
垢版 |
2019/11/26(火) 14:40:05.22ID:gq/hgCAa
最近はなんでもcliでもPHPで書いちゃうな。慣れって恐ろしい。
pythonはインデント強制は良いけど、閉じ括弧が無いのが気持ち悪い
0328名刺は切らしておりまして
垢版 |
2019/11/26(火) 15:40:36.70
括弧が足りなかったり1個多かったりするエラーて探すの面倒なんだよな
0330名刺は切らしておりまして
垢版 |
2019/11/26(火) 16:25:51.89ID:3HelxIY0
>>328
プログラミング用のエディタ使えば?
0332名刺は切らしておりまして
垢版 |
2019/11/26(火) 18:09:12.81ID:BFyMmi+N
インデントの方がずれた時に面倒くさくないか
0336名刺は切らしておりまして
垢版 |
2019/11/26(火) 23:18:59.60ID:qkXRyhAS
>>317
グーグルコラボ先生使えばTPUのいい環境手に入るぞ
個人のドライブマウントしてCSVファイルも連携出来るし
0337名刺は切らしておりまして
垢版 |
2019/11/26(火) 23:57:47.39ID:Rs5pzty4
意識高い系初心者がQiitaに記事を書き、日本語でググるとこしか知らない初心者がそれを見て混乱しつつ自分なりの解釈をQiitaに書き・・・
という微笑ましい負の連鎖
0339名刺は切らしておりまして
垢版 |
2019/11/27(水) 09:08:24.92ID:jCGs4Ck0
>>334
sublime textに好きなプラグイン突っ込め
0340名刺は切らしておりまして
垢版 |
2019/11/27(水) 12:12:29.19ID:BwRtaHOj
qiitaは意識高い系のポエム率が高い。
0341名刺は切らしておりまして
垢版 |
2019/11/27(水) 12:25:05.78ID:vlzDXaxq
おまえら
いくつの言語使えるの?
0342名刺は切らしておりまして
垢版 |
2019/11/27(水) 12:29:22.67ID:KK2c3cvV
>>328
インデントレベルの違う場所にコピペするときに全部手動で間違えずにインデント変えていくほうが手間じゃ
0343名刺は切らしておりまして
垢版 |
2019/11/27(水) 18:37:43.98ID:L9o53BQa
>>64
わかる。pythonの言語仕様はほとんどジョーク。モンティパイソンだけのことはある。
3系まで来てまともになったけれどそれでも使いたくない。
0345名刺は切らしておりまして
垢版 |
2019/11/28(木) 08:27:57.36ID:23zTqpCC
Pythonには罪は無いんだけど、Python推しの奴がウザい
0346名刺は切らしておりまして
垢版 |
2019/11/28(木) 08:35:46.86ID:jNSRA2vr
>>345
それな
0347名刺は切らしておりまして
垢版 |
2019/11/28(木) 09:23:18.12ID:wXCUnfmX
本屋さんいくと、pyばっかりだよな。

少し前はなんだっけ?HTML5とか、JAVAとか?phpとか?wordpressか。
その前はなんだろ。
0348名刺は切らしておりまして
垢版 |
2019/11/28(木) 09:42:47.49ID:J9G1CDqx
>>347
Delphi
0349名刺は切らしておりまして
垢版 |
2019/11/28(木) 09:50:15.40ID:J9G1CDqx
まあ非プログラマがちょっとした処理を自動化したいなら良い言語だと思うよ。構文も非プログラマには既存のより理解しやすいっぽいし。
しかもライブラリ多いから手間がかからない。なんなら深層学習へも簡単につなげられる。
残念なのはライブラリ含めてバージョンによる仕様の差がけっこう大きいからqiitaとか参考にすると死ぬ。あそこ、すっかりクックパッド化したな
0350名刺は切らしておりまして
垢版 |
2019/11/28(木) 10:17:00.13ID:4IF1IHk6
>>328

見込みなし
やめれば
0351名刺は切らしておりまして
垢版 |
2019/11/28(木) 10:19:05.26ID:4IF1IHk6
>>308

C/C++がベースにないプログラマとは仕事しない
0352名刺は切らしておりまして
垢版 |
2019/11/28(木) 10:19:52.83ID:4IF1IHk6
python読みのpython知らず
0354名刺は切らしておりまして
垢版 |
2019/11/28(木) 10:24:01.36ID:4IF1IHk6
どうせなら
「ラーメン屋がPythonを学ぶ理由」
にしろよ
0355名刺は切らしておりまして
垢版 |
2019/11/28(木) 10:31:37.19
括弧が合わないエラーで悩むことが多いから
エディタに対応括弧を表示させる機能があるんだろ
JSONの終わりってこの機能使って見つければいいのか
Chromeのページソース閲覧にこの機能あればいいのに
0356名刺は切らしておりまして
垢版 |
2019/11/28(木) 10:31:56.76ID:4IF1IHk6
>>353

そんな呆けたこと言っているのは日本人だけだ
0357名刺は切らしておりまして
垢版 |
2019/11/28(木) 11:21:10.40ID:mxLRyaax
>>354
あーそれいいねぇ
味の変化を季節などでどうつけるか
みたいな
0358名刺は切らしておりまして
垢版 |
2019/11/28(木) 12:20:38.51ID:X2MI4DCN
>>354
売り上げ予測とか、機会学習でめにゆ〜を自動提案するとか。

そもそもラーメン屋が本屋にこないしプログラムの勉強する発想になるとはおもえないけどねww

味の追求、これのみ。
0360名刺は切らしておりまして
垢版 |
2019/11/28(木) 15:54:03.80ID:kfTpSWAD
>>355
あるまとまった処理に対して条件振るためにループの中に入れましょう
おっと、特定の条件ではまずいから条件分岐の下に入れましょう
いっそのことプロシージャにしましょう

カッコでくくってインデントはエディタに投げればいい言語と
自分でせっせとインデント付けていく言語とどっちが楽だよwwww
0361名刺は切らしておりまして
垢版 |
2019/11/28(木) 19:42:25.99ID:TLoT6hpi
ここ読んでC++の評価が高くてびっくりしてる
他の言語の学習者だけど、何が違うの?
知りたい
0362名刺は切らしておりまして
垢版 |
2019/11/28(木) 20:24:19.86ID:t3AQt+Cm
特別、C++がいいとは思わないが
たとえばJava、C#などと比較して
しかしコンパイラがいいのが多くあり速度はでる
0363名刺は切らしておりまして
垢版 |
2019/11/28(木) 21:05:01.20ID:k1AYfDKy
>>361
とりあえずほぼなんでもできるのと、プログラマが制御できる範囲が広いので高速化しやすい。
0365名刺は切らしておりまして
垢版 |
2019/11/28(木) 22:45:36.18ID:Mw+VasRo
むしろ非プログラマのためのPython
計算機がわり
0367名刺は切らしておりまして
垢版 |
2019/11/28(木) 23:08:23.86ID:TV/Qu6LM
うちの会社の蔵書コーナーに、開発者がつかってていらなくなった本がおかれてて、c++とunix本が数冊寄贈されてた。
他の言語はなかったなぁ。
0370名刺は切らしておりまして
垢版 |
2019/11/29(金) 12:14:46.87ID:octpEUqP
>>369
古い情報で十分役に立つんだなこれが
unixの基本的なところなんて少なくとも30年は変わってない
linuxだけを考えても20年前の知識が十分使える
0371名刺は切らしておりまして
垢版 |
2019/11/29(金) 12:20:35.52ID:MMbbu+u+
>>370
たしかにね。
ディストリごとの違いとかパッケージインストーラーのコマンドとか、initがいまは別の奴になったとかあるけど、基本コマンド(cpとかcatとかのレベル)は廃れないな。
てかwindowsもマウスでD&Dするとか基本操作は20年かわってないか^ ^;
0372名刺は切らしておりまして
垢版 |
2019/11/29(金) 13:52:00.38ID:jdMXhY7w
>>1
言語を学ぶ目的ならそれこそ学習用に作られたDelphiこそベストでは
その後は割とスムーズにC#へ移行できる
0375名刺は切らしておりまして
垢版 |
2019/11/29(金) 14:21:18.08ID:2LsOaip5
>>363
逆に言えばプログラマが全部面倒見るってことだけどな。
0376名刺は切らしておりまして
垢版 |
2019/11/29(金) 14:35:00.12ID:UcP/HsOP
字下げで構文まとめるんでなくて、begin・・・endでまとめて欲しかったな。
あと文末に;をつけるようにしてほしかった。

あとC系みたいに、いちいちvoidがどうのこうのとか、毎回同じことをまじないのように無駄に書かせることがないのは良い。

でもPythonはAI計算とかでも使われるそうだが、pi(=3.14)くらいは標準で持っててもよくない?
mathモジュールを組み込むわけだが、こういう定数であるべきものを書き換えられるってどういうこと?
これはPythonの欠陥だよね?
つまり
>>>math.pi とコマンドラインで入力すると、
3.141592653589793
と返すんだが、

>>>math.pi=4 とすると
4
と平気で返してくれる。
ここはエラーを出して、piの値は変更できないようにすべきだろ。

あと配列なんかも。
これはPythonだけでなくC系もそうだが、0から数えるんじゃなくて1から数えてくれよ。
a=[10,20,30]とおくと
a[0]=10,a[1]=20,a[2]=30でなくて、
a[1]=10,a[2]=20,a[3]=30にしてもらいたかった。

人はモノを数える時は1から数えるだろ?0から数えるバカはいない。
 
0380名刺は切らしておりまして
垢版 |
2019/11/29(金) 18:57:22.13ID:mc7FIBcj
モンティパイソンは5人組のお笑いグループだから、
pythonに対抗してdriftersって言語があってもよくない?
0381名刺は切らしておりまして
垢版 |
2019/11/29(金) 19:13:34.83ID:mc7FIBcj
>>376
繰り返し処理で0から数えるのはメモリ内部が0から数える仕様だから仕方ない。
0から始まると内部ではシフトで四則演算ができるから処理が早いし、変数の格納メモリもCPU近くのものを使う。

逆に繰り返し処理するときにクラスのパブリックパラメーターを使用するとエラーになるケースがある。
スクリプト系はなんでもヒープメモリに入れてごっちゃだからエラーにはならない。当然遅い。

どうしてもいやなら大概の言語にはイテレータがあるからそれを使えばいい。
item in items
part in group
みたいなやつでループするやつね。
■ このスレッドは過去ログ倉庫に格納されています

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