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...
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.
----- Original Message -----
From: "Ben Goertzel" <[EMAIL PROTECTED]>
To: <agi@v2.listbox.com>
Sent: Sunday, May 25, 2008 4:26 PM
Subject: Re: [agi] More Info Please
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.
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
-------------------------------------------
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/?&
Powered by Listbox: http://www.listbox.com
________________________________
agi | Archives | Modify Your Subscription