Dart Programming Language

DartはもともとGoogleによって作られたJavascritにかわるWebスクリプト言語ですが、現在はクロスプラットホームの開発言語としてより幅広く使われています。
今回は、しばらくiOS,Androidの開発から遠ざかっていたので、Dart事はじめの意味とデータ処理にかかせないコレクションのコードをテストしました。(Flutterとか行く前に..)
プログラミングとは、シンプルに言えばデータを処理することにつきますが、最近のモダンな言語では「文」でなく「式」で処理する傾向にあると思います。Haskellなどの関数型言語はまさにこういう考え方で作られていますが、MicrosoftのLINQなど言語を拡張した形で使われるものもあります。(下記で以前にテスト)

http://crossframe.iiv.jp/category/linq/

DartはWebの世界をネイティブアプリのようにすべくJavaScriptを大活用したGoogleの思想の延長にある分、あらゆるものが盛り込まれている印象を持ちます。Webプログラミング特有の考え方に非同期というのもがありますが、処理の順序が記述順序にならないことがあります。JavascriptのjQueryをよく使っていたころにそれを痛感しました。いわゆるコールバック地獄というもので、これを解消するたメソッドチェーンなどの手法が使われました。これは「式」の考え方に通じるものと思います。
データの記述や処理を「文」で書きたくない私にとって、Dartのカスケード記述はとても好みです。
ということで、インストールからコンパイルまで試してみました。

https://dart.dev/get-dart

このサイトに従ってUbuntu 16.04にインストールしました。

sudo apt-get install apt-transport-https
sudo sh -c ‘wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -‘
sudo sh -c ‘wget -qO- https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list’
sudo apt-get update
sudo apt-get install dart
echo ‘export PATH=”$PATH:/usr/lib/dart/bin”‘ >> ~/.profile

test.dart

あまり意味のないことをやっていますが、リスト操作のテストです。

実行方法

dart test.dart

実行結果

[Sun, Mon, Tue, Wed, Thu, Fri, Sat]
[Sun, Sat]

起動が遅いのでコンパイルしてみました。
コンパイル方法

dart compile exe -o test test.dart

サイズは、5888536 byte です。

ひとまずLinuxのレガシーなやり方でできることにほっとしました。(古い人間ですね)
個人的には一つの言語ですべてやるというのでなく、目的にあったプログラミング言語・ライブラリを使い分ければいいという考え方ですが、最近はIDEなどの環境を含めての評価になるので、複数の環境を切り替えるよりは一つの環境で、という流れになってくるとこのDartは有力な言語になってきます。

下記SwiftのPlaygroundについてのテストですが、新しい言語ゆえ、バージョンアップにより文法が変わってしまうので、それに適応していくのに手間がかかった記憶があります。

Swift / Xcode playground

Dartもまだいろいろとありそうです。
https://medium.com/dartlang/announcing-dart-2-3-optimized-for-building-user-interfaces-e84919ca1dff

今回のテストで使ったのは

Dart SDK version: 2.12.4 (stable) (Unknown timestamp) on “linux_x64”

です。

まずは第一歩でした。

About

Categories: 未分類 タグ: