Originally posted by BlackStar
View Post
Announcement
Collapse
No announcement yet.
Mono Developers Go Bye-Bye From Attachmate
Collapse
X
-
Originally posted by kraftman View PostLast time some mono fanboys were saying mono is a .Net for Linux, so this is what I was basing on. If it's not that way it doesn't matter overall. It puts it into probably even worse situation, because it won't be so 'attractive' for Windows .Net programmers.
As for me, Mono needs to be compatible to one degree. Like using another non-mainstream compiler, you expect the same results. As is GCJ with Java JRE, or FreePascal compared with Delphi, CLang and LLVM against GCC, as HTML 5 and it's JavaScript to work similarly accross browser. It does not need to be bug-to-bug compatible, but expected behavior. As o today I think the mainstream view of users of Mono. As for wanting to port the desktop application I work on from .Net to Mono, even if Mono supposedly will offer a solution to really run all the fluff needed, I will not do it a straight forward. Not cause of Namespace Patents attack, if this may be the issue for you. But because will look alien like: it uses Ribbon which looks alien on Linux, and it is not fun to look to unfinished Google SoC solutions, it uses WPF animations that depends on video card mature drivers (WPF uses pixel shaders, and Silverlight subset in it have a harder setup to start with). I will likely start with a Gtk# or Qt application and I would embed Mono to expose same functionality. Look&feel is an important matter for an user and I don't want to find all bugs and inconsistencies of every platform, but to use the best frameworks that a specific solution require.
I've told you in other thread cases I use Mono, in general for small tool development and to deploy tools that are well made to run platform independent (in my case to remove Java dependency to move a rendering component. Luckily SunFlow renderer works with IKVM, so will work as packaged by default in Ubuntu and Windows with no extra setup, OS X will need it some settings though).
Comment
-
Originally posted by ciplogic View PostCongratulations for your points and for your contributions! I'm glad you do it more than everything!
As for me, Mono needs to be compatible to one degree. Like using another non-mainstream compiler, you expect the same results. As is GCJ with Java JRE, or FreePascal compared with Delphi, CLang and LLVM against GCC, as HTML 5 and it's JavaScript to work similarly accross browser. It does not need to be bug-to-bug compatible, but expected behavior. As o today I think the mainstream view of users of Mono. As for wanting to port the desktop application I work on from .Net to Mono, even if Mono supposedly will offer a solution to really run all the fluff needed, I will not do it a straight forward. Not cause of Namespace Patents attack, if this may be the issue for you. But because will look alien like: it uses Ribbon which looks alien on Linux, and it is not fun to look to unfinished Google SoC solutions, it uses WPF animations that depends on video card mature drivers (WPF uses pixel shaders, and Silverlight subset in it have a harder setup to start with). I will likely start with a Gtk# or Qt application and I would embed Mono to expose same functionality. Look&feel is an important matter for an user and I don't want to find all bugs and inconsistencies of every platform, but to use the best frameworks that a specific solution require.
I've told you in other thread cases I use Mono, in general for small tool development and to deploy tools that are well made to run platform independent (in my case to remove Java dependency to move a rendering component. Luckily SunFlow renderer works with IKVM, so will work as packaged by default in Ubuntu and Windows with no extra setup, OS X will need it some settings though).
Comment
-
Ok. Trolling aside. What languages/platforms do you recommend one pursue if one is (currently) a C# programmer wanting to write programs for Linux?
I've got 22 years of experience writing software professionally. I've tried and ruled out C, C++ and Java a long time (10+) years ago. IIRC, with C, I miss too many modern language features. Out of necessity (work) I used to be pretty good at C++, but I never *really* got into it, partly I think because I hated the way some things seemed to be bolted on. At the time, I liked Eiffel better, but that obviously never took off. Java seems to go too far in its ideology to be competitive, and could probably use a compatibility break in order to advance. But that's just my guess.
I checked out Vala because of a comment in this thread, and it looked pretty nice, until I saw its generics.
A new language/platform for me doesn't even have to be C-like, but it has to:
Have generics. (Can't decide if I like C++ or C# better in this regard, but I find Java generics horrible.)
Have garbage collection/automatic memory management.
Have a good base class library. (Implementing your own List<T> is fun. For a while.)
Have an IDE with a good UI designer.
Have an IDE (the same IDE as above, mind you) with refactoring support.
It's nice if it
Allows operator overloading. (It is more than syntactic sugar. It helps keep the interface clean)
Allows one to control the memory management in the few cases one needs to.
Oh, and the IDE must be cheap or free.
C#/Monodevelop seemed like a god fit, and I'll miss it if it disappears.
Comment
-
Originally posted by JoachimJ View PostOk. Trolling aside. What languages/platforms do you recommend one pursue if one is (currently) a C# programmer wanting to write programs for Linux?
A new language/platform for me doesn't even have to be C-like, but it has to:
Have generics. (Can't decide if I like C++ or C# better in this regard, but I find Java generics horrible.)
Check
Have garbage collection/automatic memory management.
Qt has several smart pointer classes, like QSharedPointer that can delete the referenced object automatically when it goes out of scope and no other QSharedPointer objects are referencing it.
Have a good base class library. (Implementing your own List<T> is fun. For a while.)
Check, I always use Qt even if I don't write GUI apps just because of the great base class library.
Have an IDE with a good UI designer.
Check, Qt Creator.
Have an IDE (the same IDE as above, mind you) with refactoring support.
Check, Qt Creator, although it is not as good as Visual Studio in this regard.
It's nice if it
Allows operator overloading. (It is more than syntactic sugar. It helps keep the interface clean)
Check
Allows one to control the memory management in the few cases one needs to.
Check
Oh, and the IDE must be cheap or free.
Check
Comment
-
Originally posted by JoachimJ View PostOk. Trolling aside. What languages/platforms do you recommend one pursue if one is (currently) a C# programmer wanting to write programs for Linux?
Oh, and the IDE must be cheap or free.
C#/Monodevelop seemed like a god fit, and I'll miss it if it disappears.
C# generics are closer to Java generics than C++ templates, but with a much more logical implementation. They are very useful but they have limitations (you can't create a generic "Number<T>" like you could in C++, for instance). This is actually a runtime limitation, not a C# one - and Boo works around it by using dynamic code generation.
Comment
-
Well since your prerequisites were mapped 1:1 with what C# offers I'd say it's extremely unlikely that you'd find another language that suits you. For my own needs (as a C,C++,Python developer) I'm becoming more and more interested in Go. It has some of the things you mentioned but lacks generics which seemed like a deal-breaker for you (although there's been alot of talk concerning future implementation of generics in Go). As always, you as the developer is always the best judge of what language works best for you.
Comment
-
@XorEaxEax: Maybe you're right. I was just listing things I tend to depend on, and wasn't really aware of how tightly those preferences knit me to C#/.NET. Actually, I still don't think my requirements are that restrictive per se, but apparently it's a void around C#/.NET.
Go looks really interesting as a language (I especially like its 'implicit' interfaces), but doesn't seem to be support GUI development that much.
Thanks.
Comment
Comment