Yes, exactly, the error messages are often very obtuse. In part this is 
just the nature of dynamic languages: if you don't sanity check data 
structures at API boundaries, you get errors reported from obscure corners 
of implementation. Also, laziness can lead to very deep, very confusing 
stack traces. It's a bit like debugging deeply nested async callbacks, 
except that most async platforms have effective debuggers that can quickly 
elucidate how it's ended up at the bottom of a deep call stack, in 
seemingly unrelated code.

On Friday, December 27, 2013 11:42:30 PM UTC-8, Colin Fleming wrote:
>
> I think the error complaints are generally more about the errors when you 
> have something wrong in your code. Things like parsing of ns forms has 
> little to no error checking, and you can get some extremely obscure errors. 
> For example if you (or some tool) places an :import clause ahead of your NS 
> docstring, you get an error like: "java.lang.Character cannot be cast to 
> clojure.lang.Named" and it's generally attributed to a different namespace. 
> This sort of thing is terribly demoralising for newcomers, and occasionally 
> to seasoned pros too.
>
>
> On 28 December 2013 16:53, Alex Baranosky <alexander...@gmail.com<javascript:>
> > wrote:
>
>> I always hear people say that the errors are bad, but I just don't see 
>> it.  The stacktraces say exactly what went wrong and at what line of the 
>> source. To me that's all I can hope for.
>>
>> I think there may have been some more obtuse errors that came up in older 
>> versions of Clojure that have since been improved in newer versions, though.
>>
>>
>> On Fri, Dec 27, 2013 at 7:44 PM, Sean Corfield 
>> <seanco...@gmail.com<javascript:>
>> > wrote:
>>
>>> Whilst the stacktraces can be pretty painful at times - esp. if you're
>>> dealing with lazy sequences - they do include filenames and line
>>> numbers, at least when you're outside the REPL. There are also a
>>> number of tools to clean up stack traces to show only Clojure-related
>>> entries and/or color-code them etc (e.g.,
>>> clojure.stacktrace/print-stack-trace which is part of the core Clojure
>>> download).
>>>
>>> That said, yes, debugging errors is probably the worst aspect of using
>>> Clojure :)
>>>
>>> And +1 on the language/community as best!
>>>
>>> Sean
>>>
>>> On Fri, Dec 27, 2013 at 5:48 PM, Guru Devanla 
>>> <grd...@gmail.com<javascript:>> 
>>> wrote:
>>> > Seconded on Error reporting.
>>> >
>>> > I have been playing around with Clojure for sometime now and also 
>>> completed
>>> > almost 150 of the 4clojure problems. What still scars me in terms of
>>> > incorporating Clojure as a language of choice in more complicated 
>>> projects I
>>> > work on in my other life, is the error reporting facility. The errors
>>> > sometimes might as well just say 'I just cannot run!'.  It would be 
>>> nice if
>>> > there was some facility to approximately point to some s-exp or line
>>> > numbers.
>>> >
>>> > May be I am missing some workflow used by other expert users. Can 
>>> someone
>>> > throw more light on this.
>>> >
>>> >
>>> > Thanks
>>> > Guru
>>> >
>>> >
>>> > On Fri, Dec 27, 2013 at 3:44 PM, Daniel 
>>> > <double...@gmail.com<javascript:>> 
>>> wrote:
>>> >>
>>> >> Best: Language & Community
>>> >> Worst: Error Reporting
>>> >>
>>> >>
>>> >> On Friday, December 27, 2013 3:17:48 PM UTC-6, Kelker Ryan wrote:
>>> >>>
>>> >>> In your opinion, what's the best, and what's the worst aspects of 
>>> using
>>> >>> Clojure?
>>> >>
>>> >> --
>>> >> --
>>> >> You received this message because you are subscribed to the Google
>>> >> Groups "Clojure" group.
>>> >> To post to this group, send email to clo...@googlegroups.com<javascript:>
>>> >> Note that posts from new members are moderated - please be patient 
>>> with
>>> >> your first post.
>>> >> To unsubscribe from this group, send email to
>>> >> clojure+u...@googlegroups.com <javascript:>
>>> >> 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+u...@googlegroups.com <javascript:>.
>>> >> For more options, visit https://groups.google.com/groups/opt_out.
>>> >
>>> >
>>> > --
>>> > --
>>> > You received this message because you are subscribed to the Google
>>> > Groups "Clojure" group.
>>> > To post to this group, send email to clo...@googlegroups.com<javascript:>
>>> > Note that posts from new members are moderated - please be patient 
>>> with your
>>> > first post.
>>> > To unsubscribe from this group, send email to
>>> > clojure+u...@googlegroups.com <javascript:>
>>> > 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+u...@googlegroups.com <javascript:>.
>>> > For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>>
>>>
>>> --
>>> Sean A Corfield -- (904) 302-SEAN
>>> An Architect's View -- http://corfield.org/
>>> World Singles, LLC. -- http://worldsingles.com/
>>>
>>> "Perfection is the enemy of the good."
>>> -- Gustave Flaubert, French realist novelist (1821-1880)
>>>
>>> --
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com<javascript:>
>>> Note that posts from new members are moderated - please be patient with 
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com <javascript:>
>>> 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+u...@googlegroups.com <javascript:>.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>  -- 
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@googlegroups.com<javascript:>
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@googlegroups.com <javascript:>
>> 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+u...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 
-- 
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.

Reply via email to