สิมิวลา
จากวิกิพีเดีย สารานุกรมเสรี
สิมิวลา (Simula) เป็นชื่อของภาษาโปรแกรมคอมพิวเตอร์ 2 โปรแกรมคือ สิมิวลา 1 (Simula 1) และ สิมิวลา 67 (Simula 67) ภาษาโปรแกรมดังกล่าวนี้ได้เริ่มพัฒนาขึ้นประมาณปี พ.ศ. 2503 เป็นต้นมาที่ "ศูนย์คอมพิวเตอร์นอร์เวย์" (Norwegian Computing Center) ที่นครออสโลโดย โอล-โยฮาน ดาห์ล และ คริสเตน ไนกาอาร์ด ในเชิงวากยสัมพันธ์ยังนับได้ว่าเป็นชุดภาษาโปรแกรมชุด "อัลกอล 60" (Algol 60) ที่เชื่อถือได้มากที่สุดอยู่
สิมิวลา 67 แนะให้ใช้จุดหมายหรืออ็อบเจกต์ ชั้น (Class) ชั้นย่อย (subclasses) วิธีการเสมือน โครูทีน การเก็บกวาดขยะ และเหตุการณ์จำลองไม่ต่อเนื่อง
ซึ่งสิมิวลาได้รับการยอมรับว่าเป็นการเขียนภาษาโปรแกรมเชิงอ็อบเจกต์รุ่นแรกสุด แม้บางครั้งแบบจำลองอ็อบเจกต์อาจไม่สมบูรณ์ ดังที่ชื่อของมันบ่งบอกเป็นนัยอยู่ โปรแกรมสิมิวลาได้แรกเริ่มออกแบบมาก็เพื่อการจำลองซึ่งก็ได้มีการใช้เนื้อหาของมันมาเป็นพื้นฐาน หรือกรอบงานสำหรับการออกแบบภาษาโปรแกรมเชิงอ็อบเจกต์ทั้งหลายที่ใช้อยู่ในปัจจุบัน
แม้ในปัจจุบันโปรแกรมสิมิวลายังมีการนำมาใช้อยู่อย่างกว้างขวง เช่นการจำลองการออกแบบ VLSI โปรแกรมกรบวบการ (processes) โปรโตคอล ภาษาขั้นตอนวิธี และการประยุกต์อื่นๆ เช่นการเรียงพิมพ์ เรขนิเทศคอมพิวเตอร์และด้านการศึกษา เนื่องจากอ็อบเจกต์เชิงสิมิวลาได้ถุกนำมาประยุกต์ซ้ำใน ภาษา C++ อิทธิพลของสิมิลาจึงได้รับการกล่าวถึงความสำคัญน้อยกว่าความเป็นจริง
สารบัญ |
[แก้] ประวัติ
[แก้] โค้ดอย่างง่าย
[แก้] มินิมัลโปรแกรม
คอมพิวเตอร์ไฟล์ที่ว่างเปล่า ก็คือมินิมัล โปรแกรม ในสิมิวลา, วัดโดยขนาดของmeasured by the size of the แหล่งโค้ด. วึ่งประกอบด้วยส่งเพียงนึ่งเดียวคือ; ต้นแบบร่างหรือดัมมี statement
However, the minimal program is more conveniently represented as an empty block:
Begin End;
It begins executing and immediately terminates. The language does not have any return value from the program itself.
[แก้] คลาสสิกฮัลโลเวิลด์
Note that Simula is case-insensitive. An example of a Hello world program in Simula:
Begin OutText ("Hello World!"); Outimage; End;
[แก้] ชั้น, ชั้นย่อย, และวิธีการเสมือน
A more realistic example with use of classes, subclasses and virtual methods:
Begin Class Glyph; Virtual: Procedure print Is Procedure print;; Begin End; Glyph Class Char (c); Character c; Begin Procedure print; OutChar(c); End; Glyph Class Line (elements); Ref (Glyph) Array elements; Begin Procedure print; Begin Integer i; For i:= 1 Step 1 Until UpperBound (elements, 1) Do elements (i).print; OutImage; End; End; Ref (Glyph) rg; Ref (Glyph) Array rgs (1 : 4); ! Main program; rgs (1):- New Char ('A'); rgs (2):- New Char ('b'); rgs (3):- New Char ('b'); rgs (4):- New Char ('a'); rg:- New Line (rgs); rg.print; End;
[แก้] อ้างอิง
- Compiling Simula Early history of the development of Simula by Jan Rune Holmevik
- IBM System 360/370 Compiler and Historical Documentation The Simula Standard and other historical documentation by Peter Sylvester
[แก้] ดูเพิ่ม
[แก้] แหล่งข้อมูลอื่น
- Introduction to OOP in Simula - By J.Sklenar, based on the 1997 seminar "30 Years of Object Oriented Programming (OOP)" at the U. of Malta
- How Object-Oriented Programming Started - By Dahl and Nygaard, abbrev. version of an encyclopedia article; on Nygaards home page
- Simula at the University of Montreal Includes tutorials, documentation, and links in English and in French
- An Introduction to Programming in Simula A textbook by Rob Pooley now available as HTML
สิมิวลา เป็นบทความเกี่ยวกับ คอมพิวเตอร์ อุปกรณ์คอมพิวเตอร์ หรือ เครือข่าย ที่ยังไม่สมบูรณ์ ต้องการตรวจสอบ เพิ่มเนื้อหา หรือเพิ่มแหล่งอ้างอิง คุณสามารถช่วยเพิ่มเติมหรือแก้ไข เพื่อให้สมบูรณ์มากขึ้น ข้อมูลเกี่ยวกับ สิมิวลา ในภาษาอื่น อาจสามารถหาอ่านได้จากเมนู ภาษาอื่น ด้านซ้ายมือ |