Search code examples
dartdart-native-extension

Can Dart be used as a general-purpose language?


Dart supports interfacing with the native libraries (Ref: http://www.dartlang.org/articles/native-extensions-for-standalone-dart-vm/). There are some decent libraries available for socket communication, interfacing with databases and dealing with filesystems. Barring desktop GUI applications, I don't see any reason why it cannot be used as a general purpose language. What are advantages/disadvantages of Dart being used as a general purpose language (including performance)?


Solution

  • Yes. Dart can be used as a general purpose programming language.

    Advantages:

    • It's fast, already faster than V8, and catching up to the JVM (Though it starts up much quicker).
    • It's great for scripting on macos/linux. You can prefix a source file with #!/usr/bin/env dart
    • Backed by a large team/company who are developing it in the open, along with an active community.
    • Good documentation and articles.

    Disadvantages:

    • It's new. There are far more libraries available for Java, Python and node.js than for Dart.
    • There are likely to be changes to the core IO libraries before it hits 1.0.
    • No built-in support on cloud-hosting platforms, though there is a heroku buildpack.

    Note you can build GUI applications using dart2js and chrome packaged apps.