今日のオリジナル番組


詳細を確認
予防医療は人生のリターンを高めるのか?
本日配信
222Picks
Pick に失敗しました

選択しているユーザー
いろんなプログラム言語が増えてきて、学生さんからもまずどれから入ったらいいですかと聞かれる機会も多いです。山崎先生書かれているように性格も能力も異なる多様性がある世界なので、それぞれの領域や目的をしっかり見定めた上で選ぶとしかいいようがない世界ですね。

それでも僕の領域である建築などであれば、いわゆる3Dモデリングのソフトウェア内でもカスタム化(ソフトウェア内でプログラム言語を使って同時の機能を部分的に追加する)の言語としてPythonをサポートしているのが標準化されてきているし、他の領域と接続する、その他ある程度ユーザーやデザイナー的立場で汎用性を求めるということだと、Pythonの優位性は確実に高まっているのは間違いありません。プログラム言語にもある程度トレンドがある中で、一応今始めるならPythonがいいんじゃない?と言うことは実際多いです。

建築や3DCGなどの世界は特に、最近はいわゆるビジュアルプログラミングといわれる、アイコンを論理モデルのようにつないでいくタイプの、疑似的なプゴグラミングも実務の主流になりつつあります。そうした自分の主戦場で使うソフトウェアとの相性などもプロダクションで使う上での選択の重要なポイント。

もちろんもっとハードコアな開発やる人とか数学的な探求する人、むしろグラフィック領域の人とそれぞれ目的が変われば向いている言語も異なります。周辺の先行ユーザーの動向やネット上での評判、ユーザーコミュニティの状況やライブラリの充実度など、条件となる要素を把握してそれらのリサーチをする能力、自習できる能力や環境なども、これからのデジタル環境では重要になります。プログラミング言語の選択だけではない、より広い視野と行動力とのセットで教育も進めていきたいところです。
人気 Picker
Pythonは主に機械学習・深層学習にも使われますし、それ以外にもライブラリが充実しているので様々な分野で使われます。私は学部1年生向けにプログラミングを通じて数学や物理を理解するという演習を、3年生向けに人工知能演習を提供していますが、確かにどちらもPythonを利用しています。

Pythonはそもそもスクリプト言語で、コンパイル言語であるC言語と比べるには無理があるし、PythonでOSを作るなんてことはやりにくい。良し悪しを言い始めるときりがありません。

これまでの多くのピック記事で多くの方がおっしゃっているように適材適所です。プログラミングは道具です。例えて言うならペンチとラジオペンチの優劣を語るくらい無意味です。それぞれの言語の得意・不得意を理解し、使い分けることが肝要かと。

そういう意味ではいまのPythonは料理に例えると万能包丁、工具に例えると十徳ナイフくらいの「これさえあれば完璧ではないけど一通り大丈夫」的な使い勝手はあると思います。あと、他の方がPythonを使ってコードを書きGithubなどで公開されるので資産の蓄積がなされているのも大きいです。
こういう記事多いですけど、物足りなさを感じます。言語は用途によって使い分けるものだから、用途別のランキングとか、この記事の場合検索エンジンのクエリを元にしていると言うことだから、各言語において何が検索されているのかなどのコンテクストが知りたい。
「言語の歴史」を語る上ではこういうランキングも価値があるのだけれども、ビジネスを考えたり、キャリア作りを考えたりする上で、こうしたランキングを参考にするのはかなり危険。
プログラミング言語は用途によって強い弱いがあるので、ちゃんと考えて使いましょう。

しかし当然のように、「Pythonは機械学習で強いので使われています」と「OSなどでPythonを使用するにはメモリ消費量が多すぎる・計算が遅すぎる」って話が並んでるのは面白いよね。機械学習なんて計算の塊なので、計算の速さやメモリ消費量の少なさがものすごく重要。
このトリックは、「PythonのライブラリはPythonで書かれていない」ということで、機械学習は「ライブラリを呼び出す」という処理で大体できてしまう、というところにあるのが肝。ライブラリが豊富で、決まった処理をするのは早いけど、オリジナルの処理を書くと遅い。そこら辺はPythonの大きな特徴かな?
Pythonも使っているけど、Numerical Recipesが名著すぎていまだにFortranでコーディングしています。Mathematicaではエラーが出るような数値積分の実行や連立微分方程定式が解けたり、こちらの解決したい問題に対して柔軟に使えるのが強み。

>引用
『 Fortranがトップ20言語に再び定着していることは注目に値するといえるだろう。少し前の2020年7月のランキングでは、Fortranの順位は50位まで落ち込んでいた。しかし2021年に入り、Fortranの順位は20位まで急上昇した。1950年代にIBMで開発されたFortranは、今でも世界中のもっとも強力なスーパーコンピューターで頻繁にコーディングに使用されている。しかし、米国のFortran標準化委員会の委員の中には、この言語が歴史的に得意としてきた領域が、ほかの言語に侵食されつつあると考えている者もいる。Fortranの問題は、これに対抗しようにも、新しい機能を導入すると古いコードが動かなくなるリスクがあるということだ。』
よし、将来に備えてPython勉強しよう!

なんてことはどうでもいいとして、メモリの消費量に言語そのものが影響するとか、プログラミングを全くしない人からすると何のことだかさっぱり分からないかもしれないですね。
世の中の仕組みを理解するには、プログラミングが最適。

どの言語を使うか考えるのはもちろん楽しいけれど、まずはもっとたくさんの人たちに「プログラミングを通じて世の中を見る」という体験をしてほしいなぁ。
なかなか驚きですね。Phthonが1位ですか?!
記事にもありますが、Fortranがいまだにランキングしていることもびっくりです。
Pythonは環境が構築しやすいので重宝します。あと、他の言語は使ったことがないのでわかりませんが、コマンドが基本英語ベースのおかげかコマンドの意味を理解しやすいです。スマホ片手に調べながらプログラミングを行っても何とかなりました。
Fortranがあるのに、COBOLがない…Rubyがあって、うれしい。

(以下、記事中から引用)
2021年9月のTIOBEのプログラミング言語のトップ10は、C、Python、Java、C++、C#、Visual Basic、JavaScript、アセンブリ言語、PHP、SQLだった。

また11位から20位までは、Classic Visual Basic、Groovy、Ruby、Go、Swift、MATLAB、Fortran、R、Perl、Delphiとなっている。

※個人的な見解であり、所属する会社、組織とは全く関係ありません
一度Cをまともに勉強しておけばある程度どの言語にも順応出来るのかなと。
ヨーロッパの言語で言うところのラテン語みたいな。いや、知らんけど。