[Haskell-beginners] Haskell as a useful practical 'tool' for intelligent non-programmers

umptious umptious at gmail.com
Sun Apr 29 19:07:28 CEST 2012


On 28 April 2012 22:50, Nicholas Kormanik <nkormanik at gmail.com> wrote:

> ** **
>
> Greatly appreciate your sharing these thoughts.****
>
> ** **
>
> A bit frustrating that you mention four as candidates: “Groovy, Clojure,
> Ruby, Python.”****
>
> ** **
>
> But it sounds like you are leaning toward recommending Python as the best
> way to start. ****
>
> ** **
>
> Nicholas****
>
> **
>

No. I'm the person who mentioned all four of those as examples of languages
that are good for web scraping. I then went on to say that given what I
**guess** you might need to do that Python is the "no-brainer" best. You
really don't say enough for anyone to be sure though - if you want to
implement some very time consuming numerical algorithms and have them run
fast then CUDA might be the only option. (In which case you're probably out
of luck, because CUDA programming isn't for amateurs.) Or for less
demanding numerics centred around stats and matrix ops, the R could be a
better choice than Python and Sagemaths:

http://en.wikipedia.org/wiki/R_%28programming_language%29

..and R will webscrape too:

http://www.programmingr.com/content/webscraping-using-readlines-and-rcurl

If you want to do stuff like time series analysis then you'll probably find
more books and papers using R:

http://www.stat.pitt.edu/stoffer/tsa2/R_time_series_quick_fix.htm


>> Mike Meyer: Ruby makes a bad fit if Haskell is a goal (and that's a good
goal)

I don't see it as being a goal for this guy! He just wants to be able to
write utilities he needs without bogging down in "becoming a programmer."

>> While Clojure is a
great language, the most popular implementation is hooked into the
JVM, and you wind up needing to deal with a lot Java infrastructure
fairly quickly. Being able to use that infrastructure is a design
goal, but adds to the learning curve. I haven't looked into Groovy,
but suspect some of the same issues will arise (and hope a Groovy
programmer will correct me if I'm wrong).<<

I played around with Groovy for a weekend to write some utilities and a
music generation program. I can't remember having to put any effort into
"needing to deal with a lot Java infrastructure," even though I was using a
midi library written for pure Java. But I'm not really sure what you mean
(installing a Java compiler?? doesn't seem like a lot) and it doesn't
matter - Python/Sagemaths and R seem like the most reasonable tools without
spending big money.

Re. the OP's needs: learning a programming language isn't enough to write
programs that work correctly. You will need to learn how to design and
debug code if you're writing more than very trivial apps. Take a look at
something like Kernighan and Pike's "The Practice Of Programming." There is
no magic language that let's you write code "without becoming a
programmer." Some are easier to learn than others or offer more
functionality in particular areas, but writing even moderately complex
programs that really work - rather than just seeming to - requires
reasonable practice, some book knowledge, and lots of discipline. Programs
are treacherous and deceptive and it requires skill just to verify that
they are working reliably.




> **
>
> ** **
>
> *From:* umptious [mailto:umptious at gmail.com]
> *Sent:* Saturday, April 28, 2012 9:39 AM
>
> *To:* nkormanik at gmail.com
> *Cc:* beginners at haskell.org
> *Subject:* Re: [Haskell-beginners] Haskell as a useful practical 'tool'
> for intelligent non-programmers****
>
> ** **
>
> ** **
>
> On 27 April 2012 21:16, Nicholas Kormanik <nkormanik at gmail.com> wrote:****
>
>
>
> So, my question is: Does it make practical sense to spend time learning
> Haskell for the purpose of adding it to my assortment of 'tools' -- to
> quickly do this or that, as the need arises?
>
> Is there any better general practical 'tool' (or, if you want, 'programming
> language') to add to my arsenal.****
>
>
> No one can give you advice on what tool to use without knowing what the
> task or who you are in more detail than you provided. And you're often
> better with several tools than "general" one - trying to saw with a hammer
> isn't easy.
>
> Unless you're unusually smart in the IQ sense and/or have a maths or
> formal logic background, then I'd say that Haskell would be a miserable
> choice for a first programming language.
>
> As for tools you might look at for tasks that I ***guess*** that a trader
> is likely to want to do:
>
> - For web scraping and text mining, Groovy, Clojure, Ruby, Python and
> (maybe) Perl are reasonable choices
>
> - For both number crunching and symbolic maths, look at sagemaths (which
> is scripted in Python) - it's a reasonable free alternative to both Matlab
> (number crunching) and Mathematic (symbolics)
>
> ..Which I suppose makes Python the no-brainer choice. Python is easy to
> learn, the community is supportive, there are lots of reasonable books and
> tutorials. I think it also has stuff around for working with Excel
> spreadsheets, which I'd imagine you might want to do.
>
> Haskell is actually a better language than any of the above (leaving aside
> learnability and without defining "better") but for real world use
> libraries count more than language features. It would take you years to
> write the equivalent of sagemaths in Haskell, which rather negates
> Haskell's advantages if you need that functionality.****
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20120429/b8bcf930/attachment-0001.htm>


More information about the Beginners mailing list