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/
0003名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:47:53.76ID:a42uG7+T
ずばり言うわよ
0005名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:49:40.23ID:X8rSDfLa
糞記事
0007名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:51:27.16ID:ZMn2Okln
このスレは日経に何を購入すると許されるのですか?
0008名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:51:45.87ID:ZMn2Okln
このスレは日経[の]何を購入すると許されるのですか?
0009名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:51:47.48ID:5GOEH+ZT
>>4
これ

言語仕様としては大分クソ
0012名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:52:17.61ID:h2ZPIsSp
Cもしらないやつばかり苦笑
0013名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:52:56.44ID:HS4sSl/7
しかしこのご時世老いも若きもスマホでTwitterで承認欲求の発散にご執心な様子
PCでのみ出来ることの多さも考えないでスマホで十分とか言い切っちゃう
0016名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:54:48.95ID:ZMn2Okln
テキストで記載する方法が既に時代遅れなのではないかと
これからは文字を利用しない方法のプログラミングが必要なのでは?
可視性が悪いし文字一文字違うだけで別ってのは
チェックするだけでも全体把握するだけでも労力がいる。
複雑なものをもっと簡単な方法で作る方法が大事なのではないかと。
そこには文法とか可読性を超えたものが必要だ。
0018名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:55:37.90ID:HS4sSl/7
そういやDelphi(1)の初回特典の変なTシャツ未だに持ってるわ
胸にClickボタンが大書きされてる奴
0019名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:56:29.88ID:HD82Qm9k
perl5 の後継っぽくライブラリ開発が進んでバズっただけ
人類の全てが学ぶほどのことはない
0020名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:56:35.28ID:JaLmwbkG
>>4
そのライブラリをどっかから調達してこないと殆ど何にもできない。
0022名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:57:28.29ID:HD82Qm9k
>>16
haskell やれ
0024名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:58:11.09ID:BlJc+wqg
愛に満ち溢れているから?
0025名刺は切らしておりまして
垢版 |
2019/11/24(日) 19:59:31.99ID:0OdOQQ8m
>>4
ですね
0026名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:01:29.32ID:m3tZXaxz
>>23
あれか
スマホがメイン機だとすれば
HDMI出力(無線)&青歯キーボード&マウスってとこか
あらやだカッコイイ
0027名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:06:48.98ID:RleO2j+E
>>4
他の言語にある for (i=0; i<100; i++) みたいな書き方ができないとか
たしかに多少の癖はあるかな
あとPythonの標準リストとNumPy配列が別物なのもいちいち面倒くさい

ただインデント(字下げ)は、やっているうちに慣れたし
ソースも見通しやすくて、全般に悪い言語ではないと思う
0028名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:09:30.46ID:AD4hI79A
pythonは初心者の俺でも
人間の言語に近いのか扱いやすかった
ただし開発環境UIをジジイババアでも使えるようにしないと
革命とは言えない
0029名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:12:45.82ID:t/x5bVwk
aとbの比較で等しくないとき、a!=bと書くのが気に食わない。
a<>bでいいだろうに!

等しいとの比較もa==bが気に食わない。
a=bでいいだろ。
その代わり値の代入は「:=」を使えばよろしい。
 
C系やる奴は馬鹿でキチガイだと思う。
for (i=1, i>=10, i++) {
・・・
}
とか、構文がバカすぎて何も言えない。
{}も気に食わない。

正常な人の思考なら、
for i=1 to 10 do
 begin
 ・・・
 end.
だろうに。
 
0031名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:19:41.58ID:+UZqTA7W
言語には二種類しかない
Pythonか、それ以外かだ
0032名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:19:51.86ID:PUTyhz4K
5分で理解できた
そんな仰々しいものじゃないよ
0034名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:21:53.07ID:MWapx7To
50代の俺がつい最近触ってみた感想は
DOS時代のBATファイル?って感じかな
おっさんの方がとっつきやすいのかもしれん
0035名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:27:38.73ID:S1R0M42E
インデントが構文要素になってるのは、アイデアとしては面白いガ
実際のところ閉じてないと気持ち悪くないか?
0038名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:32:08.11ID:GpdlVVNf
Pythonがこのまままら、Juliaが来るだろう。
0039名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:33:11.46ID:SIw5ePDq
>>29
>>33
Pascal懐かしい(笑)
0043名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:37:29.28ID:ORGnBHAs
pythonのいいところは・・・exeが作れるところ!
0049名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:40:02.15ID:/TJJfmUQ
>>12
むしろCしか知らない奴の方が使えない
他人がメンテしやすいコード書かないしテキスト文字処理までいちいちCで書くとか柔軟性に欠ける奴ばかり
0050名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:44:20.90ID:Ug1Da/5d
これは多いに誤解される
Pythonがいいというよりライブラリだ
グーグルとかが参加してて
グーグルがルビー、Javascript、タイプスクリプトに乗り換えたら話はかわる
0051名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:45:05.07ID:us6+DmiR
>>49
Cを知らないやつが書いたコードは、どの言語使おうが効率悪いやつ多いな
ライブラリの中身がどう実装されてるかイメージできずに使ってるからな
0052名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:47:41.36ID:O4282wm9
import this;
0055名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:49:50.46ID:Ug1Da/5d
JavaScript派生の「TypeScript」が爆発的人気--RedMonk分析
2019-09-15
プログラミング言語にははやり廃りがあるが、「TypeScript」の利用の急速な普及が衰える気配がないことを示す新たな証拠が公開された。
https://japan.zdnet.com/article/35142674/


Python開発の“優しい終身の独裁者”は「TypeScript」から何を学んだか
2019-10-05
https://japan.zdnet.com/article/35143547/
0056名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:52:55.61ID:5L5BdpGz
>>27
まずfor (i=0; i<100; i++)みたいな処理は実務でないので問題ない
0057名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:53:59.85ID:Ug1Da/5d
Microsoft、組み込みデバイスをターゲットとしたTypeScriptの高速サブセット”Static TypeScript”を発表
2019年11月7日
https://www.infoq.com/jp/news/2019/11/static-typescript-msft-paper/



JavaScript開発者が機械学習モデルを構築できる「TensorFlow.js」の使い所
2019-09-28
ウェブスクリプト言語を使って機械学習モデルを構築し訓練するのは野心的な取り組みに思えるかもしれないが、
2019年の現在では、それは完全に実行可能なことだ。
ブラウザーでの機械学習を可能にするのに役立つのが「TensorFlow.js」だ。
TensorFlow.jsは、「JavaScript」を使用して機械学習を実行するためのGoogleのオープンソースライブラリーである。
先頃、バッハ風のメロディーをオンデマンドで生成する「Google Doodle」によって、TensorFlow.jsが切り開いた大きな可能性が示された。
https://japan.zdnet.com/article/35143214/
0058名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:54:13.40ID:b6Hw0cRd
底辺の最期の希望
0059名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:58:00.13ID:MBCgjV1m
頭悪そうな記事
0060名刺は切らしておりまして
垢版 |
2019/11/24(日) 20:58:35.63ID:0RJFAi6J
とか言ってるけど、python の熟達者は C のコードも書くからね。
0061名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:00:34.48ID:0RJFAi6J
>>16
人間はなんでも文字で表現するからね
他の方法ももうあるし、それらはやっぱり
裏で文字で表現してるよ
0062名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:03:36.31ID:0RJFAi6J
Range 使えば普通に算術ループできますやん
ホラはあかんよ、ホラは
0063名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:04:37.98ID:2h0Q6/x9
昨日、初心者に使わせようとしたけど最初につまづいたのは「pythonってコマンド打ってもcommand not foundになる&#128555;」だった
まあpython3ってコマンドしか用意されてなかっただけだけど初心者がこの手のしょうもない話に脅かされるうちはおすすめできん
0064名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:05:28.25ID:d2LPyxxg
ブロックをインデントに束縛して
コードの個人差を減らして保守性を向上させたのは良い点だと思う。

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

len()とかsorted()とかをiterableのメンバにせずに
標準関数で外出しにしてるのとかもイラッとくる。
jsがスマートな言語に見えてきて仕方ない。
0065名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:05:44.46ID:0RJFAi6J
>>57
ああ、これね
曲作ってみたよ
0067名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:06:59.41ID:Hc4/7aY+
全ての人が日経ソフトウエア読まなきゃな
0068名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:07:38.74ID:0RJFAi6J
最近は他の言語用のAIエンジンも増えてきたから
まあ、いつまでも独壇場というわけにも
いかんだろうな
0069名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:10:29.32ID:0RJFAi6J
まあ、結局 C だけが生き残ってる
っていうのは、いつものパターンだな
まあ、色々呼ばれちゃうから、しょうがないんだけどね
0070名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:11:29.11ID:0RJFAi6J
>>29
きちがいが好きな言語が50年も生き残るかね?
0071名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:12:17.93ID:0RJFAi6J
>>33
何にもしないしね
0072名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:14:18.38ID:0RJFAi6J
>>64
ジョークだよね?
0075名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:19:11.29ID:TIsbfYbY
初っ端Pythonって正直どうよ
仕事で扱わないならもっと触りやすい言語いくらでもあるやん

>>13
そんな奴にはそれこそスマホで十分だろう
個人的にはどう頑張ってもおもちゃ程度だとは思うが
0076名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:22:04.49ID:ayfQA64t
どうせ定年まであと7年なので今のまま
JavaとPHPとOracleとExcelとVBAでフィニッシュするわ
Pythonその他は定年後の趣味の一つにでもしとく
0077名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:25:54.23ID:Fuw13Y7k
なんとかすべき、なんとかな理由
って記事は大体中身がない。
0078名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:26:28.08ID:SOWLC5mG
>>68
AIだけじゃない、数値計算用のライブラリが揃ってるのが Pythonの強み
0079名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:35:52.45ID:9Ki5eZxh
ラインエディタの頃の
cはシステム領域とかおかまいなく破壊してくれたよね
てかpythonってlinux系だと
Mailmanでさわった記憶しかないや
なんで今更とかは思う
0080名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:36:28.85ID:U8powpTr
 40後半のおじさんだけど、最近仕事でほぼ一からプログラミングの勉強始めた。
ちなみに、初めてのプログラミング言語は、Turbo Pascal。
 正直、Pythonは難しい。初心者にはお勧めできない。CNNとか使わないなら、R
の方が良いでしょう。NumPy、Pandas、Matplotlibを使いこなすのに学習コスト
がかかりすぎる。型の変換が難しい。「こうすればできる」系の情報は多いが、
仕組みを丁寧に解説しているところは非常に少ない。
 コードが少なくて済むので、本が薄くなるところとAI系のライブラリがPythonし
か無いものが多いというところだけなんじゃないか?良いところは。これで大規模
な開発ができる人は凄いと思うわ。素人考えだけど。
0081名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:38:22.40ID:S35RKSnm
>>29
><;こうですか!癪にさわります
0082名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:39:33.14ID:yTIemTk8
グルー言語としての能力はどのスクリプト言語も大差ないand好みの問題だから、
結局マジョリティ志向になってしまうな
0083名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:40:51.75ID:6l6HmKxA
PythonはAI手段の一つに過ぎないしそのAIもまた目的のための手段の一つに過ぎないだろ
飯を食う事が目的なら剣でも槍でも鍬でも鉋でもいいと思うが。
0085名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:42:26.55ID:ictlI0sL
>>1
pythonマスターしたけど、組み込み系ではC++が成長株、Linux C++出来る技術者が足りないとか言われる。
0086名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:44:00.55ID:yiO1Gvwd
テキストエディタでチョロっと書いただけで動けばいいのに
環境構築とかめんどいわ
ライブラリとかなんやねん
0087名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:46:19.36ID:d2LPyxxg
デフォルト引数の定義のアレも気に入らんし、
メソッド第1引数もなんであんな仕様のまま放置してんのかと
0088名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:46:39.90ID:ictlI0sL
>>51
Linux Cの技術者は腐るほどいるが、人余りなんだよな
0089名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:48:50.48ID:ictlI0sL
>>83
組み込みにAIは重すぎる。
簡易AIのロジック組んだソフトぐらいが限界。
0090名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:50:46.91ID:WIywo/39
>>84
俺も50超えたけど何とか生き残ってるわ
早くにファイルやBTreeあたりからRDBへ切り換える仕事がWindowsとセットになって出来たのが大きかったな
俺も>>76さんといっしょでPHPとJavaScriptでもういいかなって思ってるわ
0091名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:53:49.35ID:TK6uyRd6
ここまでアセンブラ必修おじさんきていない
0092名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:53:50.92ID:S3ISkRN/
この意味の万能性って、何も言っていないに等しい
2本脚があれば、大陸の端から端まで行けるというような話だから
0093名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:56:40.94ID:9F8OUa4B
まあ遅いからね。
0094名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:58:09.99ID:d2LPyxxg
今のご時世、「Javascript」と言われたら、
どこからどの辺まで含むのかもやもやする。
0095名刺は切らしておりまして
垢版 |
2019/11/24(日) 21:59:29.15ID:ZMn2Okln
>>57
マイクロソフトは
Windowsを正常に動くようにする事が先だよ。
頻繁に再起動するOSで開発なんてできたもんじゃない。
0097名刺は切らしておりまして
垢版 |
2019/11/24(日) 22:00:20.33ID:Ug1Da/5d
>>76
Pythonはいまだけの可能性
もっといいやつ出ればAI絡みは別言語へ乗り換える可能性
いつやるの? 今でしょな言語
0098名刺は切らしておりまして
垢版 |
2019/11/24(日) 22:02:52.12ID:yavTKAQH
いまさらな記事。
だから何だよ。
5年前に書いてれば褒めてやったけど。
0099名刺は切らしておりまして
垢版 |
2019/11/24(日) 22:03:43.44ID:eHe+gype
ゼロからやるならまずライブラリとか無しでBASICで
ループとかGOTOとか A=A+1とかを理解して
次に C をやって、 次にアセンブラ<-->機械語 で簡単なプログラムを組んで
実際の仕事では Cや構造化やオブジェクト指向のあるC++だな
Pythonは知らんが Cを知らんと何をやっても 基礎がわからんだろう
■ このスレッドは過去ログ倉庫に格納されています

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