Estimated PCMan:First I would like to say that I'm not proposing the migration to any language this is just for my own consumption but as you are experienced programmers I want to hear your opinions.
I was asking because I was wondering my self wish language would fit better for hight performance applications (excluding C) in order to increase the code scalability and keep the same performance. So I consider a set languages all of then whit support of object oriented programing and compiled. Those were Vala and C++ and I compare then with a similar in C. The results I got favor C++ language in memory consumption and execution speed.
About the drawbacks that you point out I gees that libgtkmm fix the some of then (ABI instability and UTF-8 support); The slowest startup time as you say is because the large symbol table and the size of the executables (due libstd and libgtkmm) but in "my opinion" as the code is optimized by the compiler we got a better performance of the application instead of the GObject system wish is not optimized at compiling time. About the complexity of the code, I gees that all programing languages are complex and if you don't master your tools is impossible to writhe good code.
Respecting to Vala I found that it is not mature language and you depend always of the translation that of your code to C (wish could not be so optimal). About debugging, you debug the translated C code instead of Vala code.
Here I attached my experiments if you have a time please check then maybe I made some mistakes.
A word about the use of C++ in LXDE, I gees that it would be helpful to create the future applications with it because his great compatibility with C.
Greetings Alexis López Zubieta El 30/03/12 06:04, PCMan escribió:
On Fri, Mar 30, 2012 at 10:22 AM, Alexis López Zubieta <[email protected] <mailto:[email protected]>> wrote:El 29/03/12 19:09, PCMan escribió: > When GObject is involved, the readability of Vala code tends to be > much better then its C counterpart. PCMan did you ever consider use C++ in the development of libfm. I have been making some experiments with GObject and C++ and I found that C++ is more efficient and clear when you are going to use objects. Yes, I did some experiments with c++ as well, but here are the drawbacks. 1. ABI instability. It's very hard to maintain ABI compatibility with C++.2. Slow startup time and large symbol table due to unnecessary export of many long symbols caused by name mangling.3. Significantly larger binary size + dependency on libstdc++.4. UTF-8 support is not widely available. STL strings works with ASCII only. wstrings need additional encoding conversion. 5. No reference counting support. Using boost::intrusive_ptr may solve this, but the code will become very long.6. Compilation is really slow for large projects. 7. Harder to debug.8. Hard to use in non-C++ projects, such as some plain C programs and vala projects.9. Too complicated and hard to master. Error-prone if not used correctly10.Existing code is almost finished. Rewriting with C++ is just a waste of time. 11.Vala provides similar code readability but 100% integration with GObject without additional dependency. I think it's enough for me. 12.I fully agreed that the objects provided by C++ is cleaner than the terrible GObject runtime system. However, the additional costs and side effects it brings just offset the benefit. Porting to actually C++ means a complete rewrite.Personally I like C++ and use it under Windows since it's very difficult to develop Windows programs with plain C. In this case, I think C language is a more suitable choice, especially when it's intended to be used in other C programs.About libfm: Please count on my. Greetings Alexis López Zubieta University of Informatics Sciences
10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS INFORMATICAS... CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION http://www.uci.cu http://www.facebook.com/universidad.uci http://www.flickr.com/photos/universidad_uci
src.tar.gz
Description: GNU Zip compressed data
------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________ Lxde-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/lxde-list
