Unixプログラミングとはどういう意味ですか?[閉まっている]


10

Unixプログラミングという用語の意味は理解できたと思いましたが、カーネル/ Cプログラミングのコンテキストで読んだ後、この用語の意味を明確にする必要があるように感じます。

それが意味するかどうかは私には明らかではありません:

  1. シェルプログラミング、
  2. Unixプログラミングツール
  3. Unixコマンドラインツールのプログラミングの特定の方法/パターン(たとえば、「Unixシェルプログラミング」のパイプライン方法に同意するため)、または
  4. 他の何か。

2
あなたは少しコンテキストを与える必要があります。この表現をどこで読みましたか?文脈から言えば、それはUnix OSのプログラミングを意味すると思います。
lgeorget

6
この質問は基本的な英語に関するものなので、トピックから外れているようです。
Gilles「SO-邪悪なことをやめなさい」14/07/31

1
@Gillesああ、それで区切り文字になった:P
goldilocks 14

@ Igeorget、Taoup。
Pacerier 2018年

@goldilocks、意味?
Pacerier 2018年

回答:


14

「Unixプログラミング」とは、UNIX環境用の明示的なプログラミングを指します。これには、関連する標準(POSIXなど)に準拠するシェルのプログラミングが含まれます。ただし、* nixの世界に固有であると想定して、同様に標準化されたシステムインターフェイスとリソースを明示的に使用しながら、任意の言語でのプログラミングも含まれます。

たとえば、CまたはC ++でサードパーティのライブラリを使用しないネットワークプログラミングは、どちらの標準もそれについて何も述べていないため、移植できません。C / C ++のネットワークは、オペレーティングシステムによって指示されたインターフェイスを使用して実装されます。* nix-ishシステムではこれは多かれ少なかれ普遍的であり、そのコードを変更せずに(たとえば)Windowsに移植したり、その逆を行ったりすることはできません。したがって、CやC ++でネットワークに関することを行うとは、ポータブルライブラリを使用すること、またはプラットフォームをターゲットにすることを意味します。Unixは、後者の場合の1つの可能性です。したがって、これは「UNIXプログラミング」(およびCまたはC ++プログラミングとネットワークプログラミング)です。1

ただし、perl、python、javaなどの多くの高レベル言語でのネットワークプログラミング移植可能です。これらの言語は一般にCで実装されますが、実装の詳細はプラットフォームごとに異なりますが、インターフェースは異なります。したがって、perlを実行するすべてのシステムで実行されるネットワークコードをperlで記述できます。Unixシステムでは、これはインタープリター実装によって適切なネイティブ呼び出しに変換されます。Windowsシステムでは、別の方法で変換されます。実際のperlコードはperl以外に固有のものではないため、UNIXプログラミングではありません。これはネットワークプログラミングとPerlプログラミングですが、UNIXプログラミングではありません。


1. CとUnixの間の親密な歴史的関係、Cがオペレーティングシステムを記述するために最もよく使用される言語であるという事実、および「オペレーティングシステム」とは何かという性質のため、「カテゴリ」には多くのものがあります。 OS固有のCプログラミング」-ネットワーキング以外の日常的な例としては、ファイルシステムの記述、ファイルの読み取り、ディレクトリの読み取りなどがあります。したがって、Cの基本的なプログラミングには必然的に多くのOS固有の要素が含まれるため、さまざまな「CでのUNIXプログラミング」タイプの本があります。これは、perlやjavaなどの移植性の高い言語には当てはまりません。この場合、本の主題は「Perlでのシステムプログラミング」である可能性が高く、単なる「Perlでのプログラミング」である可能性が高いです。


1
ゴルディロックス教授、再びストライキを!
mikeserv 2014

@ goldilocks、linuxがUnixを殺したので、今「誰もがUnixプログラミング」をする人はほとんどいないということですか?
パセリエ2018年

1
SolarisとBSDは広く使用されており(平均的なPCの消費者が何であるかわからない場合でも)、技術的にはOSXはUNIX準拠として正式に認可されています(名前が「macOS」に戻ったようですので、あなたの前提に反対。
ゴルディロックス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.