基本的なコンピュータプログラミング言語の開発[プログラミング言語]

最初の電子計算機の出現以来、人間のコミュニケーションとマシンが主要な研究ソフトウェアエンジニア、コンピュータの専門家になってきた、より効率的で簡単なプログラミング言語は、コンピュータの急速な発展に伴い、ソフトウェアエンジニアの新しい寵児となっています、ハードウェアのアップグレードコンピュータの速度より速く、より速く、ますます厳しくなるプログラミング言語の要件。過去数十年では、プログラミング言語は、これまで大きな進歩を遂げた第四世代言語の登場となっています。要件と異なる分野のソフトウェア機能をプログラミング満たすために、プログラミング言語の多くは、最終的には今へと進化し、このような開発プロセスとして、置換、変更されて経験したプログラミング言語を多様化。

機械指向の機械語の第一世代の
概念
  コンピュータを識別し、直接機械命令のセットによって実行するバイナリコードで表されます。これは、コンピュータの動作機能のコンピュータのハードウェア構成によって与えられたコンピュータのデザイナーです。
特性
(1)機械語命令が意味のあるバイナリコードのセットである文である、そのようなオペレーションコードは、命令の操作と機能の性質を示すことを特徴とする請求オペレーションコードフィールドとアドレス・コード・フィールドのような基本的なフォーマット命令、アドレスコードは、オペランドまたはオペランドのアドレスを与えています。
機械(2):異なるモデルのための一般的なコンピュータの機械語は、携帯性が悪い、乏しい再利用異なっています。フォーマットを表しており、コードの意味各マシン命令、必須であり、これも機械語と呼ばれる機械指向言語と呼ばれます。
例えば、コンピュータ・ワード長は、二進数16命令または他の情報がある、すなわち、16ビットです。1 0及び16は、電気信号に回線を介して、順列の種々の様々な動作を実行するようにコンピュータを構成することができます。
命令は1,011,011,000,000,000特定のコンピュータであり、それは加算演算を表すと、コンピュータを可能にし、1011010100000000は、減算演算のための命令を表します。彼らのフロントオペレーションコード8は、8つのアドレスコードを表します。2つの命令を上から見ることができる、彼らはビット0の左側からオペコードであり、異なる7の6ビット。そのようなモデルは、256(= 2 8パワー)異なる命令を含むことができます。
(3)CPU、レジスタ、メモリ、統合されたハードウェアは、命令の対応するセットを有する、例えば、CPUのCPUの機械語のと呼ばれる命令は、機械語がプログラム、実用的なシステム、組成物からの適切な命令CPUコマンドの選択であります一連の命令;;
例:
命令部分の例
  負荷(荷重)の0000の代表的な
  メモリ(SET)を表す0001
Bを、サンプルレジスタの一部
  レジスタAに代わって0000
  レジスタBの代わりに0001
実施例C、メモリの大部分の
  メモリアドレスの000000000000代表が0である
  メモリのアドレスの000000000001代表1
  メモリのアドレスの000 000 001 000 16代表的な
  メモリ・アドレスの代わりに1000億2 ^ 11である
D、統合例
  0000,0000,000000001000代表LOADA、16人の
  0000,0000,000000000001代表のLOADB ,. 1人の
  0000,0001,000000001000代表のSTOREA、16人の
  1 0000,0001,000000000001代表のstoreb操作,.
(4)貧しい読み取ることができます

機械用のアセンブリ言語の第二世代
の概念は
  のための低レベル言語コンピュータ、マイクロプロセッサ、マイクロコントローラまたは他のプログラム可能な装置です。アセンブリ言語、マシンコードニーモニック代わりの代わりにも記号言語として知られているアドレス操作のシンボル番号のアドレスと動作命令に。

特性
マシン(1):異なるデバイス、組立工程を経て機械命令に機械語の異なるセットにアセンブリ言語命令に相当します。1に固有のアセンブリ言語と機械語命令セットの特定の1、異なるプラットフォーム間で直接移植可能ではありません。
;(2)高効率、それは、通常、基礎となるハードウェアやドライバなど、最適化動作要求の厳しいアプリケーションでは、プログラムを実行するためのリアルタイム埋め込みオペレーティングシステムアプリケーションで使用される
機械語よりも(3)単純と可読性良い、例えば、デジタル論理の「ADD」の代表で加減算、「MOV」のデータ転送表す
(4)マシンがバイナリ文字にアセンブラ言語コンパイラの必要性を認識していないが、コンピュータによって認識することができ、選択されたコンパイラこれは、ターゲットプロセッサとプラットフォームの特定のタイプに依存します

例:ほとんどが8088分の8086アセンブリ言語に基づいており、異なるチップは、いくつかの拡張命令を持っています。

プロセス指向の第三世代の高レベル言語、

概念
  、言語、また、プロセス指向の構造化プログラミング言語として知られています。プロセス指向のプログラミングでは、問題は、一連のタスクが実行されるよう、機能は、問題解決のフォーカス機能に焦点を当てて、これらのタスクを達成するために使用されて見られています。
(1)プロセス指向の処理タスクに関係なく、コンピュータのハードウェア関連のある機械語プログラムにハードウェア構成が、プロセス指向のコンパイラ言語プログラムの
天然の発現(2)文近いです

たとえば、次のC言語

第四世代のオブジェクト指向言語の
オブジェクト指向の現実世界の理解と抽象的で、ある段階までコンピュータプログラミング技術の発展の産物です。オブジェクト指向のプロセス指向のオブジェクト指向のアプローチの観点に関して、関連するデータおよびメソッド全体として組織を見て、より高いレベルから、より近いものの動作の固有モードにモデル化するシステムに関する。

このようなC ++やJava、Pythonなど


第五世代言語自然言語

コンセプト

  ヘルプの人々は推論、控除プログラムを書くための知識も人工知能言語や言語として知られている、目標は、日常生活の言語は、それは主に人工知能の分野で使用されている最も近いプログラミング言語です。
人工知能技術は、問題を解決するために、多くの場合、すべての知識は、固定プログラムに具現化されて置くことができません。通常、私たちは、環境問題に応じて自分自身の行動を決定し、情報を入力するためのプログラムを(事実と推論規則を含む)知識ベースを構築する必要があり、それが導かれた環境モードで推論されるように、解決することが与えられました。この方法は、大きな柔軟性、対話する能力を持って、自己説明と学習能力があります。第五世代言語は、まだ本当の意味で現れていません

おすすめ

転載: www.cnblogs.com/cac2020/p/12028492.html