Note that the categories are by no means mutually exclusive. Indeed, many languages can be placed in more
than one category.
The single most important category has to be purely visual languages. Such languages are characterized
by their reliance on visual techniques throughout the programming process. The programmer manipulates
icons or other graphical representations to create a program which is subsequently debugged and executed
in the same visual environment. The program is compiled directly from its visual representation and is
never translated into an interim text-based language. Examples of such completely visual systems include
VIPR, Prograph, and PICT, the first two of which will be discussed in more detail below. In much of the
literature in the field, this category is further subdivided into sections like iconic and non-iconic languages,
object-oriented, functional, and imperative languages [Chang 1987, Burnett & Baker 1994]. However, for
our purposes a slightly larger granularity helps to emphasize the major visually-oriented differences between
various VPLs.
One important subset of VPLs attempts to combine both visual and textual elements. These hybrid
systems include both those in which programs are created visually and then translated into an underlying
high-level textual language and systems which involve the use of graphical elements in an otherwise textual
language. Examples in this category include Rehearsal World and work by Erwig et. al. In the former,
the user trains the system to solve a particular problem by manipulating graphical “actors,” and then the
systems generates a Smalltalk program to implement the solution [Finzer & Gould 1984]. The latter involves
work on developing extensions to languages like C and C++which allow programmers to intersperse their
text code with diagrams [Erwig & Meyer 1995]. For instance, one can define a linked list data structure
textually and then perform an operation like deletion of a node by drawing the steps in the process.
In addition to these two major categories, many VPLs fall into a variety of smaller classifications. For
example, a number of VPLs follow in the footsteps of Pygmalion by allowing the user to create and manipulate
graphical objects with which to “teach” the system how to perform a particular task. Rehearsal World,
described above, fits into this category of programming by example. Some VPLs can trace their lineage
back, in part, to Sutherland’s constraint manipulations in Sketchpad. These constraint-oriented systems
are especially popular for simulation design, in which a programmer models physical objects as objects in
the visual environment which are subject to constraints designed to mimic the behavior of natural laws,
like gravity. Constraint-oriented systems have also found application in the development of graphical user
interfaces. Thinglab and ARK, both primarily simulation VPLs, stand out as quintessential examples of
constraint-based languages [Smith 1986, Borning 1981]. A few VPLs have borrowed their visualization and
programming metaphors from spreadsheets. These languages can be classified as form-based VPLs. They
represent programming as altering a group of interconnected cells over time and often allow the programmer
to visualize the execution of a program as a sequence of different cell states which progress through
time [Burnett & Ambler 1992]. Forms/3 is the current incarnation of the progenitor of this type of VPL,
and it will be covered in detail below. It is important to note that in each of the categories mentioned above,
we can find examples of both general-purpose VPLs and languages designed for domain-specific applications.
The field of visual programming has evolved greatly over the last ten years. Continual development and
refinement of languages in the categories discussed above have led to some work which was initially considered
to be part of the field being reclassified as related to but not actually exemplifying visual programming. These
VPL orphans, so to speak, include algorithm animation systems, such as BALSA [Brown & Sedgewick 1984],
which provide interactive graphical displays of executing programs and graphical user interface development
tools, like those provided with many modern compilers including Microsoft Visual C++. Both types of
systems certainly include highly visual components
โปรดทราบว่าประเภทเป็นไม่ได้พิเศษร่วมกัน แน่นอน หลายภาษา สามารถวางในเพิ่มเติมประเภทมากกว่าหนึ่งประเภทเดียวที่สําคัญที่สุดต้องเป็นภาษาภาพหมดจด เช่นภาษามีลักษณะโดยการพึ่งพาเทคนิคตลอดกระบวนการการเขียนโปรแกรม โปรแกรมเมอร์จัดการไอคอนหรือภาพกราฟิกอื่น ๆเพื่อสร้างโปรแกรมซึ่งต่อมาดีบั๊กและประหารภาพในสภาพแวดล้อมเดียวกัน โปรแกรมที่รวบรวมโดยตรงจากการเป็นตัวแทนของภาพ และไม่เคยแปลเป็นภาษาแบบชั่วคราว ตัวอย่างของระบบรวมถึงภาพดังกล่าวอย่างสมบูรณ์vipr prograph , และ , PICT , แรกที่สองซึ่งจะอธิบายในรายละเอียดเพิ่มเติมด้านล่าง ในมากของวรรณกรรมในฟิลด์ ประเภทนี้จะแบ่งย่อยต่อไปเป็นส่วนที่โดดเด่นและไม่เหมือนสัญลักษณ์ภาษาเชิงวัตถุ , หน้าที่ , และคำสั่ง ภาษา [ ชาง 1987 Burnett และเบเกอร์ 1994 ] อย่างไรก็ตามของเรามีขนาดใหญ่กว่าเล็กน้อยเป็น granularity ช่วยเน้นหลักการเน้นความแตกต่างระหว่างvpls ต่าง ๆหนึ่งที่สำคัญย่อยของ vpls ความพยายามที่จะรวมทั้งภาพและข้อความ องค์ประกอบ เหล่านี้ไฮบริดระบบรวมทั้งผู้ที่อยู่ในโปรแกรมที่สร้างขึ้น มองเห็น แล้วแปลเป็นเป็นต้นข้อความภาษาระดับสูงและระบบที่เกี่ยวข้องกับการใช้องค์ประกอบแบบกราฟิกในมิฉะนั้นข้อความภาษา ตัวอย่างในหมวดหมู่นี้รวมถึงการฝึกซ้อมและโลกทำงานโดย erwig et al . ใน อดีตผู้ใช้รถไฟระบบเพื่อแก้ปัญหาเฉพาะโดยจัดการนักแสดงกราฟิก " , " แล้วระบบจะสร้างโปรแกรม Smalltalk ใช้โซลูชั่น finzer & กูล [ 1984 ] หลัง เกี่ยวข้องกับงานในการพัฒนาส่วนขยายของภาษาเช่น C และ C + + ซึ่งช่วยให้โปรแกรมเมอร์กระจายของพวกเขาข้อความรหัสด้วยแผนภาพ [ erwig & เมเยอร์ 1995 ] ตัวอย่างเช่นหนึ่งสามารถกำหนดรายการโครงสร้างการเชื่อมโยงข้อมูลTextually แล้วผ่าตัด เช่น การลบโหนดโดยการวาดขั้นตอนในกระบวนการนอกจากนี้เหล่านี้เป็นสองประเภทหลัก หลาย vpls ตกอยู่ในหลากหลายหมวดหมู่ที่เล็กลง สำหรับตัวอย่าง จำนวน vpls ตามรอยเท้าของพิกเมเลียนโดยอนุญาตให้ผู้ใช้สามารถสร้างและจัดการวัตถุกราฟิกที่ต้อง " สอน " ระบบวิธีการดําเนินงานโดยเฉพาะ ซ้อมโลกที่อธิบายข้างต้น พอดีในประเภทของโปรแกรม โดยตัวอย่างนี้ vpls สามารถติดตามเชื้อสายของพวกเขาบางกลับมา ในส่วน ของการตกแต่งใน Sutherland Sketchpad . เหล่านี้ข้อจำกัดเชิงระบบโดยเฉพาะอย่างยิ่งเป็นที่นิยมสำหรับการออกแบบจำลอง ซึ่งเป็นวัตถุในวัตถุทางกายภาพแบบโปรแกรมเมอร์ภาพสิ่งแวดล้อม ซึ่งอาจมีข้อจำกัดที่ออกแบบมาเพื่อเลียนแบบพฤติกรรมของกฎหมายธรรมชาติเหมือนมีแรงดึงดูด การวางระบบยังพบการประยุกต์ใช้ในการพัฒนาของผู้ใช้แบบกราฟิกอินเทอร์เฟซ . และ thinglab หีบทั้งหลักจำลอง vpls ยืนออกมาเป็นตัวอย่างเป็นแก่นสารของการใช้ภาษา [ Smith 1986 ถือกำเนิด 1981 ] ไม่กี่ vpls ยืมภาพและโปรแกรมเปรียบเทียบจากข้อมูล ภาษาเหล่านี้สามารถจัดเป็นรูปแบบตาม vpls . พวกเขาแสดงโปรแกรมที่เปลี่ยนกลุ่มของเซลล์ที่เชื่อมต่อกันตลอดเวลา และมักจะอนุญาตให้โปรแกรมเมอร์เห็นภาพการทำงานของโปรแกรมเป็นลำดับของความแตกต่างของเซลล์ ซึ่งความคืบหน้าผ่านรัฐเวลา [ Burnett & แห่งสวีเดน 2535 ] รูปแบบ / 3 เป็นชาติภพปัจจุบันของบรรพบุรุษของ vpl ชนิดนี้และจะครอบคลุมในรายละเอียดด้านล่าง มันเป็นสิ่งสำคัญที่จะทราบว่าในแต่ละประเภทที่กล่าวไว้ข้างต้นเราสามารถหาตัวอย่างของทั้งสองเครื่อง vpls และภาษาออกแบบมาเพื่อการใช้งานเฉพาะโดเมนด้านการเขียนโปรแกรม Visual มีการพัฒนาอย่างมากในช่วง 10 ปีที่ผ่านมา การพัฒนาอย่างต่อเนื่องและการปรับแต่งของภาษาในประเภทที่กล่าวข้างต้นทำให้บางงานซึ่งได้รับการพิจารณาเริ่มต้นเป็นส่วนหนึ่งของเขตข้อมูลที่เกี่ยวข้องกับเป็นงวดแต่ไม่ได้ยกตัวอย่างการเขียนโปรแกรมที่มองเห็น เหล่านี้vpl เด็กกำพร้า ดังนั้น speak ไป รวมถึงขั้นตอนวิธีภาพเคลื่อนไหวระบบ เช่น balsa เซดจ์วิค 1984 [ สีน้ำตาล ]ซึ่งให้บริการแบบโต้ตอบแสดงกราฟิกของการรันโปรแกรมและการพัฒนาอินเตอร์เฟซผู้ใช้แบบกราฟิกเครื่องมือเหล่านั้นให้กับคอมไพเลอร์ที่ทันสมัยมากมายรวมถึง Microsoft Visual C + + ทั้งสองประเภทของระบบประกอบด้วยองค์ประกอบภาพสูงอย่างแน่นอน
การแปล กรุณารอสักครู่..
