สิมิวลา

จากวิกิพีเดีย สารานุกรมเสรี

สิมิวลา (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;

[แก้] อ้างอิง

[แก้] ดูเพิ่ม

[แก้] แหล่งข้อมูลอื่น


 สิมิวลา เป็นบทความเกี่ยวกับ คอมพิวเตอร์ อุปกรณ์คอมพิวเตอร์ หรือ เครือข่าย ที่ยังไม่สมบูรณ์ ต้องการตรวจสอบ เพิ่มเนื้อหา หรือเพิ่มแหล่งอ้างอิง คุณสามารถช่วยเพิ่มเติมหรือแก้ไข เพื่อให้สมบูรณ์มากขึ้น
ข้อมูลเกี่ยวกับ สิมิวลา ในภาษาอื่น อาจสามารถหาอ่านได้จากเมนู ภาษาอื่น ด้านซ้ายมือ