ภาษาซิมูลา
จากวิกิพีเดีย สารานุกรมเสรี
ภาษาซิมูลา (Simula) เป็นชื่อเรียกรวมของภาษาโปรแกรมคอมพิวเตอร์ 2 ภาษาคือ ภาษาซิมูลา 1 (Simula 1) และภาษาซิมูลา 67 (Simula 67) ภาษาโปรแกรมดังกล่าวนี้ได้เริ่มพัฒนาขึ้นประมาณปี พ.ศ. 2503 เป็นต้นมาที่ "ศูนย์คอมพิวเตอร์นอร์เวย์" (Norwegian Computing Center) ที่นครออสโลโดย โอล-โยฮาน ดาห์ล และ คริสเตน ไนกาอาร์ด ในเชิงวากยสัมพันธ์ยังนับได้ว่าเป็นชุดภาษาโปรแกรมชุด "อัลกอล 60" (Algol 60) ที่เชื่อถือได้มากที่สุดอยู่
ภาษาซิมูลา 67 แนะให้ใช้วัตถุหรืออ็อบเจกต์ คลาส (class) ซับคลาส (subclasses) เวอร์ชวลเมธอด (virtual method) โครูทีน (coroutine) การเก็บขยะ (garbage collection) และเหตุการณ์จำลองไม่ต่อเนื่อง (discrete event simulation)
ซึ่งซิมูลาได้รับการยอมรับว่าเป็นการเขียนภาษาโปรแกรมเชิงอ็อบเจกต์รุ่นแรกสุด แม้บางครั้งแบบจำลองอ็อบเจกต์อาจไม่สมบูรณ์ ดังที่ชื่อของมันบ่งบอกเป็นนัยอยู่ โปรแกรมซิมูลาได้แรกเริ่มออกแบบมาก็เพื่อการจำลองซึ่งก็ได้มีการใช้เนื้อหาของมันมาเป็นพื้นฐาน หรือกรอบงานสำหรับการออกแบบภาษาโปรแกรมเชิงอ็อบเจกต์ทั้งหลายที่ใช้อยู่ในปัจจุบัน
แม้ในปัจจุบันโปรแกรมซิมูลายังมีการนำมาใช้อยู่อย่างกว้างขวง เช่นการจำลองการออกแบบ VLSI โปรแกรมกระบวนการ (processes) โปรโตคอล ภาษาขั้นตอนวิธี และการประยุกต์อื่นๆ เช่นการเรียงพิมพ์ เรขนิเทศคอมพิวเตอร์และด้านการศึกษา เนื่องจากอ็อบเจกต์เชิงซิมูลาได้ถุกนำมาประยุกต์ซ้ำใน ภาษา C++ อิทธิพลของสิมิลาจึงได้รับการกล่าวถึงความสำคัญน้อยกว่าความเป็นจริง
เนื้อหา |
[แก้] ประวัติ
[แก้] โค้ดอย่างง่าย
[แก้] โปรแกรมอย่างน้อยที่สุด
โปรแกรมอย่างน้อยที่สุด(มินิมัล)ของSimula คือไฟล์ว่างเปล่า ซึ่งมีองค์ประกอบเพียง ; (ดัมมี่สเตทเมนท์) เพียงอย่างเดียว. แต่โปรแกรมอย่างน้อยที่สุดก็มักจะเขียนเป็นบล็อกว่างเปล่าตามความนิยมด้วยเช่นกัน
Begin End;
โปรแกรมนี้เริ่มรันและจบลงทันที. โดยในภาษาSimulaจะไม่มีการรีเทิร์นค่าเมื่อจบโปรแกรม.
[แก้] คลาสสิคเฮลโลเวิลด์
โปรแกรมภาษาSimulaแบ่งแยกตัวอักษรเล็กและใหญ่(เคสเซนสิทีฟ) ตัวอย่างต่อไปนี้คือโปรแกรมเฮลโลเวิลด์ในภาษา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
| ภาษาซิมูลา เป็นบทความเกี่ยวกับ ซอฟต์แวร์ หรือ โปรแกรมคอมพิวเตอร์ ที่ยังไม่สมบูรณ์ ต้องการตรวจสอบ เพิ่มเนื้อหา หรือเพิ่มแหล่งอ้างอิง คุณสามารถช่วยเพิ่มเติมหรือแก้ไข เพื่อให้สมบูรณ์มากขึ้น ข้อมูลเกี่ยวกับ ภาษาซิมูลา ในภาษาอื่น อาจสามารถหาอ่านได้จากเมนู ภาษาอื่น ด้านซ้ายมือ |

