Simula:被认为是第一种面向对象的编程语言?

披露: 您的支持有助于保持网站的正常运行!我们会为此页面上推荐的某些服务收取推荐费.


Simula是1960年代开发的两种紧密相关的计算机编程语言的名称。该语言的第一个版本Simula I是ALGOL的扩展,并添加了特殊工具和功能来辅助模拟真实事件和系统。.

第二种语言Simula 67是在几年后(1967年)开发的,并引入了许多概念,这些概念后来构成了面向对象编程的基础。该语言的版本在其他几种语言的开发中以及整个计算机编程和语言设计的整个学科中都具有巨大的影响力.

Simula中的对象定向

Simula设计用于模拟离散参与者的系统。这导致其发明者创造了一种方法来将事物的定义,事物的属性以及事物的动作封装到单个计算概念中,该概念被称为 “宾语.”

对象代表类别的特定实例,该实例定义某种类型的对象,称为 “类.” 因此,可能有一个名为Person的类,以及一个名为Bob的人的特定实例。.

Simula中也可以有子类。例如,一个国际象棋程序可能有一个用于棋子的类,以及一个用于每种棋子类型的子类:典当,鸦,骑士,主教,女王,国王.

类定义其成员的一般特征,而对象携带该特定对象的相关特定数据.

例如,皇后类可能具有定义皇后如何移动的方法,而对象黑皇后可能具有定义其颜色和当前位置的属性。.

以这种方式设计语言允许(例如)象棋游戏在计算机程序中表示为具有特定能力,位置和历史的棋子的集合。然后,另一个类(玩家)可能具有分析棋盘并做出游戏决策的方法.

Simula的影响

这种思考计算机程序的方式已经成为 “正常” 对于大多数开发人员来说,但这是Simula的全新功能。如今,面向对象已用于各种系统和应用程序,但是需要模拟实际的实际对象才能导致这些技术的发展。.

Simula上的工作几乎直接导致了Smalltalk语言的发展,该语言进一步明确定义了面向对象的概念。 C ++可能是系统编程中最重要的语言,其灵感来自Simula.

而且,当今大多数计算机编程语言都是面向对象的,而面向对象的编程是软件开发人员使用的主要编码范例。从概念上讲,Simula影响了所有这些语言。同样,当今许多最受欢迎的语言并非直接受到Simula的启发,而是受到其他语言的启发或构建。例如,Ruby和PHP均受C启发++.

Simula资源

网站

  • Simula语言概述-Simula中的面向对象编程的详细介绍,以及有关该语言及其开发的许多历史信息.
  • Simula语言参考-语言文档的链接.
  • 模拟过程—过程是附加到类的函数,其他语言通常称为这些函数 “方法.”
  • Simula的诞生-语言的完整历史’的早期发展及其对其他语言的影响.
  • 在线Simula编译器—在浏览器中编译和运行Simula代码.
  • Simula参考—详细的语言历史记录,包含许多有用的链接.
  • Simula语法图.

图书

  • Simula Begin —关于Simula的经典教科书,写于1979年
  • DEMOS基于Simula的离散事件建模系统
  • Simula 67简介
  • 用Simula进行面向对象的编程
  • Simula编程简介
  • 强类型语言中的模拟:Ada,Pascal,Simula…

Simula常见问题

Simula是否面向对象?
大多。 Simula 67(大多数人说的语言 “Simula”)介绍了许多概念,这些概念成为了面向对象编程(OOP)的基础。但是,自1967年以来,OOP领域的理论和实践已经发展了很多,并且Simula并不符合通常被认为对于完全面向对象的语言必不可少的所有特征。.

Simula有什么用?
Simula是为了创建计算机模拟而发明的。这就是导致对象定向发展的原因-需要在系统内模拟的谨慎事物成为第一个 “对象.”

Simula I和Simula 67有什么区别?
Simula I,最初被称为 “Simula,” 是该语言的第一个版本.

1967年发布的Simula 67是一项重大扩展。此版本添加了对象定向和其他功能,这些功能后来成为现代编程语言的标准部分.

今天,任何人在谈论 “Simula” 几乎总是指Simula 67.

人们还在使用Simula吗??
没有那么多。它’不可能这么说 “没有人” 正在使用它,但目前对这种语言的支持和兴趣很低。避风港’很长一段时间以来,Simula上没有任何新书,并且截至本文撰写时,大多数网络资源都已使用多年。.

Simula最受关注的是学者和教育者.

我为什么要学习Simula?
如果您的目标是学习编码,以便您可以构建应用程序并以开发人员为生,那么您可能不应该’t。在这一点上,Simula作为一种历史语言最为重要。如果您有兴趣探索面向对象编程范例的开发,那将是一门值得学习的语言。.

而且,像所有较旧的语言一样,有一些遗留的Simula程序在狂野使用,仍然在使用。如果要求您使用这些程序之一(或将其替换为现代系统),则您’我需要学习语言.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map