パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

なでしこが教科書に採用されたことで日本語でプログラミングができる意味を考える」記事へのコメント

  • by Anonymous Coward on 2020年11月02日 18時22分 (#3917392)

    プログラムって英語と数学出できた手順命令書なわけで
    読み手によって解釈し放題の玉虫色言語には不向きだと思われ

    # ならば量子コンピューター用に再開発だ!

    • Re:英語と数学と明確さ (スコア:3, すばらしい洞察)

      by Anonymous Coward on 2020年11月02日 21時46分 (#3917519)

      日本語も厳格に表現できるし、英語も曖昧に表現できるものなんだがな。
      例えばRFCなんか曖昧な記述を厳格にって改訂されたりしてる。
      使い手次第だわ。
      つか曖昧な表現が出来ないほうが言語としては出来が低いっての。

      親コメント
    • by Anonymous Coward on 2020年11月02日 18時36分 (#3917400)

      7の平方根かける3に34を加算して、それを二乗して、そこから128に3を掛けたのから2を引いた物を、引く。

      みたいに日本語で書かれたからと要って、算数は簡単にはならないよ。
      プログラミング言語は英語ではなく、Σ とか log なんかと同じで、
      ほとんどそういう記号だからね。

      表記を日本語にしたら分りやすくなると思ってる人は、失望するだけと思う。

      親コメント
      • by Anonymous Coward

        わかりやすくなるというより、ぜんぜん本質的でないことで
        邪魔されたくないってほうが近いんじゃないかなぁ

        意味のとりにくい文字列って立派な心理的障害物だよ
        LISPの cdr とか carとかいい例だと思う

        • by Anonymous Coward

          LISP の car/cdr が心理的障害になったという人がいてちょっとびっくり。
          "頭" "尾" とかだったらよかったんだろうか?それとも左、右?

          私としたら、プログラミング言語がアルファベットだと、説明文との区切りがはっきりして読みやすい。

          • by Anonymous Coward on 2020年11月03日 4時30分 (#3917616)

            > LISP の car/cdr が心理的障害になったという人がいてちょっとびっくり。
            > "頭" "尾" とかだったらよかったんだろうか?それとも左、右?

            抽象的なものを抽象的なまま扱う事が出来ない人なんだと思う。
            ときどき居る。
            car/cdrをどの様に変更したとしても、多分ダメだろうね。

            親コメント
            • by Anonymous Coward

              頭のいい奴らはこれだからダメなんだよ

              • by Anonymous Coward

                これから学ぼうって層に合わせるのは当然でしょ。教科書なんだから。

              • by Anonymous Coward

                理解できてないんだよなぁw
                お前のレベルに合わせてくれる人に巡り合えよ

            • by Anonymous Coward

              LISP以外の言語ではcar,cdrはまず使われてないし
              LISPですらfirst,restを追加したりしてるし
              言語作ってる頭いい人たちもcar,cdrが良いものと判断してないと思われ

        • by Anonymous Coward

          > ぜんぜん本質的でないことで邪魔されたくないってほうが近いんじゃないかなぁ
          つまり、日本語を使うなという話ですよね、それ。

          日本語に置き換えたら、かえって混乱するだけだもの。

      • by Anonymous Coward

        本質がそれで、それをどう表記するのがプログラミングと言うことかな?
        RPN電卓使っていると、式を頭の中で「7の平方根かける3に34を加算して…」に変換して入力している。

        • by Anonymous Coward

          RPN電卓は入力方式の話で、表記法やソースコードの話じゃないと思う。
          それこそキーボードかフリック入力か、はたまた音声入力かみたいなレベルの話。

          さすがにRPN電卓でも、プログラムまでRPNってわけではなかったし。

          • by Anonymous Coward

            RPNて逆ポーランド記法という表記方法だと思ってた

            • by Anonymous Coward

              RPN「電卓」の話ね。

              画面上に
              3 4 + 2 * 12 3 / -
              みたいに表記するわけじゃないもの。

              • by Anonymous Coward

                RPN「電卓」でも、マクロや公式入れるときに、そのとおりに入力しますし、エディタで表示/再編集する場合にも、変わらずそのまま表示・編集ですよ。
                使ったことないのでご存知ないのだと思いますが、普通にどこまでもRPNのまんまですよ。

          • by Anonymous Coward

            プログラムも RPN (RPL)ですけど、、、使ったことないですか?
            FORTHとかもスタックで書きますよ。

          • by Anonymous Coward

            PRNは、入力方法の話ではないですよ。もちろん表記方法とか、そんなレベルじゃなくて、人間が頭の中で考える考え方、思考方法の話です。
            数式で関係を考えて、あくまで入力方法だと思って使ってる人には、理解できないでしょうし、便利だとも効率的とも思えないのかもしれませんが。

            RPNに馴染むと、ものごとの関係は最初からRPNで考えるので、いわゆる数式で書かれた公式も一回RPNに変換してから頭が理解するようになります。
            手計算のメモも、頭にあるものをそのまま出すので、RPNのままです。

        • by Anonymous Coward

          > RPN電卓使っていると、式を頭の中で「7の平方根かける3に34を加算して…」に変換して入力している。

          それを日本語のプログラミング言語として実装したのが「MIND [scripts-lab.co.jp]」だな。

      • by Anonymous Coward

        ナウイ言語は英文的に書けますよ。なう言ってほどふるくはないか。

      • by Anonymous Coward

        7の平方根かける3に34を加算して、それを二乗して、そこから128に3を掛けたのから2を引いた物を、引く。

        COBOLと何が違うの?

        • by Anonymous Coward

          それ、駄目な言語ってことじゃないですか。

          • by Anonymous Coward

            部分的ではあっても現在に至るまで人類社会を支え続けてきているプログラム言語を、駄目な言語って事はないでしょう。

            • by Anonymous Coward
              駄目かどうかとそれが社会を支えてきたかどうかにはあまり関係はない
              そもそも現在に至るまで人類社会を支え続けてきたのは駄目な大人達だったわけで
          • by Anonymous Coward

            COBOLを使ったことないか、ちょっとさわっただけ、とかですか?

            そういう私も数年使っただけですけど、それでもCOBOLはかなり優れた開発言語だと思いますよ。
            8ビットBASIC+アセンブリ言語しか使ってなかった時だったんで、JCLとCOBOLの組み合わせは衝撃的でしたね。

    • by Anonymous Coward on 2020年11月02日 18時40分 (#3917403)

      数学って言われても、中学校で習う範囲では、「x = x + 1」って意味不明。変形したら、「0 = 1」だからね。
      なでしこでも、代入は「変数 = 値」が普通だけど、「値を変数に代入。」という書き方もあるので、それを使えば迷わずに済む。

      # 英語だって、「読み手によって解釈し放題の玉虫色言語」だと思うけどね。

      親コメント
      • by Anonymous Coward

        「とにかく日本sageする俺様カッケー」という人は結構あちこちに居るのですよ

        • by Anonymous Coward

          日本語の文法だと、カッコ無しで式が完全に記述可能とか面白い特徴あるのにね、日本語もコンピュータ言語も数学もしらない人なのですよ。
          英語の文法や数学の中置演算だとどうしてもカッコ無しでは書けない式がある。

          • by Anonymous Coward

            >日本語の文法だと、カッコ無しで式が完全に記述可能とか面白い特徴あるのにね、

            それが論理的に可能だからといって、それが実用的かどうか・中学生に分かりやすいかどうかは、また別の話。

          • by Anonymous Coward

            「美しく青きドナウ」って言われたら美しくが青きとドナウのどちらにかかってるか聞いた側が決めないといけなくないか
            一般的には、言う側も大きな齟齬が出るような言い回しは避けるんだろうが

          • by Anonymous Coward

            んな事実は無いから、スラドのタイトル(本文でも)突っ込みが多々為されるんだろうに。

      • by Anonymous Coward

        むしろ代入記号を導入した方が。
        ついでに==も排除できるし。

    • by Anonymous Coward

      日本語プログラミング言語つっても構文の英単語を日本語に置き換えただけだから
      日本語特有の曖昧さは無いと思う。

      利点は詳細設計を日本語で書けばそれがそのままプログラムになることなんだろうけど
      ちょっとしたプログラムを書く場合だといちいち日本語の入力自体がめんどくさい。

      • by Anonymous Coward on 2020年11月03日 11時29分 (#3917725)

        日本語プログラミング言語つっても構文の英単語を日本語に置き換えただけだから
        日本語特有の曖昧さは無いと思う。

        いや、「置き換えただけ」じゃないですよ。
        この手の日本語プログラミング言語って、「日本語の自然言語風に読めること」に主眼を置きすぎているきらいがあります。
        MINDなんか基本的に「ひらがな無視」だし。

        なでしこも、同じことを行うのに複数の手段が用意されています。

        変数について - なでしこ3 [nadesi.com]

        代入文について

        なでしこの変数に値を代入することができます。代入文は、いくつかの形式で記述できます。

        値段は3000
        値段を表示。
         
        値段=3000
        値段を表示。
         
        値段に3000を代入。
        値段を表示。

        なんで代入に3パターンも必要?
        しかも、一見すると代入の形でも、変数名部分が関数だと関数呼び出しになったり。
        他にも「『です・ます調』でも書ける」とか、コーディングに必要ないでしょう。

        親コメント
        • by Anonymous Coward

          C言語とかi += 1 と書けば済むところにi++とか++iとかサポートしてるぜ。

          • by Anonymous Coward on 2020年11月03日 19時47分 (#3917940)

            >>なんで代入に3パターンも必要?
            コレは確かに初心者向け教育用言語としては致命的だと思う。
            中級以上でも、コーディング規約が必用になる、バッドノウハウ。
            それとも、なでしこ用のlintみたいなのがあるのかな。

            >i += 1 と書けば済むところにi++とか++iとか
            まず、それは単なる代入文じゃなくて、インクリメントですよね。

            第二に、i++ と ++i の両方は使えるけど、現在においては、半ば
            バッドノウハウと化してる。

            たとえば
            i = f(i++) + g(++i) - ++i
            みたいな書き方は、出来るけど絶対に止めろって言われる。
            ここに複雑なマクロが入ったりするともう地獄。重し出したくもない。

            親コメント
        • by Anonymous Coward

          > 同じことを行うのに複数の手段が用意されています。

          Perl へのアツい風評被害

          • by Anonymous Coward

            Perlは機械言語を目指してるだろ、ラクダ本を読む限りにおいて。

            • by Anonymous Coward

              自然言語と書いたつもりが、機械言語と書いている

      • by Anonymous Coward

        初学者にとっては、曖昧な日本語との違いの理解が難しく有害。
        英単語の命令を機械的に並べるほうがまだ理解が早くなる。

        • by Anonymous Coward

          英語は単純明快な言語って言ってる人は、言葉が分からないからって向こうから配慮されてるかバカにされてるだけだよ…
          日本語は他の言語と違いすぎるからあまり複雑な言葉遣いは日本じゃ教わらないし英語ができる人でも使えない人も多い
          京都に旅行に行って俺でも京都人と会話ができるぞって自慢するような物だから早めに卒業しな

          • Re:英語と数学と明確さ (スコア:2, すばらしい洞察)

            by Anonymous Coward on 2020年11月03日 1時38分 (#3917599)

            英語だから良いのではなく、日本人にとっては曖昧な言語から切り離された記号だから良いのですよ。
            下手に言語のイメージの曖昧さに引きずられるよりも、プログラム用の記号として捉えたほうが、習得が早い。
            プログラマにとって、プログラム中のifやforは英語ではない。orなんて自然言語との意味が違い過ぎる。
            これを日本語にしてしまうと、正確な文法に従って書かなければならないプログラムと、曖昧にかける自然言語のとの区別が出来るようになるまでの障壁が増えるので、プログラムの入門者には特に学習が難しくなる。

            親コメント
          • by Anonymous Coward

            うーん、この支離滅裂さはなかなか
            英語は(他と比べて)単純明快とは言えない、という点にだけは同意できるが・・・

            >日本語は他の言語と違いすぎる
            とりあえずこの誤解からは早めに卒業しよう

      • by Anonymous Coward

        いわゆる「日本語プログラミング言語」って、
        日本語というか日本語の単語に置き換えただけなので、
        日本語話者が書いた設計がそのままプログラムとして
        望む動作になるわけではないわけで。
        (英語っぽい書き方ができるCOBOLだからと英語の文章そのままがプログラムになるわけではないのと同様)

        抽象的なブロックに置き換えた系の環境の方がプログラムというものを理解しやすいのでは。

        • by Anonymous Coward

          板書して教えるから、読みくだせるやつが助かるよ
          pascalはいいがCは非常にテンポが悪い
          なでしこはそこはいいんじゃないかな

          つか、みんな自分の得意分野だと思うと、いきなり義務教育だと言うことをわすれている

          • by Anonymous Coward

            義務教育でなでしこを板書してる場面を想像したら、あほらし過ぎてクラクラする。

            • by Anonymous Coward

              実際の開発現場では往々にしてなでしこのプログラムみたいな詳細設計を書かされるんだが。

              • by Anonymous Coward

                そんな奴隷の現場の話なんて関係ないでしょ。

    • by Anonymous Coward

      「数学出できた」とか書いて平然としてるやつには玉虫色言語は難しいわな

    • by Anonymous Coward

      英語が出来る人だったら英語プログラミング言語のCOBOLがすいすい

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

処理中...