AccessとLinux

中小企業での販売管理プログラムの作成についての所感

VB.net

2005年11月23日 23時35分24秒 | Weblog
VB.netを使うことにしたのは、まだ理由があります。

再配布可能な給与計算ソフトを書くのに、データベースはどうしようかと思っていました。Firebirdが軽そうで良いかなと思っていましたが、Delphiなら接続性に問題が無いのでしょうがVBだと、どうも良くありません。元々、ODBCドライバーしかないのですが、日本語の処理がイマイチで文字化けしてしまいます。
Firebirdがそんな状態なので、新しくでたばかりのPostgreSQL8.1をインストールしてみました。インストールしてビックリ、なんとVB.net用のネイティブドライバーがついているのです。Access+ODBC+PostgreSQLで販売管理プログラムを書いていた時も常に思っていたのですが、「ネイティブドライバーを使ったらどんなに速いんだろうか!?」。そのネイティブドライバー(Npgsql)が標準でインストールされるんです。もちろんODBCドライバーもインストールされます。
これでVB.net+PostgreSQLで決まりです。

実際、使ってみるとOleDbConnectionはうまく動作しませんでした。コマンドでSQLを直接して指定する方法ではうまくいっています。もう少し使い込んでみないとなんとも言えません。

いやいや~、それにしてもすごいぞPostgreSQL!

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

オブジェクト指向言語3

2005年11月23日 23時20分05秒 | Weblog
最近の言語は大抵オブジェクト指向で、そうでないものの方が少ないくらいです。そのなかで開発言語の定番VisualBasic6はオブジェクト指向言語ではありません。
C++は「クラス付きのC」と言われます。VB.netは「クラス付きのVB」です。まだ、使い始めたばかりですが、VB.netはなかなかのもんです。
オブジェクト指向は確かにきらいなのですが、開発環境でかなりサポートされるので、いまのところそれほど難しいという印象はありません。入力支援機能がすごいんです。
全く何も入力していない状態でShift+Enterをたたくと、記述できる単語がズラッと並びます。一つを選んで、ピリオドを入力すると、また、単語がズラッと並びます。また選びます。この連続でプログラミングを書いていくことができます。また、記述できる単語を間違えれば即座に波下線が引かれます。至れり尽くせりです。
継承についてもフォームの継承ができます。フォームのテンプートを作っておいて、コントロールを追加していくなり、イベント処理を個別に記述していけば、プログラム全体としてフォームの形式を統一することができます。これは便利です。
何と言ってもすごいのは、これまで、VisualBasicはC++と比べると遅いと言われていたのですが、C++と同じクラスモジュールを使うことで、C++なみの速度が期待できるということです。(これは間違っているのかもしれませんが、クラスの使用方法はVBもC#,J#,C++も同様ということなので、速度も同様なのだと考えています。実際、どうなんでしょうか?)


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

オブジェクト指向言語2

2005年11月23日 22時59分21秒 | Weblog
オブジェクト指向言語がなぜ嫌いかというと、理由ははっきりしています。多重継承とメソッドのオーバーライドが言語を非常に複雑なものにしているからです。
そう信じて疑わないのですが、それを確信するのがこれです。
http://www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html
C++の生みの親自身がそう言っているのです。(この記事については本物なのかどうかよくわからないところもありますが、実際現実が記事通りになっているのなら、C++が言語として問題があるというのも現実でしょう。)
WindowsNT4.0の開発ドキュメントである「闘うプログラマー」を読むと当初、Cで開発されており、途中C++に切り替えたことでしばらく混乱がつづいていたような記述があります。WindowsNT4.0を開発するような高級プログラマーにしてもC++は混乱を生むような仕様になっているのです。

なら、Cはどうかというと、CはC++よりはるかにわかりやすいです。クラスのメソッドを使わず、直接APIを呼び出してプログラムを組んでいきます。そこまでは良いのですが、どうしてもやりたくないことがあるんです。make file の管理と再描画イベントの処理です。この二つがどうしても面倒でCは使いたくないんです。だいたいこういったことは言語側で処理してもらいたい。実際、C++でもVisualBasicでもこういった処理をユーザー側ですることはありません。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

オブジェクト指向言語1

2005年11月23日 22時36分13秒 | Weblog
オブジェクト指向言語はどうもきらいです。

Windowsのプログラミングの勉強といえば、やはりCから入るのが順序でしょう。カーニハン & リーチーの「プログラミング言語C」を読み、 Charles Petzold の「プログラミングWINDOWS」を読んで、個別の使用言語の習得に入るのが常道というもんです。
私の場合、1996年頃だったのですが、VisualBasicがまだVer.4の頃です。まだまだ、VisualBasicは開発言語として「おもちゃ的」な評価を受けていたころでした。開発言語としてVisualC++で作るのが本当だ、という雰囲気がありました。
そういう状況だったので、「プログラミングWINDOWS」を読んだ後、B.ストラウストラップの「プログラミング言語C++」を読みました。はっきり言って良くわかりませんでした。それでも定番開発言語なのでTurboC++を買って、何とかマスターしようとしました。これがまた、よくわからない。VisualC++よりTurboC++の方が安かったのでとりあえず、Cの勉強もかねてTurboC++を購入したのでした。仕方がないので、VisualC++ならまだましかと思い、今度はVisualC++を購入。これがまた、わからない。
この頃にはVisualBasicのバージョンがVer.6まで上がって、非常に評価が上がっていました。Windows95が発売された時、マイクロソフトの説明会を聞きに行ったのですが、この時、既に「開発言語としてC++は勧められない、VisualBasicを使った方が良い。」と担当者が言っていたのが妙に印象に残っていた時期でした。
結局、VisualC++は難しくてマスターできないのであきらめてしまい、VB+VBAを勉強することにしました。
この後、販売管理プログラムを自作するにはデータベースをどうするかということがあり、Linuxを知るまで待たなければなりません。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

久しぶりに投稿します

2005年11月23日 21時59分59秒 | Weblog
久しぶりに投稿します。
最近、給与計算ソフトのシャアウエアを書こうと思い、色々調べていました。
当初、FirebirdとVB6で書こうと思っていましたが、結局、PostgreSQL8.1とVB.net2003で書き始めました。
VB.netはオブジェクト指向言語で使いにくそうという印象がありVB6と思っていましたが、「来年、Windows Vistaが出るのに、今更VB6でもあるまい。」と思い、VB.netの本を3冊買って読みました。
最初の2冊は何てこともない、Tips集ですが、最後に買った「だれも書かなかったVisualBasicプログラミング入門」は随分勉強になりました。VB.netを始める人の必読書だと思います。VB.netでプログラミングするのならこう書くべきだということがしつこく書いてあります。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする