Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
jpolitz
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
10 ms
·
31.
▲
by
jpolitz
10y ago
There is no MOOC I know of that uses Pyret (yet). Racket is great! If you're already deep into Racket, I wouldn't say stop to try Pyret unless you particularly have the goal of learning more languages, or there's something a
32.
▲
by
jpolitz
10y ago
Hey fellow Swattie! [Actually, I'm at UC San Diego as of this fall, so I'm a former fellow Swattie, I suppose :-) ] The programming languages course in question ( https://www.cs.swarthmore.edu/~jpolitz/cs91
33.
▲
by
jpolitz
10y ago
Thanks for the feedback. > The docs you link for the "dead simple animation framework" assumes I understand templates; that's hardly dead simple The idea of "templates" comes with a lot of baggage from C++-land.
34.
▲
by
jpolitz
10y ago
Yes! You can contribute to the Bootstrap project directly: http://www.bootstrapworld.org/contribute/index.shtml
35.
▲
by
jpolitz
10y ago
Thanks for the advice! What are some examples where a teaching language has followed these points and succeeded? What is the weirdness and/or pet features you see in Pyret?
36.
▲
by
jpolitz
10y ago
This is useful feedback. I think this pair of comments combines to give a decent answer: https://news.ycombinator.com/item?id=13186997 https://news.ycombinator.com/item?id=13187379
37.
▲
by
jpolitz
10y ago
Perhaps `unfun` can be incorporated into this: http://blog.brownplt.org/2014/04/01/var-vs-yar.html
38.
▲
by
jpolitz
10y ago
The readability, unintuitive, and "odd syntax" comments are somewhat subjective, though I'd curious to hear what parts are odd and unintuitive for you. I linked to a perspective on where Pyret fits in in another similar answe
39.
▲
by
jpolitz
10y ago
This paper ( http://cs.brown.edu/~sk/Publications/Papers/Published/fffkf-... ) linked from "Why Pyret" ( http://www.pyret.org/pyret-code/ ) is a long answer to "why teach
40.
▲
by
jpolitz
10y ago
Pyret's runtime is entirely built on JavaScript (seriously: you can load https://code.pyret.org/editor , then turn off the network, and your IDE still works), and Pyret programs compile to JavaScript. At the command-li
41.
▲
by
jpolitz
10y ago
Thanks for the feedback – we've gotten this a few times, and I think the homepage is targeted too much towards getting across Pyret's design to an already multi-lingual audience, and not enough towards actual beginner uses of the
42.
▲
by
jpolitz
10y ago
This is very difficult to argue empirically, and I don't claim to know what's going on in students' minds. In particular, I don't know what "most people in the world" struggle with, just those students in the
43.
▲
by
jpolitz
10y ago
Pedagogically, the nice thing about the examples/tests just being code for beginners is that they are... just code! Once we've taught students about function calls and values, it's a small jump to write an example with "
44.
▲
by
jpolitz
10y ago
I responded to a similar comment in another thread from a pedagogic perspective, I hope this answer gives some perspective on how we approach this point: https://news.ycombinator.com/item?id=13186216 Also, Pyret can be used
45.
▲
by
jpolitz
10y ago
It's true, Pyret gets ideas from a handful of places, not just Python. From a student or instructor's point of view, it is serving a lot of the same ends as some of Python's choices: Toplevel code runs as a script without cer
46.
▲
by
jpolitz
10y ago
I'm curious which parts look (more) complicated to you. For some perspective, when teaching Pyret to total beginners, we start with arithmetic and calls to library functions, then build up to function definitions and examples. At that
47.
▲
by
jpolitz
10y ago
Pyret (and the Bootstrap curricula in particular, where we use both Scheme and Pyret [ http://bootstrapworld.org/] ) really strives to avoid the purely "bottom up" approach. Curricula in Pyret focus on building game
48.
▲
by
jpolitz
10y ago
Also a plug for ChessNetwork, who posts 20-min summaries of games the day after, for example: https://www.youtube.com/watch?v=1vgn7OXug3M
49.
▲
by
jpolitz
10y ago
Self-reply for posterity. Here's a sketched-out comparison of generators vs. the manual strategy we use in Pyret (this isn't _exactly_ what Pyret generated code looks like, but it's close): https://www.measurethat
50.
▲
by
jpolitz
10y ago
> doesn't every recursive function have an iterative version True in the abstract, yes. But it's a sophisticated compiler indeed that turns something like a recursive binary tree traversal into a loop (it would need to synthes
51.
▲
by
jpolitz
10y ago
Thanks for the good vibes!
52.
▲
by
jpolitz
10y ago
No problem. Thanks for asking bluntly about generators. It made me write some more experiments using them. Right now, the main thing that I think stands in the way of them being a good solution for Pyret is that they have limited stack de
53.
▲
by
jpolitz
10y ago
I don't know what you mean by "it doesn't really matter." Surely there's a cost to using generators instead of regular function calls and returns, right? That's where the overhead would come from, because gen
54.
▲
by
jpolitz
10y ago
My conjecture: Scheduling with priority is pretty easy across these systems. The dependency graph transfer would be outside the scope of what they already tackle, and require new engineering. In Pyret, I prototyped virtual threads at one p
55.
▲
by
jpolitz
10y ago
The main difference is that all of the use cases I mentioned necessarily don't distinguish between calls/functions that may pause, and calls that don't (it's just the semantics of those languages that arbitrary calls mig
56.
▲
by
jpolitz
10y ago
Part of these notes, Fiber [0], reminds me of a half-joking "corollary" to Greenspun's Tenth Rule (credit @shriramkmurthi): Any sufficiently complicated JavaScript program contains an ad hoc, informally-specified, bug-r
57.
▲
by
jpolitz
10y ago
Thanks for the kind words! Firefox performs better than it did, because the whole language has gradually increased performance, but still the worst of the major browsers. It's worth writing down a bit about that here, just for others
58.
▲
by
jpolitz
10y ago
Thanks for the feedback! To add to what you said, this is exactly the kind of situation where we design features that _may_ not scale well, but are remarkably useful in teaching contexts. Having test cases inline with code is massively usef
59.
▲
by
jpolitz
10y ago
Another important metric: a handful of C programmers can write arbitrarily more buffer overflows than thousands of Java or Ruby programmers.
60.
▲
by
jpolitz
10y ago
It is a real issue. The programming languages and software engineering communities have been working on evaluating software artifacts for a few years now: http://www.artifact-eval.org/ This doesn't address open access
More ›