質問: プログラミングについて プログラミングなんてほとんど知らない素人です。
回答: 完全な想像ですが、レスポンシブやAjaxとか、HTMLをリアルタイムに処理させようとする仕組みは、HTMLの仕様を決めるW3Cでも、当初は想定していなかったんじゃないかな? 想定していないというか、技術的な問題で実用的ではなかったり、必要性を感じていなかった。 しかし、みながHTMLでサイトを作る上で、いくつかの不便さが生まれていったので、それを拾い上げた形で、技術的な進化があったのかと思います。 それは、プログラミング言語的な進化と、ハードのスペック的な進化です。 アホか、天才はそんな想定していたけど、使われなかっただけ・・・、と言われるかもしれないし、実は当初から、想定されていたというケースも多いのだが。 そのへんはわかりませんが、プログラミング言語といえど、ヴァージョンアップによって、変化や追加や廃止される仕様があるわけです。 プログラミング言語を作っている側が、気がつけなかった便利さを、ユーザーが発見するということは、あると思いますよ。 確か、Rubyの文字もオブジェクトであって、そのまま使うことを、想定していた。 しかし、オブジェクトなので、処理が若干遅い(そういうものと考えてくれ)ので、使う方は、定数だか(うろ覚え)にして、文字処理の高速化を、裏技的に使っていたのを、「そんな面倒なことをしているのか?なら、はなから高速に使えるようなオプションをつける。」と、仕様が加わった的なことを聞いたことがあります。 でだ、質問自体の意図を考えると、言語の仕様にない機能が、実現できるのか?という話だと思うのですが・・・、それは、通常実現はできると考えられます。 プログラミングの世界だと、根源的な状態は2進法という全体は、今も昔も変わっていません。 極論、2進数でなら、どんなプログラムも表現できます。 ああ、こうかけばわかりやすいですか? 蒸気機関車やエンジンやモーターは、人間がその仕組みを創造したものではありません。 すべてすでにある自然の中から、発見したものです。 すでにあった、自然の法則から、人間が利用しやすいように、組み直したものに過ぎません。 プログラミング言語も、そうで、2進数で表現できるプログラムなら、今も昔も、同じものを作ることは可能でした。 ただ、PCのスペックだったり、必要性やその利便性に気が付かれなかっただけです。 それが、言語の仕様としてあるのか? それとも、個人が全部作らなければ行けなかったのか? の違いは、あれど、概念的な話なら、今あるプログラムも、50年前のパソコンで、あくまで概念的になら、作ることは可能です。 まぁ、50年も前だと、メモリが数KBとかの単位だと思うので、スペック的に無理なことも多いでしょうが、そういうハード的な制約を除けば、同じか同様の結果を出すものを、作ることは可能でしょう。 現実でも、「蒸気機関という仕様が追加されました!」となっているわけではなく、「蒸気によって圧力を高めて、物を動かすことができる」という自然の法則がすでにあり、それを利用したように、プログラミングの世界でも、2進数という根源的な法則は変わっていないので、言語の仕様が追加されようが、されまいが、仕様を追加される前にも、同様の機能をさせることは、不可能ではなかった・・・、ということになります。 ただし、その困難度はケースによるということでしょう。 こういう仕様に縛られずに、実現させることを、本来ハッキングっていうんですけどね。