各コンピュータ言語の特徴(得意・不得意)を教えてください。
ネットワークプログラミングに関して知りたいので、それに
関連する言語に関して教えていただければ幸いです。
この質問の背景を以下で説明したいと思います。私はネット
ワークプログラミングに関しては素人なので、質問自体が
的外れの点もあるかもしれませんが、どうかご了承いただき、
私の言わんとすることを汲み取ってご回答いただければ
幸いでございます。(知識に欠けている中で、的確な質問
をすること自体が難しいので、どうかご理解ください。)
私は以前に機械系のエンジニアをしておりました。そのため、
プログラミングは専門ではありませんが、ハードウェアの
制御のプログラム(例えばモーター制御や、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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- IT・エンジニアリング 21歳の大学3年男です。 現在プログラミングを習得できるところに入ろうか悩んでます。 そのスクールは 3 2022/06/21 00:43
- Windows 10 パソコン得意な人どうやって勉強したか教えてください 13 2022/04/26 00:41
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- その他(学校・勉強) 来年4月から経済学部の大学一年生になる予定の者です。 私は将来入りたい企業があり、そこに入社するため 8 2022/08/23 04:49
- その他(学校・勉強) 自分の市場価値を高めるには 3 2022/07/12 09:11
- Java プログラミングのプの字も知りませんが、プログラミングを勉強したいです。とりあえず、学ぶものを決めない 3 2022/11/04 13:10
- その他(悩み相談・人生相談) これって、もう触らないで。って意味ですか? 1 2023/01/10 12:35
- 法学 コンピューター プログラミングの言語で記述されたプログラミングのコード一式は、作った人に 著作権があ 4 2023/08/04 17:31
- 日本語 意味とは何か? どこにあるのか?(Ⅱ) 4 2022/04/21 13:35
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Visual Studio Codeについて
-
アセンブリ名とは??
-
VBAプログラミング
-
プログラミングを使ったYoutube...
-
C#でマウスのドラッグで範囲を...
-
exeファイルを作ったり改造した...
-
LeetCodeていうの初めて、
-
cygwinでのGUIプログラミングの...
-
VB 1対1の簡単なチャットプログ...
-
1からNの素数を求めるプログラ...
-
CSVデータの"(ダブルクォーテ...
-
Visual Studios 2005 / 2008 の...
-
USBカメラからDirectShowを使っ...
-
procってなんですか?
-
プログラミングの使い用途は?
-
リピート再生が出来ません
-
プログラミングでArduinoのc++...
-
Delphiでxmlファイルを読み込む...
-
MaskEdBoxをクリアしたい
-
C言語、C+、C++、C#の違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アセンブリ名とは??
-
Visual Studio Codeについて
-
procってなんですか?
-
exeファイルを作ったり改造した...
-
VBA フォルダ アクセス権限付与
-
リピート再生が出来ません
-
VBAプログラミング
-
エクセルVBAでRS232Cへ
-
作業工程 SDとMD
-
プログラミングでArduinoのc++...
-
プログラミングを学ぼうと思い...
-
gettimeofday() と localtime_r...
-
push any key で終了する方法?
-
C#でマウスのドラッグで範囲を...
-
Cプログラミングでハングマンゲ...
-
曲を作るのにプログラミングっ...
-
LeetCodeていうの初めて、
-
図形の中心の取り方を教えてく...
-
私はプログラミングは一切分か...
-
名城大学理工学部電気電子工学...
おすすめ情報