I am curious to find out more about this language

Hi I am completely new to this language and I had some questions in mind.

  1. Is this a compiled, statically-typed language?
  2. Does it support multithreading?
  3. Can this language be used for low level programming such as designing an operating system?
  4. Does it have reference counting or CG or it has non of that?
  5. Does it have its own native GUI application builder for both Windows, Linux and Android?
  6. Is this language easier than C++ and Rust?
  7. Is it faster, slower or about the same speeds as C++ and Rust?
  8. Is this more cross platform friendly where I can write once and run anywhere (for iOS and Android and perhaps even Linux) compared to C++ and Rust?

I’m surprised no one has answered you yet. Here’s my take:

  1. Yes, it has excellent support for types and compiles. It can, however, also be used for scripting.
  2. Yes, the .NET runtime supports multi threading, and all languages on top of it can utilise that support.
  3. No, you’d need a language without a VM runtime. I know there are exceptions, but in this case I’d still say no you can’t.
  4. It has a generational GC.
  5. Maybe Mono has that, using Windows Forms. That ui library has been ported to the precursor of the current preferred open source .NET implementation, Mono.
  6. Yes, but depending on your knowledge and background, you may find functional programming to be an initial hurdle to get past. If you stick with it, though, you’ll find F# to be 10x as productive as C++ or Rust. If you do need low level support, F# can interop with C through a mechanism known as P/Invoke.
  7. Nothing beats C++ and Rust for raw computing power. You’ll find, though, that you can achieve a good enough level much more quickly with F#, leaving you much more time to optimise the parts of your solution that actually need optimising, than you would if you code everything in C++.
  8. This is difficult to answer. It depends on what kind of code you want to reuse on different platforms. Perhaps if you share more about what you want to do, then we can answer better. I’d say, though, that code written in a language that runs on a VM is easier to port to another platform, provided that the VM is available on that platform.
1 Like