TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Scheme vs. Python (2011)

94 pointsby ooooakalmost 10 years ago

13 comments

coldteaalmost 10 years ago
&gt;<i>How many people reading this are 50 years old? Lisp is 50 years old — and for the most part, the lifespan of a programming language is closer to the lifespan of a dog than to that of a person. Only one other language (Fortran) is that old and still in use. Why has Lisp survived? Not because it’s useless. People still use it because you can write working code in Lisp way faster than you can in most so-called “practical” languages.</i><p>Sorry to burst this bubble, but tons of languages created in the same period or 10-15 years later are still in use.<p>Fortran, which he already mentioned. COBOL is still in use (much much more than any Lisp, just not in shiny new startups). Forth is still used here and there. C of course which is about 12 years younger but still around 40ish. Pascal is still used (in far greater numbers than Lisp). Heck, even BASIC still has tons of fans, either in VB disuise or in the the various commercial BASIC&#x27;s around.<p>With this in mind, Lisp being &quot;50 years old and still in use&quot; is much less impressive -- since one other 50 year old, and several 40 and 30 year old languages are still in widespread use. We use lots of 3+ decades old languages - so, it&#x27;s not like we only use &quot;new&quot; languages and Lisp is the exception.
评论 #9973860 未加载
评论 #9973678 未加载
评论 #9974191 未加载
评论 #9978313 未加载
评论 #9974250 未加载
评论 #9973983 未加载
shadowmintalmost 10 years ago
This course is taught in python now; this post is about 4 years old.<p>Oh look, there&#x27;s even a past thread about it <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=3491142" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=3491142</a>
asgard1024almost 10 years ago
I think what makes Python unique and successful as a programming language is a strict pragmatism (rejection of any ideology) and rather conservative choices in features to add (that is, don&#x27;t add everything that someone suggest, wait until we can see it&#x27;s a good idea and it cannot be readily composed from existing parts).<p>Scheme, OTOH, has some ideological choices. The whole notion of programmable programming language that comes with Lisp tradition (which includes s-expressions). The emphasis on teaching and small libraries. Attempt to somewhat model mathematics in numerical tower. These design choices, while interesting, are going against practicality.<p>I am big fan of mathematics, Common Lisp, Haskell. There is so much beauty and elegance. And yet, when I need to get something done quickly, I will just use Python because it drops the mathematical purity without prejudice, just like a physicist working on an impossible problem.
评论 #9973849 未加载
评论 #9973682 未加载
评论 #9973994 未加载
评论 #9975667 未加载
评论 #9973612 未加载
评论 #9974540 未加载
评论 #9973618 未加载
评论 #9974238 未加载
评论 #9973624 未加载
评论 #9974012 未加载
hayksaakianalmost 10 years ago
I was actually enrolled in the first python version of this course. at that time it was taught by a google employee and not Brian Harvey (author of the OP, past professor of this course).<p>For me personally, the biggest benefit of python was the large amount of accessible resources online. There were multiple ways to learn something rather than banging my head against SICP.<p>Incidentally, writing a scheme interpreter was one of the last projects of the course.<p>----------<p>EDIT:<p>More from the OP about this topic<p><a href="https:&#x2F;&#x2F;www.cs.berkeley.edu&#x2F;~bh&#x2F;61a.html" rel="nofollow">https:&#x2F;&#x2F;www.cs.berkeley.edu&#x2F;~bh&#x2F;61a.html</a>
signa11almost 10 years ago
couple of quotes from the article:<p>It&#x27;s SICP that I want to preserve, not Scheme.<p>For writing real-world code, what you want is aggressive optimization, and access to libraries for up-to-the-minute solutions to real-world problems.<p>and ofcourse, this mindset is _exactly_ right in the context of a course for teaching programming. as much as we might fantasize about it, computers are made of metal, not lambda calculus :)
评论 #9974531 未加载
strontium_90almost 10 years ago
There appears to be a website [1] for the self-paced, Scheme version of the course referenced (61AS) although it doesn&#x27;t appear to be run as a MOOC formally. There&#x27;s also a well-organised site for the scheduled, Python version [2] .<p>[1]: <a href="http:&#x2F;&#x2F;www.cs61as.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.cs61as.org&#x2F;</a><p>[2]: <a href="http:&#x2F;&#x2F;cs61a.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;cs61a.org&#x2F;</a>
评论 #9973359 未加载
mixmastamykalmost 10 years ago
&gt; Rossum, the inventor of Python, hates Lisp, but he was dragged kicking and screaming to lambda<p>I&#x27;m not sure that&#x27;s true, anyone have more details? Most people don&#x27;t like the parens everywhere with lisp, but otherwise speak of it highly.<p>Edit: thanks for the links on lambda, read all of them. However, didn&#x27;t see anything obvious written about lisp itself.
评论 #9973341 未加载
评论 #9973350 未加载
评论 #9973321 未加载
willtimalmost 10 years ago
At Oxford University in the UK, students are taught exclusively Haskell in their first year - a language designed by a committee of some of the worlds best computer scientists. An institution that teaches Python under the banner of computer science, certainly loses prestige in my opinion.
评论 #9973591 未加载
评论 #9974070 未加载
评论 #9973609 未加载
评论 #9973600 未加载
评论 #9973662 未加载
dschiptsovalmost 10 years ago
What students cannot understand is that after passing the classic CS61A in Scheme, languages such as Python or Julia could be picked up in a few hours with occasional consulting of reference manual for particular details. Erlang in a couple of days.<p>Well, for Java (a dogmatic religion) one have to be thoroughly brainwashed, so there is CS61B for that.
hayksaakianalmost 10 years ago
Here is a video playlist of the first<p>Here are video playlists of all the CS courses at berkeley<p><a href="http:&#x2F;&#x2F;webcast.berkeley.edu&#x2F;series.html#c,d,Computer_Science" rel="nofollow">http:&#x2F;&#x2F;webcast.berkeley.edu&#x2F;series.html#c,d,Computer_Science</a><p>This is the most recent version of the CS61A course (Spring 2015)<p>2015 version:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;view_play_list?p=-XXv-cvA_iBM29DgZsGaQihJp8lLQn3J" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;view_play_list?p=-XXv-cvA_iBM29DgZsG...</a><p>first python version available online (Fall 2012)<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;view_play_list?p=EC87898FD0A141069E" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;view_play_list?p=EC87898FD0A141069E</a><p>This is the last version of CS61 taught by Harvey (Fall 2010)<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;view_play_list?p=EC6D76F0C99A731667" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;view_play_list?p=EC6D76F0C99A731667</a>
kriroalmost 10 years ago
It&#x27;s interesting that the PG article is cited. I&#x27;ve always had mixed feelings about it.<p>On the one hand I agree that wanting to use Lisp for a startup is probably a good indicator of technical strength (yes I&#x27;m saying that people that pick Lisp as their first language are smarter than the average).<p>On the other hand startup financing is all about the hyper growth potential and it would seem to me that basing your technology stack on Lisp could be quite the hinderance. The job market is already tough and finding people with a deep understanding of Lisp to start working on an (assumed) nontrivial Codebase isn&#x27;t easy.<p>I guess Clojure and &quot;allowing&quot; (or migrating to) Java could be an option? Then again some hypergrowth startups don&#x27;t need many developers (WhatsApp)
评论 #9973787 未加载
holografixalmost 10 years ago
Can&#x27;t believe you air heads are seriously comparing Scheme to Python. Scheme is a nightmare, it&#x27;s only good for academics who have nothing better to do and the 1% of your projects where functional programming may actually be beneficial to what you&#x27;re trying to do.
ssaddialmost 10 years ago
As a developer, I tend to be now agnostic&#x2F;indifferent towards programming languages. Essentially, you can use any programming language to do the job. The difference lies in developer&#x27;s comfort zone and libraries. For example, I prefer C# over VB.Net for ASP.NET&#x2F;MVC backend. However, for several practical in-house projects, I&#x27;ve found Excel+VBA far quicker over IIS&#x2F;ASP.NET project. So, it all depends on the context, your audience and usability of the project. We should not let technologies drive our projects, but our business users and current trend patterns. For example, I&#x27;m seeing a lot of JavaScript frameworks being used to deliver responsive and device-independent web applications, such as SPA (Single Page Application). Granted, it takes a while to learn a language&#x27;s API, but essentially all of them do similar things. The advantages lies not in them alone, but in the entire framework&#x2F;suite that it comes with. We are living in times where knowing programming languages is not as important as knowing frameworks&#x2F;libraries. There are heaps of them out there that require programmer to spend more time on writing integration code to &quot;glue them&quot; or configuring them. We no longer need to write the low-level mundane code, but focus on delivering high-quality, rich software applications.
评论 #9973897 未加载
评论 #9973711 未加载