アカウント名:
パスワード:
pythonはインタプリタで合ってるんじゃない?8bit時代のbasicインタプリタだって、事前に中間コードにコンパイルして実行してたし、Javaでもバイトコードインタプリタと称してたぞ。
「ソースコードを 1 行ずつ実行する」という部分が問題にされているのではないかと。
条件が限られた場合しか成り立たない嘘ではあるが、話を簡潔にして理解を促す為の良い方便だと思う。物理で言うところの「重い物と軽い物が同じ速さで落ちる」みたいなもの。
逐次実行するインタプリタと事前にコンパイルするスクリプト言語では、途中まで動いて中途半端なところで止まって悲惨なことになるか実行する前にエラーで止まってくれるかの大きな違いがあるので一緒くたに考えるのは危険かなと思う。
事前コンパイルするかどうかは、ここで言われている表記の正誤の問題と関係がない。
えこのていどのちしきでえらそうにこうせつたれてんの?
どういう条件で成り立つのそれ?
少なくともピサの斜塔で実験した人のときは成り立ったぞ
ここで聞いてるのはPythonで「ソースコードを 1 行ずつ実行する」条件のことだろ
ピサの斜塔実験 [wikipedia.org]のことにしても「重い物と軽い物が同じ速さで落ちる」のは真空中という条件が付くので実際にピサの斜塔で実験すると成り立たない
ピサの斜塔実験は、ピサ時代のガリレオ逸話の中で最も有名である[54]が、この逸話が事実かど
ちょっと考えてみた。・空気抵抗が無視できるほど小さい・落とすものの大きさの違いは重力場の変化に比べて十分小さい・落とすものの重力で外部の重力場が変わらない・落とすものの重力場による一般相対論的効果は無視できるあと暗黙の条件は何があるだろうなあ。まあ「同じ速さ」の「同じ」の精度によるんだけど。
> ・落とすものの重力で外部の重力場が変わらない変わらないなんてことはあり得ないのにここだけ厳密な言葉でないのが気になるかように難しいのであるなぁ
あの実験は、当時の常識である「〇〇倍重いものはそれだけ早く落ちる」に対するものだからむしろ重さ以外の外形的要因を排除して実施。中身が詰まった鉄球とガワだけで大きさ形が違う2つを同時に落とすのが理想だろうけど実際には大きさが違う形が同じ鉄球でやってますね。その場合、空気抵抗係数はほぼ同じで前影投影面積の違うので厳密には小さい鉄球の方がほんの僅か早く落ちる気がしますが、少なくとも重さに比例した差にはならないので証明としては十分なんでしょう。
しまった、迂闊でした。有意な影響はうけない、とかにすべきでした。
そーゆー方便じゃなくて明らかに書いた人の理解不足だから炎上してるんだろ。わかってる人ならもう少しまともな書き方になる。
マシン語との対比で、ソースコードを行単位で(line by line)実行していく。これを、「1行ずつ実行する」と呼ぶことがある。実際には実装次第なので、どっちかといえば的理解でいいし、「近いものを選べ」的に出題される。この説明でどうだ。
その説明で何が変わったのかサッパリわからない「1行ずつ」を「行単位で」と言い換えても問題は変わらないよね?
元記事を読むと、Pythonなんかでは最初にソースファイル全体をパースするので構文エラーなどは先に出て来るという例が挙げられている。これで1行ずつ実行と言うのか?ということのようである。
自分は、それは許してもいいようなという気はする。ただその点を抜きにしても、大抵の言語で1行が1つの文(あるいは何かしら解釈するのに都合のいい単位)ではないので、わざわざ1行と言わなくてもいいじゃないという点では結局元記事の主張には同意する。
1行って苦心してる跡に思える実際はインタプリタでもいったん中間処理してるのでバイトコードやVMとどうちゃうの?と深みにはまる事うけあい
インタプリタはマシン語でない入力を読み取って実行するプログラムという意味で、入力はソースコード・スクリプトとは限らない。中間コードを読み取って実行する形式でもインタプリタと呼ばれるし、ソースコードを読み取るにこだわる必要もないと思う。
# 結局、インタプリタ型言語なる分類をする意義があるの?という話ではある。
VisualStudioのデバッグ実行でC言語でもステップ実行できた気がする。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
pythonはインタプリタで合ってる (スコア:0)
pythonはインタプリタで合ってるんじゃない?
8bit時代のbasicインタプリタだって、事前に中間コードにコンパイルして実行してたし、Javaでもバイトコードインタプリタと称してたぞ。
Re:pythonはインタプリタで合ってる (スコア:0)
「ソースコードを 1 行ずつ実行する」という部分が問題にされているのではないかと。
Re:pythonはインタプリタで合ってる (スコア:1)
条件が限られた場合しか成り立たない嘘ではあるが、話を簡潔にして理解を促す為の良い方便だと思う。
物理で言うところの「重い物と軽い物が同じ速さで落ちる」みたいなもの。
Re: (スコア:0)
逐次実行するインタプリタと事前にコンパイルするスクリプト言語では、途中まで動いて中途半端なところで止まって悲惨なことになるか
実行する前にエラーで止まってくれるかの大きな違いがあるので一緒くたに考えるのは危険かなと思う。
Re: (スコア:0)
事前コンパイルするかどうかは、ここで言われている表記の正誤の問題と関係がない。
Re: (スコア:0)
えこのていどのちしきでえらそうにこうせつたれてんの?
Re: (スコア:0)
どういう条件で成り立つのそれ?
Re: (スコア:0)
少なくともピサの斜塔で実験した人のときは成り立ったぞ
Re: (スコア:0)
ここで聞いてるのはPythonで「ソースコードを 1 行ずつ実行する」条件のことだろ
ピサの斜塔実験 [wikipedia.org]のことにしても「重い物と軽い物が同じ速さで落ちる」のは真空中という条件が付くので実際にピサの斜塔で実験すると成り立たない
Re: (スコア:0)
ちょっと考えてみた。
・空気抵抗が無視できるほど小さい
・落とすものの大きさの違いは重力場の変化に比べて十分小さい
・落とすものの重力で外部の重力場が変わらない
・落とすものの重力場による一般相対論的効果は無視できる
あと暗黙の条件は何があるだろうなあ。
まあ「同じ速さ」の「同じ」の精度によるんだけど。
Re: (スコア:0)
> ・落とすものの重力で外部の重力場が変わらない
変わらないなんてことはあり得ないのにここだけ厳密な言葉でないのが気になる
かように難しいのであるなぁ
Re: (スコア:0)
あの実験は、当時の常識である「〇〇倍重いものはそれだけ早く落ちる」に対するものだから
むしろ重さ以外の外形的要因を排除して実施。
中身が詰まった鉄球とガワだけで大きさ形が違う2つを同時に落とすのが理想だろうけど
実際には大きさが違う形が同じ鉄球でやってますね。
その場合、空気抵抗係数はほぼ同じで前影投影面積の違うので厳密には小さい鉄球の方が
ほんの僅か早く落ちる気がしますが、少なくとも重さに比例した差にはならないので
証明としては十分なんでしょう。
Re: (スコア:0)
しまった、迂闊でした。有意な影響はうけない、とかにすべきでした。
Re: (スコア:0)
そーゆー方便じゃなくて明らかに書いた人の理解不足だから炎上してるんだろ。わかってる人ならもう少しまともな書き方になる。
Re: (スコア:0)
マシン語との対比で、ソースコードを行単位で(line by line)実行していく。これを、「1行ずつ実行する」と呼ぶことがある。
実際には実装次第なので、どっちかといえば的理解でいいし、「近いものを選べ」的に出題される。
この説明でどうだ。
Re: (スコア:0)
その説明で何が変わったのかサッパリわからない
「1行ずつ」を「行単位で」と言い換えても問題は変わらないよね?
Re: (スコア:0)
元記事を読むと、Pythonなんかでは最初にソースファイル全体をパースするので構文エラーなどは先に出て来るという例が挙げられている。これで1行ずつ実行と言うのか?ということのようである。
自分は、それは許してもいいようなという気はする。ただその点を抜きにしても、大抵の言語で1行が1つの文(あるいは何かしら解釈するのに都合のいい単位)ではないので、わざわざ1行と言わなくてもいいじゃないという点では結局元記事の主張には同意する。
Re: (スコア:0)
1行って苦心してる跡に思える
実際はインタプリタでもいったん中間処理してるので
バイトコードやVMとどうちゃうの?と深みにはまる事うけあい
Re: (スコア:0)
インタプリタはマシン語でない入力を読み取って実行するプログラムという意味で、入力はソースコード・スクリプトとは限らない。
中間コードを読み取って実行する形式でもインタプリタと呼ばれるし、ソースコードを読み取るにこだわる必要もないと思う。
# 結局、インタプリタ型言語なる分類をする意義があるの?という話ではある。
Re: (スコア:0)
VisualStudioのデバッグ実行でC言語でもステップ実行できた気がする。