How to go about 'proving' why dynamically typed languages are better
zcaudate z...@caudate.me Oct 05 08:35PM -0700 I'm a little bit miffed over this current craze of `types` and `correctness` of programs. It smells to me of the whole `object` craze of the last two decades. I agree that types (like objects) have their uses, especially in very well defined problems, but they have got me in trouble over and over again when I am working in an area where the goal is unclear and requirements are constantly changing. Joe Armstrong and Simon Peyton Jones discuss Erlang and Haskell http://www.infoq.com/interviews/armstrong-peyton-jones-erlang-haskell This interview covers some of the strong-types vs flexible development (apparent) dichotomy, but in a playful, open and non-dogmatic way. (catmatic?) Simon Peyton Jones is one of the Haskell leaders, yet admits to being envious of type-free generics. Joe Armstrong of Erlang fame also sees the benefit to thinking in and annotating types. These two are both leaders of typed or dynamic cults but have a pleasant friendly and frank conversation about the issues. (Erlang's Dialyzer sounds somewhat like core.typed) A sample: SPJ: So, I've told you what I most envy about Erlang. What do you most envy about Haskell? JA: All the types. I mean they're very nice. I wish we had them. On the other hand, wouldn't you love to have all these generic turn-to-binary, these sort of things? How can you live without them? SPJ: I have a little bit of residual envy about generics. JA: You just take anything and compare it to the serializer and then send it? SPJ: That's sinfully easy, and shouldn't be allowed. So if these two can agree that there's strengths and weaknesses in both approaches, that settles it for me. It's a matter of knowing your trade-offs and choosing your tools appropriately. My suspicion is that type affinity is related to some trait of personality, and so trying to prove superiority is a likely to work as proving you are right in any other clash of personalities. Brad -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: What people want from Clojure error messages
On Friday, January 25, 2013 6:27:48 AM UTC+11, Michael Klishin wrote: [..] Because poor error messages primarily trip newcomers to the language, I am a bit surprised to see this issue discussed on the closed mailing list said beginners cannot join [quickly or at all]. So, if you have something specific to say on the topic, say it here. As a Clojure beginner with no Java experience, I find the error messages to often be very Java-centric, usually needing my best-guess interpretation into the Clojure in front of me (nil and NullPointer being the only specific I can recall right now). I'll collect any more I come across, especially since I'm sure I can generate weirder, why would you even type that? code than people who have already learned Clojure. It looks like the Java-ness was touched on in the clojure-dev discussion also. When Perl, after 15 or so years, finally included the variable name in uninitialized warnings it was truly a blessed day. Perl also has a use diagnositics pragma that nicely decrypts and decorates error messages: perl -Mdiagnostics -Mstrict -E 'my $x; print $x' This opt-in feature is newbie-friendly without burdening more experienced users. Brad -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Thursday, June 21, 2012 12:58:19 PM UTC+10, John Gabriele wrote: On Jun 18, 10:23 pm, Chris Zheng zcaud...@gmail.com wrote: {snip} So basically, if a 'lead clojure evangelist' can either 'officially' or 'unofficially' recommend ONE emacs setup, along with a bunch of videos/tutorials that demonstrate how to code and how fast it is to design and code using the repl. Then that be enough to get people at least interested. People are very opinionated about their editor/IDE. I think the Getting +Started docs are good --- they separate: * if you want just Emacs plus the repl, here you go (clojure-mode readme) * if you want Emacs + inferior-lisp, do this (this doc needs work) * if you want Emacs + swank/slime, do this (swank-clojure readme) and of course also info on Eclipse, Clooj, and other editors/ide's as well. I'm right at the start of this process, completely unfamiliar with Clojure, Leiningen, Emacs, Java and all of the projects with cute names. I don't even know what I want. I've cut and pasted various git-clone and lein commands, but have no idea about the bigger picture. I'm happy to dawdle along on my own, but if my current (and hopefully temporary) ignorance can provide feedback on a start-up guide then let me know. At present I'm often wondering what is this thing? why do I want it?. Slime for example. I don't especially want answers here, but something like a glossary for the clojure ecosystem would be handy (not that I've looked hard). Another document that might useful is a platform Rosetta stone matching clojure tools and libraries to those that fill a similar role in other languages (Java and Ruby for starters). This is more of a nice to have. Thanks, Brad -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en