<ウィルクスの苦悩>
- ウィルクスは世界初のプログラム内蔵型コンピュータ(ノイマン型コンピュータ)を完成させたにもかかわらず、機械語プログラミングを実行したとき、『プログラムのバグ探しに残りの人生を費やすのでは』という苦悩を抱えたそうですがそのあたりに興味を持ちました。人は手間のかかる作業をいかにして楽なものにしていくかという探究心(というよりはより楽をしたいだけだが)が今の発展につながっているというのが感じ取れた。
<高水準プログラミング言語発展の流れ>
- 本講義で最も興味深かったのは、ノイマン型コンミュータ登場後の高水準言語の開発の流れです。何事も最初に「作る」という作業は途方もないものであり、その苦労が伺えて興味深いです。歴史の中に埋もれてしまったA-0や、FORTRAN。そしてCOBALその開発者達は誰もが開発している言語の確実性を信じて開発を進め、その可能性の限界に打ち当たり、とうとう大成された一つとしてのALGOL60ができた。しかしそのALGOL60こそがその後の言語規模の拡大に繋がり、現在の歴史に裏づけされるように言語の開発・発展は続けられている。高水準言語からオブジャクト指向言語に移り変わり、言語開発を続ければ続けるほど、その出口が見えない。現在普及しているJAVAもそれに変わる言語の出現によってあっさりその王座を受け渡す日がくるでしょう。プログラミング言語の開発・発展は留まる日はまだまだ遠い未来の話のように思えてなりません。
- 今回の授業では、主にどのようにしてプログラミング言語が作られていったのかという背景の話でしたが、この中で私が一番感じた事は、「プログラミング言語には様々な用途にそれぞれ得意な言語が増えていったが、プログラミング言語は今日まで発展してきたのは、プログラマーや言語の開発者達が、常にそれに満足していなかったためだろう」ということです。一度その言語に満足してしまえば、そこでプログラミング言語の歴史は終わってしまったかもしれないということを考えると、やはり言語の開発者達やプログラマーは常にシンプルで高性能な言語を求めていたのだろうと考えました。
それは昔よりシンプルで誰でも扱えるようになった、今現在のプログラミング言語においても同じことが言えるのではないだろうかと、今回の授業を通して感じました。
また、昨年習ったJava言語の文の終わりには「;」という規則は、ALGOLから発展されていると知り、プログラミング言語の歴史というものはただ単に「昔は〜であった」というだけでなく、今日にも生かされているのだと改めて知る事が出来ました。
- 今日の講義で興味・関心を持ったことはコンピュータのプログラムを人間の考えかたに近づけるということです。単純にすごいことだと思った。 もし 本当に人間と同じような考えかたでプログラムできるとしたら、もっと色々なことがコンピュータによって出来るようなきがします。 私個人としては、プログラム言語がもっと簡単になり誰にでも操れるようなプログラム言語がでてくることを期待しています。
- 今日の講義での感想は、プログラミングの歴史は長く、過去の色々な偉人たちの功績があってこそ現在のように便利な機能が使用できるのに興味を持った。先週の説明だけではなかなか理解できない部分があったが、今回の説明でプログラミングの歴史がなかなか理解できた。
<形式文法理論>
- 今回の講義でプログラミング言語が文法によって構成されているということがおどろきました。しかも文法にも種類があること。
今までプログラミングやアルゴリズム論をやってきてもぜんぜん気づきませんでした。といことは、まったく意味もわからずやってきたということで、意味を理解していてやってたいらもっとわかったのかなとおもいました。もったいなことをしたと思います。プログラミング言語は文脈自由文法が主で構成要素が決まったら文を生成できる。というのは要素を入力すればちゃんと意味の通る文になるということですよね?それをできるように作った人はすごいと思います。
- プログラミング言語は、文脈自由文法が主だということに興味を持ちました。日本語のように、<主部>,<述部>,<名詞>,<動詞>,<助詞>のようなものがあって、それを組み合わせていくとプログラムされる。しかし、組み合わせ方が日本語としては必ずしも意味の通るものではなくなってしまう(考えようによってはわかるかもしれないけれど)。構成も、文字、語、式、文と続きプログラムされる。大変興味を持った。
- 私は文脈依存文法について最も興味を持ちました。 日本語には言葉が同じであっても、ニュアンスの違いで意味が異なってくることがあります。そのニュアンスをコンピュータでどのような処理をするのかが、とても疑問に思いました。
<プログラミング言語の構成>
- 今回興味を引いたものは二つあり一つは、プログラム言語の構成です。
今まで何気なくJAVAなどでプログラムを書いても構成などを気にすることは無かったので改めて聞くとなるほどなと思うところがあったからです。
- 今回の比較プログラミング言語論の講義を聞いて一番興味を持ったことは、プログラミング言語の構成が文字から始まり語、式、文、モジュール、手続きと関数、プログラムで構成されていることを始めて知ってもっと複雑に構成されていると思った。
<ALGOL60>
- 今日の講義で興味を持ったことは、ALGOL60についてです。このALGOL60によって、PASCALやC言語が継承されていったことは、この言語世界でも歴史がちゃんとあることを感じました。そして今もなお、プログラミング言語のプロジェクトの研究が行われ、さらにハグのない、正しいプログラミングを開発しようとしているのだと思うと、どこまでプログラミング言語が発展していくのか、そして進化していくのか予想がつきません。もっと性能が優れた言語、誰もが使いやすい言語、などが今後作られていけばいいと思いました。ウィルクスの苦悩や、チョムスキーの形式文法論を無駄にしないようにするためにも、今後も発展していくべきだと思います。
- 今回の講義で私が一番興味を持ったのは、ALGOL60です。それというのも、言語研究の中では当時最高のものということで、膨大な量を扱っていた当時の言語問題に一つの終止符、あるいは転機を与えたからです。形式文法理論による文脈自由文法として制定されたわけですが、そこには今に繋がるものがあったと考えられます。それは、C言語等の後続言語に使われていることでも明らかです。アルゴリズムに向いているという部分にも興味がもてます。とすれば、ホアが言うようにやはりこのALGOL60は偉大な業績であると言えると思います。私は、ALGOL含め、これらの言語はやはり難しいと思います。しかし反面理解できれば面白いとも思いました。
- 今回の講義で自分が興味を持った点はALGOL60についてです。今までに言語研究として形式言語文法論における文脈自由文法言語として初めて制定されたという点がALGOL60について興味を持った点です。このALGOL60がプログラミング言語の基盤となってALGO68までに言語規模が拡大していきPASCAL、C言語等の後継言語に受け継がれていくみたいですがもしこのALGOL60が言語研究において満足な結果を生み出さず完成されなかったとしたら今あるプログラム言語がそれぞれにおいて生み出されず、プログラム言語全体としてうまく機能しなかったのではないかと考えます。
<全般的な感想>
- 講義の感想ですが、最初に、前の講義で提出したレポートのことをやるのはよいことだと思います。なぜなら他の人の考えや意見が分かるからです。
- 自分が気づいた点はプログラム言語の種類はたくさんありますがどれも簡単にはプログラムできないということです。それぞれの用途や適応により数多くの言語が生み出されたことは解りますし、簡単になってきていることも理解できます。しかし、簡単にプログラムできるほど手軽にはなっていないと思います。自分が理解できていないというのもあるかもしれませんが、関数がたくさんあることで似たような式も多く、どれを使えばいいのかわからないことも多々あります。計算式を自動的に検出してくれるなどの機能があれば楽になると思いますが、それだと逆にプログラミングの楽しみがなくなるのかなとも思いました。
- 今回の講義では、プログラミング言語の文法は句構造文法、文脈依存文法、文脈自由文法、正規文法など様々な種類があり、今使っている文法は文脈自由文法だと言うことを初めて知りました。このような様々な文法の中から選ばれ今私たちが使っているということに初めて気づかされました。
- 今回の授業で、プログラミング言語がどのように発展してきたのかを、アセンブリ言語から始まって、少しずつ人間が使いやすくなるために改良されていった過程がわかってすごく面白かったです。プログラミング言語は今となってはかなり使いやすくなりましたが、授業を聞いていて、最初のアセンブリ言語もおもしろいかと思いました。それは、プログラミング言語の基盤となっているもので、すごく難しそうに思えましたが、奥が深くて面白いのではないかと思ったからです。また、普段あたりまえのように使っていた「文の区切りに;を用いる」ことや、「変数は全て宣言する」ということがALGOL60から後継されているというのを知って、ALGOL60にも少し興味が湧きました。
- 今回の授業でプログラミング言語を現在の状態に持ってくるまで、さまざまな過程があって、何人もの研究者がとてつもない時間を費やしてできているんだなあ、と改めて思いました。プログラミング言語の構成が文字から語、式、文、そして手続きと関数、モジュール、プログラムといった順で行われるのもなるほどと思いました。簡単に入力できるようにたくさんの工夫があります。だけどウィルクスの苦悩に似たようなことは、まだまだあると思います。人生まではいかないけれど、とても時間がかかるとおもいました。
<質問>
- (ALGOL60が)形式文法理論による文脈自由文法言語として制定され、当時の言語研究の到達点というのは、その時代の時に研究は止まってしまったということなのですか?なぜ完全に言語研究は到達したといえたのですか?
- 「エスペラント」っていう世界標準語を目標として作られた言語、あれもこの「形式文法理論」にのっとって開発!?されているのかちょっと疑問に思いました。
- A-0が上手くいかなかった一方、翌年のFORTRANが成功したようですが、A-0とFORTRANの違いは何だったのですか?
またもうひとつ質問なのですが、ALGOL68は規模が大きくなりすぎて次第に使われなくなっていったとおっしゃっていましたが、Javaはどうなのでしょう? Javaはパッケージがむやみに増えないように配慮されているとのことですが、現状ではあまりに重過ぎます。肥大したプログラム言語と同じように、重たいプログラム言語も淘汰されていくのではないのですか? Javaは現状、マイナーOSユーザに優しく面白くはあっても、快適ではありません。実際、力を入れていたはずの携帯端末方面では、auがBREWを使い始めています。
- 全然関係ない話なんですけどプログラミング言語は多数ありますが、パソコンの起動のプログラムやパソコンを使って作業する上でも、パソコンはプログラムを使って計算しているんですよね?そのプログラムの種類はどんな言語が使われているのですか?後、一度インターネットが繋がらなくなって、電子計算機センターにパソコンを持っていったのですが、「ネットを繋ぐプログラムを、パソコンが勝手に消してしまった」と聞いたのですが、それバグなんですか??そしてそのエラーを見つけるためにコマンドプロントでいろいろ調べていたのですが、コマンドプロントとプログラムは何か関係あるのでしょうか?授業に関係ないような質問でごめんなさい。 バグという言葉を聞いてふと思い出して気になってしまいました。
- 私は英語が苦手なのです。 そこで自分もおもったのですがプログラミング言語は人工的。ということは自分でも作れるという事です。Javaも去年習いました。少々理解しづらいですが文法があると思います。 ということは、自分に使い易く分かりやすいプログラミング言語、日本語のプログラミング言語はつくることができるのでしょうか?
<前回のレポートへのコメント>
- 前回のレポートでの結果が思った以上に様々な言語に分散されていたことに驚きました。
- 2. 前回分の回答W−2と3に気になるところがあって書きますが、
"Javaをもっと知るためにCを"
というのは少々的がはずれているように思えてなりません。 C++はよく知りませんが、少なくともCは、最下層のハードウェアレベルまで指示していく必要が出てくる可能性があります。それを考えると、単に気が向いたというだけで終わってしまいそうに思えてなりません。