From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Christopher Allan Webber Newsgroups: gmane.lisp.guile.user Subject: Re: guile-user Digest, Vol 171, Issue 14 Date: Tue, 14 Feb 2017 13:19:23 -0600 Message-ID: <87vasc4m2s.fsf@dustycloud.org> References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1487100007 13774 195.159.176.226 (14 Feb 2017 19:20:07 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 14 Feb 2017 19:20:07 +0000 (UTC) User-Agent: mu4e 0.9.18; emacs 25.1.1 Cc: guile-user@gnu.org To: Cecil McGregor Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Tue Feb 14 20:20:03 2017 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cdidt-00031P-CO for guile-user@m.gmane.org; Tue, 14 Feb 2017 20:20:01 +0100 Original-Received: from localhost ([::1]:36723 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdidx-0006rD-F3 for guile-user@m.gmane.org; Tue, 14 Feb 2017 14:20:05 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37530) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdidN-0006r4-44 for guile-user@gnu.org; Tue, 14 Feb 2017 14:19:30 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cdidL-0003XJ-I6 for guile-user@gnu.org; Tue, 14 Feb 2017 14:19:29 -0500 Original-Received: from dustycloud.org ([2600:3c02::f03c:91ff:feae:cb51]:43482) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cdidL-0003XF-D8 for guile-user@gnu.org; Tue, 14 Feb 2017 14:19:27 -0500 Original-Received: from oolong (localhost [127.0.0.1]) by dustycloud.org (Postfix) with ESMTPS id 15AF4265CD; Tue, 14 Feb 2017 14:19:24 -0500 (EST) In-reply-to: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2600:3c02::f03c:91ff:feae:cb51 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:13198 Archived-At: Cecil McGregor writes: > My first problem lies in the lack of a decent debugger. (I can hear > the screams of more enlightened Guilers already!) The stack traces > seldom provide filenames and line numbers to hint where a problem > might hide. While I've read advice to allow the appearance of > filenames/line numbers, I still can't seem to consistently find these > in a stack trace. > > I would really like the filename/line number to appear in a stack > trace with the actual source code and not some partially opaque macro > expansion. Usually I find the debugger to be quite good in giving exactly the right line, so your experience doesn't match mine. I've also found that it provides quite a few tools that I haven't found much anywhere else; the debugging trap infrastructure and etc are a dream to work with. (Sometimes some lines are lost in the call stack though due to Guile's compiler's optimizing code... I hear that can be disabled but I haven't tried it.) > Then there is the matter of a good code coverage tool. Having > experienced the benefits of TDD, Test Driven Development, I insist on > good coverage when I develop in NodeJS and python. I really need to > know that all my code has been tested. Good news, Guile includes a testing module. It could be better integrated, and guile-lib apparently includes extendsions, but I unit test my Guile libraries / programs. > Has anyone followed up on the SICP classes and asked why scheme was > not more popular? Was it so unpopular that the students took up > C/C++/Java instead? SICP uses a "portable" form of Scheme that > apparently works with almost any Scheme implementation. SICP doesn't > deal with messy system issues or implementing larger projects. Small > programs such as SICP offers does not require serious debugging. As > programs become systems the necessity of serious debugging rears an > ugly side. SICP's goal is to teach you how to understand the foundations of computer science, not as much to write code as you would in "production". And in fact the best reason why SICP hasn't turned into real world production programmers probably comes from one of the co-authors, Gerald Sussman (or a relayed anecdote), on why MIT moved away from SICP as its core book: https://cemerick.com/2009/03/24/why-mit-now-uses-python-instead-of-scheme-for-its-undergraduate-cs-program/ In short, the world has shifted to one where understanding computer science fundamentals is less critical to getting code out the door than to understand how to hook together a large set of prebuilt libraries. I would say for the first decade of my programming career, this is how I programmed, and I did fine. Python has so many of the tools you want and you can just hook them together like legos, and it's a delight. SICP still provides something valuable though. Joining the Guile community and reading SICP and other lispy books like The Little Schemer have transformed me as a programmer. Not everyone needs to do it, but there you go. I think we should have more introductory resources that aren't as CS theory based, but SICP deserves the love it gets. There's much that we can learn from Python and etc, and I think many of us want to allow Guile to fill that role too. Anyone who was there for FOSDEM this (or last!) year knows what an energized group of people constitutes this community and how much we want to improve it. > (Yes, there are holes and exceptions in the above. Flames to > /dev/null.) TBH, I found your post to be a bit flamey and combative itself, which is unfortunate, and I know it bummed some others out too. Maybe you did not mean it that way, but there it goes. Keep in mind that a lot of people on this list care about Guile a lot, and in my experience are extremely open to constructive criticism. But let's keep it constructive and positive. We want to make Guile better and too much negative energy can make that hard. Indeed, if you pay close attention to Guile over the last couple of years, I would say that it *has* been getting better by leaps and bounds. There's still much of ways to go! But if we can stay energized, we can get there. Stay positive, and let's build Guile into something great! - Chris