On 30 September 2010 11:57, Andreas Raab andreas.raab@gmx.de wrote:
Voila, done.
Yep. Been there , did that :) I had implemented own automatic code generator which generated bindings for my abandoned smalltalk interpreter. I used SWIG C++ compiler by writing own plugin to it. So, what is stopping us from either use SWIG, or write own C/C++ parser/compiler for automatic generation of external library bindings?
Someone needs to do it :-)
Amen :)
No objections here. Shit happens. And its really don't matters where: either in language/FFI or in C. You still have to fix that.
It's not so much that shit happens but rather that your sarcastic comment is *completely* wrong and (I think) goes to show how little exposure to the resulting problems you (and pretty much everybody else arguing for that kind of stuff) really have.
Oh, please. I worked more than 2 years on single big C++ project, in Visual Studio. STL, templates, threads, 10 minutes of compilation time, incredibly hard to move ahead, incredibly hard to reproduce errors (since after 'fix' you were always had to restart program and repeat all steps which may possibly triggered bug). I am sick of C, really sick. If it would be so easy to develop in C, then no one (including me) would even look into smalltalk direction.
This isn't my claim. My claim is that for *platform integration tasks* C is superior. Not for general software development. But for a plugin that reads and writes the windows credential store, for a plugin that reads and writes the Apple keychain, for a plugin that interfaces with sockets, for a plugin that deals with platform windows, C/C++/C#/ObjC are the better choices.
How i could argue with that? Of course for interfacing with C, C is better than any other language. :) But its too late. My mind already tainted by smalltalk. I want to do it in smalltalk way. I want to evaluate simple doit and access computer's CMOS memory, as demoed by Gerardo Richarte under SqueakNOS on ESUG conference. I don't want to rebuild whole VM from scratch, each time i need to change something. And you are always need to change something, because we're not living in a perfect world and not running our programs under perfect OS, using perfect VM and libraries and so on.
Cheers, - Andreas