プログラム言語の特徴(得意・不得意)について

このQ&Aのポイント
  • プログラム言語の特徴や適切な選択方法について教えてください。
  • ネットワークプログラミングに関連する言語の特徴や適用範囲について教えてください。
  • ネットワークプログラミングにおいて得意な部分のパッケージの使用方法について教えてください。
回答を見る
  • ベストアンサー

プログラム言語の特徴(得意・不得意)について

各コンピュータ言語の特徴(得意・不得意)を教えてください。 ネットワークプログラミングに関して知りたいので、それに 関連する言語に関して教えていただければ幸いです。 この質問の背景を以下で説明したいと思います。私はネット ワークプログラミングに関しては素人なので、質問自体が 的外れの点もあるかもしれませんが、どうかご了承いただき、 私の言わんとすることを汲み取ってご回答いただければ 幸いでございます。(知識に欠けている中で、的確な質問 をすること自体が難しいので、どうかご理解ください。) 私は以前に機械系のエンジニアをしておりました。そのため、 プログラミングは専門ではありませんが、ハードウェアの 制御のプログラム(例えばモーター制御や、DI/DO、AI/AO、 CCDからの画像取得など)を書いた経験はあります。 そのときに、もともとCでプログラムを作成しておりま したが、マルチスレッドプログラミングでかなり苦戦 しました。専門書を買ってきてその通りにプログラミング してもうまく動作しませんでした。散々悩んだ挙句、 ハードウェアに特化したプログラミング言語である LabVIEWでプログラミングをしてみると、マルチ スレッドもタイミングも何も考えずにプログラミン グができました。今まで何ヶ月も悩んでいた問題が 一瞬にして解決しました。 このとき感じたのは、プログラミング言語には 得意・不得意があって、開発したいアプリケーション によって、プログラミング言語を選択するのが 効率的なのかなあということでした。 よく、どんな言語でも、極めればどんなことでも できるという人がいます。確かにCなんかは、 どんなこともできるのではないかと私も思います。 ただ、上述の私の例のように、プログラミング 言語毎に、得意・不得意があったり、すでに ある機能に対してそれを実現するパッケージが 存在する言語があったりして、実質的に作業 効率を考えると、実現したい機能(アイデア) に応じて、それに適したプログラミング言語が 決まるような気がしています。 そこで、今私はネットワークプログラミングの 勉強をほぼゼロから始めようと思っています。 ネットワークプログラミングで使用される言語 はいろいろありますが、それぞれの特徴 (得意・不得意)あるいは、それに適した アプリケーションの種類などを、大まかに まとめることはできませんでしょうか。 例えば、前述の私の例で言いますと、 C: 自由度があって、様々な設定ができるが、 めんどう。 LabVIEW: マルチスレッドやタイミング などを考えずに簡単にプログラミングできる が、タイムクリティカルな処理はCで記述 してインポートする必要がある。 こんな感じにネットワークアプリケーションに 関して分類できると、初心者にとっては とっつきやすく、こういうソフト開発を したいからこの言語を勉強してみようと なります。 また、上述の例のように、ネットワークプログ ラミングにおいても、得意な部分のパッケージ をインポートしてつなぎ合わせるような プログラミングはあるのでしょうか。 果たして私の意図がうまく伝わったか分かり ませんが、ご回答いただけましたら幸いです。

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

  • ベストアンサー
  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

(経験者)人に聞くと見解もそれぞれですが、 http://thinkit.co.jp/free/article/0711/1/1/ こういう系統のコラムか著書を探してみると良いと思います。 ネットワーク系であれば、いいのですが。

ok77777ok
質問者

お礼

ご回答いただき、ありがとうございます。 ご紹介いただきましたサイトをざっと拝見させて いただきました。(細かいところは今の私には 理解できない部分も多々ありますので。) 実際の開発現場ではやはりどの言語を選択 するのが適当かという問題があるのですね。 こういう系統のサイトがあると言うことを知りませ んでしたので、よい勉強になりました。この 系統でいろいろと探してみたいと思います。 どうもありがとうございました。

その他の回答 (3)

  • shiren2
  • ベストアンサー率47% (139/295)
回答No.3

ネットワークプログラミングというのは、サーバーを書いたりソケットを扱ったりでしょうか。 最近の言語では、楽なのはC#ですね。 ただ問題として、Windowsでないと動きません。 Monoプロジェクトもあるにはありますが、実用的かは疑問です。 最も現実的なのはJavaでしょうか。 元々サーバーサイドが得意なだけあって、ソケットの扱いもマルチスレッドの扱いも楽です。 C#が多少複雑になった感じですね。 多くのスクリプト言語では、ソケットの扱いが意外とプリミティブなので、避けた方が無難です。 後々クラスが多くなることを考えても、やはりJavaのような重厚な言語のほうがお勧めですね。

ok77777ok
質問者

お礼

ご回答いただき、ありがとうございます。 Javaは昔少し勉強したことがあります。Cに似ている 印象はありました。 #2さんのご回答からしますと、PHPに比べて難しい のでしょうね。ただし、ソケットやマルチスレッドなど が問題になりそうなものは最終的にJavaを使わない といけないということでしょうか。 どうもありがとうございました。

noname#140045
noname#140045
回答No.2

まず「ネットワークプログラミング」が何を意味しているのかが疑問ですが、ApacheなどのWebサーバーを設置して、そのサーバー上で動作するものとさせていただきます。 (あるいは、ブラウザに表示するための言語) Apacheが認識する言語としては、HTML、CSS、JavaScriptがあります。 そして通常、この中ではJavaScriptだけが、プログラミング言語となります。 これ以外の言語は、基本的にこれらのHTML,CSS,JavaScriptを出力するプログラミング言語となります。 Javaは、C言語と似たようなもので、何でもできる言語である分、使いこなすのは難しいです。 Java以外の、PHP,Ruby,Perlなどは、通常簡易言語と呼ばれています。 しかし、簡易言語と言っても、まず大抵のことはできますので、大規模なものでない限り、これで充分でしょう。 これ以外にも、Flash,ASPなど他にもありますが、あまり詳しくないので割愛しました。 そして、いきなり結論ですが、私としてはPHPが一番のお勧めです。 理由としては、たぶん一番利用者が多いと思います。 ※なお、厳密には間違っている箇所があるかと思いますが、考え方においては大きく外れていないでしょう。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1
ok77777ok
質問者

お礼

ご回答いただき、ありがとうございます。 拝見させていただきましたが、多くは今はあまり使われて いないものや特殊用途のマイナーな言語なのでしょうか。 素人の私にとっては、読んでもよく分からないところが 多いのが正直な感想です。もう少し、噛み砕いて説明 したものがあると助かります。あと、言語間の比較が あるとよいのですが。

関連するQ&A

  • 各プログラム言語の特徴

     プログラム言語の特徴を教えてください。 汎用的なソフトが作れる事、またネットワークやデーターベースが(Apacheなどを使わず)扱える事。 当方素人のため、言語に謝りや追加される事もあります。 前の人の回答や補足も見て頂けると幸いです。 知りたいのは、習得の難易度/生産性/実行速度/主な開発ソフト/将来性、他。 もちろん、一つでも問題ありません。 Visual Basic Visual Basic .NET C言語 C+ C++ C# Visual C Visual C+ Visual C++ Visual C# Visual C# .NET D言語 JAVA Delphi Ruby  第4世代言語(?)で他にもありましたらお願いします。 日本語プログラムのひまわり/なでしこなんかもあるみたいですねー。

  • ラダープログラムはプログラム言語ですか

     制御盤の制御では、シーケンサ(PC)を使って専用ラダーソフトで作成されることが多いのですが、これもプログラム言語の一種でしょうか。  また、C言語などの構造化に適したプログラム言語にくらべて、ラダーソフトは規模が大きくなると非常に見にくくなります。 それでも、このスタイルのプログラミングが支持されてているのは、なぜでしょうか?

  • C言語で制御できる教育向けキット

    この度、専門学校に頼まれて、ちょっとしたC言語による組み込みプログラミングの 講義をすることになりました。 座学では退屈するのは明白ですので、何らかのマイコンボードのようなHWキット (たとえば、7セグを制御するとか音を鳴らすとか、ロボットのようなものを制御するとか)を 使って、それをC言語でプログラミングして制御するような実習を組み込みたいと 考えています。 このような用途で使えるマイコンボードや学習キットの情報を教えていただけないで しょうか。 秋月通商をざっと見たのですが、なかなか見つけることができませんでした。 ●要件 価格はあまり高価ではない。 C言語でプログラミングして、ハードウェアを制御する 型番とか情報がありましたしたら是非おしえてください。

  • プログラム言語の習得およびお勧め

    お世話になります。 最近、転職を多少念頭において、プログラミングの勉強をしようと思っているのですが、どの言語がこれからの時代必要かまたはお勧めか、また方向性についてご教授お願いします。 ちなみに、以前unix-cプログラミングとネットワークの仕事をしておりましたのでC言語等の知識はあります。 (現在は別の職種です。) プログラム言語の習得について違う方も同じような質問されていて重複すると思いますがよろしくお願い致します。

  • 初心者向きのプログラム言語

    独学でwindowsで動く、できればネットワークを使ったソフトを作りたいと思うのですが、どこから手を付ければいいのかわかりません。CやC#、hspなど試してみたのですが、やはり難しいです、。いきなり勉強せずに、OSの処理やネットワークの勉強をまずした方がいいのでしょうか。またどの言語を勉強した方がいいのでしょうか。 どんな言語を、どうやって皆さんは勉強なされたんでしょうか。参考書なども教えていただけたら幸いです。ちなみにvisual studio 2008の体験版を使用しています。

  • C言語かBasic言語

    プログラミングにチャレンジしようとしている者です。 初心者のため、C言語かBasic言語どちらを勉強していけばいいのかわかりません。 また、最終的には自分でアプリケーションを作ってみたい、と思っています。(ブラウザなど) そこで、「これなら初心者でもチャレンジできる!」という言語を教えていただきたいのです。 できればわかりやすい本などもありましたら教えてください。(入門書など) よろしくお願いします。

  • C言語を用いたプログラミングによる計測制御をしたいのですが…

    はじめまして。 僕は現在大学で電気電子系の研究をしているのですが、プログラミングについて教えていただきたいです。 僕の研究室では半導体デバイスの研究をしていまして、作製した試料の電流-電圧特性や、トランジスタ特性を測定しています。 今は、研究室の先生や過去の先輩たちが作成したプログラムを使っているのですが、今後は自分に必要な測定を自分でできるようになりたいと思っています。 やりたいことととしては、 (1)プログラミングによる測定器(KEITHLEYやADVANTESTのエレクトロメータを使用しています)の制御。 (2)測定中は測定データをリアルタイムでパソコン画面に出力して、特性の挙動を確認できるようにしたい。 (3)測定が終了したら、測定データをエクセルなどに取り込んで保存したい(データの解析等は別途グラフソフトがあるので必要ありません)。 計測器の制御はLabVIEWというグラフィックベースのプログラミングが有効というのを調べたことがあるのですが、これは導入するのにお金がかかってしまい現実的ではありません。 また、研究室のプログラミングはほとんどN88-BASICで書かれているのですが、研究室を卒業した後の応用も考えるとC言語を覚えるのが良いのかなと考えています。 しかしながら、プログラミングの経験は全くと言っていいほど無く、大学の授業で半期のプログラミングの基礎(C言語)の授業を受けたことがあるだけです。 そこで、質問は、 ・C言語で上記のような事をやるまでにはどれくらいの期間が必要か? ・また、プログラミングを始めるにあたり何かアドバイスなどありましたらお願い致します。 プログラミング自体は研究内容には直結してないため、そこまでプログラミングの勉強に時間を割ける訳ではないということも考慮に入れてご回答頂けると幸いです。 以上、長文で失礼しましたが、よろしくお願い致します。

  • 最小全域木問題のC言語プログラム

     次元制限のある最小全域木問題とはどういうことで、それについてC言語を使用してプログラミングを組みたいのですが・・・・。何から手をつければいいのかさっぱりわかりません。ヒープソートのプログラムを使用するなど考えてみたのですがしっくりきません。少しでも参考例を挙げてくれたら幸いです。どうかお願いしますm(__)m。

  • 空間制御に適しているプログラミング言語は?

    私は大学にて研究に従事している者なのですが、 この度顕微鏡等で使うステージの機械制御装置の作製にあたることになりました。 しかし、私にプログラミングの経験はなく、いろいろ調べてはみたものの 空間制御(x,y,zの三軸)に適しているプログラミング言語が何なのかよく分かりませんでした。 なので、空間制御に適しているプログラミング言語(初心者でもとっつきやすい)を ご教授頂けないでしょうか? また、そういったプログラミングをする際、役に立つ参考書などがありましたら 同時に教えてもらえると幸いです。

  • RS232Cの接続がうまくいきません。

    Windows 10のPCにRS232CをUSBに変換して使用していました。 Labviewというプログラム言語でRS232Cに接続されていた装置を制御していたのですが、Labviewのversionをupgradeした以降、接続不可になってしまいました。そもそもPCと装置との接続が確立されていない様子で、*IDN?のコマンドを送っても読むことができません。 コントロールパネルのデバイスマネージャーからはCOM PORTとして認識されているのは確認しました。 ハードウェア(装置、ケーブルなど)は変わっていないので、ドライバ関連の不調だと思うのですが、原因を見つけることができません。 Labviewのバージョンを元に戻すことはできない状況です。 RS232Cの接続がうまくいかない場合に、どうやって問題を見つければよいか、ご教示いただけましたら幸いです。 なお、PORT番号、baud rateは絶対にあっています。またstop bit, polarityの設定もマニュアルに従っているため、間違いはない状況です。 Labviewのバージョンを変えたがために制御不可になってとても困っています。。。ご教示よろしくお願いいたします

専門家に質問してみよう