light weight language go
LL ってなんぞや?
メモリが小さくて、実装しやすい。文法最小限、実行速度らしい。 でも日本だと、インタプリタ、動的型、関数オブジェクト
Python/Ruby/Perl Haskell/Scala とか
GO って?
-単一マシンでコンパイルは安 -依存を簡単に解決 -強い型 -コンパイル可能
強い型、GC、並列プログラミング、ビルドやらなにやら全部入り。
関数形か?
- 文法が簡単(A tour and go 見れば習得できる)
- 型推論で短いコード
- ライブラリの呼び出しが簡単(ディレクトリのパッケージ、リポジトリの直接指定等)
- 実行が簡単(必要なライブラリの自動取得、高速ビルド、静的実行バイナリ、ビルドファイルいらず)
- 文法最小限
- クラスシステムなし(Interface はあり、自動で実装される。シグニチャ一致を見てる?)
- インタプリタはなし
- 型推論とダックタイプあり
- 関数も第一級オブジェクト
LL じゃないか?
ほかに
関数呼び出しに、go をキーワード突っ込むと非同期になる。 Goroutine は Channel という実装でデータをやり取りする。
GO ツールやばい。標準で入ってる。
build ビルド get 必要なパッケージの取得 install パッケージの取得+ビルド、デプロイ run 動く test テストとベンチマーク gofmt 自動フォーマット(コーディング規約いらず) godoc ドキュメント生成
関数形指向Python
9/25 PyCon イベントあり
python の lambda 話。 クロージャの性質と deepcopy
あえて Python で関数形っぽく書く。 slideshare esehara
そもそも関数形を皆間違える(KSG) 代入の話 = 値渡しと参照渡し 使いこなせている人は少ない。
おまけ
decolator ってキーワードあるねん
こんなこともできるWindowsPowerShell
(株)オンターゲットの柳田さん
LL 祭り初の WPS
Windows 経験は 窓CE のみくらい。 だが、WPS で Webmail みたいなものを作ってる。 Webmail の表示テストツールがWPS。
「メールテスター」というソフト名。
概要
- 窓7 以降標準
- コマンドライン以外に IDE も
- パイプも使える
- .NET が叩ける
パイプを通過するのがオブジェクトであるということ。 UNIX シェルに比べるとここが不思議。
マジで?
$res = ls
とすると、Object[] が入ってて、中身を改めると、
$res[0].GetType()
.NET の FileInfo 型が入ってる。
IE とか自動操縦できる
- COM インターフェースを自由に操作できる。
- Outlook / Excel なんでもあり
画面キャプチャできる
。。。って .NET のライブラリ叩いてるやん。
C# 叩ける(Win32API 叩ける)
普通にウインドウハンドラ拾って中身を操作できる。 てかヒアドキュメントで C# 書ける。
入門
「使う気がない人向けのWindowsPowerShell」 「PowerShell in Action」
A language for the rest of us
matz さん
普通の人の為の普通の言語とは何かについて。
なんで俺ら List 使わないの? LL 2001 MIT で最初の LL を開いた人に聞いた「LL は未定義だ」 Lisp は最強の実験場だ。 最強のDSLフレームワークと言える。 でもいまいち使われない。 -> 普通の人目線がない
言語パワーに関係ない。結局自分のパワーに関係する。
結局モチベーションの問題。 普通の人には、コミュニティ、教えてくれる人というのが重要たる。
その上で皆の言語とはなにか?
1958 Lisp 時代は エリートだけ使えれば良かった 1986 Perl PC が出てきた。書き方を考え始めた。 1991 Python 普通なプログラマが出てきた。 1995 Ruby/Java/PHP/JavaScript 今のプログラマ。
21世紀のみんなの言語って? - 静的形+型推論 - マルチコア - POST PC
言語か、言語処理系の進化にちょうど良い時期ではある。
WebFramework, マッシュアップ, 分散アプリ, 大規模アプリ, モバイルアプリ, フィジカルコンピューティング,
新しい言語の年じゃねえか?