- ベストアンサー
プログラミングの種類
初めて質問しますのでどうぞ宜しくお願いします。 最近、プログラミングやIT技術者の業務に関わり「UNIX」や「SQL」や「JAVA」という言葉をよく職場で耳にします。さっぱりわからないのですが、CとかC++とかHTMLとかJava(JavaScript)とかPerlとかPHPとかXMLなどの名前もよく聞きます。 イメージだけでもつけばどうにかついて行けるのですが、どう区別・分類していいのかわかりません。 もし詳しい方がいらっしゃったらプログラミングの漠然としたイメージ像だけでも大きく分類した形で教えて頂けると有難いです。 宜しくお願い致します。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
えーと…ほかの方の回答見てもまだ高度すぎる回答のような(^^; 正直、これだけの回答スペースで質問者さんが納得できるだけの回答をする自身がありません。正直、あまりにも予備知識が少なすぎるように見えます。 とりあえず、言葉の意味が理解できるようになるためのキーワードと、その簡単な説明文をつけました。これらをとっかかりにして、自分でもう少し勉強してください(__) (1) コンピュータ(電子計算機)の基本動作 概容で構いませんので、電式計算機(フォン・ノイマン式コンピュータ)の動作原理を勉強してください。 処理装置(プロセッサ)、主記憶装置、補助記憶装置、入出力装置の役割を正しくこたえられるようになればひとまずOKです。 (これがわかっていると、以下に記述した内容を勉強する際に楽になると思います) (2) 基本ソフトウェア(オペレーション・システム、OS) コンピュータのハードウェアを抽象化し、ワープロなど実際にユーザが使用するプログラムがハードウェアの機能を共通の「手続き」で利用できるようにするためのソフトウェアです。 これも、概要だけの理解で構いません。 UNIX、Windows (Windows XP, Windows Vista)などがこれに相当するソフトウェアです。 (3) アプリケーションプログラム 実際にユーザが使って便利なソフトウェアです。ワープロ、表計算、WWWブラウザなどさまざまなものがあります。通常、ユーザが「プログラム」と認識するのはこのアプリケーションプログラムになります。 OSもプログラムの一種なのですが、OSと対比する意味で「アプリケーションプログラム」という言葉を認識しておいてください。 (4) プログラム言語 基本ソフトやアプリケーションソフトを作成するために使用されるプログラミング用の言語です。 JAVA, C, C++ などがこれに該当します。 この言語で記述された内容は、所定の手続き(コンパイルまたはインタプリティング)を経ることでコンピュータ上で実行することが可能になります。 # ちなみに、JavaとJavascriptはまったく異なるプログラミング言語です (5) データベース(またはDBMS) 大量のデータを一定の書式に基づいて保管し、必要に応じてデータを取り出したり更新したりすることができるアプリケーションプログラムです。 MS-Access, SQL Server , Oracleなどが代表的なものです (6) データベース操作言語 データベースを操作してデータを取り出したり更新したりという操作を、おもにほかのアプリケーションから実施するために定められたプログラミング言語です。"SQL"がこの代表的な言語になります。 (7) 記述言語(マークアップ・ランゲージ) コンテンツを記述するために定められた(アプリケーションプログラム用の)言語です。たとえば、HTMLはWWWページというコンテンツを、WWWブラウザで表示するために使用される言語になります。 XMLもこの仲間になります。そのほか、SGMLやPS (postscript)などもこの手の言語になります。
その他の回答 (6)
- gungnir7
- ベストアンサー率43% (1124/2579)
>日本語テキストの自然文解析や形態素解析の場合、 >開発レベルではPHPが適してる なんか変な聞き方をしますし、説明も変な仕方をしますよね。 まるで本に書いてあることみたい。 多分、単語レベルで分解したテキストデータは PHPで処理すると相性が良いといいたいのではないでしょうか。 この分野は全く触ったことがないので外していたら御勘弁。 形態素解析とか難しい言葉が並んでいますが、 まあ検索してみて下さい。百聞は一見にしかずです。 >文系・理系がプログラムにはあるってことでしょうか? あることはありますよ。主に理系の方にですがね。 同じプログラムを書けといわれても理系の人は理路整然としたがります。 数学や物理というのが如何に簡単なモデルで表現するか。 簡単な式で表現できるほど物理学者は美しいと感嘆します。 そういう世界観なので理系の人は職人芸を出したがります。 ですが、文系の人は難しいコードを提示されてもついて来れない^^; 保守の観点から理系の職人芸は禁止しているところもあります。 一瞬何やっているか分からないようなコードでは 後でその人が辞めたりしたとき、メンテナンスが大変になるからです。
- Toshi0230
- ベストアンサー率51% (836/1635)
> 文系・理系がプログラムにはあるってことでしょうか? あると言って良いような悪いような……(^^; 一言で言えば、「プログラム」とはコンピュータ向けの手順書です。 日本語で書かれた手順書(マニュアル)でも、小説風なものがあったり箇条書き的なものがあったりするように、書く人によってプログラムの記述が変わってくる、というのはあるようです(私自身は開発者じゃないのでよく知りませんが(^^;) ちなみに「アルゴリズム」というのは、問題を解くための手順のことです。手順の組み立て方によって計算量が全く変わってくるので、計算量が多かったりデータ量が多いプログラムを作成する際はどのアルゴリズムを使用するかが重要な要素になります。
お礼
なるほど更に勉強になりました。ご返答有難うございました。
- BWV971
- ベストアンサー率21% (94/439)
>プログラミングの種類 言語で言えば・・・かなり大雑把です。 プログラム言語はコンピュータを動かすための言語です。 文法は言語毎に違います。 コンピュータ動かすには機械語で記述して命令しないとダメですがこれは16進数で記述します。 0~9とA~Fで表記します。これではとても人間が付いていけません。 これを人間でも分かりやすくしたのがアセンブラです。 しかしアセンブラは機械よりなので低級言語と呼ばれています。 さらに人に分かりやすくしたのがCOBOLやFORTRANです。 でもこれは現在主流のGUI系のプログラムには適していません。 VisualBaiscなどのGUIに強い言語があります。 詳細を書けばキリがありません。
お礼
ご回答有難うございました。プログラム言語の原典?の様な感じでしたでしょうか。知識不足なので全てが勉強になります。
補足
GUI系が現在主流とのこと勉強になりましたが、CとかC++とかとかJavaへはどの様につながっていくのでしょうか?全くわからないので、すいません。
- jjon-com
- ベストアンサー率61% (1599/2592)
イメージ像がわからないと言っているんだもの。ケチをつけたくなる人もいるだろう(^^;ことはじゅーぶん承知の上で,あえて図解して言い切ってみる。 +――――+ |パソコン|基本ソフトはWindowsが多いです +――――+ ↑静止WebページはHTMLで書かれています ↑マウス操作による動きはJavaScriptで書きます ↑ +―――+ |Web|基本ソフトはUNIXが多いです |サーバ|プログラムはPerlやPHPで書かれます +―――+ ↓ ↓ ↓ ↓SQLでデータを取り出します ↓+――――――+ ↓|データベース| ↓+――――――+ ↓ ↓XMLで他サービスを呼び出します +――――――+ | Webサービス| +――――――+ 残った C, C++, Java は「汎用プログラム言語」と呼ばれ,Webやインターネットに関係なくても単体で動作するあらゆるプログラムを書くことに使われます。
お礼
ご回答有難うございました。お蔭様でだいぶイメージ掴めました。
補足
Webやインターネットに関係なくても単体で動作するあらゆるプログラムというのは「アルゴリズムでつくられるプログラム」のことでしょうか?しかし、アリゴリズム自体全くわからないので、もし宜しければ可能な範囲で続きの補足像御願いします。
- gungnir7
- ベストアンサー率43% (1124/2579)
IE上で右クリックしてソースを表示させてみて下さい。 それがHTMLです。HTMLはいつでも見れる簡単な言語です。 HTMLでも初めてみるとわけの分からない言葉が並んでいますが、 それが俗にいうコードというものです。 コードは人間が理解するためのもので、コンピュータでは理解できません。 コンピュータに理解させるにはコードを翻訳(実行形式にする)ことですが この翻訳の仕組みをどこにおくかでその言語の性質が分かれます。 HTMLはブラウザが翻訳機になります。 アプリケーションが翻訳機も兼ねるので扱いは簡単ですが遅いです。 JAVAはJAVAランタイムというものをダウンロードしたことがあると 思いますが、そのランタイムが翻訳機になります。 コードはいちいち翻訳機を通さなければいけないのでその分ロスです。 HTMLもJAVAも各自のパソコンに翻訳機があるという点では同じです。 仕様でHTMLは簡単なことしかできませんが、 JAVAは相当高度なことがでいます。 ちなみにJAVA Scriptはブラウザが翻訳機であり どちらかというとHTMLの仲間で、JAVAとは全く違います。 上記に対してCやC++は翻訳の作業を開発サイドで済ませます。 配布されるのは実行形式(ネイティブコード、バイナリともよばれる)で、 既に翻訳の作業を済ませてあるので速度はかなり速いです。 翻訳の性能だけを採ればCやC++の方が断然なのですが、 できた実行形式のものはwindowsならwindows専用、MACならMAC専用と 完全にその環境に依存することになります。 HTMLやJAVAはコードだけ用意すればどの環境でも動きますよというものです。 環境との差異は翻訳する機械(ブラウザやJAVAランタイム)が吸収します。 とりあえず長くなったので言語の見分け方の要点だけ。 PerlやPHPの翻訳の作業がどこで行われているか分かると更に前進します。
お礼
ご回答有難うございました。「翻訳(実行形式にする)」という言葉の意味でわかってきました。場所というかタイミングもあるんですね。
補足
「日本語テキストの自然文解析や形態素解析の場合、開発レベルではPHPが適してる」と仕事場で聞いたんですが、本当でしょうか?というか、どういう意味なのか、すいません、さっぱりわからなかったです。宜しければご返答御願いします。
- Nigun
- ベストアンサー率22% (200/893)
UNIXはOS(オペレーションシステム)です。WindowsXPやVistaなんかと同じような物だと思ってください。 SQLはデータベース言語です。データベースにあるデータを取得する為に使用します(単体で使用される事もありますが、多くの場合は他の言語でSQLを使用します) C,C++,Javaはプログラム言語です。 HTMLは単純に言えば、ホームページはこれを用いて作成されています。
お礼
ご回答有難うございました。
お礼
ご回答有難うございました。仰るとおり勉強不足でございます。お蔭様で段階を追って勉強できる「やる気」がでました。ありがとうございます。
補足
「プログラムは言語といっても芸術的に書く人もいれば、数式でまとめあげる人もいるよ」と現場で余計なこと聞いてしまったんですが、文系・理系がプログラムにはあるってことでしょうか?すいません、もし宜しければ補足を御願いします。