How would I go about using F# or J# for instance? I'm not sure what to get to grips with in the project's compiler settings.
Is there a sequence of command line steps I could follow to compile a MonoTouch project that I might interpret to replace the C# step but tell the other compiler to use the correct platform details etc?
Thank you.
Unfortunately, no. In the book "Developing C# Apps for iPhone and iPad using MonoTouch" you could see text (proof):
C# Is Currently the Only Language
Additionally, currently, the only .NET language available for writing MonoTouch applications is C#.
Nothing changed since that book publication.
Maxim Korobov is right, MonoDevelop only supports C# when writing for MonoTouch.
But this is not the whole truth: MonoDevelop also has (preliminary) support for Portable Library Projects (PLP). What this means is that you can create and compile PLP projects in Visual Studio (in any language Visual Studio supports for PLP projects), and then reference that library in MonoDevelop. Just have in mind that the PLP support is preliminary right now, and you might run into a few bumps on the way.
Related
When I created project in VS2015 Roslyn is added by default, and I am also using Resharper in my project so can anyone help me to understand any advantages of Roslyn vs Re-sharper
Roslyn is CaaS (Compiler as a service) and enables several features in VisualStudio and additional extensions that can be installed. ReSharper doesn't use Roslyn, but has its own model for code analysis that already serves for over a decade.
Here is a comparison matrix:
https://www.jetbrains.com/resharper/documentation/comparisonMatrix_R2017_1_vs2017.html
Roslyn is the C# compiler and the default C# IDE features. You cannot have a C# project without Roslyn. Resharper adds more C# IDE features (some of these overlap with the default).
I have developed a .NET 4.5 application using WinForms. I want my application to run not only on Windows, but also on Linux, so I decided to port it to Mono.
However, I can't find any information on how to use Visual Studio for Mono. I don't want to switch to MonoDevelop, since VS provides much of the functionality I want and I am already familiar with it.
There apparently used to be something called Mono Tools for Visual Studio, which David Lively insists works on current VS editions, but I don't want to run an extension that was deprecated 3 years ago. I don't even know where to download the extension - it redirects to Xamarin, and Xamarin seems like not what I want because while it mentions VS integration, it forces me to install a bunch of Android and Java SDKs (why?).
As far as I can see, .NET and Mono code looks fairly similar, and there are 3 main concerns:
Making VS use the Mono compiler instead of the C# compiler, so I can tell if non-Windows users can compile my source, and also get notified about missing libraries
Making IntelliSense suggest only Mono-supported things
Making the "Run" command run the application using Mono, not .NET, so I can test it correctly
Is there really no easy way of accomplishing these?
Note: I want to develop Windows and Linux desktop apps, with a WinForms GUI or equivalent only. I am not interested in mobile.
In general, you can just target .NET 4.5 and compile with Visual Studio and the resulting assembly works as-is on Mono (assuming you don't use platform-specific stuff via p/invoke, etc).
Mono's WinForms support isn't perfect though (and nobody actively works on it), so you still need to test by running the app directly on Mono. Missing APIs aren't usually the problem, it's more that the Mono implementation has different behavior/bugs.
Another alternative to WinForms might be Xwt.
We have an existing c# library that we would like to re-use in an IOS application. It looks like this is easily done using monotouch IF we are willing to use monotouch for the entire application. However, we would like to use xcode as the primary tool (and thereby obj-c) since we feel that it for our purposes is more 'clean'.
Looking at stackoverflow and xamarin.com, it looks like it was possible in 2009 using 'monotouch --xcode'. Later posts by Miguel indicates that this is no longer supported even though it is still available in monotouch.
I have tried to make a very simple c# assembly and run 'monotouch --xcode=/projectpath myassembly.dll. I can open the project in xcode 4.2, but any attempts to build it fails with 200+ errors "Apple LLVM compiler 3., Invalid instruction mnemonic 'bl'"
Has anyone made this work recently using xcode 4.* and monotouch 5.*?
I need to compile some mfc code that was written using Visual C++ 6.0 many years ago. I was supposed to be able to choose New->Project->Win32 Application and then in Project->Settings choose "Using MFC as a static library." I'm using the AE version and this could be the reason that this option is not available. So far, the smaller programs compile using the "Use MFC as a shared dll", but I'd like to have or mimic the other option. Any suggestions?
I would guess (not 100% sure, but pretty sure) that the Academic Edition corresponds to the featureset of the Standard Edition of Visual Studio 6.0. If that is the case, that version does not support static linking to MFC:
http://msdn.microsoft.com/en-us/library/aa261791%28VS.60%29.aspx
I would suggest upgrading to one of the new Visual C++ Express products. They're free, plus you'll get a newer compiler that's free of many of the restrictions you have with the older package.
Edit
The commenter below correctly mentions that the Express editions don't come with MFC, so I guess your option is to either link to MFC dynamically or upgrade to a version that supports static linking.
If you don't absolutely need static linking for some reason, I suggest dynamic linking. VC 6-era MFC libraries have been part of the O/S for ages, so you'll actually be building smaller executables and shouldn't have any redistribution issues by doing so.
Does any one know in which programming language were Google Talk application developed.
yes am asking about the windows client application. :)
http://www.google.ro/talk/
googletalk.exe -> Compiled with: Microsoft Visual C++ 7.0 [Debug]
gtalkwmp1.dll -> Complied with: Microsoft Visual C++ 7.1 DLL
So GTalk is written in C++
You'll find http://www.peid.info/ pretty useful for this kind of stuff.
According to Steve Yegge, Google is using C++, Java, Python, and JavaScript. So the answer would be C++ :)
Google released an open source library for Google Talk called libjingle, which is written in C++. So logically, the Windows client would probably be C++ too.
Do you mean the client side, or the server side ? The talk protocol is Jingle and libraries are available in C/C++/Java.
Ideally the protocol would be language independent, and consequently both sides (client and server) would not be constrained to a particular language.
According to this Google-talk Wiki, it uses libjingle which they've implemented in C++. However, a company as big as Google is big enough to develop their own in-house compilers with support for whatever dialect they prefer. This would be a sensible thing to do for Google, to have something which could be compiled for every operating system that they want to support.
I don't have Google-talk but I checked the binaties of Picasa, another Google application. It mentions the Visual C++ Runtime Library so I guess I'm wrong and Google is probably just using Visual Studio instead.
In general, C++ is a platform-independant language, making it the most appropriate language to use to write new projects. However, depending on the desired functionality, you do need the proper libraries for all the platforms you want to support and make sure they all expose the same methods.
Java generates platform-independant binaries. As such, it's more powerful than C++ but those binaries depend on the Java Virtual Machine, which reduces their performance. This makes them less qualified.
There are plenty of other languages that could have been used but Google is most likely using a language that supports as many platforms as possible. (Including the future Google Chrome Operating System.)