私はプログラミングの初心者です。テキストファイルを編集するだけの非常にシンプルなプログラムをC#を使用して作成することを検討しています。
はい、C#は Mono プロジェクトのおかげでクロスプラットフォームです。ただし、これはサードパーティによる実装であり、Microsoftによるものではないことに注意してください。したがって、最新の.NETランタイムまたはC#言語バージョンの最先端の機能は実装されない可能性があります。
彼がプログラミングを始めたばかりであると述べている誰かにそのようなことを答えるのは難しいですが、私はあなたに(やや簡略化した)概要を説明しようとします:C#は実行可能プログラムにコンパイルされる言語です。言語自体は、ターゲットプラットフォームごとにコンパイラがある限り、プラットフォーム間で移植可能です。 Windowsでは「デフォルト」の.Net実装があり、Linux/MacではMonoがあります。ファイルの編集など、何か便利なことをするには、いくつかのライブラリを使用する必要があります。各プラットフォームで利用できる標準ライブラリがあります。その機能のみを使用している限り、プログラムはクロスプラットフォームになります。特定のプラットフォームに固有のライブラリを使用するとすぐに、クロスプラットフォームではなくなります。ファイルの編集は標準ライブラリの一部であるため、このような単純なツールをクロスプラットフォームの方法で実装できます。本を選択するときは、Visual Studioやその他の特定のツールではなく、「生の」言語に焦点を当てた本を探す必要があります。
現在、C#は完全にクロスプラットフォームであり、さまざまなフレームワークとランタイムを備えています。
Javaは言語+フレームワークです。しかし、C#は単なる最新の言語です。 C#言語の機能は非常に強力で、簡単に習得できます。フレームワークと言語の間に混乱はありません。
C#は以下のフレームワークで使用できます
Java-コードを1回、すべてのプラットフォームに同じファイルを出荷
C++、C、Rust-コードを1回、特定のプラットフォーム用にコンパイル
C#-これは単なる言語です。要件に応じてフレームワークを選択してください。
Chrome、Firefoxなどの最も人気のあるアプリケーションはC++を使用し、Rustであり、プラットフォームごとにコンパイルされます。ただし、これらのプラットフォーム間でコードの大部分を共有します。一部のゲームはC++を使用して=間でコードを共有しますIOSおよびAndroid。
新規開発者にとって、NodeJSとC#から始めるのは良いことです。どちらも簡単で、あらゆる種類のアプリケーションを実行できます。
CoreCLRと呼ばれるMicrosoftの新しいオープンソースリリースはクロスプラットフォームであり、これに使用できます
CoreCLRリポジトリには、.NET Coreの完全なランタイム実装が含まれています。 RyuJIT、.NET GC、ネイティブ相互運用機能、その他多くのコンポーネントが含まれています。複数のOSとCPUポートが進行中のクロスプラットフォームです。 - CoreCLRリポジトリから
マルチプラットフォームコーディングの最有力候補としてc#はお勧めしません。 python代わりに、スクリプトとしても非常に簡単に実行でき、すべてのプラットフォームで完全に機能します。c#を主張する場合は、Justin Ethierによって説明された同じ問題に対処する準備をしてください。= Python一方、すべてのプラットフォームで同じです。非常に強力で、他の言語に接続できるラッパーさえあります。
この記事 MonoプロジェクトwikiのC#を使用してポータブルアプリケーションを作成する方法を要約した非常に優れた仕事をしています。
はい。C#は.NET Coreのおかげで完全にクロスプラットフォームです。 .NET Coreは、Windows、Linux、およびmacOSオペレーティングシステム向けの無料のオープンソースの管理されたコンピューターソフトウェアフレームワークです。これは、Windowsでのみ実行される.NET Frameworkの後継プラットフォームです。このプロジェクトは、主にマイクロソフトによって開発およびサポートされています(.NET Foundationを通じて)。
初心者でC#を強く求めない場合は、Javaを試してみてください。C#の構文と実行からそれほど離れていません。
Java -jar myprogram.jar
mac/Linux/Winでも同じです。
C#はクロスプラットフォームであり、Windows/LinuxおよびMacでプログラムを実行できます。ただし、Linuxの場合は実行する必要があります monoを使用
C#は.NET Coreのおかげでクロスプラットフォームですが、クロスプラットフォームのユーザーインターフェイスライブラリがないと、非常に基本的なコンソールプログラムしか作成できません。 Windows、Mac、Linux用のクロスプラットフォームアプリを作成するには、 Nevron Open Vision のようなクロスプラットフォームユーザーインターフェイスライブラリが必要です。