Re[2]: [GD-General] Eiffel
Brought to you by:
vexxed72
|
From: gabor f. <xl...@po...> - 2001-12-20 00:59:26
|
well, i don't have much experience in large-scale development ( i'm
still studying ), but i think i'll share my opinions too...
warning, this will be long :-)
12/20/2001, 12:54 AM,Thatcher Ulrich wrote:
>> And I just find the whole notion of text files that store lines of code
>> horribly quaint. It's the new millenium and we're still worrying about
>> things like forward declarations and circular dependencies. I find that
>> amazing.
> I've heard this gripe a few times lately, and I really don't see it.
> What's wrong with files, really? Isn't it really C++'s
> declare-before-use that's the problem?
the problem is that in c++ i'm creating objects.
i don't create text-files ( well, i'm creating them because i must,
and not because i like them )..
for example c++, templates...
because c++ programs are compiled on a per-file basis, the compiler
puts the code for vector<int> into every obj-file where i use them..
of course at link time he can remove the redundant ones, but still..
i don't remember but there was a problem with templates because of
that per-file-compiling, and the only compiler that had no problems
was ibm visualage because he doesn't work with files ( actually i
didn't try it, i've read it .. )
so why can't we have in the development tool a database of objects?
i don't care about where he is on my hdd, i only want to get my exe
:-)
the languages i've met:
c++:
most of time i use this one, and it's good for a lot of things (
the second best language for everything )...
but i find it too low-level.. i know that i have to pay the price
for speed, but still..
and templates.... they are a great thing for vector<int> and i
don't want to touch ever a language without such constructs..
but they are crazy things, and i don't think people will learn
to use template-metaprogramming like it is in some books..
yes, they are nice to look at... "wow, you can to THAT with
templates", but to write them....
and of course most of compilers don't support everything,
and error-messages.... even for a simple vector<string>, if you
make a mistake you get a 2000char long error message
so simply i think c++ is too big ( i think bloated is the correct
term ).. it has too many features and because of that it's hard
to create compilers for that... i'm not an expert, but i think the
"export" keyword is in the ansi standard and still noone
implemented it..
java:
when i've begun working with java, it looked so clean...
clean i mean i was used to that in every c++ compiler i had to
use macros, and all kind of ugly preprocessor directives..
in java there was nothing like that..
i could focus on my objects, if i wanted to use an another
object,i simply used it and java found it ( or i had to import
it,but it's still better than #include.. i hate #include )
everything ( ok,nearly everything) was an object, i didn't have
to write const Vertex& a all the time i could use simply Vertex
a,
but
there were no templates.... i had to cast on every step when i
wanted to insert/get something into/from a container...ugly...
no operator overloading .... i don't want to read/write
constructs like Vertex a,b,c; a = b.add(c.mul(d.sub(a,b),g.xor...
c#:
it's the same as java, except they support operator overloading
and it's more or less microsoft only ( actually at www.go-mono.com,
they're trying to create an unix version )
lisp:
i've met him at the university :-)... functional programming was
very interesting... not so much practical but very interesting..
you had to look at your problems from a completely different
point of view... i recommend to everyone to try some functional
languages... but i don't think in the near future we'll be
creating graphics programs in ocaml..
python:
super. python is the kind language i would like to use in the
future.... high level... for example dictionaries are a basic
data-type.. fully object-oriented... it doesn't have
templates,but he doesn't need them, you can write like this:
function add(a,b) { return a + b; }, and he checks everything
but the best thing was that everything worked as i expected..
i looked at some code and i could tell you what it is doing
i'll just stop now and wait for your opinions :-)
bye,
gabor
|