パスワードを忘れた? アカウント作成
3472 story

C++に対応したKylix 3発表 43

ストーリー by yourCat
C++はじめました 部門より

ryoryoryo曰く、"本家でも紹介されていますが、米 BorlandKylix の新版である Kylix 3 を発表しました。ついに C++ にも対応したようですが、これで Linux プログラマのすそ野が広がるのでしょうか。なお、オープンソースソフトウェア用のOpen Editionも従来通り無償提供され続けるようです。"

待望久しいC++対応版だ。Object Pascalもいいんだろうけれど、やっぱり……ね。Kylix 2 Open Editionは日本語版も用意されたし、今回も期待しちゃおう。

Average曰く、"ただ、ダウンロードページにはまだKylix 3の文字はありませんが・・・" がくっ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • Delphi language (スコア:3, 興味深い)

    by rug (55) on 2002年07月25日 0時04分 (#132530) 日記
    Borland Kylix provides both ANSI/ISO C++ and Delphi language programming
    とありますが、開発環境だけでなく言語の方もDelphiと呼ぶとは知りませんでした。(今までObject PascalまたはDelphi Pascalと呼ぶものと思っていた。)
  • by seldon (5637) on 2002年07月25日 15時38分 (#132967)
    Linuxに商用製品が参入してくる事自体は歓迎すべき事だけど、 Kylixなどの騒がれ方(^^;に比べてgladeなど既存のオープンな開発環境への評価(というか注目度)が不当に低いような気がします。

    もちろんKylixなどの統合開発環境とgladeやgccやvi/emacsなどを使ったツールの集合体ではレイヤが違うという見方もあるでしょうが、 元々Unixでは、一つの大きな統合環境を作り上げるのではなく、個々の機能に特化したツールを組み合わせて同じ事を成し遂げるという思想がある訳で、私はKylixみたいな統合環境にはMultics的な一種イヤらしさを感じます。
    (宗教戦争(^^;が起きそうですが、emacsも同様な感じがするので私はvi派)

    # で、日々gladeとviでXアプリを作ってたりします

    • ちなみに kylix を使われたことありますか? gladeとviでXアプリを作るよりも kylix でプログラムを書いた方が 絶対楽だと思います。 emacs の良さ、 vi の良さがそれぞれあるのは認めますが、 glade と kylix では(残念ながら)勝負にならないとおもいます。
      • by seldon (5637) on 2002年07月25日 18時26分 (#133040)
        Kylix使ってみた事ありますよ。
        Kylix自体が良いものである事は否定しません。

        私が言いたかったのはKylix自体の良し悪しじゃなくて、 他にも良いものもあるのに、商用製品ばかりが「開発環境です」と取り上げられているのは残念だな...と

        glade と kylix では(残念ながら)勝負にならないとおもいます。
        そりゃ「統合環境」という土俵で勝負したんでは元々勝負は決まってるでしょうね。
        gladeはあくまでもUIビルダだから、直接勝負するようなもんじゃない。
        コンビニとお弁当屋さんで勝負して「コンビニは24時間開いてて他にも色々売ってて便利だからコンビニの勝ち」と言っているようなもんで...

        # 喩えが下手だな>私

        親コメント
        • by Average (3404) on 2002年07月25日 19時56分 (#133090) 日記
          オフトピっすが、OS2でDelphi類似のSibylってのを使っているんですけど、メインが486/75MHz,メモリ24MBで頑張っていたときには、デザインだけして、コーディングはvz(DOSのエディタ)でやってました。
          だからDelphiでも本人がgladeの様に使う、と言うので有ればそれもオッケーでしょう。じっさい、使い慣れたエディタでコーディングするのはイイですよねー。
          で、UIビルダー単体として見てもkylixは結構優秀なんじゃないでしょうか。
          --
          -----------------
          #そんなワタシはOS/2ユーザー:-)
          親コメント
        • by G7 (3009) on 2002年07月25日 22時32分 (#133181)
          >gladeはあくまでもUIビルダだから、直接勝負するようなもんじゃない。

          というか、GUIビルダが単体で存在し、コードへの干渉(^^;とは独立しているようなシステム形態だと、
          開発ツールとしての最終的な使い心地は良くない、というのが
          Delphi(系)がもたらす教訓(?)から逆算して言えることなんじゃないかな。

          かといって、VC++みたいに(ぉ)安易に両者の干渉度を上げてしまうのも、駄目だと。

          GUIビルダとソース自動修正機能との係わり合いの「深さ」が程良い、ってのが
          Delphiの存在意義だと思っています。

          あ。ご免。Kylixは殆ど触れてない俺なんで、Kylixがどれくらい悪い(遅いとか)のかは
          見えてないんだけど、Delphi系についての一般論として。

          C++ともJavaとも違う動的っぷりけど、かといってScript言語よりは静的だ、という微妙な位置付けっす>Delphi
          親コメント
          • by seldon (5637) on 2002年07月26日 17時51分 (#133608)
            GUIビルダとソース自動修正機能との係わり合いの「深さ」が程良い、ってのが
            Delphiの存在意義だと思っています。
            その程良いという評価は、開発スタイルによって変ってくるものではないでしょうか?
            GUI系開発をVBとかで始めた人は、Widgetのある所でマウスをぽちっとなとしてウィンドが開いてコード入力できるという所に価値を認めるだろうし、 素のソースから手で作ってきた人にはGUIだけビジュアルに作れれば良くて、裏で良しなにしてくれる部分は少ない方が良いという人いるでしょう(みんながみんなそうだとは言いません)。
            あ。ご免。Kylixは殆ど触れてない俺なんで、Kylixがどれくらい悪い(遅いとか)のかは
            見えてないんだけど、Delphi系についての一般論として。
            もう一度書いときますが、私は「Kylixは良くない」と言ってるのではありません。
            開発スタイルというのは色々あるので、Kylixのような「統合開発環境」だけでなく、gladeなどのツールももうちょっと評価されても良いのではないか。 また、gladeはそもそもKylixのような統合開発環境ではないので、「Kylixに比べて○○の機能が無い」とかいうような不当な評価はやめてよ~。という事でちょっと書いてみました。
            親コメント
            • by G7 (3009) on 2002年08月02日 15時27分 (#138311)
              >素のソースから手で作ってきた人にはGUIだけビジュアルに作れれば良くて、裏で良しなにしてくれる部分は少
              >ない方が良いという人もいるでしょう(みんながみんなそうだとは言いません)。

              ヨシナといってもなあ…

              見た目とコードの繋がる部分ってのは、APIセットだのなんだの単位でいえば、そんなに違わないですよね。
              開発形態ではそうそう左右されないんじゃないかと。

              で、GUI「に」コード「を」ぶらさげるというスタイルで作るほうが、
              GUIアプリにおいては自然だ
              と思うんだよなあ。

              GUIを別途開発する、っていうノリって、ちょっとなんか「違う」ような気がする…んです。

              >gladeはそもそもKylixのような統合開発環境ではないので

              いや、「畑違いだから比較しないでくれ」という考え方のほうにこそ、疑問を感じちゃうんです俺。

              そりゃあらゆるツールを上回る究極の1つのツールってのはたぶん(概念レベルですら)誕生し得ないとは思いますが、
              一方で、あらゆるツールが「それぞれに存在意義がちゃんとある」とは言えない思います。
              あれを使うくらいならこれを使うほうが「(ほぼ)全ての面について」マシだ、という事はしばしば有るはず。

              #そのツールの上で動くエディタの操作感が伝統的vi風であって欲しいと思うかどうか、は別問題です(^^;
              ##delphi系のエディタをvi風にするアドオンを、作った人って居ないかなあ:-D~~~~
              親コメント
  • 遂に出たか (スコア:2, 参考になる)

    by tale (3290) on 2002年07月25日 0時45分 (#132557)

    個人的な興味は、KDE との関係。

    ご存じの通り(知らない?)、Kylix で使われてる CLX ライブラリは、Qt の上に構築されてます。ってことは、KDE みたく透過したりドロップシャドウされてたりするアプリが簡単に作れるようになるのかな?

    • by reon (11166) on 2002年08月26日 23時36分 (#153508)
      Borland提供のランタイムの, Qtインターフェースライブラリが持ってないと無理です。 透過の話しであればアルファでなければ,今月の 日経ソフトウェアの「Kylixでリラックス」の連載記事で 出てましたよ~。
      --

      ★☆。.:*:・"゜★βyёヾ(⌒∇⌒)ノβyё★。.:*:・"☆★
      send from 礼恩
      (*^ー^)ノ~~☆:.・*.マ.:タ.:ネ
      親コメント
  • kylixが出たおかげで、Delphiで開発されていたDev-C++ [sourceforge.net]のLinux版が出ているし
    日本国からはWideStudio [widestudio.org]が出ています。(これは作者が一から作成)
    Windows Linux 両方に対応した開発環境が増えてます。

    実際これらを使い Unix 系の OS でどれだけ開発が行われているのでしょう?

    # ”動かして見る”程度ではなく実用レベルで
    • Dev-C++は知りませんがLinuxでWideStudio使ってますよ。
      一応業務で使用する為です。

      自分のようなシロウトがGUIのプログラムをつくるにはこのような環境
      がフリーであることがは非常にありがたいです。

      最新版ではソケット,SQL,OpenGL等のクラスライブラリもあり作者には
      失礼ですがオモチャではなく使えるレベルになっていると思います。

      #Windowsで使うつもりはこれっぽちもありませんけどね。
      --
        田舎のLinux野郎
      親コメント
  • by fluffy_nns (4030) on 2002年07月25日 0時23分 (#132541) ホームページ
    "Kylix = Pascal" じゃなかったのか?

    VCLをC++で使えるようにしたっていうんだったら、単純に
    "C++ Builder for Linux"って銘打てばいいだけだと思うんだけどなぁ。

    よーわかりません。
    • Re:なんだ (スコア:1, 参考になる)

      by Anonymous Coward on 2002年07月25日 0時30分 (#132544)
      > "Kylix = Pascal" じゃなかったのか?

      もともと当初の計画では Kylix = Delphi + CB だったらしいです。
      やっと出揃ったって感じですね。
      親コメント
      • Re:なんだ (スコア:2, おもしろおかしい)

        by Average (3404) on 2002年07月25日 11時47分 (#132805) 日記
        C++の方は、開発内部では「Cylix(笑)」って言っていたらしいんですけど、さすがに営業は「それを外部に出すのはご勘弁」と止めていたそうです。
        --
        -----------------
        #そんなワタシはOS/2ユーザー:-)
        親コメント
      • Re:なんだ (スコア:2, 参考になる)

        by Dot.Zeile (1169) on 2002年07月25日 11時51分 (#132807) 日記
        そうそう。もともとKylixっていうのはプロジェクトのコードネームで、これの下でDelphi/LinuxとC++Builder/Linuxを作ってた(らしい)んです。で、Delphi版が先に完成して、売るときに製品名を「Kylix」と呼ぶことにしちゃった。プレスリリースでは二年も前から「後でC++ Editionも追加するからねー」と予告されています。別パッケージで「Kylix C++ Edition」と呼ぶのだろうと思っていたら、1パッケージになって出てくるとは。(苦笑)
        親コメント
        • Re:なんだ (スコア:2, 参考になる)

          by G7 (3009) on 2002年07月25日 14時45分 (#132931)
          まあもともと単なる商品名なのだから、細かいこと言ってもしょーがないし。
          また、ObjectPascalという呼称を持つ言語としては、Borland(Delphiなど)と無縁の全然別の言語も有るんで、
          紛らわしくてちょっとイヤだったというのも有るし。

          …などと思っているんですが、どうでしょうかね?

          >1パッケージになって出てくるとは。

          もともとWin版がPascalとC++で別箱になってるのがイヤだな
          (俺がC++嫌いかどうかはさておき)と思っていたんで、
          一体になるというならそれに越したことはないと思ってます。
          #値段次第でしょうけど。

          ただまあ、C++の真髄である静的な側面を活用しようとすればするほど、
          Delphi(言語だけじゃなくObjectアーキテクチャ全般を指す名称として)の真髄である
          適度に動的な側面を持たせたという面とは、やっぱり相性は悪くなるわけで、
          「C++導入でKylix(Delphi系)の普及に弾みがつく」という発想はもともと個人的にはイヤだったりしますが。
          クラス多態(virtual class method:こいつはJavaにも無いぞ)万歳。
          親コメント
          • by Anonymous Coward
            > クラス多態(virtual class method:こいつはJavaにも無いぞ)万歳。 ほんと?
            • by G7 (3009) on 2002年07月26日 8時30分 (#133391)
              #どの点について「ほんと?」と問うてるのかよく判らないですが(笑)、
              俺の認識が間違ってなければ(ぉ)本当です。

              一応、同じ事が「出来る」かといえばJavaでも出来ますね。
              Classクラスを使えばいい。書くとすればこんな感じ [nifty.com]ですよね多分?

              が、文法とかでネイティブにサポートしてるわけじゃないので、いちいち書くのはウザイっす。
              最初からclass methodやconstructor をvirtualにすることがサポートされるDelphiのほうが、綺麗。

              そもそも、あれだけ動的な機能が有る言語であるくせに、
              Class aClass=java.lang.String;
              とか(Class名(?)をそのまま式に使う)書けないってのが痛いぞ>Java

              % javac A.java
              A.java:3: java は未定義な変数、クラス、またはパッケージ名です。
                                              Class aClass=java.lang.String;

              コンパイルエラーっすね。 Delphiはこれに相当する文を書けます。
              #いや、そりゃさ、直接書く替わりに文字列で名前を渡す Class.forName("java.lang.String") とも書けるけどさ、なんかイヤじゃない?

              それに、Class型自体に型の継承の概念が有って、強い型付けな言語として弾くべき代入を弾いてくれます
              (うまい日本語が無いなあ…)ので、場合によっては凄く便利。

              type
              THoge=class end;
              THoge2=class(THoge) end;

              THogeClass = class of THoge;
              THoge2Class = class of THoge2;

              var
              aHoge :THogeClass =THoge2; //OK
              aHoge2:THoge2Class=THoge; //継承関係が逆鞘になるのでコンパイルエラー
              親コメント
              • by MLC (6565) on 2002年07月26日 14時36分 (#133534) ホームページ 日記
                揚げ足とり気味ですが、

                > Class aClass=java.lang.String;
                > とか(Class名(?)をそのまま式に使う)書けないってのが痛いぞ>Java

                Class aClass=java.lang.String.getClass();
                でOKという話ではない?
                --
                  --- Melloques Les Covdrasey ---
                親コメント
              • by reon (11166) on 2002年08月26日 23時30分 (#153505)
                ていうかDelphiのクラスメソッドは実は多態ちゃうんよ?
                実は,override ではなく,reintroduce と同じでしよ。
                試しに下位の class of 変数に対して,派生して多態したはずの クラスを代入して,その class of 変数のメソッドを呼んでみるでし。
                宣言した class of の示すクラスメソッドしか呼ばれんでしよ。
                おk?
                --

                ★☆。.:*:・"゜★βyёヾ(⌒∇⌒)ノβyё★。.:*:・"☆★
                send from 礼恩
                (*^ー^)ノ~~☆:.・*.マ.:タ.:ネ
                親コメント
              • by G7 (3009) on 2002年07月26日 15時12分 (#133545)
                >Class aClass=java.lang.String.getClass();
                >でOKという話ではない?

                % cat A.java
                public class A{
                                public A(){
                                                Class aClass=java.lang.String.getClass();
                                }
                }
                % javac A.java
                A.java:4: class java.lang.Object のメソッド java.lang.Class getClass() に static 参照することはできません。
                                                Class aClass=java.lang.String.getClass();

                getClass()はクラスメソッドではなくインスタンスメソッドっす。
                (インスタンスが存在するとしてその)インスタンスのクラスは何だ?と
                問い合わせるためのメソッドっす。

                インスタンス(通常の)とは関係なく、クラス(JavaならばClassクラスのインスタンス(^^;)を得たいと思ったとき、
                前述の書き方が出来ないってのが、ちょっとイヤだなと。

                getClass()のクラスメソッド版が有ればいいんですが、
                つーか標準クラスのソース(公開されてるんだったよね)をいじって自作すればいい(ぉ)んですが、
                そもそもJavaでは肝心のクラスメソッド自体を「多態」できないために、
                せっかくそうやって作った static Class Object#getClass2();(仮にこう作ったとする)
                およびその子孫クラスのgetClass2()は
                「どんなクラスに対しても」同じClassオブジェクトを返さざるを得ません(^^;;;;;
                Class aClass=java.lang.String.getClass2();
                Class bClass=java.io.File.getClass2();
                のaClassとbClassが違う値になる余地が無い。
                これでは使い物にならない。

                で、それを克服するための逃げ道として用意されてるのが、(俺の見落としでなければ)
                static Class#forName(String name)
                しか無いらしいですが、ちょっと迂遠だなと。
                言語仕様を(C++から見て(笑))変更しない(クラス多態を認めない)方向で頑張るよりも、
                言語仕様を変更するほうが、スマートだったのではないか、と。
                親コメント
              • by Anonymous Coward
                Class aClass = java.lang.String.class;
                ではだめなのでしょうか?
              • by MLC (6565) on 2002年07月26日 16時23分 (#133572) ホームページ 日記
                > getClass()はクラスメソッドではなくインスタンスメソッドっす。

                 うわ、本当だ。
                 ムリヤリgetClass()を使うなら、

                    Class aClass= (new java.lang.String()).getClass();

                ってなる訳ですね。
                 意味ねぇ!!(笑)

                > Class aClass=java.lang.String.getClass2();
                > Class bClass=java.io.File.getClass2();
                > のaClassとbClassが違う値になる余地が無い。

                 そうなんですか。
                 getClass2()が作れたとしたら、aClassとbClassが(Classクラスのサブクラスでない)違うクラスになれないだけで、aClassとbClassが違う値になることは許されているのかと思ってました。
                 (たしかに、Objectクラスを修正するだけでは無理っぽいのかな。どうでしょう・・・)

                > 言語仕様を(C++から見て(笑))変更しない(クラス多態を認めない)方向で頑張るよりも、
                > 言語仕様を変更するほうが、スマートだったのではないか、と。

                 Javaの仕様には「型(クラス)を強く束縛したい」という意思を感じますね。
                 「インターフェイスによる多態で我慢せよ!!」ということか・・・。

                # そーゆー話じゃない!!<自己ツッコミ
                --
                  --- Melloques Les Covdrasey ---
                親コメント
              • by MLC (6565) on 2002年07月26日 16時50分 (#133582) ホームページ 日記
                抽象クラスでも使える分、(new java.lang.String()).getClass();より断然良いと思います。(^^;
                --
                  --- Melloques Les Covdrasey ---
                親コメント
              • by G7 (3009) on 2002年07月31日 4時12分 (#136377)
                Class aClass=java.lang.String.class;

                うわ。通った。
                すみません。こんな非合理的な(ぉ)文法が有るなんて知りませんでした。

                非合理ってのは、この構文だと、classが予約語であって一般の識別子じゃないことを
                (コンパイラも人も)知っていてはじめて意味が理解可能なので。つまり意味の介入が多すぎ。
                Class aClass=java.lang.String class;
                とかならまだしも「判る」んだけどな。そういう構文だということになるから。

                ん。それはそれとして、
                Class aClass=String.class;
                とも書けるのはClass#forNameより少しマシっすね。

                ただ、どっちにせよ、そのaClassを使ってクラス多態をやれるわけじゃないんで、旨みは少ないです。
                上記コードの続きとしてStringクラスのStaticメソッドを呼ぶような書き方をしても、エラーになる、と。
                一種類のClassクラスだけじゃなくて「Hogehogeクラスの」クラスクラスを書けるようになってくれたらなあ…

                % cat A.java | grep 必要個所(ぉ
                                Class aClass=java.lang.String.class;
                                String answer=aClass.valueOf(true);
                % javac A.java
                A.java:5: シンボルを解釈処理できません。
                シンボル: メソッド valueOf (boolean)
                位置 : java.lang.Class の クラス
                                                String answer=aClass.valueOf(true);
                親コメント
      • by fluffy_nns (4030) on 2002年07月25日 0時42分 (#132554) ホームページ
        あーそうなんですか。決して売れないから玉虫色路線に走ったとか、そういうのじゃなくって?
        なるほど。既定路線なわけですね。
        親コメント
  • by nekurai (6253) on 2002年07月25日 10時58分 (#132778) 日記

    AssemblerとBASICとPrologにも対応するんでしょうか? :-)

  • by Anonymous Coward on 2002年07月25日 0時03分 (#132528)
    待ちきれなくてWideStudioの勉強はじめちゃったヨ!!

    RADもいいもんですね。
  • by Anonymous Coward on 2002年07月25日 1時03分 (#132570)
    Delphiはお金だしてもいいけど、kylixはね。。
    不安定だしWindowsのよりかなり重い。
    あれでDelphiと同じ値段なのは納得いかないなあ。
    Kylixはバージョンアップの間隔もはやいし、
    今買うのは抵抗があるな。
    • by Wildcat (2067) on 2002年07月25日 17時52分 (#133024) 日記
      使うとしたら無料の Open Edition を使うだけ。
      買うとしたら仕事で必要になった時だけだろうな。(今の所そういう仕事はないが)
      --
      (´д`;)
      親コメント
    • by reon (11166) on 2002年08月26日 23時40分 (#153510)
      ( ̄ー ̄)(ー_ー)( ̄ー ̄)(ー_-)ういうい♪

      米国Borlandだと値段の格差はちゃんとあるのに, なんで日本BorlandはDelphiと同じ値段なんでしょうね。 完成度まだまだなんだから,お試し価格にしなきゃ・・・でもEnt版はWin版と同じようにWebデバッガついていたりと,たしかにそれまでのLinux環境では考えられないIDEなんだよねー。dbExpressはもうちょっとしっかり設計しろという感じですが。BDEを越えてない・・・ぞと。DBエンジンのクライアントが無くても動くのが凄いところだったのに結局ClientDataSetか・・・よと。
      --

      ★☆。.:*:・"゜★βyёヾ(⌒∇⌒)ノβyё★。.:*:・"☆★
      send from 礼恩
      (*^ー^)ノ~~☆:.・*.マ.:タ.:ネ
      親コメント
  • by Anonymous Coward on 2002年07月25日 1時21分 (#132581)
    8/14以降に発売のようですね。
    と、云うことはダウンロードもそれ以降になるでしょう。
    #borland.comのリリース文にslashdot.orgの文字があったのは秘密

    オリジナルのC++コンパイラを乗せるみたいですが…
    BCBにあるtempleteのbugなおんないかなぁ(汗)
    • Re:8/14以降に (スコア:2, 参考になる)

      by L.star (163) on 2002年07月25日 9時47分 (#132737) ホームページ
      オリジナルのC++コンパイラを乗せるみたいですが…
      元C++Builder使いですが・・・VCL自体Object Pascal依存でところがあったので、そのために拡張された専用のC++が必要だったんです、残念なことに。その辺の事情はまだ引っ張って居るみたいですねぇ。

      で、両者に関してはC++に慣れていても結局Delphiの方がVCLを何かと使いやすかった記憶があります。確かに文法の違いとかはあれですが、私は元々Pascal出来たので・・・

      親コメント
      • by Anonymous Coward
        一度Delphiを仕事で使い、C++Builderを使う仕事が入りかけたことがあってBuilderもざっと使ったことがありますが、
        確かにDelphiの方がしっくり来て使いやすいと思いました。まあ、インターフェイスがDelphiだから当然なのかも。

        Pascal使

  • by Anonymous Coward on 2002年07月25日 15時19分 (#132960)
    これで、やっと C++ で書かれたライブラリが まともに使えるようになりますね。
typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...