well, first of all my opinion is that mono is fine as it is aka a MS tech enviroment to released to novell to avoid some lawsuits or dark antitrust scenarios, that is being used for like 8 folks only on linux and since in linux is an OSS based os you are free to use what you want just let those 8 folks using that enviroment if they want too.
i don't see the problem of mono existance since it could help developer coming from windows do some stuff and use more linux but let's be serious here mono aka C# will stay as it is for a long time aka beside few small apps it will stay in the dark corners of some distro here and there. the realistic chance that mono ever became a strong supported language/plataform in linux is less than 0%, for god sake not even novell has migrated to mono their own tools in their propieraty distros and if you ask me that is very LOL.
my opinion about choosing an language because it has "better memory management" doesn't make sense, espetially a language born from the most crappy, crashy, unstable OS ever written(yes windows, yes even the 7). so i think you should refer that feature as "any crappy coder or idiot can put three variables togheter and not crash the app" and that is something that you can find in any interpreted language in some extent aka mono, java, python, php lol, etc. you are only experiencing a feature that is absolutely natural in any vm language backed up by the strong memory manager in unix based kernels and some cool gui, is not like mono invented it and for god sake .NET either since is not exactly bullet proof or good at handling memory leaking in windows either.
about C++/QT crappy or hard or whatever memory management you called it,
ok i admit that C/C++ can be tricky for newcomers or midlevel developers cuz you have many ways to handle memory statically and dinamically, but is about just that much, if you get segfaults all the time, dude plz spend some money in a good C/C++ book and maybe some course?? cuz you learn something in the road very very wrong.(especially when you say so, in a forum of unix like OS users, which uses almost exclusively C/C++ for everything, which means milions and millions of line of C/C++ code and still is considered in the most stable and reliable OSes outhere, even including almost full dominion of the 500 most powerful supercomputer in the world, yes is not us, it's you)
btw, just as a question, why the hell you assume that get a segault signal is something wrong or evil? maybe you are confusing segfaults with crash from the windows world?, when you develop app on unix like OSes(not only linux but bsd, aix, hpux, etc) you have to understand that unlike windows the OS won't allow you to do as you please aka the OS set limits on what you can and cannot do and that is what signals mean aka you are doing something illegal and the app should be terminated to maintain the integrity of the rest of the OS cuz the developer did something wrong and that is the right way to handle processes in an OS like it or not(i admit it could be tricky at first but still is the right thing to do and the developers have to get used to it), so not matter what you do the OS will never let reference null pointer, the memory manager allow you to read any data in any memory adress but it will never let you write data on a memory sector not owned by you app, etc. unlike windows >.<. so sigvseg is not a crash, is just a polite way to inform you that you did something that the OS don't consider right.
vme'd languages like mono are tied to the same restriction, it just handled by the core libraries in a more automatic way and in some cases using ugly hacks to prevent you app to sigsegv, in C/C++ you just need to be a bit more careful or just use a simple memory manager to keep track of your pointer to do the same thing without the performance penalty
i don't see the problem of mono existance since it could help developer coming from windows do some stuff and use more linux but let's be serious here mono aka C# will stay as it is for a long time aka beside few small apps it will stay in the dark corners of some distro here and there. the realistic chance that mono ever became a strong supported language/plataform in linux is less than 0%, for god sake not even novell has migrated to mono their own tools in their propieraty distros and if you ask me that is very LOL.
my opinion about choosing an language because it has "better memory management" doesn't make sense, espetially a language born from the most crappy, crashy, unstable OS ever written(yes windows, yes even the 7). so i think you should refer that feature as "any crappy coder or idiot can put three variables togheter and not crash the app" and that is something that you can find in any interpreted language in some extent aka mono, java, python, php lol, etc. you are only experiencing a feature that is absolutely natural in any vm language backed up by the strong memory manager in unix based kernels and some cool gui, is not like mono invented it and for god sake .NET either since is not exactly bullet proof or good at handling memory leaking in windows either.
about C++/QT crappy or hard or whatever memory management you called it,
ok i admit that C/C++ can be tricky for newcomers or midlevel developers cuz you have many ways to handle memory statically and dinamically, but is about just that much, if you get segfaults all the time, dude plz spend some money in a good C/C++ book and maybe some course?? cuz you learn something in the road very very wrong.(especially when you say so, in a forum of unix like OS users, which uses almost exclusively C/C++ for everything, which means milions and millions of line of C/C++ code and still is considered in the most stable and reliable OSes outhere, even including almost full dominion of the 500 most powerful supercomputer in the world, yes is not us, it's you)
btw, just as a question, why the hell you assume that get a segault signal is something wrong or evil? maybe you are confusing segfaults with crash from the windows world?, when you develop app on unix like OSes(not only linux but bsd, aix, hpux, etc) you have to understand that unlike windows the OS won't allow you to do as you please aka the OS set limits on what you can and cannot do and that is what signals mean aka you are doing something illegal and the app should be terminated to maintain the integrity of the rest of the OS cuz the developer did something wrong and that is the right way to handle processes in an OS like it or not(i admit it could be tricky at first but still is the right thing to do and the developers have to get used to it), so not matter what you do the OS will never let reference null pointer, the memory manager allow you to read any data in any memory adress but it will never let you write data on a memory sector not owned by you app, etc. unlike windows >.<. so sigvseg is not a crash, is just a polite way to inform you that you did something that the OS don't consider right.
vme'd languages like mono are tied to the same restriction, it just handled by the core libraries in a more automatic way and in some cases using ugly hacks to prevent you app to sigsegv, in C/C++ you just need to be a bit more careful or just use a simple memory manager to keep track of your pointer to do the same thing without the performance penalty
Comment