X



LISPって実際どうなの... [無断転載禁止]©2ch.net
0001デフォルトの名無しさん
垢版 |
2015/12/26(土) 21:08:22.74ID:4MtdCfLl
ポールグレアムがLISPをメッチャ推してるから今独学でやってるんだけど、やってる人が少ないからか参考書も少ないし正直javaとかのほうがいいんじゃないかと悩んでるんだが実際どうなん...
0002デフォルトの名無しさん
垢版 |
2015/12/26(土) 21:09:49.13ID:4MtdCfLl
ちなみに俺がやってるのはコモンリスプね

プログラミング初心者です
0003uy ◆Qawu9.2l1E
垢版 |
2015/12/26(土) 22:17:06.90ID:+a1jqNI7
だから初心者がLispやるなっつってんだろハゲ

お前大学いったら間違いなく意識高い系になるよ
0004デフォルトの名無しさん
垢版 |
2015/12/26(土) 22:33:23.18ID:OHaQL3vX
プログラミングを通して何がやりたいか分からんと何とも言えん
少なくともLispはWindowsアプリケーション作成には向いてない
0005デフォルトの名無しさん
垢版 |
2015/12/26(土) 23:44:25.82ID:Y4e54cbe
大学時代ガッツリやったけど、今は再帰処理が必要なロジックを
考えるのに役に立っているぐらいかな。
0006uy ◆Qawu9.2l1E
垢版 |
2015/12/27(日) 00:37:00.05ID:+oSfCQms
それはきっと役に立ってないんだと思う
0007デフォルトの名無しさん
垢版 |
2015/12/27(日) 00:46:34.22ID:eRQ2YNIt
>>3
もう大学生なんだよなぁ
0008デフォルトの名無しさん
垢版 |
2015/12/27(日) 11:20:58.38ID:nlFV9EHx
下手にアルゴリズムに凝るより、
コンピュータの高速化大容量化生かして力業の方が効率良い場合も。
0009デフォルトの名無しさん
垢版 |
2015/12/27(日) 11:34:47.06ID:hhr5Quu2
>>8
あざすm(_ _)m
0010デフォルトの名無しさん
垢版 |
2015/12/27(日) 11:53:00.15ID:Zmrinoji
Common Lispから始めるならOn Lispって本がお勧め。
難易度は高いけど、必要なことやCommon Lispで出来ることが沢山書かれてる。

より高度なことを知りたいならLet Over Lambdaって本を次に読むべき。
0011デフォルトの名無しさん
垢版 |
2015/12/27(日) 11:55:35.87ID:Zmrinoji
Yahoo! Storeの元になったVia webの作者の一人は、JavaよりScheme(Lispの一種)の方が簡単だって言ってる。
Schemeで雰囲気を掴んでからCommon Lispに入るのも悪くないかも。

http://local.joelonsoftware.com/wiki/Java%E3%82%B9%E3%82%AF%E3%83%BC%E3%83%AB%E3%81%AE%E5%8D%B1%E9%99%BA
「教育言語のSchemeはとてもシンプルで、この言語を頭のいい学生に教えるのには10分くらいしかかからない。」
0012デフォルトの名無しさん
垢版 |
2015/12/27(日) 12:01:00.44ID:hhr5Quu2
>>10
聞きたいんだけど、lispでインターネットからサイトのデータを集めてくるエージェントを作ったりとかってできるの?
webクローラーっていうのか?

リスプの参考書見てても何ができるのかいまいちわからない事が多くて、それで迷いが生じてしまう

あとon lispは一応家にある まだ読んでないけども
0013デフォルトの名無しさん
垢版 |
2015/12/27(日) 12:02:10.67ID:hhr5Quu2
>>11
なるほどなぁ

俺も、普通のプログラミング言語よりリスプのほうが思った通りにプログラミングするのが簡単なように初心者ながら思うんだ

でも、リスプでできる事がいまいちわからないから悩んでる
0014デフォルトの名無しさん
垢版 |
2015/12/27(日) 12:02:57.62ID:hhr5Quu2
ちなみにLISPでGUIプログラミングって出来るの?
0015デフォルトの名無しさん
垢版 |
2015/12/27(日) 12:03:51.84ID:hhr5Quu2
俺的には、プログラミングの簡単さ<できることの多さが重要なんだけど

悩むなあ
0016デフォルトの名無しさん
垢版 |
2015/12/27(日) 12:18:15.80ID:4UF28mhH
>>12
できる。
Common Lispでもできるが、ClojureだとHtmlCleanerみたいなJavaライブラリを混ぜて使えるからすぐに実用に耐えるプログラムが書ける。
0018デフォルトの名無しさん
垢版 |
2015/12/27(日) 12:30:06.27ID:BwztOoZh
>>12
lispてのは(プログラミング)言語であって
OS環境やネット環境へのアクセスは手法
その手法がlisp言語にライブラリ、または他の方法で実装されてるかで使用できるかが決まる
0019デフォルトの名無しさん
垢版 |
2015/12/27(日) 12:36:09.77ID:hhr5Quu2
>>16
javaライブラリを混ぜるってのは、リスプのコードにjavaのコードを混ぜるってこと?
0020デフォルトの名無しさん
垢版 |
2015/12/27(日) 12:36:50.06ID:hhr5Quu2
>>17
ありがとう!
こういうのがあるのか
0021デフォルトの名無しさん
垢版 |
2015/12/27(日) 12:37:42.99ID:hhr5Quu2
>>18
へえ〜...


それで、LISP言語にはそれが実装されているんでしょうか...?
0025デフォルトの名無しさん
垢版 |
2015/12/27(日) 13:44:54.05ID:hhr5Quu2
>>18
へえ〜...


それで、LISP言語にはそれが実装されているんでしょうか...?
0026デフォルトの名無しさん
垢版 |
2015/12/27(日) 22:43:07.18ID:W/VOfYcN
とりあえずハノイの塔解いたら満足
0027デフォルトの名無しさん
垢版 |
2015/12/27(日) 23:37:29.84ID:4UF28mhH
>>25
意味がわかんないからちゃんと質問まとめて
0028uy ◆Qawu9.2l1E
垢版 |
2015/12/28(月) 02:49:48.96ID:+FktpjIo
情報収集能力ない奴はプログラミング向いてないからさっさと死ぬべき

あまりにガキっぽいから中高生かと思ったら大学生とか、
こういう頭の成長が遅れてる奴はいくら頑張っても技術が身につかないから
0031デフォルトの名無しさん
垢版 |
2015/12/29(火) 18:04:47.94ID:HrkcQ9Jo
実用CommonLisp か Land of Lisp とか初心者でも読める本
Clojure って選択肢もいいけど
マクロ極めるならどちらにしろOn Lisp とか読まないといけないけど
0032uy ◆Qawu9.2l1E
垢版 |
2015/12/29(火) 20:42:32.46ID:4RcqbWns
let over lambdaを読んでオブジェクト指向以外のアプローチに感付けるかどうかがすべて
0033デフォルトの名無しさん
垢版 |
2016/01/08(金) 18:54:09.90ID:fPOFwbHv
lispを学生のうちに勉強するのはおすすめする。
なにより文法が簡単だし、実務でc とかjavaだったりしてもアルゴリズムの発想の枠が広がるからね。
jsicpで検索してみて...
mitの教科書が無料であるよ。
0034デフォルトの名無しさん
垢版 |
2016/01/10(日) 14:50:21.72ID:P3AH4KNx
当然、ぽまいらemacsは使ってんだろうな?
0037デフォルトの名無しさん
垢版 |
2016/01/17(日) 15:42:40.68ID:mCSRON/4
LISPerがvimとかどうかしてる
0038デフォルトの名無しさん
垢版 |
2016/01/17(日) 15:50:35.05ID:LBaM8j14
LisperがEmacs Lisp使ってます宣言するのよりマシかと

vim scriptがクズいのはさておき
0041デフォルトの名無しさん
垢版 |
2016/01/18(月) 17:01:21.13ID:xQ1VQHB9
emacsは創造者
viは編集者
そんなイメージがある
0042デフォルトの名無しさん
垢版 |
2016/01/19(火) 00:02:16.29ID:Xdnj5x+8
今更emacs viとかやってるこのスレは駄目だと思う
特にemacsの存在はほんと残念だわ
RMS早く死なねーかなー
0047デフォルトの名無しさん
垢版 |
2016/01/22(金) 21:42:00.59ID:uxMuX/y7
一ヶ月前に Lisp に目覚めました。

Haskell や O'Caml があるのだから、いまさら Lisp に手を出すべきではないと思って
いました。

でも Emacs Lisp を書く必要に迫られました。とりあえず「((Pythonで)書く (Lisp)イ
ンタプリタ);;http://www.aoky.net/articles/peter_norvig/lispy.htm」が面白そうだ
と読み始めました。引き込まれました。三時間で一気に読みました。久しぶりにコン
ピュータ関連の論文で感動しました。

Lisp の関数 S 式は λ 関数そのものだと分かりました。Lisp の実装が如何に簡単にで
きるかを理解できました。

未だに Lisp が大学で教えられ、天才的な頭脳の方たちが Lisp を賞賛し続けているの
は、実際に動く λ 関数を簡単に実装できることにあると思います。
0048デフォルトの名無しさん
垢版 |
2016/01/22(金) 21:42:26.66ID:uxMuX/y7
しかし一ヶ月と少したった今、Lisp は関数プログラミングの明晰性を犠牲にしていると
考え出しています。Python のほうが、より明晰な関数プログラミング・スタイルで書け
ると考え始めました。

Emacs Lisp も簡単なものならば書けるようになってきました。でも階層構造さえ無しで
多数のグローバル変数を憶えなければならないのは古臭い言語だと感じます。

Lisp のを高機能にできる秘密はマクロにあるのだろうと思い出しました。自己書き換え
プログラムさえ書け、新たな構文を作り出せてしまうのですから。でも、このような
lisp macro は人智で制御できない領域に簡単に踏み込んでしまう地雷でもあります。こ
んな lisp macro に依存している lisp と そのライブラリには近づかないほうが良いと
考え出しています。


普通のプログラムを書くのならば Python の方が、関数プログラムなら Haskell のほう
がマシだと考え始めています。私の推測は誤っているでしょうか?
0050デフォルトの名無しさん
垢版 |
2016/01/23(土) 03:02:36.02ID:FFMD2tda
自己書き換えプログラムってどういう意味で使ってるの?
人智で制御出来ないって何を怖がってるの?
なんか叙情的っていうか論理的じゃない文章
0051デフォルトの名無しさん
垢版 |
2016/01/24(日) 23:54:11.89ID:YlUheVzc
>>50
Lispを齧り初めて、全能感を感じた奴が大抵陥る熱病みたいなもん。
0057デフォルトの名無しさん
垢版 |
2016/02/01(月) 10:44:44.88ID:ZwVHcnBv
すぐには役に立たないが後で振り返ってみるとやっててよかった、になると思う>>LISP
武道でいう「型」みたいなノリだな
0058デフォルトの名無しさん
垢版 |
2016/02/05(金) 07:59:27.38ID:6t6ADPrg
武道もLISPも知らないくせにその例えはどうかとw
0059電波いっぱい
垢版 |
2016/02/09(火) 22:07:38.84ID:jMsR+HI1
>>48
ここでの LISP というのはCommon Lisp(CL)のことだと思われるので、そうだとして話をする。
CLはマルチパラダイム言語なので、CLの情報を探して関数型言語の勉強をするのには向かない。ほとんど手続き型の書き方をしているものもあるし、関数型らしく書いたのもあるし、DSLバリバリで宣言的に書いたのもある。

本当に自由なので、書きたいように書ける反面、どのように書きたいかわからない人にはどう書いたらいいかわからない。

エコシステムもあまり整備されているとは言えないから、実用的な物を作ろうとしても、なかなか情報に出会えない。

一通りいろいろなパラダイムに触れてどこかでで行き詰まりを感じたら戻ってみるといいことあるかもね。
0061デフォルトの名無しさん
垢版 |
2016/02/26(金) 18:46:24.51ID:AKtOFowY
なんかこのスレはてなブックマーク臭くてキモい
0062デフォルトの名無しさん
垢版 |
2016/03/31(木) 21:46:31.24ID:ITnJ0pB2
Common Lispで何か作りたいなら,
まず適当な軽めの入門書をやった後,最近でたApressのCommon Lisp Recipesをリファレンスにするのがいいと思ふ.

GUIとかWEBとか,ライブラリの使い方もだいたい書いてある.
0064デフォルトの名無しさん
垢版 |
2016/05/01(日) 16:08:10.24ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
13
0065デフォルトの名無しさん
垢版 |
2016/05/04(水) 14:47:47.35ID:70a3g/qK
Lispのmacroは凄いのかもしれないが
それを使う場面ってそんなにない
そのため他の言語を使うのが正解
0068デフォルトの名無しさん
垢版 |
2017/01/02(月) 17:04:19.70ID:h7hZD8W/
今後どんな言語が現れようが、真のマクロはLispにしかないし
真のマクロを持っているならそれはLispなのです
0069デフォルトの名無しさん
垢版 |
2017/01/02(月) 18:28:47.86ID:1m/cK6rN
それって
構文木を直接いじれる言語は全て lisp ですって言ってるようなもんだけど
いいのかね。
0070デフォルトの名無しさん
垢版 |
2017/01/02(月) 19:26:42.79ID:h7hZD8W/
もちろんです
0071デフォルトの名無しさん
垢版 |
2017/01/03(火) 16:37:36.59ID:bj+lJcSh
S式の良いところに編集のやり安さがあると思う
pareditみたいな感覚でソースコードいじるには、カッコがどうしても必要
0073デフォルトの名無しさん
垢版 |
2017/01/04(水) 11:16:26.87ID:0ISnzSv/
LISP
(+ 1 2 3 4 5)
FORTH
1 2 3 4 5 + + + +
LISPは括弧を数えるのが面倒
FORTHは演算子を数えるのが面倒

もっとも上のLISPの書き方はプリミティブでない実装の場合があるから
FORTHでも楽になる構文糖衣があるのかもしれないけど
0074デフォルトの名無しさん
垢版 |
2017/01/04(水) 11:22:27.50ID:ws9aPhGs
>>1
自分でemacs入れて試してみればええやん
なんなん?
0075デフォルトの名無しさん
垢版 |
2017/01/05(木) 14:37:26.40ID:IoFQoH8y
FORTHのコンパイラいじれる感じはマクロに近いものを感じる
後置や前置で騒がれるけど触ってみるとおかしいのはそこじゃない、という点でFORTHとLISPは似ている
0076デフォルトの名無しさん
垢版 |
2017/06/22(木) 20:42:33.50ID:uZsOvB/x
LISPを学ぶ最善の方法、
それはCのようなGC機能の無い言語で、
GC付きのLISPを実装して見ることだな。
0077デフォルトの名無しさん
垢版 |
2018/02/20(火) 01:45:30.62ID:KbMgozGm
それはLISPじゃなくて処理系実装の勉強方法だろ
LISPはもっと手軽に使えるものだと思うよ
0078デフォルトの名無しさん
垢版 |
2018/05/23(水) 22:12:02.57ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

6G48C
0079デフォルトの名無しさん
垢版 |
2018/07/04(水) 23:51:51.51ID:gFgZc5FG
IHV
0080デフォルトの名無しさん
垢版 |
2018/09/09(日) 01:03:49.61ID:UehpSxem
今からLisp始めるってどうなの?
0081デフォルトの名無しさん
垢版 |
2018/09/09(日) 01:17:52.73ID:b63/Vgkc
>>80
それは筋が悪い
0082デフォルトの名無しさん
垢版 |
2018/09/09(日) 03:45:24.01ID:NnO4PjJt
>>76,>>77
Lispプログラミングの基本を学ぶには、Lispの適当なサブセットを決めて、そのサブセットのインタープリターをLisp自身で書くことだね
Lispのプログラムはリストの形をしているので、Cなど他の言語のように構文解析や字句解析で悩む必要はない
だからリストを処理するプログラムとしてインタープリターを書くことになるので、Lispプログラミングで最も重要なリスト処理の基本を学べることになる

まあ別にLispのインタープリターでなくてもリストによって表現された抽象構文木を扱うプログラムならば入門としては良い課題だと思うけどね
0089デフォルトの名無しさん
垢版 |
2018/12/08(土) 16:59:17.62ID:ag0JcdkU
>>87
> LISPなのLispなの、どっちなの

まあ好きに使えば良いので決まりはない

常識的に言えば、現在はLisp
全部大文字のLISPは昔のLispのイメージだね
というのも1970年代はプリンタで小文字が出せないのは普通だったからアルファベットは大文字のみ
なので言語名も大文字と数字や限られた特殊記号のみ

というわけで、古くからある言語の当時のバージョン(例えば LISP 1.5 とか FORTRAN 77 とか)を強調したいとか「昔感」を強調したい場合は
全部大文字の言語名、LISP, FORTRAN, COBOL, ALGOL を使えば良い

そうでない場合(や当時のバージョンということを強調する意図がない場合)には、現代式の小文字を使った
Lisp, Fortran, Cobol 等を使えば良い
0091デフォルトの名無しさん
垢版 |
2019/11/23(土) 04:46:01.54ID:l4WHmfnE
並列化はどうなっているの?OpenMPとかのディレクティブをつかうの?
プロセス並列化はMPI?
0092デフォルトの名無しさん
垢版 |
2020/11/24(火) 15:18:15.99ID:nO0Ar+PL
はい
0093(u_・y) ◆e6.oHu1j.o
垢版 |
2020/11/24(火) 15:45:26.70ID:gfNKbZsO
>>89
(u_・y)えっほんとに?
(u_・y)適当な事言ってない?
(u_・y)ジョンマッカーシーさんがミックストケースで書いた事はある?
(u_・y)ソース持ってきて?
0094(u_・y) ◆e6.oHu1j.o
垢版 |
2020/11/24(火) 15:55:54.53ID:gfNKbZsO
(u_・y)>>86 uyという概念は常に宇宙とともに存在する
(u_・y)>86 お前がどこで何をしているか手にとるように分かるぞ
(u_・y)>86 「www」とあえて3つのダブリューを書いたのは
(u_・y)>86 自己承認欲求の現れだ
(u_・y)>>86 「w」これは自己肯定をしたい者
(u_・y)>86 「ww」これは1人の親しい友に認められたい者
(u_・y)>86 「www」これは2人以上の多くの人間に認められたい者
(u_・y)>86 お前は今、uyという仮想空間上の共通敵を叩く事により、大勢からの承認を得たいと考えている者だ
(u_・y)>>86

(u_・y)>>86 現実世界で得られない承認を・・・ネットで満たそうとしてるんだな・・・
0096デフォルトの名無しさん
垢版 |
2021/01/15(金) 13:03:49.25ID:XkGM5v4E
使えるようになるのは修羅の道だけどとりあえず入門コースやるのはマトモなプログラマの必修科目
0097デフォルトの名無しさん
垢版 |
2021/09/04(土) 14:56:17.80ID:DQYaENlA
>>48
> Emacs Lisp も簡単なものならば書けるようになってきました。でも階層構造さえ無しで
> 多数のグローバル変数を憶えなければならないのは古臭い言語だと感じます。

超亀レスだが
elispは動的束縛なのでletで同名変数を宣言すれば大域変数は隠され影響範囲が限定され
キーボード割り込みで大域脱出した時もunwind-protectで元に戻す必要はない
というUI記述言語として極めて良好な性質を持ってる
0098デフォルトの名無しさん
垢版 |
2021/09/04(土) 17:04:32.79ID:Q9qQqykt
>>97
それは動的束縛とは関係無い
defvarで定義された変数はスペシャル変数といって、letで束縛するとそういう挙動になるというだけだ
setqで(無理矢理)定義したグローバル変数はそうならない
ちなみに今のelispは静的束縛が実装されて、全てそれを使うようになっている
ただ、互換性を保つためにまだデフォルトにはなってないけど、時間の問題だろう
0099デフォルトの名無しさん
垢版 |
2021/09/04(土) 18:08:18.70ID:jSSzYM7r
スペシャル変数は動的束縛なんだから関係あるだろ
静的束縛では外から変数を注入するようなことは難しいし
自由変数をつかったら中断時に値を元に戻すにはunwind-protectのような機構が必要だって話
0100デフォルトの名無しさん
垢版 |
2021/09/04(土) 22:48:02.97ID:uKq8oRZn
>>99
いや違う
スペシャル変数のその挙動は、elispが動的束縛だったときと、静的束縛の時で何も変わってない
要するに、単にそういう機能が実装されてるというだけ
レスを投稿する


ニューススポーツなんでも実況