パスワードを忘れた? アカウント作成
9709 story

日本語プログラミング言語「なでしこ」正式リリース 222

ストーリー by Oliver
わびさび 部門より

sillywalk 曰く、 "日本語で記述しプログラミングできるインタプリタ言語「なでしこ」が正式リリースされました。/.Jで過去に報じられた同様言語「ひまわり」の正式な後継バージョンで、昨年8月より開発がスタートし、10月にはベータ版がリリース。その後も精力的にバージョンアップが繰り返されて今回の正式リリースとなりました。
更新記録によれば「ひまわり」が正式リリースされたのは2002年1月1日。さらに「なでしこ」を経て初登場から3年が経過しましたが、作者自らによるプログラミング解説がPC WEBPC USERなどに連載されており、また公式本も出版されているため、学習環境は相当充実してきているようです。またWordなど他のアプリケーションソフトとの連携機能もあるため、使いこなせれば大変面白い言語だと思われます。実際に使用されている方のご感想などをお聞かせ頂ければ幸いです。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Livingdead (18685) on 2005年02月23日 7時50分 (#697982) ホームページ 日記
    キーワードを日本語にしただけの簡易言語といった印象を受けます。BASIC 全盛の古代にも同様の言語があったように記憶していますが、むしろつかいづらかったとおもいます。そのころの僕は学生ですらなくまだ生徒で、BASIC覚えたてで、Shift-JIS 漢字フォントROMのアドレスの変換をするところだけ部分的に機械語をつかう程度だったので、どれか一つの言語に習熟してそれ以外を受け入れない、というようなかたくなな態度ではなく、どんな言語でもとりあえず経験してみよう、というような柔軟な態度だったはずなのですが、それでも受け入れがたかった。

    「ひまわり」のサンプルプログラムを眺めたくらいで批判するな、というおしかりはもっともなんですが、プログラミング初学者の障害になっているのはその言語で使われている予約語が英語っぽいことでも文法構造が自然言語からかけはなれていることでもなく、莫大なサンプルやテンプレートから適切なものを選択するのが酔いではないことにあるのではないでしょうか?そしてそれはIDEで解決すべきものじゃないのかと思うんです。

    例えばIDEのとあるテキストボックスに「文字を表示したい」と入力すると、文字の表示関係のあるサンプルやテンプレートの一覧が表示され、テンプレートを選択するとウィザード形式で最低限のパラメータの入力を促され、結果がカーソル位置に挿入される、なんていう機能があると、初学者には便利じゃないかと思うんです。Hello で検索するとそのプログラミング言語での Hello プログラムのコードを呼び出せる、とか。
    --
    屍体メモ [windy.cx]
    • テンプレート挿入もあります。
      シェル言語のような、文字列展開+解釈実行+GUI部品なので、
      基幹ライブラリを背負うようなプログラム言語ではありません、
      グルー言語です。基幹の言語から眺めると珍品ですが、日本語プログラミングの生物種を進化させてほしいものです。
      ●日本語プログラミングの基本的弱点、
      「構文要素は数が少ないので日本語化できるが
      巨大ライブラリの名前を全部翻訳できない」はありますが、使えます。
      機能の発展方向も基幹言語とは違います、そういうサークルらしいから。
      親コメント
  • by nayuta (1257) on 2005年02月23日 7時55分 (#697984)
    結局そんなに可読性はあがるのでしょうか?
    結局同じ構造に基づいてプログラムするならば結局トークンの差ぐらいでしかないわけで…それだったら、日本語を入力することによるコストがかかるだけですよねぇ…。

    # 英語が極端に苦手!というときにはそれでも多少は効果が?
    # むしろ日本語の論理構造に合うように関数名とかを考えようとしてしまってコーディング効率は下がるかも…?

    最終的に、そこら辺(入力のコスト増とか)は許容誤差にまで吸収されてしまって結局は可読性とかどうなの?という話になると思うんですが、どうなんでしょ?

    # ついでに国際化とかはどうするの?
    --
    ---------- ------ ISHII Nayuta
    • by udo (23431) on 2005年02月23日 17時45分 (#698396) 日記
      Hello Worldのような「プログラムです!」的プログラムより
      perl -e でやるようなワンライナーのような書き方に向いてそうな印象を受けましたな。
      前回「ひまわり」の話題がここで上がった頃、ほうぼうのblogに
      「ためしてみた」的な記事が載りましたけど
      xxのホストのxxポートに接続。ファイルを持ってこいみたいなワンライナーなんか
      もう日本語そのままで驚きましたよ。

      こういうのを日本語でやるとなると、
      perlの省略時変数のようなものをより自然に扱えるようにならないか、
      みたいなところに期待したくなるなあ。
      日本語は少なくとも英語よりは語の省略が豊富な言語なので、
      その構造みたいのをうまくプログラミング言語に取り入れていけたら強い。
      そういうことを考えていく上でも、さまざまな自然言語とプログラミング言語の組み合わせ、
      というのはおもしろい試みだと思う。

      リーナスさんが
      「プログラミングの時は英語でものを考える」みたいなこと言ってたけど
      じゃあ逆に母国語的思考ではどのようなプログラミング言語がしっくり来るのか。
      仕事に使うならともかく、こういうことの試行錯誤は
      やって無駄ということにはならないでしょう。
      親コメント
    • 教育的な用途には使えるんじゃないかなぁ、と思ってみたり。
      例えば、ラテン文字を憶える前の小学生に、計算機科学の基礎の基礎を教えるような場合とか。
      プログラミングの楽しさって、アルファベットを憶える事とは関係ないのだから、こういうアプローチもあっていいのでは。
      親コメント
    • by aql (23441) on 2005年02月23日 11時24分 (#698128)

      文法に日本語が使える事の良さは、プログラマー対象のものではないのでは。私の友人にも、(何故か文系で)プログラミングやりたいと言う人がいますが、アルファベットなので躊躇しているらしいです。つまり、きっかけ作りには日本語で書けるということの意義は極めて大きいと思いますが。

      既にプログラムが書ける人にとってはいろいろな短所が目に付くでしょうが、やった事が無い人にとっては、一つの(精神的な)壁が取り払われているのではと感じます。そのレベルでは、アルファベットで書かれている事自体が可読性の障害な訳です。

      # ついでに国際化とかはどうするの?

      このまま国際化と言う事にして、海外の人には日本語(の文字)に慣れる一つの方法としてもらう、とか?(笑。文法はさすがに…プログラミングをいくらやっても、英語が上手になっている気はしないし…。ただ、アルファベットを見る事に違和感(或いは抵抗)を覚えなくなったのは事実なので、その効果は望めるでしょう。

      親コメント
  • by Anonymous Coward on 2005年02月23日 18時42分 (#698424)
    ■主な特徴

    • 日本語で書けるので英語が得意でない人にもお勧めです。

    • 高機能な命令をたくさん搭載しているので、簡単な定型処理なら他の言語よりも短い記述で済みます。

    • Windowsらしいプログラムも簡単に作れるので、ホビープログラミングも気軽に始めることができます。

    • 音声入力を日常的に利用されている方にもお勧めです。


    ■日本語として

    • 文法も日本語と同じように助詞によって引数を判定するので、自由な順番で引数を指定できます。

    • 「これ」「それ」「その」などの指示代名詞をつかえるので、自然な流れでプログラムを書くことができます。

    • 「k」「M」などのSI単位接頭語に加え「千」「万」などにも対応し、数値指定がわかりやすくなりました。


    ■プログラミング言語として

    • 引数の省略ができます。省略された引数には「それ」が指定されたものとして動作します。

    • CSVは2次元配列として直接アクセス可能です。1次元配列は「行」です。

    • 変数やグループに短く適切な名前を付けやすいので、コメント入力の手間が省けます。

    • グループ機能を使うことによってオブジェクト指向ライクなプログラミングができます。

    • 構造化にインデントを使うことによって、ソースの見やすさが向上しました。

    • 「*」「■」「●」「・」などの記号を使うことによって、ソースの見やすさが向上しました。

    • 読点「、」を使って構文解析しないので、好きな位置に読点を入れることができます。


    ■ひまわりと比較して

    • 実行速度が10倍以上になりました。

    • 標準入出力に対応したので、CGIとして動作させることもできるようになりました。

    • 命令が外部ライブラリ化されたので、自分で作ったプログラムの配布ファイルサイズを小さくできます。

    • VCLを使わない実行環境が用意され、ファイルサイズを劇的に小さくできます。(現状ではまだ低機能です)

    • エラーの指摘が的確になりました。


    ■様々な問題点

    • 漢字変換の手間→入力の手間に見合う高機能な命令が搭載されているので解決しそうです。

    • ソースの見やすさ→まだ試行錯誤の段階ではないでしょうか。なでしこはかなり優れている方だと思います。

    • 日本語として云々→「日本語で書ける」ことが目的なので「日本語の文章として読める」かは問題視しない方がよいでしょう。



    #これだけ多くの特徴を持っているのに、一部だけ見て批判されるんですね・・・orz
    #中の人なのでAC
    • >これだけ多くの特徴を持っているのに、一部だけ見て批判されるんですね

      文法と言うか、仕様が美しく(少なくともそうは見え)ないのが最大の原因かと。
      ドキュメントをざっと読んで文法を把握できるくらいコンパクトじゃないと美しいとは思われないんじゃないかなぁ...
      「使える」のかも知れませんが「習得しよう」とは思わないかも。
      # 既存言語より良くなければ移行する意味がないですし。

      最後に、「ならば」や「でなければ」などは接続詞です。助詞扱いは...
      それにいわゆる「てにをは」だけでは引数の種類を指定するのには不足かと。
      #「Aを幅w、高さh、色cで表示」としたとき、w,h,cの助詞は全て「で」だし。
      # この辺に文法的改良の余地が...
      親コメント
  • ぴゅう太 [tomy.co.jp]しか頭に浮かんでこないんですが・・・
  • by SaySet (18192) on 2005年02月23日 9時04分 (#698014) 日記

    りんごは100円。
    みかんは50円。
    金額はりんごとみかんを足す。
    金額を言う。


    なんだか小学校の文章題をそのまま入力したら計算してくれる、みたいな感じ。
    言語的にはBASIC的ですね。でも、ネットワークI/Oとかメール関連機能とかもそろっていて、ちょっとしたものなら割と手軽に作れそうな気はします。

    個人的にはOOじゃないあたりがいまいち。
  • ほとんどの言語が英語をベースにしたものだから日本語ベースというのは読んでて気持ち悪いし追っかけにくいかなぁというのは事実
    で、ほとんどのプログラミングに関わった事のある人間は否定的だと思う
    第一日本語が入るとプログラムっぽくない!ってのが一番の違和感
    ただこれも慣れの問題のような気がする
    何語ベースであろうと少し込み入った処理しようとするとたとえ母国語がベースでもほとんどの人にはわけわからんようになるのだけどね
    少なくとも取っつきやすくなるのも事実
    私はおもしろいと思うしもっともっと進化させていってほしいなって
    プログラムで食ってる訳じゃないのにちょこっとしたものを組まなきゃいけない羽目になるお父さんのお手伝いになれるよう祈っております
    • いや、プログラミングなんてやるのはアルファベットで良い(日本語よりも英語とかのほうが記号化も進んでいるし)と思うのですが、何より日本語で書くと言うことに何か不思議な魅力を感じますね。

      確かに、大規模なプロジェクトには向かないだろう(そもそもそんな作りではない)けれど、日ごろのルーティンワークをさくっとこなせることの重要性はPerlとかを見れば明らかだと思われますし、もともと(ひまわりの頃から)その方向で開発されてきた言語だと認識していますが。アルファベットで書かれているだけで躊躇するような一般ユーザーもいるわけで、そういうプログラミングに無関係な人が日々の業務でちょろっと使えるような言語の存在意義は大きいのではないでしょうか。そこでプログラミングの面白さを知り、別の言語に進むことも考えられるし。

      # 実は『日本語AppleScript』から入った口なのでID

      親コメント
  • 最近ドキュメントの「て・に・を・は」がメチャクチャな人が多いので、教育効果が期待できそうですね;-p
    あと、「それを」で前の文の値を参照できるなど、関係代名詞がつかえると日本語らくなりそうですね。
    • by Anonymous Coward on 2005年02月23日 10時59分 (#698112)
      Larry Wall が「Lightweight Language Magazine」か何かで「こんなに複雑な言語を自在に操る人にとって Perl の文法を覚えるくらいのことは簡単なことでは」と言っていたような記憶がある。本当に日本語は難しいと思う。漢字は音と訓があり、ひらかな、カタカナ、その上曖昧な言い回しは自由。

      それを自由に操っているのだから、ひつとの言い方にプログラム言語として縛られると表記がどうしても不自然でしっくりこないものになってしまうような気がする。

      # あれとこれを足す
      # あれにこれを足す
      # あれをこれに足す
      # あれへこれを足す
      # あれ足すこれ

      すべて結果は同じだが、感じる意味を微妙に違う。
      親コメント
typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...