パスワードを忘れた? アカウント作成
14350441 story
プログラミング

日本語プログラミング言語「なでしこ」が中学校の教科書に載る 101

ストーリー by nagazou
かな入力感があるとだけ言っておきます 部門より
あるAnonymous Coward 曰く、

日本語プログラミング言語の「なでしこ」が、教育図書社が発行する来年度の中学校の技術・家庭の教科書に採用されたらしい(プレスリリース, 窓の杜の記事)。

「なでしこ」は正式リリースが2005年なので、今年で15周年になる。元々はDelphiで開発されたインタプリタ言語であったが、最新のバージョン3ではJavaScriptにトランスパイルされて動く、いわゆるAltJS的な言語となっているとの事。

日本語プログラミング言語に対しては昔から賛否あるが、中学生に教育する上ではやりやすいのだろうか?生徒の感想が気になるところである。

情報元へのリンク

  • by Anonymous Coward on 2020年09月18日 16時33分 (#3891552)

    中学生なら英語も読めるし、思考能力もほぼ成人レベル

    大学とか実社会で使われている言語はC/C++とかpythonなのに
    中学生を子ども扱いして日本語プログラミング言語を押し付けたり
    教育用とのたまってるだけで実際には誰も使ってない言語を押し付けるのは
    自称教育者のエゴでしかないとおもう

    生徒が可哀想
    こんな教科書を採用する学校があったらPTA(保護者)はクレームを入れるべき

    pythonでもなんでもいいから、とにかくメジャーな言語を選んで、
    プログラムと同時に英単語とか英文法を教える方がよっぽど教育になる

    教員は、専門に拘らず、分野をまたぐ知識(この場合だと英語とプログラミング)を説明できるぐらいには勉強しておくべき
    それが教育ってもんだと思う

    ここに返信
    • Re:生徒が可哀想 (スコア:5, すばらしい洞察)

      by Anonymous Coward on 2020年09月18日 21時08分 (#3891736)

      こういうこと言うから、大概の子はプログラム嫌いになるのよね。別に皆がプログラマーを目指してるんじゃないから、言語は何だっていいのよ。

      大事なのはブログラミングの能力じゃなくて、アルゴリズム(というものの考え方)。別にscratchでもN88-BASICでも構わないから、例えば5分たったらアラームがなるようにするにはどうするかとか、テストの成績順に名簿を並び替えるはどうすればいいかとか、そういう身近なものの制御がどういう仕組みなら実現できるかを考えるような授業になるといいな。

      • by Anonymous Coward

        無限ループで現在時刻もしくは経過時間の取得を繰り返し、時間が来たらループから脱出して、アラームを鳴らす感じ?

        今どきの言語でやると、ある意味、面白い。

    • by Anonymous Coward on 2020年09月18日 16時55分 (#3891566)

      大学や実社会で使われる言語と同じである必要なんて無いと思うがなあ。
      手続き型言語というものがどんなものかが分かればいいと思う。なでしこが最適かどうかは大いに異論があるけど、最初の一歩として他分野(英語とか)の余計な知識を使わずに済むなら良いのかも。
      #個人で使う言語は主にC++だけど、業務ではC++なんてSimulinkモデルから自動生成される中間言語でしかないのでAC

    • by Anonymous Coward

      自分たちが社会人になってプログラミング言語を勉強して、その言語がすたれるまでの期間を思い出せば
      小中学生が社会人になる頃には、今使われているからという理由で憶えた言語が実践時には廃れている可能性が極めて高いので、そのあたりは特に問題ない気がする。

      • by Anonymous Coward

        確かにその頃使ってたZ80機械語(当時アセンブラなんて持ってなかった)は
        最近だとエミュレータ上でしか使うことがない言語になっているような…

        # 決してコレ [amazon.co.jp]に手を出そうとしてるわけでは…

    • by Anonymous Coward

      数学や論理代数の専門的な知識がある人は学校教育になんか関わらない
      必然的に教員や教科書編集者はプログラマ適性の低い人が多くなりがちで
      プログラミングには論理的思考が重要で文法は瑣末な問題ですと言っても伝わらないんだろうな
      未知の文字列が理解できない原因が自分の論理的思考の弱さだとは普通は考えない

    • by Anonymous Coward

      なでしこってさっと勉強してさっと使うには良い言語だよ
      最初のとっかかりとして、後につなげる思考の基礎を培うにはもってこいだと思うけどね。

      そりゃあ英語がネイティブのように使えればそれにこしたことはないけれども忘れてないか?

      教員の英語力の程度を!

    • by Anonymous Coward

      pythonでもなんでもいいから、とにかくメジャーな言語を選んで、
      プログラムと同時に英単語とか英文法を教える方がよっぽど教育になる

      目的が論理思考の訓練であるなら言語は既存のものでなくて良いはず

      現にプログラムを作成している身からは日本語の並びがプログラムに見えないってのは同意する

    • by Anonymous Coward

      中学生を英語のできる成人扱いして英語の実用プログラミング言語を押し付けたりするのはエゴでしかないとおもう

  • by unnamed7 (33206) on 2020年09月18日 23時18分 (#3891789) 日記
    アセンブラを教えるべき
    ここに返信
  • by Anonymous Coward on 2020年09月19日 0時44分 (#3891819)

    みなさんが書いてるコメントのね、ほとんどはね、単なるイデオロギーなんですよ。
    あるいは、好き嫌いといったほうがいいのかな。
    実際「なでしこ」がなんなのか知らないのに、好きも嫌いもないでしょ。
    文句言うなら、どんな言語か理解してからいうのが筋ってもんですよ。

    というわけで、みんなで読もう「なでしこの文法」

    https://nadesi.com/doc3/index.php?%E6%96%87%E6%B3%95 [nadesi.com]

    「なでしこの基本」とか読んでみたんですけどね…
    助詞がどうだかこうだか? 日本語の文法の話が出るんだが、それって英単語覚えるより楽か?
    applescriptあたりに影響受けた雰囲気を感じるが、
    正直、pythonでifとかelseとか使ったほうが、楽じゃねーか?
    floorとかいう英単語は普通に出てくるし。
    そもそも、プログラム入力で日本語入力とアスキー入力切り替え続けなきゃならんとかいうのはどうなんだ?
    携帯で嬉々としてフリック入力してる奴らに、パソコンの日本語入力教えるのが楽か?
    そこは素直にアスキーでプログラム書いた方が楽じゃねーのか?

    ということで私の結論をなでしこ文法で表現

    「やっぱ、なでしこはだめだろ。」と、表示

    # 最後まで文法を追う気力はなかったのであしからず。

    ここに返信
  • by Anonymous Coward on 2020年09月18日 15時51分 (#3891517)

    多くの言語との語順の違いや、プログラミング関連情報の流れが海外発であることを考えると、日本語プログラミング言語というのはどうなんだろう?

    あと「なでしこ」はプログラミングの敷居を下げるという御題目を挙げてるけど、今のITの現状を考えると、そんなことしても業界の暗部である人売り屋(SES)の餌を増やすだけで、この辺を改善するには寧ろ一定のバカヨケは必要ではないでしょうか。

    ここに返信
    • by Anonymous Coward

      最近気づいたんだが、日本語のSOVの並びはいわゆる逆ポーランド表現と同じで
      少し制限したり整理したりするとコンピュータに解釈しやすい語順です。
      というか、コンピュータは内部的には、一旦逆ポーランド表現に変換してから解釈するケースが多いです。
      だから、バカヨケとか言わずにむしろ更に究極化してスーパープログラマ育成くらい目指してもいいのでは・・・などと考えたりします。

      #逆ポーランドは人間に分かりにくいと言われるが、分かりやすいポーランド表示言語ができないか昨今追及中

      • by nekopon (1483) on 2020年09月18日 16時09分 (#3891536) 日記
        Mind…
        • by Anonymous Coward

          Mindってネタかと思ったら本当に実用的かつ高速な言語だったという感じで、使ってはないけどみんな知ってるという類のメジャーな言語の一つだと思ってたのだが、最近の人はしらんのですね。
          まさに、日本語をそのまま逆ポーランド表記された文章とみなして記述するプログラム言語。

          今でも入手可能です。
          http://www.scripts-lab.co.jp/mind/whatsmind.html [scripts-lab.co.jp]

          • by Anonymous Coward

            おっさんはみんな知ってる。
            若い人は知らない。
            そんだけかなと。

      • by nekopon (1483) on 2020年09月18日 16時26分 (#3891548) 日記
        ポーランド表示ならLispかな
      • by Anonymous Coward

        dc(1) は逆ポーランド記法をとっているが、solaris の man [oracle.com] に登場するこのプログラムは全然理解できない:

        [la1+dsa*pla10>y]sy
        0sa1
        lyx

        • by Anonymous Coward

          逆ポーランドでプログラムを書くと難解なのに、日本語を理解しようとすると、特に難易度高くないんですよね。本質的には同じなのに・・・
          どこに問題があるのか追及してみる価値はあると思っています。
          少なくとも二項演算は関数による表現やLISP風に書き換えても見にくいのでこれだけは除外する必要があるな、とかはありますね。
          逆ポーランドの勉強では二項演算の逆ポーランド変換は、まっ最初に上げられる例ですが。

          • by Anonymous Coward

            > どこに問題があるのか追及してみる価値はあると思っています。

            ただの慣れですよ。
            RPN電卓を日常的に使ってる難易度が高いとは露ほどにも感じません。
            いわゆる普通に書かれた式を見ても、一旦RPNに置き換えてから頭に入るようになります。

            • Re: (スコア:0, フレームのもと)

              by Anonymous Coward

              そんな事はないと思いますよ
              例えば二項演算とかは、長い歴史の中で数学者たちが考え出した究極の表記みたいなところがありますから。
              ずっと昔は、数式なんてものはなくて、あらゆる証明は自然言語を駆使して行われていました、今実際にそれをみたら当時の数学者・哲学者が人間の域を超えた天才なんだなって分かるくらいに難解。
              凄い発明なので変えては駄目なのです。そういうのが沢山あるんですよ。

    • by Anonymous Coward

      日本語プログラミング言語

      タイプ効率が悪いのが実用上の最大の問題だと思う。行中でIMEモード行き来しまくるのはつらい。

      ある程度定型的かつ曖昧な自然言語の指示でアプリを制御できるようにするのはそんなに未来の話ではないだろうな。

      • by Anonymous Coward

        制御構文は日本語で記述するみたいなので、数字や演算子を半角、全角の区別なく処理してくれれば問題ないんじゃあないのかな。

      • by Anonymous Coward

        基本、全部全角打ちですよ

    • by Anonymous Coward

      line3: ”敷居を下げる” は正しい日本語ではありません。

  • by Anonymous Coward on 2020年09月18日 15時52分 (#3891518)

    なぜぴゅう太を各学校に配布しないのだっっっ!

    ここに返信
    • by Anonymous Coward

      でも、稼働可能なぴゅう太の実機やドキュメントも残ってのかどうか。FPGAとかでぴゅう太のクローンでも作るとか。

  • by Anonymous Coward on 2020年09月18日 15時53分 (#3891520)

    付けやすいだろうなぁと、ちょっと羨ましい。

    独特の専門用語で成り立ってる領域のアプリを作るとき、
    どれだけ日本語名称を付けたいと思ったことか。

    ここに返信
    • by 7743 (11762) on 2020年09月18日 16時18分 (#3891542)

      日本語で名前つけられる言語は結構あるよ。
      定義する方は楽でも、それを使ったり呼び出す方は苦痛。
      おとなしくローマ字で定義した方が良い。

      • by Anonymous Coward

        この辺りの問題は今は駄目でも開発環境や入力ディバイスの改良で、まだまだ先に行けそうな気もする。
        将来には、むしろ推奨されるようになっても驚かない。

        • by Anonymous Coward on 2020年09月18日 17時15分 (#3891587)

          いまでも法律関係や税関連に関わるプログラムとかだと、ローマ字で変数名とかつけると殴られても文句言えんな。
          ローマ字は1文字違いで全く違うものなのに、コードレビューじゃ検出しきれないし、英語名称では、英語と米語で別のものをさしたりと混乱の元になる。
          うちのプロダクトの場合、漢字による変数名を採用したことで、変数名のとりちがいバグの発生率は、平均しても 1/20以下、酷かったプロダクトでは1/80以下まで減少してる。
          ローマ字で書く派だった人も、圧倒的なまでの不具合件数の差に完全に宗旨替えしてるよ。

          今時はIDEで候補出てくるから、IMEをON/OFFを切り替えるってことも、ほとんどない。

          • by Anonymous Coward

            変数名のとりちがいバグの発生率は、平均しても 1/20以下、酷かったプロダクトでは1/80以下まで減少してる。

            そもそも変数名のとりちがいバグが多すぎませんかね…1/80って、元々数百ぐらいあった訳ですよね。
            どういうコードなんだろう。

          • by Anonymous Coward

            昔、Engagedなんちゃらかんちゃらって名前をつけたら、
            そばにいる女性が、私に気があるの?とか聞いてきました。
            共通の上司が女性に「辞書をひいてみたら」とかアドバイスして
            くれて、
            事なきを得ましたが。。。。。

            • by Anonymous Coward

              > 事なきを得ましたが。。。。。

              上司がその女性にアドバイスしていなかったら、どんな「事」が起きたのか、気になる

        • by Anonymous Coward

          VSCodeみたいに拡張機能で色々できる開発環境で、
          表示上は日本語、実態はローマ字みたいな表示の拡張機能できんかな

  • by Anonymous Coward on 2020年09月18日 16時23分 (#3891545)

    PC-98 MS-DOS時代の桐の一括処理のような感じなら、日本語変数名や構文をIMEで変換して入力するだけ、手間でしかないなあ。

    ここに返信
  • by Anonymous Coward on 2020年09月18日 16時45分 (#3891561)

    学校教育なら、ノーコード的なものでいいんじゃないの?
    DeNAのプロゼミなんて、よくできてるよ。

    こんなの覚えても、ほかの言語に移ったときに分けわかめ、になる気がする。

    ここに返信
  • by Anonymous Coward on 2020年09月18日 17時26分 (#3891594)

    なでしこは全く知らないが、テキシコーのプログラム人間(日本語で命令)のようなことがパソコンでできると考えていいんだろうか。
    もそっと粒度が低いのかな。

    ここに返信
  • by Anonymous Coward on 2020年09月18日 18時09分 (#3891623)

    それが日本語プログラミング言語だというのなら、この世のほとんどのプログラミング言語は英語プログラミング言語

    ここに返信
    • by Anonymous Coward

      なでしこの主張的にはそうだよ。

typodupeerror

普通のやつらの下を行け -- バッドノウハウ専門家

読み込み中...