【IT】プログラマーだけではない、全ての人がPythonを学ぶべきたった1つの理由
■ このスレッドは過去ログ倉庫に格納されています
「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/ どうせなら
「ラーメン屋がPythonを学ぶ理由」
にしろよ 括弧が合わないエラーで悩むことが多いから
エディタに対応括弧を表示させる機能があるんだろ
JSONの終わりってこの機能使って見つければいいのか
Chromeのページソース閲覧にこの機能あればいいのに >>353
そんな呆けたこと言っているのは日本人だけだ >>354
あーそれいいねぇ
味の変化を季節などでどうつけるか
みたいな >>354
売り上げ予測とか、機会学習でめにゆ〜を自動提案するとか。
そもそもラーメン屋が本屋にこないしプログラムの勉強する発想になるとはおもえないけどねww
味の追求、これのみ。 excel操作したいならpythonかC#あとVB.NET >>355
あるまとまった処理に対して条件振るためにループの中に入れましょう
おっと、特定の条件ではまずいから条件分岐の下に入れましょう
いっそのことプロシージャにしましょう
カッコでくくってインデントはエディタに投げればいい言語と
自分でせっせとインデント付けていく言語とどっちが楽だよwwww ここ読んでC++の評価が高くてびっくりしてる
他の言語の学習者だけど、何が違うの?
知りたい 特別、C++がいいとは思わないが
たとえばJava、C#などと比較して
しかしコンパイラがいいのが多くあり速度はでる >>361
とりあえずほぼなんでもできるのと、プログラマが制御できる範囲が広いので高速化しやすい。 非プログラマがパイソン学んでどうするの
プログラマになる気も能力もないぞ俺は むしろ非プログラマのためのPython
計算機がわり うちの会社の蔵書コーナーに、開発者がつかってていらなくなった本がおかれてて、c++とunix本が数冊寄贈されてた。
他の言語はなかったなぁ。 >>361
定義や宣言が多くて煩わしい=自分が思ってなかった型になってたりしない >>369
古い情報で十分役に立つんだなこれが
unixの基本的なところなんて少なくとも30年は変わってない
linuxだけを考えても20年前の知識が十分使える >>370
たしかにね。
ディストリごとの違いとかパッケージインストーラーのコマンドとか、initがいまは別の奴になったとかあるけど、基本コマンド(cpとかcatとかのレベル)は廃れないな。
てかwindowsもマウスでD&Dするとか基本操作は20年かわってないか^ ^; >>1
言語を学ぶ目的ならそれこそ学習用に作られたDelphiこそベストでは
その後は割とスムーズにC#へ移行できる いまだに unmount 1つ組み込まれてないからな
powershell で長く連結してようやくだ >>363
逆に言えばプログラマが全部面倒見るってことだけどな。 字下げで構文まとめるんでなくて、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から数えるバカはいない。
>>376
現在位置から相対的な位置の要素を循環的に参照するとき
0発進だとmod Nとればいいから楽なんだよ モンティパイソンは5人組のお笑いグループだから、
pythonに対抗してdriftersって言語があってもよくない? >>376
繰り返し処理で0から数えるのはメモリ内部が0から数える仕様だから仕方ない。
0から始まると内部ではシフトで四則演算ができるから処理が早いし、変数の格納メモリもCPU近くのものを使う。
逆に繰り返し処理するときにクラスのパブリックパラメーターを使用するとエラーになるケースがある。
スクリプト系はなんでもヒープメモリに入れてごっちゃだからエラーにはならない。当然遅い。
どうしてもいやなら大概の言語にはイテレータがあるからそれを使えばいい。
item in items
part in group
みたいなやつでループするやつね。 >>372
おれもdelphi信者だったがDelphi高すぎなんだよ。
安くても20万、たかいものは150万ぐらいする。
車買えるよ。いらねーけど。
そんな高額をペイできるビジネスなんて限られている特に日本では、アーキテクチャもx86からsnapdragonへ移行せざるを得ないのもわかる。
スマホがらみのビジネスへ切り込まないとdelphiは生き残れないね。
javaの対抗馬がC#
C#を開発させるためにビルゲイツがborlandからdelphiのメインプログラマのヘジルスバーグを引き抜いた。
だから言語仕様は似ている。
javaもC#もどちらもポインターが扱えないからエラーが起きにくい。 Delphiが高いのは、高くしないと製造したり労働者に賃金払えないからだろ
信者が1/10になれば価格10倍にしないとなりたたず 今でもかとおもうが
マイクロソフトのコンパイラも有料(のみ)だった時期もある
グーグルの無料サービスなんかでもそうだが、かなりシェアがとれれば無料化にいけて
デルファイとかが少数の信者に販売するしか生き残れないだろう ターボパスカルやターボCは2万だった気がする
当時MSCは10万近かった CMDを立ち上げて、動くとかいうコードをコピペしても、動作するか?
癖ありな奴らが、無料案内しているのが多いだろ 小役人臭が強いところもあるしな。 凶悪な爬虫類の名前を付けた当然の帰結か、それを予想していたか Delphiはまだ続いていたのか。
素晴らしいツールだった。 なにこのあほ記事〜理由でネタを考えてください
お駄賃あげますで頑張って書いた駄文か mql4もしくはpinescriptを学ぶべきって人いない? >>99
そのカンタンなプログラムってのが思いつかない
別に作りたいプラグラム無いやっていう・・・ Delphiは言語ではなくて出来上がった実行形式が素晴らしかったな >>392
結局これ
プログラミング教育を義務化しても何を作ればいいかわからんやつには身につかない
英語で喋りたいこともないから英語が身につかないのと一緒 正直、javaにライブラリ揃えばそっちにいくと思うわ >>395
ピタゴラ装置って役に立たなくても見てるだけで面白いやん。
あんな感じで、子供の頃は別に作りたいものがなくても
自分が書いたプログラムが動いてるの見てるだけで面白かったな。 作るものが無いだなんて怠惰の精神が足りないんじゃないか? >>400
楽するために苦労してスクリプトを書くのは王道だな ■ このスレッドは過去ログ倉庫に格納されています