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 |