プログラミング言語概論 特徴と言語 プログラミング言語 機械に命令を行うためのもの 機械語を人間が読める形に直したもの 言語毎に得手不得手がある オブジェクト指向プログラミングがブーム 大雑把な分類 低水準言語(機械語,アセンブラ言語等) • 機械が読みやすい(ハードウェア寄りな)言語 高水準言語(C言語やJava) • 人間が読みやすい(開発に向いた)言語 スクリプト言語(シェルスクリプト,PHP) • 動作を記述するだけの簡易的な言語 ※定義が曖昧 低水準言語 コンピュータを直接操作出来るのが特徴 ハードウェアを性能を100%使うことが出来る 汎用性(互換性)は低い 開発にも向いていない 高水準言語に劣っているわけではない 高水準言語 一般的に使われてる言語 色んな種類がある 開発がしやすい コードが読みやすい 裏で勝手に動くブラックボックス的な奴 高水準言語の色々 コンパイラ言語とスクリプト言語がある 宣言型と命令型がある 構造化やオブジェクト指向もある 抽象化とか具体化とかも出来る 選ぶのが大変 コンパイラとスクリプト コンパイラ言語 いわゆる「プログラム言語」と呼ばれているも の.翻訳してから実行する感じ. スクリプト言語 定義が曖昧.コンパイル無しのものを指すこと が多い?翻訳しながら実行するらしい. 宣言型と命令型 記述の発想や目的が異なる.別物. ざっくり言えば • 宣言型:数学的 • 命令型:国語的 普段使ってるのは命令型言語 宣言型 関数,論理,制約やら色んな種類がある 問題の解法に焦点を置いている 必要なものは「問題の性質」と「問題の制約」 「流れ」より「データの処理」を意識する フローチャートが必要ない 代表的な宣言型言語 Prolog(論理プログラミングの基板) Haskell(便利そうなもん全部突っ込んだ) Lisp(2番めに古い高級言語) Scala(Java仮想マシン上で動作) 宣言型まとめ 「データ処理」に重点を置いている 今までのプログラミングとは別の体系 数学や人工知能をメインに使うならオススメ データベース操作も似た書式で記述される やるなら頑張れ 命令型 いわゆる「プログラミング」言語 ノイマン型コンピュータが基本 「流れ」を中心にプログラムを組む 人に指示するようにコーディングが可能 ソースが長くなる傾向 命令型言語の発展 構造化プログラミング 「流れ」をより強く意識 オブジェクト指向プログラミング 「抽象化」による記述の高級化 影響範囲の限定 色々な命令型言語 FORTRAN Cω IronRuby NetLogo BASIC D言語 Noop Lua TestNG GLSL Occam Groovy Object REXX Parrot Mops Piet MUMPS RPG COBO ALGOL C言語 R言語 OoK! Oz C++ Go C# Swift MUSIC-N S言語 Objective-C Max Etoy SQL Python LOGO Eiffel DRLKON Ruby Cg Erlanf Lazy K Perl JMax Ficl CLU 代表的な命令型言語 FORTRAN BASIC COBO ALGOL C言語 C++ C# Objective-C Python Ruby Perl 代表的な命令型言語 FORTRAN BASIC COBO ALGOL C言語 C++ C# Objective-C Python Ruby Perl 新しく言語を勉強したい人へ 作りたいものを探そう C言語を復習しよう 迷ったらJava or C系列(C++,C#,Objective-C) 「人に読んでもらう」のを意識 とりあえず書け
© Copyright 2024 Paperzz