アカウント名:
パスワード:
文法に日本語が使える事の良さは、プログラマー対象のものではないのでは。私の友人にも、(何故か文系で)プログラミングやりたいと言う人がいますが、アルファベットなので躊躇しているらしいです。つまり、きっかけ作りには日本語で書けるということの意義は極めて大きいと思いますが。
既にプログラムが書ける人にとってはいろいろな短所が目に付くでしょうが、やった事が無い人にとっては、一つの(精神的な)壁が取り払われているのではと感じます。そのレベルでは、アルファベットで書かれている事自体が可読性の障害な訳です。
# ついでに国際化とかはどうするの?
このまま国際化と言う事にして、海外の人には日本語(の文字)に慣れる一つの方法としてもらう、とか?(笑。文法はさすがに…プログラミングをいくらやっても、英語が上手になっている気はしないし…。ただ、アルファベットを見る事に違和感(或いは抵抗)を覚えなくなったのは事実なので、その効果は望めるでしょう。
うーんと、無論高校生以上ですが、そう言っているのだから仕方ありません(笑。こっちが駄々をこねても無意味ですし、じゃあやるな!ではつまらないでしょう。
プログラム(前に・書く)の本質的な難しさは、実行中に出会ういろんなシチュエーションには、それがどんなバカバカしいものであれ、 あらかじめ明確な対処方法を記述しておかなくてはならない (でないとバグになったりバッファーオーバーフローをクラッカーに突かれたりする) ことだと思うんですよね。
それに目が向くのは、プログラミングを始めてからではないですか?しかもプログラム作者以外の人が使う事を考えた上での話ですよね?
言語のターゲットは、プログラミングをやった事が無く、その便利さを知らない一般ユーザーだと思われます。例えば複数のファイルの内容を調べた上で特定の条件なら圧縮するとか、その程度のことに高い敷居をつけるのはいかがなものだろうかと疑問です。
プログラムを作ることが仕事であれば完璧なプログラムを作る事を目指さなければなりませんが、一般人にとってはプログラムを作る事は本来の仕事を為す為の手段に過ぎません。取っ掛かりやすく、ほんの数行程度でもちょっとした処理が可能なこうした言語は、そういう仕事の為に言語を『利用する』ユーザーにとっては便利なのでは?(実際私はPerlという道具を奪われると辛いのです。実行環境(ノート)を常に持ち歩きます。)しかも、日本語でちょろっと書ける事で、これまでプログラミングに触れた事もないユーザーでも楽に扱えるのでは?前に書いた通り、プログラマ対象ではないのでは?と言う事です。
それはキーワードが日本語でも英語でも一緒だと思うんですよ。
その通りだと思いますが、それ以前に細々とした事を配慮して書く必要のあるプログラムなのかも考えなければなりません。たった1回自分のコンピュータ上で使うだけの仕事処理用のプログラムのために、デバグも含めて何時間もかけてしまっては意味が無いのです。その間に手作業ででも仕事をすれば良いのですから。
たった1回自分のコンピュータ上で使うだけの仕事処理用のプログラムのために、デバグも含めて何時間もかけてしまっては意味が無いのです。その間に手作業ででも仕事をすれば良いのですから。
確かに、プログラミングの勉強をしたくない人でも簡単に使えるような、 何らかの一種のシェルスクリプトのような環境の需要はあると思いますね。 ただ、それに対するのが日本語プログラミングなのかというと、 それにはちょっと懐疑的です。 個人的には、そういう用途向けの良い
トークン間にスペースがないので、専用エディタでなければ可読性が落ちます。 英語ベースの従来の言語であればスペースで区切られているので、初学者であってもトークンの区切りが一目瞭然です。 しかし、なでしこは中途半端な日本語(「てにをは」の扱いなど)であるがために、色分けされていないと読みにくい場面が出てくると思われます。 エディタを選べないというのは(決定的ではないものの)言語としてちょっと不利でしょう。
「最初に学ぶ言語」としてなら、ごく基礎的なアルゴリズムなんかは学べそうです。 あと、「*.dat の拡張子をすべて *.txt に変換」などの、シェルスクリプトの練習に書くような小物をスマートにプログラムできる方向で発展してくれたら、案外中級者以上のハートもつかんでしまったりして(気軽にかけるバッチファイルとか、そんな感じで)。
しかし、日本語であることってそんなに重要なんでしょうか。 今時 HTML をメモ帳で書いてる小学生だっているわけだし、この程度の敷居で尻込みしてしまう人は、たぶん「なでしこ」でも大成できないと思うんだけど。
>この程度の敷居で尻込みしてしまう人は、 >たぶん「なでしこ」でも大成できないと思うんだけど。
そうかもしれませんけど、「大成」することって必要なんでしょうか?
あと、すでに「敷居」を越えてしまった人には「この程度」と見えるようなものであっても、敷居の前で躊躇している人には実際よりはるかに高く乗り越えがたい壁に見えているのかもしれませんよね。ネット上では「英語のドキュメントくらいは読めないとどうしようもないよね」みたいな発言は珍しくもないわけで、初心者が必要以上にビビってる、なんてこともあるんじゃないかなあ。
それに、「なでしこ」なら40代、50代以上の人たちでも、ちょっとやってみようか、という気になってくれるかもしれません。そういう世代の中にもプログラミングの一端に触れた人が増えてくれば、世の中いろいろ面白くなるような気がするんですがね。 # 実際には、そううまくはいかないでしょうが……
「大成」は明らかに言い過ぎでした。私だって気が向いた時にちょっとハックするだけの素人プログラマで、まったく大成してませんし ;-)
ただ、「英語の読み書きに難がある人が云々」という投稿に、どこか違和感があったのです。 たとえば私は数学が苦手で数学的なロジックを組むのにいつも苦労しますが、自分のプログラムを動かしたい一心で努力するわけです。 どっちみち初心者の間はマニュアルだのサンプルコードを必死で追わなきゃならないわけで、そこらへんの苦労をスキップしていきなり「話すようにプログラムを書ける」なんてことはありません。
誰だって得手不得手があって、それに起因する学習コストがかさむわけです。英語が不得手な人にとって「なでしこ」は期待が持てますが、○○が苦手だからと努力を回避してしまう人は結局どこかで頭打ちになるんじゃないかと思うわけです。 この本人の資質の部分は、「なでしこ」の言語としての性能とは無関係な話です。
# というか、そこまでアルファベットに抵抗がある人が、どういった事情で # プログラミング(してみようと思う|しなければならない)に至ったか興味があります。
日常語に近い表現で書けるという意味で、プログラミング初学者に有用だろうという見方は否定しません。むしろ積極的に肯定しますし、歓迎します。 また、「別に奥深くまでハックするつもりはないが、ちょっと触ってみたい」という人たちに「素人は引っ込んでろ」というつもりはありません。私も似たり寄ったりの段階ですから。 「なでしこ」がプログラミングに縁のなかった人たちを虜にしたら「世の中面白くなるような気がする」というのも、まったく同感です。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
可読性はあがるの…? (スコア:2, 参考になる)
結局同じ構造に基づいてプログラムするならば結局トークンの差ぐらいでしかないわけで…それだったら、日本語を入力することによるコストがかかるだけですよねぇ…。
# 英語が極端に苦手!というときにはそれでも多少は効果が?
# むしろ日本語の論理構造に合うように関数名とかを考えようとしてしまってコーディング効率は下がるかも…?
最終的に、そこら辺(入力のコスト増とか)は許容誤差にまで吸収されてしまって結局は可読性とかどうなの?という話になると思うんですが、どうなんでしょ?
# ついでに国際化とかはどうするの?
---------- ------ ISHII Nayuta
Re:可読性はあがるの…? (スコア:2, 興味深い)
perl -e でやるようなワンライナーのような書き方に向いてそうな印象を受けましたな。
前回「ひまわり」の話題がここで上がった頃、ほうぼうのblogに
「ためしてみた」的な記事が載りましたけど
xxのホストのxxポートに接続。ファイルを持ってこいみたいなワンライナーなんか
もう日本語そのままで驚きましたよ。
こういうのを日本語でやるとなると、
perlの省略時変数のようなものをより自然に扱えるようにならないか、
みたいなところに期待したくなるなあ。
日本語は少なくとも英語よりは語の省略が豊富な言語なので、
その構造みたいのをうまくプログラミング言語に取り入れていけたら強い。
そういうことを考えていく上でも、さまざまな自然言語とプログラミング言語の組み合わせ、
というのはおもしろい試みだと思う。
リーナスさんが
「プログラミングの時は英語でものを考える」みたいなこと言ってたけど
じゃあ逆に母国語的思考ではどのようなプログラミング言語がしっくり来るのか。
仕事に使うならともかく、こういうことの試行錯誤は
やって無駄ということにはならないでしょう。
Re:可読性はあがるの…? (スコア:1)
例えば、ラテン文字を憶える前の小学生に、計算機科学の基礎の基礎を教えるような場合とか。
プログラミングの楽しさって、アルファベットを憶える事とは関係ないのだから、こういうアプローチもあっていいのでは。
Re:可読性はあがるの…? (スコア:1)
Re:可読性はあがるの…? (スコア:1)
かく言う私は、実はひらがなより先にラテン文字を先に憶えましたが。
Re:可読性はあがるの…? (スコア:1)
文法に日本語が使える事の良さは、プログラマー対象のものではないのでは。私の友人にも、(何故か文系で)プログラミングやりたいと言う人がいますが、アルファベットなので躊躇しているらしいです。つまり、きっかけ作りには日本語で書けるということの意義は極めて大きいと思いますが。
既にプログラムが書ける人にとってはいろいろな短所が目に付くでしょうが、やった事が無い人にとっては、一つの(精神的な)壁が取り払われているのではと感じます。そのレベルでは、アルファベットで書かれている事自体が可読性の障害な訳です。
このまま国際化と言う事にして、海外の人には日本語(の文字)に慣れる一つの方法としてもらう、とか?(笑。文法はさすがに…プログラミングをいくらやっても、英語が上手になっている気はしないし…。ただ、アルファベットを見る事に違和感(或いは抵抗)を覚えなくなったのは事実なので、その効果は望めるでしょう。
Re:可読性はあがるの…? (スコア:1)
プログラム(前に・書く)の本質的な難しさは、実行中に出会ういろんなシチュエーションには、それがどんなバカバカしいものであれ、
あらかじめ明確な対処方法を記述しておかなくてはならない (でないとバグになったりバッファーオーバーフローをクラッカーに突かれたりする) ことだと思うんですよね。
そういった細々とした事に配慮して書かれたものは、どうやったって一読してすっきり頭に入らない、可読性の低いものになってしまうでしょう。
それはキーワードが日本語でも英語でも一緒だと思うんですよ。例えば六法全書や生命保険の約款みたいな感じですね。
(自分の入っている生命保険の約款を全部読んで理解した人います?)
まぁ DO 10 I = 1,10 を DO10I = 1.10 と書き間違えたという伝説のバグのようなものを減らす役には立つと思うんですが。
あぁ、「ン」が消えてるんですよ。「ビーフン・カレー」ね。
Re:可読性はあがるの…? (スコア:2, 興味深い)
うーんと、無論高校生以上ですが、そう言っているのだから仕方ありません(笑。こっちが駄々をこねても無意味ですし、じゃあやるな!ではつまらないでしょう。
それに目が向くのは、プログラミングを始めてからではないですか?しかもプログラム作者以外の人が使う事を考えた上での話ですよね?
言語のターゲットは、プログラミングをやった事が無く、その便利さを知らない一般ユーザーだと思われます。例えば複数のファイルの内容を調べた上で特定の条件なら圧縮するとか、その程度のことに高い敷居をつけるのはいかがなものだろうかと疑問です。
プログラムを作ることが仕事であれば完璧なプログラムを作る事を目指さなければなりませんが、一般人にとってはプログラムを作る事は本来の仕事を為す為の手段に過ぎません。取っ掛かりやすく、ほんの数行程度でもちょっとした処理が可能なこうした言語は、そういう仕事の為に言語を『利用する』ユーザーにとっては便利なのでは?(実際私はPerlという道具を奪われると辛いのです。実行環境(ノート)を常に持ち歩きます。)しかも、日本語でちょろっと書ける事で、これまでプログラミングに触れた事もないユーザーでも楽に扱えるのでは?前に書いた通り、プログラマ対象ではないのでは?と言う事です。
その通りだと思いますが、それ以前に細々とした事を配慮して書く必要のあるプログラムなのかも考えなければなりません。たった1回自分のコンピュータ上で使うだけの仕事処理用のプログラムのために、デバグも含めて何時間もかけてしまっては意味が無いのです。その間に手作業ででも仕事をすれば良いのですから。
Re:可読性はあがるの…? (スコア:1)
例えば、「なでしこ」のチュートリアル [nadesi.com]で、
クジラ1匹を表示するときは立ち位置を気にしなくていいのに、
ワニも一緒に表示するときは立ち位置を指定しないといけないというのは、
プログラミングの難しさの一例だと思いませんか?
例えば新しいオブジェクトはデフォルトで1つ前のオブジェクトの右に置くという
仕様にしておけば、もっと初心者にとってとっつき易くなると思うんですが、
「なでしこ」では日本語でプログラミング言語を構成することにばかり気をとられていて、
その辺のセンスがちょっと足りないんじゃないかという気がします。
初心者がちょっとした作業を行うための言語があったほうがいい
という意見には賛同しますが、残念ながら「なでしこ」はそうはなり得ないのではないかと思います。
普段もっと低いところで悩んでいる私がこれ以上天に唾するのもなんですが。
あぁ、「ン」が消えてるんですよ。「ビーフン・カレー」ね。
Re:可読性はあがるの…? (スコア:1)
なでしこで
「こんにちは」 と 表示する
で、画面に「こんにちは」と表示されるのは、感覚として凄く分かりやすいんですよ。
そうかそう言うことか!と、まさに目から鱗がでした。
>それに目が向くのは、プログラミングを始めてからではないですか?しかもプログラム作者以外の人が使う事を考えた上での話ですよね?
全く同意です。おもしろそう、ちょっとやってみようという気持ちが起きるだけで十分では。
このあたりの感じはスキーを始めることに似てるなぁと。
道具をそろえるだけでなく、さらに現地まで雪道を運転しなきゃいけないとか、スタッドレスタイヤとか、チェーンとか…
ゲレンデに行くまでは、面倒だし敷居は高い(高そう)けど友人に何度か連れて行ってもらえば、そんなことは気にならなくなる。
そんな感じです。
Re:可読性はあがるの…? (スコア:0)
確かに、プログラミングの勉強をしたくない人でも簡単に使えるような、 何らかの一種のシェルスクリプトのような環境の需要はあると思いますね。 ただ、それに対するのが日本語プログラミングなのかというと、 それにはちょっと懐疑的です。 個人的には、そういう用途向けの良い
Re:可読性はあがるの…? (スコア:1)
で、しばらくコードを書いていると日本語の文章が書きたくなります。
文系理系というくくりは好きではないのですが、やはり文章と
コードのあいだには本質的な違いがあると感じます。文系の人には
C言語はおすすめできないな、とか。
でも、そこまで深入りせずとも、ちょっとした処理を自分で解決したり、
計算機科学のさわりを体験するのであれば、間口が広いほど、敷居が
低い程よいのではないかと思います。
いわゆる文系の人達にも、もっとコンピュータのことを知って
欲しいんですよね。小説のネタを考えるとき、コンピュータの
概念的な理解が役に立ってるし。思考するときに応用できる概念は
多いほどいいかと。
#お友達は七十歳以上やも知れぬ。
-- AKN
Re:可読性はあがるの…? (スコア:0)
代わりにこういうバグが増えるんですね?
Re:可読性はあがるの…? (スコア:1)
トークン間にスペースがないので、専用エディタでなければ可読性が落ちます。
英語ベースの従来の言語であればスペースで区切られているので、初学者であってもトークンの区切りが一目瞭然です。
しかし、なでしこは中途半端な日本語(「てにをは」の扱いなど)であるがために、色分けされていないと読みにくい場面が出てくると思われます。
エディタを選べないというのは(決定的ではないものの)言語としてちょっと不利でしょう。
「最初に学ぶ言語」としてなら、ごく基礎的なアルゴリズムなんかは学べそうです。
あと、「*.dat の拡張子をすべて *.txt に変換」などの、シェルスクリプトの練習に書くような小物をスマートにプログラムできる方向で発展してくれたら、案外中級者以上のハートもつかんでしまったりして(気軽にかけるバッチファイルとか、そんな感じで)。
しかし、日本語であることってそんなに重要なんでしょうか。
今時 HTML をメモ帳で書いてる小学生だっているわけだし、この程度の敷居で尻込みしてしまう人は、たぶん「なでしこ」でも大成できないと思うんだけど。
[わかってもらうことは難しい。わかってあげることは、もっと難しい。]
Re:可読性はあがるの…? (スコア:1)
そうかもしれませんけど、「大成」することって必要なんでしょうか?
あと、すでに「敷居」を越えてしまった人には「この程度」と見えるようなものであっても、敷居の前で躊躇している人には実際よりはるかに高く乗り越えがたい壁に見えているのかもしれませんよね。ネット上では「英語のドキュメントくらいは読めないとどうしようもないよね」みたいな発言は珍しくもないわけで、初心者が必要以上にビビってる、なんてこともあるんじゃないかなあ。
それに、「なでしこ」なら40代、50代以上の人たちでも、ちょっとやってみようか、という気になってくれるかもしれません。そういう世代の中にもプログラミングの一端に触れた人が増えてくれば、世の中いろいろ面白くなるような気がするんですがね。
# 実際には、そううまくはいかないでしょうが……
Re:可読性はあがるの…? (スコア:1)
「大成」は明らかに言い過ぎでした。私だって気が向いた時にちょっとハックするだけの素人プログラマで、まったく大成してませんし ;-)
ただ、「英語の読み書きに難がある人が云々」という投稿に、どこか違和感があったのです。
たとえば私は数学が苦手で数学的なロジックを組むのにいつも苦労しますが、自分のプログラムを動かしたい一心で努力するわけです。
どっちみち初心者の間はマニュアルだのサンプルコードを必死で追わなきゃならないわけで、そこらへんの苦労をスキップしていきなり「話すようにプログラムを書ける」なんてことはありません。
誰だって得手不得手があって、それに起因する学習コストがかさむわけです。英語が不得手な人にとって「なでしこ」は期待が持てますが、○○が苦手だからと努力を回避してしまう人は結局どこかで頭打ちになるんじゃないかと思うわけです。
この本人の資質の部分は、「なでしこ」の言語としての性能とは無関係な話です。
# というか、そこまでアルファベットに抵抗がある人が、どういった事情で
# プログラミング(してみようと思う|しなければならない)に至ったか興味があります。
日常語に近い表現で書けるという意味で、プログラミング初学者に有用だろうという見方は否定しません。むしろ積極的に肯定しますし、歓迎します。
また、「別に奥深くまでハックするつもりはないが、ちょっと触ってみたい」という人たちに「素人は引っ込んでろ」というつもりはありません。私も似たり寄ったりの段階ですから。
「なでしこ」がプログラミングに縁のなかった人たちを虜にしたら「世の中面白くなるような気がする」というのも、まったく同感です。
[わかってもらうことは難しい。わかってあげることは、もっと難しい。]
Re:可読性はあがるの…? (スコア:0)
Wnn にしろ ATOK にしろ今となってはかえって日本語入力の方が
英字入力より効率的なことも。
特に、プログラミングのように決まり切った表現が頻出するような
場合は。
Re:可読性はあがるの…? (スコア:0)
必ず変換がつきまといますから、"入力が"効率的とは考えにくいですね。
先読み(補完)変換してくれることを
Re:可読性はあがるの…? (スコア:1)
# Windows ClientをWindowsXP対応してくれないかなぁ
Re:可読性はあがるの…? (スコア:0)
Re:可読性はあがるの…? (スコア:1)
>FEP連携で同様の事が出来るのならよいかもしれないけど、
POBox?
Re:可読性はあがるの…? (スコア:0)
コメントを日本語入力するのに、いちいち入力モードを切り替えたり、
といった労力は省ける可能性がありますね。
実際、プログラムしていて、この二つが思考の妨げになることしばしば。
Re:可読性はあがるの…? (スコア:0)
わざわざ辞書で調べなければならないようなものを変数名に使っても可読性は下がるだけですよ。
#りんごって英語でなんだっけかなぁ?とかいうレベルでない限り(w
Re:可読性はあがるの…? (スコア:1)
意味の異なる単語をオレ解釈で使われたり、複数の違う概念の物に1つの単語を使われる方が余計読みづらいです。
Re:可読性はあがるの…? (スコア:0)
Re:可読性はあがるの…? (スコア:0)
多いことに最近気づいて……orz
#オフトピなのでAC
Re:可読性はあがるの…? (スコア:0)
読解力を鍛える (スコア:0)
このプログラムの意図する処理内容を、二十文字以内で要約せよ。
Re:可読性はあがるの…? (スコア:0)
ex.
http://bbs.kldp.org/viewtopic.php?p=234841#234841
韓国語版があります。
...というのはうそです。