[Haskell-cafe] Haskell for non-mathematicians (was: Specify array
or list size?)
Bulat Ziganshin
bulatz at HotPOP.com
Tue May 10 06:19:06 EDT 2005
Hello Graham,
Monday, May 09, 2005, 2:45:06 PM, you wrote:
GK> When I read the above, I found myself thinking of two styles of Haskell
GK> programming: on one hand there are some, many on these mailing lists, but
GK> I pick Oleg as an exemplar, who continue to baffle me with the amazing
GK> tricks they can do with (say) the Haskell type system. And there are
GK> "ordinary programmers" (like myself) who want to use Haskell's small core
GK> and (not-so-small) type system to find more elegant ways to write
GK> application software (e.g. http://www.cs.kent.ac.uk/projects/vital/ - if IO
GK> were added). I find that higher order functions and currying provide
GK> powerful tools to isolate different aspects of a program's functionality,
GK> but I'm not sure I'd want to explain them to a complete novice programmer.
imho, this theoretical foundations of Haskell power just don't need to
be explained explicitly. Haskell function just can be applied to
part of its argumnets and we use this very often. small and easy to
understand example are "add2 = map (+2)" which at the same time use
parially-applied function and return such function. it's a problem of
other languages advocates to explain how partial application can be
emulated in their ugly languages :)
and about selecting first language to teach programming. if one needs
to learn concept of controlling computer with help of programmng
language, it's better imho to use dynamic language with minimum
declarations, such as Ruby (or even Logo :) I think that runtime error
messages given in terms of VALUES instead of compile-time error
messages given in terms of TYPES are easier to understand for novice.
also, strict regulations on datatypes are needed for professional
program development, but will be just needless complication for
learning concept of programming itself. even for mathematician Ruby
will be a good choice
on the other side, to learn DISCIPLINE of programming, Haskell with
all its strictness will be a very good instrument
in the old times the same way Pascal was used to teaching future
programmers and Basic for all others
--
Best regards,
Bulat mailto:bulatz at HotPOP.com
More information about the Haskell-Cafe
mailing list