各コンピュータ言語の特徴(得意・不得意)を教えてください。
ネットワークプログラミングに関して知りたいので、それに
関連する言語に関して教えていただければ幸いです。
この質問の背景を以下で説明したいと思います。私はネット
ワークプログラミングに関しては素人なので、質問自体が
的外れの点もあるかもしれませんが、どうかご了承いただき、
私の言わんとすることを汲み取ってご回答いただければ
幸いでございます。(知識に欠けている中で、的確な質問
をすること自体が難しいので、どうかご理解ください。)
私は以前に機械系のエンジニアをしておりました。そのため、
プログラミングは専門ではありませんが、ハードウェアの
制御のプログラム(例えばモーター制御や、DI/DO、AI/AO、
CCDからの画像取得など)を書いた経験はあります。
そのときに、もともとCでプログラムを作成しておりま
したが、マルチスレッドプログラミングでかなり苦戦
しました。専門書を買ってきてその通りにプログラミング
してもうまく動作しませんでした。散々悩んだ挙句、
ハードウェアに特化したプログラミング言語である
LabVIEWでプログラミングをしてみると、マルチ
スレッドもタイミングも何も考えずにプログラミン
グができました。今まで何ヶ月も悩んでいた問題が
一瞬にして解決しました。
このとき感じたのは、プログラミング言語には
得意・不得意があって、開発したいアプリケーション
によって、プログラミング言語を選択するのが
効率的なのかなあということでした。
よく、どんな言語でも、極めればどんなことでも
できるという人がいます。確かにCなんかは、
どんなこともできるのではないかと私も思います。
ただ、上述の私の例のように、プログラミング
言語毎に、得意・不得意があったり、すでに
ある機能に対してそれを実現するパッケージが
存在する言語があったりして、実質的に作業
効率を考えると、実現したい機能(アイデア)
に応じて、それに適したプログラミング言語が
決まるような気がしています。
そこで、今私はネットワークプログラミングの
勉強をほぼゼロから始めようと思っています。
ネットワークプログラミングで使用される言語
はいろいろありますが、それぞれの特徴
(得意・不得意)あるいは、それに適した
アプリケーションの種類などを、大まかに
まとめることはできませんでしょうか。
例えば、前述の私の例で言いますと、
C: 自由度があって、様々な設定ができるが、
めんどう。
LabVIEW: マルチスレッドやタイミング
などを考えずに簡単にプログラミングできる
が、タイムクリティカルな処理はCで記述
してインポートする必要がある。
こんな感じにネットワークアプリケーションに
関して分類できると、初心者にとっては
とっつきやすく、こういうソフト開発を
したいからこの言語を勉強してみようと
なります。
また、上述の例のように、ネットワークプログ
ラミングにおいても、得意な部分のパッケージ
をインポートしてつなぎ合わせるような
プログラミングはあるのでしょうか。
果たして私の意図がうまく伝わったか分かり
ませんが、ご回答いただけましたら幸いです。
No.4ベストアンサー
- 回答日時:
(経験者)人に聞くと見解もそれぞれですが、
http://thinkit.co.jp/free/article/0711/1/1/
こういう系統のコラムか著書を探してみると良いと思います。
ネットワーク系であれば、いいのですが。
ご回答いただき、ありがとうございます。
ご紹介いただきましたサイトをざっと拝見させて
いただきました。(細かいところは今の私には
理解できない部分も多々ありますので。)
実際の開発現場ではやはりどの言語を選択
するのが適当かという問題があるのですね。
こういう系統のサイトがあると言うことを知りませ
んでしたので、よい勉強になりました。この
系統でいろいろと探してみたいと思います。
どうもありがとうございました。
No.3
- 回答日時:
ネットワークプログラミングというのは、サーバーを書いたりソケットを扱ったりでしょうか。
最近の言語では、楽なのはC#ですね。
ただ問題として、Windowsでないと動きません。
Monoプロジェクトもあるにはありますが、実用的かは疑問です。
最も現実的なのはJavaでしょうか。
元々サーバーサイドが得意なだけあって、ソケットの扱いもマルチスレッドの扱いも楽です。
C#が多少複雑になった感じですね。
多くのスクリプト言語では、ソケットの扱いが意外とプリミティブなので、避けた方が無難です。
後々クラスが多くなることを考えても、やはりJavaのような重厚な言語のほうがお勧めですね。
ご回答いただき、ありがとうございます。
Javaは昔少し勉強したことがあります。Cに似ている
印象はありました。
#2さんのご回答からしますと、PHPに比べて難しい
のでしょうね。ただし、ソケットやマルチスレッドなど
が問題になりそうなものは最終的にJavaを使わない
といけないということでしょうか。
どうもありがとうございました。
No.2
- 回答日時:
まず「ネットワークプログラミング」が何を意味しているのかが疑問ですが、ApacheなどのWebサーバーを設置して、そのサーバー上で動作するものとさせていただきます。
(あるいは、ブラウザに表示するための言語)
Apacheが認識する言語としては、HTML、CSS、JavaScriptがあります。
そして通常、この中ではJavaScriptだけが、プログラミング言語となります。
これ以外の言語は、基本的にこれらのHTML,CSS,JavaScriptを出力するプログラミング言語となります。
Javaは、C言語と似たようなもので、何でもできる言語である分、使いこなすのは難しいです。
Java以外の、PHP,Ruby,Perlなどは、通常簡易言語と呼ばれています。
しかし、簡易言語と言っても、まず大抵のことはできますので、大規模なものでない限り、これで充分でしょう。
これ以外にも、Flash,ASPなど他にもありますが、あまり詳しくないので割愛しました。
そして、いきなり結論ですが、私としてはPHPが一番のお勧めです。
理由としては、たぶん一番利用者が多いと思います。
※なお、厳密には間違っている箇所があるかと思いますが、考え方においては大きく外れていないでしょう。
No.1
- 回答日時:
ご回答いただき、ありがとうございます。
拝見させていただきましたが、多くは今はあまり使われて
いないものや特殊用途のマイナーな言語なのでしょうか。
素人の私にとっては、読んでもよく分からないところが
多いのが正直な感想です。もう少し、噛み砕いて説明
したものがあると助かります。あと、言語間の比較が
あるとよいのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アセンブリ名とは??
-
Delphiでxmlファイルを読み込む...
-
CSVデータの"(ダブルクォーテ...
-
PL/Iについて
-
Visual Studios 2005 / 2008 の...
-
なぜ数学や物理が苦手な人はプ...
-
Visual Studio Codeについて
-
cygwinでのGUIプログラミングの...
-
作業工程 SDとMD
-
プログラミング教室に入ったら...
-
LeakTracer をshared Object の...
-
Access Club について
-
VBAプログラミング
-
診断メーカーのようなwebアプリ...
-
スクリーンセイバーの作り方
-
Cプログラミングでハングマンゲ...
-
リピート再生が出来ません
-
PLC 命令
-
MATLABのプログラミングを使って
-
procってなんですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アセンブリ名とは??
-
VBAプログラミング
-
Visual Studio Codeについて
-
procってなんですか?
-
exeファイルを作ったり改造した...
-
リピート再生が出来ません
-
CSVデータの"(ダブルクォーテ...
-
C言語で個人の趣味では何が出来...
-
Cプログラミングでハングマンゲ...
-
push any key で終了する方法?
-
作業工程 SDとMD
-
プログラミングでArduinoのc++...
-
OpenCVで音声は扱えるか
-
曲を作るのにプログラミングっ...
-
VBA フォルダ アクセス権限付与
-
Delphiでxmlファイルを読み込む...
-
プログラミングの質問です。x^2...
-
久しぶりのプログラミング
-
社内イントラネットのページが...
-
小学1年生の子です。塾に行かせ...
おすすめ情報