Mark,

If it were possible to make both C# and C+ versions of the core
(AtomTable and scheduler), and have both C# and C++  MindAgents run on
both, then we would have a favorable situation in terms of allowing
everyone to use their own fave languages and development environments.

-- Ben G

On Mon, May 26, 2008 at 7:18 AM, Mark Waser <[EMAIL PROTECTED]> wrote:
> While all the language wars continue, I'd like to re-emphasize my original
> point (directly copied from the original e-mail) -- One of the things that
> I've been tempted to argue for a while is an entirely alternate underlying
> software architecture for OpenCog -- people can then develop in the
> architecture that is most convenient and then we could have people
> cross-port between the two.
>
> Seriously people, I'm not asking anyone to move away from what *you* are
> familiar with if you don't want to.  I'm saying that maybe we should
> deliberately attempt to open this up so that we get *more* contributions and
> viewpoints -- at the admitted cost of needing better documentation and
> control -- which is really necessary anyways.  My "belief" is that seeing
> what happens will cause a migration -- but I'm not invested in that belief
> and would be happy and see huge benefits either way.
>
>     Mark
>
> P.S.  Thank you for the forward Ben.
>
> ----- Original Message -----
> From: Ben Goertzel
> To: [EMAIL PROTECTED]
> Sent: Sunday, May 25, 2008 8:29 PM
> Subject: Mark Waser arguing that OpenCog should be recoded in .Net ;-p
>
> This email thread on the AGI list really seems more appropriate for the
> OpenCog list... so I'm forwarding it here...
>
> -- Ben G
>
>
> ----------
> From: Mark Waser <[EMAIL PROTECTED]>
> Date: Sun, May 25, 2008 at 4:23 PM
> To: agi@v2.listbox.com
>
>
> Yeah, I'll certainly grant you that.  The unfortunate problem is that people
> coming in late don't see the prior arguments and then engage in behavior
> that they believe is similar but entirely without the scientific rigor that
> you normally follow but don't always visibly display.
>
> Also, on the other hand, for certain classes of issues where you are less of
> an expert -- like in large-scale systems architecture (both software and
> conceptual), a number of your previously posted arguments are *I believe* at
> best questionable if not outright wrong.  The fact that these assumptions
> aren't open for inspection at a convenient location is problematical if many
> other things are built on top of them and then they turn out to be wrong.
>
> We need to start to gather the best of these assumptions and debates in one
> place (probably a wiki) because long-term e-mail looping is not efficient.
> I've had this as a low priority thought for the AGI-Network but I think that
> I'm going to escalate it's priority substantially and see if I can't come up
> with a conceptual design for such a wiki (with scaled and isolated
> privileges) over the next couple of weeks.
>
> One of the things that I've been tempted to argue for a while is an entirely
> alternate underlying software architecture for OpenCog -- people can then
> develop in the architecture that is most convenient and then we could have
> people cross-port between the two.  I strongly contend that the current
> architecture does not take advantage of a large part of the newest advances
> and infrastructures of the past half-decade.  I think that if people saw
> what could be done with far less time and code utilizing already existing
> functionality and better tools that C++ would be a dead issue.
> ----------
> From: Ben Goertzel <[EMAIL PROTECTED]>
> Date: Sun, May 25, 2008 at 4:26 PM
> To: agi@v2.listbox.com
>
>
> Somehow I doubt that this list will be the place where the endless
> OS/language
> wars plaguing the IT community are finally solved ;-p
>
> Certainly there are plenty of folks with equal software engineering
> experience
> to you, advocating the Linux/C++ route (taken in the current OpenCog
> version)
> rather than the .Net/C# route that I believe you advocate...
>
> -- Ben G
> ----------
> From: Lukasz Stafiniak <[EMAIL PROTECTED]>
> Date: Sun, May 25, 2008 at 5:24 PM
> To: agi@v2.listbox.com
>
>
> No, I believe he advocates OCaml vs. F#   ;-)
> (sorry for leaving-out Haskell and others)
> ----------
> From: Mark Waser <[EMAIL PROTECTED]>
> Date: Sun, May 25, 2008 at 5:59 PM
> To: agi@v2.listbox.com
>
>
> Cool.  An *argument from authority* without even having an authority.  Show
> me those "plenty of folks" and their reasons for advocating Linux/C++.
> Times have changed.  Other alternatives have advanced tremendously.  You are
> out of date and using and touting obsolete software and development
> methods.  I *don't* believe that you can find an expert who has remained
> current on technology who will back your point.
>
> {NOTE:  It's also always interesting to see someone say that the argument is
> OS/language vs. framework/language (don't you know enough to compare apples
> to apples?)]
>
> More importantly, I don't believe that I've ever explicitly endorsed C#.
> What I've always pushed is the .NET framework because 1) it's got far more
> already built infrastructure than anything else and 2) you can mix and match
> languages so that you can use the most appropriate language in any given
> place and still use another language where it is more appropriate.
>
> So, I'll take up your challenge . . . .
>
> I've developed in multiple flavors of Basic, Pascal, Assembly Language,
> LISP, Prolog, C, C++, TCl, etc.
> For experimental development, C++ is probably the worst choice.  It's the
> old first-attempt camel you use when you're trying to get speed and
> object-oriented programming.  The things that you *have* to worry about like
> memory management and the errors that you can *easily* make are only offset
> where speed is truly a concern.  Except that development speed and iteration
> is more important to this effort than sheer system speed.  Except that the
> maximum speed-up that you can get from C++ isn't that great -- and you only
> get that if you are *really* good.  Why aren't you using C++ only in really
> core systems and something more appropriate for development elsewhere?  Oh
> yeah, because there is no really good way to easily integrate multiple
> languages like when using .NET.
>
> If you were serious about speed, you'd be using straight C.  If you were
> serious about development time and ease of development, you'd be using a
> better object-oriented language -- or better yet, in many places, a
> functional language.
>
> Face it, you're using what you know and what you've *been* developing in --
> and it's obsolete technology . . . .  Your systems people are not keeping up
> as is REQUIRED to maintain your edge in the systems field.
>
> The newest version of C# now has virtually all of the functional capacity of
> OCaml -- or, why not just use F# where appropriate?  For web stuff, there's
> far more infrastructure available under .NET than is available under any
> *nix or Java and if you like the languages available on *nix, there's always
> IronPython and Iron Ruby.
>
> I claim as FACT that general development under .NET is at least twice as
> fast as in any other environment due to the existing tools and
> infrastructure.
>
> Can you find anyone who is familiar with both .NET 3.5 and Linux/C++ who is
> willing to claim otherwise?
>
> What is your reason for using C++?  Other than the fact that porting your
> application is going to be expensive, I'm not sure that you have a valid
> one.  And I'm reasonably sure that the advantages of porting will *rapidly*
> provide a return on investment sufficient to offset the porting cost.
>
> So, please, back up your claim.  Find some experts who are up-to-date to
> explain why Linux/C++ is better.
>
>
>
>> -------------------------------------------
>> agi
>> Archives: http://www.listbox.com/member/archive/303/=now> Modify Your
>> Subscription: http://www.listbox.com/member/?&;
> ----------
> From: Ben Goertzel <[EMAIL PROTECTED]>
> Date: Sun, May 25, 2008 at 6:32 PM
> To: agi@v2.listbox.com
> Cc: Linas Vepstas <[EMAIL PROTECTED]>
>
>
> Mark --
>
> About C++ versus C# ...
>
> This blog post and some of the more intelligent comments  (e.g. David
> Brownell's) summarize many of the standard arguments back and forth.
>
> http://blogs.msdn.com/ericgu/archive/2005/01/26/360879.aspx
>
> Linas Vepstas is a very experienced software developer who can likely
> argue the practical advantages of C++ in the Linux environment, more
> adeptly than I can.  He is involved with OpenCog, as well.
>
> For a typical Web-front-end, DB-back-end software system, or a Windows
> app, I would obviously advocate C# over C++.  Although java, Ruby and
> Python have a lot to be said for them for various applications as
> well.  For a real-time control system that involves complex algorithms
> using large amounts of memory in complex patterns, I still maintain
> that C++ is the best choice.  The big advantages to C++ from an
> OpenCog point of view seem to be the capability to do your own garbage
> collection, the STL and Boost which are great libraries, and templates
> in general including template metaprogramming.
>
> I'm aware .Net has evolved a lot in recent years, but so has the C++
> world, especially the Boost libraries which are extremely powerful.
>
> Regarding Linux versus Windows, this seems to be more of an
> individual-preference thing.  I have programmed in both, though in
> neither case as a professional engineer (more as a research
> programmer), and I found myself significantly more productive in Unix
> environments.  I like the command-line environment and I like piping
> stuff from one program to another using shell scripts, etc.  I won't
> claim this is superior intrinsically to the Windows approach, but I
> will claim that it's an extremely productive environment for those who
> are accustomed to it.
>
> http://www.paulgraham.com/gh.html (section: more than money)
>
> Jonas Koekler's post here
>
> http://www.linuxquestions.org/questions/programming-9/advantages-of-being-a-linux-programer-instead-of-programing-in-windows-455895/
>
> is also insightful
>
> Obviously these are not simple issues since there are smart,
> experienced, insightful people arguing both sides of the dichotomy.
> For OpenCog we had to make a definite choice and we made one.  Sorry
> you don't agree w/ it.
>
>
> -- Ben
>
>
>
> ----------
> From: Mark Waser <[EMAIL PROTECTED]>
> Date: Sun, May 25, 2008 at 7:15 PM
> To: agi@v2.listbox.com
> Cc: Linas Vepstas <[EMAIL PROTECTED]>
>
>
> It is a good blog post.  Now, how many of Dave Brownell's features are you
> actually using?  How easy are they for other developers to use?  How much of
> a problem is it and how long does it take to run problems down? So, get him
> to argue.  Citing his name is merely an argument from authority. Does he
> have actual experience in anything else? For a real-time contrl system that
> involves complex algorithms using large amounts of memory in complex
> patterns C should be used over C++ every time.
> ----------
> From: Mark Waser <[EMAIL PROTECTED]>
> Date: Sun, May 25, 2008 at 7:36 PM
> To: agi@v2.listbox.com
> Cc: Linas Vepstas <[EMAIL PROTECTED]>
>
>
> Continuing on from a mistaken send . . . Boost is not particularly powerful.
>  Using Boost involves a *lot* of work because the interfaces are not
> particularly good. Of course, the real question is -- why are you arguing
> any of this when you could be also using C++ and Boost from .Net?  Not that
> I would since previous e-mails on the OpenCog list haven't been hapy with
> Boost . . . .
>
> So . . . I'm glad you believe that you're aware .Net has evolved.  How has
> it evolved? Why do you keep bringing up this old dead horse?  I keep
> deliberately removing it since it is as you say "an individual preference
> thing" --  except in terms of what is available under it and all sorts of
> market share arguments (which I actually deliberately removed from MY last
> e-mail so as not to cloud the issue with random facts like you're doing).
> There are people arguing both sides of the global warming issue as well.
> Can't we argue this from REASONS instead of authority? I agree that you had
> to make a choice and made the one that seemed right to various reason.  The
> above comment is rude and snarky however --  particularly since it seems to
> come *because* you can't justify your choice. I would expect better of you.
>
> = = = = = = =
>
> Let's try this again.  Get your experts together and create a short list of
> why C++ on Linux (and any infrastructure there that isn't immediately
> available under .Net) is better than the combination of all the .Net
> languages and all the infrastructure available there that isn't immediately
> available under Linux.  No resorting to pseudo-democracies of experts, how
> about real reasons that YOU will stand behind and be willing to defend.
>
> I've seen a lot of speculation on the OpenCog list about using this or that
> or the other thing and I've seen *a lot* of stuff dismissed and virtually
> nothing embraced.  I mainly mention this because I'm actually surprised at
> how little seems to be reusable (i.e. less than I would have guessed).
>
> So . . . . how about it?  Real reasons or more random sidetracks and
> insults?
> ----------
> From: Ben Goertzel <[EMAIL PROTECTED]>
> Date: Sun, May 25, 2008 at 8:26 PM
> To: agi@v2.listbox.com
> Cc: Linas Vepstas <[EMAIL PROTECTED]>
>
>
> Mark,
> This would be a reasonable exercise, but I simply don't have time to
> deal with it
> right now.
>
> I'm about to leave on a 2.5 weeks business / research-collaboration trip to
> Asia, and en route I hope to make some progress on mutating Novamente docs
> into OpenCog docs.  No time to burn on these arguments at the moment.
>
> However, it might be worthwhile to create a page on the OpenCog wiki
> focused on this issue, if others are also interested in it.
>
> There could be a section on the page arguing the potential advantages
> of .Net for
> OpenCog; a section on the page arguing the intended advantages of the
> current
> approach; and other sections written by folks advocating other approaches
> (e.g. LISP-centric, whatever...).
>
> Perhaps if you create this page and get it started w/ your own arguments,
> others
> will contribute theirs and we can advance the debate that way.
>
> -- Ben
>
>
>
>
> --~--~---------~--~----~------------~-------~--~----~
> You received this message because you are subscribed to the Google Groups
> "OpenCog.org (Open Cognition Project)" group.
> To post to this group, send email to [EMAIL PROTECTED]
> To unsubscribe from this group, send email to
> [EMAIL PROTECTED]
> For more options, visit this group at
> http://groups.google.com/group/opencog?hl=en
> -~----------~----~----~----~------~----~------~--~---
>
>



-- 
Ben Goertzel, PhD
CEO, Novamente LLC and Biomind LLC
Director of Research, SIAI
[EMAIL PROTECTED]

"If men cease to believe that they will one day become gods then they
will surely become worms."
-- Henry Miller


-------------------------------------------
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244&id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com

Reply via email to