4

私は.Net開発者ですが、.NET Frameworkがターゲットマシンにインストールされることを保証できない状況があります。ネイティブのWindowsコードにコンパイルするための軽量なプログラミング言語とは何ですか?

NGenを使用してネイティブコードをコンパイルすることをお勧めする質問がいくつかあります(hereおよびhere)。どちらもあなたがまだフレームワークを必要としていることを指摘しています。

かなり軽量なアプリケーション(基本的なGUI、データベースなし、複雑なものは何も書いていません)が必要ですが、さまざまな理由から、フレームワークやバイトコードインタープリタをインストールする必要はありません。

This questionはPythonとpy2exeを推奨します。私はPythonに精通していないが、それは仕事のための最高のツールなら、私はおそらくこのアプリを書くために十分なことを学ぶことができます(私はしかし、私はしたくない)。私はDHTMLとjavascriptで書くことも考えました。比較的新しいブラウザを持ったマシンに頼ることができます。

私はC言語のファミリーに精通しています。私はJava、PHP、Rubyを手に入れました。

ネイティブのWin32コードに簡単にコンパイルできる言語をお勧めする人はいますか?

編集:明確化

私は、言語のCファミリーに精通していた場合、その理由だけでCを使用していないことを示唆しているいくつかの答えがありましたか?私はおそらく明確にする必要があります。私は毎日C#を使用しています。私はC +とC++で育てられました(しかし、かなりの年の間使用されていません)。それは、C/C++のように見えるん

は、移動するための方法かもしれないが、それは、軽量かつ複雑な何も、あなたがCの家族に精通している場合、私は彼らに私の記憶をリフレッシュするために:)

+0

重複の種類:http://stackoverflow.com/questions/867263/programing-language-for-gui-compilable-to-native-binary/ –

+0

@kotlinski - それに感謝、私はその質問を見ませんでした - それはかなり似ています。私はそこにも見ていきます。 – Damovisa

答えて

15

を持っています言語の..なぜCとWin32 APIはなぜですか? .netやjavaプログラムを書くよりも難しいですが、確かにネイティブのWindowsコードにコンパイルする予定であり、バイトコードやインタープリタは必要ありません。

また、Monoを使用して、C#アプリケーションとMonoランタイムを静的にリンクすることができます。 http://www.mono-project.com/Guide:Running_Mono_Applications

私はあなたが別のアイデア、次にDelphiのCでブラシアップする必要があります参照してください。

NGENはネイティブコードにコンパイルすることによって、.NETコードを最適化するように設計されてthis thread

+2

モノのために+1 –

+0

私はCの私の知識を明確にしています。私は本当に少し素早く書きたいと思っています。 – Damovisa

1

でいくつかのより多くの答えがあります。それでも.NET Frameworkが必要です。また、NGenはクライアントマシン上のインストーラで動作します。ネイティブコードを配布することはできません。

フレームワークを確認する.NETインストーラプロジェクトを作成し、自動的にインストールします。

0

いずれかのC++またはVB6が動作します。 VB6を見てください。学ぶのはかなり簡単で、GUIを使うのはとても簡単です。

+0

私は実際にVB6で長い歴史を持ちました。悪い提案。 – Damovisa

+0

VB6はもはやサポートを持っていないので、レガシーシステムで作業しないかぎり、もう学習する価値はありません。 – Steve

+0

@スティーブ:私は真空中でVB6を提案していません。私はその質問に基づいて、それは合理的な対応だと思う。この場合の「サポート」の関連性は何ですか? –

0

私はC++ Builderを愛していました。 .NET Frameworkは、BorlandのVisual Component Libraryを使った人たちの一人によって設計されています。そのルートを利用すれば、あなたにはおなじみのようです。

3

Windows API自体はC言語で書かれています。

Cが軽くない場合、C++/MFCは、最小限のコーディングで簡単なGUIプログラムを作成するのに適していると考えることができます。

5

私はQtでC++を試してみました...私はそれがLGPLに変わったと考えて、学習するのは非常に重要なフレームワークだと思います。

+0

私は実際にこの最後の夜(オーストラリアの時間)をしようとした - あまりにも悪くない:) – Damovisa

1

あなたが書いているだろう特定のジャンルのアプリケーションを知らなくても、確かに言うのはちょっと難しいですがMFC(あなたが知っていれば)かプレーンなC/C++とWin32 APIは合理的でしょうあなたが与えた情報に基づいて選択します。

確かに、MFCはちょっと古くなっていますが、数多くのアプリが同梱されていますが、その疣贅は別として、多くの目的のために「仕事」しています。 Visual C++ 6.xのコピーを入手できれば、すぐにアプリを入手するのに役立つウィザード/ etcがたくさんあります。つまり、私は間違いなくこの目的のためだけにMFCを学習することを提案しませんでした。

4

あなたのインストールに完全に含まれるバイトコードインタープリタ(あなたが言いたいPythonソリューション)を検討したい場合は、Luaなどを使用してsrluaのようなものを使用して、インタプリタを単一の.EXEに変換します。 Luaを使って素早くGUIを動かすには、IUPが良い選択ですが、他のGUIフレームワークのバインディングもあります。

DLLなしで1つのEXEを取得しようとするのではなく、多くのシステム依存関係のないクリーンインストールの問題が多い場合は、srluaを使用してパッケージ化することを検討してください。魔法のような方法でインストールする必要はなく、スクリプトや必要なモジュールをDLLやスクリプト形式で1つのフォルダに置くこともできます。

C言語の呼び出し可能な関数をLuaコアにバインドするのは簡単です。なぜなら、作者は最初から大きなアプリケーションに組み込むように設計しているからです。 C言語で書かれたLua呼び出し可能なモジュールを作成するためには、ほんの数行の定型文が必要です。

有用なモジュールの完全なキットと共にLuaを使い始める簡単な方法は、Lua用の "バッテリー付属"インストールキットを維持するLua for Windowsプロジェクトです。

1

私のpowerbasic(www.powerbasic.com)。それはネイティブのexe(コンパイルされたバイトコードではなく、実際のもの)をコンパイルします。構文は古いpdsやクイックベーシック(ただし、はるかに進んだ)のようなものです。それは、インラインアセンブラ、オブジェクト指向のクラス(オプション、手続き型コードを行うこともできます)を可能にします。もしあなたがcで背景を持っているなら、それに固執する。あなたがbasicyの言語が好きなら、pbはあまりにも簡単です。文字列のようなc。それ以外のパスカルが好きな人なら、delphiのコンパイラはネイティブexesを生成することができます。あなたは、クライアントマシン上で何を心配する必要はありません。このよう -

-don

+0

私の神、powerbasicはまだ周りですか?私は1996年にコピーを購入しましたが、私はVisual Basicがその心を通ってステークになると考えました。 1996年の – MusiGenesis

+0

では、powerbasicは32ビットコンパイラも持っていませんでした。彼らはまだ16ビット(ウィンドウ用)だったし、dosコンパイラを持っていた。彼らは長い道のりを歩み、強いフォローを持っています。彼らのフォーラムは私が遭遇した最高のものです。それは死から遠いです。 –

+0

私にはFireFlyとPowerBasicのコンビネーションは、実行時間が唯一のウインドウであることを特長とする小型の高速フル機能のアプリケーションを手に入れることは無敵です。 – bruceatk

0

別のオプションは、/ネットワットスティックと、このようなサラマンダー.NETリンカやThinstall社などの.Netリンカーを使用することです。

4

多分、パスカル/デルファイ?

実際には、互換性が必要な場合は、MFCを使用せずにWin32アプリケーションより優れたものはありません。 STLがVSによってインストールされたいくつかの余分なDLLに座っていないかどうかはわかりません。

一方、私は、インストール時にVC++の再配布可能ファイルが見つからないことを覚えています.MFCやコアライブラリを参照するかどうかはわかりません。 MFCをまったく使用しないでください。

GUIにWTLを使用すると、実行可能ファイルにコンパイルされます。

1

C/C++の行に沿って、the D programming languageをご覧ください。これは、デフォルトでネイティブのバイナリを含むDの利点のほとんどを持っていますが、機能部門のC#またはJavaにはかなり近いです。残念なことに、ツールや、それほどではないがlibsドメインでは、悲しいことに欠けています(かなり速く変化していますが)。

関連する問題