人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

傍から見ると、
プログラミング言語で最強(スケーラブル)なのは、
Lispだと思われます。
http://jp.franz.com/index.html

しかし、
世間ではマイナー言語のようです。
なぜでしょうか。
習得が難しいのだとしたら、
どのくらい難しいのでしょうか。

●質問者: hu2
●カテゴリ:コンピュータ インターネット
✍キーワード:Lisp なのは プログラミング言語 マイナー 言語
○ 状態 :終了
└ 回答数 : 9/9件

▽最新の回答へ

1 ● pascal7
●16ポイント

昔買ったエディタのマクロがLispだったので、Lispでマクロを少し書いたと言うだけの経験ですが。


習得は、簡単だと思います。

(マニュアルを見ただけで書けましたし)

中級のプログラマーになるのは、

(頭の中が関数型のプログラマーになっているので)

難しいと感じました。

上級プラグラマーのレベルになったら

なぜ世間は関数型の言語が流行しているのか腹立たしくなるらしいです。


なぜマイナーかと言うと

それは風評の影響が大きいと思います。

また高速なプログラムが書けるかと言う問題もあると思います。

(Cの方が機械語に近い言語なので高速なプログラムを書きやすいと言う意味)

多くのプログラマーは問題解決にLISPを習ってLISPでコードを書こうと言う発想をもてないと思います。

http://ja.wikipedia.org/wiki/LISP

◎質問者からの返答

ありがとうございます。

手続き型に慣れた頭を切り替えるのが難しいのですね。


2 ● kn1967
●16ポイント

■スケーラブルとは言えないでしょう。

スケーラブルかどうかを問う環境と言えばアプリケーション開発ということになると思いますが、アプリケーションを作る上で重要な部分はユーザーインターフェースだったりしますので、そういった意味ではVBやVCなどには太刀打ち出来ないでしょう。

スケーラビリティって意味では、仮想コンピュータまでひっぱりこんだJAVAが一番だと思いますけど、主流には成りえてませんし、、、

■マイナーな理由は、初期のパソコンにはほぼ必ずBASICが搭載されていたって事が一番じゃないかな。。。

(SHARPのMZシリーズでは別売りでLISPやPlologなんかも1万円くらいであったけど当時の1万円は高価だったし、カセットテープだったので読み込みに数分かかって苦労した。。。)

■習得というよりはデバッグが大変でしたね。

BAISICは幾つかのコマンドを覚える事から入ってステップを追加していく形でプログラムを形成していけますし、今のVisualBasicなんかだと部品をくっ付けていってプロパティを操作するだけみたいなものでも格好が付きますから、、、、

それに対してLispは関数の塊というか(かっこ)の塊でしたし使えるメモリが16KBなんて世界だったのでインデントを使うのは躊躇いましたしねぇ。。。。Lispでまともに使えたって記憶はCPUが16ビットの時代に入って以降ですね。

■ご紹介のACLのページにはいろいろ書いてありますけど、

Windows関連ならVBやVC、WEB関連ならPHPやJAVAといったように既にシェアを握っているものの牙城を崩すほどの必要性は感じられませんから、これらに取って代わるということもないでしょう。

必要な人には必要な物だけど、それ以上ではないって事で、、、


URL必須って事でMZ関連を探したけど古すぎたようなのでX68000時代のお話を扱ったページですが、、、、

http://www.haun.org/kent/lisp1/

◎質問者からの返答

ありがとうございます。

一夜漬けしてみます。


3 ● yna1962
●16ポイント

Lispは大学時代齧ったことがあります。20年以上コンピュータ業界にいましたが、大学などを除いて一般的に使われているのを見たことがありません。普及しない理由としては以下の理由が挙げられると思います。

(1) 表記法が一般的でなく、習得が難しい。必要なスタッフの確保ができない

(2) ある程度の大きさのアプリケーションを作ろうと思うと、リソースの消費が多きい。実行時間も大きくなる。

http://ja.wikipedia.org/wiki/LISP

◎質問者からの返答

ありがとうございました。

参考になりました。


4 ● whitebook
●16ポイント

http://local.joelonsoftware.com/mediawiki/index.php/言語をめぐる論争

文中に、以下のパラグラフがあります。

最先端であるかどうかは別に問題でない大きなエンタープライズ向けシステムでは、安全な選択はC#、Java、PHP、Pythonであり、それはこれらの言語でクリティカルなビジネスアプリケーションを構築している人たちが山ほどいるからで、何か問題があったとしても、致命的な問題にはならないのだ。

流行らなかった理由ではなくて、これから流行らない理由ですが、どうでしょう。

◎質問者からの返答

ありがとうございます。

リンク先も参考になりました。


5 ● heroheropon
●16ポイント

最近はやりのRubyやPythonといった言語は、Lispの長所を上手く取り込んでいるといえるでしょうね。これらの言語はC言語などに慣れているプログラマーにとっては極めてとっつきにくいですが、ゼロからプログラミングを習うのであればむしろC言語などよりずっと理解しやすいと思われます(考え方が人間の直感に近いことや、メモリ空間とかややこしいことに常に気を配っていなければならないC言語の面倒くさいところが一切無いため)

実際、GoogleやYouTubeはじめ最近のWeb2.0的なサービスはほとんどPythonで書かれているという話もあるくらいです。


一昔前まで、これらのスクリプト系の言語は「とてつもなく遅い」のが嫌われる最大の要因でしたが、最近のコンピューターの性能向上でようやくRuby,Python,Lispといった言語が実用的な速度で動くようになりました(それでもRubyは遅いといわれていますが)

下記に速度の比較があり、これを見るとLispという言語は極めて高速であると思われます。

http://www.unixuser.org/~euske/doc/python/python-lisp-j.html

※ なおこの表ではPythonが極めて遅いと記載されていますが、実際にはPythonには非常に優秀なライブラリ(C言語で開発されており極めて高速で安定している)があり、遅い処理はライブラリがやってくれますから速度的には十分な場合が多いようです。こうした世界標準的なライブラリが極めて整理されており、高速で安定していることが、Pythonが欧米で大流行している理由の一つでしょう。


以上の事実を踏まえて、以下は私の推測ですが、Lispが流行らない原因は、

「安定していて世界標準的な言語環境がない」のが原因ではないかと思います。(つまり、今作ったLispのプログラムが、3年後に安定して動く環境があるかどうか確信できないので作る気にならない。Pythonも、Ver.3になってようやくまともに使える言語になってきました。)

従って今後、こうした環境が整備されてくれば、Lispが大流行することもあるのかもしれません。


一方で、言語構造的に言って、C/C++言語とこれらの言語は全く異なりますので、C/C++が廃れることは当面ないでしょう。

ただし、C/C++言語は作り手(プログラマー)の力量でパフォーマンスや安定性がン10倍も変わってしまう言語なので、ヘタにC/C++で書くよりもRuby,Python,Lispで書いたほうが良い(こともある)と私は考えています。

◎質問者からの返答

ありがとうございます。

参考になりました。


1-5件表示/9件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ