• ベストアンサー

Perl/Tk使う利点は?

Perl/Tkを使うとGUIアプリが作れるそうですが、、、、そこで質問です。 (1)C++、Java、Delphiなどではなく Perl/Tkを使う利点はなんですか? (2)Linux、Windows間での移植性はどうですか? (3)Perlなので、やっぱり遅いのでしょうか。

  • Perl
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.1

(1)Tk のシンプルなウィジェットはすぐに使い方を覚えられるということもありますが、 それ以上に Perl の高度な文字列処理(正規表現など)や拡張ライブラリを 使えることが大きいと思います。 逆にデメリットとしては、 ・GUI ビルダが標準ではないのでウィジェットの配置が面倒 ・単純なウィジェットしかないので、複雑なことをしようとすれば 結局 Java や Delphi の高級なウィジェットが恋しくなります。 テキスト、キャンバスウィジェットは Tk の中では気が利いていると思います。 (2)Gtk+ や Qt など他の Linux 生まれのツールキットとの組み合わせに比べれば 歴史も長く枯れているだけに移植性も高いと思います。 (3)プログラムの性質にもよりますが、多数のウィジェットを生成したり グラフィックをばりばり描画しようとするとやはり遅くはなります。 起動は相当待たされます。 ただし、いったんウィジェットが配置されてしまえば、 応答はそれほど遅くは感じられないのではないでしょうか。

Scholes_B
質問者

お礼

明確な回答ありがとうございます。

その他の回答 (1)

回答No.2

1 Perlの特徴が生かせるなら利点になるかもしれませんが、  本格的なGUIには向かないと思います。  Perlの利点といえば、テキスト処理関係に強い。  簡単なものであればプログラミングが楽。  の二点があげられますが、Tkはソース書くのが面倒なので、  ごく簡単なもの程度が対象になると思います。  (つまり、Perlでプログラミングしたくて、かつGUIがほしい場合の選択肢) 2 OSに依存する処理を使わなければ移植性は高いです。  が、個人的意見としては、各OS独自の機能を使った方が  高度なものができるでしょうし、また楽になると思います。  (結局、移植性が損なわれる場合も多いです。) 3 遅い遅いと言われるほど遅くは無いです。  個人的にはJAVAの遅さの方がイライラします(^^;  もっとも、VC/C#/Delphiに比べると遅くなるでしょう。  (プログラムがどの程度大規模であるかによっても当然変わりますが) 他の言語が使える場合にはなかなかPerl/Tkの利点は見つかりません(苦笑) 「簡単なものは非常に楽にできて、かつ難しいこともできる」 というPerlのスローガンのうちの難しいことに属するように思います(GUIは)。

Scholes_B
質問者

お礼

こちらも的確な回答ありがとうございます。 明確に回答をもらえることって珍しいので、嬉しいです。(もっとも、こちらの質問に問題があることも多いのですが。) Javaは、妙にひっかかるというか遅いですね、、。

関連するQ&A

  • perl/tkを使って作ったGUIを実行すると。。。

    perl/tkを使って作ったGUIを実行すると、DOS窓が開いたままの状態です。 GUIを閉じるとDOS窓も閉じます。 GUIを実行中、DOS窓が開かないようにできないのでしょうか? perlのバージョンはv5.8.8。 osはxpです。

    • ベストアンサー
    • Perl
  • Windowsでperl/tkに挑戦

    windows 98SE 上で perl/tk を使って GUI プログラミングに挑戦!と思ったのですが、 MainWindow が出る前に、必ず DOS窓が一瞬現れて消えるのが、どうも気になります。 この DOS窓を出さない方法はあるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • perlのGUIは?

    perlのGUIはperl/tkしかないんでしょか? perl/tkは結構使われているんですしょうか? 教えて下さい~。

    • ベストアンサー
    • Perl
  • Perl/Tkで、Entryが上手く扱えません

    GUIプログラミングを始めようと思い、Perlを少しかじっていることもあり、Perl/Tkを選びました。CentOS5にソース(Tk-804.027.tar.gz)からインストールを行い、オライリーの「入門Perl/Tk」に沿って勉強しています。 順調に各ウィジェットを使えていますが、Entryに関しては上手くいっていません。 以下のようなプログラムで問題が起こります。 01 #!/usr/bin/perl -w 02 03 use Tk; 04 05 $buffer = ""; 06 07 $top = MainWindow->new(); 08 09 $top->Entry( -textvariable => \$buffer )->pack(); 10 $top->Button(-text => "EXIT", -command => sub { exit })->pack(); 11 MainLoop; 状況としては、9行目で作成されるエントリが文字入力を受け付けてくれないのです。 しかし、10行目のボタンを作成するプログラムを削除すると入力を受け付けてくれます。 widgetコマンドで見られるサンプルも一部は入力できますが、すべてのエントリに入力できるものはありませんでした。 どなたか原因のわかる方、よろしくお願いします。

  • FedoraCore1で perlのTkをインストールできない

    WindowsのActivePerlは何の意識もせず、Tkが使えましたが、FC1でTkを使おうと、 perl -MCPAN -e shellで cpan>install Tkとしましたが、 途中でエラーになります。 Can't stat /root/.cpan/build/Tk-804.027 (そのようなファイルやディレクトリはありません。 /usr/lib/perl5/5.8.3/CPAN.pm line 3947 CPAN.pm: Going to build N/NI/NI-S/Tk-804.027.tar.gz PPM for perl5.008003 Test Compiling config/signedchar.c /usr/bin/perl is installed in /usr/lib/perl5/5.8.3/i386-linux-thread-multi okay Test Compiling config/Ksprintf.c Test Compiling config/tod.c Test Compiling -DTIMEOFDAY_TZ config/tod.c TZ gettimeofday() Cannot find X include files via /usr/X11R6/include Cannot find X include files anywhere at ./myConfig line 332. Compilation failed in require at Makefile.PL line 36. BEGIN failed--compilation aborted at Makefile.PL line 38. Using -L/usr/X11R6/lib to find /usr/X11R6/lib/libX11.so.6.2 Running make test Make had some problems, maybe interrupted? Won't test Running make install Make had some problems, maybe interrupted? Won't install 他にインストールする方法はないのでしょうか?

  • perl Tk を使ったWindows向けのGUIのスクリプトをpar

    perl Tk を使ったWindows向けのGUIのスクリプトをparモジュールをつかってEXE化 しました。作成されたEXEを実行するとDOSプロンプトが開いてしまうのですが、DOSプロンプトが表示しないようにする方法ってありますか?

  • VineLinux用の Tk-800.024バージョンを取得したい。

    VineLinuxの環境で、Perl5.6.1で Tkを使おうと考えておりますが、 Tkがインストールできなくて困っております。 perl -MCPAN -e shellで cpan>install Tk としたら、Tk-804.027がダウンロードされて、これをmakeしようとして失敗しております。 この Tk-804.027はPerl 5.7.0以上でないと動作しないので、 エラーが出ているみたいです。 uname -aで次のように表示されました。 Linux 2.4.19-0vl26 #2 2003年 1月 22日 水曜日 03:10:41 JST i686 unknown Windowsでは Perl5.6.1でTk-800.024がインストールされて動作していたので、 VineLinuxの環境でも Tk-800.024をインストールしたいのですが、 ダウンロード先が見つかりません。 探すのが下手でどこを見に行けば良いのでしょうか?

    • ベストアンサー
    • Perl
  • Java言語の利点の一部として以下のものが考えられると思うのですが,それぞれの利点のその理由を教えて頂きたいです.

    Java言語の利点の一部として以下のものが考えられると思うのですが,それぞれの利点のその理由を教えて頂きたいです. 1.ネットワークプログラミングに適している 2.可読性が高い 3.GUI開発に適している

  • GUIアプリスタート後コマンドプロンプトのウィンドウを隠したい

    コマンドプロンプトから次のようなコマンドを入力して、 GUIアプリ(スクリプト)をスタートさせています。 (Perl/TkによるGUIアプリが起動します)    perl hoge.pl ここでhoge.plが立ち上がった後はコマンドプロンプトの 黒いウィンドウは目障りで出来れば消したいのですが そんなことはできるのでしょうか? どなたかお分かりになる方いらっしゃいましたら お教え願えませんでしょうか? どうぞよろしくお願いします。

  • perl/tkで日本語を表記したいのですがうまくいきません。

    perl/tkについての質問です。 ラベルウィジェットに日本語を表記したいのですが、ご存知の方教えて下さい。 -text=>"ファイル名" のファイル名が文字化けしてしまいます。 ------------------------------------------- #!c:\perl\bin\perl.exe use Tk; $top = MainWindow->new(); $top->title("test"); $font=['MS ゴシック', 11, 'normal']; #ファイル名 $lb_f=$top->Label(-font=>$font, -text=>"ファイル名")->grid(); MainLoop(); -----------------------------------------------------------