0
0
AIのお陰か、近年Pythonが人気を呼んでいますね。
ただ、実行速度はC言語の数百倍から数千倍遅く、多くの場合APPとして実用になりません。
テスト段階でインタプリター言語として利用できて、テスト完了して、コンパイルできる=例えば VBのような言語への進化する可能はないでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
回答16件
#1
総合スコア144072
投稿2023/02/05 11:56
多くの場合APPといて実用になりません。
どのような前提でそう言っているのでしょうか?Djangoなどは実用可能なシステムとなっています。
#2
総合スコア1972
投稿2023/02/05 12:17
Cython があるじゃないすか
#3
メッセージありがとうございます❣
ごめんなさい!補足説明します。
WEB系やマンマシンインターフェースのようなAPPならPythonで十分かと思います。
ただ、せっかくAI関係の実装に利用されるんだから(AI関連の新しい論文はほぼ例外なくPythonで実装して実験をやっています)、
例えば、リアルタイムに対象物認識のAPPや速度に要求のある工業検査(例えば、workの画像検査)、知能信号処理(リアルタイム必要)
高速に装置故障の診断・警報、車の自動運転制御、等等に利用できなければ、もったいないですね。
現にCやC++でも速度的に厳しい製造現場からの要望である以上、現状のPythonの実行速度はとても無理でしょう。
Pythonの表現の簡潔性と機能の豊富さからすれば非常に残念に思いますが。。。
#4
総合スコア11966
投稿2023/02/05 12:56
現状のPythonの実行速度はとても無理でしょう。
実際やってみたということでもなさそうなので、なんとも言えないのですが、自分のところではすでにいくつかpythonでそういうことを商用でやってたりしますので、充分実用になる速度で利用できていると思っています。
また、指摘されているところのAI関連のモジュールは、たいてい実装部分はC言語などで作られていて高速に処理できたりします。
現にCやC++でも速度的に厳しい製造現場からの要望
ということだと、現用の技術では難しいということだと思うので、究極的には量子コンピュータなどの技術的なブレークスルーに期待すべきところではないかと思います。
#5
総合スコア1320
投稿2023/02/05 12:59
編集2023/02/05 13:06AI関連の新しい論文はほぼ例外なくPythonで実装して実験をやっています
高速に装置故障の診断・警報、車の自動運転制御、等等に利用できなければ、もったいない
コーディングのしやすさと実用のしやすさを比較するとこういう認識になるのかもしれないですね,実際は比較不可能なので,実用に向けて適切に変換するのが常套手段です.
Tensorflow/KerasやPyTorchで作成されたモデルはC/C++に変換後FPGAで動くよう高位合成し,検証を行って高速に動作できるようハードウェアに落とし込まれます.つまり.Pythonで機械学習を研究して得られた知見は,高速で動作するようHDL等に変換する環境が既に整っています.
したがって,
総合スコア14
投稿2023/02/05 12:24
編集2023/02/05 12:53
メッセージありがとうございます❣
ごめんなさい!補足説明します。
WEB系やマンマシンインターフェースのようなAPPならPythonで十分かと思います。
ただ、せっかくAI関係の実装に利用されるんだから(AI関連の新しい論文はほぼ例外なくPythonで実装して実験をやっています)、
例えば、リアルタイムに対象物認識のAPPや速度に要求のある工業検査(例えば、workの画像検査)、知能信号処理(リアルタイム必要)
高速に装置故障の診断・警報、車の自動運転制御、等等に利用できなければ、もったいないですね。
現にCやC++でも速度的に厳しい製造現場からの要望である以上、現状のPythonの実行速度はとても無理でしょう。
Pythonの表現の簡潔性と機能の豊富さからすれば非常に残念に思いますが。。。
#6

退会済みユーザー
総合スコア0
投稿2023/02/07 03:01
コンパイルできる=例えば VBのような言語への進化
コンパイルの意味次第だが、ネイティブ化はまずあり得ない(後述のJITと同じ理由)
現在のPythonはインタプリタ形式ではあるが、バイトコード・インタプリタと呼ばれるもので、
実行の仕組みとしてはJavaやC#と変わらない(若干乱暴な括りではあるが)
実際にPythonはPVMと呼ばれる仮想マシン上で動作しており、
その仮想マシンで動作させるためのバイトコードをソースコードから生成(コンパイル)している
バイトコードは事前に生成することもできるし、Pythonのプロセスに任せることもできる
実行速度の面でJavaやC#との違いと言えば、仮想マシン側にJITコンパイラーの存在
公開された当初散々遅いとされたJavaもJITによってC++並の速度を出せるようになった
では何故PythonでJITコンパイラが標準とならないのか
それは弱い型付け言語であることが原因と考えられる
Cython、もしくはPython用JITの実装であるNumbaが最適化可能なのは、
ある程度型が推論できる箇所に限られ、きちんと対応するには型をコード上で指定する必要がある
こうなると
Pythonの表現の簡潔性
とはほど遠いものとなる
最初に述べたコンパイルによるネイティブ化も同様で、
マシン語を生成するには曖昧さを排除する必要があり、
弱い型付け言語のままでは実現するのは相当困難である
#7
_deathさまのご返答は本質的かも知れません。
変数型の指定の有無に関するジレンマ、ジレンマ
せめて、最初数回実行時の各変数に適切な型名を自動的に記録して、それ以降再実行する時に、それを仮定してコードを生成されるべきですね。
ソフトウェア工学の革命革新があまり出ません。
人工知能がこれほど発展されてきたのに、全然利用されていません。
#8
総合スコア144072
投稿2023/02/13 04:17
Rubyではmrubyという組み込み向け仕様が出ているので、Pythonもそういった組み込み向けの派生がでてくることは考えられます。
#9
歴史からすれば、元々ハードウェア回路そのもので実現した機能は段々ソフトウェアで実現されてきました。
開発コスト、柔軟性、機能性からすれば、革命的な出来事でした。
社会的なメリットは測れません🌺💫
Pythonは天才児の一人ではありますが、欠点は尚多く、本質的、革命的な進化に怠慢していると思わざるを得ません!
Pythonは言語としてAIに大きな貢献をなさってきたが、AIでPython自身の言語としての進化はまったく見られません。
怠慢か能力の限度か?
#10
梦梦梦梦梦梦梦梦梦梦梦梦梦
変数type自動的に決めてくれるばかりか、多くの機能でさえAIとbig data技術で自動的にLIBを選択してくれ、コードを自動生成してくれるのは近い将来の計算機言語の基本姿でなかれななりません。
今まで奴隷状態のプログラマーは人間言語に近い表現形式でコーディングすればOKです。
梦梦梦梦梦梦梦梦梦梦梦梦梦
#11
総合スコア1972
投稿2023/02/15 06:31
そのうち AI でそうなるんじゃないですかね。
私の食い扶持がなくなるので数十年後でお願いしたいところですけれども、5年後さえ怪しいですね。
#12
総合スコア144072
投稿2023/02/15 06:33
#13
メッセージ有難うございます!
>Pythonに関する意見交換ではなかったのですか?
そうですね。 自分はいつも『意見』とはいろんなものを許します。
学問、知識、理想、見解、事実、歴史、アイディア、梦、批判、経験、テクニック、、
ありとある有益な情報、コミュニュケーションを大歓迎致します。
場合によって私の理想、見解、梦、文句も述べらせていただきます。
#14
総合スコア144072
投稿2023/02/16 04:34
総合スコア14
投稿2023/02/15 05:46
梦梦梦梦梦梦梦梦梦梦梦梦梦
変数type自動的に決めてくれるばかりか、多くの機能でさえAIとbig data技術で自動的にLIBを選択してくれ、コードを自動生成してくれるのは近い将来の計算機言語の基本姿でなかれななりません。
今まで奴隷状態のプログラマーは人間言語に近い表現形式でコーディングすればOKです。
梦梦梦梦梦梦梦梦梦梦梦梦梦
既存の言語を拡張する場合、(例外は存在しますが)基本的には過去との互換性を図る必要があります。
全く新しい機軸でものを作ろうとした場合、既存の言語を拡張する手間より、新たな言語として過去のしがらみゼロから行うほうが遥かに楽なのです。
#15
貴重なご意見ありがとうございます。
アセンブラ言語から『高級言語』への普及の時代ありました。
ソフトウェア開発の量の莫大、複雑さの高度化という時代の要望からすれば、人口減少の趨勢も含めて、
これまで驢馬的な立場のプログラマーの状況はいずれ革命的な変化を起こさなければなりません。
言語の名前、通用性の範囲、程度はケースバイケースに限定する事はできますし、些細な事で、最重要ではありません。。。。人類の進歩も技術の進歩も第一です。
人類の知的な特性の一つ:楽への追求。 ➡➡ あらゆる進歩の動力と原因
#16
総合スコア6
投稿2023/02/20 17:31
Python3.11から4回のリリースのたびに1.5倍の高速化を行い、最終的に5倍の高速化を目指す、Faster CPythonと呼ばれるプロジェクトがあり、C言語と同等の速度が目指されています。
https://atmarkit.itmedia.co.jp/ait/articles/2211/01/news027.html
同じタグがついた質問を見る
Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。