>>9
When teaching the basics of programming, that is not a feature. Haskell is one of the very few purely functional languages used at all in the real world. Using Haskell for an introductory programming course is about as stupid as using Java for the same.
Name:
Anonymous2007-05-27 16:19 ID:0rflFClW
>>8,10
That's not true. Haskell has extensive support for imperative programming. Mix that with Haskell's excellent expressiveness and you've got one awesome learning language.
Name:
Anonymous2007-05-27 16:26 ID:1Cb9yRAK
At least it's not Java
Name:
Anonymous2007-05-27 16:40 ID:rKLlRpqh
>>11
Did I mention I am a Haskell fag? I know that Haskell supports imperative programming, but it does that in a way that is different enough from almost anything else to make it a bad choice for teaching introductory programming.
I don't think Python is too great a teaching language, either, compared to Scheme, but Abelson & Sussman seem to be supporting it, so maybe I'm just wrong.
When you're teaching the basic concepts of programming, it might be helpful to use a language that ISN'T in common industrial use—then the concepts can be presented separated from the syntax of any particular programming language. The concepts learnt can then be mapped onto other syntax later.
This is speaking from personal experience of several friends who have *never* programmed before doing the same course as me; we at first learnt C (why?), and then Java. It took them a while to formulate the abstract ideas behind the syntax of C and apply them liberally. At first they were stuck in a somewhat syntax-is-everything mentality; for example, it took a while for 'method=function' to stick.
Silly I know, but it continues to surprise me what they have problems with when they've *never* touched code before.
Name:
Anonymous2007-05-27 17:01 ID:0rflFClW
>>13
How is the IO monad together with IORefs different from 'standard' imperative programming?
Name:
Anonymous2007-05-27 18:07 ID:rKLlRpqh
>>14
Because imperative programming in some form is necessary to do anything except very trivial programs. In Scheme, it can be fluently mixed in to otherwise functional programs with a single keyword, which is conceptually easily mappable to the programming model of almost any non-purely-functional language.
>>15
It strictly separates code with side effects from functional code.
Name:
Anonymous2007-05-27 18:31 ID:Zm7J6MaB
キタ━(゚∀゚)━(∀゚ )━(゚ )━( )━( )━( ゚)━( ゚∀)━(゚∀゚)━ !!
Name:
Anonymous2007-05-27 21:31 ID:W4KbKnb9
goddamn losers.
if you're not able to do it in C, it's not the language, it's you. You fail.
Name:
Anonymous2007-05-28 2:24 ID:MXONMbCk
>>16
What's your point? If you want imperative, you can run everything in the IO monad.
Name:
Anonymous2007-05-28 14:21 ID:yqRGvG3D
>>18 if you're not able to do it in assembly, it's not the language, it's you. You fail.
Fixed
Name:
Anonymous2007-05-28 14:24 ID:41xQO88x
>>20 if it's not possible to do it in assembly, it's not you, it's the computer
Fixed
Name:
Anonymous2007-05-29 6:22 ID:rd0ilia7
if it's not possible to do it in assembly, it's not you, it's your computer which is not turing-complete
Bringing /prog/ back to its people
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy