Browse thread
Wikipedia
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Alan Falloon <Al.Falloon@s...> |
| Subject: | Re: [Caml-list] what is high-level |
David Teller wrote: >Still, in OCaml/Haskell/ML, you do need some understanding of the type >system, which is typically not necessary in other programming languages. > > To write software you need to have some notion of types. By that I mean that you need an understanding of what values a certain operation can produce. In run-time type checked languages (and in untyped lagnuages), its up to the programmer to keep the type system in thier head. This makes the type system fairly flexible and lets them use whatever concepts make sense to them, but its still a type system. This is useful for novices, but tends to scale poorly. It also means that even users who invent a sophisticaed type system for thier project are unlikely to share concepts with other advanced users. In compile time typed languages, everyone has to agree on the type system. So, in modern languages, you get a push toward more sophisticated type systems than your average beginner can cope with, and with different concepts than an advanced user from dynamic languages would understand. I think the biggest barrier is the language. It took me forever to figure out what a 'row variable' was. As far as I can tell its how you do "duck typing" (if it quacks like a duck and walks like a duck...) in a static language. Row variable is a good term when you are inventing the system or writing a paper on it, but when introducing it to users who already know Python saying "duck typing" will make it clear in seconds. What we really need is a concept map from the popular languages (C, C++, Java, Python, Perl) to OCaml. Show common idioms in those languages and how they look in OCaml, and if there is a better way in OCaml then show that too. It might not make a good Wikipedia article, but it is the sort of project well suited to a Wiki. Is there an OCaml Wiki? -- Alan Falloon