Discuss Scratch

abee
Scratcher
1000+ posts

Scratch以外のプログラミング言語やってる人交流場

とりあえず、「1行」の話は置いて、インタプリタが機械語に変換しているかどうかに話を絞った方よいかもしれないですね。
たぶん、「変換」の定義がポイントになると思います。

Last edited by abee (Jan. 18, 2023 10:33:32)

rinasama_tabasi
Scratcher
100+ posts

Scratch以外のプログラミング言語やってる人交流場

最近インプリンタ
のことをインタープリターと書いてある本を見つけて驚愕している

ネタが無い!!!
陣内智則さんのコント面白いよね

AIコードアシスタントを使うと起こる
いいこと3選!!

  1. コードを書く速度が2倍ぐらいになる(by.激遅プログラマー)
  2. ドキュメントを調べなくてもだいたいなんとかなる様になる(by.知識2プログラマー)
  3. よくコメントを書くようになるからコードが見やすくなる(by.コメント0で2ヶ月後には別の人のコードに見えるプログラマー)
以上!!

じゃあクイズ
私が好きな数学者は誰でしょう
ヒント:むっちゃ有名
inoking
Scratcher
1000+ posts

Scratch以外のプログラミング言語やってる人交流場

rinasama_tabasi wrote:

最近インプリンタ
のことをインタープリターと書いてある本を見つけて驚愕している
別におかしくないです。
例えばこれを読んでみてください。

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
inoking
Scratcher
1000+ posts

Scratch以外のプログラミング言語やってる人交流場

WEB電卓 のようなものでしょうか。
ブラウザの開発者ツールのコンソールもそうですね。

「1行」が何を指すか?の話はあるかもしれませんが
やはり結局は機械語を実行していることからすると
私はあまり違和感を感じません。

確かに、「変換」の定義がポイントですね。

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
akinarin
Scratcher
500+ posts

Scratch以外のプログラミング言語やってる人交流場

例えばC言語でHogeという言語のインタプリタを
作ったとします。

Hogeのインタプリタが作動して、
Hogeのプログラムが実行されたとき、
CPUが読み取るのは、確かに機械語です。

しかし、その機械語を生成したのはC言語のコンパイラです。

Hogeインタプリタが生成した機械語でなく、
Hogeインタプリタそのものです

最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
inoking
Scratcher
1000+ posts

Scratch以外のプログラミング言語やってる人交流場

そもそも一般的にインタプリタとはプログラムの実行方式の分類です。
ある処理系でのモジュールの話をしているのではないですよね?

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
abee
Scratcher
1000+ posts

Scratch以外のプログラミング言語やってる人交流場

#2583
話がそれますが、三音節以上の語末長音ついて、技術系の人たちは長らくJIS Z8301に従って略していましたが、現在のJIS Z8301:2019では「外来語の表記は、主として”外来語の表記(平成3.6.28 内閣告示第2号)"による」となっています。
その告示には「慣用に応じて「ー」を省くことができる」とあり、要はどっちでもよいみたいな感じになったわけです。そこで、マイクロソフトやグーグルなどでは長音を略さない表記が標準になっています。

Last edited by abee (Jan. 18, 2023 10:55:03)

inoking
Scratcher
1000+ posts

Scratch以外のプログラミング言語やってる人交流場

「Hoge IDE」を構成する Hoge.exe(C コンパイラで作成) を起動し、
そのコマンドラインで
> print "hello, world"
と入力して Enter すると
> print "hello, world"
hello, world
>
となるイメージですよね。

Enter が押されたとき
Hoge.exe は
1.(Hoge の)print 命令を解釈し
2.(Hoge の)print 命令の処理を実行します
この一連の動作すべてがあらかじめ C コンパイラによって生成されたものですが
この 1. → 2. を「変換」と考えれば違和感はないかと思います。

Scratch で例えたほうがよかったか。。

Last edited by inoking (Jan. 18, 2023 11:17:13)


これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
akinarin
Scratcher
500+ posts

Scratch以外のプログラミング言語やってる人交流場

もちろん、実行所理系の話をしています。

インタプリタは、「実行しながら機械語に変換する」という動作をしません。
実際にインタプリタを作ってみると良く解ります。

インタプリタは、イメージとしては
「機械がインタプリタを動かし、インタプリタがプログラムを動かす」ということです。

最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
akinarin
Scratcher
500+ posts

Scratch以外のプログラミング言語やってる人交流場

>> #2589
それを変換と捉えてしまうと、全てのプログラムで機械語への変換を行っていることになります。

例えば、Google翻訳は「文章を機械語に変換」していますか?
それと同じようなことです

最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
abee
Scratcher
1000+ posts

Scratch以外のプログラミング言語やってる人交流場

#2578
「原始プログラム中の命令文を一文ずつ解釈し,実行する」というのが、「基本情報技術者平成16年春期 午前問44」で示されたインタプリタの定義です。これなら納得できますか。
rinasama_tabasi
Scratcher
100+ posts

Scratch以外のプログラミング言語やってる人交流場

#2584
僕は驚いてはいますけどおかしいとは思っていないですが書き方が悪かったですね

ネタが無い!!!
陣内智則さんのコント面白いよね

AIコードアシスタントを使うと起こる
いいこと3選!!

  1. コードを書く速度が2倍ぐらいになる(by.激遅プログラマー)
  2. ドキュメントを調べなくてもだいたいなんとかなる様になる(by.知識2プログラマー)
  3. よくコメントを書くようになるからコードが見やすくなる(by.コメント0で2ヶ月後には別の人のコードに見えるプログラマー)
以上!!

じゃあクイズ
私が好きな数学者は誰でしょう
ヒント:むっちゃ有名
inoking
Scratcher
1000+ posts

Scratch以外のプログラミング言語やってる人交流場

akinarin wrote:

もちろん、実行所理系の話をしています。

私は「プログラムの実行方式の分類」の話をしています。

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
inoking
Scratcher
1000+ posts

Scratch以外のプログラミング言語やってる人交流場

rinasama_tabasi wrote:

僕は驚いてはいますけどおかしいとは思っていないですが書き方が悪かったですね
ではなぜ驚いたのですか?

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
rinasama_tabasi
Scratcher
100+ posts

Scratch以外のプログラミング言語やってる人交流場

#2595
その頃はインプリンタかインプリンターぐらいしか知らなくて
それでこんな言い方があるんだと驚きました

ネタが無い!!!
陣内智則さんのコント面白いよね

AIコードアシスタントを使うと起こる
いいこと3選!!

  1. コードを書く速度が2倍ぐらいになる(by.激遅プログラマー)
  2. ドキュメントを調べなくてもだいたいなんとかなる様になる(by.知識2プログラマー)
  3. よくコメントを書くようになるからコードが見やすくなる(by.コメント0で2ヶ月後には別の人のコードに見えるプログラマー)
以上!!

じゃあクイズ
私が好きな数学者は誰でしょう
ヒント:むっちゃ有名
inoking
Scratcher
1000+ posts

Scratch以外のプログラミング言語やってる人交流場

あれ?「インプリンタ」?
もしかして別の話をしていますか?

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
akinarin
Scratcher
500+ posts

Scratch以外のプログラミング言語やってる人交流場

(2592)

abee wrote:

#2578
「原始プログラム中の命令文を一文ずつ解釈し,実行する」というのが、「基本情報技術者平成16年春期 午前問44」で示されたインタプリタの定義です。これなら納得できますか。
「1文ずつ」というのは、少し疑問に思いますが、
他の表現よりは遥かに納得ができます。

>> #2594
書き方が悪かったですね。
僕も「プログラムの実行方式の分類」について話をしていました。


ついでにですが、英語のwikipediaのページ「Interpreter (computing)」では
In computer science, an interpreter is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program.
と出てきました。
DeepL翻訳
コンピュータサイエンスにおいて、インタープリタは、プログラミング言語やスクリプト言語で書かれた命令を直接実行するコンピュータプログラムであり、事前に機械語プログラムにコンパイルする必要はない。

そして「言語処理系」と調べて出てきたこのページなどでは
インタプリタはプログラムを逐次的に解析して実行するプログラムの総称のことです。(参照: プログラミング言語処理系の基礎 #5)実行まで請け負うことが特徴となる。参照先でも指摘されているように「一行ずつ解釈するプログラム」や「一行ずつ機械語に変換するプログラム」ということではありません。
となっています。

最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
kwaka1208
Scratcher
8 posts

Scratch以外のプログラミング言語やってる人交流場

私の理解では。

インタプリタは、動作する実行環境上のコードに変換して実行する。

実行環境がネイティブ環境であれば機械後に変換するが、仮想マシンの場合は中間コードに置き換えて実行される。後者の場合、機械語に置き換えるのは仮想マシンなのでインタプリタは機械後への変換は行わない。

だと思うのですが、であれば「インタプリタは機械語に変換しない」ではなく「インタプリタは機械語に変換しないものもある」というのが正しいと思います。

そういう意味では「インタプリタは機械語に変換して実行する」と言い切るのは間違いではないか?そういう指摘だと思うのですが、いかがでしょうか?
inoking
Scratcher
1000+ posts

Scratch以外のプログラミング言語やってる人交流場

#2599 の説には納得できますが
今ここでしている話はネイティブ環境を前提としているのではないでしょうか。

Last edited by inoking (Jan. 18, 2023 14:02:01)


これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
akinarin
Scratcher
500+ posts

Scratch以外のプログラミング言語やってる人交流場

僕は、ネイティブ環境を前提に話していました。

ですが、その場合でも
インタプリタは、プログラムを機械語に変換する訳ではないと思います。

僕は、インタプリタが
何らかの形で機械語(またはアセンブリ)を生成するプログラムを利用していなければ
「インタプリタは、プログラムを機械語に変換する」と言ってはならないと思います。

もし、#2589のように
機械語(またはアセンブリ)を生成しているプログラムを使っていないのに
「機械語に変換する」と言うのであれば、
全てのプログラムが機械語を生成していることになってしまいます。

例えば、Wordの「名前を付けて保存」を実行するプログラムは、ファイル名を受け取ったとき
それは「その名前のテキストファイルを生成する機械語」を生成しているのでしょうか?
違うと思います。
そうでなくて、事前に生成された機械語をコンピュータが順番に実行しているだけです。

インタプリタもそれと同じで、コンピュータがやっているのは
事前に生成された機械語を順番に実行しているだけです。
「機械語に変換しながら実行」は一切行われてません。

最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…

Powered by DjangoBB