That said, please, if you're a .NET developer who's considering creating and selling a commercial program there are programs out there like .NET Reflector (FREE) which can easily disassemble and display your code in seconds.... Do yourself a favor and look into obfuscation software for .NET which will atleast make it harder to disassemble and will, for the most part, stop the casual hacker from viewing your code.
I appreciate all of the positive feedback I've gotten from everyone here and I'm moving forward with the GCS program...in .NET. I am going to release it as open source but I'd like to get more of the development out of the way before I start getting other people involved. I haven't had much success with multi-developer situations and I'd like to get my "big ideas" done before letting everyone else have at it.
Thanks!
Comments
I didnt want to start a java vs. c discussion. I dont know (and mind) wether decompiling c or java is easier.
not really, de-compiling was always possible - no closed source issue.
there is a simple workaround - nop il command
the nop command is one way only :)
when i compare java and c# i still prefer c#.
when i look at the ide, then i prefer eclipse ...
Mono may be libre (it is GPLed), it still isn't a good idea (IMO) because the language itself is patented. The Community Promise patent license may change in the future and you may not be able to use the applications you wrote against it. Software patents are WRONG!
when i read the java licensing in the past then i read the explicit license grant.
now it is min or more the oracle from delphi.
there is also a license grant from microsoft.
for me writing software for money gpl is a no go.
i am not hw but sw only.
i have seen to many license changes in the past.
and the only to say is: i need a written permission when it comes to licensing.
opinions do change over time.
robert
Mono is a catch-up project, it is more of an open source port of a patented language developed by a company with no respect of the open-source developers. See http://www.the-source.com/2010/07/rms-on-net-and-mono/ and http://www.mono-project.com/Licensing .
Also, mono isn't a graphic toolkit, it sometimes acts like a wrapper (it depends on gtk+ or qt on Linux). There is a visual & performance hit. Adding abstraction layers in a graphic stack is always a bad idea, the closest to the hw you are, the better.
Really, I just wanted to point out that Qt is now fully libre and community-oriented (see the Qt gitorious page). Also, Qt is much more featureful than mono is. OpenGL, Webkit (chrome and safari's html renderer) and now, declarative UIs (design your interface in gimp or photoshop, import it and define how things interact). It is also actively tested by Nokia and thousands of users. Mono isn't that used.
I've been using Qt for a few years and really, portability is as simple as recompiling on the platform you want.
As for the ECMA, Qt isn't a standard but C++ is. Qt is a C++ framework ;)
there is mono - and you can compile it where you like. a few months back i cross compiled mono for arm.
it simply works - i took the server part and voila it was running on top of linux.
and c sharp is an ecma standard.
years ago i walked around qt because of the licensing - way to expansive.
you are a one-eye only advokat - being blind on the right eye.
robert
robert
I will definitely have a look at Qt
Brakar
So, if you look for an easy-to-use, easy-to-learn, easy-to-debug and yet extremely powerful (as in, you are not bound to a platform or an high level API), you may want to try the C++ framework called Qt (pronounced cute). It has been acquired by Nokia recently and is totally libre (free as in beer and freedom). The Qt creator is a great IDE with autocompletion and loads of nice features, but you can program in Qt with virtually any editor (there is a visual studio integration plugin if you want).
As you said, the C++'s learning curve is steep, it isn't the case with Qt, I assure you you'll understand how it works and be productive in less than a week. It will only take you a few hours if you're already familiar with OOP and if you understand the signal-slot communication paradigm.
Supported platforms:
- Desktop: Windows, Mac OS, Linux
- Mobile: Symbian, maemo, meego (the OS from intel and nokia). Android and IPhone ports are on the way but shouldn't be released for at least a year.
Some videos about Qt:
https://www.youtube.com/watch?v=p0xiKBEx8RA - An introduction to Qt (let you know what it is)
https://www.youtube.com/watch?v=NEVrwYAAUvU - animated interfaces (great for cellphones)
https://www.youtube.com/watch?v=MXS3xKV-UM0 - 3D world and widgets (it's a old demo to show you can mix everything together in Qt)
You'll find everything here: http://doc.trolltech.com/4.7/
What I like about vb.net is primarly the ease of use, easy readable code, syntax checking, error checking and help-system. (Beside it is free).
I have been thinking of moving to a different plattform, but I must admit I am a bit scared with regard to the steep learning curve for C++ Besides, I don't know if there are other free programming systems which offer the same kind of assistance to the programmer as .net does. Any thoughts or suggestion for what would be a good next programming system?