• 締切済み

プログラミング言語

プログラミング言語のC言語とかJavaとかPerlとかの違いって使いやすさや慣れ以外に違いってあるんですか? 言葉足らずですいません…! 先程あげた三つのプログラミング言語が全く違うのは理解しているのですが、 それを使う、仕様した結果何か変わるのか疑問を抱いたので質問させていただきました。 初心者なので全く分からなくて… 教えてください><

みんなの回答

回答No.11

>回答No.6 amanojaku1 サーバー側で使うサーバー・サイド言語と、(いわゆる一般ユーザーのPC)クライアント側で使うクライアント・サイド言語があります。 「Perl、PHP」はサーバー・サイド言語です。 JavaScriptはクライアント・サイド言語と言うイメージも有りますが、サーバー・サイド用のJavaScriptも有るようです。 サーバ・サイドJavaには「JSP(JavaServer Pages)、Java Servlet、EJB(Enterprise JavaBeans)」があり、(クライアント・サイドの)普通のJavaとは違います(クライアント・サイドにはJavaBeansと言うのもありますが)。

全文を見る
すると、全ての回答が全文表示されます。
回答No.10

>Perlは将来性がないと言われており、Perlは就職に大して有利にならないと言う状況らしいですが、 逆に言うと将来性がある言語は就職に有利になります。

全文を見る
すると、全ての回答が全文表示されます。
  • wormhole
  • ベストアンサー率28% (1622/5659)
回答No.9

まあ、どうでもいい事かもしれませんがスクリプト言語は頭から順に読んで1行ずつ実行するわけではありません(昔々のスクリプト言語はそうだったかもしれないですけど)。 コンパイラ言語と同じく構文解析して内部コード(マシン語ではありません)に変換してから実行されます。 ただしコンパイラ言語とは異なり、それは実行しようとする度に行われます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.8

>回答No.6 amanojaku1 ちなみにJavaは単純なインタープリタではありません。 HotSpot https://ja.wikipedia.org/wiki/HotSpot >HotSpotは頻繁に繰り返し実行される「ホットスポット」(にぎやかな地点、熱地点)を絶えず解析する。これらは、性能に重大な影響を与えるコードを標的として最適化を重点的に行い、その他のコードには最小限の最適化でオーバーヘッドを少なくし、高性能な実行を実現する。HotSpotはJava仮想マシンの中でも最高性能が得られると極めて高い評価を得ている。 >クライアント版は必要不可欠なクラスやメソッドのみを素速くロードしコンパイルするようチューニングする。サーバ版は、よりゆっくりロードを行うが、より高性能な高度に最適化されたJITコンパイル結果を産出することに、より尽力する。

全文を見る
すると、全ての回答が全文表示されます。
回答No.7

>回答No.6 amanojaku1 「Windows 7 SP1、8、8.1」で無料「Visual Studio」開発環境が使えます(C#は結構人気があるようです)。 「Visual Studio Community」 https://www.microsoft.com/ja-jp/dev/products/community.aspx Microsoft Visual Studio https://ja.wikipedia.org/wiki/Microsoft_Visual_Studio >対応プログラミング言語[編集] >Visual Studio 2015における、対応プログラミング言語は以下の通り[3]。 > >C# >Visual Basic >F# >C++ >Python >Node.js >HTML/JavaScript >TypeScript

全文を見る
すると、全ての回答が全文表示されます。
回答No.6

習得が容易か どうか、C系言語(C、C++)は習得が困難、C#は通常のC系言語(C、C++)とは別物でJavaライクな言語らしいです。 Perlは将来性がないと言われており、Perlは就職に大して有利にならないと言う状況らしいですが、ほとんどの無料サーバーでは「Perl、PHP」ぐらいしかサポートしてません。 PHPはセキュリティー的にイマイチらしいので、無料サーバーを使いたい場合は(Perlは将来性がないと言われていますが)Perlと言う選択肢も考慮して良いでしょう。 これからの時代はプログラミングって聞くけどどの言語がいいの? https://blog.codecamp.jp/programming_language_2015 2015年の人気プログラム言語6つを徹底比較!気になる年収や求人、学習難易度まで https://toiroha.jp/article/detail/32380 プロのエンジニア9人が徹底解説!おすすめのプログラミング言語9選 https://www.geekjob.jp/recommended-programming-language/ > 初心者が軽い気持ちでC言語を学び始めると痛い目にあいます。が、C言語をある程度使いこなせるようになれば、たいていの言語にも応用ができるので初めに学んでおいて損はありません。 > 多くのエンジニアがつまずいてきたポインタ管理などの理解が必要なため、使いこなせるようになるには時間が掛かります。 ↑これは「C++」にも言える事です。 と言うことで、初心者には とりあえずJavaがオススメです。 理由としてはスタンダードなJavaは世界共通(方言がない)、ポインタが全く無い訳ではないですが「C、C++」よりは簡単なので、「C、C++」よりは習得が容易。 ただし「Android Java」のAPI(Application Programming Interface)はスタンダードなJavaと全く別物です(ただしSyntax(構文)の互換性は非常に高い)。 これからJavaScriptは もっと注目される? http://www.4gamer.net/games/999/G999905/20130316001/ >任天堂のRyan Lynd氏,Kevin McCullough氏,そして島田健嗣氏が行うのは, HTMLとJavaScriptを使ったWii U向けゲーム開発の手法で,サマリーを読むと,任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており,そのため高いパフォーマンスを発揮していたが,反面,開発に時間がかかっていたという。このセッションではそれ以外の方法,つまりHTMLやJavaScriptを使ってWii Uの全機能にアクセスしつつ,より手軽にゲーム開発を行う方法が説明されるようだ。 ざっくりと言うとJavaScriptはHTML(CSSは置いておくとして)の上に乗っかっている2階建てみたいなもので、HTMLも多少は勉強が必要です(Javaとは別の言語です)。 一番の問題はブラウザごとに微妙に挙動が違うことです。

全文を見る
すると、全ての回答が全文表示されます。
  • agehage
  • ベストアンサー率22% (2558/11394)
回答No.5

何をしたいのか?で使う道具が変わります このサイトのようなものはPerlで作ります このサイトを見ているブラウザはCやJavaで作ります まだプログラムとは何かすら理解できていない状況ですので、どれから覚えても構いません 個人的にはC言語が好きですが、最近はpython辺りが入門にはいいような気がしています

全文を見る
すると、全ての回答が全文表示されます。
  • hue2011
  • ベストアンサー率38% (2800/7250)
回答No.4

まず、スクリプト言語なのかコンパイラなのかを意識してください。 PerlやPHPやRubyやPythonは、スクリプト言語です。これはインタープリタといって書いてあるソースをコンピュータが頭から読み、1行ずつ実行してくれるものです。つまり、実行しないうちはバグなんかわからないということで、そのためきっちりテストをする必要があります。その通訳をしてくれるインタープリタを事前にコンピュータにインストールしておく必要があります。 C、Java、Fortran、Cobolなんていうのはコンパイラ言語です。これは書いてあるソースを読み込み、その中に矛盾がないかチェックした上、コンピュータが実際に実行する機械語に翻訳する操作をします。これであれば、実行前にバグがかなり発見できることになります。(もちろん、実行してからの不具合がゼロということはありません) 従来、汎用機などのときは無駄なプログラムを実行させると費用がかかりましたから、コンパイラで磨きに磨いてから機械語=実行形式のものをキカイに流し込みました。 なお、ここでキカイといいましたが、実はここでバーチャルマシンというものが存在しています。Javaですが、これは機械語に翻訳するのではなく、Java仮想マシンの実行形式に翻訳するのです。WindowsPCだとかMacだとかLinuxだとか違うOSの場合、同じ機械語では実行できませんので、そこに、どこでも同じように動く仮想マシンとしてJavaと言う名前のコンピュータプログラムを置くんです。そしてそのJavaマシンが翻訳されたプログラムを読んで実行するという2段階システムのおかげでどんなキカイの上でも動くことになりました。これは、Javaで組みさえすればスマホでも動くというAndroidシステムに変貌しました。 こういうあたりがご質問の答えになります。 すぐに実現しようと思うならスクリプト言語が簡単で実現が早い。ちょっとの仕様変更などにはきわめて柔軟に対応可能です。しかしすみずみまできっちり動く保証はありません。また改ざんが簡単にできます。 コンパイラ言語の場合はそう簡単に動きませんが、整合性を確保するという意味では安全です。また、ソースが改ざんされても実行プログラムは壊れませんから安全性はある程度確保できます。 Googleは、一時期までは全面的にPythonを使っていろいろなことをしていましたが、ある時点で突然その開発系をやめ、新たにGoという開発系で全社おこなうことにしました。このGoはコンパイラです。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

ちょっと補足を。 先の回答にもありましたが、元々、C言語はUNIXと言うOSを作成する際に生まれた言語です。それ以前はOSを記述する際に大体アセンブリ言語を用いていました。 厳密に言うと、OSを作成する際に高級言語を用いる試みはC言語登場以前にもありました。 じゃあ、何がC言語の特徴だったのか、と言うと「移植性を高めよう」と言うのがポイントです。 元々、UNIX自体は、「何らかのハードウェアに特に密接に依存しない」OSを目指して作られていました。何故か、と言うと、要するに「中古のコンピュータで動かしたい」と言う目論見があったから、ですね。新品ピカピカ、メーカー保証アリ、と言うコンピュータがターゲットじゃなかったのです(ちなみに、ここで言う「コンピュータ」とは大型コンピュータの事です)。メーカーの保証期間が終わって廃棄処分になるだろうコンピュータで動かすのが目的。当然A社とB社とC社では全くアーキテクチャが違う・・・なんて状況なわけです。 そのような様々な中古のコンピュータに対応して「全く同じ環境を提供する」と言うのが少なくともUNIXの一つの目論見でした。まずはこの背景を押さえておいてください。 そうすると、「アーキテクチャに密接に依存してる」アセンブリ言語を使うのは難しいわけです。そこで開発されたのがC言語だった、と言う流れですね。アセンブリレベルで違っても「C言語」レベルでは違わない、と言うのがポイントです。 ここでのキーワードは「移植性」です。 さて、C言語が登場したのは70年代半ばですが、その時に考慮された「移植性」と言うのはソフトウェアが複雑化していくとその性質がどんどん薄れていきました。 そんな中で90年代半ば辺りに登場したのがJavaです。 Javaが初めて、と言うわけではないのですが、コンピュータの演算能力が向上していったにつれ、かつては「遅い」「重い」と言われた廃れた「仮想マシン」と言うものがJavaの登場で復活します。 この「仮想マシン」と言うのは「移植性」と言う事柄に対してのもう一つの回答です。 ここで、異なるアーキテクチャ、あるいはOSを持つA社、B社、C社のマシンがあるとしましょう。異なるアーキテクチャだ、と言う事はCPUがわかる「マシン語」が違う、そしてOSが全く違う、と言う事です。 仮想マシンと言うのは、「コンピュータ上で動く疑似コンピュータ」と考えて良いです。当然、A社、B社、C社のコンピュータは共に別々の仮想マシンでなければならないのですが、仮想マシン上で動く環境はすべて共通してるとします。そうすれば、仮想マシンを対象に書かれたプログラムは全部どんなアーキテクチャだろうとOSであろうと「同じように動く」と言う事が保証されます。 これがJavaが採用したシステムで、アーキテクチャ/OS毎に「別の仮想マシンを用意しなければならない」けど、「その上で動くプログラムは一回書いてしまえばどこでも動かせる」・・・こういうのを「差異を吸収する」等と言うのですが、そういう風に設計されたのがJavaと言う言語です。従って、アプリケーションを書く上ではC言語よりも「移植性が高い」(あるいは「ポータビリティがある」と表現したりします)わけです。 また、セキュリティ的にもマシン本体を攻撃される前に仮想マシンが攻撃される感じになるんで、安全性がより高いわけですね(切り離されてる)。そういう特徴を(少なくともOracle公式の)Javaは持っています。 これらがC言語とJavaなんですが、一方、Perlは「やっつけ仕事の為の言語」としてUNIX上で開発されました。「やっつけ仕事の為の言語」と聞くと悪口言ってるように聞こえますが、そうではありません。とにかく「なるたけはやくプログラムを書き上げられる」事を意図して作られています。そのテの言語は「スクリプト言語」等と呼ばれたりしますが、Perlはその代表格でしょうね。あまりWindows上だとポピュラーじゃない言語の一つですが、むしろUNIXと密接してて、そのためにサーバー上で良く用いられ、様々な動的Webサイトを書き上げる実績を積み重ねたんですね。特にテキスト処理を得意としてるのがPerlです。 (逆にC言語でPerlと同等のテキスト処理をさせようとすると洒落にならないくらい難しい、と言うのは良く知られています)

全文を見る
すると、全ての回答が全文表示されます。
  • takuranke
  • ベストアンサー率31% (3923/12455)
回答No.2

>それを使う、仕様した結果何か変わるのか疑問を抱いたので 違う言語で同じOSやアプリケーションソフトを作った場合 処理速度が一番だと思います。 言語によって、 得意なことと不得意なことに欠点がわかっているので、 作成するソフトウェアによって使い分けています。 昔々ですが、 OSはアセンブラで作るのが常識でしたが、 バージョン忘れましたがunixでCを使ったものが登場しました。 これ以降Cは高級言語として人気が出て、 ミドルウェアやアプリケーションソフトでも使用されることになりました。 Cはアセンブラよりも効率よく組むことが出来る言語でしたが、 結構大きな欠点としてアセンブラより処理速度が遅く、 アセンブラと連携する形で使用されるようになりました。 ですが、ハードウェアの性能向上に伴い、 C単体で作ったものでも、アセンブラとの差が少なくなり、 組み易さからCが主流になりました (C言語そのもので処理速度の向上はされていない)。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • プログラミング言語の違いを教えてください!

    こんにちわ。 ただ今就職活動中の者です。 大学ではC++の基礎を勉強しましたが色々あるプログラミング言語の違いがよく理解できていません。 プログラミング言語はCOBOL、JAVA、C言語、visual basic、perlなど、本当に様々な言語がありますが、それらの言語について詳しく教えていただけませんでしょうか? (それぞれはどういった分野のシステムの開発に向いていて、どのような弱点があるなど)お手数ですが、よろしくお願いします!

  • プログラミング言語について

    プログラミング言語にはさまざまなものがあり,C,COBOL,CASLII、C++,JAVA,VISUALVASIC,PERL等があるようですが、家庭用PCにおいてこれらの各言語はどのような働きをしているのでしょうか?自分で使っているPCのことぐらいはできるだけ知っておきたいので、誰か詳しい方おしえてください。

  • おすすめのプログラミング言語を教えて下さい

    昨日、プログラミング言語について質問させて頂きました。その結果、basic、Ruby, JavaScript, Python, Perl, PHP、C,C#,を勧められました。 しかしどれから勉強すればいいかわからず、また質問しようという考えにたどり着きました。 この中の言語ではどれがお勧めでしょうか? また、basicはVB、VBAなどがあり、どれのことを指しているのかが理解出来ないのでそのあたりも教えてくださると嬉しいです。

  • 新言語プログラミング2005?

    以前にC/C++言語・Javaプログラミングを勉強したことがあるのですが、今は違う業界にいて、最近では何のプログラミングが最新なのか分かりません。 「これから」という新言語プログラミングを、誰か知っていたら教えてください。 ちなみに、C言語とJavaの検定・2級を持ってます。

  • プログラミング言語について

    プログラムを学ぼうと思っている初心者です。 C、Java、COBOL…色々なプログラミング言語がありますが、それぞれどのような物を作るときに使用されるのでしょうか?今いちばん需要があるのものと難易度も知りたいです。わかりやすく教えていただけるとありがたいです。

  • 数多く存在するプログラミング言語について教えて下さい

    今、プログラミング言語全般について勉強中ですが、質問です! C、C++、Perl、FORTRAN、COBOL、ALGOL、SmallTalk Lisp、Prolog、Logo、TCL、Pascal、ObjectC、VB、 Basic、Java、Delphi、April、Rubyなど様々な言語が存在しますが、この中の言語以外には他にどの様な名前の言語が存在しますか? そして、 知名度の低い(使っている人すみません)TCL、Aprilを始めとする言語について 詳しい事を教えて下さい。

  • プログラミング言語の使い分け

    当方、PerlとHSPを使って実際にプログラミングをしたことがあります。 Perlは今でも使っていますが、もちろんWindowsで動くアプリケーションには使用できません。 HSPは使い勝手が悪く、あまり使いたくありません。 そこで、新しく他の言語でプログラミングを始めようと思っています。 Visual Basic Visual C# Visual C++ これらの言語は機能面でどのように違うのか、プログラムの書き方(文法)はどう違うのかなどを教えてください。 (文法面はPerlと違って...Perlと同じで...というふうにPerlを交えていただければ理解しやすいと思います)

  • どのプログラミング言語から勉強すればいいか

    私は中学2年生の14歳です。将来システムエンジニア等の仕事に就きたいと思っており、プログラミング言語の勉強をスタートしようとしています。 ここで疑問が生まれました。どの言語がいいかわからず、調べた結果JavaかC++がお勧めということがわかりました。この2つでは、どちらから勉強すればよいでしょうか?また、勉強する際に参考になるサイトなども教えてくださると嬉しいです。 この2つはやめておいたほうがいい、などの意見でも結構です。 その場合、どの言語がいいかも教えてください。

  • 初めて学ぶプログラミング言語とその参考書について

    こんにちは。 初めて学ぶプログラミング言語とその参考書について質問させていただきます。 現在、中学3年で私立の通信制高校に入学しようとしています。 高校在学中に、趣味でプログラミング言語を覚えたく、参考書もたくさんあり 何が何だか全くわからず、手がつけられない状態です。 C,C#,C++,VB,Javaなどの種類はよく聞きますが、調べてもどれがどのようなメリット・デメリットなどがあるのかがわかりません。 ただ、HP関連も趣味でやっているのでPerlなどに応用が効くような言語がいいかな?とも思います 他にも、将来PICを使ってみたいと思うことがあるかもしれないので対応した言語がいいかとも思います。 それぞれの特徴とおすすめの参考書をお教えください。 よろしくお願い致します。

  • コンピュータ言語とプログラミング言語の違い

    履歴書のようなものに自分のスキルを登録する際に、 「使用したことのあるプログラミング言語を記入してください」とあったので、 C、C++、アセンブラ、Perl、HTML、 としました。 その後、「使うことの出来るコンピュータ言語を記入してください」とありました。 この、「プログラミング言語」と「コンピュータ言語」という定義には何か違いがあるのでしょうか?また、C、C++、アセンブラは間違いないと思うのですが、残りの2つはプログラミング言語に含めてもいいのでしょうか? よろしくお願いいたします。