The following is not about the merits of your request (or its foolishness :), 
it maybe a
taste issue.

If I look at productivity/efficiency, I cannot see the interest of sticking to 
the tools
and frameworks the majority is using presently. They are highly inefficients.

Doing things the same way they are already done and only changing the label
does not provide any gain whatsoever.

The heart of the problem is getting people to think differently about the things
they have been doing wrong for the last two decades.

I get regular feedback from people working in Javaish environments,
many criticize the methods and tools they use daily.
They feel they are not efficient and that it reduces their throughput 
significantly.

That uneasiness is a first important sign that something is wrong in the 
"natural"
thinking process of a significant chunk of developers (Java ones). Tools and
frameworks emerge from this "natural thinking".

I don't buy this idea of pleasing the majority but that maybe a personality 
trait.
It's not about selling Hygrade sausages, it's about questioning our "bad 
habits".

I got stuck into Java from back to 2001, my customers did not really questioned 
this 
choice in all  those years. 
They never realized the jail they were getting into. Now they know they
have a problem, having tons of code lines to maintain and no easy escape route.

Clojure is flexible enough to allow you to address the same problem in different
ways within a short timeframe. You can then experiment other approaches
without having to switch to a different language/platform.

This is the door allowing you to escape the rut into which your mind may
be stuck. OO being one of them.

Personally, I stay away from deftype/defrecord most of the time.
I do however use protocols to implement "traits" of my own to standard Clojure
data structures. OO can easily be tossed away using protocols or high order
fns and maps. No need to carry that luggage. IMHO :)


 Luc P.

> I surely agree there is individual difference in thinking what is
> natural. Mozart might thought writing a symphony was a very natural
> thing to accomplish, which I would strongly disagree. But if the
> language does not meet the natural thinking of the majority people
> (which I do think exist), then the language won't be effective for
> them. There is nothing wrong because the language may not target the
> "majority" as the users. However it will be even better if the
> language can make more people's coding more efficient without
> sacrificing anybody's coding efficiency. I hope my original "feature
> request" at the beginning falls into such category. After all, even an
> niche or elite language will benefit from a broader participation and
> users.
> 
> 
> On May 20, 9:00 pm, "Peter Buckley" <buckmeist...@gmail.com> wrote:
> > -> high-level languages are there to make coding more efficient and 
> > effective
> >
> > -> the whole point of high-level
> > languages is to satisfy our need to express our ideas/logics in a more
> > natural way
> >
> > I'd argue that you're in violent agreement with each other :-)
> >
> > If I can express my idea/logic in a more natural way, I would expect that 
> > to make my coding more efficient and effective.
> >
> > I don't think there is such a thing as one "natural" thinking or 
> > programming pattern. I think what each of us regard as "natural" has a lot 
> > to do with different individuals' giftings, background, and experience.
> >
> > I think it's valid to say that OO is a bad attempt to force a contrived and 
> > ill-fitting "physical" world model on computer programs, and it's totally 
> > unnatural. That's just a point of view on the "natural"-ness of the 
> > programming model for an individual.
> >
> > Even if most programmers think that OO is an ideal model, that still 
> > doesn't mean it's the "natural" one.
> >
> >
> >
> >
> >
> >
> >
> > -----Original Message-----
> > From: Alex Baranosky <alexander.barano...@gmail.com>
> >
> > Sender: clojure@googlegroups.com
> > Date: Sun, 20 May 2012 17:42:10
> > To: <clojure@googlegroups.com>
> > Reply-To: clojure@googlegroups.com
> > Subject: Re: defrecord with "inheritance"
> >
> > I'd argue with you over whether that is the whole point of high-level
> > languages.  I might say that high-level languages are there to make coding
> > more efficient and effective.
> >
> > On Sun, May 20, 2012 at 5:16 PM, Warren Lynn <wrn.l...@gmail.com> wrote:
> >
> > > I agree "familiar" is often mixed with "natural". But nevertheless
> > > that does not mean there is no such thing as "natural" thinking or
> > > programming pattern. In a broader sense, the whole point of high-level
> > > languages is to satisfy our need to express our ideas/logics in a more
> > > natural way, hence the modular design, interface and etc. The
> > > challenge of a language is how to be natural and powerful at the same
> > > time, as human being's natural thinking often is not enough to model
> > > the complexity of the world.
> >
> > > On May 20, 7:34 pm, David Nolen <dnolen.li...@gmail.com> wrote:
> > > > FWIW, the first thing I did when I encountered Clojure was built a Tiny
> > > > CLOS like system with inheritance. I've since come to the conclusion it
> > > was
> > > > a waste of time and Clojure offers an equally good set of tools.
> >
> > > > After examining a few powerful paradigms, OO, FP, LP, etc I'm not sure
> > > what
> > > > "natural" could possibly mean besides "familiar" which is a limited
> > > metric
> > > > in my opinion.
> >
> > > > David
> >
> > > > On Sun, May 20, 2012 at 6:17 PM, Warren Lynn <wrn.l...@gmail.com> wrote:
> > > > > Thanks for the suggestion. I understand part of the joy (and pain) of
> > > > > learning a new language is to change the way of thinking. So I
> > > > > probably need to take on something no-trivial but also not
> > > > > overwhelming to understand the issue or benefit better.
> >
> > > > > But eventually, a language cannot meet everybody's needs/tastes. In my
> > > > > view, there are certain patterns that are just "natural" to most
> > > > > people (not simply because they were taught like that in school), and
> > > > > a language will be more productive for those people to have those
> > > > > patterns (maybe with extra enhancements and enlightenment). I am sure
> > > > > with maps and multimethods you have actually a superset of any OO
> > > > > systems, and certain people find it much productive, but lacking
> > > > > direct support of certain natural patterns will lose many capable but
> > > > > non-genius programmers (which is nothing wrong if that is not part of
> > > > > the language's objectives). Part of my learning here is to find out if
> > > > > the language is right for me.
> >
> > > > > On May 20, 5:37 pm, Bill Caputo <logos...@gmail.com> wrote:
> > > > > > On May 20, 2012, at 4:23 PM, Warren Lynn wrote:
> >
> > > > > > >> defrecord, deftype, and defprotocol provide extensible low level
> > > > > > >> abstractions like the kind Clojure is built on.
> >
> > > > > > >> As a Clojure programmer you should only need them rarely.
> >
> > > > > > >> As a beginner you should never use them.
> > > > > > > Well, I don't want to be a beginner for too long, :-)
> >
> > > > > > I am not a clojure beginner (though far from feeling I know all
> > > there is
> > > > > to learn about it). I have been using clojure for almost a year; my
> > > team
> > > > > has rebuilt the central part of our system (which is relied on by just
> > > > > about every other team where I work) out of clojure and have had it in
> > > > > production for 6 months.
> >
> > > > > > I've yet to even learn *how* to use defrecord, deftype & 
> > > > > > defprotocol.
> >
> > > > > > IMO, If you're not doing a lot of java interop (i.e. where your
> > > clojure
> > > > > code is being consumed by java clients) you might never need them.
> >
> > > > > > As someone who came from, C++, C# & Ruby (and a little Java) - i.e.
> > > OO -
> > > > > to clojure & FP, I *strongly* recommend that you take a project
> > > (preferably
> > > > > one that you aren't hanging your livelihood on, but trust me it's a
> > > real
> > > > > rush) and try *really* hard to solve your design problems just with
> > > maps,
> > > > > vectors and the other core data structures (I first tried this in
> > > ruby, btw
> > > > > - a great learning experience and gave me a strong appreciation for 
> > > > > the
> > > > > optimizations that clojure provides to make such code practical).
> >
> > > > > > IOW: pretend for a project that OO doesn't exist. When you're done,
> > > > > you'll have learned a lot, you'll still have what you know about OO,
> > > and
> > > > > when you're done you'll have lost nothing except your time and your
> > > > > perspective. You'll be doing yourself an enormous disservice if you
> > > simply
> > > > > try to map clojure onto your current way of working/thinking.
> >
> > > > > > bill
> >
> > > > > --
> > > > > You received this message because you are subscribed to the Google
> > > > > Groups "Clojure" group.
> > > > > To post to this group, send email to clojure@googlegroups.com
> > > > > Note that posts from new members are moderated - please be patient 
> > > > > with
> > > > > your first post.
> > > > > To unsubscribe from this group, send email to
> > > > > clojure+unsubscr...@googlegroups.com
> > > > > For more options, visit this group at
> > > > >http://groups.google.com/group/clojure?hl=en
> >
> > > --
> > > You received this message because you are subscribed to the Google
> > > Groups "Clojure" group.
> > > To post to this group, send email to clojure@googlegroups.com
> > > Note that posts from new members are moderated - please be patient with
> > > your first post.
> > > To unsubscribe from this group, send email to
> > > clojure+unsubscr...@googlegroups.com
> > > For more options, visit this group at
> > >http://groups.google.com/group/clojure?hl=en
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Clojure" group.
> > To post to this group, send email to clojure@googlegroups.com
> > Note that posts from new members are moderated - please be patient with 
> > your first post.
> > To unsubscribe from this group, send email to
> > clojure+unsubscr...@googlegroups.com
> > For more options, visit this group 
> > athttp://groups.google.com/group/clojure?hl=en
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> 
--
Softaddicts<lprefonta...@softaddicts.ca> sent by ibisMail from my ipad!

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to