comp.lang.ada
 help / color / mirror / Atom feed
From: deadlyhead <deadlyhead@gmail.com>
Subject: Re: The state of functional programming
Date: Wed, 28 Jul 2010 16:34:26 -0700 (PDT)
Date: 2010-07-28T16:34:26-07:00	[thread overview]
Message-ID: <55f38788-5e3f-4f5f-ba03-6b0f842740ce@g6g2000pro.googlegroups.com> (raw)
In-Reply-To: 3W21O62640388.1508101852@reece.net.au

Wow.  I feel completely out of place here.

I regularly code in functional, imperative and use OOP strategies side-
by-side.

When I want to hack, I use Scheme (specifically Guile).  I naturally
gravitate to doing everything in a functional style in Scheme because
it's so _natural_, but when a situation calls for it, I load up GOOPS
and get some OOP going.  There's absolutely nothing wrong with using
the right tools for the job.  Heck, I'll even write some functions in
Ada that never assign a variable, but instead construct a return
statement from a series of sub-functions.

My total perspective is thus: both functional programming and
imperative/OOP as implemented by Ada are designed for safety,
expressiveness and cleanliness/maintainability. Ada accomplishes this
via type safety, clear syntax and a host of other design decisions
that I don't particularly feel like ticking off.  Functional languages
achieve much of the same safety, even with dynamic typing, by simply
doing away with assignment, and thus abusing conversion rules between
types.  Perhaps I look at it as with Ada we must be deliberate with
each of our actions, but with functional languages we must be
deliberate with our _intentions_.

Call me crazy, but building a solid system in Ada and embedding a
powerful Scheme for extension seems like the beautiful middle way to
me.



  reply	other threads:[~2010-07-28 23:34 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2adc4d8d-210e-429c-8188-9b1e99c2718e@d17g2000yqb.googlegroups.com>
2010-07-28 16:16 ` The state of functional programming Georg Bauhaus
2010-07-28 19:37   ` Kulin Remailer
2010-07-28 23:34     ` deadlyhead [this message]
2010-07-28 16:31 ` Jeffrey R. Carter
2010-07-28 23:35   ` J.s
2010-07-28 16:40 ` Dmitry A. Kazakov
2010-07-28 17:47   ` (see below)
2010-07-28 18:40     ` Dmitry A. Kazakov
2010-08-03  3:15     ` Randy Brukardt
2010-08-03 13:57       ` (see below)
2010-07-28 19:09   ` Warren
2010-07-28 19:35     ` Dmitry A. Kazakov
2010-07-29 15:20       ` Warren
2010-07-29 17:00         ` Dmitry A. Kazakov
2010-07-29 19:19           ` Warren
2010-07-29 20:40             ` Dmitry A. Kazakov
2010-07-29 21:01               ` Warren
2010-07-29 23:09                 ` Georg Bauhaus
2010-07-30  8:50                 ` Dmitry A. Kazakov
2010-07-30  9:17                   ` Niklas Holsti
2010-07-30  9:29                     ` Dmitry A. Kazakov
2010-07-29 20:46             ` Niklas Holsti
2010-07-30 13:52               ` Warren
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox