各コンピュータ言語の特徴(得意・不得意)を教えてください。
ネットワークプログラミングに関して知りたいので、それに
関連する言語に関して教えていただければ幸いです。
この質問の背景を以下で説明したいと思います。私はネット
ワークプログラミングに関しては素人なので、質問自体が
的外れの点もあるかもしれませんが、どうかご了承いただき、
私の言わんとすることを汲み取ってご回答いただければ
幸いでございます。(知識に欠けている中で、的確な質問
をすること自体が難しいので、どうかご理解ください。)
私は以前に機械系のエンジニアをしておりました。そのため、
プログラミングは専門ではありませんが、ハードウェアの
制御のプログラム(例えばモーター制御や、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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アセンブリ名とは??
-
procってなんですか?
-
プログラミングでArduinoのc++...
-
exeファイルを作ったり改造した...
-
エクセルVBAでRS232Cへ
-
VBA フォルダ アクセス権限付与
-
図形の中心の取り方を教えてく...
-
プログラミングの課題で困って...
-
プログラミングの質問です。x^2...
-
この条件でおすすめのパソコン...
-
VB5で、エクセルシート内のグラ...
-
python でリモート麻雀ソフトを...
-
職業訓練でプログラミングのス...
-
三菱製PLC Qシリーズで技術的な...
-
スクリーンセイバーの作り方
-
現在時刻をデジタル時刻で表示...
-
Visual Studio Codeについて
-
cygwinでのGUIプログラミングの...
-
push any key で終了する方法?
-
日経ソフトウェア2006/1月号の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Visual Studio Codeについて
-
アセンブリ名とは??
-
15.3インチは持ち運ぶには億劫...
-
プログラミングを学ぼうと思い...
-
VBA フォルダ アクセス権限付与
-
exeファイルを作ったり改造した...
-
procってなんですか?
-
CSVデータの"(ダブルクォーテ...
-
リピート再生が出来ません
-
VBAプログラミング
-
曲を作るのにプログラミングっ...
-
作業工程 SDとMD
-
プログラミングの課題がわから...
-
プログラミングでArduinoのc++...
-
Arduinoのシリアル入力について
-
名城大学理工学部電気電子工学...
-
PL/Iについて
-
push any key で終了する方法?
-
プログラミング
-
gettimeofday() と localtime_r...
おすすめ情報