Announcement

Collapse
No announcement yet.

Microsoft Visual Studio 2015 Supports Targeting Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #71
    Originally posted by zezba9000 View Post
    Python is crazy slow from what iv'e seen, there are benchmarks out there. Python is good for simple apps, scripts or apps that don't need to do heavy calculations. Deluge is a good example and is what I use for a torrent app.

    If you want more performance but still need python I think there are options like IronPython but I don't use python so idk.

    Java is pretty fast but its not Open Source nor does it include custom struct/value types or operators which is a huge issue for me. At this point or in the near future I don't see what Java does C# doesn't. I only use Java for Android but other then that I don't have any value for it.
    Any language is valuable when used well. I'm not a Python fanatic.

    But to be fair, for decent performance and Python you have two options:
    1. PyPy http://pypy.org/ is, as far as I know, the fastest Python implementation. It's compatible with most Python programs and runs on Linux. (Don't confuse it with PyPM, the Python package manager.)
    2. Write your application in Python, benchmark it, and replace the slow parts with foreign-function-interface (FFI) calls to C code. The NumPy high performance numeric computing library for Python does this already.

    I use Java professionally. It's mediocre.

    Comment


    • #72
      Originally posted by zezba9000 View Post
      For C# projects after things load Intellisense is super fast. For C++ yes its a bit slower (maybe someone knows why?). .
      Because C++ is awful to parse. I like c++ but it's true, it's a syntax really hard on parsers because macros, templates, source only includes (no modules).
      Basically parsing is almost as hard as doing a full compiler. So you get partial code completion (QtCreator) or slow/buggy completion (Intellisense, but it's getting better), or you use a compiler modular enough and use its output (llvm) but even then it will be slow compared to a much more easily parsed language like C#.

      Comment


      • #73
        Originally posted by rabcor View Post
        I'd actually love to see Visual Studio on Linux, it's a very nice IDE, i'm happily living without it but I wouldn't hesitate to jump right back to it.
        Design and feature wise, Visual Studio is king. I have no idea how people lived with GCC as long as they did, but at least LLVM/CLANG is going to solve that problem in a year or two...

        Originally posted by gotwig View Post
        As UE4 C++ Programmer I have to say VS is the worst IDE in the world. Slower and more annoying than even Eclipse.
        Funny story: I work on three projects, all on the same host PC. One is developed with MSVC, one with Eclipse, one with GPS (choice of language was not my choice). MSVC is the one I'm most productive with; yes, it's a bit slower, but you can do a lot more a lost faster with it.

        Originally posted by c117152 View Post
        Agreed. Nothing beats the MS debugger.
        Pretty much this. Its very powerful if you know how to use it right.

        Originally posted by erendorn View Post
        Because C++ is awful to parse. I like c++ but it's true, it's a syntax really hard on parsers because macros, templates, source only includes (no modules).
        Basically parsing is almost as hard as doing a full compiler. So you get partial code completion (QtCreator) or slow/buggy completion (Intellisense, but it's getting better), or you use a compiler modular enough and use its output (llvm) but even then it will be slow compared to a much more easily parsed language like C#.
        Pretty much. I also think that's why a lot of people HATE C++ these days, because the language simply hasn't aged well, syntax wise.

        Comment


        • #74
          Originally posted by zezba9000 View Post
          Java is pretty fast but its not Open Source nor does it include custom struct/value types or operators which is a huge issue for me. At this point or in the near future I don't see what Java does C# doesn't. I only use Java for Android but other then that I don't have any value for it.
          Not open source? Java, its standard library and its r-i virtual machine are more open source than .net will ever be. Ever heard of OpenJDK?

          About overloadable operators, of course Java doesn't provide them as it's not a language intended for obfuscated code contests. Other than that, it's not a surprise you can't see anything in Java that c# hasn't: remember the latter was designed as a clone of the former, but without its platform independence capabilities

          Comment


          • #75
            Originally posted by zezba9000 View Post
            I'm guessing you've never head of .NET Core (aka CoreCLR) supported by Microsoft and fully Open. CoreCLR is about 30% faster then .NET 4.5.2 and in some tests and way faster then Mono but also runs on Linux and OSX. More platforms are sure to come. So the interest comes from having a fully portable runtime and libraries that run on all major platforms. .NET is no longer Windows-Centric as you put it.
            CoreCLR (Runtime): https://github.com/dotnet/coreclr
            CoreFX (Frameworks): https://github.com/dotnet/corefx
            Roslyn (C# Compiler): https://github.com/dotnet/roslyn
            Yeah, that's why I was talking about incomplete implementation. The full .net framework is very far from being cross-platform and open source, and that's the reason it's well behind all those existing alternatives in the linux world.

            Comment


            • #76
              Why would we want Visual Studio when there are tons of brilliant open source IDEs already available?

              Comment


              • #77
                Originally posted by zezba9000 View Post
                FYI MonoDevelop does support C++, not sure how it compares to others as C# is my focus.
                Normally when you use native code (write plugins) with Unity you need to be using the native IDE for that platform xCode, Android Studio ect.

                Yes iv'e heard good things about KDevelop for C++ and that is probably a good choice for Linux idk about Windows. I use Visual Studios for C# and C++ on Windows and MonoDevelop for C# and C++ on Linux and OSX.
                For Visual Studios 2013 Community Edition you need to make sure you're on Update 4. Update 5 fixes bunches of stuff but isn't out yet. Although if you use Unity3D and target WinRT platforms you need to be using Update 5 CTP3 until the real thing comes out.

                - UI is slow the first time you open the program. Menus and Windows get compiled and loaded as needed. After that things you keep using run fast. For C# projects after things load Intellisense is super fast. For C++ yes its a bit slower (maybe someone knows why?). I'm a Unity3D developer and thus Visual Studios is far more productive than anything else. Personally I would never want to write a large app without memory safety.

                In short when it comes to C++ you have a ton of options and only a handful work well is my guess. For C# you only have two and both those options work very well.
                No, MonoDevelop does not support C++, I dont know where you heard that:
                With the latest Xamarin Studio (relabeled from MonoDevelop 4.0), I cannot open .cproj projects anymore that worked in MonoDevelop 3.0.4.7. The feature list says it's not supported on Windows but i...

                Comment


                • #78
                  Originally posted by corzo View Post
                  Not open source? Java, its standard library and its r-i virtual machine are more open source than .net will ever be. Ever heard of OpenJDK?

                  About overloadable operators, of course Java doesn't provide them as it's not a language intended for obfuscated code contests. Other than that, it's not a surprise you can't see anything in Java that c# hasn't: remember the latter was designed as a clone of the former, but without its platform independence capabilities
                  #1 .NET is NOT a lang, its a runtime and is fully Open Source under Apache-2. Get over it people things change.
                  #2 C#, VB & J# are also all fully Open Source. Again get over it.
                  #3 Java not allowing proper Vector and mathematical types is just plain blindness on there part.
                  #4 "Java" as a lang is NOT "Open" and is why Oracle has tried to sue others for using it, like Google.

                  Comment


                  • #79
                    Originally posted by gotwig View Post
                    No, MonoDevelop does not support C++, I dont know where you heard that:
                    http://stackoverflow.com/questions/1...xamarin-studio
                    Yes it does. Have you ever used it? God how many brain cells do people have on this forum... this is crazy stupid.
                    Just install it. Works on OSX and Linux.

                    Comment


                    • #80
                      Originally posted by corzo View Post
                      Yeah, that's why I was talking about incomplete implementation. The full .net framework is very far from being cross-platform and open source, and that's the reason it's well behind all those existing alternatives in the linux world.
                      You don't want the "full-.NET" on Linux or OSX as it was never designed for that. .NET Core as it is now is the "FULL" future .NET runtime with a faster JIT, better 64bit support and ARM support. Both the Windows (packaged installer version) of .NET and .NET Core (packaged with your app version) will both share the same runtime and JIT ect. .NET Core FX (aka the framework) will be fully portable and designed to run on Windows, Linux, OSX, ect. This is better not worse.

                      So no you're wrong, the .NET framework is already there with Mono but this is not a good approach to a framework. Thus CoreFX (.NET Core Framework) is VERY cross platform. Just go look at there github pages already.

                      Comment

                      Working...
                      X