libera/#commonlisp - IRC Chatlog
Search
12:34:33
pve
Hi! Are there any schools that teach introduction to programming with CL? I'd be interested in seeing course slides, whether they augment CL-USER with any utilities or how the initial environment is set up in general for the students.
12:45:48
pve
Absolutely! That's great. Did you identify any pain points, specifically with respect to the environment setup?
12:47:40
pve
by non-interactive I mean like loading some file from the shell over and over with "sbcl --non-interactive ..."
12:48:26
phoe
setting up emacs and slime is kind of a pain and no one is paid enough to keep maintaining an up-to-date portacle-like environment
12:48:43
phoe
there are plugins for other editors popping up, such as intellij recently, but I have not explored their quality
12:49:34
phoe
because teaching lisp without interactiveness would be like teaching c without mutability
12:49:55
phoe
it's possible and you can write meaningful programs in it but you're missing THE element that makes working with the language really meaningful
12:50:54
pve
right, but with the debugger enabled or the repl wrapped in a "print backtrace on error and return to the repl" handler?
12:51:20
hayley
phoe: I tried to convince C++ students to use continuation passing style in order to skirt rules on not being able to use break, continue, goto or multiple returns, go no success.
12:51:42
phoe
I have no idea why you'd set up for anything less than the debugger being available - it's a normal situation in CL
12:52:43
pve
i'm not sure either, but I could image someone with zero programming experience being unnecessarily confused by it
12:53:29
phoe
someone with zero programming experience would be even better to teach than someone who knows another lang
12:53:36
phoe
"Anyone could learn Lisp in one day, except that if they already knew Fortran, it would take three days." - Marvin Minsky
12:54:09
phoe
but yeah, if they have no experience, then they should quickly get used to the fact that if they screw up somewhere then Lisp will halt the program and notify them and then ask how to proceed
12:54:55
hayley
"There is a common myth in software development that parallel programming is hard. This would come as a surprise to Alan Kay, who was able to teach an actor-model language to young children, with which they wrote working programs with more than 200 threads."
12:55:33
phoe
;; I honestly love Erlang and all BEAM languages because of this, but it's kinda offtopic
13:03:41
pve
phoe: did you make any "libraries" the you used from the get-go, or just start with a bare cl-user?
13:04:58
phoe
if anything, I tend to make my own foo package to work in to avoid naming conflicts, because CL-USER can and will have impl-defined imports
13:05:29
phoe
so evaluating and testing code is fine in CL-USER, but defining your own stuff should best be done in your own package
13:14:22
pjb
pve: You may have a look at my rc files: http://gitlab.com/informatimago/rc common.lisp is loaded from the rc files of the various implementations, and it sets up my REPL environment.
13:15:37
pjb
pve: also, you may have a look at Image Based Development http://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/ibcl/index.html as an idea for further development for a friendly REPL environment.
13:16:11
pjb
or http://informatimago.free.fr/i/develop/lisp/com/informatimago/small-cl-pgms/ibcl/index.html
13:35:21
beach
pve: Me and my favorite coauthor taught Lisp to undergraduates for around 15 years here.
13:36:29
beach
No matter what you teach, roughly 20% of the students get it. It was no different for us.
13:38:54
beach
So it means that more than 100 students per year during 15 years were exposed to Common Lisp.
13:39:49
beach
It was a very good way of doing it, because it immediately prompted questions that could then be answered by more interactions.
13:39:54
hayley
Should I have expected much quality when "learning" LISP [sic] in the mandatory AI course at my old university?
13:40:49
pve
beach: That's really interesting. So you recommended emacs and slime to the students as well?
13:43:50
pve
beach: Ok, I'm getting pulled away now, but I'll check that course page out later. Thanks.
13:43:52
beach
The second-year course at the time was called something like "using computer systems", and had things like Unix shell, Emacs, GDB, maybe CVS at the time, make, ...
13:44:22
hayley
(Seems that hasn't changed since I was at the university; everything else seemingly has changed at least twice now.)
13:50:43
hayley
beach: At risk of going off topic; where should I study after I complete my bachelor's degree? There is a large gap between what you describe, and what I have experienced at the two universities I've studied at.
13:53:24
beach
I would go to someplace in Europe where teaching is in English and cost of enrollment is modest for foreigners. Not just for the learning experience, but for all the rest too.
13:54:47
hayley
I shouldn't have been so specific, as I will hopefully have a degree in hand at the end of this year, and thus wouldn't be an undergraduate.
13:56:23
beach
If you can stand the climate, then Scandinavia is good. Otherwise some Mediterranean country or Germany. Don't know about Ireland. That could be an option too.
13:57:10
beach
I don't recommend the UK. It is too expensive these days, and it is no longer a member of the EU.
14:01:27
beach
I mean, there is nothing wrong with universities in the UK, so if you have a stipend or something similar, sure, why not. And you should definitely apply for those. Whenever you move like that, there is usually someone willing to pay for it.
16:00:26
Reinhilde
Also, if you aren't a cis, white European, heterosexual with a passable Aussie, British, Irish, American or Canadian dialect, I wouldn't recommend GB. I wouldn't recommend NI to anyone because it's a frozen conflict zone.
16:01:23
pve
beach: I'm curious about any frequent complaints you might have gotten from the students about CL or SLIME. Can you recall any? I guess I mostly mean problems that even the 20% tripped over, not the "parentheses, booh"-category, although that could be interesting too.
16:06:15
beach
pve: Hard to say. We taught this at the university where the students mostly believe what we say. When we taught the same thing at the engineering school there were many more protests, because the students there think they know better than the tenured professors.
16:07:07
beach
pve: So I don't recall any complaints about the language, as in not used in industry, or slow or... because they just mostly don't know any of that.
16:07:46
beach
At the engineering school, on the other hand, they "know" that Lisp is dead, interpreted, slow, nowhere used, etc.
16:08:23
beach
So I don't think we had any particular problems that we didn't also have in other courses.
16:09:36
beach
I mean, there are always a few students that "know" how to "program" before they come to us, and they are comparable to the engineering students, but they are typically in a minority.
16:11:17
pve
You didn't happen to have a "project" course? Something where the students focus on one program with a bit bigger scope?
16:12:09
beach
Many courses have a small project aspect, but the big project course is in the masters program, so year 4.
16:12:49
beach
Regularly, one or two groups (of 4) would then choose a Common Lisp project that we (usually my favorite coauthor) proposed.
16:14:03
beach
More recently, not so much usable code. But in the past, several students worked on McCLIM, as you can read in the appendix of the documentation on the project history.
16:19:15
pve
Thanks. Does the project course have a home page also? I mean something that might have a list of past projects..
16:21:37
pve
Alright, I'm going to have a look at that eclipse. I take it the students who made it were pretty motivated?
16:52:46
pve
beach: It's not serious yet, but I've been thinking that it might be fun to have some kind of local programmers' "user group" in my (small) hometown, where coders or people interested in coding could get together, socialize over a beer and show each other what they're doing etc. So I was just pondering what my contribution could be if this happens.
16:56:24
pve
Thanks! Only problem is, I have no idea how many programmers or young future-programmers there are here :)
17:02:58
pve
So if a bunch of kids interested in coding were to show up, it might make sense to organize a small workshop to "introduce" programming. So naturally I'm curious if CL could be relevant here.
17:06:41
pve
If only old people show up, that's cool too, because I could still show them CL and they could show me Ruby/Java/Python etc.
17:08:54
_death
pve: I looked at Porvoo not long ago.. will be visiting .fi later this year (as well as ELS, btw)
17:09:36
pve
Although I suppose one would have to be careful when showing kids how to program, so they don't turn into one of those students who "know" how to "program" :)
17:12:26
beach
pve: I don't think you can influence that very much. It's a mindset that is very hard to change.
17:14:09
jackdaniel
we can take that it is a blub thing - if you know better, then the other guys doesn't know how to program
17:16:07
jackdaniel
that's my point - knowing more makes you only less wrong, so there is always a perspective when one may look at you as someone who "know" how to "program"
17:16:54
beach
I was referring to this phenomenon where some high school kid finds a computer and figures out how to use some programming language, like C, to make the computer do various things, after which this kid is convinced that there is nothing more to learn, so refuses to accept any training that goes against that acquired knowledge.
18:10:26
NotThatRPG
beach: I was wondering about the new CL reader that can retain comments, etc. Could you resupply the pointer? I seem to have lost it (sorry). Also, do you think it would be a reasonable tool for making a "redshank2"? I was trying to bring Redshank back to life, and trying to wrangle CL code on the emacs side is quite inelegant. So if it's possible to manipulate CL source in CL without losing the non-CL bits (like
18:12:20
phoe
I see the repo but I don't see any sort of documentation or feature list, is there anything out there?
18:15:05
NotThatRPG
If you want you could look at my fork, but let me get stuff pushed back up. Redshank wasn't really working when I picked it up. But it does some refactoring that ... well it seems like there should be refactoring in CL. Why should those Java and Python nerds get all the tool support?
20:29:48
NotThatRPG
The presentation about Eclector has a bunch of place holders for demonstrations. Does anyone know if those demos are on line?