jhck
The problems are indeed of very high quality. But it can be a difficult place to start. For example, even the very first problem has an overflow gotcha built into it. Also, Kadane's Algorithm appears as an early problem even though several mathematicians and computer scientists failed to discover it: https://en.wikipedia.org/wiki/Maximum_subarray_problem#Histo...
* It has a large selection of problems with many good starter problems.
* Once you've solved a problem, you can see how others have solved it (wish more sites had this feature).
* You don't have to write I/O code, so you can just focus on the problem.
When I make no progress at all, I take comfort in an anecdote I once read about the statistician Jimmie Savage [1]:
"Jimmie had what he called 'a long-standing neurosis about Pólya-Szegö' (the most famous and long-lived problem book in analysis). Even when he was working on his first (and major) book in Paris, he was spending evenings on that neurosis. 'Pólya-Szegö humiliates me', he wrote. 'I never really know what's going on, but I can now work quite a few of the problems and seem to learn thereby some things of general interest.'" [2]
[1] https://en.wikipedia.org/wiki/Leonard_Jimmie_Savage
[2] Quote from Paul Halmos's Automathography
Also, thanks dunham for the sixten suggestion!
Installation on Windows: Not yet available - see Leiningen or Boot instead.
That was a disappointment to me, seeing as the language has been around for more than 10 years now. Also, when I went to try the Leiningen route I found that the installer wouldn't work on Windows 10:https://github.com/technomancy/leiningen/issues/2412
So I decided to try another language instead... But eventually I returned to Clojure and managed to get it up and running by using the fix that's suggested in the GitHub issue above. I'm really enjoying the language, but I fully agree that it can be frustrating to install on Windows.
The book doesn't touch on applications. Since you're studying applied math, you might want to supplement it with something like "Calculus with Applications" by Peter Lax and Maria Terrell.
On YouTube one can find lecture videos from a real analysis course given by Francis Su (former president of the MAA): https://www.youtube.com/playlist?list=PL0E754696F72137EC
https://www.talkingpoliticspodcast.com/blog/2017/71-how-demo...
> First-semester calculus has NO applications.
That said, the central ideas of calculus are firmly grounded in daily life (as Strang points out in the video): Differential calculus is about investigating speed (or, more generally, rate of change), and integral calculus is about investigating area.
[1]: http://www.maa.org/sites/default/files/0002989051112.di99173...
JVMLS: Adventures in Parametric Polymorphism [video]
bilby.js - Serious functional programming library for JavaScript
Language Implementation Tips
Let's agree that a word is a sequence of one or more contiguous letters; "Bentley" is a word, but "ain't" isn't. The sequence of letters should be maximal, in the sense that it cannot be lengthened without including a nonletter.
09.50: Now they are demoing a full eclipse based IDE for dart, very cool too, wow
S → aS | ε
This grammar is right linear (see http://en.wikipedia.org/wiki/Regular_grammar).Since that time I've been interested in the idea of proving programs correct. On weekends I'm currently making my way through David Gries's The Science of Programming. Similar books include
- A Discipline of Programming by Dijkstra
- The Evolution of Programs by N. Dershowitz
I would recommend http://diveintopython3.org/ instead.
You're right. Here's Jim Waldo's explanation from Java: The Good Parts:
"the inability to change the VM or bytecodes [due to requirements of backwards compatibility] meant that parameterized types could occur only in the source code. The type system of the runtime hasn’t changed, and doesn’t include generics or parameterized types. What we see in our code as a Set<Player> is seen in the bytecodes as simply a Set of objects."