[雑談]プログラミング言語について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kuz
記事: 9
登録日時: 14年前

[雑談]プログラミング言語について

#1

投稿記事 by kuz » 13年前

ふとした自分のアホなつぶやきです。
雑談っぽいので[雑談]をつけさせていただきました。
まだまだプログラミングを始めて間もない自分なのでしばしば用語の使い方とか変だったらすいません・・・。

プログラミング言語っていろいろありますよね。JavaとかC#とかの言語は、
中間言語を生成して、実行時に機械語へ~・・・、というような実行形式だということですが。(詳しくないので違うかもしれませんが・・・)
その実行の過程で、どうしてもプログラムの実行速度は、ネイティブに比べて比較的低速になるといわれますが・・・。

そういうマルチプラットフォームに対して柔軟な言語で、
たとえば、Androidでいえば.apkのパッケージであったり、windowsであればインストーラみたいなレベルの時点で
目的となるプログラムを中間コードから、インストールするマシンに適応した機械語に翻訳して実行ファイルを生成する~っていうような言語って

あったりしないんですかね・・・?
そういう言語があったら、androidのスマートフォンみたいな実行環境が極端に異なって、あまり高速ではないマシン上でも、
柔軟かつ高速なプログラムを実行することができるんじゃないかな・・・と。ふと思いました。

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: [雑談]プログラミング言語について

#2

投稿記事 by beatle » 13年前

つまりC言語のような普通の事前コンパイル型と、JavaのようなJITコンパイル型の中間にあたる言語(というか処理系)があるかどうかということですね。
僕はそういう処理系を知らないのですが、やるとしたらパッケージのインストーラにコンパイラ機能を付ける必要がありますね。
そうなると、インストーラは単にファイルをコピーしたりレジストリを弄ったりするだけでなく、バーチャルマシンと協同で(または独自コンパイラを用いて)コンパイル作業を行うということになりますね。
大変そうですね。

kuz
記事: 9
登録日時: 14年前

Re: [雑談]プログラミング言語について

#3

投稿記事 by kuz » 13年前

Javaの実行にJavaのランタイムが必要なように。
インストーラー上でのコンパイルを行うためのコンパイラをランタイムとして必要とする~ようなものではどうでしょう・・・

でもそれってソースコード配って「みなさん、これ使いたかったら自分でコンパイルしてください。」っていってるみたいですかね・・・。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: [雑談]プログラミング言語について

#4

投稿記事 by softya(ソフト屋) » 13年前

kuz さんが書きました:Javaの実行にJavaのランタイムが必要なように。
インストーラー上でのコンパイルを行うためのコンパイラをランタイムとして必要とする~ようなものではどうでしょう・・・

でもそれってソースコード配って「みなさん、これ使いたかったら自分でコンパイルしてください。」っていってるみたいですかね・・・。
昔は容量の成約等で難しかったですが可能は可能だと思います。
ただ、スマートフォンとかだとコンパイル処理時間やコンパイラ自体の容量が厳しいでしょうね。
それにターゲットで動くコンパイラを先に用意しておく必要があるわけですから、そこも厳しいですね。

【補足】
win/mac/linx間とかなら何とか成る気もしますが、3種類のコンパイラやら環境を入れておくのかってことですよね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: [雑談]プログラミング言語について

#5

投稿記事 by softya(ソフト屋) » 13年前

Javaがインストール時に中間コード→機械語変換に対応していないのはJVMで守られるセキュリティ的な意味も大きそうですね。
やはり、メリット・デメリットの取捨選択の結果なんでしょうね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

kuz
記事: 9
登録日時: 14年前

Re: [雑談]プログラミング言語について

#6

投稿記事 by kuz » 13年前

そうなのですか・・・。
言語開発・・・には満ちませんが、こうして考えてみるだけでもとても難しいものですね・・・。

ところで、スマートフォンであればコンパイラ自体の容量が厳しいだろうとのことですが・・・。
Androidの端末などは工場出荷レベルで、Javaのランタイムが組み込まれているんではないでしょうか?(間違っていたらすいません・・・。)
そう考えると、あくまでその言語を主体的に取り扱うハードができたとすることを前提ですが、
容量問題についてはほぼ考える必要は無いのではないでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: [雑談]プログラミング言語について

#7

投稿記事 by softya(ソフト屋) » 13年前

kuz さんが書きました:そうなのですか・・・。
言語開発・・・には満ちませんが、こうして考えてみるだけでもとても難しいものですね・・・。

ところで、スマートフォンであればコンパイラ自体の容量が厳しいだろうとのことですが・・・。
Androidの端末などは工場出荷レベルで、Javaのランタイムが組み込まれているんではないでしょうか?(間違っていたらすいません・・・。)
そう考えると、あくまでその言語を主体的に取り扱うハードができたとすることを前提ですが、
容量問題についてはほぼ考える必要は無いのではないでしょうか?
androidだけに限定して考えればそうですね。
あとは、セキュリティの問題でしょうか。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

kuz
記事: 9
登録日時: 14年前

Re: [雑談]プログラミング言語について

#8

投稿記事 by kuz » 13年前

セキリュティですか・・・言語設計の考察程度でしかプログラミングなどをしたことがないので
そういうことについては、ちんぷんかんぷんです・・・。

とてもいいお話を聞けて楽しかったです、自分は用事があるのでこれを解決として一応雑談を終わりとさせて頂きます。
ありがとうございました。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: [雑談]プログラミング言語について

#9

投稿記事 by みけCAT » 13年前

kuz さんが書きました:でもそれってソースコード配って「みなさん、これ使いたかったら自分でコンパイルしてください。」っていってるみたいですかね・・・。
なんだただのLinux向けフリーソフトか。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: [雑談]プログラミング言語について

#10

投稿記事 by softya(ソフト屋) » 13年前

みけCAT さんが書きました:
kuz さんが書きました:でもそれってソースコード配って「みなさん、これ使いたかったら自分でコンパイルしてください。」っていってるみたいですかね・・・。
なんだただのLinux向けフリーソフトか。
たしかにオープンソース系でインストール時にコンパイルするやつありますね。
一般人向けって感じではないですが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: [雑談]プログラミング言語について

#11

投稿記事 by ISLe » 13年前

スペックの高い開発マシンと同じことをターゲットでやるのは無理があるような。
モノによってはビルドに数時間とかかかると思うのでインストールにそうとうな覚悟が必要になるでしょうね。

PCでもそこそこのアプリケーションソフトだとtarボールからmake&installするのにかなり時間かかりますし。

Androidも基本はJITコンパイル型、速度が欲しいならNDK使って事前コンパイル型ってかたちになってますね。

閉鎖

“C言語何でも質問掲示板” へ戻る