TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Is it still worthy to learn Lisp nowadays for data mining tasks

12 点作者 xyjprc大约 11 年前
Seeking advice whether I should continue investing more time on Lisp.<p>My background: switched major to CS in graduate school, familiar with Python, and need to deal with JSON and csv-like data every day. Python has been handy doing the job, but I just started learning Lisp for fun. Though the language looks powerful, for many simple tasks I have to start from scratch while Python usually has convenient libraries and can do things in one line.<p>My friends say Lisp is too old and not suitable for data mining task, no one is actually using that for work, and they all prefer Python. But I leave their words to doubt as they are not familiar with Lisp. (In our generation, people don&#x27;t seem to learn functional programming any more?)<p>Is it still worthy to invest time learning Lisp, for data mining purposes? Any advice is welcome. Thanks :-)

4 条评论

ACow_Adonis大约 11 年前
I&#x27;m torn in how to respond. As usual, I think the answer is &quot;it depends&quot;.<p>A few years ago, i got bored&#x2F;frustrated with using SAS for really specific custom built work&#x2F;research that also worked at large scales and went searching for a replacement. For my uses, I wanted it to be:<p>Compiled, fast but also flexible, free, have functions, macros, and an object system. (and I wanted to learn something from it even if i ended up not using it).<p>I settled on Common Lisp. The rest of the world seems to be python&#x2F;R these days. I really do like common lisp, lisp is easily my favorite language so far, but there are some realities which, two years on or so, which i feel able and qualified to share:<p>Some observations on Common Lisp:<p>Cons:<p>-its a big language. I still feel like i don&#x27;t get all of it, but that doesn&#x27;t necessarily matter.<p>-its not batteries included. That means you&#x27;re basically going to be coding ALOT yourself. And that requires a lot of work&#x2F;knowledge about what you&#x27;re doing. And if you don&#x27;t understand good data structures&#x2F;compsci fundamentals, you aren&#x27;t going to beat the implementations that already exist in other languages. I want to dismiss this because I&#x27;m generally trying to write new stuff that doesn&#x27;t exist anyway and I want low&#x2F;high level access simultaneously for performance reasons, but it seems there&#x27;s always supporting libraries&#x2F;infrastructure underlying some of your work that you didn&#x27;t really think of that don&#x27;t exist sufficiently now. THIS IS REALLY THE BIG NUMBER 1 STRIKE AGAINST THE LANGUAGE. Do not underestimate how much you&#x27;ll be doing if you think you can just implement techniques that have already had X years of work being implemented in other languages.<p>-It is not dominant, or even widely known any more. Workmates&#x2F;friends will ignore you for writing in it. Your work probably won&#x27;t let you use&#x2F;install it...<p>-You&#x27;ll resent other languages if you successfully learn it.<p>Pros:<p>-of course, i find current libraries in languages don&#x27;t do what i want, so i often find i have to rewrite things anyway.<p>- Its great for solo, exploratory work or work that doesn&#x27;t exist yet.<p>- Its fun&#x2F;liberating to code in.<p>- It will beat the absolute pants off of Python&#x2F;R performance wise if you ever get it up and running and if that&#x27;s important to you. It is to me. But you can only implement said performance if you know what you&#x27;re doing.<p>- SBCL kind of gives you the best of both the dynamic&#x2F;static compiled&#x2F;interpreted worlds.<p>- I found it really does open up your eyes to a lot of compsci-theory aspects other things gloss over. Of course, by glossing those aspects over, python&#x2F;R can make your job a whole lot easier if they aren&#x27;t important...<p>Python is actually pretty cool, but its also pretty slow. I really do prefer lisp, but most of the world prefers algol-esque syntax. I think its really up and coming in the machine learning&#x2F;stats world.<p>R: Is liberating coming from SAS. Has huge stats community backing and huge number of stats packages. Coming from LISP however, its the horribly disfigured plastic-surgery older-hollywood nightmare of a beautiful starlet you remember from your youth, but has now carved up its face to try to look like the other young starlets :P (haha, only serious). Which is to say, its got enough lisp influence behind it to seem familiar, but its a horribly designed&#x2F;implemented language coming from a programmer background...<p>More accurately though, if Python is slow, then R is SLOOOOOOOOOOOOOOOOOW. Really, its painful to type things at the R repl after coming from common lisp. It has a bit of a cult-like following amongst stats people though...<p>Hope i&#x27;ve offered at least a little bit of valued feedback...YMMV
评论 #7411592 未加载
rurban大约 11 年前
Sure. LISP is always worth the time, even if you cannot use it at work. Technically still far superior to everything else out there.
bugsenseusesit大约 11 年前
BugSense (now part of Splunk) uses Lisp for quick analytics.<p><a href="http://highscalability.com/blog/2012/11/26/bigdata-using-erlang-c-and-lisp-to-fight-the-tsunami-of-mobi.html" rel="nofollow">http:&#x2F;&#x2F;highscalability.com&#x2F;blog&#x2F;2012&#x2F;11&#x2F;26&#x2F;bigdata-using-erl...</a>
Snail_Commando大约 11 年前
Which dialect of Lisp are you studying? Common Lisp?
评论 #7411381 未加载