From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Sun, 6 Sep 2009 18:08:26 +0100 From: Eris Discordia To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-ID: <9C0E59DDCCDD197FBD4EC404@[192.168.1.2]> In-Reply-To: References: <542783.92348.qm@web83904.mail.sp1.yahoo.com> <55D72913-15FB-415F-BE43-7D173E0AC449@storytotell.org> <7AAFE4127E1DB57785BB273A@192.168.1.2> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: Re: [9fans] nice quote Topicbox-Message-UUID: 669cb6e0-ead5-11e9-9d60-3106f5b1d025 > In this respect rating the "expressive power of C versus LISP" depends > very much on the problem domain under discussion. Of course. I pointed out in my first post on the thread that "[...] for a person of my (low) caliber, LISP is neither suited to the family of problems I encounter nor suited to the machines I solve them on." I cannot exclude other machines and other problems but can talk from what little I have personally experienced. > I would like to see Haskell fill C's niche [...] Is it as readily comprehensible to newcomers as C? Are there texts out there that can welcome a real beginner in programming and help him become productive, on a personal level at least, as rapidly as good C textbooks--you know the classic example--do? Is there a coherent mental model of small computers--not necessarily what you or I deem to be a small computer--that Haskell fits well and can be taught to learners? I imagine those will be indispensable for any language to replace existing languages, much more so in case of C. --On Saturday, September 05, 2009 20:58 -0500 Jason Catena wrote: > Hailed Eris: >> I was alluding to the expressive power of C versus LISP considered with >> respect to the primitives available on one's computing platform and >> primitives in which solutions to one's problems are best expressed. > > I think one of the reasons there exists little languages, and cliches > such as "the right tool for the job", is that the "primitives > available on one's computing platform" are very often not the > "primitives in which solutions to one's problems are best expressed." > In this respect rating the "expressive power of C versus LISP" depends > very much on the problem domain under discussion. > > For "systems programming", C has the advantage in both practice (use > in running systems) and theory: processes which take a lot of system > resources to execute also tend to take a lot of C code, whereas in > most higher-order languages, things which represent high-level > runtime-consuming abstractions tend look little different than simple > bit-level operations. The difference is one of approach, I guess: > whether you want to write optimal code yourself, and see what the > machine is doing, or trust the compiler to find a good way to > translate to machine language and run (in real-time) your > efficient-to-code higher-order functions. The better the translation > from the higher-level language, the more this difference becomes a > matter of taste, programming style, availability of programmers, and > the body of domain knowledge already represented in language > libraries. > > I would like to see Haskell fill C's niche: it's close to C's > execution speed now, and pure functions and a terse style gives real > advantages in coding speed (higher-order functions abstract common > "patterns" without tedious framework implementations), maintainability > (typeclasses of parameters in utility functions means you don't write > different implementations of the same function for different types, > yet preserve type compatibility and checking), and reliability (pure > functions don't depend on state, so have fewer moving parts to go > wrong). > > Jason Catena >