SSブログ

IronPython と Firebird .NET Data Provider 雑感 [DotNET]

ここしばらく IronPython で Firebird .NET Data Provider を使った感想を少し。

まず、Firebird .NET Data Provider はよくできてる。
システムを .NET Framework + OSS な RDBMS(もしくは、クロスプラットフォームな RDBMS) で作りたいという強い要求があれば、 Firebird が候補になるのでは。
#そういう決め方をすることがあるのかどうかわからんが。

IronPython について言うと、python のシンタックスと CLR の型システムがうまいこと融合してる。Windows.Forms 等のクラスが、Python のクラスとしてきれいに扱える。非常に感心した。IronPython から使った場合に、もっと制約があるかと思ったが、.NET Framework 由来のクラスを使う場合にも、やりたいことは一通りできた。すばらしい。
言語のシンタックスの部分で CPython と IronPython での違いが少ないのにも驚いた。
CPython で実装されている多くのモジュールが存在しないことを除くと、 clr モジュールが追加されたことと、イベントハンドラの扱い(+= 演算子で追加)の点が CPython と違ってるくらい。
プログラミング言語の挙動で、両者が異なるなぁ、と気付いたのは IronPython では、辞書のキーは追加した順に取得されるけど、CPython ではハッシュされた値の順番、ってことくらい。
(下記ソース参照)

IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.
>>> d = {'Z':'z', 'X':'x', 'Y':'y'}
>>> print d
{'Z': 'z', 'X': 'x', 'Y': 'y'}
>>>
Python 2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> d = {'Z':'z', 'X':'x', 'Y':'y'}
>>> print d
{'Y': 'y', 'X': 'x', 'Z': 'z'}
>>>


IronPython のこの挙動は結構便利なんだけど、この仕様に依存したコーディングだと後々困るかなぁ?と思ってたりする。

IronPython を実際に使いこなそうとすると、(言語シンタックス上の)Pythonic な文化と、(ライブラリの).NET な文化の両方を理解し混ぜ合わせないといけないので、その点が一番の難関かなと思う。
僕の場合は主に、「XXXコントロールの使い方がわからないー」とかでの悩みが多かった。
ただ、慣れてしまうと、IronPython でコーディングって C# や VB より直感的に書ける。

みんな、もっと使えばいいのに。


nice!(0)  コメント(6)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 6

Auststeend

Propecia Scalp Bumps Buy Orlistat Nyc <a href=http://tadalaffbuy.com>generic cialis overnight delivery</a> Cialis No Me Hace Nada Viagra Hombre
by Auststeend (2019-04-21 14:15) 

LesOwnems

Which Erectile Drug Is The Cheapest Canadian Cialas Without <a href=http://antabusefast.com>antabuse greece</a> Bactrim No Prescription
by LesOwnems (2019-06-02 13:25) 

LesOwnems

Photo Levitra <a href=http://leviinusa.com>order levitra without a prescription</a> Macrobid 100mg On Sale
by LesOwnems (2019-06-16 14:28) 

LesOwnems

Acheter Viagra Belgique Sans Ordonnance Side Affects Of Cephalexin <a href=http://brandcial.com>cialis without a doctor's prescription</a> Viagra Ohne Rezept Stuttgart
by LesOwnems (2019-06-30 08:20) 

Auststeend

Levitra Caratteristiche In Farmacia Viagra 25 Mg <a href=http://orderciali.com>buy cialis</a> Amoxicillin Overdose Cats Can I Crush Amoxicillin
by Auststeend (2019-07-13 13:27) 

LesOwnems

Online German Pharmacies <a href=http://cthosts.net>buy cialis</a> Buy Periactin 4mg Acheter Baclofene Sur Internet Drug Interaction Between Keflex And Miralax
by LesOwnems (2019-07-14 03:06) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0