All Programming Languages, With Support Of Mayar By Karar Ismail Ibrahim Dr. Abdul-wahab Sami Ibrahim Dr. Baidaa Abdul-khaliq Atya LECT. Farah Neamah Abbas Al-shammary كرار إسماعيل إبراهيم عبذالوهاب سامي إبراهيم. د. م.أ بيذاء عبذالخالق عطيه. د.م فرح نعمه عباس الشمري.مذرس 2023 Email : kararismail@icloud.com Phone : 9647712175735 • Book : All Programming Languages, With Support of Mayar • Written by: Karar Ismail Ibrahim Dr. Abdul-wahab Sami Ibrahim Dr. Baidaa Abdul-khaliq Atya LECT. Farah Neamah Abbas Al-shammary • Edition: First (2023) AD • Number of pages: (486) Deposit number (420) In the House of Books and Documents in Baghdad for the year 2023 2 ﻗﺎل ﺗﻌﺎﻟﻰ: ﺑﺴﻢ ﷲ اﻟﺮﺣٰﻤﻦ اﻟﺮﺣﯿﻢ ت َو ﱠ " ﯾَْﺮﻓَﻊِ ﱠ <ُ اﻟﱠِﺬﯾَﻦ آَﻣﻨُﻮا ِﻣْﻨُﻜْﻢ َواﻟﱠِﺬﯾَﻦ أ ُوﺗ ُﻮا اْﻟِﻌْﻠَﻢ دََرَﺟﺎ ٍ <ُ ِﺑَﻤﺎ ﺗ َْﻌَﻤﻠُﻮَن َﺧِﺒﯿٌﺮ " ﺳﻮرة اﻟﻤﺠﺎدﻟﺔ آﯾﺔ 11ﺻﻔﺤﺔ 543 3 Abstract My main aim in this book is to provide the most informative discussion of all programming languages that currently exist or have been around for a while. Then I will categorize them into appropriate groups. Through this book, I will evaluate and analyze these languages by comparing their strengths, weaknesses, and features such as program structure, declaration of variables, data types, data structures, control structures, parameter passing mechanisms, etc. There are many programming languages used in writing the program, and the difference between the same languages or only in the way each type of command and generalization is expressed. 4 Introduction On the 12th of March 2000 AD at 11:11 am. In the east of the Iraqi capital, Baghdad, a boy was born, and from that moment on, magic began to happen, everything began to change... That’s night, the boy’s family did not sleep because they were so happy that they had their first child. And in the midst of the bad conditions that this family was going through at that time, as well as the situation of all the Iraqi people, and from the moment this boy was born, the conditions of this family began to improve. It seems that God’s kindness and care for this family was present. This boy grew up in an educated, understanding and considerate family, and he was the most beautiful child ever. His family did not allow him to play and socialize with other children, fearing for him. He grew up and grew up on good morals, and as a result of that treatment he grew up, and his great morals overshadowed his beautiful appearance, and God’s generosity and generosity continued to this boy and his family by providing them with brothers who were and still are better than anyone can imagine. He was distinguished in his studies earlier than his counterparts in their intelligence, and wherever he was placed, he was the best. He is the kind who likes to help, even if it hurts himself. He was and still cares about those close to his heart more than he cares about himself. Years passed, and this boy grew up, and on the 1st of October, at the age of nineteen, he decided to start relying on himself and to choose a path to achieve his desired dream. He began his journey and continued walking for several weeks until he reached a place known as the “Kingdom of Al-Mustansiriya”. Because of its large size, he needed people to guide him in the kingdom. Before he found someone to guide him , he met “Mayar” (When he see her suddenly this name appeared in front of him from nowhere) and she talked a little , but he could not understand anything from her because she spoke in a language different from his. Suddenly, Mayar disappeared, and he did not know anything about her, and without knowing who she was and why she spoke to him, so he swore to himself and decided to search for her all over the kingdom. His clothes were strange to the clothes of the inhabitants of the kingdom, so whoever sees him says that he is a person from outside the kingdom. Here a girl saw him and said to him: Are you a stranger to this place? He said: Yes, I am, and I need someone to talk to me about everything about this kingdom. She ask him and why you want that ? He said ,because as soon as I arrived in this place, I saw a person and wanted to find it, so tell me about everything. She started talking and said this place is known as the Kingdom of Al-Mustansiriya, the second largest kingdom in the iraq (Iraq is our world ), and it is divided into 13 regions and currently there are six strong regions and each of them has a prince who manages its affairs, and the description of the people of each region is found in the name of its prince. She said, for example, I will tell you about the seven most famous things in the Kingdom: 5 1. 2. 3. 4. 5. 6. 7. Princess Farah and her friends Prince Salah and his Fame Moses and Taha, Princes of Magic Aseel, Princess of Beauty Bashaa’r, The Sleeping Princess Tuqa, Princess of Butterflies The Inhabitants of the six Provinces And I will tell you about them later, now tell me what do you want to know again? So he told her that he had seen a Mayar, then it disappeared by surprise, and he did not understand anything from it, and that he needed to learn the language of the inhabitants of this kingdom so that he could understand it when he saw it... This girl burst out laughing and said to him, Are you kidding?! Surprised individual, why? He replied that the inhabitants of this kingdom only speak programming languages, and there are more than 717 languages, so which one do you want to learn!!! He asked her to explain it all to him because he did not know which language Mayar spoke.So I started explaining the languages according to the English alphabet. By about two years, he learned part of these languages. Until this moment, everything is fine, but there was a problem facing him, which is that when he sees her, he loses the sense of time and place, and he cannot speak. He only looks at her. Every day at the same time he came to this life “11:11am”, he sees her for a moment and then she disappears. He believed that seeing her at this time was a sign that good things would happen to him. So he was keen to meet her and get to know her more, because this time is his favorite time, which he feels is the time for wish fulfillment. It was his wish.One day, the girl and her friends whom taught him and programming languages asked him to describe a Mayar to them, so he was silent for a while, then sighed and said, How do I describe it and where do I start? It has become a part of my day and my life. When I sit alone, she is beside me, even if I am in a group, she never leaves my mind. When I walk on a path, she holds my hand. Nothing scares me anymore because I feel that she is close to me. And whenever I had a problem, she supported me in one way or another, without saying a single word, she just smiled, and everything became easy and beautiful. And literally, she is shy, quiet, lovable, her Styles is nice, the most elegant person in the kingdom, and she has the best laugh ever...etc, even though I only see her once a day but that is my feel about her. 6 Now let’s talk about : 1. Princess Farah and her friends When he arrived in the kingdom and his clothes were strange from the clothes of the people of the kingdom, the girl who saw him said to him: Are you a stranger to this place? And she began to talk to him about the kingdom. She is Princess Farah, (Figure 1) one of the princesses of the kingdom, and she and her friends took it upon themselves to help all the inhabitants of the kingdom and strangers because they were responsible for providing advice and guidance to those who needed it. Figure 1 7 2. Prince Salah and his Fame Salah is my first friend after Princess Farah, and he is the prince of the southern region of the Kingdom (Figure 2). The residents of his region are famous and divided according to the programming languages they speak into several classifications, (Table 1). Figure 2 : Prince Salah (Table 1) Classification of programming languages according to the ( TIOBE & PYPL) classifies Seq. 1 2 3 4 5 6 7 8 9 10 CLASSIFY TIOBE Python C Java C++ C# Visual Basic JavaScript SQL Assembly Swift 8 CLASSIFY PYPL Python Java JavaScript C# C++ & C PHP R Typescript Objective-C Swift 3. Moses and Taha, Princes of Magic Moses and Taha are my two friends whom I met later, and they are the princes of the southeastern region of the kingdom (Figure 3). The population of their province is famous and is divided according to the programming languages they speak into five languages and these five languages should not be learned at the present time, because these languages struggle to attract the attention of developers and employers for certain reasons. And because it draws on a range of popular sources and platforms like GitHub, Twitter, Stack Overflow, Freenode, Reddit, etc. These five languages that you should not learn, (Table 2). Figure 3 : Moses and Taha (Table 2) languages that you should not learn Seq. Magic (languages stay away from them) Elm CoffeeScript Erlang Lua Perl 1 2 3 4 5 9 4. Aseel, Princess of Beauty Aseel is the princess of the north-east of the kingdom (Figure 4) and the people of her province are famous for their beauty and their languages are widely spoken and their languages were the most used among developers around the world such as JavaScript and HTML/CSS,(Table 3) with more than 65 percent of respondents stating that they have used JavaScript and just over 55 percent using HTML / css. Python, SQL, and TypeScript rounded out the top five most widely used programming languages around the world. Figure 4 : Princess Aseel 10 (Table 3) Classification of programming languages according to the most used among professional developers Seq. 1 2 3 4 5 6 7 8 9 10 The most used among professional developers JavaScript HTML/CSS SQL Python Typescript Java Bash/Shell C# C++ PHP 11 5. Bashaa'r, The Sleeping Princess Princess Bashaa’r, the princess of the northern region of the Kingdom, (Figure 5) is one of the nicest people I have seen ever. She is kind and easy to deal with, anyone who sees her falls in love with her... The residents of her region speak the most easiest programming languages(Table 4). When it comes to the basics of the programming language, here we can talk about the method of writing the code, specifically how to write variables, comments, conditional sentences, arrays, etc., these things you will find in all programming languages, if you learn one programming language, then you can learn any other programming language easily. What distinguishes those languages is that they’re are very easy, not in terms of writing the code, you can do a lot with fewer lines of code, nor in terms of understanding the code, as it is one of the easiest and most beautiful programming languages, and learning it enables you to enter many areas, including the web, desktop applications and much more.Its goal is to make programming fun and easy. Figure 5 : Princess Bashaa’r 12 (Table 4) Classification of programming languages according to the Simplicity Seq. 1 2 3 4 5 6 7 8 9 10 Simplicity HTML CSS JavaScript Python Java SQL C++ C C# PHP 13 6. Tuqa, Princess of Butterflies Tuqa is the nicest person I have ever met. She is the first person to help me get to the "Mayar". She is considered the princess of the west of the kingdom, (Figure 6). The inhabitants of her province speak languages with a short life (the butterfly is born and about the day her life ends). About nine Arabic programming languages, of which the Arab student does not know anything, and even scholars in the field of specialization have not heard of them. : Figure 6 : Princess Tuqa 14 Here is the list of Arabic languages 1. Amuriyah - an open-source, object-oriented Arabic language. 2. Logo Arabic - an Arabic programming language based on Logo language. 3. C - An Arabic programming language based on C-like syntax with graphical capabilities. 4. Lughati - is a multi-purpose Arabic programming language with its own format. 5. Phoenix - a procedural Arabic programming language similar to the C language. 6. Kalimat - an Arabic programming language similar to C. 7. Zai language - an Arabic programming environment to teach beginners programming in the Zai language. 8. Heart. 9. Creative language. The dominance of the English language over the technology of the computer industry forced users to turn towards programming languages that address computers with English words and names such as Java, C, Pascal, and others. 15 7. The Inhabitants of the six Provinces Every year, tests are conducted all over the world, and these tests are passed by a group of people. The best among them is chosen, accepted, and considered among the population of the Kingdom (Figure 7). The nice thing here is the diversity of cultures, where you can see the whole world in one place through the people you get to know and meet with. Figure 7 : Al-Mustansiriya University 16 Conclusion A person has no limits, he can make something important out of himself and influence those around him. until this moment, I did not say who is " Mayar ", because everyone sees her according to his condition. The person who fall in love sees her as his lover, and whoever needs a friend he sees her like that , and who lost a loved one sees her as that person , and who dreams of a job or a brilliant future sees her as well , and who is far from his family and country sees her as his family and his home, and the fearful person sees it as the safety that reassures him ... All that was mentioned are real names, times and all places as well , all of that were happened with me. The year 2023 is the last year for me as an ordinary citizen in the Kingdom, and God willing, by the end of this year I will join the team of Princess Farah and her friends and become a prince who helps everyone who has lost his way and is looking for his mayar... I believe in the saying that blessings last forever, so I did not tell anyone about it. It was really my blessing. A lot of things happened to me and she was with me, and for the sake of these nice things that were between us and until now, it makes me happy when I remember them. I am ready to search for them once, twice, and ten times until I reach them. Because of her encouragement, I feel that I can face the impossible, and I will not hesitate to do so, because I feel her presence near me and always supporting me. If she were in front of me now, I would say to her, may God help you, make you happy, and protect you. Do not forget that after God, after you, and after your family, there is a person who is ready to give you his eyes if you ask for them. He is by your side and supports you in every step and prays for you in all my prayers. thats what I really Wanna . She is still with me in everything except my reality, even if I never meet her and see her again or she will not be with me, even if circumstances and fates separate us , for a moment I was happy with her, I will never forget her and will continue to search for her until I find her. I thank God for His grace and kindness to me. I thank my father, my mother and my brothers who supported me with every step of my life and never fell short with me. I thank my teachers who were with me step by step. I am grateful to my friends who have always supported me and grateful to the people close to me that I did not mention. Thank you all, you are in my heart, I will never forget you as long as I live. Let me saying thank God that I am still alive. Everyone in this world has a gift from God whether they already know it or not, and they should be grateful about it. In this special moment, I have a chance to share with all of you what I have done. First of all, I feel very lucky because this life is so wonderful for me to live. I can use my life the best things I can do. The main point of the thing I am presenting to you is love. I love my family, friends and everyone who always supports me in this life. I love my mom and dad. I love them, although sometimes I make them sad and frustrated with me. However, I thank you for all your help in my life. You make me know what is best in my life, the meaning of this life. 17 Last but not least, I am gifted with exceptional talent that I can develop, especially in the field of computer science. Alhamdulillah always and forever, I am talented. The goal of a list of programming languages is to contain all the names of programming languages in one area (Table5), whether these languages are ancient or modern, and in English alphabetical order.[1] (Table 5) Number of languages for each character Languages starting with a letter A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Summation No. of them 51 16 66 17 30 29 26 20 10 22 16 35 49 22 29 61 8 22 70 27 7 10 7 17 3 10 680 18 1. A.NET (A#/A sharp) Sharp is an open supply a present day item-orientated programming language that objectives to bridge the space among present day expressive programming paradigms and strictly typed inflexible languages like Java and C#. My aim is to offer the usefulness of an item orientated programming language, whilst protecting the simplicity of an expressive programming language while not having to sacrifice performance. Sharp is elegantly simple. mod app; def main() { print("hello, world!"); } The syntax in Sharp is easy, smooth to read, and exquisite permitting you to cognizance extra on what the code is doing alternatively that the syntax. The language library comes preferred with a complete light-weight multi-threading library undertaking that makes managing paintings withinside the historical past easy to prepare however appears appropriate as well.Sharp helps numerous convient functions that enhance the general revel in with programming withinside the language. Sharp has a multi-language stimulated syntax taking the splendor of languages which includes JavaScript, python, Java, Go, and C#. While expressing it in a extra concise way. sharp helps nameless capabilities that make it smooth to summary away blocks of code with out the want to claim a group of on-time use capabilities on your code.[2] 2. A-0 System The A-zero machine (Arithmetic Language model zero), written with the aid of using Grace Murray Hopper in 1951 and 1952 for the UNIVAC I, became an early compiler associated device evolved for digital computers. The A-zero functioned greater as a loader or linker than the current perception of a compiler. A application became particular as a chain of subroutines and its arguments. The subroutines have been diagnosed with the aid of using a numeric code and the arguments to the subroutines have been written at once after every subroutine code. The A-zero machine transformed the specification into device code that would be fed into the laptop a 2nd time to execute the stated application.The A-zero machine became accompanied with the aid of using the A-1, A-2 A-3 (launched as ARITH-MATIC), AT-3 (launched as MATH-MATIC) and B-zero (launched as FLOW-MATIC).The A-2 machine became evolved on the UNIVAC department of Remington Rand in 1953 and launched to clients with the aid of using the stop of that 12 months Customers have been supplied the supply code for A-2 and invited to ship their enhancements returned to UNIVAC. Thus, A-2 will be taken into consideration an instance of the end result of an early philosophy just like loose and open-supply software.[3] 19 3. A+ (A plus) A+ is an array-primarily based totally programming language made through Arthur Whitney. “A” become the unique language, however later A+ become created to be a extra effective and green alternative. The language consists of many features, inclusive of an X11-primarily based totally portraits device package that complements IPC capability in A+. It’s additionally a higher-degree language with fantastic quantities of primitive capabilities to without problems manage arrays. The language is a dialect of APL and consists of a graphical consumer interface and inter-procedure communique even as programming. Not to mention, you could make use of reactive programming in A+ through converting one piece of records to cause others. Programming in A+ lets in customers to installation dependencies thru variables so entire structures can alternate. This function lets in the programmer to have effective gear like spreadsheets and complicated calculators. However, a disadvantage even as coding may be having to alternate fonts for the diverse hieroglyphics used withinside the APL .[4] • An example of an if statement in A+ can be written as: If (a=b) { a = 5; } sys. exit 0 in A+ can be written as: • An example of a while loop statement while(a<b) { a = (a + b)/b; } sys.exit 0 20 4. A++ A++ stands for abstraction plus reference plus synthesis that's used as a call for the minimalistic programming language this is constructed on ARS-primarily based totally programming. ARS-primarily based totally programming is used as a call for programming which is composed specifically of making use of styles derived from ARS to programming in any language. ARS is an abstraction from the Lambda Calculus, taking its 3 fundamental operations, and giving them a extra wellknown meaning, hence imparting a basis for the 3 fundamental programming paradigms useful programming, object-orientated programming and vital programming. The technical texts in this text are taken from the net model of the first version of the A++-ee-e book posted in 2004.(quotation needed )The 2d version of the ee-e book A++ The Smallest Programming Language withinside the World (292 pages) become posted in 2018. A++ become advanced with the aid of using Georg P. Loczewski and Britain Hamm withinside the years from 1996 – 2002 running as a software program developer for Bull's Software-Haus in Langen, Germany and as a freelance programmer with the reason to function a mastering tool as opposed to as a programming language used to clear up realistic problems. The improvement of A++ is primarily based totally on the 'Lambda Calculus' with the aid of using Alonzo Church and is encouraged with the aid of using Guy L. Steele's Programming Language Scheme. A++ is meant to be an powerful device to come to be acquainted with the center of programming and with programming styles that may be carried out in different languages had to face the actual world.[5] 21 5. ABAP ABAP (Advanced Business Application Programming, firstly Allgemeiner Berichts-Aufbereitungs-Prozessor, German for "popular file coaching processor") is a high-degree programming language created through the German software program organization SAP SE. It is presently positioned, along Java, because the language for programming the SAP NetWeaver Application Server, that's a part of the SAP NetWeaver platform for constructing commercial enterprise packages ABAP is one of the many application-particular fourth-era languages (4GLs) first advanced withinside the 1980s. It turned into firstly the file language for SAP R/2, a platform that enabled big businesses to construct mainframe commercial enterprise packages for substances control and monetary and control accounting. This quick description of the ABAP syntax starts with the ubiquitous "Hello world" application. REPORT TEST. WRITE ‘HELLO WORLD’. This instance incorporates statements: REPORT and WRITE. The application presentations a listing at the screen. In this case, the listing includes the unmarried line "Hello World". The REPORT announcement shows that this application is a file. This application can be a module pool after changing the REPORT announcement with PROGRAM.[6] 6. ABC ABC is an vital general-cause programming language and incorporated improvement environment (IDE) evolved at Centrum Wiskunde & Informatica (CWI), Netherlands with the aid of using Leo Geurts, Lambert Meertens, and Steven Pemberton. It is interactive, structured, high-level, and supposed for use as opposed to BASIC, Pascal, or AWK. It is meant for training or prototyping, but now now not as a systems-programming language. First appeared : January 1987. [7] An example feature to build up the set of all terms in a document: HOW TO RETURN phrases document: PUT IN collection FOR line IN document: FOR phrase IN break up line: IF phrase now no longer.in collection: INSERT phrase IN collection RETURN collection 22 7. ABC ALGOL ABC ALGOL is an extension of the programming language ALGOL 60 with arbitrary records systems and user-described operators, supposed for pc algebra (symbolic mathematics). Despite its advances, it turned into by no means used as broadly as Algol proper.[8] 8. ACC ACC is a near-C compiler for the MS-DOS working device at the IBM PC line of computer systems for packages. The compiler and compiled packages will run on any Intel 80386 or above PC jogging MS-DOS. Included with the compiler are a 386 assembler and a linker for combining more than one item files.There also are libraries, which can be a included mode DOS extender (primarily based totally on Thomas Pytel's, AKA Tran's PMODE30B + PMODE307 DOS extenders), and a library of capabilities callable through C packages.Pointers are four bytes, and might get entry to all to be had reminiscence. All reminiscence may be allotted too. The compiler, assembler and linker are all very small and reportedly very fast.ACC makes use of easy instructions which region items and alternate them. As such, it's miles very difficult to make video games with complex sprites, due to the fact there may be no command that could institution items. Almost each form of command is or 3 letters, for example: tx=text, col=color, oct=octagon, etc. It is much like Batch.[9] 9. Accent (Rational Synergy) Rational Synergy is a software program device that gives software program configuration control (SCM) abilties for all artifacts associated with software program improvement consisting of supply code, files and photos in addition to the very last constructed software program executable and libraries. Rational Synergy additionally affords the repository for the extrade control device called Rational Change. Together those gear shape an included configuration control and extrade control surroundings this is utilized in software program improvement agencies that want managed SCM methods and an information of what's in a construct in their software program.[10] • Initial release: 1990. • Written in: ACcent, Java • Operating system: AIX, HP-UX, Linux, Windows 23 10. Ace DASL (Distributed Application Specification Language) The DASL Programming Language (Distributed Application Specification Language) is a high-level, strongly typed programming language at the start evolved at Sun Microsystems Laboratories among 1999 and 2003 as a part of the Ace Project. The dreams of the challenge had been to permit fast improvement of web-primarily based totally programs primarily based totally on Sun's J2EE architecture, and to do away with the steep getting to know curve of platform-precise details. DASL defines an software as a site version with one or greater logical presentation models, in which a logical presentation version includes a choreography of the area version gadgets defined in a fixed of paperwork with connected actions. DASL generates the graphical consumer interface without delay from the logical presentation. DASL is specific amongst contemporary-day software programming languages in its capacity to generate a contemporary-day photo consumer interface for an software with out requiring the programmer to outline the consumer interface explicitly, even as permitting the programmer to govern the appearance and sense of the generated photo consumer interface. The DASL language is in part declarative and in part procedural. Description of item/information systems and persistence, and the outline of the logical presentation, are declarative. Basic item constraints and conduct are declarative, even as extra item behaviors are distinctive procedurally as methods. Queries may be described both declaratively or with the aid of using writing methods. The language and improvement surroundings are a sensible consciousness of the version-pushed architecture (MDA) approach. The programmer makes use of DASL to provide the platform-unbiased version or PIM, and the language code mills routinely produce and installation the platform-precise version or PSM. New PSMs can be added with the aid of using writing new code mills.[11] 24 11. Action! Action! is a procedural programming language and included improvement surroundings written via way of means of Clinton Parker for the Atari 8-bit family. The language, that is just like ALGOL, compiled to high-overall performance code for the MOS Technologies 6502 of the Atari computers. Action! changed into allotted on ROM cartridge via way of means of Optimized Systems Software beginning in 1983. It changed into one of the company's first bankswitched "Super Cartridges", with a complete of sixteen kB of code. Working with Henry Baker, Parker had formerly evolved Micro-SPL, a structures programming language for the Xerox Alto. Action! changed into in large part a port of Micro-SPL principles to the Atari with modifications to assist the 6502 processor and the addition of an included fullscreen editor and debugger. Action! changed into used to increase as a minimum industrial products—the HomePak productiveness suite and Games Computers Play customer program—and severa packages in ANALOG Computing and Antic magazines. The editor stimulated the PaperClip phrase processor. Figure 8. The language changed into now no longer ported to different platforms. The meeting language supply code for Action! changed into made to be had below the GNU General Public License via way of means of the writer in 2015.[12] Figure 8 : Fullscreen editor 25 BYTE RTCLOK=20, ; addr of sys timer SDMCTL=559 ; DMA control BYTE ARRAY FLAGS(8190) CARD COUNT,I,K,PRIME,TIME PROC SIEVE() SDMCTL=0 ; shut off Antic RTCLOK=0 ; reset the clock to zero COUNT=0 ; init count FOR I=0 TO 8190 ; and flags DO FLAGS(I)='T ; "'T" is a compiler-provided constant for True OD FOR I=0 TO 8190 ; now run the sieve DO IF FLAGS(I)='T THEN PRIME=I+I+3 K=I+PRIME WHILE K<=8190 DO FLAGS(K)='F ; "'F" is a compiler-provided constant for False K==+PRIME OD COUNT==+1 FI OD TIME=RTCLOK ; get timer reading SDMCTL=34 ; restore screen PRINTF("%E %U PRIMES IN",COUNT) PRINTF("%E %U JIFFIES",TIME) RETURN 26 12. ActionScript achine (Tamarin) are available. ActionScript became extensively utilized with Scaleform GFx for the improvement of 3-D online game person interfaces and HUDs.[13] Figure 9. Figure 9 : ActionScript logo ActionScript 2.0 The following code, which works on any compatible player, creates a 0-depth textbox with a width and height of 100 pixels at position (0, 0) on the screen in pixels. Then set the text parameter to the string "Hello, world" and automatically display it in the player: createTextField("greet", 0, 0, 0, 100, 100); greet.text = "Hello, world"; When writing external ActionScript 2.0 class files the above example could be written in a file named Greeter.as as following. class com.example.Greeter extends MovieClip { public function Greeter() { var txtHello: TextField = this.createTextField("txtHello", 0, 0, 0, 100, 100); txtHello.text = "Hello, world"; } } 27 ActionScript 3.0 Its syntax is similar to ActionScript 2.0, but it has a different set of APIs for creating objects. Compare the following script to the previous version of ActionScript 2.0: var txtHello: TextField = new TextField(); txtHello.text = "Hello World"; this.addChild(txtHello); 13. Actor The Actor programming language become invented through Charles Duff of The Whitewater Group in 1988. It become an offshoot of a few object-orientated extensions to the Forth language he were running on. Actor is a natural object-orientated language withinside the fashion of Smalltalk. Like Smalltalk, the whole thing is an object, together with small integers. A Baker semi-area rubbish collector is used, alongside with (in reminiscence-limited Windows 2.1 days) a software program digital reminiscence machine that swaps objects. A token threaded interpreter, written in 16-bit x86 meeting language, executes compiled code. Actor best become launched for Microsoft Windows 2.1 and 3.0. Actor used a natural object-orientated framework over local running machine calls as its fundamental GUI structure. This permits an Actor utility to appearance and sense precisely like a Windows utility written in C, however with all of the benefits of an interactive Smalltalk-like improvement environment. Both a drawback and upside to this structure is a good coupling to the Windows structure, with a skinny abstraction layer into objects. This permits direct use of the wealthy Windows OS API, however additionally makes it almost not possible to assist another OS with out a considerable rewrite of the utility framework. A demo of Actor become proven in an episode of Computer Chronicles.[14] 14. Ada – ISO/IEC 8652 Ada is a structured, statically typed, imperative, and object-orientated high-degree programming language, prolonged from Pascal and different languages. It has integrated language assist for layout with the aid of using settlement (DbC), extraordinarily sturdy typing, express concurrency, tasks, synchronous message passing, included objects, and non-determinism. Ada improves code protection and maintainability with the aid of using the usage of the compiler to locate mistakes in prefer of runtime mistakes. Ada is an worldwide technical standard, collectively described with the aid of using the International Organization for Standardization (ISO), and the International Electrotechnical Commission (IEC). As of 2020, the standard, referred to as Ada 2012 informally, is ISO/IEC 8652:2012. Figure 10. 28 Ada became firstly designed with the aid of using a crew led with the aid of using French pc scientist Jean Ichbiah of CII Honeywell Bull beneathneath settlement to america Department of Defense (DoD) from 1977 to 1983 to supersede over 450 programming languages utilized by the DoD at that time. Figure 11. Ada became named after Ada Lovelace (1815–1852), who has been credited because the first pc programmer.[15] Figure 10 : Augusta Ada King, Countess of Lovelace. 29 Figure 11: Ada logo 15. Adenine (Haystack) Haystack is a undertaking on the Massachusetts Institute of Technology to analyze and expand numerous programs round non-public facts control and the Semantic Web. The maximum super of these programs is the Haystack customer, a studies non-public facts manager (PIM) and one of the first to be primarily based totally on semantic computer technologies. The Haystack customer is posted as open supply software program below the BSD license. Similar to the Chandler PIM, the Haystack device unifies managing one-of-a-kind varieties of unstructured facts. This facts has a not unusualplace illustration in RDF this is provided to customers in a configurable human-readable way.[16] 16. AdvPL AdvPL (Advanced Protheus Language) is a proprietary programming language primarily based totally on xBase. It became launched in 1999 and is used for improvement of packages withinside the ERP Protheus made via way of means of TOTVS.[17] 30 17. Agda Agda is a dependently typed useful programming language at the beginning evolved via way of means of Ulf Norell at Chalmers University of Technology with implementation defined in his PhD thesis.The unique Agda machine became evolved at Chalmers via way of means of Catarina Coquand in 1999. The contemporary version, at the beginning called Agda 2, is a complete rewrite, which need to be taken into consideration a brand new language that stocks a call and tradition. Figure 12. Agda is likewise a evidence assistant primarily based totally at the propositions-as-kinds paradigm, however not like Coq, has no separate methods language, and proofs are written in a useful programming style. The language has regular programming constructs inclusive of information kinds, sample matching, records, allow expressions and modules, and a Haskell-like syntax. The machine has Emacs and Atom interfaces however also can be run in batch mode from the command line. Agda is primarily based totally on Zhaohui Luo's unified idea of established kinds (UTT), a kind idea just like Martin-Löf kind idea. Agda is known as after the Swedish song "Hönan Agda", written via way of means of Cornelis Vreeswijk, which is ready a bird named Agda. This alludes to the naming of Coq.[18] Figure 12 : Agda logo 31 18. Agilent VEE (Keysight VEE) Keysight VEE may be a graphical dataflow programming software system development surroundings from Keysight Technologies for automatic check, mensuration, information analysis and news. VEE originally stood for Visual Engineering surroundings and developed by power unit selected as power unit VEE; it's since been formally renamed to Keysight VEE. Keysight VEE has been wide employed in numerous industries, serving the complete stage of a product lifecycle, from style, validation to producing. it's optimized in instrument management and automation with check and mensuration devices like information acquisition instruments like digital voltmeters and oscilloscopes, and supply devices like signal generators and programmable power provides.[19]. Operating system : Microsoft Windows 19. Agora Agora could be a reflective, prototype-based, object-oriented artificial language that's primarily based completely on message passing and not delegation. Agora was supposed to point out that even subject to it limit, it's attainable to make a full objectoriented language that options inheritance, biological research and reflective operators. The idea is that Associate in Nursing object is absolutely encapsulated and may solely be subject to message passing. however seen from the within of the thing, the thing is aware of all concerning its own structures. it's so absolutely capable of biological research and lengthening itself. this can be accomplished by special ways known as biological research ways and mixin ways. Agora98, the newest implementation of Agora, is completed in Java and permits full access to all or any Java genus Apis, as well as the flexibility to make applets from at intervals Agora98. From the language purpose of read, Agora98 could be a tidy simplification of previous Agora versions.[20] 32 20. AIMMS AIMMS (acronym for Advanced Interactive four-dimensional Modeling System) may be a prescriptive analytics software system company with offices within the Holland, u. s., China and Singapore. Figure 13. It has 2 main product offerings that give modeling and improvement capabilities across a spread of industries. The AIMMS Prescriptive Analytics Platform permits advanced users to develop optimization-based applications and deploy them to business users. AIMMS SC Navigator, launched in 2017, is constructed on the AIMMS Prescriptive Analytics Platform and provides configurable Apps for provide chain groups. SC Navigator provides provide chain analytics to non-advanced users. AIMMS B.V. was based in 1989 by scientist Johannes Bisschop beneath the name of Paragon call Technology. His vision was to form improvement a lot of approachable by building models instead of programming. In Bisschop’s read, modeling was ready to build the bridge between the people that had issues and also the folks serving to them solve those issues. AIMMS began as a software package designed for modeling and determination largescale improvement and scheduling-type issues. AIMMS is taken into account to be one among the 5 most vital pure mathematics modeling languages. Bisschop was awarded with INFORMS Impact Prize for his add this language. In 2003, AIMMS was nonheritable by atiny low personal equity firm. This lightemitting diode to the creation of a partnership program, any technical investment and also the evolution of the platform. In 2011, the corporate launched AIMMS professional, the simplest way to deploy applications to end-users United Nations agency don't have a technical background. This was quickly followed by the flexibility to publish and customise applications employing a browser so call support applications area unit accessible on any device. The company grew and was in 2017 recognized as a prime B2B technology within the Holland, and was named one among the fastest-growing corporations within the Holland for the second consecutive year.[21] Figure 13 : AIMMS logo 33 21. Aldor Aldor is a programming language. It is the successor of A# because the extension language of the Axiom laptop algebra system. Designed via way of means of : Richard Dimick Jenks, Barry Trager, Stephen Watt, James Davenport, Robert Sutor, Scott Morrison First appeared : 1990. Operating system : Linux, Solaris, Windows Aldor combines imperative, functional, and object-orientated features. It has an tricky kind system, permitting kinds for use as quality values. Aldor's syntax is closely inspired via way of means of Pascal, however it's miles optionally indentation-sensitive, the usage of whitespace characters and the off-facet rule, like Python. In its contemporary implementation, it's miles compiled, however an interactive listener is provided. Aldor is shipped as loose and open-supply software, below the Apache License 2.0.[22] The Hello world program looks like this: #include "aldor" #include "aldorio" stdout << "Hello, world!" << newline; 34 22. Alef Alef is a discontinued concurrent programming language that Phil Winterbottom of Bell Labs created as a component of the Plan 9 operating system. It used a compiled, C-like language to implement Newsqueak's channel-based concurrency paradigm. Phil Winterbottom created the look. Initial release: 1992 Alef was a character in Plan 9's first and second editions but was dropped during the third edition's development. Even though he and others urged Winterbottom to add garbage collection to the language, Rob Pike later blamed Alef's failure on its lack of automatic memory management. Pike also stated in a February 2000 slideshow that "...despite Alef being a fruitful language, it proved too difficult to maintain a variant language across multiple architectures, so we took what we learned from it and built the thread library for C." Two programming environments replaced Alef. The most popular programming language in the Inferno operating system is Limbo, which can be seen as a direct descendant of Alef. The libthread package, which makes part of Alef's capabilities available to C applications and enables the translation of existing Alef programs (such as Acme), replicates the Alef concurrency model in the third edition of Plan 9. [23] This illustration came from the Alef reference book. The article serves as an example of tuple data type usage. (int, byte*, byte) func() { return (10, "hello", 'c'); } void main() { int a; byte* str; byte c; (a, str, c) = func(); } 35 23. ALF Mathematical Logic Programming concepts from functional and logic programming are combined in functional programming language, also referred to as ALF. Its foundation is Horn clause logic with equality, which is made up of functions and equations for functional programming and predicates and Horn clauses for logic programming. Since ALF was created to be a true merger of the two paradigms of programming, any functional expression may be used in a goal literal and any predicate may appear in an equation's conditions. The operational semantics of ALF is built on the resolution rule to evaluate functional expressions and solve literals. A leftmost-innermost fundamental narrowing technique is applied, which is said to be effective, to limit the number of potential narrowing stages. Before applying a narrowing step, terms are simplified by rewriting, and equations are disregarded if the two sides have distinct constructors at the top. Rewriting and rejection are claimed to generate an operational semantics that is more effective than Prolog's resolution technique and lead to a significant decrease of the search tree. ALF employs a backtracking method corresponding to a depth-first search in the derivation tree, just like Prolog does. The resolution, narrowing, rewriting, and rejection processes were combined to create the ALF system, which was intended to be an effective application of them. ALF programs are compiled into an abstract machine's instructions. The Warren Abstract Machine (WAM), on which the abstract machine is based, has been extended in a number of ways to support narrowing and rewriting. Programs for this abstract machine are run by a C-written emulator in the current ALF implementation. ALF is listed as an AI programming language in the Carnegie Mellon University Artificial Intelligence Repository, specifically as a functional/logic programming language Prolog implementation. There is a user manual available that explains the system's operation and language. The ALF System is a Unix-based system that can be used for "evaluation, research, and teaching reasons," but not for commercial or military purposes, according to a unique proprietary software license. [24] 36 24. ALGOL 58 One of the ALGOL family of programming languages is ALGOL 58, formerly known as IAL. It was an early compromise design that ALGOL 60 quickly surpassed. Apparently, John Backus designed by: John Backus, Charles Katz, Alan Perlis, Klaus Samelson, Hermann Bottenbruch, Heinz Rutishauser, Friedrich L. Bauer First published in 1958. The Zurich ACM-GAMM Conference proposed the IAL with the following two main goals in mind: (a) to give a means of communication between persons for numerical methods and other procedures, and (b) to provide a means of realizing a specified process on various computers. The core concept of the compound statement was introduced in ALGOL 58, but it was only applicable to control flow and was not related to identifier scope in the same manner that Algol 60's blocks were.[25] 37 25. ALGOL 60 The ALGOL family of computer programming languages includes ALGOL 60, often known as the Algorithmic Language of 1960. It came after ALGOL 58, which marked a significant development in the emergence of structured programming by introducing code blocks and the begin and end pairs for defining them. The first language to support nested function definitions with lexical scope was ALGOL 60. Numerous other programming languages were inspired by it, such as CPL, Simula, BCPL, B, Pascal, and C. At the time, almost all computers featured a systems programming language built on ALGOL 60 ideas. The first languages to pursue standardization were COBOL and ALGOL 60. ALGOL does not have a portable hello world program because ALGOL 60 did not have I/O facilities. The following program is a straightforward simplification of code taken from The Language Guide at the University of Michigan-Dearborn Computer and Information Science Department that could (and still will) compile and run on an ALGOL implementation for a Unisys A-Series mainframe. World, welcome! Program Example Page for ALGOOL. [26] BEGIN FILE F(KIND=REMOTE); EBCDIC ARRAY E[0:11]; REPLACE E BY "HELLO WORLD!"; WRITE(F, *, E); END. Where * etc. represented a format specification as used in FORTRAN, e.g. A simpler program using an inline format: BEGIN FILE F(KIND=REMOTE); WRITE(F, <"HELLO WORLD!">); END. An even simpler program using the Display statement: BEGIN DISPLAY("HELLO WORLD!") END. 38 An alternative example, using Elliott Algol I/O is as follows. Elliott Algol used different characters for "open-string-quote" and "close-string-quote", represented here by ‘and’ . program HiFolks; begin print ‘Hello world’ end; This is the Elliott 803 Algol version (A104) Since the normal Elliott 803 only had upper case letters, it used 5-hole paper tape. Because there were no quote characters in the code, the symbols £ and? were used to represent an open and close quote, respectively. Double quotes were used for special sequences (for example, £L?? created a new line on the teleprinter). HIFOLKS' BEGIN PRINT £HELLO WORLD£L??' END' The ICT 1900 series Algol I/O version allowed input from paper tape or punched card. Paper tape 'full' mode allowed lower case. Output was to a line printer. Note use of '(', ')', and %. 'PROGRAM' (HELLO) 'BEGIN' 'COMMENT' OPEN QUOTE IS '(', CLOSE IS ')', PRINTABLE SPACE HAS TO BE WRITTEN AS % BECAUSE SPACES ARE IGNORED; WRITE TEXT('('HELLO%WORLD')'); 'END' 'FINISH' 39 26. ALGOL 68 Algorithmic Language 1968, also known as ALGOL 68, is an imperative programming language that was developed as the replacement for ALGOL 60 with the aim of having a far broader range of applications and more precisely defined syntax and semantics.[27] This sample program implements the Sieve of Eratosthenes to find all the prime numbers that are less than 100. NIL is the ALGOL 68 analogue of the null pointer in other languages. The notation x OF y accesses a member x of a STRUCT y. Figure 14. BEGIN # Algol-68 prime number sieve, functional style # PROC error = (STRING s) VOID: (print(( newline, " error: ", s, newline)); GOTO stop); PROC one to = (INT n) LIST: (PROC f = (INT m,n) LIST: (m>n | NIL | cons(m, f(m+1,n))); f(1,n)); MODE LIST = REF NODE; MODE NODE = STRUCT (INT h, LIST t); PROC cons = (INT n, LIST l) LIST: HEAP NODE := (n,l); PROC hd = (LIST l) INT: ( l IS NIL | error("hd NIL"); SKIP | h OF l ); PROC tl = (LIST l) LIST: ( l IS NIL | error("tl NIL"); SKIP | t OF l ); PROC show = (LIST l) VOID: ( l ISNT NIL | print((" ",whole(hd(l),0))); show(tl(l))); PROC filter = (PROC (INT) BOOL p, LIST l) LIST: IF l IS NIL THEN NIL ELIF p(hd(l)) THEN cons(hd(l), filter(p,tl(l))) ELSE filter(p, tl(l)) FI; PROC sieve = (LIST l) LIST: IF l IS NIL THEN NIL ELSE PROC not multiple = (INT n) BOOL: n MOD hd(l) ≠ 0; cons(hd(l), sieve( filter( not multiple, tl(l) ))) FI; PROC primes = (INT n) LIST: sieve( tl( one to(n) )); show( primes(100) ) END 40 Figure 14: Revised Report on the Algorithmic Language – Algol 68 Edited by: A. van Wijngaarden et al, September 1973 41 27. ALGOL W Programming language ALGOOL W. It is based on a proposal for ALGOL X, a replacement for ALGOL 60, made by Niklaus Wirth and Tony Hoare. With the addition of string, bitstring, complex number, and reference to record data types as well as callby-result parameter passing, while statement introduction, switch statement replacement with a case statement, and general language tightening, ALGOL W is a fairly straightforward upgrade of the original ALGOL 60. A portion of the EBCDIC character encoding set serves as the foundation for ALGOL W's syntax. While reserved words in ALGOL 60 are unique lexical units, they are just character sequences in ALGOL W and do not require stropping. Identifiers and reserved terms are separated by spaces. The grammar of ALGOL W is similar to later languages like Pascal in these ways. ALGOL W is defined in the ALGOL W Language Description using an affix grammar that looks like Backus-Naur form (BNF). The Van Wijngaarden grammar had its roots in this formal grammar. The semantics of ALGOL W are mostly described grammatically: The definition of each identifier within the current scope is what distinguishes them. A "label identifier" is an identifier that is being used as a goto label, for instance, while a "procedure identifier" is an identifier that has been declared by a procedure declaration. Affixes serve to illustrate the various types of variables and expressions. For instance, "function identifier" is the syntactic entity for a function that returns a value of type "," which is expanded to "integer function identifier" if an identifier has been designated as an integer function in the current scope. Grammatical errors are typed errors. Real expression DIV integer expression (i.e., performing integer division on a floatingpoint number) is an erroneous syntactic entity, whereas "integer expression" / "integer expression" and "real expression" / "real expression" are valid but different syntactic entities that describe expressions. [28] 42 This demonstrates ALGOL W's record type facility. RECORD PERSON) STRING(20) NAME ; INTEGER AGE ; LOGICAL MALE ; REFERENCE(PERSON) FATHER, MOTHER, YOUNGESTOFFSPRING, ELDERSIBLING); REFERENCE(PERSON) PROCEDURE YOUNGESTUNCLE (REFERENCE(PERSON) R); BEGIN REFERENCE(PERSON) P, M; P := YOUNGESTOFFSPRING(FATHER(FATHER(R))); WHILE (P ¬= NULL) AND (¬ MALE(P)) OR (P = FATHER(R)) DO P := ELDERSIBLING(P); M := YOUNGESTOFFSPRING(MOTHER(MOTHER(R))); WHILE (M ¬= NULL) AND (¬ MALE(M)) DO M := ELDERSIBLING(M); IF P = NULL THEN M ELSE IF M = NULL THEN P ELSE IF AGE(P) < AGE(M) THEN P ELSE M END 43 28. Alice (Alice ML) Saarland University's Programming Systems Laboratory in Saarbrücken, Germany, created the programming language known as Alice ML. It is a dialect of Standard ML that supports constraint programming, multithreading, and lazy evaluation in addition to concurrency (distributed computing through RPCs). fun fib 0 = 0 fib 1 = 1 fib n = spawn fib(n-1) + fib(n-2); Initial release: 2000. Alice differs from Standard ML in a number of ways that expand Standard ML. A future type, which represents a value delivered by a separate thread of execution, is used by Alice to provide concurrency features as part of the basic language. A thread that attempts to obtain a future value will block until the thread conducting the computation has finished. A related idea known as a promise is also presented, allowing a thread to give another thread a future value that it will compute. Using future and promise typed variables, data-flow synchronization is implemented. In contrast to the conventional eager evaluation method of Standard ML, Alice provides capabilities to allow a lazy evaluation strategy in programs. While Alice utilizes an eager evaluation model by default and Haskell uses the lazy model by default, Alice requires an explicit programming statement to make a calculation execute lazily. The Simple Extensible Abstract Machine is used in the Saarland University implementation of Alice (SEAM) virtual machine. It is open-source software with just-in-time bytecode and native code generation for the x86 architecture. Early versions of Alice could interface with Oz code thanks to the Mozart Programming System (Oz) virtual machine (VM). The virtual machine is necessary for Alice's remote procedure call because it can send computation-related code from one computer to another. [29] Alice extends Standard ML with several primitives for lazy evaluation and concurrency. For example, threads may be created using the spawn keyword. Consider the naive algorithm for computing the Fibonacci numbers: fun fib 0 = 0 fib 1 = 1 fib n = fib(n-1) + fib(n-2); 44 For large values of n, fib n will take a long time to compute. This computation can be performed in a separate thread by val x = spawn fib n; The variable x is now bound to a so-called future. When an operation requires the value of x, it blocks until the thread is done with the computation. To exploit parallelism one could even define fib as follows: var txtHello: TextField = new TextField(); txtHello.text = "Hello World"; this.addChild(txtHello); 29. Alma-0 A multi-paradigm computer programming language is called Alma-0. This language is an improved form of the imperative Modula-2 language that includes easy backtracking capabilities and logic programming features. It combines constraint programming with a small number of features drawn from logic programming it is compact, tightly typed, and it supports imperative paradigms. Declarative programming is encouraged by the language. The creators assert that search-oriented solutions created using it are a great deal simpler than those created using only imperative or logic programming. Alma-0 offers high-level, organic frameworks for creating search trees. The inventors of Alma-0 were motivated by four guiding ideas in order to produce a unique and significantly more straightforward solution than other attempts to include declarative programming techniques (such automatic backtracking) into imperative programming: • The constructs that will implement the extension should support and encourage declarative programming • The extension should be kept small: nine new features have been proposed and implemented. • The logic-based extension should be downward compatible with the underlying imperative programming language. • The logic-based extension should be upward compatible with a future extension that will support constraint programming. Alma-0 can be seen as both a proposed concrete and specialized programming language as well as a general approach to adding declarative programming capability to any imperative programming language. A complete implementation of the language (with a description of its semantics) for a subset of Modula-2 has been used to show the viability of the Alma-0 method.[30] 45 30. AmbientTalk An experimental networked object-oriented programming language called AmbientTalk was created in Belgium at the Vrije Universiteit Brussel's Programming Technology Laboratory. The language is primarily intended for use in mobile ad hoc network programming. The purpose of AmbientTalk is to provide a platform for testing new linguistic constructs or programming abstractions to make it easier to build software that can operate in unstable networks with sparse infrastructure and patchy connectivity. It is implemented in Java, making it compatible with Android and other platforms. The symbiosis, a seamless interface between Java and AmbientTalk objects, is another feature of the interpreter standard library. The actor model serves as the foundation for the language's concurrency features, which also include support for futures and event-loop concurrency and were heavily influenced by the E programming language. Smalltalk and Self are two languages that have influenced the language's object-oriented features, such as block closures and keyworded messages (prototype-based programming, traits, delegation). [31] Hello world : system.println("Hello world"); 46 31. Amiga E A programming language developed for the Amiga by Wouter van Oortmerssen is known as Amiga E, or just E. Since then, he has developed the CryScript programming language (also known as DOG), which was used to create the video game Far Cry, as well as the SHEEP programming language for the new AmigaDE platform. Amiga E combines numerous features from other languages, but in terms of fundamental ideas, it most closely resembles the original C programming language. The key advantages of Amiga E are its quick compilation (which enables it to be used instead of a scripting language), highly readable source code, adaptable type system, potent module system, exception handling (not C++ variant), and object-oriented programming. [32] An example of a "hello world" program for the Amiga E is: WriteF ('Hello, World!') in PROC main() ENDPROC The foundation of the well-known Amiga graphics software Photogenics was built on an Amiga E. 47 32. AMOS (AMOS BASIC) AMOS BASIC is the name of the Amiga computer's programming language. In 1990, Europress Software launched AMOS BASIC for the Amiga, which was developed by François Lionet and Constantin Sotiropoulos in response to the popularity of STOS BASIC for the Atari ST. Figure 15. The authors are François Lionet and Constantin Sotiropoulos. It was introduced in 1990. [33] Figure 15 : Screenshot of the AMOS Professional user interface and code editor, displaying the start of a program included with the language 48 33. AMPL An algebraic modeling language called AMPL (A Mathematical Programming Language) is used to specify and address complicated problems in large-scale mathematical computing (i.e., large-scale optimization and scheduling-type problems), Figure 16. At Bell Laboratories, Robert Fourer, David Gay, and Brian Kernighan created it. Numerous solvers, both open source and proprietary, are supported by AMPL, such as CBC, CPLEX, FortMP, MINOS, IPOPT, SNOPT, KNITRO, and LGO. Solvers receive problems as nl files. More than 100 businesses, as well as governmental organizations and educational institutions, use AMPL. [34] Figure 16 : AMPL logo 34. Analitik Analitik is a programming language that was created in 1968 at the Institute of Cybernetics of the Ukrainian SSR's Academy of Sciences in the USSR. It is an improvement on the ALMIR-65 language while maintaining compatibility. Victor Glushkov & Co. [35] designed the object. 49 35. AngelScript A game-focused compiled scripting language is called AngelScript. Initial release: 2003 AngelScript has object-oriented features, static typing, single inheritance, multiple inheritance, and interface inheritance. Its object handles are similar to C++ pointers but use garbage collection by reference counting. permits both registration and overloading of operators. Any C++ IDE, including NetBeans, Geany, and Eclipse, can be used with AngelScript. Functions from C and C++ can be used in AngelScript environments. Since no proxy functions are needed to embed AngelScript in C++ applications, the two languages can be more easily integrated. AngelScript's class syntax closely resembles that of C++ classes by design. AngelScript and C++ differ from each other in a number of ways. Multiple inheritance is not supported by AngelScript. Interfaces can be used to implement multiple inheritance. Declaring methods or properties outside the class body is not possible. All methods are virtual, including constructors and destructors. In the creation of video games, AngelScript is employed. Additionally supported by Urho3D as a programming language It Takes Two, the company's most recent game, was created in AngelScript using a plugin that Hazelight Studios maintains for the Unreal Engine. At the University of Ulm, it is also utilized in robotics and in the interactive 3D-Animation program; for example, to program the behavioral rules of robotic agents. [36] 50 36. Apache Pig latin For building applications that work with Apache Hadoop, there is Apache Pig. Pig Latin is the name of the language used on this site. Pig may use MapReduce, Apache Tez, or Apache Spark to run its Hadoop operations. Figure 17. Pig Latin transforms the Java MapReduce idiom's programming into a high-level notation, making MapReduce programming comparable to SQL for relational database management systems. User-defined functions (UDFs), which the user can create in Java, Python, JavaScript, Ruby, or Groovy and then call straight from the language, can be used to enhance Pig Latin.[37] Figure 17 : Apache Pig latin logo 51 37. Apex (Salesforce.com, Inc) An American provider of cloud-based software, Salesforce, Inc. is situated in San Francisco, California. It offers CRM software and apps with a focus on sales, customer service, marketing automation, analytics, and application development. Established on 3 February 1999. Figure 18. Marc Benioff, a senior executive at Oracle, founded Salesforce, which swiftly became one of the biggest businesses in the world and went public in 2004. By fiscal year 2009, Salesforce became the first cloud computing business to generate US$1 billion in revenue, and by 2022, it became the largest enterprise software company in the world. As one of the biggest technological businesses today, Salesforce will rank as the 61st largest company in the world by market cap on September 19, 2022, with a valuation of around US$153 billion. Salesforce earned $26.5 billion in US dollars in 2022, placing 136th on the most current Fortune 500 list. Salesforce has also been a part of the Dow Jones Industrial Average since 2020. [38] Figure 18 : Apex logo 52 38. APL In the 1960s, Kenneth E. Iverson created the programming language APL, which was named after the book A Programming Language. The multidimensional array is the main datatype for it. Figure 19. The majority of functions and operators are represented by a wide variety of specialized graphic symbols, which results in extremely short code. Concept modeling, spreadsheets, functional programming, and computer math programs have all benefited greatly from it. Several other programming languages have been influenced by it as well. [39] Figure 19 : APL logo 53 39. App Inventor for Android's visual block language (MIT App Inventor) An integrated development environment for web applications called MIT App Inventor was first made available by Google and is now maintained by the Massachusetts Institute of Technology (MIT), Figure 20.It enables anyone who are new to computer programming to develop applications for two operating systems (OS): Android and iOS, which as of July 8th, 2019, is currently through final beta testing. Figure 21. It is free and open-source software distributed under two licenses: an Apache License 2.0 for the source code and a Creative Commons Attribution ShareAlike 3.0 Unported license. [40], Figure 22. Figure 20 : MIT App Inventor logo Figure 21 : The blocks editor in the original version ran in a separate Java process, using the Open Blocks Java library for creating visual blocks programming languages and programming 54 Figure 22 : App Inventor Classic Blocks Editor 40. AppleScript The scripting language known as AppleScript was developed by Apple Inc. to enable automated control of scriptable Mac programs. It was first introduced in System 7 and is currently a component of a set of system automation tools that come with all current versions of macOS. The word "AppleScript" can be used to describe the language itself, a specific script produced in the language, or, less technically, the language's foundation, the macOS Open Scripting Architecture. [41] Initial release: 1993. Operating systems: Mac OS 8, Mac OS 9, and System 7. 41. APT A high-level computer programming language called APT (Automatically Programmed Tool) is most frequently used to create instructions for numerically controlled machine tools. Many people credit Douglas T. Ross as being the inventor of APT since he oversaw its technological development in 1956 while serving as head of the newly established Computer Applications Group of the Servomechanisms Laboratory at MIT. APT is a language and technology that makes it easier to write toolpaths for equipment that is controlled numerically. Through the 1970s, this ancient tongue was widely utilized and is still largely accepted today. Later, APT derivatives were created. [42] Douglas T. Ross was the designer. First published in 1956. 55 42. Arc Paul Graham and Robert Morris created the programming language Arc, a dialect of Lisp. It is open-source software that is available for free under the Artistic License 2.0.[43] Paul Graham was the designer. initial publication: 29 January 2008. Arc's Hello World: (prn "Hello, World") Graham demonstrates Arc's brevity with a short program. At the url "/said," it generates a form with just one field. The value of the original input field is displayed on the page that is reached after clicking the "click here" link on the "submit" page of the form. (defop said that req (aform [onlink "click here" (pr "you said: " (arg "foo")] ("foo" entered; "submit")) 43. Arexx William S. Hawes created ARexx, an Amiga-specific implementation of the Rexx language, in 1987. It adds a number of additional features not found in standard REXX facilities. The majority of REXX implementations are interpreted languages, just like ARexx. The term "script" or "macros" for programs created for ARexx is used; a number of products allow you to run ARexx scripts as macros in the main interface. Using a "ARexx port," third-party software can simply communicate with ARexx. The features of the program can be made available to scripts written in ARexx by any Amiga application or script by defining a set of commands and functions for ARexx to address. The ability to mix and match features from many programs is made possible by ARexx's ability to direct commands and functions to multiple apps from a single script. For instance, an ARexx script could take data from a database, insert it into a spreadsheet to run calculations on it, and then insert tables and charts depending on the results into a document created with a word processor. [44] 56 44. Argus Between 1982 and 1988, Barbara Liskov at MIT worked alongside Maurice Herlihy, Paul Johnson, Robert Scheifler, and William Weihl to develop the programming language Argus. It uses a large portion of the same syntax and semantics as the CLU language and is an extension of it. By enclosing linked procedures within objects called guardians and by providing atomic activities known as actions, Argus was created to assist the building of distributed programs. [45] 45. Assembly language (ASM) Any low-level programming language having a close resemblance between its instructions and the architecture's machine code is known as assembly language (or assembler language, or symbolic machine code), also referred to simply as Assembly and frequently shortened as ASM or asm. Figure 23. One statement per machine instruction (1:1) is the norm for assembly language, however constants, comments, assembler directives, symbolic labels for things like memory locations, registers, and macros are typically also available. [46] 57 Figure 23 : First published in 1947.Typical secondary output from an assembler— showing original assembly language (right) for the Motorola MC6800 and the assembled form 58 46. AutoHotkey The goal of AutoHotkey, a free and open-source custom scripting language for Microsoft Windows, was originally to make it simple for users of all computer skill levels to automate repetitive operations in any Windows application. Figure 24. AutoHotkey makes it simple to expand or change user interfaces (for example, overriding the default Windows control key commands with their Emacs equivalents). Additionally to the comprehensive help file that comes with the AutoHotkey installation, there is now online guidance. [47] The operating system is Windows. Figure 24 : AutoHotkey logo 47. AutoIt A freeware programming language for Windows is called AutoIt (/tot/). Since its initial release, it has expanded to include improvements in both programming language design and overall functionality. Its original purpose was to build automation scripts (also known as macros) for Microsoft Windows programs. Figure 25. Initially published in January 1999. Microsoft Windows XP SP3 and later Microsoft Windows Server 2003 and later In AutoIt 1 and 2, the scripting language was statementdriven and largely intended for imitating user interaction. As of version 3, the syntax of AutoIt is comparable to that of the BASIC family of languages. In its current incarnation, AutoIt is a third-generation general-purpose programming language with a traditional data model and a variant data type that may hold a variety of data types, including arrays. Figure 26. It is possible to turn an AutoIt automation script into a compressed, standalone executable that can be used on machines even without the AutoIt interpreter being installed. To provide additional functionality, a variety of function libraries (often referred to as "User Defined Functions," or UDFs), are also included as standard or are accessible via the website. A free SciTE editor-based IDE is also included with the distribution of AutoIt. For developers using AutoIt, a de facto standard environment is provided by the fully integrated compiler and help text. [48] Hello world: 59 ; Make available a library of constant values. #include <MsgBoxConstants.au3> ; Displays "Hello, world!" in a message box. MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!") Figure 25 : AutoIt logo Figure 26 : AutoIt command window 60 48. AutoLISP / Visual LISP The computer language Lisp's AutoLISP dialect was created especially for use with the full version of AutoCAD and its offshoots, such as AutoCAD Map 3D, AutoCAD Architecture, and AutoCAD Mechanical. The AutoCAD LT product line does not contain either the application programming interface (API) or the interpreter to run AutoLISP code. The browser-based AutoCAD web program includes a subset of AutoLISP features. [49] Initially published in January 1986. A straightforward AutoLISP Hello World program would be: (princ "Hello World!") (defun hello () (princ)) The princ function returns a null symbol when evaluated with no arguments, which is not displayed by the AutoCAD command-line interface. This is stated in the function definition's final line. This would ordinarily display "Hello World!" to the command line, followed immediately by the return value of the call to princ, as the AutoCAD command line operates as a read-eval-print loop (REPL). Therefore, the output of this would be Hello World!"nHello World!" without the final call to the princ function. The identical outcome can also be obtained by using the prin1 function. One that is more intricate is: (defun c:pointlabel ( / pnt ) (if (setq pnt (getpoint "\nSpecify point: ")) (progn (entmake (list '(0 . "POINT") (cons 10 (trans pnt 1 0)))) (entmake (list '(0 . "TEXT") (cons 10 (trans (cons (+ (car pnt) 0.6) (cdr pnt)) 1 0)) (cons 40 (getvar 'textsize)) (cons 1 (strcat "X:" (rtos (car pnt)) " Y:" (rtos (cadr pnt)))))))) (princ) ) The aforementioned code introduces a new function that creates an AutoCAD point object at a specified location along with a one-line text object that displays the point's X and Y coordinates. The function is identified as a standard command by AutoCAD thanks to the special prefix "c:" in its name. 61 The user would be prompted to select a point after typing "pointlabel" at the AutoCAD command line, either by providing the X and Y coordinates or by clicking a position in the design. A marker would then be placed at that location, and a one-line text object giving the point's X and Y coordinates expressed relative to the currently active User Coordinate System would be created next to it (UCS). There is only one local variable ('pnt') and no required parameters in the function. To accomplish the same goal, the aforementioned example might also be constructed using built-in AutoCAD commands, however this strategy is vulnerable to changes made to the command prompts between versions of AutoCAD. 49. Averest A synchronous programming language and collection of tools called Averest are used to describe, validate, and create reactive systems. It comprises a symbolic model checker, a compiler for synchronous applications, and a tool for hardware/software synthesis. At different degrees of abstraction, it can be used to describe and test systems with finite and infinite states. It helps with hardware design, communication protocol modeling, concurrent programming, embedded system software, and other things. Components include a symbolic model checker, a compiler to translate synchronous programs to transition systems, and a tool for synthesising hardware and software. These span a sizable portion of the reactive system design flow, from specifying through implementing. Despite being a component of the same framework, the tools can be used with other tools from third parties and are largely independent of one another. [50] 62 50. AWK A domain-specific language called AWK (awk) was created for text processing and is frequently employed as a tool for data extraction and reporting. It is a filter, similar to sed and grep, and is a common feature of most Unix-like operating systems. initial release in 1977. Figure 27. System of operation: cross-platform Figure 27 : AWK logo 63 51. Axum Microsoft actively worked on Axum (formerly known as Maestro), a domainspecific concurrent programming language based on the Actor model, from 2009 to 2011. It is a domain-specific object-oriented language built on the.NET Common Language Runtime with a C-like syntax that is used to construct parts of software applications that are well-suited to concurrency. However, it has enough generalpurpose structures that the sequential sections of the concurrent components can be implemented without switching to a general-purpose programming language (like C#). initial release: May 8, 2009 Windows XP as the operating system Operating System 2003 Microsoft Vista 2008 Windows Server OS Windows 7 An Agent (or Actor), which is an isolated entity that runs concurrently with other Agents, is the primary programming paradigm in Axum. This is known as the agents operating in independent isolation domains in Axum; things created in one domain cannot be directly accessed from another. In contrast to the shared memory model used by C# and other comparable languages, agents are loosely linked (i.e., there are few dependencies between them) and do not share resources like memory; instead, a message passing model is employed. An explicit message must be given to the agent in order to coordinate agents or have one agent request the resources of another. Axum offers Channels to make this easier. Figure 28. One way to think of channels is as a directional communication path between agent instances. After being bound to an agent instance, a Channel object can communicate with it via its member functions. A channel has input and output ports, which are queues used to deliver data to or receive it from agents, respectively. Axum enables each communication channel to have a user-defined protocol in order to coordinate communication between bots. State machines are used to define the protocol. Optionally, the data transferred via a channel might be limited to adhere to a specific pre-defined structure. The compliance to the schema will be enforced by the compiler and runtime. A schema is converted internally into a serializable.NET class that only has properties and methods without side effects. The Axum project has progressed to the prototype stage with functional integration with Microsoft Visual Studio. Axum had a public CTP that Microsoft had previously made available, however it has since been taken down. Despite Microsoft's decision to forgo developing Axum, TPL Dataflow in.Net 4.5 incorporates several of Axum's concepts.[52] 64 Figure 28 : Axum logo 52. B The programming language discussed in this article was created at Bell Labs. See ABC for Meertens and Pemberton's "b" language (programming language). To learn more, go to B. (disambiguation). The B programming language was created by Ken Thompson and Dennis Ritchie at Bell Labs in the late 1960s. It was created by Ken Thompson It debuted in 1969. Its name may be a contraction of BCPL as B was formed from BCPL. Dennis Ritchie, a coworker of Thompson's, hypothesized that Bon, an earlier but unrelated programming language that Thompson created for use on Multics, may have served as inspiration for the name. B was created for machine-independent, recursive, non-numeric applications like system and language software. The only data type in this typeless language, whatever the underlying machine's natural memory word format could be, was the language itself. The word was handled as either a memory location or an integer depending on the context. Support for character data stuffed in memory words became crucial as ASCIIprocessing computers were widely used, particularly the DEC PDP-11 that arrived at Bell. As a result of the typeless feature of the language being perceived as a drawback, Thompson and Ritchie created the C programming language, an enlarged version of the language that included new internal and user-defined types. 65 The constant e-2 will be calculated to around 4000 decimal digits and printed 50 characters to a line in groups of 5 characters using the following program. The process involves a straightforward output conversion of the expansion 1/2! + 1/3! +... =.111...., where the digits' bases are 2, 3, 4,... */ main() { extrn putchar, n, v; auto i, c, col, a; i = col = 0; while(i<n) v[i++] = 1; while(col<2*n) { a = n+1; c = i = 0; while (i<n) { c =+ v[i] *10; v[i++] = c%a; c =/ a--; } putchar(c+'0'); if(!(++col%5)) putchar(col%50?' ': '*n'); } putchar('*n*n'); } v[2000]; n 2000; 53. Babbage The high level assembly language used by the GEC 4000 series of minicomputers is called Babbage. Charles Babbage, an English computer pioneer, was honored with its name. [54] procedural, hierarchical, high-level assembler paradigm Initially appeared: about 1971. Operating system : COS, GEC DOS, OS4000 66 PROCESS CHAPTER FACTORIAL ENTRY LABEL ENTRYPOINT LITERAL TO = 4 // Assume using the default proforma EXTERNAL ROUTINE OPEN, PUT, CLOSE, TOCHAR VECTOR [0,19] OF BYTE ANSWER = "factorial x = xxxxxx" HALF COUNT HALF VALUE FULL RESULT ROUTINE FACT(VALUE) // return factorial of RA. VALUE => RESULT WHILE DECREMENT VALUE GT //0// DO << RESULT * VALUE => RESULT >> RETURN(RESULT) END ENTRYPOINT: OPEN(TO, 1) // Print factorials for numbers 1 through 9 1 => RA REPEAT << RA => COUNT FACT(RA) => RA TOCHAR(RA, 7, ANSWER + 13) TOCHAR(COUNT, 2, ANSWER + 9) PUT(TO, 20, ANSWER) COUNT + 1 => RA >> WHILE RA LT 10 CLOSE(TO) STOP(0) END 67 54. Ballerina WSO2 created Ballerina, an open source general-purpose programming language, for developers of cloud-based applications. Figure 29. Sanjiva Perera, James Clark, Sameera Jayasoma, Hasitha Aravinda, Srinath Perera, Frank Leymann, and WSO2 were responsible for the design. Initial release: 2017. System of operation: cross-platform Support for numerous data formats and protocols, reliability, distributed transactions, APIs, and event streams are just a few of the various components aimed toward cloudnative development that are present in it. [55] The standard Hello World episode: public function main(); import ballerina/io; io:println("Hello World!"); Place the source code in a.bal file and give the bal run command the path to the file to run the aforementioned program. Hello world.balance $ ballerina World, welcome! Figure 29 : Ballerina logo 68 55. Bash As a free software replacement for the Bourne shell, Brian Fox created the Unix shell and command language Bash for the GNU Project. Figure 30. It has been the standard login shell for the majority of Linux distributions since its 1989 debut. Along with GCC, Bash was among the first applications Linus Torvalds ported to Linux. The Windows Subsystem for Linux also has a version for Windows 10 and Windows 11. Additionally, Solaris 11 uses it as the default user shell. Although zsh replaced tcsh as the default shell in the 2019 release of macOS Catalina, Bash is still an option. Bash was also the default shell in versions of Apple macOS from 10.3 (originally, the default shell was tcsh). Brian Fox was the original author. Released on June 8, 1989. Scripted in C . OS: MacOS, a Unix-like operating system (GPL-2.0-or-later; GPL-3.0-or-later available through third parties) Windows (GPL-3.0-or-later) (GPL-3.0-or-later) Bash is a command processor that normally operates in a text window where users enter instructions to trigger operations. A shell script is a file that contains commands that Bash can read and execute. Like the majority of Unix shells, it supports variables, control structures for condition-testing and iteration, pipes, here documents, command replacement, and wildcard matching for filenames. Figure 31. All of the language's fundamental elements—keywords, syntax, dynamically scoped variables, etc.—are lifted from sh. From csh and ksh, other features, such history, are copied. POSIX-compliant but with a variety of enhancements, Bash is a shell. The name of the shell, which is a play on the name of the Bourne shell it replaces and the idea of being "born again," is an acronym for Bourne Again Shell. Shellshock, a security flaw in Bash that dates back to version 1.03 (August 1989), was first identified in early September 2014 and soon sparked a number of attacks across the Internet. Soon after the bugs were found, patches to correct them were made available.[56] Figure 30 : Bash logo 69 Figure 31 : Bash command window 70 56. BASIC A family of high-level, general-purpose programming languages called BASIC (Beginners' All-purpose Symbolic Instruction Code) is created for user-friendliness. John G. Kemeny and Thomas E. Kurtz at Dartmouth College produced the original version in 1964. They sought to make computers accessible to students studying subjects other than science. At the time, almost all computers needed programming specialized software, which was typically only learned by scientists and mathematicians. Date of debut: May 1, 1964. The Dartmouth Time Sharing System (DTSS), which was created by Kemeny and Kurtz in addition to the programming language, allowed many users to edit and run BASIC programs on distant terminals at the same time. In the late 1960s and early 1970s, this general approach gained a lot of traction on minicomputer platforms like the PDP-11 and Data General Nova. Figure 32. The HP2000 series was introduced in the late 1960s, and Hewlett-Packard created a complete computer line for this mode of operation, with sales extending into the 1980s. One of these early versions of BASIC is where a lot of early video games got their start. Multiple BASIC dialects were created as a result of the introduction of microcomputers in the middle of the 1970s, notably Microsoft BASIC in 1975. Numerous Tiny BASIC languages were also developed as a result of the limited main memory on these devices, which was frequently 4 KB. The de facto programming language for home computer systems that first appeared in the late 1970s was BASIC, which was available for practically every system of the time. A BASIC interpreter was almost always pre-installed on these PCs, either in the firmware or occasionally in a ROM cartridge. As more potent microcomputers entered the market and programming languages with additional capabilities (like Pascal and C) became practical on such machines, BASIC's appeal waned in the 1990s. A newer version of BASIC and a visual form builder were combined when Microsoft published Visual Basic in 1991. This sparked the language's use once more, and "VB" is still a popular programming language[citation needed] under the guises of VBA and VB.NET. [57] 71 Figure 32 : Three modern Basic variants: Mono Basic, OpenOffice.org Basic and Gambas Standard BASIC words : • manipulating data A variable is given a value by LET, which could be the outcome of an expression. The majority of BASIC dialects treat LET as optional, therefore if there is no other keyword in the line, LET is assumed to be the keyword. A series of values are successively assigned to DATA using the READ command. READ assigns a value to a variable after reading it from a DATA statement. With each READ, an internal pointer advances one position to maintain track of the most recent DATA element that was read. The majority of dialects support multiple variables as parameters, reading multiple values at once. RESTORE forces the program to start READing from the first value by resetting the internal pointer to the first DATA statement. In many dialects, the pointer can be reset to a particular place by providing an optional line number or ordinal value. • creates an array. 72 program flow management used to perform comparisons or reach decisions. IF... THEN... ELSE Later versions allowed any acceptable statement to follow the THEN, whereas earlier languages only permitted a line number. Particularly in previous versions, ELSE was not extensively supported. Repeat a section of code using FOR... TO... STEP... NEXT a predetermined number of times. Within the loop, a variable called "index" serves as a counter. While, repeat the cycle until. While the provided condition is true, run a portion of code again. Before or after each loop iteration, the condition may be assessed. Most later languages contain both of these commands. DO... LOOP while or till repeats a portion of code until the required condition is satisfied. Before or after each loop iteration, the condition may be assessed. These keywords, like WHILE, are primarily present in later dialects. GOTO causes a program leap to a numbered or labeled line. The form GO TO was likewise accepted in most dialects. GOSUB... RETURN jumps to the statement following the GOSUB, either after a colon, or on the next line. It then executes the code it finds there until it reaches a RETURN command. Subroutines are implemented using this. ON GOTO/GOSUB determines where to jump based on the parameters. For further forms, see Switch statement. DEF FN is a pair of keywords that was first used to define functions in the early 1960s. Fortran single-line functions served as the inspiration for the initial BASIC functions. Instead of using subroutines, BASIC functions consisted of a single statement with variable arguments, with a syntax similar to DEF FND(x) = x*x at the start of a program. Function names could only contain the letters FN and one additional letter, for example, FNA or FNB. The complete source code of the running program is visible in input and output LIST. A message is shown on the screen or another output device when you use PRINT. INPUT requests that the user enter a variable's value. A prompt message can be present in the statement. TAB is used in conjunction with PRINT to specify where the next character will appear on screen or be printed on paper. An alternative form is AT. A large amount of space characters are printed by SPC. Similar in concept to TAB, but instead of moving to a specific column, it moves a number of additional spaces from the current column. • Calculus functions ABS (Absolute worth ) ATN (Arctangent (result in radians) ) COS (Cosine (argument in radians)) EXP (INT's exponential function ) • Decimal portion (typically floor function) LOG (organic logarithm ) RND (production of random numbers ) 73 SIN (Sine (argument in radians)) SQR (root square ) TAN (Tangent (argument in radians)) • Miscellaneous REM stores a programmer's comment or REMark, which is frequently used to give the program a name and to clarify the goal of a certain portion of code. A machine language subroutine, often entered as an alphanumeric string or as a set of DATA statements, is given program control via USR. Some dialects use the CALL form of USR instead. does not need a synthetic parameter to complete the function-like syntax of USR and has a well-defined way to invoke various memory-based procedures. Figure 33. TRON / TROFF activates line number displays for each run ("TRace ON"). This was helpful for troubleshooting or fixing program issues. TROFF again turns it off. Inline assembly language is supported by some compilers, including Freebasic, Purebasic, and Powerbasic. This feature enables programmers to mix high-level and low-level code, typically prefixed with "ASM" or "!" statements. Figure 34. Figure 33 : A simple game implemented in BASIC 74 The "Hello, World!" program by Kernighan and Ritchie is a well-known and frequently imitated example. New BASIC programmers on a home computer might start with a simple program, perhaps using the language's PRINT statement to display a message on the screen: "Hello, World," 10 PRINT 20 END The following message could be displayed on the screen indefinitely: "Hello, World," 10 PRINT 20 GOTO 10 Keep in mind that the END statement is optional and does nothing in the majority of BASIC languages. As in this instance, it was not always included. Using the standard FOR statement, the same program can be altered to print a set amount of messages. NEXT SUMMARY: 10 PRINT "Hello, World!" 20 FOR I=1 TO N 30 LET N=10 40 NEXT I Figure 34 : Atari BASIC (1979) for the Atari 8-bit family 75 57. Batch file (Windows/MS-DOS) Script files in DOS, OS/2, and Windows are referred to as batch files. It consists of a set of instructions saved in a plain text file that must be run by the command-line interpreter. A batch file can use constructs like IF, FOR, and GOTO labels to enable conditional branching and looping within the batch file. It can also contain any command the interpreter accepts interactively. Although a batch file might not execute a batch of numerous data, the word "batch" comes from batch processing, which refers to "non-interactive execution." By enabling the user to write up a script to automate certain routine operations, batch files were introduced to reduce the effort necessary for certain tasks, much like Job Control Language (JCL), DCL, and other systems on mainframe and minicomputer systems. When a batch file is executed, a shell application (often COMMAND.COM or cmd.exe) reads the file and runs the commands, typically line by line. Shell scripts are a comparable but more adaptable form of file seen in Unix-like operating systems like Linux.In DOS and Windows, the.bat file extension is utilized. .cmd was also added by OS/2 and Windows NT. Batch files for other environments may have different file extensions, such as.btm in shells connected to 4DOS, 4OS2, and 4NT. Figure 35. Between versions, there has been a significant change in how batch files are specifically handled. While some of the information in this article is applicable to all batch files, other information is specific to some versions. [58] This sample batch file displays Hello World!, asks the user to enter a key, waits, and then ends. (Note: Unless working with variables, it doesn't matter if instructions are written in lowercase or uppercase.) OFF ECHO @ECHO World, welcome! PAUSE The file must be generated using a text editor like Microsoft Notepad or a word processor that supports plain text mode, and saved with the filename extension suffix.bat (or.cmd for Windows NT-type operating systems). 76 Figure 35 : Batch file window Following execution, the following is shown: World, welcome! Starting with the first line, the interpreter runs each line in turn. Any line that begins with the @ symbol stops the prompt from showing that command while it is being run. The prompt is turned off permanently by the command ECHO OFF, or at least until it is put back on. A batch file's initial line is frequently concatenated @ECHO OFF since it prevents all instructions from appearing, including this one. The ECHO Hello World! command then outputs Hello World! on the following line. The following line is run, and the PAUSE command appears. To continue, press any key, which pauses the script's execution. The script ends when a key is pushed because there are no more commands. In Windows, if the script is launched from a command prompt window that is already open and running, the window stays open at the prompt like in MS-DOS; if not, the window shuts on termination. 77 58. bc (basic calculator) Basic Calculator is "an arbitrary-precision calculator language" with syntax resembling the C programming language. It is also known as Bench Calculator. bc is frequently employed as an interactive mathematical shell or as a mathematical scripting language. Bell Labs' Robert Morris and Lorinda Cherry were the creators. Released initially in 1975. Operating systems: Plan 9, FreeDOS, and Unix or Unix-like In order to provide a greater level of access to the dc language's features without the difficulties of dc's terse syntax, the POSIX defined bc language is generally written as a program in dc. In this form, the bc language includes C's well-known control-flow structures like if(cond), while(cond), and for(init;cond;inc), as well as single-letter names for variables, arrays, functions, and the majority of common arithmetic operators. In contrast to C, an else cannot come after an if clause. The define keyword is used to define functions, and the return keyword is used to retrieve values from them. The return value is enclosed in parentheses. Declaring a variable as local to a function in C requires the use of the auto keyword, which is optional. All numbers and variable contents are arbitrary-precision numbers, and the global scale variable controls the accuracy (in decimal places). o By defining the reserved variables ibase (input base) and obase (output base), you can choose the numeric base of input (in interactive mode), output, and program constants. o By purposefully not putting the outcome of a calculation into a variable, output is produced. The C /* and */ (start and end comment) symbols can be used to insert comments into BC code. [59] Sample of a code, As the bc operator only permits an integer power to its right, a power function with a floating-point exponent is one of the first functions a bc user might create. The two examples below both presuppose the standard library is present: /* Use the knowledge that xy == e(y*log(x)) */ define p /* A function to return the integer portion of x */ define i(x) auto s s = scale scale = 0 x /= 1 /* round x down */ scale = s return (x) (x,y) If y equals i(y), then return (x y) and return (e(y * l(x)) 78 59. BCPL A procedural, imperative, and structured programming language is called BCPL (basic combined programming language). BCPL, which was first created to create compilers for other languages, is no longer widely used. However, because the C programming language was built on a simplified and syntactically altered version of BCPL called B, its effect may still be seen today. Many elements of many contemporary programming languages, such as the use of curly braces to separate code blocks, were first presented by BCPL. Martin Richards of the University of Cambridge introduced BCPL for the first time in 1967. [60] 60. BeanShell BeanShell is a lightweight, open-source Java source interpreter with features of an object programming language that may be embedded. It utilizes the Java Runtime Environment (JRE), dynamically executes typical scripting conveniences like loose types, commands, and method closures, similar to those found in Perl and JavaScript, and extends conventional Java syntax. [61] It debuted in 1999. System of operation: cross-platform 79 61. BETA The "Scandinavian School" of object-orientation, where Simula, the first objectoriented language, was created, is where BETA comes from. It introduced nested classes and combined classes with methods into so-called patterns, among other important features. Bent Bruun Kristensen, Ole Lehrmann Madsen, Birger Mller-Pedersen, and Kristen Nygaard Patterns all contributed to the design. [62] The idea of patterns is a significant and unusual aspect of the language. There would be many classes and procedures in a different programming language, like C++. Both of these ideas are presented by BETA using patterns. For instance, a straightforward C++ class would have the format class point int x, y; ; In BETA, the pattern point (# x, y: @integer #) might be used to express the same class. In other words, a class called point will have two integer-type fields named x and y. Patterns are introduced via the symbols (# and #). To declare patterns and variables, use the colon. The field definitions indicate that these are integer fields and not, in contrast, references, arrays, or other patterns by placing a @ symbol before the integer type. Another comparison might be a C++ procedure with the following syntax: int max(int x, int y) if (x >= y) return x; else return y; Such a function might be created in BETA by following the syntax max: (# x, y, z: @integer enter (x, y) do (if x >= y / True then x -> z else y -> z if) exit z #) The local variables x, y, and z. The enter keyword defines the pattern's input parameters, and the exit keyword specifies the function's output. The do keyword precedes the list of operations to be performed between the two. The (if and if) operator separates the conditional block, making the if keyword a part of the opening and closing parenthesis. Within an if block, truth is verified by / True. The assignment operator ->, in its final state, transfers the value on its left side to the variable on its right side. World, welcome! This code fragment prints the common line "Hello world!" as follows: (# do "Hello world!"->PutLine #) 80 62. BLISS W. A. Wulf, D. B. Russell, and A. N. Habermann created the system programming language BLISS at Carnegie Mellon University (CMU) sometime in the 1970s. Up to C's release a few years later, it was arguably the most well-known system language. Since then, C has grown in popularity and use, whereas BLISS has lost favor. A few projects at Bell Labs discussed the advantages of BLISS vs. C when C was still in its infancy. Running program is Cross-platform A typeless block-structured programming language called BLISS has structures for handling exceptions, coroutines, and macros and is built on expressions rather than statements. There is no goto statement in it. Different sources claim that the term is an acronym for System Software Implementation Language, Backwards or Basic Language for Implementation of System Software. In honor of Bill Wulf, it was frequently referred to as "Bill's Language for Implementing System Software." The original Carnegie Mellon compiler served as the inspiration for the classic book The Design of an Optimizing Compiler and was noted for its extensive use of optimizations. [63] The following traits apply to the BLISS dialect: For example, on a 16-bit machine like the PDP-11, a constant is 16 bits; on a VAX computer, a constant is 32 bits; and on a PDP-10, a constant is 36 bits. All constants are full words for the machine being used. Any reference to a variable is always a reference to the variable's address. For instance, the instruction Z+8 refers to increasing Z's address by 8 rather than its value. To perform this function, which adds 8 to the value of Z, one must prefix the variable with a period. For example, one would type.Z+8 to perform this function. The common = symbol is used for assignment; for example, Z=8 instructs the computer to generate a full-word constant containing the number 8 and store it in the location whose address matches that of Z. As a result, Z+12=14 (or, alternatively, 12+Z=14) inserts the constant 14 into the address that comes 12 words after Z. Similar to ALGOL, blocks are started with a BEGIN statement and ended with an END statement. Statements are ended similarly to ALGOL with a semicolon (";"). A value can be computed, set to a variable, and carried forward to the next statement if desired since when a value is computed, it is saved until the following statement terminator. As an alternative, a block may start with an open parenthesis and end with a close parenthesis. Parenthesized expressions are computed first when parentheses are present in an expression. Conditional execution makes use of the IF expression, which evaluates a true-false condition, takes alternative actions, and returns a result. In comparison, terms like EQL for equality, GTR for greater than, and NEQ for not equal are used instead of overloading the = sign for the same purpose. For instance, the location denoted by Q will receive the absolute value of Z when the following code is used: Identifiers (variables and constants) must be declared before use, typically using the OWN keyword. Q = (IF.Z GTR 0 THEN.Z ELSE -.Z); A variable may be given a 81 fixed machine address via the BIND declaration when necessary; ordinarily, declaring a variable requires the compiler to allocate space for it. Accessing either computer registers or specific special addresses is the main usage of this feature. Routines are subroutines in the language, and they are declared using the term ROUTINE. With the keyword MACRO, macros that enable text substitution are declared. The language supports arrays, which are declared using the term VECTOR and are referred to as structures. Some high-level programming language constructs are supported by the language, including: Various ways to execute a command using the CASE expression Creating a loop by using the INCR expression, which is akin to the FOR statement in ALGOL internal string operations a few automated data conversions (number to string, etc.) 63. Blockly Blockly is a JavaScript client-side framework for building block-based visual programming languages (VPLs) and editors. It is free and open-source software created by Google and distributed under the Apache License 2.0. It often runs in a web browser and looks similar to the Scratch programming language. Scripted in JavaScript Operating systems: iOS and Android Code can be generated in JavaScript, Lua, Dart, Python, or PHP using Blockly's visual blocks that connect to make writing code simpler. To create code in any textual programming language, it can also be tweaked. Features : o Flash-free, web-based, and uses Scalable Vector Graphics (SVG). o JavaScript is entirely client-side. o Internet Explorer, Chrome, Firefox, Safari, and other popular web browsers are supported (IE) support for a variety of programming constructs, such as variables, functions, and arrays support for minimal type checking and creation of dynamically typed languages Simple to add custom blocks to. creation of clean code Code execution in stages for tracing and debugging Adapted into more than 100 languages Support for languages written both left-to-right and right-to-left[64] 82 64. BlooP Simple programming languages called BlooP and FlooP (Bounded loop and Free loop) were created by Douglas Hofstadter to illustrate a point in his book Gödel, Escher, Bach. BlooP is a non-Turing-complete programming language with a bounded loop as its primary control flow structure (i.e. recursion is not permitted). Only elementary recursive functions can be expressed in this language, and all programs must end. Since FlooP is a Turing-complete language that can express any computable functions, it is identical to BlooP with the exception that it permits unbounded loops. For instance, it can express the Ackermann function, which BlooP cannot express because it is not a primitive recursive function. Hofstadter refers to the unbounded loops in FlooP as MUloops, borrowing language from mathematical logic. The halting problem affects all Turing-complete programming languages, including FlooP. In general, it is impossible to determine which programs will terminate. BlooP and FlooP are models of computing that have occasionally been employed in computability education. The only variables are CELL(i), which represents the procedure's return value, and OUTPUT (an unbounded sequence of natural-number variables, indexed by constants, as in the Unlimited Register Machine). There are simply the following operators: assignment, addition, multiplication, less-than, greater-than, and = (equals). Although each program only makes use of a certain number of cells, those cells can contain any size of number. Data structures like lists or stacks can be handled by applying specific interpretations to the numbers in cells, or by Gödel numbering the potential structures. Bounded loops, conditional statements, ABORT leaps out of loops, and QUIT jumps out of blocks are examples of control flow constructs. Recursion, unlimited jumps, and other techniques that would mimic FlooP's unbounded loops are not allowed in BlooP. Named procedures can be defined, but they can only call other procedures that have already been created. Factorial function: DEFINE PROCEDURE FACTORIAL [N]: BLOCK 0: BEGIN OUTPUT ⇐ 1; CELL(0) ⇐ 1; LOOP AT MOST N TIMES: BLOCK 1: BEGIN OUTPUT ⇐ OUTPUT × CELL(0); CELL(0) ⇐ CELL(0) + 1; BLOCK 1: END; BLOCK 0: END. 83 Subtraction function Since it is specified on natural integers, this operation is not a built-in one and never produces a negative result (for example, 2 3:= 0). Keep keep mind that OUTPUT requires no setup because it starts at 0, just like all the CELLs do. [65] DEFINE PROCEDURE MINUS [M,N]: BLOCK 0: BEGIN IF M < N, THEN: QUIT BLOCK 0; LOOP AT MOST M + 1 TIMES: BLOCK 1: BEGIN IF OUTPUT + N = M, THEN: ABORT LOOP 1; OUTPUT ⇐ OUTPUT + 1; BLOCK 1: END; BLOCK 0: END. The Ackermann function is implemented in the example below by simulating a stack using Gödel numbering, specifically by utilizing the previously defined numerical functions PUSH [N, S] > 0, TOP [PUSH [N, S]] = N, and POP [PUSH [N, S]] = S. This is not an authorized BlooP program because an unbounded MU-LOOP is used. Contrary to the ABORT instructions, which terminate the loop in this scenario, the QUIT BLOCK instructions skip to the end of the block and resume the loop. 84 DEFINE PROCEDURE ACKERMANN [M, N]: BLOCK 0: BEGIN CELL(0) ⇐ M; OUTPUT ⇐ N; CELL(1) ⇐ 0; MU-LOOP: BLOCK 1: BEGIN IF CELL(0) = 0, THEN: BLOCK 2: BEGIN OUTPUT ⇐ OUTPUT + 1; IF CELL(1) = 0, THEN: ABORT LOOP 1; CELL(0) ⇐ TOP [CELL(1)]; CELL(1) ⇐ POP [CELL(1)]; QUIT BLOCK 1; BLOCK 2: END IF OUTPUT = 0, THEN: BLOCK 3: BEGIN OUTPUT ⇐ 1; CELL(0) ⇐ MINUS [CELL(0), 1]; QUIT BLOCK 1; BLOCK 3: END OUTPUT ⇐ MINUS [OUTPUT, 1]; CELL(1) ⇐ PUSH [MINUS [CELL(0), 1], CELL(1)]; BLOCK 1: END; BLOCK 0: END. 85 65. Boo Boo is an object-oriented, statically typed, general-purpose programming language with a focus on language and compiler expansion that aims to take advantage of the Common Language Infrastructure's support for Unicode, internationalization, and online applications. Figure 36. Type inference, generators, multimethods, optional duck typing, macros, true closures, currying, and first-class functions are a few noteworthy features. Before official support was discontinued in 2014 due to the small user base, Boo was one of the three scripting languages for the Unity game engine (Unity Technologies employed De Oliveira, its designer). In 2017, the Boo Compiler was eliminated from the engine. [66] The BSD 3-Clause license governs the free software known as Boo. Both the Microsoft.NET and Mono frameworks are compatible with it. print Hello world program ("Hello World") Defined by the Fibonacci series generator function fib(): a, b = 0L, 1L h # While true, the 'L's twice the word length of the numbers (usually 64 bits): give b a, b = b, a + b # Print the series' first five numbers: element in zip(range(5), fib()) for index as int: "$index+1: $element" print Figure 36 : Boo logo 66. Boomerang A programming language called Boomerang is used to create lenses, which are well-behaved bidirectional transformations that work with arbitrary textual data types. Initial release: 2008; fourteen years ago Operating systems: Mac OS X and Linux[67] 86 67. Bosque Microsoft created and developed Bosque, a free and open-source programming language that was influenced by the syntax and types of TypeScript as well as the semantics of ML and Node/JavaScript. Better program quality and increased developer productivity are among the design objectives for the language. Mark Marron, a computer scientist at Microsoft Research, created Bosque as a means of eschewing the structured programming paradigm that rose to prominence in the 1970s. After computer scientist Edsger Dijkstra published a paper in 1968 titled "Go To Statement Considered Harmful," the structured programming paradigm, in which flow management is handled by loops, conditionals, and subroutines, gained popularity. Marron thinks that by eliminating sources of complexity like loops, mutable state, and reference equality, we can perform better. Bosque is the outcome, and it stands for a paradigm of programming that Marron refers to as "regularized programming" in a paper he has written. Figure 37. The MIT License governs the Bosque specification, parser, type checker, reference interpreter, and IDE support, which are all available on GitHub. [68] Examples Addition of two numbers x: Int; y: Int; add2 Integer: return x plus y; add2(2, 3) (2, 3) / 5 add2(x=2, y=3) / 5 add2(y=2, 5) / 7 Figure 37 : Bosque logo 87 68. C – ISO/IEC 9899 C is a middle-level, all-purpose computer programming language that is pronounced like the letter C. Dennis Ritchie invented it in the 1970s, and it is still quite popular and influential. The capabilities of the targeted CPUs are clearly reflected in C's features by design. Operating systems, device drivers, and protocol stacks have continued to use it, albeit application software has used it less frequently. The smallest microcontrollers and embedded systems to the greatest supercomputers all use the programming language C. Figure 38. Most programming textbooks now use the "hello, world" example from the first edition of K&R as their example for an introductory program. To the standard output, which is typically a terminal or screen display, the program outputs "hello, world." The first draft was as follows: Main(); printf (“Hi, world”) A "hello, world" software that complies with standards is: int main(void); '#include stdio.h' printf ("Hello, world,") Preprocessing instructions are contained in the first line of the program, denoted by the #include symbol. This instructs the compiler to replace that line with the entirety of the standard header file stdio.h, which includes definitions for printf and scanf as well as other input and output functions. The angle brackets around stdio.h show that the search method used to find stdio.h prioritizes compiler-supplied headers over other headers with the same name, as opposed to double quotes, which are normally used to include local or project-specific header files. The definition of the main function is shown in the next line. In C programs, the main function has a specific function; it is called by the run-time environment to start the execution of the program. When the main function is evaluated, the type specifier int indicates that an integer will be returned to the invoker (in this case, the run-time environment). This function does not accept any arguments, as indicated by the keyword void in the parameter list. The first curly brace marks the start of the main function declaration. The following line invokes (redirects execution to) the printf function, which is provided by a system library in this instance. The address of the first character in the string literal "hello, world" is sent as the only argument to the printf function in this call. 88 The compiler automatically sets up the string literal as an unnamed array with char-type members and an end-of-array 0-valued character (printf needs to know this). The escape character n, which C converts to a newline character on output to denote the end of the current line, is an escape sequence. Since it is not used, the printf function's return value, an int, is silently discarded. (A more cautious software might check the return value to see if the printf function was successful.) The statement is finished by a semicolon, or ;. The final curly brace marks the conclusion of the main function's code. The main function, unlike any other function, will implicitly return a value of 0 upon reaching the that concludes the function, according to the C99 specification and newer. (An explicit return 0; statement was formerly necessary.) The run-time system interprets this as an exit code denoting successful execution. [69] Figure 38 : C logo 89 69. C-- (C minus minus) C is a programming language that is comparable to C— Functional programming gurus Simon Peyton Jones and Norman Ramsey created it mostly using compilers for very high-level languages rather than human programmers. Contrary to many other intermediate languages, it is represented as plain ASCII text rather than bytecode or another binary format. By: Simon Peyton Jones and Norman Ramsey first availability: 1997 There are two main branches: The official version 2.0 of C—, the original branch, was released in May 2005. Interesting, the Glasgow Haskell Compiler actively employs the fork as the intermediate representation (IR) (GHC).. C—, dubbed "portable assembly language," was developed to make it easier to design compilers that produce excellent machine code. Giving a C-compiler control over lowlevel code generation and program optimization achieves this. The language's syntax closely resembles that of C while omitting or changing features like pointer syntax, variadic functions, and other type system elements since they hinder the language's ability to write code quickly. The name of the language is a joke that relates to the fact that C++ is essentially an enhanced version of C and that C— is a condensed form of C. (In C, the words "decrement" and "increment" stand for — and ++, respectively.) Work on C— began in the late 1990s. It was challenging to develop custom code generators at the time due to the complexity and lack of documentation of the compiler backends available to academics, therefore a number of projects had constructed compilers that generated C code (for instance, the original Modula-3 compiler). However, because it cannot be depended upon to enable accurate garbage collection, tail-call optimization, or efficient exception handling, C is a poor candidate for functional languages. The more restricted, simpler variation of C known as C—underpins each of these. Its run-time interface, which enables the development of portable garbage collectors, exception handling systems, and other run-time features, distinguishes it from other Ccompilers. The first version of C—, along with a study on garbage collection, were both released as MSRA papers in January 1999 and April 1998, respectively. An updated manual was posted online in HTML format in May 1999. C— version 2 was created in 2004 and officially released in 2005 as a result of two sets of noteworthy changes that Norman Ramsey ("Presented Changes") and Christian Lindig proposed in 2000. ("A New Grammar"). [70] 90 70. C++ (C plus plus) – ISO/IEC 14882 Bjarne Stroustrup, a Danish computer scientist, developed the high-level generalpurpose programming language C++ as an expansion of the C programming language, sometimes known as "C with Classes." The language has evolved greatly over time, and contemporary C++ currently contains facilities for low-level memory management along with object-oriented, generic, and functional features. It is available on numerous platforms since it is nearly often implemented as a compiled language, and numerous suppliers, such as the Free Software Foundation, LLVM, Microsoft, Intel, Embarcadero, Oracle, and IBM, offer C++ compilers. Figure 39. Bjarne Stroustrup was the architect. First published in 1985. Cross-platform operating system. Performance, effectiveness, and flexibility of usage were the design pillars of C++, which was created with systems programming, embedded, resource-constrained software, and big systems in mind. With its key strengths being software infrastructure and resource-constrained applications, such as desktop programs, video games, servers (such as those for e-commerce, web searches, or databases), and performance-critical applications, C++ has also been found to be helpful in a wide variety of other contexts (e.g. telephone switches or space probes). The International Organization for Standardization (ISO) has standardized C++; the most recent version was approved and published by ISO in December 2020 as ISO/IEC 14882:2020, also known as C++20. The ISO/IEC 14882:1998 standard for the C++ programming language was the first to be updated by the C++03, C++11, C++14, and C++17 standards. These are superseded by the current C++20 standard's new features and expanded standard library. Before it was first standardized in 1998, Stroustrup developed C++ at Bell Labs starting in 1979 as an extension of the C language. He wanted a language that was just as effective and flexible as C while also offering high-level features for program organization. With C++23 as the upcoming anticipated standard, C++ has been on a three-year release schedule since 2012. Mapping of hardware features offered mostly by the C subset, and abstractions with low overhead based on those mappings. According to Stroustrup, C++ is "a lightweight abstraction programming language [built] for developing and utilising efficient and elegant abstractions; the foundation of C++ offers both hardware access and abstraction." Its ability to be performed effectively sets it apart from other languages. Most of the grammar from C is carried over to C++. The Hello world program by Bjarne Stroustrup is the following, and it writes a message to standard output using the stream feature in the C++ Standard Library: 91 #include <iostream> int main() { std::cout << "Hello, world!\n"; } C++ gives C features for object-oriented programming (OOP). It provides classes that offer the four properties usually found in OOP (and some non-OOP) languages: polymorphism, inheritance, encapsulation, and abstraction. Support for deterministic destructors, which in turn provides support for the Resource Acquisition is Initialization (RAII) idea, sets C++ classes apart from classes in other programming languages. [71] Figure 39 : C++ logo 71. C* The programming language is the subject of this article. Please refer to Apache Cassandra for the DBMS. See algebra for further information. See Star and crescent for information on the emblems and symbols used on flags. Characteristic velocity is the phrase used to describe rocket propulsion. For the category of astronomical object, see star cluster. Convergence is a festival for goths (goth festival). An object-oriented, data-parallel superset of ANSI C with synchronous semantics is called C* (or C-star). [72] Thinking Machines created the design. initial release: 1987 System of operation: Connection Machine 92 72. C# (C sharp) – ISO/IEC 23270 C# is a multi-paradigm, high-level, general-purpose programming language that is pronounced "see sharp." Figure 40. Programming paradigms like imperative, declarative, functional, generic, object-oriented (class-based), lexically scoped, static typing, strong typing, and component-oriented are all supported by C#. [73], Figure41. Figure 40: C-sharp musical note Figure 41 : C-sharp logo 93 Microsoft employee Anders Hejlsberg created the C# programming language, which was eventually recognized as a global standard by Ecma (ECMA-334) in 2002 and ISO/IEC (ISO/IEC 23270) in 2003. Microsoft unveiled C# along with the closedsource.NET Framework and Visual Studio. Microsoft didn't have any open-source products at the time. A cross-platform compiler and runtime environment for the C# programming language were made available by the free and open-source project Mono four years later, in 2004. A decade later, Microsoft launched the unified.NET platform (software framework), Roslyn (code editor), and Visual Studio Code (compiler), all of which support C# and are free, open-source, and cross-platform. Mono joined Microsoft as well, but it was not incorporated into.NET. The most recent stable version of the language as of November 2022 is C# 11.0, which was made available in 2022 with.NET 7.0. In 1988, Microsoft gave a C language variant intended for incremental compilation the moniker C# for the first time. The name was subsequently used for another project that was never finished. Here is a very basic C# program that uses the top-level statements feature that was added in C# 9 to provide a modified version of the traditional "Hello world" example: utilizing the console; system. "Hello, world," writes WriteLine; The entry point logic of a program must be defined in a Main method inside a type for code written in C# 8 or earlier: using System; // A version of the classic "Hello World" program class Program { static void Main() { Console.WriteLine("Hello, world!"); } } In the console window, this code will show the following text: Hello, universe! Each line serves a specific function. For example, the line above imports all types from the System namespace. For instance, the Console class is created in the System namespace and can be used later in the source code without specifying the type's complete name (which includes the namespace). / An alternative to the well-known "Hello World" program 94 This line serves as a comment for the coder, explaining and documenting the code (s). class Program The Program class's definition may be found above. The text that appears after the braces describes the class. { ... } The boundaries of a code block are indicated by the curly brackets. They are denoting the beginning and end of the Program class in this first instance. static void Main () The class member method where the program starts to run is declared here. The Main function is called by the.NET runtime. The public keyword, which instructs the compiler that the method can be called from anywhere by any class in Java, is not required for the Main method. It is comparable to writing private static void Main when writing static void Main(string[] args) (string[] args). The method can be accessed without a Program instance thanks to the static keyword. The Main entry point of each console application must be declared static; otherwise, each program would need its own instance of Program, and each instance would need its own program. If there is no static Main method, C# compilers handling console programs (like the one above) will throw an error in order to avoid that unbreakable circular dependency. It is stated by the void keyword that Main has no return value. Console. WriteLine("Hello, world!"); The output is written in this line. In the System namespace, Console is a static class. For console applications, it offers an access to the conventional input, output, and error streams. The program invokes the Console function WriteLine, which prints a line with the parameter "Hello, world!" to the console. 95 73. C/AL Up until (and including) version 14, Microsoft Dynamics NAV (Formerly known as Navision Attain) and Microsoft Dynamics 365 Business Central used the programming language C/AL (Client/Server Application Language) within C/SIDE, the Client/Server Integrated Development Environment. AL has taken its place. C/AL is a Database specific programming language, and is primarily used for obtaining, inserting and altering records in a Navision database. The Pascal programming language, on which C/AL is based, is similar. Michael Nielsen created the original C/AL compiler. This is the traditional Hello World illustration. The C/SIDE (Client/Server Integrated Development Environment) lacks a console to output text, so a dialog box was used in this example's visual interface instead. [74] MESSAGE('Hello, world!'); Filtering and retrieving record Variables in C/AL are not defined through code, but are defined via the variable declaration menu in the C/AL editor. In this example Item is assumed to be a variable of type Record. IF Item.GET('31260210') THEN MESSAGE(STRSUBSTNO('Item name is: %1',Item.Description)); Item.RESET; Item.SETRANGE("No.",FromItem,ToItem); Item.FINDLAST; Looping and data manipulation Looping over a recordset and modifying the individual records is achieved with only a few lines of code. Item.RESET; Item.SETRANGE("Blocked",TRUE); IF Item.FINDSET THEN REPEAT IF Item."Profit %" < 20 THEN BEGIN Item."Profit %" := 20; Item.MODIFY(TRUE); END; UNTIL Item.NEXT = 0; Item.MODIFYALL("Blocked",FALSE); 96 74. Caché ObjectScript The InterSystems-marketed Caché database system includes Caché ObjectScript. The language is a functional superset of the MUMPS programming language, which is an ANSI standard. Caché can execute ANSI MUMPS routines without modification because it is fundamentally a MUMPS implementation. Support for object-oriented programming, a macro preprocessing language, embedded SQL for ANSI-standard SQL access to M's built-in database, procedure and control blocks using C-like brace syntax, procedure-scoped variables, and looser whitespace syntax restrictions are all features that Caché implements to appeal as a commercial product. [75] Hello world program as a routine hello // hello world routine write "hello world" end quit // end Then in Caché Terminal (assuming you wrote the hello routine to the SAMPLE namespace): SAMPLE> DO ^hello Hello world program as a ClassMethod Class User.Helloworld { ClassMethod HelloWorld() { // Write to console Write "Hello World" Quit } } Assuming you added the User.Helloworld Class to the SAMPLE namespace, do the following in Caché Terminal: SAMPLE> DO ##class(User.Helloworld).HelloWorld() 97 75. C Shell (csh) The C shell, also known as csh or its upgraded version, tcsh, is a Unix shell that was developed by Bill Joy in the late 1970s while he was a doctoral student at the University of California, Berkeley. Figure 42. Since Joy initially issued the Berkeley Software Distribution (BSD) 2BSD release in 1978, it has been widely disseminated.Figure 43. Michael Ubell, Eric Allman, Mike O'Brien, and Jim Kulp were further early contributors to the concepts or the code. Operating systems: Linux, macOS, UNIX, and BSD[76] Figure 42 : tcsh and sh side-by-side on a Mac OS X desktop Figure 43 : C Shell running on Windows Services for UNIX 98 The first goal of the C shell was to provide a command language that was more stylistically similar to the rest of the system because the Unix system had been almost entirely designed in C. The C shell's built-in expression grammar, array support, use of parentheses, and keywords were all heavily impacted by C. C shell may not appear to be all that much more similar to C than many other common scripting languages by today's standards. But during the 1980s and 1990s, people saw a noticeable difference, especially when contrasted to the then-dominant shell created by Stephen Bourne at Bell Labs, known as Bourne shell (also known as sh). The C shell's more traditional expression operators and syntax are demonstrated in this example. #!/bin/sh if [ $days -gt 365 ] then echo This is over a year. fi #!/bin/csh if ( $days > 365 ) then echo This is over a year. Endif There was no expression grammar in the Bourne sh. The condition in square brackets required to be assessed using the more time-consuming method of running the external test program. As a new command to be executed as a child process, sh's if command accepted its parameter words. Sh would search for a then clause—a distinct statement that is frequently joined on the same line with a semicolon—and execute that nested block if the child departed with a zero return code. It would execute the else if not. Hard-linking the test program as both "test" and "[" provided the benefit of square bracket notation and the impression that test's capability was built into the sh language. The way that sh used a reversed term to signify the end of a control block was influenced by ALGOL 68. Csh was quicker since it could evaluate the expression immediately. Additionally, it claimed that it was easier to read since none of its keywords were reversed, its expressions employed a syntax and a set of operators that were largely derived from C, and its overall style was also more similar to C. Here is a second illustration that contrasts scripts that determine the first ten powers of 2. 99 #!/bin/sh i=2 j=1 while [ $j -le 10 ] do echo '2 **' $j = $i i=`expr $i '*' 2` j=`expr $j + 1` done #!/bin/csh set i = 2 set j = 1 while ( $j <= 10 ) echo '2 **' $j = $i @ i *= 2 @ j++ end Again, the sh script makes use of command substitution and the expr command due to the absence of an expression grammar. (The statement might be written i=$((i * 2)) Or: "$((i *= 2)") in the modern POSIX shell.) Finally, here is a third example, displaying the differing formats for a switch statement. #!/bin/sh for i in d* do case $i in d?) echo $i is short ;; *) echo $i is long ;; esac done 100 #!/bin/csh foreach i ( d* ) switch ( $i ) case d?: echo $i is short breaksw default: echo $i is long endsw end Because sh forbids null statements otherwise, ";;" indicates the conclusion of each case in the script. 76. Caml A multi-paradigm, or dialect, of the ML programming language family, Caml was originally an acronym for Categorical Abstract Machine Language. At INRIA and ENS in France, Caml was created. Gérard Huet, Guy Cousineau, Ascánder Suárez, Pierre Weis, Michel Mauny (Heavy Caml), and Xavier Leroy were responsible for the design (Caml Light) Initial release: 1985. Running System: Cross-platform Caml employs automatic memory management, is statically typed, and is strictly evaluated. The primary successor of Caml, OCaml, enhances the language with numerous features, including an object layer. [77] 101 77. Carbon An experimental general-purpose programming language is called Carbon, or Carbon-Lang. In the same vein as earlier programming languages created by Google, the project is open-source and was initiated by them (Go and Dart). Carbon was first proposed by Google employee Chandler Carruth at the CppNorth conference in Toronto in July 2022. He said that Carbon was developed as C++'s replacement. Figure 44. A 1.0 release of the language is anticipated for 2024 or 2025. The language offers a similar feature set while attempting to address some of C++'s alleged faults. As opposed to using a new language like Rust (which is based on C++ but is not two-way compatible with C++ programs), the primary goals of the language are readability and "bi-directional interoperability". The Carbon leaders will make decisions regarding language modifications. [78] The design, implementation, and associated tools for Carbon are all hosted on GitHub under the terms of the Apache-2.0 license with LLVM Exception. How to write a "Hello, World!" program in Carbon is demonstrated by the following example: package Sample api; fn Main() -> i32 { var s: auto = "Hello, world!"; Print(s); return 0; } The following example is the exact same "Hello, World!" program written in C++: #include <iostream> int main() { auto s = "Hello, World!"; std::cout << s; return 0; } Figure 44 : Carbon logo 102 78. Catrobat Block-based visual programming language Catrobat is an open source, non-profit initiative. The first release took place in 2010, and Wolfgang Slany from the Technical University of Graz in Austria was the driving force behind it. On the basis of the catrobat framework, the multidisciplinary team develops the programming language and free apps to enable teenagers to make their own games, animations, music videos, and other types of apps directly on a smartphone. [79] Wolfgang Slany was the designer. System of operation: cross-platform 79. Cayenne (Lennart Augustsson) Lennart Augustsson is a computer scientist from Sweden. He has previously worked as a lecturer for Chalmers University of Technology's Department of Computing Science. Functional programming and functional language implementations are the focus of his study. Augustsson presently works for Epic Games after formerly holding positions at Carlstedt Research and Technology, Sandburst, Credit Suisse, Standard Chartered Bank, Facebook, X Development, and Google. • Author of the programming language Cayenne is Augustsson. • The Haskell compiler from HBC. • A number of NetBSD hardware device drivers. • The parallel Haskell front end of the pH compiler from MIT. • The first iteration of Bluespec's compiler. Along with Thomas Johnsson, he was also a co-creator of Lazy ML, a functional programming language created in the early 1980s before Miranda and Haskell. LML is a strongly typed, statically scoped, and lazy evaluation version of machine learning. LML's main contribution was to show how to compile a lazy functional language. Up to that point, interpreted graph reduction has been used to construct lazy languages. Gmachine code is generated from LML. [80] Augustsson played a key role in the early development of LPMud, working on both the CD mudlib and the LPMUD driver. Marvin is his MUD community alias. Three of Augustsson's entries in the international contest for obfuscated C code were chosen as winners: • Most obscure program was in 1985 (1985/august.c). • The best complex task completed in a complex manner was in 1986 (august). • Best of Show in 1996 (1996/august.c) 103 80. CDuce A functional language that extends XDuce in a few ways is called CDuce. It is XML-oriented. It includes XML iterators, XML regular expression types, and XML regular expression patterns. Since CDuce can be used for general-purpose programming, it is not strictly speaking an XML transformation language. The following fundamental standards are met by CDuce: Unicode, XML, DTD, full support for namespaces, and limited support for XML Schema. [81] 81. Cecil Craig Chambers created Cecil, a wholly object-oriented programming language, as a component of the Vortex project at the University of Washington in 1992. Cecil and other object-oriented languages, most notably Objective-C, Modula-3, and Self, share a lot of similarities. The project's primary objectives were adaptability, orthogonality, effectiveness, and user-friendliness. [82] Instructions, or operations, can have a single operand, which can be a store location, a constant integer value, or a line label. They are written in upper case. Store addresses and line labels have alphanumeric beginnings with up to six characters. Constants for integer numbers must be signed with either + or, with zero represented by +0. output and input The next value is taken from the data and stored in the accumulator by the IN command. If the program tries to read past the end of the data provided, the message *** PROGRAM REQUIRES MORE DATA *** is produced. The word "OUT" publishes the accumulator's most recent value. There is no carriage return on the page. The command PRINT "text in quotes" prints the specified text. There is no carriage return on the page. LINE – starts a new line by printing a carriage return. Data storage A location or constant's value is copied to the accumulator when a location or constant is loaded. STORE location copies the accumulator's contents to the specified place. Mathematical instructions Location or constant values are added to the accumulator by using the ADD command. The value of the specified location or constant is subtracted from the accumulator using the SUBTRACT location or SUBTRACTS constant command. It multiplies the accumulator by the value of the specified location or constant when using the MULTIPLY location or MULTIPLY constant command. Divides the accumulator by the value of the specified location or constant (DIVIDE location or DIVIDE constant). If the result is positive, it is rounded down, and if it is 104 negative, it is rounded up. If the divisor is zero, an error notice reading "DIVIDION BY ZERO" is displayed. Each time, the operation's outcome is recorded in the accumulator in place of the previous value. program management JUMP label: unconditionally gives control to the designated place. If the accumulator contains a negative value, the JINEG label (Jump If NEGative) command moves control to the location labeled. If the accumulator holds zero, the JIZERO label (Jump If ZERO) command switches the control to the designated destination. HALT: This shuts down the program. Other motifs At the start of each line in CESIL, three unique symbols are utilized. The program's end and the beginning of the data are indicated by %. The data is marked with a * at the end. (is used to denote a comment at the beginning of a line. Tools for CESIL programming There is a freeware CESIL emulator called Visual CESIL that is made to work on Windows. Wyrm CESIL is a CESIL interpreter that can be installed for free and is made to run on the Android operating system. 82. Céu "Structured Synchronous Reactive Programming" is what Céu is. Céu enables synchronous concurrency with shared memory, deterministic execution, and a tiny memory footprint, according to its website. [83] 105 83. Ceylon Red Hat developed Ceylon, an object-oriented, strongly statically typed programming language with a focus on immutability. Figure 45. Ceylon programs can be compiled into JavaScript and run on the Java virtual machine (JVM). The design of the language puts an emphasis on the readability, predictability, toolability, modularity, and meta-programmability of the source code. Creator: Gavin King Initial release: 2011 Figure 45 : Ceylon logo When compared to Java, Ceylon's type system is one of its most innovative features. Ceylon uses a type system made up only of first-class objects instead of Java's primitive types and boxing. While it may occasionally result in boxing overhead, this improves the uniformity of the type system. [84] Similar to TypeScript, While, and Flow, Ceylon supports union and intersection types. A variable may have more than one type thanks to union types, represented by the letters A|B. An example of a Ceylon function that accepts either an integer or a string is seen in the following sentence: 106 shared void integerOrString(Integer|String input) { if (is Integer input) { print("Got the integer ``input``"); } else { print("Got the string '``input``'"); } } Intersection types, written A&B, are the theoretical foundation of flow-sensitive typing: shared void integerOrString(Integer|String input) { Integer added = input + 6; // illegal; the + operator is not defined on Integer|String if (is Integer input) { Integer added = input + 6; // legal; input is now known to be an Integer print("Got the integer ``input``"); } Else { print("Got the string '``input``'"); } } The condition is that Integer input reduces the input type to & Integer, which distributes to Integer&Integer | String&Integer, which is identical to Integer&Integer | Nothing (Nothing is the empty bottom type), which simplifies to only Integer because String and Integer are disjoint types. For null safety, union and intersection types are utilized. The class Anything, which is the top type in the Ceylon type hierarchy, has two subclasses: Object, which is the superclass of all other classes and interfaces, and Null, which has just one instance, which is null. Most common types, such as Integer or List, are not nullable because Object and Null are disjoint types. However, the union Integer|Null, also known as Integer? It is possible to create a non-optional type out of a type that might be optional, such as a type parameter, by using intersection types. A function that eliminates null entries from a stream of values, for instance, would have the following signature: 107 IterableElement&Object > removeNulls<Element>(Iterable<Element> Stream); RemoveNulls returns a stream of Integer|Null> & Object elements, which can be translated to Integer, when given a stream of Integer|Null elements. Ceylon supports type inference and is highly and statically typed. The type of a variable can be inferred using the value keyword, while the type of a function can be inferred using the function keyword. Each of the two definition pairs below is equivalent: Integer i = 3; value i = 3; Integer add(Integer i1, Integer i2) { return i1 + i2; } function add(Integer i1, Integer i2) { return i1 + i2; } However, type inference is only permitted for non-toplevel and unshared declarations in order to enable single-pass type inference. naming point of entry By default, the starter (ceylon run) executes a module's shared run() function: shared void run() print("Hello, World!"); /* The traditional Hello World program /* In contrast, any other common function without parameters may be used as the main when the program is called using the run parameter, as in: run Ceylon —compile=force —run default Hello 108 84. CFEngine Mark Burgess created the open-source configuration management system known as CFEngine. Its main purpose is to provide large-scale computer systems with automated configuration and maintenance. This includes managing servers, desktops, consumer and industrial devices, embedded networked devices, mobile smartphones, and tablet computers under one management system. Many universities and governmental organizations, as well as big and small businesses, employ CFEngine. Figure 46. More than a million servers are reported to be housed in the largest datacenter managed by CFEngine, although sites with up to 40,000 machines are often reported in the public domain (LinkedIn). According to data from CFEngine AS, CFEngine is likely running on several million computers worldwide, and users from more than 100 nations have registered. [85] Figure 46 : CFEngine logo 109 85. Cg (High-Level Shader/Shading Language [HLSL]) Two names for the high-level shading language created by Nvidia and Microsoft for writing shaders are Cg (short for C for Graphics) and High-Level Shader Language (HLSL). Figure 47. Although Cg/HLSL and C share the same basic syntax, C features have been changed and new data types have been added to make Cg/HLSL better suited for writing programs for graphics processing units. [86] Figure 47 : A scene containing several different 2D HLSL shaders. a scene with a wide range of different 2D HLSL shaders. While the texture of the rectangle frame adjacent to it is based on the intensity of the colors, the deformation of the statue is totally physical. Rotation and changes have been made to the backdrop square. The water's reflection and partial transparency are added via a shader that is ultimately applied to the entire scene. The two main branches of the Cg/HLSL language are the Nvidia Cg compiler (cgc), which generates DirectX or OpenGL, and the Microsoft HLSL, which generates DirectX shaders in bytecode format. As of 2012, Nvidia no longer developed or supported the cgc. HLSL shaders provide a wide range of intriguing effects in computer graphics, both 2D and 3D. Vertex and pixel shaders were the only types of shaders that the Cg/HLSL language initially supported, however other shader types were eventually added: • Cg 2.0 and DirectX 10 were the first to include geometry shaders ( Shader Model 4). • DirectX 11 included tessellation shaders and compute shaders (GPGPU) (Shader Model 5) The latter is present in Cg 3.1. • DirectX 12 included the first ray tracing shaders (ray generation, intersection, bit/closest hit/miss) (Shader Model 6.3). 110 86. Ch Harry H. Cheng originally created Ch as a scripting language for beginners to learn mathematics, computing, numerical analysis (numeric methods), and programming in C/C++. Ch is a proprietary cross-platform C and C++ interpreter and scripting language environment. Ch is currently created and sold by SoftIntegration, Inc. There is a free student edition available. For non-commercial use, Ch Professional Edition for Raspberry Pi is free. [87] Applications written with C/C++ can incorporate Ch. It contains capabilities for graphic plotting and numerical computing. Ch is an IDE and shell hybrid. The C language and the common shell are combined in the Ch shell. Quick code navigation and symbolic debugging are features of ChIDE. It is based on Scintilla, Scite, and embedded Ch. The C-based operating systems Windows, Linux, macOS, FreeBSD, AIX, Solaris, QNX, and HP-UX all support Ch. It supports the majority of C90 and C99 features but not all of C++'s features. Ch previously supported the C99 complex number, IEEE-754 floating-point arithmetic, and variable-length array capabilities before they were included in the C99 standard. According to a Computer Reseller News (CRN) article, Ch stands out among C-based virtual machines because to its features and accessibility to third-party libraries. Ch has a variety of toolkits that expand its capabilities. For instance, the design and analysis of frequently used mechanisms like the four-bar linkage, five-bar linkage, six-bar linkage, crank-slider mechanism, and cam-follower system are done using the Ch Mechanism Toolkit. For the modeling, design, and analysis of continuous-time or discrete-time linear time invariant (LTI) control systems, utilize the Ch Control System Toolkit. The source code is included in both toolkits. Many high schools and universities now use and include Ch into their curricula to teach computing and programming in C/C++. Ch has been incorporated into the free C-STEM Studio, a platform for learning robotics and C-STEM (computer science, science, technology, engineering, and mathematics). The UC Davis Center for Integrated Computing and STEM Education created C-STEM Studio (C-STEM). 111 87. Chapel (Cascade High Productivity Language) The parallel programming language Chapel, also known as the Cascade High Productivity Language, was created by Cray and later by Hewlett Packard Enterprise after Cray was bought. It was being created as a component of the DARPA High Productivity Computing Systems (HPCS) program, which aimed to boost supercomputer productivity by 2010. It is being worked on as an open source project with the Apache license version 2. [88], Figure 48. Figure 48 : Chapel logo Both C and C++ (C++14) are used to create the Chapel compiler. The backend, or optimizer, is LLVM, which was created in C++. Some optional components, like Chapel's test system and c2chapel, a tool to create C bindings for Chapel, require Python 3.7 or greater. Chapel can be configured to compile to C code instead of binary expendables, in which case LLVM is not used. Chapel programs can be turned into libraries that can be called from C, Fortran, or other programming languages like Python. Chapel covers early efforts to focus on NVidia GPUs. Within the following six months, Chapel 2.0 is anticipated. Numerous functions, as well as the syntax and the I/O-operator >, are deprecated in the current version 1.28. By enabling abstractions for data parallelism, task parallelism, and layered parallelism, Chapel offers a multithreaded parallel programming approach at a high level. Through abstractions for data distribution and data-driven placement of subcomputations, it enables optimizations for the locality of data and computation in the program. Through object-oriented ideas and generic programming features, it enables code reuse and generality. For example, Chapel permits the declaration of locations. Despite the fact that Chapel incorporates ideas from a variety of earlier languages, its parallel notions are most closely based on concepts from High Performance Fortran (HPF), ZPL, and the Cray MTA's additions to Fortran and C. 112 88. Charm Developed in the early 1990s, Charm is a programming language for computers that has characteristics of the RTL/2, Pascal, and C languages as well as offering some original features of its own. A context-free grammar that can be processed by a recursive descent parser, as described in fundamental literature on compiler design, defines the Charm language. For the RISC OS operating system from Acorn, a suite of Charm tools comprising a compiler, assembler, and linker were made available. A review of Charm modified for RISC OS systems has since appeared in Archive magazine. The e-book Programming in Charm on the Raspberry Pi goes into more detail on Charm. [89] The first Hello world program was created in Charm and is: ext proc write_string (ref array char); module hello; ent proc start (); write_string ("Hello world"); end_proc; end_module; And the equivalent latest version following evolutionary syntactic language changes is: import lib.Out; module Hello { export proc ~start () { Out.vdu.str ("Hello world"). nl(); } } 113 89. CHILL I A procedural programming language called CHILL, also known as CCITT High Level Language, is used in computing and is intended for use in telecommunication switches (the hardware used inside telephone exchanges). The programming of signal boxes and legacy systems in some telecommunications corporations still use the language. In terms of size and complexity, the CHILL language is comparable to the original Ada language. A few years before Ada, in 1980, the first CHILL language specification was released. [90].ITU offers a common CHILL compiler. Up until version 2.95, a free CHILL compiler was included with GCC; it was afterwards deleted. Object CHILL, an object-oriented variant, was also created. The CHILL standard, also known as ITU-T Rec. Z.200, was created by ITU. ISO/IEC 9496:2003 is the ISO standard that is equivalent. (The two documents' texts are identical.) CCITT terminated upkeep of the CHILL standard in late 1999. For instance, Siemens EWSD and Alcatel System 12 both employed CHILL in their systems. 90. CHIP-8 Joseph Weisbecker created the interpreted CHIP-8 programming language for his 1802 microprocessor. In the middle of the 1970s, it was first applied to the 8-bit COSMAC VIP and Telmac 1800 microcomputers. On a CHIP-8 virtual machine, CHIP8 programs are executed. It was created to make it simpler to program video games for these computers. There are still CHIP-8 emulators and programs being developed today thanks to the CHIP-8's simplicity, longevity, and appeal. [91], Figure 49. Figure 49 : Screenshot of Pong implemented in CHIP-8 114 91. ChucK Running on Linux, Mac OS X, Microsoft Windows, and iOS, ChucK is a concurrent, strongly timed audio programming language for real-time synthesis, composition, and performance. It is made with the programmer's readability and flexibility in mind, rather than other factors like sheer performance. It comes with inbuilt support for multiple, concurrent dynamic control rates and deterministic concurrency. Live coding, or the ability to add, remove, and alter code while a program is running without stopping or restarting, is another important feature. It supports arbitrarily fine granularity and features a timing/concurrency mechanism that is extremely accurate. It provides real-time interactive control, a strong and adaptable programming tool for creating and experimenting with complicated audio synthesis programs, and a resource for academics and composers. [92], Figure 50. Ge Wang, a graduate student working with Perry R. Cook at the time, was the primary creator and designer of ChucK. On Mac OS X, Linux, and Windows, ChucK is freely available under the provisions of the GNU General Public License. ChiP (ChucK for iPhone) is a closed-source application for iPhone and iPad that is currently offered under a restricted license. The core team, however, has declared that it wants to investigate "means to open ChiP by establishing a positive atmosphere for everyone." A straightforward ChucK application that creates sound and melody is as follows: // our signal graph (patch) SinOsc f => dac; // set gain .3 => f.gain; // an array of pitch classes (in half steps) [ 0, 2, 4, 6, 9, 10 ] @=> int hi[]; // infinite loop while( true ) { // choose a note, shift registers, convert to frequency Std.mtof( 65 + Std.rand2(0,1) * 43 + hi[Std.rand2(0,hi.cap()-1)] ) => f.freq; // advance time by 120 ms 120::ms => now; } 115 Figure 50 : Chuck logo 92. Cilk (also Cilk++ and Cilk plus) The general-purpose programming languages Cilk, Cilk++, Cilk Plus, and OpenCilk were created for multithreaded parallel computation. They are built upon the C and C++ programming languages, which they enhance with the fork-join idiom and constructs to define parallel loops. [93] Initially created in the 1990s at the Massachusetts Institute of Technology (MIT) by Charles E. Leiserson's group, Cilk was later made available for purchase as Cilk++ by a subsidiary business, Cilk Arts. After Intel bought that firm, the compatibility with existing C and C++ code was enhanced, and the finished product was given the name Cilk Plus. In the form of OpenCilk, MIT is once more developing Cilk, which Intel stopped supporting in 2017. The Fibonacci function is implemented recursively in Cilk in the example below, which also serves as an example of the spawn and sync keywords. Any function employing these had to be annotated with the cilk keyword in the original Cilk, but this requirement is no longer present in Cilk Plus. (The numbers have just been added to the CiLK program code to make the conversation simpler to follow.) 116 cilk int fib(int n) { if (n < 2) { return n; } else { int x, y; x = spawn fib(n - 1); y = spawn fib(n - 2); sync; return x + y; } } The code example above uses the syntax of Cilk-5. The original Cilk (Cilk-1) used a rather different syntax that required programming in an explicit continuation-passing style, and the Fibonacci examples looks as follows:[17] thread fib(cont int k, int n) { if (n < 2) { send_argument(k, n); } else { cont int x, y; spawn_next sum(k, ?x, ?y); spawn fib(x, n - 1); spawn fib(y, n - 2); } } thread sum(cont int k, int x, int y) { send_argument(k, x + y); } 117 93. Claire High-level functional and object-oriented programming language Claire has the ability to process rules. Its definitive description was given in 2004 and it was created by Yves Caseau at the e-Lab research facility of Bouygues. [94] Claire offers: A straightforward object framework with parametric classes and methods Versioned snapshots of the state of the entire system, or any part, supporting rollback and easy exploration of search spaces explicit relations between entities; for instance, two entities might be declared to be inverses of one another first-class sets with convenient syntax for set-based programming an expressive set-based type system allowing both second-order static and dynamic typing With the launch of version 3.3.46 in February 2009, Claire's reference implementation, which consists of an interpreter and compiler, was completely made open-source. Commercial support is provided for WebClaire, another implementation. nth Fibonacci number computation function: fib(n:integer) : integer -> (if (n < 2) 1 else fib(n - 1) + fib(n - 2)) 94. Clarion Database applications are created using Clarion, a commercial, proprietary, multi-paradigm, fourth-generation programming language (4GL), and integrated development environment (IDE) from SoftVelocity. It can read and write several flat file desktop database formats, including ASCII, comma-separated values (CSV), DOS (binary), FoxPro, Clipper, dBase, and some relational databases via ODBC, Microsoft SQL Server, Sybase SQL Anywhere, and Oracle Database through the use of accelerated native database drivers, as well as XML, SQL, and ActiveX Data Objects (ADO) data access methods. Clarion can be used to output data to several file types, including HTML, XML, plain text, and Portable Document Format (PDF). An object-oriented programming syntax is supported by the imperative programming language Clarion. Case is not relevant in the language. Unless a line continuation character is explicitly used, line endings are interpreted as implicit statement terminators. Labels for the data and program are always stated in column 1, and code is always indented starting in column 2. Any more indenting is optional. Though the language is very different from those, the structure of the code syntax most closely matches that of BASIC and Pascal. Code blocks normally contain either an explicit or implicit beginning (no BEGIN word is used) and an ending. [95] 118 For example; If x = 5 y=z*3 end A period can be used instead of the END statement. If x = 5 y = z * 3. Code can be concatenated onto one line using the ; separator (or in the case of IF a THEN statement). If x = 5 then y = z * 3. Note the period which is terminating the IF statement block. 95. Clean A general-purpose, entirely functional programming language is called Clean. The Concurrent Clean System was first known as the Clean System and later just as Clean. Since 1987, a team of scientists from Radboud University in Nijmegen has been working on developing Clean. [96], Figure 51. Figure 51 : Clean logo 119 Hello world! : Start = "Hello, world!" Factorial: fac :: Int -> Int fac 0 = 1 fac n = n * fac (n-1) Start = fac 10 fac :: Int -> Int fac n = prod [1..n] // The product of the numbers 1 to n Start = fac 10 Fibonacci sequence: fib :: Int -> Int fib 0 = 1 fib 1 = 1 fib n = fib (n - 2) + fib (n - 1) Start = fib 7 fibs :: Int Int -> [Int] fibs x_2 x_1 = [x_2:fibs x_1 (x_2 + x_1)] fib :: Int -> Int fib n = (fibs 1 1) !! n Start = fib 7 Infix operator: (^) infixr 8 :: Int Int -> Int (^) x 0 = 1 (^) x n = x * x ^ (n-1) 120 The right associative infix operator with priority 8 is described in the type declaration, which means that x*x(n-1) is identical to x*(x(n-1)) rather than (x*x) (n1). The Clean standard library, StdEnv, includes a predefined version of this operator. How Clean functions Graph rewriting and reduction are the foundation of computation. Functions are formulas for rewriting graphs, while constants like integers are graphs. According to the Computer Language Benchmarks Game, this makes Clean applications that use high abstraction run quite quickly when paired with compilation to native code. 96. Clipper The xBase computer programming language is implemented by Clipper, an xBase compiler. It is used to develop or add to software applications that initially predominantly ran under MS-DOS. Despite being a strong general-purpose programming language, it was largely employed to develop commercial and database programs. The dot-prompt (. prompt) interactive command set, which was a crucial component of the original dBase implementation, is one significant dBase feature that Clipper does not provide. [97] Beginning as a native code compiler for dBase III databases, Clipper was created by Nantucket Corp and then by Computer Associates. A simple hello world - application: ? "Hello World!" A simple data base input mask: USE Customer SHARED NEW clear @ 1, 0 SAY "CustNum" GET Customer->CustNum PICT "999999" VALID Customer->CustNum > 0 @ 3, 0 SAY "Contact" GET Customer->Contact VALID !empty(Customer>Contact) @ 4, 0 SAY "Address" GET Customer->Address READ 121 97. CLIPS A free software program for creating expert systems is called CLIPS. "C Language Integrated Production System" is the name's acronym. Charles Forgy's OPS5 served as an inspiration for the syntax and moniker. As a replacement for the thencurrent system ART*Inference, the first versions of CLIPS were created at NASAJohnson Space Center beginning in 1985 and continued through the mid-1990s, when the development group's focus shifted away from expert system technology. The project was first known as "NASA's AI Language" (NAIL). As of 2005, CLIPS was arguably the most popular expert system tool. Extensions can be written in C, as can CLIPS itself, and CLIPS can be called from C. Its grammar is similar to that of Lisp, a programming language. An entire object-oriented language is built into CLIPS for creating expert systems. COOL mixes the procedural, object-oriented, and logical (theorem-proving) programming paradigms. Using forward chaining is CLIPS. CLIPS deals with facts and rules, just like other expert system languages. A rule may be applicable based on several circumstances. Then, the appropriate rule is fired. In order to construct facts and rules, first define them, as seen below: (deftemplate car_problem (slot name) (slot status)) (deffacts trouble_shooting (car_problem (name ignition_key) (status on)) (car_problem (name engine) (status wont_start)) (car_problem (name headlights) (status work))) (defrule rule1 (car_problem (name ignition_key) (status on)) (car_problem (name engine) (status wont_start)) => (assert (car_problem (name starter) (status faulty)))) The (reset) command causes CLIPS to read the facts and rules after having put this up. That would result in the three "trouble shooting" facts being stated in this situation. The (run) command is then utilized. The prerequisites for performing its action have been satisfied because both of the two facts specified in rule 1 have been asserted, therefore the additional fact is asserted as a result of the run. [98] 122 98. CLIST The procedural programming language CLIST (Command List), sometimes known as "C-List," is used by TSO in MVS systems. It was first introduced in OS/360 Release 20 and has moved into a supporting position since since Rexx became available in TSO/E Version 2. Additionally, command lists created by NetView users are referred to as CLIST. A CLIST program, often known as "CLIST," can initially take the form of a straightforward list of commands that must be carried out in a specific order (much like a DOS batch file (*.bat) file). However, CLIST also includes loop structures and IfThen-Else logic. An interpreted language is CLIST. This means that each time the program is run, a CLIST must be translated by the computer. As a result, CLISTs typically run more slowly than programs created in compiled programming languages like COBOL, FORTRAN, or PL/1. (A program written in compiled code is translated once to produce an executable or "load module"). A TSO terminal and MVS files can both be read and written using CLIST. It has a method to keep global variables and transmit them between CLISTs, and it can read parameters from the caller. A MVS application program (written, for instance, in COBOL or PL/I) may also be called by a CLIST. By launching JCL, which launches the TSO control program (IKJEFT01), CLISTs can be launched in the background. TSO I/O screens and menus using ISPF dialog services can be displayed by CLISTs. Compare the function of CLIST with that provided by REXX.[99] Example programs: PROC 0 WRITE HELLO WORLD! Adding If-Then-Else logic: MULTI-LINGUAL "HELLO WORLD" PROGRAM. THIS CLIST, STORED AS USERID.TSO.CLIST(TEST), CAN BE INVOKED FROM THE ISPF COMMAND LINE AS SHOWN IN THE FOLLOWING EXAMPLE: COMMAND ===> TSO TEST SPANISH PROC 1 LANGUAGE IF &LANGUAGE = SPANISH THEN + WRITE HOLA, MUNDO ELSE IF &LANGUAGE = FRENCH THEN + WRITE BONJOUR, MONDE ELSE + WRITE HELLO, WORLD EXIT 123 99. Clojure A dynamic and functional Lisp programming dialect on the Java platform, Clojure is similar to Closure. Clojure uses a Lisp macro system and treats code as data, just as other Lisp dialects. Rich Hickey, who serves as the community's benign dictator for life, directs the present growth process (BDFL). Figure 52. Programmers are encouraged to be clear about managing identity and its states by using Clojure, which promotes immutability and immutable data structures. This emphasis on immutable values and explicit progression-of-time components in programming is meant to make it easier to create more robust programs, especially concurrent ones that are straightforward and quick. Recent initiatives have also endeavored to construct a dependent type system, despite the fact that its type system is totally dynamic. [100] Figure 52 : Clojure logo Because of its strong emphasis on simplicity, Clojure programs typically consist of mostly functions and simple data structures (i.e., lists, vectors, maps, and sets): ;; A typical entry point of a Clojure program: ;; `-main` function (defn -main ; name [& args] ; (variable) parameters (println "Hello, World!")) ; body Like other Lisps, one of Clojure's iconic features is interactive programming at the REPL. Note that, in the following examples, ; starts a line comment and ;; => indicates the expected output: 124 ; define a var (def a 42) ;; => #'user/a ; call a function named `+` (+ a 8) ;; => 50 ; call a function named `even?` (even? a) ;; => true ; define a function that returns the remainder of `n` when divided by 10 (defn foo [n] (rem n 10)) ;; => #'user/foo ; call the function (foo a) ;; => 2 ; print the docstring of `rem` (doc rem) ;; => clojure.core/rem ([num div]) remainder of dividing numerator by denominator. ; print the source of `rem` (source rem) ;; => (defn rem "remainder of dividing numerator by denominator." {:added "1.0" :static true :inline (fn [x y] `(. clojure.lang.Numbers (remainder ~x ~y)))} [num div] (. clojure.lang.Numbers (remainder num div))) 125 100. CLU The CLU programming language was created at the Massachusetts Institute of Technology (MIT) starting in 1973 by Barbara Liskov and her students. It offered many features that are now often used, although not seeing much use, and is recognized as a development in the field of object-oriented programming (OOP). Important innovations include the usage of iterators, type-safe variant types, type-safe parameterized types, call-by-sharing, and multiple return values (a sort of parallel assignment). It is notable for employing classes with constructors and functions but no inheritance. [101] 101. CMS-2 The United States Navy uses the embedded systems programming language CMS-2. It was an early attempt to create a high-level, standardized programming language for computers with the goal of enhancing code portability and reuse. CMS-2 was created primarily for the tactical data systems of the US Navy (NTDS). Figure 53. CMS-2, or "Compiler Monitor System," was created by RAND Corporation in the early 1970s. In written works, the word "CMS-2" is followed by a letter indicating the kind of target system. For instance, CMS-2M is aimed at 16-bit Navy CPUs like the AN/AYK-14. [102] Figure 53 : CMS-2 compile time system example 126 102. COBOL – ISO/IEC 1989 The computer programming language COBOL, which stands for "common business-oriented language," is compiled and similar to English and is intended for use in the business world. It is procedural, imperative, and has been object-oriented since 2002. Business, financial, and administrative systems for organizations and governments generally employ COBOL. Applications running on mainframe systems, like those for sizable batch and transaction processing operations, still frequently employ COBOL. However, because COBOL is becoming less and less popular, as well as because skilled COBOL programmers are retiring, programs are being moved to new platforms, rebuilt in contemporary languages, or replaced by software packages. The majority of COBOL programming now is solely for maintaining current programs, however as late as 2006, many sizable financial organizations were still creating new systems in COBOL. In 1959, CODASYL created COBOL, which was partially inspired by Grace Hopper's FLOW-MATIC programming language. The US Department of Defense developed it as part of a project to develop a portable programming language for data processing. It was first considered to be a stopgap, but as soon as the Department of Defense ordered computer makers to deliver it, it became widely used. It has undergone four revisions since it was standardized in 1968. Support for structured and object-oriented programming is one of the expansions. ISO/IEC 1989:2014 serves as the current reference. [103] The English-like syntax of COBOL statements was created to be extremely readable and self-documenting. Nevertheless, it is wordy and contains more than 300 reserved terms. COBOL's syntax is more akin to English than more recent, concise syntax like y = x; (in this case, MOVE x TO y). Identification, Environment, Data, and Procedure are the four divisions of COBOL code, each of which contains a strict hierarchy of sections, paragraphs, and sentences. The standard only provides 43 statements, 87 functions, and one class due to the lack of a substantial standard library. COBOL was (effectively) designed from the ground up as a computer language for business, with an emphasis on inputs and outputs, and whose only data types were numbers and strings of text. Academic computer scientists were generally uninterested in business applications at the time COBOL was created and were not involved in its design. COBOL has received criticism for its verbosity, design process, and inadequate support for structured programming throughout its history. These flaws lead to clunky, verbose (supposed to be English-like) applications that are difficult to understand. Although in recent years there has been a boom in interest in moving COBOL activities to the cloud, COBOL has long been thought of as a programming language for business operations in mainframes. A COBOL "Hello, world" program 127 IDENTIFICATION DIVISION. PROGRAM-ID. hello-world. PROCEDURE DIVISION. DISPLAY "Hello, world!". When The C Programming Language was first published in 1978, a similar mainframe COBOL program sample would have been submitted through JCL, most likely using a punch card reader and 80 column punch cards. This example is now famously known as the "Hello, World!" program example. Figure 54. The listing below was tested on Linux and the System/370 Hercules emulator running MVS 3.8J with an empty DATA DIVISION. The JCL, which was created in July 2015, was inspired by Jay Moseley's lessons and Hercules samples. HELLO, WORLD is written in all capital letters, as was customary at that era of COBOL programming. Figure 54 : The COBOL 60 report to CODASYL (April 1960) 128 103. CobolScript – COBOL Scripting language CobolScript is a programming language developed in 1999 by Deskware's Matthew Dean and Charles Schereda. The language was designed to provide webenabled COBOL and was aimed at companies who still use legacy COBOL-written software.[104] 104. Cobra Object-oriented general-purpose programming language Cobra has been retired. Charles Esterbrook created Cobra, which utilizes the Microsoft.NET and Mono platforms. Python, C#, Eiffel, Objective-C, and other programming languages have a significant influence on it. Both static and dynamic types are supported. Unit tests and contracts are supported. It has generators, closures, list comprehensions, and lambda expressions. Cobra is an open-source project that was made available on February 29, 2008 under the MIT License. [105] 105. CoffeeScript A computer language called CoffeeScript can be translated into JavaScript. In an effort to make JavaScript more concise and readable, it includes syntactic sugar borrowed from Ruby, Python, and Haskell. Comprehending a list is a specific extra feature, as is destructuring assignments. Figure 55. Play Framework and Ruby on Rails version 3.1 both come with CoffeeScript support. Brendan Eich cited CoffeeScript as having influenced his ideas on the future of JavaScript in 2011. [106] Figure 55 : CoffeeScript logo 129 106. ColdFusion J. J. Allaire developed the commercial Adobe ColdFusion computer platform for quick web application development in 1995. (The programming language used with that platform, which is more properly known as CFML, is also known by the common name ColdFusion.) Simple HTML pages and databases can now be connected more easily thanks to ColdFusion. Version 2 (1996) saw it develop into a complete platform with a full scripting language and an IDE. [107], Figure 56. Figure 56 : ColdFusion logo 130 107. COMAL Brge R. Christensen and Benedict Lfstedt created COMAL (Common Algorithmic Language), a computer programming language, in Denmark. It was first made available in 1975. One of the few structured programming languages that could be used with ease on 8-bit home computers was COMAL. It was based on the groundbreaking BASIC programming language, with enhancements like multi-line instructions and well specified subroutines. [108] The official description of the language may be found in "COMAL Kernel Syntax & Semantics". Many implementations frequently provide additional extensions. • "Hello, world!" PRINT "HELLO, WORLD!" • Conditions IF condition THEN instructions ENDIF • Loops FOR number:= 1 TO 1000 DO PRINT number ENDFOR • Print statements with variables INPUT "What's your favourite number? " :nmr# PAGE PRINT "Your favourite number is " ; nmr# 108. COMIT COMIT, the first string processing language (compare SNOBOL, TRAC, and Perl), was created at MIT between 1957 and 1965 by Dr. Victor Yngve of the University of Chicago and others. The language was developed by Yngve to aid computerized linguistics research, particularly in the field of machine translation for natural language processing. SNOBOL was developed as a result of the development of COMIT. [109] 131 109. Common Intermediate Language (CIL) The intermediate language binary instruction set specified by the Common Language Infrastructure (CLI) specification is known as Common Intermediate Language (CIL), formerly known as Microsoft Intermediate Language (MSIL) or Intermediate Language (IL). A CLI-compatible runtime environment, such as the Common Language Runtime, executes CIL instructions. Languages that are CLItargeting compile to CIL. Stack-based, object-oriented bytecode is CIL. CIL instructions are often just-in-time compiled into native code by runtimes. [110] During the beta testing of the.NET languages, CIL was initially referred to as Microsoft Intermediate Language (MSIL). The bytecode is now referred to as CIL officially as a result of the standardization of C# and the CLI. Binaries that were created with it are still referred to as MSIL in Windows Defender virus definitions. Here is a simple CIL assembler Hello, World program. It will read "Hello, world!" in text form. .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } 132 110. Common Lisp (also known as CL) A version of the Lisp programming language known as Common Lisp (CL) was first published in the ANSI INCITS 226-1994 (S20018) standard document, which was formerly known as X3.226-1994 (R1999). The ANSI Common Lisp standard served as the basis for the hyperlinked HTML Common Lisp HyperSpec. Figure 57. Numerous common special variables are available in the Common Lisp library. For instance, the top-level bindings of well-known special variables hold all standard I/O streams. *standard-output* contains the standard output stream. [111] Let's say function foo outputs to standard output as follows: (defun foo () (format t "Hello, world")) To capture its output in a character string, *standard-output* can be bound to a string stream and called: (with-output-to-string (*standard-output*) (foo)) -> "Hello, world" ; gathered output returned as a string Figure 57 : CL logo 111. COMPASS On the 60-bit CDC 6000 series, 7600 series, Cyber 70 and 170 series mainframe computers, Control Data Corporation's 3000 series, and other mainframes, COMPASS, or COMPrehensive ASSembler, is any of a family of macro assembly languages. The macro and conditional assembly facilities are similar despite the fact that the architectures are significantly different. [112] 133 112. Component Pascal A programming language in the vein of Niklaus Wirth's Pascal, Modula-2, Oberon, and Oberon-2 called Component Pascal. Although it retains the name and tradition of the Pascal programming language, it is incompatible with Pascal. Instead, it is a slight improvement on Oberon-2 that adds built-in string support and a more expressive type system. Originally known as Oberon/L, Component Pascal was created and maintained by Oberon Microsystems, a little ETH Zürich spin-off business. They created the BlackBox Component Builder integrated development environment (IDE). Since 2014, a small team of volunteers has taken up development and support. In 1994, Oberon/F, the initial iteration of the IDE, was made available.The graphical user interface (GUI) creation method it presented at the time was innovative and based on editable forms, where fields and command buttons are connected to exported variables and executable procedures. This method is somewhat reminiscent of the code-behind method used in Microsoft's 2008 Extensible Application Markup Language (XAML) to access code. [113] 113. COMTRAN Early programming language COMTRAN (COMmercial TRANslator) was created at IBM. It was designed to serve as the corporate programming counterpart to the FORTRAN programming language for science (FORmula TRANslator). One of its predecessors was the COBOL language. The language, created by Bob Bemer in 1957, was the first to have an image clause, a programming language feature. [114] 114. Constraint Handling Rules (CHR) Thom Frühwirth created the declarative, rule-based programming language known as Constraint Handling Rules (CHR) while working at the European ComputerIndustry Research Centre (ECRC) in Munich, Germany, in 1991. CHR has applications in a variety of fields besides constraint programming, such as grammar induction, type systems, abductive reasoning, multi-agent systems, natural language processing, compilation, scheduling, spatial-temporal reasoning, testing, and verification. A CHR program, also known as a constraint handler, is a set of rules that keep track of a multi-set of logical formulae called a constraint store. The state of the program may change as a result of rules being executed that add or delete formulas from the store. According to its abstract semantics and refined semantics, the order in which rules "fire" on a certain constraint store is non-deterministic and deterministic (top-down rule application).CHR is not frequently used as a programming language on its own, despite being Turing complete. Instead, it is employed to add limitations to a host language. Though there are CHR implementations for Haskell, Java, C, SQL, and JavaScript, Prolog is by far the most used host language and includes CHR in various Prolog implementations, such as SICStus and SWI-Prolog. In contrast to Prolog, CHR rules are multi-headed and are carried out via a forward chaining algorithm in a committedchoice way. [115] 134 115. Control Language Originally developed by IBM for the System/38 Control Program Facility and later utilized by OS/400, the Control Language (CL) is a scripting language (now known as IBM i). It is similar to the IBM Job Control Language and is made up of a set of command objects (*CMD) that may be used to call conventional programs or obtain information about what those programs can accomplish. Additionally, CL can be used to develop CL programs, which are similar to shell scripts in that they contain extra commands that offer functionality similar to that of programs (IF/ELSE, variable definition, file input, etc.). Despite being a system management scripting language, CL is primarily used to construct compiled programs. In reality, the SBMDBJOB command has very little use for interpreted CL scripts. Although IBM developers created tens of thousands of commands to carry out systemlevel operations like compiling programs, backing up data, changing system configurations, displaying system object details, or deleting them, commands are not only created for system-level issues; they can also be created for user applications. [116] 135 116. Cool Alexander Aiken created the computer programming language known as Cool, sometimes known as Classroom Object Oriented Language, for use in an undergraduate compiler course project. Cool contains many of the features of contemporary programming languages, including objects, automatic memory management, strong static typing, and simple reflection, even though it is tiny enough for a one-term project. The mention The C++ "cool compiler" was created entirely with free and open-source technologies. It produces code for SPIM, a MIPS emulator. As a result, the language ought to translate well to other systems. Many universities, including the University of California at Berkeley, where it was first used, and Shahid Beheshti University of Iran, have used it for teaching compilers, and the program is reliable. [117] The COOL language that is part of CLIPS has nothing to do with this language. "Hello, universe!" class Main inherits IO { main() : Object { out_string("Hello, world!\n") }; }; A straightforward program for calculating factorials class Main inherits IO { main(): Object {{ out_string("Enter an integer greater-than or equal-to 0: "); let input: Int <- in_int() in if input < 0 then out_string("ERROR: Number must be greater-than or equal-to 0\n") else { out_string("The factorial of ").out_int(input); out_string(" is ").out_int(factorial(input)); out_string("\n"); } fi; }}; factorial(num: Int): Int { if num = 0 then 1 else num * factorial(num - 1) fi }; }; 136 117. Coq In 1989, Coq, an interactive theorem prover, was initially made available. It enables the expression of mathematical claims, automatically examines claims' supporting evidence, aids in the discovery of formal proofs, and derives a certified program from the constructive proof of its formal specification. The calculus of inductive constructions, a subfield of the calculus of constructions, is the theoretical framework in which Coq operates. Coq provides automatic theorem proving strategies (procedures) as well as a number of decision strategies, but it is not an automated theorem prover.[118] The 2013 ACM Software System Award for Coq was given to Thierry Coquand, Gérard Huet, Christine Paulin-Mohring, Bruno Barras, Jean-Christophe Filliâtre, Hugo Herbelin, Chetan Murthy, Yves Bertot, and Pierre Castéran. Figure 58. Coq is a play on Thierry Coquand's term, Calculus of Constructions, or "CoC," and it adheres to the French custom of naming things after creatures (coq in French meaning rooster). Figure 58 : Coq logo 137 Here is a Coq demonstration of the commutativity of addition on natural numbers as an illustration: plus_comm = fun n m : nat => nat_ind (fun n0 : nat => n0 + m = m + n0) (plus_n_0 m) (fun (y : nat) (H : y + m = m + y) => eq_ind (S (m + y)) (fun n0 : nat => S (y + m) = n0) (f_equal S H) (m + S y) (plus_n_Sm m y)) n : forall n m : nat, n + m = m + n Mathematical induction is denoted by nat ind, substitution of equals is denoted by eq ind, and taking the same function on both sides of an equality is denoted by f equal. Theorems from earlier are cited, demonstrating. Figure 59. m=m+0 {\displaystyle m=m+0} and S (m+y)=m+Sy {\displaystyle S(m+y)=m+Sy}. 138 Figure 59 : An interactive proof session in CoqIDE, showing the proof script on the left and the proof state on the right. 139 118. Coral 66 The Royal Radar Establishment (RRE), Malvern, Worcestershire, United Kingdom, is where the programming language CORAL, also known as Computer Online Real-time Applications Language, was first created in 1964. Originally, the R stood for "radar," not "real-time." Although it is not a subset of either, JOVIAL and thus ALGOL had the biggest influence on it. I. F. Currie and M. Griffiths later created CORAL 66, the most well-known version, under the direction of the Inter-Establishment Committee for Computer Applications (IECCA). Its official definition was initially released in 1970 and was amended by Woodward, Wetherall, and Gorman. The Ministry of Defence chose CORAL as the language for upcoming military applications in 1971, and to support this decision, a standardization program was started to make sure CORAL compilers complied with the requirements. The US Department of Defense later used this method to define Ada. [119] 119. CorVision The fourth generation (4GL) programming tool CorVision is presently owned by Attunity, Inc. Cortex Corporation created CorVision specifically for the VAX/VMS ISAM environment. CorVision-10, which was created for PCs, was beta tested by Cortex, but CorVision itself remained anchored on VMS. CorVision-10 was never made available since it was harder to use than anticipated. [120] 120. COWSEL Robin Popplestone created the programming language COWSEL (COntrolled Working Space Language) between 1964 and 1966. It was based on a Lisp variant known as RPN and some CPL concepts. Rod Burstall later built COWSEL on an Elliot 4120 at the University of Edinburgh after initially implementing it on a Ferranti Pegasus computer at the University of Leeds and a Stantec Zebra at the Bradford Institute of Technology. During the summer of 1966, COWSEL was dubbed POP-1, and work on it proceeded under that name moving forward. [121] 121. CPL A multi-paradigm programming language called CPL (Combined Programming Language) was created in the early 1960s. Through the BCPL and B languages, it is an early predecessor of the C language. [122] 140 122. Cryptol A domain-specific programming language for cryptography called Cryptol was created by Galois, Inc., a Portland, Oregon-based software development company. The American National Security Agency was the initial user of the language. Private companies that provide information technology systems, including the American company Rockwell Collins, which works with aerospace and defense contractors in the country, also utilize the language. The creation and application of new ciphers, as well as the evaluation of current cryptographic methods, are all carried out using the programming language. The program Cryptol is made to let cryptographers observe how stream processing operations affect ciphers or encryption techniques. [123] 123. Crystal Ary Borenszweig, Juan Wajnerman, Brian Cardiff, and more than 300 others created the general-purpose, object-oriented programming language known as Crystal. It is a compiled language with static type-checking and syntax that was influenced by Ruby; nonetheless, it is typically unnecessary to define the types of variables or method arguments. An enhanced global type inference technique resolves types. Currently, Crystal is undergoing active development. Figure 60. Under the terms of the Apache License 2.0, it is made available as free and open-source software. [124] Put "Hello World!" As it is the simplest way to code the Hello World program in Crystal, identical to Ruby. Or by the use of object-oriented programming: class Greeter def initialize(@name : String) end def salute puts "Hello #{@name}!" end end g = Greeter.new("world") g.salute 141 HTTP server require "http/server" server = HTTP::Server.new do |context| context.response.content_type = "text/plain" context.response.print "Hello world! The time is #{Time.local}" end server.bind_tcp("0.0.0.0", 8080) puts "Listening on http://0.0.0.0:8080" server.listen Figure 60 : Crystal logo 124. Csound The computer programming language Csound is specialized for audio programming. Because it is written in C rather than some of its predecessors, it is known as Csound. It Available under the LGPL-2.1 or later, it is free software. Barry Vercoe first developed Csound at MIT in 1985, building on his earlier Music 11 system, which in turn followed the MUSIC-N concept established by Max Mathews at the Bell Labs. Over the course of the 1990s and 2000s, John Fitch at the University of Bath led its continuous development. Version 5.01 was initially made available to the public on March 18, 2006. In particular, Istvan Varga, Gabriel Maldonado, Robin Whittle, Richard Karpen, Iain McCurdy, Michael Gogins, Matt Ingalls, Steven Yi, Richard Boulanger, Victor Lazzarini, and Joachim Heintz made significant contributions to the project. [125] 142 125. CSS CSS is a language for creating style sheets that describe how a document written in a markup language like HTML or XML is displayed (including XML dialects such as SVG, MathML or XHTML). Along with HTML and JavaScript, CSS is one of the World Wide Web's founding technologies. Figure 61. The World Wide Web Consortium created it (W3C) Style sheet language format HTML documents are a container for: HTML element style rules (tags). Separating text from presentation, which includes layout, colors, and fonts, is made feasible by CSS. This separation can improve content accessibility, offer more flexibility and control in the specification of presentation characteristics, enable multiple web pages to share formatting, and enable the.css file to be cached to improve page load speed between the pages that share the file and its formatting. By indicating the relevant CSS in a separate CSS file, the structure content becomes less difficult and repetitive. The division of formatting and content also makes it possible to provide the same HTML page in a variety of styles for various rendering modalities, including on-screen, in print, by voice (using a browser with built-in speech recognition software or a screen reader), and on tactile Braille devices. When a user accesses the content on a mobile device, CSS also offers formatting guidelines for alternative layouts. The priority system is used to choose which style rule should be implemented when many style rules match an element, giving cascading its name. This order of importance is expected. The World Wide Web Consortium maintains the CSS specifications (W3C). RFC 2318 has registered the Internet media type (MIME type) text/css for usage with CSS (March 1998). For CSS documents, the W3C offers a free CSS validation service. In addition to HTML, CSS can also be used with XHTML, plain XML, SVG, and XUL markup languages. The names of different style properties are specified using a number of English keywords in CSS, which has a straightforward syntax. A style sheet is a list of guidelines. A declaration block and one or more selectors make up each rule or rule-set. Here, "CSS class" is redirected. See class property for HTML element class usage that isn't CSS (HTML). By matching tags and attributes in the markup itself, selectors in CSS specify which portion of the markup a style applies to. The following may be subject to selectors: • all items of a particular type, such as the h2 second-level headers • Components with attribute specifications, in particular: o A hash prefix, such as #id, is used in the selection language to indicate a unique identification within the text. 143 o The term "CSS class," although occasionally used, is incorrect because element classes—specified with the HTML class attribute—are a markup feature that is distinct from browsers' CSS subsystem and the related W3C/WHATWG standards work on document styles; for more information on the history of the "class" system of the Web content model, see RDF and microformats. o elements based on their placement inside the document tree in relation to other components. Classes and IDs can contain alphanumeric characters, hyphens, and underscores, are case-sensitive, and begin with a letter. Any number of instances of any element may be covered by a class. There is only one element to which an ID can be applied. The usage of pseudo-classes in CSS selectors enables formatting based on data that is not included in the document tree. A common pseudo-class is:hover, which only identifies content when the user "pointers to" the visible element, typically by keeping the mouse cursor over it. As in a:hover or #elementid:hover, it is added to a selector. A pseudo-class classifies document elements, such as :link or :visited, whereas a pseudo-element makes a selection that may consist of partial elements, such as ::firstline or ::first-letter. Note the double-colon notation for pseudo-elements versus singlecolon notation for pseudo-class. Selectors may be combined in many ways to achieve great specificity and flexibility. Multiple selectors may be joined in a spaced list to specify elements by location, element type, id, class, or any combination thereof. The order of the selectors is important. For example, div .myClass {color: red;} applies to all elements of class myClass that are inside div elements, whereas .myClass div {color: red;} applies to all div elements that are inside elements of class myClass. This is not to be confused with concatenated identifiers such as div.myClass {color: red;} which applies to div elements of class myClass.[126] Consider this HTML fragment: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> #xyz { color: blue; } </style> </head> <body> <p id="xyz" style="color: green;">To demonstrate specificity</p> </body> </html> 144 Figure 61 : CSS logo 126. Cuneiform An open-source workflow language for sizable scientific data analysis is called Cuneiform. It is a functional statically typed programming language that supports parallel computing. It has a flexible foreign function interface that enables users to include software written in a variety of other programming languages. Cuneiform is Turing-complete at the organizational level thanks to features like conditional branching and broad recursion. Cuneiform is an effort to bridge the gap between large-scale data analysis programming models like MapReduce or Pig Latin and scientific workflow systems like Taverna, KNIME, or Galaxy while providing the generality of a functional programming language. [127] Distributed Erlang implements Cuneiform. It drives POSIX-compliant distributed file systems like Gluster or Ceph when used in distributed mode (or a FUSE integration of some other file system, e.g., HDFS). As an alternative, Hadoop or HTCondor can be used to run Cuneiform scripts. Figure 62. Peter Kelly's work, which suggests functional programming as a model for carrying out scientific workflows, has an influence on Cuneiform. Cuneiform differs from other workflow languages based on dataflow programming, such as Swift, in this regard. An example script: def greet( person : Str ) -> <out : Str> in Bash *{ out="Hello $person" }* ( greet( person = "world" )|out ); 145 Figure 62 : Cuneiform logo The task greet defined by this script prepends "Hello" to the string argument person. A record with a single string field is produced by the function. Using hello, producing the record out = "Hello world"> by binding the argument person to the string "world" The string "Hello world" is evaluated when this record is projected to its field outside. 146 127. Curl Curl is an object-oriented reflective programming language designed for use in interactive web applications. Its main objective is to make the transition between formatting and programming easier. It enables the incorporation of complicated objects into straightforward papers without the requirement for switching between computer languages or development environments. An interpreter was all that was included in the original Curl implementation; later, a compiler was added. In one cohesive framework, Curl integrates text markup (like HTML), scripting (like JavaScript), and powerful computing (like Java, C#, or C++). A variety of internal business-to-business and business-to-consumer applications use it. Figure 63. Curl programs can be turned into applets that can be executed in web browsers with the Curl RTE runtime environment. It currently works with Microsoft Windows. MacOS and Linux were discontinued on March 25, 2019. (starting with version 8.0.8). As with Silverlight 3 and Adobe AIR, Curl allows "detached applets," which are web-deployed applets that operate on the user's desktop apart from a browser window. [128] Perhaps a straightforward Curl applet for HelloWorld {Curl 7.0, 8.0 applet} {text color = "blue", font-size = 16pt, Hello World } Figure 63 : Curl logo 147 128. Curry Curry is an experimental language for functional logic programming that is based on Haskell. It integrates aspects of constraint programming as well as functional and logic programming.With the exception of type class overloading, which some implementations still offer as a language extension, such the Münster Curry Compiler, it is almost a superset of Haskell. [129] 129. Cybil A Pascal-like language called Cybil was created at Control Data Corporation for the Cyber computer family. Cybil is an acronym for the Cyber Implementation Language of the Control Data Network Operating System. The eOS operating system for the ETA10 supercomputer was written in the 1980s using Cybil, which was also the implementation language for the NOS/VE operating system on the CDC Cyber series.[130] 130. Cyclone It is the goal of the Cyclone programming language to provide a secure variant of the C programming language. In order to prevent buffer overflows and other potential security flaws in C applications without sacrificing C's strength and usefulness as a system programming language, Cyclone was created. In 2001, Greg Morrisett's team at Cornell University and AT&T Labs Research began working together on the cyclone development project. On May 8, 2006, version 1.0 was made available. [131] 131. Cypher Query Language A declarative graph query language called Cypher enables effective and expressive data querying in a property graph. Andrés Taylor created the majority of Cypher while employed with Neo4j, Inc. (previously Neo Technology) in 2011. Cypher was initially created to be used with the graph database Neo4j, but in October 2015, the openCypher initiative made Cypher available to all users. Although Cypher was founded on the elements and requirements of a database built around the notions of graph theory, the language was created with the strength and capabilities of SQL (the primary query language for the relational database architecture) in mind. A graph model focuses on how entities in the data are connected and related to one another by structuring the data as nodes (vertices in math and network science) and relationships (edges in math and network science). [132] 148 132. Cython Cython (/san/) is a programming language that aims to be a superset of Python. It was created to provide C-like performance with code that is primarily written in Python and optionally includes additional syntax that is inspired by C. Figure 64. CPython extension modules are often created using the compiled language cython. Annotated Python-like code is converted to C or C++ before being automatically wrapped in interface code. As a result, extension modules are created that can be imported and used by regular Python code with a fraction of the run-time overhead. Additionally, Cython makes it easy to wrap standalone C or C++ programs in modules that are importable into Python. Cython creates source files that are compatible with CPython 2.6, 2.7, and 3.3 and later versions. It is written in Python and C and operates on Windows, macOS, and Linux. We're working on Cython 3.0.0. [133] Figure 64 : Cython logo A typical hello world program is more involved than one written in Cython since it interacts with setuptools, the Python C API, and other PEP517-compliant extension development tools. For a simple project, the following three files must be present: A setup.py file is used to start the setuptools build process, which creates the extension module. Figure 65. an application that loads the extension module in Python source code for Python (s) The build and launch procedure is illustrated by the following code listings: 149 # hello.pyx - Python module, this code will be translated to C by Cython. def say_hello(): print("Hello World!") # launch.py - Python stub loader, loads the module that was made by Cython. # This code is always interpreted, like normal Python. # It is not compiled to C. import hello hello.say_hello() # setup.py - unnecessary if not redistributing the code, see below from setuptools import setup from Cython.Build import cythonize setup(name = "Hello world app", ext_modules = cythonize("*.pyx")) Figure 65 : Hello World in Cython 150 133. CEEMAC The 1980s saw the creation of the CEEMAC programming language for the Apple II line of computers. Brooke Boering wrote it, and Vagabondo Enterprises published it. The goal of CEEMAC was to serve as a visual composition language where programmers could create dynamic "scores" by programmatically modifying color, shape, sound, and movement. In order to add more diversity, a programmer might also "perform" their music using the Apple II keyboard or paddle input devices. The syntax used by CEEMAC included loop control structures like IF/WHILE and TIL/UNLESS as well as control verbs like GOTO, GOSUB, DO, AGAIN, FOR, SKIP, and EXIT. Additionally, CEEMAC came with 30 preconfigured macros to help with score composition. A modest CEEMAC sample score is as follows: Initially, Fire Organ, a free demonstration program, was distributed to promote CEEMAC. This application included a number of scores made by Boering and other programmers to showcase some of the language's possibilities. [134] 151 134. D (also known as dlang) Programming language D, commonly referred to as dlang, was developed by Walter Bright at Digital Mars and released in 2001. In 2007, Andrei Alexandrescu began working on the design and development process. The features of D can be seen as streamlined and expanded-upon ideas from C++, but D also draws inspiration from other high-level programming languages, particularly Java, Python, Ruby, C#, and Eiffel. Although D was originally a re-engineering of C++ .[135] D imperative programming is quite similar to C imperative programming. The C runtime library can be used directly, and functions, data, statements, declarations, and expressions operate exactly as they do in C. The foreach loop construct in D, which enables looping over a collection, and nested functions—functions that are defined inside another and may access the enclosing function's local variables—are two noteworthy imperative programming distinctions between D and C. Figure 66. bring in std.stdio; void main() { int multiplier = 10; int scaled(int x) { return x * multiplier; } foreach (i; 0 .. 10) { writefln("Hello, world %d! scaled = %d", i, scaled(i)); } } Figure 66 : D logo 152 135. Dart A programming language called Dart was created specifically for client development, including web and mobile apps. It was created by Google and may be used to create desktop and server apps. [136] It has C-style syntax and is an object-oriented, class-based, garbage-collected language. It supports type inference, interfaces, mixins, abstract classes, reified generics, and can be compiled to either machine code or JavaScript. Figure 67 A Hello, World! Illustration : void main() { print('Hello, World!'); } A function to calculate the nth Fibonacci number: int fib(int n) => (n > 2) ? (fib(n - 1) + fib(n - 2)) : 1; // A Fibonacci function implementation with a conditional operator in Dart // This code is read as: // given an integer n, // if n > 2, return fib(n - 1) + fib(n - 2); // otherwise, return the integer 1 as result void main() { print('fib(20) = ${fib(20)}'); } Figure 67 : Dart logo 153 136. Darwin Darwin is a closed-source programming language that Gaston Gonnet and colleagues developed at ETH Zurich. It is used in the construction of the OMA orthology inference program, which was also invented by Gonnet. The language backend consists of the kernel, which does elementary mathematical operations, transports and saves data, and interprets user commands, and the library, a group of programs that might perform more difficult tasks. Because the language is aimed at the biosciences, the library contains functions to compute pairwise alignments, phylogenetic trees, multiple sequence alignments, and predict secondary structure. [137]. The code for the Hello World program would be printf("Hello, world!"); The following formula can be used to determine a number's factorial: factorial := proc ( n ) if (n=0) then return(1); else return(n * factorial(n-1)); fi; end: 137. DataFlex DataFlex is a framework-based object-oriented high-level programming language and fourth generation visual tool (4GL) for creating software applications for Windows, the web, and mobile devices. Starting in 1982, Data Access Corporation introduced and developed it. [138], Figure 68. Figure 68 : DataFlex logo 154 138. Datalog A declarative logic programming language is called Datalog. Despite being a subset of Prolog in terms of syntax, Datalog typically employs a bottom-up evaluation model as opposed to a top-down one. This variation results in behavior and features that are very different from those of Prolog. It is frequently used as a logical database query language. Datalog has recently been used in innovative ways for data integration, information extraction, networking, program analysis, security, cloud computing, and machine learning. [139] Although its roots may be traced back to the early days of logic programming, it wasn't until Hervé Gallaire and Jack Minker conducted a workshop on logic and databases in 1977 that it rose to prominence as a distinct field. The word "Datalog" is credited to David Maier. 139. DATATRIEVE The database query and report-writing program DATATRIEVE was initially developed by Digital Equipment Corporation. It is compatible with a number of PDP11 operating systems as well as the OpenVMS operating system. The command structure of DATATRIEVE is almost plain English, and it is a prototype for a Fourth Generation Language (4GL). Databases, flat files, and indexed files can all be used using DATATRIEVE. These data files are delimited using record definitions that are either stored in RMS files or the Common Data Dictionary (CDD). Many OpenVMS setups employ DATATRIEVE.[140] 155 140. dBase One of the early database management systems for microcomputers, dBase (sometimes spelled dBASE), was the most popular at the time. The dBase system consists of a query system, a forms engine, a core database engine, and a programming language that connects all of these elements. Figure 69. The.dbf file, which is the fundamental file format of dBase, is frequently used in applications that require a straightforward format to store structured data. [141], Figure 70. Figure 69 : dBase logo Figure 70 : Full timeline for all the dBase Products. 156 141. dc The reverse-Polish calculator dc (desk calculator) is cross-platform and offers arbitrary-precision arithmetic. One of the earliest Unix tools, written by Lorinda Cherry and Robert Morris at Bell Labs, it predates even the creation of the C programming language. Like other utilities from that era, it has a short syntax despite having a robust feature set. Traditionally, dc was built on top of the bc calculator application (with infix notation). [142] In an effort to provide readers with a basic sense of the language, this article offers a few examples; nevertheless, for a complete list of commands and syntax, readers are advised to visit the man page for their particular implementation. 142. DCL (DIGITAL Command Language) The standard command language used by several of the operating systems developed by Digital Equipment Corporation is called DIGITAL Command Language (DCL). IAS, TOPS-20, and RT-11 served as the foundation for DCL, which was adopted as a standard by most of Digital's operating systems, including RSX-11 and RSTS/E. However, VAX/VMS gave DCL its most potent form (later OpenVMS). As a component of OpenVMS, VSI is still working to create DCL. [143], Figure 71. Figure 71 : Displaying the DCL CLI in a terminal session on OpenVMS Alpha 8.42L1 157 143. Delphi Embarcadero Technologies is currently developing and maintaining Delphi, Figure 72. A general-purpose programming language and software product that uses the Delphi dialect of the Object Pascal programming language and offers an integrated development environment (IDE) for quick application development of desktop, mobile, web, and console software. [144], Figure 73. Figure 72 : Delphi logo Figure 73 : A screenshot of the visual form editor in Delphi 10.4 being used to design an application 158 144. DIBOL A general-purpose, procedural, imperative programming language called DIBOL, sometimes known as Digital's Business Oriented Language, was created for use in the creation of software for Management Information Systems (MIS). [145] It uses BCD arithmetic and features syntax that is reminiscent of FORTRAN and BASIC. It shares the distinct data and procedure divisions of a COBOL program structure. DIBOL featured a counterpart to calculated goto; unlike Fortran, it did not support numeric labels for GOTO. 145. DinkC Action role-playing video game Dink Smallwood was created by Robinson Technologies, which at the time was made up of Seth Robinson, Justin Martin, and Greg Smith. Prior to being made available as freeware on October 17, 1999, it was first made available in 1998. Some of the music tracks in the game were written by Mitch Brink, while others were MIDI renditions of classical pieces like Debussy's "Reverie." More than 20 years after its initial release, the game still has a small but devoted fan base that produces add-ons for it. Figure 74.The game is known for its amusing language and surrealistic themes in some of the cutscenes. [146], Figure 75. Figure 74 : DinkC logo 159 Figure 75 : Before it burns down, Dink Smallwood's home at the beginning of the game. 146. Draco Chris Gray developed the shareware programming language called Draco. The Amiga version was created after the initial release for CP/M platforms in 1987. Although Draco, a Pascal and C hybrid, was well suited for general-purpose programming, its uniqueness as a language was primarily its weak point. Empire was ported to the Amiga by Gray using Draco for the Amiga. [147] 147. DRAKON An algorithmic visual programming and modeling language called DRAKON was created as part of the Buran space project while adhering to ergonomic design principles. The language offers a consistent, readable, and understandable approach to represent flowcharts of any complexity. The public domain language is implemented in the DRAKON Editor, which was made accessible in September 2011. It can be used to produce documentation or visual programs that can be translated into other languages' source code. [148] 160 148. Dylan Dylan is a multi-paradigm programming language that supports both functional and object-oriented programming (OOP), is dynamic and reflective, and offers a model for efficient machine code generation that includes fine-grained control over both dynamic and static behaviors. Early in the 1990s, a team headed by Apple Computer developed it. [149], Figure 76. Figure 76 : Dylan logo 149. DYNAMO A simulation language and accompanying graphical notation called DYNAMO (DYNAmic MOdels) were created within the system dynamics analytical framework. Originally intended for industrial dynamics, it was quickly expanded to serve other purposes, such as population and resource research and urban planning. Dr. Phyllis Fox, Alexander L. Pugh III, Grace Duren, and others worked at the M.I.T. Computation Center in the late 1950s to create DYNAMO under the guidance of Jay Wright Forrester. [150] . The system dynamics simulations of global resource depletion presented in the Limits to Growth report by the Club of Rome were conducted using DYNAMO, however it has since stopped being utilized. 150. DAX (Data Analysis Expressions) The default formula and query language for Microsoft PowerPivot, Power BI Desktop, and SQL Server Analysis Services (SSAS) Tabular models is Data Analysis Expressions (DAX). Some of the operations found in Excel formulae are also found in DAX, along with extra functions made to interface with relational data and conduct dynamic aggregation. It draws inspiration from Microsoft's Multidimensional Expression (MDX) language, which was created for use with multidimensional models (commonly known as cubes) in Analysis Services and Excel formula functions. It seeks to convey the versatility and power of SSAS tabular models with PowerPivot while being clear and simple to understand. [151] 161 151. E E was developed by Mark S. Miller, Dan Bornstein, Douglas Crockford, Chip Morningstar, and others at Electric Communities in 1997 as an object-oriented programming language for safe distributed computing. E is mostly related to OriginalE, a collection of Java extensions for secure distributed programming, and to the concurrent language Joule. E blends Java-like syntax with message-based computing. Deadlock is prevented through a concurrency architecture based on event loops and promises. [152] Though it also has some similarities to Python and Pascal, E's syntax most closely resembles Java. Variables have lexical scope and dynamic typing. E, on the other hand, is made up entirely of expressions, unlike Java or Python. Here is a very basic E program: "Hello, world!" println Here is a recursive function for computing the factorial of a number, written in E. Functions are defined using the def keyword. def factorial(n :int) :int { if (n == 1) { return 1 } else if (n > 0) { return n * factorial(n-1) } else { throw("invalid argument to factorial: "+n) } } A guard that limits the function's argument and output appears in the first line as:int. A guard can provide constraints and is optional, therefore it differs slightly from a type declaration. The first:int makes sure that the function's body only needs to deal with integer arguments. The function couldn't return a value without the second:int above. For security audits, being able to immediately see when information leaves the function is useful. 162 152. Ease An all-purpose parallel programming language is ease. A researcher at Yale University, the Institute for Advanced Science & Engineering in Silicon Valley, California, the Ecole Nationale Supérieure des Mines de Paris, and the Pierre and Marie Curie University, the science division of the Sorbonne, Steven Ericsson-Zenith created it.[153] 153. Easy PL/I The procedural, imperative computer programming language PL/I (also known as Programming Language One, or PL/1) was created and released by IBM. It is made for system programming, business, engineering, and science. Since its introduction in the 1960s, it has been employed by academic, business, and industrial groups and is still in use today. [154] 154. EASYTRIEVE PLUS Easytrieve is a report generator offered by CA Technologies. The two versions of this programming language, dubbed Easytrieve Classic and Easytrieve Plus, are used by large enterprises that run on mainframe (z/OS, z/VM, z/VSE), UNIX, Linux, and Microsoft Windows systems. [155] 163 155. eC A super-set of the C language, eC (Ecere C) is an object-oriented programming language. Ecere's cross-platform software development kit (SDK) initiative is where eC first started to take shape. The language's objectives are to build object-oriented constructs, reflection, properties, and dynamic modules on top of C while preserving C compatibility and achieving the best native performance possible. eC presently uses C as an intermediate language and GCC or Clang to carry out the final compilation processes. To avoid the intermediary C files, there are plans to integrate directly with LLVM. [156] The ecere-sdk package in Debian/Ubuntu and other Linux distributions descended from it contains eC. The main website offers a Windows installer that also includes MinGW-w64. Other systems, including as OS X, FreeBSD, and Android, can also be developed using the free and open-source SDK that comes with the eC compiler. Additionally, eC programs can be published to the web by compiling them to JavaScript using Emscripten or to WebAssembly using Binaryen. Programming "Hello, World!" in eC: class HelloApp : Application { void Main() { PrintLn("Hello, World!"); } } Graphical user interface A "Hello, World!" program programmed with a GUI: import "ecere" class HelloForm : Window { caption = "My First eC Application"; borderStyle = sizable; clientSize = { 304, 162 }; hasClose = true; Label label { this, position = { 10, 10 }, font = { "Arial", 30 }, caption = "Hello, World!!" }; }; HelloForm hello { }; 164 156. ECMAScript A JavaScript standard called ECMAScript was created to guarantee browser compatibility for web pages. Ecma International standardized it in the document ECMA-262. The World Wide Web frequently uses ECMAScript for client-side scripting, and Node.js and other runtime environments are increasingly being utilized to create server-side applications and services. [157] 157. Edinburgh IMP Atlas Autocode, which was first created at the University of Edinburgh in Scotland between 1966 and 1969, is the basis for Edinburgh IMP. It is a general-purpose language that was heavily utilized for systems programming. [158] 158. EGL A programming technology called EGL (Enterprise Generation Language), which was first created by IBM and is now made publicly available as the EDT (EGL Development Tools) open source project under the Eclipse Public License (EPL), was created to address the difficulties associated with creating modern, multi-platform applications. It does this by offering a standard language and programming model that can be used with various runtime platforms, frameworks, and languages. [159] 165 159. Eiffel A proponent of object-orientation and the author of Object-Oriented Software Construction, Bertrand Meyer and Eiffel Software created the object-oriented programming language Eiffel. In order to improve the dependability of the development of commercial software, Meyer created the language in 1985. Figure 77, The first version was made available in 1986. Eiffel was recognized by ISO as a standard language in 2005. A "Hello, world!" program is frequently used to demonstrate the appearance and feel of a programming language. An example of such an Eiffel program might be: class HELLO_WORLD create make feature make do print ("Hello, world!%N") end end The class HELLO WORLD is contained in this application. The print system library routine is used by the class' constructor (create routine), named make, to write the message "Hello, world!" to the output. [160] Figure 77 : Eiffel logo 166 160. ELAN For learning and teaching systematic programming, ELAN is an interpreted instructional programming language. It was created in 1974 as an alternative to teaching with BASIC by C.H.A. Koster and a team at the Technical University of Berlin, and it was given the "Arbeitskreis Schulsprache" seal of approval for usage in German secondary schools. In addition to being used at Radboud University Nijmegen in the Netherlands to teach systematic programming to students from various disciplines and in teacher courses, it was in use up until the late 1980s in a number of schools in Germany, Belgium, the Netherlands, and Hungary for the secondary education of informatics. [161] The language's architecture places a significant emphasis on structured programming and includes a unique stepwise refinement approach that enables students to concentrate on top-down design and bottom-up coding. 161. Elixir Running on the BEAM virtual computer, which also supports the Erlang programming language, Elixir is a functional, concurrent, general-purpose programming language. Erlang serves as the foundation for Elixir, which uses the same abstractions to create distributed, fault-tolerant applications. Additionally, Elixir offers a design that is expandable as well as useful tools. Compile-time metaprogramming with macros and polymorphism through protocols support the latter. [162] The following examples can either be run directly from the command line by typing elixir filename>, or they can be saved as a file and run that way. Figure 78. Classic Example of a welcome message: iex> IO.puts("Hello World!") World, welcome! Figure 78 : Elixir logo 167 162. Elm Elm is a programming language for declaratively building graphical user interfaces for web browsers. Elm is entirely functional and was created with a focus on robustness, usability, and performance. Figure 79. It boasts "no runtime exceptions in practice," which is made possible by the static type checking of the Elm compiler. [163] Figure 79 : Elm logo 163. Emacs Lisp Emacs Emacs uses the programming language dialect Lisp as a scripting language (a text editor family most commonly associated with GNU Emacs and XEmacs). The majority of the editing functionality included in Emacs is implemented using it, with the Lisp interpreter and the remaining functionality written in C. Figure 80. Although there is an older, unrelated Lisp dialect with that name, Emacs Lisp is frequently referred to as Elisp. [164] Figure 80 : Emacs Lisp 168 164. Emerald The University of Washington's Department of Computer Science's Andrew P. Black, Norman C. Hutchinson, Eric B. Jul, and Henry M. Levy created the distributed, object-oriented programming language Emerald in the 1980s. In addition to supporting high performance distribution, location, and object performance, Emerald was created to make distributed programming simpler, take advantage of information hiding, and be a compact language. [165] 165. Epigram A functional programming language with dependent types, Epigram comes with an integrated development environment (IDE) in most cases. The type system of Epigram is robust enough to represent program requirements. Supporting an easy transition from conventional programming to integrated programs and proofs whose correctness can be verified and confirmed by the compiler is the aim of this project. Epigram is based on intuitionistic type theory and takes advantage of the Curry-Howard correspondence, often known as the propositions as types principle. [166] 166. EPL (Easy Programming Language) A proprietary visual compiled multilingual programming language is called Easy Programming Language (EPL; Chinese: ). Due to its authentically Chinese setting, EPL has a little following in China. (There are varieties of the language in English, Japanese, traditional Chinese, and simplified Chinese.) [167] 167. Erlang Erlang is a runtime environment and general-purpose, concurrent, functional programming language. The terms "Erlang" and "Erlang/OTP," or Open Telecom Platform (OTP), are interchangeable. Figure 81. OTP is made up of the Erlang runtime system, a number of ready-to-use components, primarily written in Erlang, and a set of design guidelines for Erlang programs. [168] Figure 81 : Erlang logo 169 168. Es The command line interpreter for Version 10 Unix and Plan 9 from Bell Labs operating systems is rc (short for "run commands"). Although its syntax is a little bit easier, it is similar to the Bourne shell. Tom Duff, who is better known for a peculiar C programming language concept called "Duff's device," was the author of this. [169] The shell script for Bourne: if [ "$1" = "hello" ]; then echo hello, world else case "$2" in 1) echo $# 'hey' "jude's"$3;; 2) echo `date` :$*: :"$@":;; *) echo why not 1>&2 esac for i in a b c; do echo $i done fi is expressed in rc as: if(~ $1 hello) echo hello, world if not { switch($2) { case 1 echo $#* 'hey' 'jude''s'^$3 case 2 echo `{date} :$"*: :$*: case * echo why not >[1=2] } for(i in a b c) echo $i } 170 169. Escher Developed by J.W. Lloyd in the middle of the 1990s, Escher is a declarative programming language that supports both the functional programming and logic programming models (named for M. C. Escher, "a master of endless loops"). It was primarily intended to be a tool for study and instruction. Escher and other analogous programming languages take the fundamental stance that a program is a representation of a theory in some logic framework, and that the execution of the program (computation) is a derivation from the theory. The straightforward theory of types by Alonzo Church serves as Escher's logical foundation. [170] 170. ESPOL A superset of ALGOL 60, the Executive Systems Problem Oriented Language (ESPOL) allows for functions that would subsequently be referred to as system programming languages or machine oriented high order languages (mohol), such as halting a processor on a multiprocessing system (the Burroughs large systems were multiprocessor systems). The Master Control Program (MCP), which ran on Burroughs computers from the B5000 to the B6700, was written using ESPOL. Over 250 lines per second might be compiled by the ESPOL single-pass compiler. [171] 171. Esterel A synchronous programming language called Esterel is used to create sophisticated reactive systems. Esterel's imperative programming model makes it possible to describe parallelism and preemption in a straightforward manner. It is hence suitable for control-dominated model designs. [172] The Ecole des Mines de Paris and INRIA teams in France, directed by Gérard Berry, began working on the language's development in the early 1980s. Compilers today produce C code or hardware (RTL) implementations from Esterel programming (VHDL or Verilog). There are various compilers available, however the language is still in development. The Esterel Studio development environment is the Esterel commercial edition. However, the working group (P1778) was disbanded in March 2011 by the firm that commercialized it (Synfora), which started a normalization procedure with the IEEE in April 2007. The initial IEEE standardization proposal for the Esterel v7 Reference Manual Version v7 30 is available to the general public. 171 172. Etoys Etoys is an object-oriented prototype-based programming language and kidfriendly computing environment for use in education. Etoys is a free and open source media-rich authoring environment that operates on various platforms and has a programmable object model for a wide variety of objects. [173], Figure 82. Figure 82 : The concept of programmable virtual beings acting on a computer screen serves as the foundation for the Etoys system. 173. Euclid The imperative programming language Euclid is used to create provable programs. In the middle of the 1970s, Butler Lampson and colleagues at the Xerox PARC lab created it. At the University of Toronto, Ric Holt oversaw the implementation, and James Cordy served as the compiler's lead programmer in its initial iteration. It was first made to work with the Motorola 6809 processor. The compiler development team was given a $2 million budget over a period of two years by the Defense Advanced Research Projects Agency of the U.S. Department of Defense and the Canadian Department of National Defence, and it was regarded as innovative at the time. For several years, it was used for systems programming and secure software system research at I. P. Sharp Associates, MITRE Corporation, SRI International, and numerous other international institutes. [174] 174. Euler Niklaus Wirth and Helmut Weber developed the programming language known as Euler as an expansion and generalization of ALGOL 60. [175] The designers wanted to make a language that is: • Easier to learn while yet being flexible than ALGOL 60 • Useful and processed with a reasonable level of efficiency. • Formally definable. 172 175. Euphoria Robert Craig of Toronto, Ontario, Canada's Rapid Deployment Software developed the programming language euphoria. Figure 83. The first commercial release was for MS-DOS as private software after being initially developed (but not publicly released) for the Atari ST. Version 3 of Euphoria, which was released in 2006, made the program open-source. The project is still being managed and developed by the openEuphoria Group. Version 4 of openEuphoria was launched in December 2010 by the openEuphoria Group, who also gave the project a new name and mascot. Currently, OpenEuphoria is available for Windows, Linux, macOS, and three different types of *BSD. [176] Figure 83 : Euphoria logo 176. EusLisp Robot Programming Language A Lisp-based programming language is used in EusLisp. It was created with the development of robotics software explicitly in mind and is based on object orientation. Its first iteration ran on Unix-System5/Ustation-E20 in 1986. [177] 177. CMS EXEC (EXEC) The IBM Virtual Machine/Conversational Monitor System (VM/CMS) operating system comes with the CMS EXEC Processor, which is an interpreted, command procedure control, computer scripting language. Stuart Madnick at MIT created EXEC in 1966 after studying CTSS RUNCOM. This processor was once known as COMMAND by the inventor before being renamed EXEC. EXEC 2 and REXX have supplanted CMS EXEC. The IBM CMS product will continue to support all three—CMS EXEC, EXEC 2, and REXX. [178] 173 178. EXEC 2 The IBM Virtual Machine/System Product (VM/SP) operating system originally included the EXEC 2 Processor, which is an interpreted, command procedure control, computer scripting language. [179] 179. Executable UML Both a software development methodology and a highly abstract programming language are known as executable UML (xtUML or xUML). The book "Executable UML: A Foundation for Model-Driven Architecture" initially introduced it in 2002. The language "combines a subset of the executable semantics and timing rules of the UML (Unified Modeling Language) graphical notation." The Shlaer-Mellor approach has been replaced by the Executable UML method. Executable UML models can be turned into a less abstract programming language to target a particular implementation and "can be executed, tested, debugged, and monitored for performance." Model-driven architecture (MDA) is supported by executable UML through the specification of platform-independent models and the compilation of those models into platform-specific models. [180] 180. Ezhil A compact, open-source, interpreted programming language called Ezhil, written in the Tamil language, was initially created to make it easier for native Tamil-speaking students in the K–12 age range to learn computer programming and to develop their numeracy and computing skills outside of the confines of English-based computer systems. [181] 181. F A modular, compiled, numerical programming language called F was created specifically for scientific computing and programming. F is a subset of Fortran 95 because it was created as a contemporary Fortran. It incorporates elements of these languages' numerical and data abstraction constructs. F supports calls to Fortran 77 programs and is backwards compatible with Fortran 77. The g95 compiler introduced F for the first time. [182] 174 182. F# (F sharp) A functional-first, general-purpose, strongly typed, multi-paradigm programming language called F# (pronounced "f sharp") incorporates functional, imperative, and object-oriented programming techniques. Figure 84. It can produce JavaScript and GPU code and is most frequently used as a cross-platform Common Language Infrastructure (CLI) language on the.NET platform. [183] This comment is for an example of a hello world application. printfn World, welcome! Figure 84 : F-sharp logo 175 183. F* A functional programming language called F*, which is pronounced "F star," was developed with program verification in mind. Dependent types, monadic effects, and refinement types are all part of its type system. Figure 85. This enables the explicit expression of program specifications, such as functional correctness and security attributes. The F* type-checker uses SMT solvers and manual proofs to demonstrate that programs adhere to their specifications. For execution, programs written in F* can be converted to OCaml, F#, and C. Additionally, earlier iterations of F* may be converted to JavaScript. The most recent version of F* bootstraps in both OCaml and F# and is entirely written in a shared subset of F* and F#. It is active on GitHub and is free source (under the Apache License 2.0). [184] Figure 85 : F* logo 176 184. Factor Slava Pestov developed the stack-oriented programming language Factor. Factor provides sophisticated metaprogramming tools, automated memory management, and dynamic typing. The language features a single implementation that includes an interactive programming environment and a self-hosted optimizing compiler. Figure 86. A sizable standard library is included in the Factor distribution. [185] Figure 86 : Factor logo 185. Fantom Developed by Brian and Andy Frank, Fantom is a general-purpose objectoriented programming language that utilizes the.NET Common Language Runtime (CLR), JavaScript, and the Java Runtime Environment (JRE) (.NET support is considered "prototype" status). Its main objective in terms of design is to offer a common library API that removes the concern about whether the code will ultimately run on the JRE or CLR. Fantom uses a curly brace syntax, just like C# and Java. Closures in the language facilitate functional programming, while the Actor model supports concurrency. Fantom's type system adopts a "middle of the road" strategy, including elements of both static and dynamic typing. [186] Here is the traditional Fantom Hello World program: // Hello from Fantom! class HelloWorld { static Void main() { echo("Hello, World!") } } Note the capitalization of "Void." This is so because in Fantom, Void is a class rather than a primitive type. 177 186. FAUST Using libraries, audio plug-ins, or standalone apps, signal processing methods can be implemented using FAUST (Functional AUdio STream), a domain-specific, purely functional programming language. A FAUST program is an example of a signal processor, which applies a mathematical function to an input signal before generating an output signal. [187] 187. FFP John Backus developed the programming language known as FP, or functional programming, to support the function-level programming paradigm. It enables the creation of programs using a collection of generally practical primitives while eliminating named variables (a style also called tacit programming or "point free"). APL, which was created by Kenneth E. Iverson in the early 1960s, had a significant impact on it. [188] 188. Fish Fish is a Unix shell that emphasizes usability and interaction. Figure 87. Fish is intended to provide functionalities to the user by default rather than through configuration. Depending on the maintainers' preferences, the POSIX shell standards are not strictly followed by Fish, making it an unusual shell. [189] Figure 87 : shell of the fish. The top of the page features the tagline "fish - the friendly interactive shell." 178 189. Fjölnir Programming language Fjölnir, also spelled Fjolnir or Fjoelnir, was created by professor Snorri Agnarsson of computer science at Háskóli slands (University of Iceland), and it was primarily utilized in the 1980s. The source files typically end in.fjo or.sma. The foundation of Fjölnir is the idea that packages are represented by substitutions on trees made with algebraic operators, and programs are represented as trees. For instance, "GRUNNUR" is a package, the block of code enclosed in brackets is a package, and the * operator replaces names in one package with elements from another in the example "Hello World" below. In this instance, "GRUNNUR" is used to import skrifastreng, which writes a string to the standard output. [190] Code examples : ;; Hello world in Fjölnir "hello" < main { main -> stef(;) stofn skrifastreng(;"Hello, world!"), stofnlok } * "GRUNNUR" ; 190. FL FL (short for "Function Level") is a programming language developed by John Backus, John Williams, and Edward Wimmers at the IBM Almaden Research Center in the 1980s. It was described in a report from 1989. As a replacement for Backus' older FP language, FL was created to provide specialized support for what Backus referred to as function-level programming. FL is a rigorous functional programming language with dynamic typing that has throw and catch exception semantics, similar to ML. Each function contains an implicit history argument that is used for linking to C code as well as strictly functional input/output (I/O). A type-system that extends Hindley-Milner type inference is available for optimization. [191] 179 191. FlagShip Based on the xBase language dialect and conventions, FlagShip is a computer language that supports both object-oriented and procedural programming. Figure 88. Linux, Unix, and Microsoft Windows are only a few of the various computer platforms that FlagShip is available for and cross-compatible with. Figure 89. As a genuine compiler, it uses the same source code and databases to convert xBase source code to native 32-bit or 64-bit executables.[192] Figure 88 : FlagShip logo Figure 89 : execute FlagShip in GUI mode or in textual i/o mode 180 192. Flavors Howard Cannon of the MIT Artificial Intelligence Laboratory created Flavors, an early object-oriented addition to Lisp for the Lisp processor and associated programming language Lisp Machine. Mixins were initially introduced to programming in Lisp. Both the original and new Flavors were message passing OO models, and Symbolics used it for its Lisp computers before developing it into New Flavors. It had a significant impact on the creation of the Common Lisp Object System (CLOS). Flavors implementations are also accessible for Common Lisp. Sending messages was replaced by invoking generic functions in New Flavors. Flavors provides before and after daemons using the standard way (called :daemon).[193] 193. Flex Alan Kay created the FLEX programming language in the late 1960s while experimenting with concepts that would eventually become the Smalltalk programming language. [194] 194. Flix The programming language Flix was created at Aarhus University with assistance from a group of open source contributors and support from the Independent Research Fund Denmark. Algebraic data types, pattern matching, parametric polymorphism, currying, higher-order functions, extensible records, channel and process-based parallelism, and tail call elimination are supported by the Flix programming language. Flix's type and effect system and support for first-class Datalog constraints are two of its standout features. [195] When the following program is built and run, it prints "Hello World!" Define Main: Impure + Unit = Console. ("Hello World!") printLine The main function's type and effect signature indicates that it is impure, returns a value of type Unit, and has no parameters. The main function is impure since it calls the impure printLine method. 181 195. FlooP Simple programming languages called BlooP and FlooP (Bounded loop and Free loop) were created by Douglas Hofstadter to illustrate a point in his book Gödel, Escher, Bach. BlooP is a non-Turing-complete programming language with a bounded loop as its primary control flow structure (i.e. recursion is not permitted). Only elementary recursive functions can be expressed in this language, and all programs must end. Since FlooP is a Turing-complete language that can express any computable functions, it is identical to BlooP with the exception that it permits unbounded loops. For instance, it can express the Ackermann function, which BlooP cannot express because it is not a primitive recursive function. Hofstadter refers to the unbounded loops in FlooP as MUloops, borrowing language from mathematical logic. The halting problem affects all Turing-complete programming languages, including FlooP. In general, it is impossible to determine which programs will terminate. BlooP and FlooP are models of computing that have occasionally been employed in computability education. [196] 196. FLOW-MATIC (B0) The first language for data processing that was similar to English was called FLOW-MATIC initially known as B-0 (Business Language version 0). It influenced the creation of COBOL and was created for the UNIVAC I at Remington Rand under Grace Hopper from 1955 to 1959. [197] 197. FOCAL (Formulating On-Line Calculations in Algebraic Language/FOrmula CALculator) Formulating On-line Calculations in Algebraic Language, or FOCAL (acronym for Formulating On-line Calculations in Algebraic Language, or FOrmula CALculator), is an interactive interpreted programming language built on the JOHNNIAC Open Shop System (JOSS), and it is primarily used on Digital Equipment Corporation (DEC) Programmed Data Processor (PDP) series machines. [198] 198. FOCUS Database queries are created using the fourth-generation (4GL) programming language and development environment known as FOCUS. It was created by Information Builders Inc. and was initially designed for IBM mainframe data management and analysis. Versions for minicomputers and other platforms, like the VAX, were subsequently implemented. Later, FOCUS was expanded to include personal computers and, in 1997, the World Wide Web through the creation of WebFOCUS. [199] 182 199. FOIL Two separate programming languages were known as FOIL. [200] • CAI-compliant language A CAI language created in 1967 at the University of Michigan became the first FOIL. File-Oriented Interpretive Language was the name of the language, which was quite similar to other CAI languages like COURSEWRITER and PILOT. Whitespace was used to attempt to block-structure the language, but this only served to make it sound a little like ABC or BASIC. Example: :START COUNT=0 TY Enter the number of times you want to repeat the statement: ACCEPT MAX=NUMBER.(1) :LOOP TY This loop has run #COUNT times it will terminate when it runs #MAX times IF COUNT<MAX, COUNT=COUNT+1 GO TO :LOOP TY Do you want to do this again? ACCEPT IF 'yes', GO TO START IF 'no' GO TO FINISH :FINISH TY Goodbye! STOP • Language of music generation For the Touché computer instrument, the second FOIL was a music creation language in 1979. The Touché was a keyboard with digital tone creation and software programming capabilities. Far Out Instrument Language was the name of the acronym, which was followed by MetaFOIL and FOIL-83. David Rosenboom created the language, which was based on Forth. 183 200. FORMAC (FORMula MAnipulation Compiler) The first computer algebra system to see widespread use was called FORMAC, or the FORmula MAnipulation Compiler. It was created as an extension of FORTRAN IV by Jean E. Sammet and her team. The compiler was constructed as a preprocessor that took the FORMAC program and transformed it into a FORTRAN IV program, which was then automatically compiled. The initial phase of construction began in 1962 and was finished in April 1964. It was made available to IBM clients in November. The use, manipulation, and computation of symbolic expressions were all supported by FORMAC. Additionally, it supported rational math. [201] 201. @Formula Lotus Notes makes use of the Formula language for scripting. Due to the fact that many language components begin with the @-character, it is frequently referred to as @Formula language (pronounced at-formula). Here is an illustration of a formula for selection: SELECT "NT0050D26" as the note ID. During the early stages of Lotus Notes development, Ray Ozzie designed it. Formula Language was developed primarily for string and list processing, not numerical processing, unlike the spreadsheet language that he stole the compiler and decompiler from, Lotus 1-2-3. It started off as a functional programming language with special text list handling capabilities that Ray Ozzie's earlier work with Icon and Lisp had influenced. Damien Katz rewrote the Formula language engine for Notes and Domino 6. Performance was enhanced while new language features like looping and dynamic execution were added. [202] 202. Forth Charles H. "Chuck" Moore created the procedural, stack-oriented programming language and interactive environment known as Forth, which was first employed by other programmers in 1970. Although not an abbreviation, the name of the language was sometimes spelt FORTH in its early years. The implementations of FORTH-79 and FORTH-83, which weren't created by Moore, ended up being de facto standards, and ANS Forth, an official standardization of the language, was released in 1994. Before and after ANS Forth, a vast variety of Forth derivatives were available. The phrase "Hello, World!" is written as HELLO (--) CR. World, welcome! The following output is displayed on a new line when the term "CR" (Carriage Return) is typed. the word for parsing "(dot-quote) adds code to the current definition after reading a double-quote-delimited string so that the parsed string will be shown when the code is executed. the character that divides the word with a space "the string Hello, World! does not contain any of the Hello, World! string. It is required for the parser to identify "as a word in Forth. 184 The same results can be produced by entering the following code fragment into a typical Forth interpreter, which is also a forth console: "Hello, World!" CR An instant word that shows a parenthesis-delimited string after parsing it is ((dot-paren). similar to the expression "the dividing character of the gap. The string does not contain (from Hello, World! The text to print is preceded by the letter CR. The Forth interpreter does not, by default, begin output on a new line. As is customary, the interpreter displays an ok prompt and then waits for input at the end of the preceding line. Forth's CR does not include an implicit "flush-buffer" action, as some other programming languages do.[203] 203. Fortran – ISO/IEC 1539 A general-purpose, compiled imperative programming language known as Fortran (FORTRAN) is best suited for mathematical and scientific computing. There have been several versions of Fortran, and each one has added additions while mainly maintaining compatibility with earlier ones. Figure 90. Fortran 77 introduced structured programming and character-based data processing; Fortran 90 added array programming, modular programming, and generic programming; Fortran 95 introduced High Performance Fortran; Fortran 2003 introduced object-oriented programming; Fortran 2008 introduced concurrent programming; and Coarray Fortran 2008/2018 introduced native parallel computing capabilities. [204] 32 statements made up the FORTRAN for the IBM 704's original version, which included the following: EQUIVALENCE and DIMENSION statements Three-way arithmetic IF statement that transferred control to one of three program places based on whether the result of the arithmetic statement was negative, zero, or positive IF statements for controlling sense switches and sense lights, as well as IF statements for verifying exceptions (ACCUMULATOR OVERFLOW, QUOTIENT OVERFLOW, and DIVIDE CHECK). ASSIGN, computed GO TO, assigned GO TO DO, and GO TO loops FORMAT, READ, READ INPUT TAPE, WRITE, WRITE OUTPUT TAPE, PRINT, and PUNCH are the formatted I/O commands. READ TAPE, READ DRUM, WRITE TAPE, and WRITE DRUM are examples of unformatted I/O. End File, Rewind, Backspace, Pause, Stop, and Continue are examples of other I/O. Frequency declaration (for providing optimization hints to the compiler). The arithmetic IF statement was similar to a three-way comparison instruction (CAS— Compare Accumulator with Storage) present on the 704 but was not easily implementable by it. The statement gave the only method for comparing numbers, which involved testing their discrepancy and carrying a risk of overflow. Later, "logical" tools included in FORTRAN IV were provided to address this shortcoming. 185 The three branch scenarios of the arithmetic IF statement's original use of the FREQUENCY statement were given branch probabilities using this statement (which is optional). "Hello, World!" example : program helloworld print *, "Hello, World!" end program helloworld Figure 90 : Fortran logo 186 204. Fortress Sun Microsystems developed Fortress, an experimental high-performance computing programming language, with funding from DARPA's High Productivity Computing Systems project. Fortress has since been retired. Guy L. Steele Jr., whose prior work includes Scheme, Common Lisp, and Java, was one of the language creators. As seen in the Fortress Reference Card, here is the classic hello world program in Fortress form: component hello export Executable run() = println(“Hello, World!”) end Every program in Fortress that may be executed must implement the run() method thanks to the export statement. The name supplied in the initial component statement must match the file where the program is saved for compilation. "Hello, World!" is displayed on the screen by the println() function. [205] 205. FP John Backus developed the programming language known as FP, or functional programming, to support the function-level programming paradigm. It enables the creation of programs using a collection of generally practical primitives while eliminating named variables (a style also called tacit programming or "point free"). APL, which was created by Kenneth E. Iverson in the early 1960s, had a significant impact on it. Can Programming Be Liberated from the von Neumann Style?, Backus' 1977 Turing Award paper, which was subtitled "a functional style and its algebra of programs," introduced the FP language. The article aroused interest in the field of functional programming, which eventually led to the development of contemporary functional languages that, contrary to Backus' expectations, are mostly based on the lambda calculus paradigm. [206] 187 206. FoxBase/FoxPro Originally released by Fox Software and then by Microsoft for MS-DOS, Windows, Macintosh, and UNIX, FoxPro was a text-based procedurally oriented programming language and database management system (DBMS) that was also objectoriented. FoxPro was finally released as version 2.6. The Visual FoxPro brand saw continuous development before being abandoned in 2007. Figure 91. FoxPro was derived from FoxBase, which was taken from dBase III (Ashton-Tate) and dBase II (Fox Software, Perrysburg, Ohio). Vulcan, a database application created by Wayne Ratliff and running on CP/M, was the basis for the first commercial release of dBase II. Due to its broad support for many relationships between various DBF files, FoxPro was both a database management system (DBMS) and a relational database management system (RDBMS) (tables). It lacked transactional processing, though.[207] Figure 91 : Cover of the FoxPro 2.6 Developer's Guide 188 207. Franz Lisp Franz Lisp, a defunct Lisp programming language system, was created by professor Richard Fateman and a number of students at the University of California, Berkeley (UC Berkeley, UCB). Figure 92. It was based largely on Maclisp and distributed with the Berkeley Software Distribution (BSD) for the Digital Equipment Corporation (DEC) VAX minicomputer. Franz Lisp was perhaps the most popular and commonly used Lisp system during the 1970s and 1980s, riding on the success of the BSD package. [207] Figure 92 : 4.3 BSD from the University of Wisconsin, displaying a Franz Lisp man page 208. Futhark As a component of the HIPERFIT project, the functional data parallel array programming language Futhark was initially created at DIKU. It focuses on making it possible for data parallel programs written in a functional language to be performed on massively parallel hardware, in particular on GPUs, with high speed. Futhark draws heavily from NESL, but in order to support more aggressive compiler optimizations, it has restrictions on how parallelism can be stated. Particularly unsupported is irregular layered data parallelism. [208] 189 209. F-Script Philippe Mougin created the object-oriented scripting language F-Script for the macOS operating system from Apple. A Smalltalk-based interactive language called FScript makes use of the Cocoa API that comes with macOS. [210] 210. Game Maker Language The GameMaker series of cross-platform game engines, previously known as Animo, Game Maker (up until 2011), and GameMaker Studio, was founded by Mark Overmars in 1999 and has been developed by YoYo Games since 2007. GameMaker's most recent version was launched in 2022. [211], Figure 93. Figure 93 : Game Maker logo 211. GameMonkey Script A compact, cross-platform scripting language called GameMonkey Script was created with game integration in mind. With the exception of their closer resemblance to C syntax, GameMonkey and Lua are very comparable languages. Greg Douglas and Matthew Riek created GameMonkey Script in 2002 as a closedsource undertaking for Auran Development. On the other hand, Auran authorized the public release of GameMonkey's complete source code under the MIT License on June 12, 2003. On a variety of devices, including the Windows PC, Apple Mac, Microsoft Xbox, Sony's PlayStation 2, PlayStation 3, Nintendo GameCube, Nintendo DS, Nintendo Wii, and several Linux distributions, it is currently utilized for both professional and recreational purposes. [212] 190 212. GAMS (General Algebraic Modeling System) A high-level modeling system for mathematical optimization is the general algebraic modeling system (GAMS). GAMS is made for modeling and resolving mixedinteger, linear, and nonlinear optimization issues. The system is designed specifically for complicated, large-scale modeling applications and enables the user to create robust models that can be modified to fit different circumstances. The system can be used on a variety of computer platforms. From one platform to another, models can be moved about. [213] 213. GAP A computer algebra system called GAP (Groups, Algorithms and Programming) is used for computational discrete algebra, with a focus on computational group theory. From 1986 to 1997, GAP was created at Lehrstuhl D für Mathematik (LDFM), Rheinisch-Westfälische Technische Hochschule Aachen, Germany. Figure 94. The creation and upkeep of GAP was overseen by the School of Mathematical and Computational Sciences at the University of St Andrews in Scotland after Joachim Neubüser stepped down from his position as LDFM chair. The University of St Andrews, RWTH Aachen, Technische Universität Braunschweig, and Colorado State University at Fort Collins formed an equal partnership to coordinate in the summer of 2005. A fifth GAP Centre, located at the TU Kaiserslautern, was added in April 2020. [214] Figure 94 : GAP logo 191 214. G-code The most popular computer numerical control (CNC) programming language is G-code (also known as RS-274). It has numerous variations and is mostly used in computer-aided manufacturing to control automated machine tools. A machine controller (industrial computer) receives G-code instructions that guide the motors on where to go, how quickly to move, and what course to take. The two most frequent scenarios are that a cutting tool is moved in accordance with these instructions through a toolpath inside a machine tool like a lathe or mill, removing material to leave only the finished workpiece; or an unfinished workpiece is precisely positioned in any of up to nine axes around the three dimensions relative to a toolpath, and either or both can move relative to each other. The same idea applies to measuring tools as well as noncutting equipment like shaping or burnishing tools, photoplotting, additive processes like 3D printing, and photoplotting. [215] 215. GDScript (Godot) A cross-platform, free and open-source game engine known as Godot was made available under the MIT license. Before it was made available to the general public, it was initially created by Argentine software developers Juan Linietsky and Ariel Manzur for a number of Latin American businesses. Figure 95. Linux, BSDs, macOS, and Microsoft Windows are just a few of the operating systems that the development environment is compatible with. It is intended for use in the development of 2D and 3D games for PC, mobile, and online platforms. Additionally, it can be used to develop editors and other non-game software. [216] Figure 95 : GDScript logo 192 216. Genie A contemporary, all-purpose high-level programming language called Genie has been under development since 2008. It was created as a different, easier, and cleaner dialect for the Vala compiler while maintaining all of the Vala's capability. The compiler and libraries used by Genie and Vala are identical, therefore the two can be used together. There are simply syntactic differences. [217] This example utilizes four spaces for indentation intentionally. [indent=4] init print "Hello, world!" 217. GDL (Geometric Description Language) Geometric Description Language (GDL) is the programming language used by the Archicad library parts in computer-aided design. These CAD models have a file format called GSM. These objects resemble AutoCAD blocks, but they are parametric objects with integrated 2D and 3D properties that allow for accurate depiction in any view (for example a side view on the section, top view on plan, and perspective in the 3D view). An Archicad library part is defined by GDL scripts according to its primary functions, which include listing quantities, a user interface display and behavior, a 3D model, a 3D model projected to section/elevation or a 2D plan, a 2D plan view, and a 3D model.[218] 193 218. GEORGE Charles Leonard Hamblin created the programming language GEORGE (General Order Generator) in 1957. It used reverse Polish notation and was built around a push-down pop-up stack for arithmetic operations. There were conditionals, loops, subroutines, matrices, and vectors in the language. A+B was written as a+b, and similarly for the other arithmetic operations of subtraction, multiplication, and division. Algebraic expressions were written in reverse Polish notation. The mathematical formula ax2+bx+c was expressed as an x dup b x + c +, where 'dup' stood for 'duplicate the value. An assignment statement to evaluate the formula y=ax2+bx+c was expressed as an x dup b x + c + using the reverse Polish form (y). The following is how the computer assessed the expression: the values of a and x were pushed to the top of the accumulator stack, respectively; "dup" caused a copy of the topmost value (x) to be pushed to the top of the accumulator stack; and "Multiply" caused the top two values, xand x, to be removed (popped) and multiplied, returning the result to the top of the accumulator stack. The top two values on the stack (specifically, a and x**2) were then multiplied by the second multiply (), and the result (ax**2) was then pushed onto the top of the accumulator stack. Likewise with the remaining words in the statement. The expression's value was returned to storage by the last operation, (y), without the accumulator stack's state being altered. The value at the top of the accumulator stack would be eliminated (cleared) if it wasn't urgently needed by invoking the operation (;). [219] The software below reads eight values and computes their sum: 0, 1, 8 rep (j) R+ ] (P) By moving the value zero to the top of the accumulator stack, the first line initializes the sum. The second line begins a loop and ends with a square bracket. It is spoken as "for 1 to 8 repeat for j." The plus sign (+) adds the value to the (partial) sum after R causes one integer to be read in and put to the top of the accumulator stack in the third line, leaving only the partial sum on top. The (P) causes the final sum to be punched on a card once the loop ends. 194 219. GLSL (OpenGL Shading Language) A high-level shading language with a syntax based on the C programming language is known as OpenGL Shading Language (GLSL). To provide programmers more direct control over the graphics pipeline without requiring them to use ARB assembly code or hardware-specific languages, the OpenGL ARB (OpenGL Architecture Review Board) developed it. Figure 96. New capabilities have been added to provide for more flexibility in the rendering process at the vertex and fragment level as a result of advancements in graphics cards. Vertex and fragment shaders are used to attain this level of programability. [220] Figure 96 : Real-time rendering calculations in video games are sent to the GPU via OpenGL. OpenGL Shading Language is used to create and compile shaders. The GPU is used to run the compiled programs. 220. GNU E A C++ extension called GNU E is used to create software systems that allow persistent applications. As a component of the Exodus project, it was created. [221] 195 221. GNU Guile (GNU Ubiquitous Intelligent Language for Extensions) The chosen extension language system for the GNU Project, GNU Ubiquitous Intelligent Language for Extensions (GNU Guile), includes an implementation of the computer language Scheme. Figure 97. In 1993, the first version was made available. Large portions of the Scheme standards are also included in Guile Scheme, along with modularized extensions for a wide variety of programming tasks. [222] Figure 97 : GNU logo 196 222. Go Programming language Go was created at Google by Robert Griesemer, Rob Pike, and Ken Thompson. It is statically typed and compiled. Figure 98. Although it has memory safety, garbage collection, structural typing, and parallelism in the CSP manner, it is syntactically identical to C. Although its official name is Go, it is frequently referred to as Golang due to its former domain name, golang.org. [223] package main import "fmt" func main() { fmt.Println("hello world") } Where "fmt" stands for the formatted I/O package, which is comparable to C's C file input/output. Figure 98 : Go logo 223. Go! In the tradition of logic-based programming languages like Prolog, Go! is an agent-based language. In a 2003 publication, Francis McCabe and Keith Clark described it.[224]. Gocreators !'s define it as "a multi-paradigm programming language targeted at the requirements of creating secure, high-quality production applications and agentbased ones. It is strongly typed, higher order, and multi-threaded (in the functional programming sense). It provides definitions for relation, function, and action procedure. Action operations are carried out by threads, which as needed also call functions and query databases. Asynchronous messages are used by threads in various agents to coordinate and communicate. Additionally, shared dynamic relations that function as Linda-style tuple storage can be used by threads inside the same agent." The authors also suggest that the language's mix of logic, functional, and imperative programming methods makes it appropriate for representing ontologies. 197 224. GOAL (Game Oriented Assembly Lisp) Game-Oriented Construction A version of the programming language Lisp called Lisp (GOAL) was created specifically for video games by Andy Gavin and the Jak and Daxter team at the business Naughty Dog. It was created using Allegro Common Lisp, which was also used to create the whole Jak and Daxter game series. [225] 225. Gödel The general-purpose, declarative programming language Gödel follows the logic programming paradigm. It is a strongly typed language, featuring a parametric polymorphism type system based on many-sorted logic. Kurt Gödel, a logician, inspired its name. A definition of the greatest common divisor (GCD) of two numbers may be found in the following Gödel module. Not being especially efficient is not the goal; the goal is to illustrate the declarative character of Gödel. According to the CommonDivisor predicate, if I and j are positive integers and d is between 1 and the smaller of I and j, then d is a common divisor of I and j if it divides both I and j exactly. The Gcd predicate states that if d is a common divisor of I and j and there is no e that is both a common divisor of I and j and greater than d, then d is the greatest common divisor of I and j. [226] MODULE GCD. IMPORT Integers. PREDICATE Gcd : Integer * Integer * Integer. Gcd(i,j,d) <CommonDivisor(i,j,d) & ~ SOME [e] (CommonDivisor(i,j,e) & e > d). PREDICATE CommonDivisor : Integer * Integer * Integer. CommonDivisor(i,j,d) <IF (i = 0 \/ j = 0) THEN d = Max(Abs(i),Abs(j)) ELSE 1 =< d =< Min(Abs(i),Abs(j)) & i Mod d = 0 & j Mod d = 0. 198 226. Golo Golo is software for computers and a Java virtual machine programming language (JVM). It is straightforward and has shaky typing. It was developed in 2012 as a result of the research efforts of the DynaMid group at the Institut national des sciences appliquées de Lyon's Centre of Innovation in Telecommunications and Integration of Service (CITI) Laboratory (INSA). It is made available as open-source software for free under the terms of the Eclipse Public License 2.0. [227] 227. GOM (Good Old Mad) For the IBM 704 and later the IBM 709, IBM 7090, IBM 7040, UNIVAC 1107, UNIVAC 1108, Philco 210-211, and eventually the IBM S/370 mainframe computers, MAD (Michigan Algorithm Decoder) is a programming language and compiler. MAD is a dialect of the ALGOL language that was created in 1959 at the University of Michigan by Bernard Galler, Bruce Arden, and Robert M. Graham. During the 1960s, it was frequently used to instruct programming in colleges and universities and had a small impact on the creation of the CTSS, Multics, and Michigan Terminal System computer operating systems. [228] GOM (Good Old MAD), a reimplementation of the original 7090 MAD for mainframe machines from the IBM System/370 family that run the Michigan Terminal System (MTS). Don Boettner developed GOM at the University of Michigan Computing Center in the early 1980s. The string "Hello, world" is printed to a terminal or screen display by the "hello, world" example program. PRINT FORMAT HELLOW VECTOR VALUES HELLOW=$13h0 Hello, planet! * $ END OF PROGRAM In this case, the character "0," which causes a double-spaced line to be printed, is interpreted as the logical carriage control for the line. Alternatives include using contractions, which the compiler will extend in the listing: P'T HELLOW V’S HELLOW = 13h0Hello, planet! * $ E'M 199 228. Google Apps Script On the purpose of creating lightweight applications for the Google Workspace platform, Google developed the scripting tool known as Google Apps Script. As a side project while working as a developer on Google Sheets, Mike Harm created the first version of Google Apps Script. When Jonathan Rochelle, the Google Docs product manager at the time, launched a beta testing program in May 2009, Google Apps Script was first made known to the public. All users of Google Apps Premier and Education Edition became able to use Google Apps Script in August 2009. Although it is built on JavaScript 1.6, it also incorporates several features from versions 1.7 and 1.8 as well as a subset of the ECMAScript 5 API. Projects written in Apps Script are executed serverside on Google's platform. Figure 99. Apps Script "provides simple ways to automate processes across Google products and third party services," claims Google. Additionally, Google Docs, Sheets, and Slides addons are powered by Apps Script. [229] Figure 99 : Google Apps Script logo 200 229. Gosu Runs on the Java Virtual Machine, Gosu is a statically typed general-purpose programming language. It was influenced by ECMAScript, Java, and C#. Gosu's internal development for Guidewire Software started in 2002, and the language's initial public release under the Apache 2 license came in 2010. Gosu can be used as a scripting language because it has statically checked Template files and free-form Program types (.gsp files) for scripting (.gst files). Gosu differs from other static languages in that it can optionally run these and all other types straight from source code without precompilation. [230] Gosu is made possible as a scripting language via program files. For instance, the one-line application Gosu's Hello, World! print("Hello, World!") Gosu classes are also executable a la Java: class Main { static function main(args: String[]) { print("Hello, World!") } } 230. GOTRAN (IBM 1620) On October 21, 1959, Figure 100. IBM launched the IBM 1620, which was pitched as a low-cost scientific computer. It was discontinued on November 19, 1970, after a total output of roughly 2000 units. The CPU of the IBM 1710 and IBM 1720 Industrial Process Control Systems was modified versions of the 1620. (making it the first digital computer considered reliable enough for real-time process control of factory equipment). [231] Figure 100 : GOTRAN (IBM) logo 201 231. GPSS (General Purpose Simulation System) A simulation clock progresses in discrete increments using the General Purpose Simulation System (GPSS), a general-purpose programming language for discrete time simulation. Transactions enter a system and are passed from one service (represented by blocks) to another as a system is modelled. It is generally used as a simulation language focused on process flows, which is especially useful for issues found in factories. [232] 232. GraphTalk (Computer Sciences Corporation) An American multinational firm called Computer Sciences Corporation (CSC) offered expert services and information technology (IT) services. On April 3, 2017, it combined with HP Enterprise's (formerly Electronic Data Systems) Enterprise Services division to establish DXC Technology. [233], Figure101. Figure 101 : CSC logo 233. GRASS A programming language called GRASS (GRAphics Symbiosis System) was developed for animating 2D vector graphics. The grammar of GRASS was comparable to that of BASIC, but it also had a number of commands for expressing 2D object animation, such as scaling, translation, and rotation over time. The Vector General 3D graphics terminal GRASS was built for directly supported these functions. It immediately gained popularity among artists experimenting with computer graphics as a new medium, and Larry Cuba is most known for using it to produce the original "attacking the Death Star will not be simple" animation in Star Wars (1977). The language was transferred to Midway's Z Box, which was powered by Z80, as part of a later relationship with Midway Games.[234] 202 234. Grasshopper The Rhinoceros 3D CAD software utilizes the visual programming language and environment known as Grasshopper. David Rutten at Robert McNeel & Associates developed the program. Components are dropped into a canvas to form programs. The inputs of succeeding components are then coupled with the outputs of these components. [235], Figure 102. Figure 102: Grasshopper window 235. Groovy (Apache Groovy) A Java platform object-oriented programming language with compatibility for Java syntax is called Apache Groovy. It has features that are comparable to Python, Ruby, and Smalltalk and is both a static and dynamic language. It is compiled to Java virtual machine (JVM) bytecode, may be used as both a programming language and a scripting language for the Java Platform, and interacts with other Java code and libraries without any issues. Similar to Java, Groovy employs a curly-bracket syntax. Closures, multiline strings, and expressions contained within strings are all supported by Groovy. Groovy's AST transformations, which are triggered by annotations, are a large part of its power.[236] 203 236. Hack Hack is a PHP dialect that Meta developed as a programming language for the HipHop Virtual Machine (HHVM). The MIT License governs the open-source implementation of the language. Figure 103. A Hack script's basic file structure is quite different from that of a PHP script. Hack files forbid the use of top-level declarations and omit the?php opening markup tag. A function called the entrypoint must include code. If they are in the top-level file, they are automatically run; however, if the file is included via include, require, or the autoloader, they are not. The function names in Hack must be distinct within each project, just like other functions do. For example, projects with multiple entrypoints cannot call both main and main: <<__EntryPoint>> void main() function; echo "Hello, World!"; When the aforementioned PHP-inspired script is run, the browser will see the output listed below: World, welcome! HTML code and Hack do not mix, in contrast to PHP; XHP or another template engine must be used instead. [237] Figure 103 : Hack logo 204 237. HAGGIS For Scottish students enrolled in SQA courses in the subject, Haggis is a highlevel reference programming language that is primarily used to assess computing science. In order to bridge the gap between pseudocode and standard computer programming, Haggis is utilized. A student who is familiar with any of the many languages spoken in classrooms should be able to understand the syntactic construct being used in an example thanks to the fact that haggis is not based on any one language but rather a mixture. For this reason, it has a variety of functional, imperative, and object-oriented programming paradigms. Each level at which computing is evaluated by the SQA has a separate language definition. These three definitions are proper subsets of one another, so any program that is defined at the National 5 level is also well-defined at the Higher and Advanced Higher levels. Higher covers the use of record types and files, as well as the definition of procedures, whereas Advanced Higher also incorporates object-orientation. Figure 104. Examiners and teachers can now verify that their programs are accurately designed and act as intended by using online Haggis interpreters. [238] Figure 104 : Syntax and structure in Haggis are very similar to other programming languages and can be easily learned. 238. HAL/S NASA and affiliated agencies employ the real-time aerospace programming language compiler and cross-compiler HAL/S (High-order Assembly Language/Shuttle) for avionics applications (JPL, etc.). Since 1973, it has been used in numerous American space projects, although the Space Shuttle program saw the most extensive use of it (around 85% of the Shuttle's software was written in HAL/S). For NASA, Intermetrics created it in 1972, and it was delivered in 1973. A PL/I dialect called XPL is used to write HAL/S. Although HAL/S is primarily intended for programming on-board computers, it is sufficiently all-encompassing to cover practically all requirements in the development, testing, and maintenance of aerospace and other real-time systems. It was being maintained by the HAL/S project of the United Space Alliance, according to paperwork from 2005. [239] 205 239. Halide (programming language) Halide is a programming language for computers that makes use of memory locality, vectorized computing, and multi-core CPUs and GPUs to write code for digital image processing. In C++, Halide is implemented as a DSL (domain-specific language).[240] 240. Hamilton C shell Nicole Hamilton of Hamilton Laboratories created the Hamilton C shell, a fork of the Unix C shell and utilities for Microsoft Windows, as a wholly original effort, not based on any previous code. On December 12, 1988, it was initially released for OS/2, and in July 1992 for Windows NT. Figure 105. While the Windows version is being actively supported, the OS/2 version was retired in 2003. [241] The Unix C shell is not the same as the Hamilton C shell in a number of ways. These include the architecture of its compiler, the use of threads, and the choice to adhere to Windows norms rather than Unix ones. Figure 105 : 64-bit Hamilton C shell on a Windows 7 desktop. 206 241. Harbour A computer programming language called Harbour is generally employed to develop database and business programs. It is an updated, open-sourced, cross-platform version of the previous Clipper system, which itself evolved from the 1980s and 1990s dBase database market. In addition to Microsoft Windows, Linux, Unix variants, many BSD offspring, Mac OS X, MINIX 3, Windows CE, Pocket PC, Symbian, iOS, Android, QNX, VxWorks, OS/2 (including eComStation and ArcaOS), BeOS/Haiku, AIX, and MS-DOS, Harbour code can be compiled under any of these platforms. [242] The "hello world" program would typically be: ? "Hello, world!" Or: QOut( "Hello, world!" ) Or: Alert( "Hello, world!" ) Or, enclosed in an explicit procedure: PROCEDURE Main() ? "Hello, world!" RETURN 207 242. Hartmann pipelines The VM/CMS operating system has a feature called CMS Pipelines that enables the creation and use of pipelines. A pipeline of programs runs on a stream of sequential records. The following program in the pipeline reads the records that were written by the previous program. Since reading and writing are carried out through a deviceindependent interface, any software can be integrated with any other program. [243] A straightforward example that reads a disk file and distinguishes between records that contain and do not include the text "Hello" The other entries are converted to upper case; the modified records have the string "World!" added to each of them. After then, the records from the two streams are merged and written to a new output file. PIPE (end ?) < input txt | a: locate /Hello/ | insert / World!/ after | i: faninany | > newfile txt a ? a: | xlate upper | i: In this illustration, the stage reads the input disk file and sends the records to the following step. The input stream is split into two output streams during the locate stage. Records containing Hello that are the main output of locate are sent to the insert stage. The insert stage alters the input records in accordance with the arguments it is given before sending them to the output. Faninany, which creates a single output stream by combining data from all input streams, is connected to the output. The new disk file is where the output is written. Figure 106. The records that did not fit the selection criterion are contained in the secondary output of locate, which is identified by the second appearance of the a: label. In this instance, there are two interconnected pipelines making up the pipeline topology. The pipeline set's different pipelines are distinguished from one another by the end character (in this case, the?). Records read from the input file are routed through one of the pipeline topology's two paths. CMS Pipelines makes sure that records get at faninany in the sequence in which they passed via locate because neither of the routes contain stages that need to buffer records. With each stage on a single line, the sample pipeline is depicted in "portrait form." All phases of a pipeline are written on a single line when it is entered as a CMS command. 208 Figure 106 : Pipelines logo 243. Haskell Haskell is a statically typed, purely functional programming language with type inference and lazy evaluation that can be used for any purpose. Haskell is a programming language that was developed for use in education, research, and industry. It was the first to introduce features like type classes, which allow type-safe operator overloading, and monadic IO. The Glasgow Haskell Compiler is the primary Haskell implementation (GHC). It bears the name Haskell Curry, a logician. [244] Haskell code for "Hello, World!" (only the last line is strictly required) Figure 107. Module Main (main) is the default in a module file and is not required by the interpreter. IO (),This type definition can be inferred by the compiler main = putStrLn "Hello, World!" Figure 107 : Haskell logo 209 244. Haxe Haxe is a high-level, cross-platform programming language and compiler that is open source and can generate source code and apps from a single code base for a variety of computing platforms. It is software that is available as open-source and free under the MIT License. Figure 108. The OCaml compiler is distributed under the terms of the GNU General Public License (GPL) version 2. [245] Figure 108 : Haxe logo 245. Hermes Hermes is a distributed programming language with an open-source run-time system that was created at IBM's Thomas J. Watson Research Center between 1986 and 1992. The main traits of Hermes were: Language support for processes and communication between processes. Ensuring at compile time that actions make advantage of initialized data. Tables are collections of data that are independent of representation. Absence of arrows. Reading an uninitialized variable is an example of how typestate analysis was used to check for mistakes in variable transitions and rule out semantically meaningless transitions (i.e., beginning from a value, some sequences of operations on a variable are nonsensical). In this capacity, the compile-time initialization of data checking is comparable to the definite assignment analysis carried out by Java, Cyclone, and C#. The first programming languages to provide this kind of initialization checking were Hermes and its predecessor NIL (Network Implementation Language). In reality, typestate was utilized more frequently to produce "delete" actions that were added by the compiler. [246] 210 246. High Level Assembly (HLA) Randall Hyde created the High Level Assembly (HLA) language, which enables the use of higher-level language structures to help both novice and expert assembly developers. Both object-oriented programming and sophisticated data types are fully supported. To enable the creation of intelligible assembly language programs and to enable HLL programmers to pick up HLA as quickly as possible, it uses a syntax that is loosely based on a number of high-level programming languages (HLLs), including Pascal, Ada, Modula-2, and C++. [247] 247. HLSL The High-Level Shader Language (HLSL), sometimes known as High-Level Shading Language, is a proprietary shading language created by Microsoft to supplement the shader assembly language in the Direct3D 9 API. It later became a requirement for the unified shader model of Direct3D 10 and higher .[248] 211 248. Hollywood Andreas Falkenhahn (Airsoft Softwair) created Hollywood, a commercially available programming language that primarily focuses on the development of multimedia-oriented applications. AmigaOS, MorphOS, WarpOS, AROS, Windows, macOS, Linux, Android, and iOS are all supported by Hollywood. Figure 109. A built-in cross compiler in Hollywood allows it to automatically save executables for every platform it supports. The created executables can also be launched from a USB flash drive because they are entirely independent and have no external dependencies. Users can also create APK files by compiling their programs using an optional addon.[249] Hollywood's version of a Hello World program would resemble this: "Hello World!" is printed. WaitLeftMouse The code in the preceding paragraph launches a new window on the desktop, prints "Hello World!" in white letters, and then waits for the left mouse button to release it. Hollywood immediately opens the window for you. Hollywood will automatically start a new window in 640x480 resolution for each script, unless otherwise asked. Figure 109 : Hollywood Designer running on AmigaOS4 212 249. HolyC (TempleOS) A lightweight operating system (OS) with a biblical motif created to represent the Third Temple predicted in the Bible is called TempleOS (formerly J Operating System, LoseThos, and SparrowOS). Terry A. Figure 110. Davis, an American programmer, developed it alone over a ten-year period following a string of manic episodes that he later referred to as a revelation from God. [250], Figure 111. Figure 110 : HolyC (TempleOS) logo Figure 111 : TempleOS 5.03 213 250. Hop Hop is the name of both the web broker (server and proxy) and the Lisp-like programming language created by Manuel Serrano for web 2.0. Bigloo Scheme is used to write it. It is an INRIA-funded initiative. Figure 112. Since Hop is a stratified language, both the server's and the client's program code can be found in the same program file. The server performs computationally intensive processes that call for system rights in order to access files or other resources. The clients are responsible for carrying out operations related to the graphical user interface programming. There may be many clients, such as browsers and mobile devices .[251] Figure 112 : Hop logo 251. Hopscotch A visual programming language called Hopscotch was created by Hopscotch Technologies to help novice or young programmers create straightforward projects. Users can drag and drop blocks to create scripts that can be played when activated thanks to the straightforward user interface. The language is used on an iPad or iPhone that supports Hopscotch. [252] The inspiration came from Scratch, a popular programming tool in which users drag pieces to build scripts. Hopscotch's creators sought to take a step back from Scratch so that the principles would be a little bit simpler to understand and apply. Hopscotch and AgentSheets have the same ideas about events and rules that combine conditions and actions. Hopscotch provides fundamental programming building blocks like variables, sprites (also known as objects), and text objects, as well as more sophisticated capabilities like self-variables, math functions, and more. English, Simplified Chinese, and Spanish are supported. 214 252. Hope Hope is a compact functional programming language created at the University of Edinburgh in the 1970s. It was created concurrently with ML, which was also created at the University, and precedes Miranda and Haskell. NPL, a straightforward functional language created by Rod Burstall and John Darlington for their work on program transformation, served as the foundation for Hope. The first languages to provide callby-pattern evaluation and algebraic data types are NPL and Hope. The Scottish agricultural reformer Sir Thomas Hope (c. 1681–1771), for whom Hope Park Square in Edinburgh—where the Department of Artificial Intelligence was located at the time Hope was being developed—was also named—was the inspiration for the name Hope. [253] In Hope, a factorial program is: num -> num; fact 0 = 1; fact n = n*fact(n-1); dec fact; The program's meaning is unaffected by the clauses' order because Hope's pattern matching always prefers more specific patterns over less specific ones. Hope requires explicit type declarations; using a type-inference method is not an option. Tuples and lists are two of the built-in data structures that Hope offers. 215 253. Hume Since the year 2000, the University of St. Andrews and Heriot-Watt Universities in Scotland have been developing Hume, a functionally oriented programming language. Figure 113. The name of the language is both a tribute to the 18th-century philosopher David Hume and an abbreviation for "Higher-order Unified MetaEnvironment." It aims to create a design for extremely abstract real-time embedded systems that will yet enable accurate extraction of time and space execution costs. This enables programmers to ensure that the execution of programs has finite time and space requirements. [254] Figure 113 : Hume Statue in Edinburgh 216 254. HyperTalk Dan Winkler and Bill Atkinson developed the now-defunct high-level, procedural programming language known as HyperTalk in 1987 for use with Apple Computer's HyperCard hypermedia software. Programmers in HyperTalk were typically referred to as "writers" and the act of writing programs was referred to as "scripting" because beginner programmers were the primary audience for the language. The logical structure of HyperTalk scripts was comparable to that of the Pascal computer language, and they had an English-like writing style. [255] 255. Hy By converting s-expressions into Python's abstract syntax tree, the Lisp dialect Hy is intended to communicate with Python (AST). Figure 114. Paul Tagliamonte announced Hy at the 2013 Python Conference (PyCon). Hy can be used to create domain-specific languages since Lisp permits metaprogramming, which allows for operations on code as data. [256] The language documentation states : => Hello! (print "Hy!") => (salutationsnm "YourName"); Hy YourName! (defn salutationsnm [name] (print (+ "Hy" name "!")))) Figure 114 : Hy logo - Cuddles the cuttlefish 217 256. Io Act1, NewtonScript, Lua, Self, Smalltalk, and Lisp served as inspiration for the development of the entirely object-oriented programming language known as Io. Similar to Self and NewtonScript, Io provides a prototype-based object paradigm that eliminates the distinction between instance and class. Figure 115. Like Smalltalk, dynamic typing is employed, and everything is an object. Like Lisp, programs are merely data trees. Io uses actors to support concurrency. [257] "Hello, world!" says the omnipresent Hello world program. println Cloned items can be used to make new ones. Differential inheritance refers to the process in which, in Io particularly, a new, empty object is formed and only the distinctions between it and its parent are stored within the new object. Here's an illustration of this behavior: A := Object clone // creates a new, empty object named "A" An easy factorial function in Io that is not recursive: factorial := method(n, if(n == 0, return 1) res := 1 Range 1 to(n) foreach(i, res = res * i) ) Figure 115 : Io logo The function inherently returns the result because assigning res * I to res was the last operation, eliminating the need for an explicit return expression. The aforementioned shows how to use ranges without using a for() loop, which would be quicker. 218 257. Icon Icon is a highly high-level programming language that uses the idea of "goaldirected execution," in which the program returns either a "success" with valid values or a "failure" with no valid data to return. Figure 116. Further processing is guided by the success or failure of a specific block of code, as opposed to conventional languages that would normally employ programmer-written boolean logic to accomplish the same goals. Common tasks can be accomplished with less explicit code since Icon frequently contains implicit versions of the logic for fundamental control structures. [258] Figure 116 : Icon logo One of the fundamental ideas of SNOBOL was that rather than employing magic numbers or other tricks, its functions simply returned "success" or "failure" as primitives of the language. In most language runtime systems, there is a routine called position that returns the location of a substring within another string. For instance, in JavaScript, position = "Hello, World".indexOf("World") would return 7, indicating that the word "World" is located within the string "Hello, World!". The function will "fail" if the request is made for the position = "Hello, World".indexOf("Goodbye") since the search term is not included in the string. This will be communicated in JavaScript, as it is in the majority of languages, by returning a magic number, in this case -1. A failure of this kind in SNOBOL returns the special value fail. The syntax of SNOBOL operates directly on an operation's success or failure, skipping to designated areas of the code without the need for a separate test. As an illustration, the code below prints "Hello, world!" five times: * SNOBOL program to print Hello World I=1 LOOP OUTPUT = "Hello, world!" I=I+1 LE(I, 5) : S(LOOP) END The index variable I is passed to the less-than-or-equal operator, LE, to start the loop. If it succeeds, which indicates that I is less than 5, it branches to the specified label LOOP and continues. 219 258. IBM Basic assembly language The name for the low-level programming language used on the IBM System/360 and its descendant mainframes is Basic Assembly Language (BAL). The term "Basic Assembly Language" originally exclusively referred to a very limited dialect intended to operate under IBM Basic Programming Support (BPS/360) control on computers with just 8 KB of main memory and just a card reader, a card punch, and a printer for input/output. However, all assembly-language dialects on the System/360 and its offspring quickly came to be known by their complete names and the initialism "BAL." In 1964, BAL for BPS/360 was released alongside the System/360. Its syntax was adopted and enhanced by assemblers running various System/360 operating systems like System/370, System/390, and System z, as well as Sperry Corporation's UNIVAC Series 90 mainframes and Fujitsu's contemporary BS2000 mainframes. The IBM High-Level Assembler is the most recent derived language (HLASM). These assemblers are sometimes known as ALC (for Assembly Language Coding) or simply "assembler" by programmers who use them. The "Branch And Link" instruction's acronym is BAL. [259] 259. IBM HAScript Host Access Script, also known as HAScript, is a macro language created by IBM featuring an XML syntax enabling programmatic interaction with terminal-based applications. State machine theory serves as the foundation of HAScript. In the latter half of the 1990s, IBM's Host On-Demand included the first commercial deployment. WebSphere Host On-Demand (HOD), Personal Communications, and WebSphere Host Access Transformation Services are among the IBM software applications that employ HAScript (HATS). The HAScript API for IBM Mainframe access enables host emulation, which allows for the retrieval and reformatting of data from the host screen within a website or other software application. Due to HAScript's high system resource requirements, general process overhead, and Java virtual machine resources, it has only received a limited degree of adoption. Due to the fact that the communication language is not standardized globally, HAScript has only been mildly implemented by other software businesses up to this point. [260] 260. IBM Informix-4GL Informix created the 4GL programming language known as Informix-4GL in the middle of the 1980s. At the time of its initial release in 1986, supported platforms were Altos 2086, AT&T 3B2, AT&T 3B5, AT&T 3B20, and AT&T Unix PC. DEC Ultrix, which ran on Microvax II, VAX-11/750, VAX-11/785, and VAX 8600, and Microsoft Xenix, which ran on IBM PC AT, were also supported. [261] 220 261. IBM RPG Introduced in 1959 for the IBM 1401, RPG is a high-level programming language for commercial applications. It is best recognized for serving as the main programming language for the IBM I operating system and its midrange computer product line. Numerous distinguishing ideas, including the program cycle and the column-oriented syntax, have historically been present in RPG. Figure 117. The most recent version, RPG IV, has free-form syntax among other modernization improvements. [262] Figure 117 : IBM RPG logo 262. IDL The programming language IDL, or Interactive Data Language, is used for data analysis. It is well-liked in specific scientific fields, including astronomy, atmospheric physics, and medical imaging. Although the two languages have since diverged in specifics, they have a common syntax and shared the same codebase. Additionally, there are implementations that are free or cost nothing, such as GNU Data Language (GDL) and Fawlty Language (FL). [263] 263. Idris Idris is a fully functional programming language with features including a totality checker, dependent types, and optional lazy evaluation. Idris is a general-purpose programming language that is related to Haskell and may be used as a proof helper.[264] Idris' syntax bears a striking resemblance to Haskell's. In Idris, a hello world program may resemble this: module IO () main = putStrLn "Hello, World!" is the main main. The main function's type signature in this program and its Haskell counterpart are identical, with the exception of the single colon in the type signature and the absence of the word "where" in the module declaration. 221 264. Inform Graham Nelson first developed Inform, a computer language and interactive fiction design system, in 1993. Programs for the Z-code or Glulx virtual machines can be created by Inform. Figure 118. From 1993 through 1996, versions 1 through 5 were made available. Nelson completely reworked Inform to create version 6 in the year 1996. (or Inform 6). Version 6 developed into a comparatively stable language for creating interactive fiction over the course of the following ten years. In 2006, Nelson introduced Inform 7, also known as Natural Inform, a brand-new language built on natural language principles and a new set of tools centered around the metaphor of publishing a book.[265] Figure 118 : Inform logo 265. ISLISP The International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) joint working group ISO/IEC JTC 1/SC 22/WG 16 (often referred to as simply SC22/WG16 or WG16) have standardized the programming language ISLISP, which is also capitalized as ISLisp. This working group's main product was an international standard that was released by ISO. As ISO/IEC 13816:2007, the standard was modified and released in 2007. Although the ISLISP language standard was officially published through ISO, there are variants that are available that are thought to be in the public domain. [266] 222 266. J Kenneth E. Iverson and Roger Hui created the array programming language J in the early 1990s, heavily influenced by APL (also by Iverson). J only uses the basic ASCII character set, resorting to the usage of the dot and colon as inflections to make short words resembling digraphs in order to avoid repeating the APL special-character problem. The dot or colon extends the meaning of the accessible basic letters, making the majority of these primary (or primitive) J words useful as mathematical symbols. Additionally, J treats a number of characters that in other languages frequently need to be paired (like [] "" " or >) as standalone words or, when inflected, as the single-character roots of multi-character words. Figure 119. J is a relatively succinct array programming language that works well for statistical and mathematical programming, particularly when working with matrices. Extreme programming and network performance analysis have both used it. [267] J permits style and function composition without points. As a result, some programmers find its programs to be difficult to read and sometimes quite brief. "Hello, World!" is the name of the "Hello, World!" program in J. The way that hello world is implemented here mirrors how J is often used: programs are typed into a J interpreter session, and the output of expressions is displayed. J scripts can also be made to run independently of other programs. On a Unix system, this may appear as follows: #!/bin/jc echo "Hello, world!" “Exit” Figure 119 : J logo 223 (Take note that current j implementations likely install this to /usr/bin or another directory and install either jconsole or (since jconsole is needed by java) ijconsole (perhaps the Application directory on OSX). Because of this, there is a system dependence that the user must resolve.) Historically, APL utilized the symbol / to denote the fold, making +/1 2 3 equal to 1+2+3. In the meanwhile, the mathematical symbol for division () was used. J employs % to visually approximate or serve as a reminder for division because ASCII does not include a division sign per se. (This demonstrates some of the mnemonic qualities of J's tokens as well as some of the problems brought on by the use of ASCII.) 267. J# (J sharp) Programmers of Java and Visual J++ used Visual J#, a deprecated implementation of the J# programming language, as a bridge language to allow them to leverage their existing skills and programs with the.NET Framework. It was first released in 2002, and support for the last iteration of the product lasted until October 2017. [268] 268. J++ (J plus plus) Microsoft's abandoned Java implementation is called Visual J++. The language's grammar rules, syntax, and keywords were identical to those of Java. It was first released in 1996 and was later discontinued in January 2004. J# and C# largely took its place. Sun Microsystems, the company that created Java, filed a lawsuit against the implementation, MSJVM, since it failed Sun's compliance testing. The MSJVM's support for this was terminated by Microsoft on December 31, 2007. (later Oracle bought Sun, and with it Java and its trademarks). Although it was no longer included with Windows or its web browsers, Microsoft resumed selling Java in 2021. This time, it was their version of Oracle's OpenJDK, which Microsoft plans to support for at least six years for LTS versions, or until September 2027 for Java 17. [269] 224 269. JADE The New Zealand-based Jade Software Corporation's JADE is a proprietary object-oriented software development and deployment platform that was originally made available in 1996. It consists of the object database management system, integrated application server, integrated development environment, and JADE programming language. Figure 120. The.NET Framework, Java, C/C++, and Web services are just a few of the additional languages for which it offers APIs. This end-to-end development environment was created to enable systems to be coded in a single language from the database server down to the clients. [270] Although the JADE platform can be used for free with a limited license for development, there are per-process costs associated with using it. The JADE "Hello World!" code looks like this: helloWorld(); begin app.msgBox("Hello, World!", "Hello, World!", MsgBox_OK_Only + MsgBox_Information_Icon); end; Or helloWorld(); begin write "Hello, World!"; end; Figure 120 : JADE logo 225 270. JAL A programming language and compiler called JAL (Just Another Language) is similar to Pascal and creates executable code for PIC microcontrollers. It is a free-format language that may be used with a compiler on Linux, MS-Windows, and MS-DOS (OSX support). It can be customized, expanded, and even integrated with PIC assembly language thanks to libraries. In 2003, Wouter van Ooijen distributed JAL as free software under the terms of the GNU General Public License. A new version, JALV2, was created in 2006 as the result of Stef Mientki's initiative. It was programmed by Kyle York and beta tested by a global user group. [271] 271. Janus (concurrent constraint programming language) K. Kahn and Vijay A. Saraswat partially described the computer programming language Janus in the 1990 paper "Actors as a specific example of concurrent constraint (logic) programming" It is a backtracking-free concurrent constraint language. [272] 272. Janus (time-reversible computing programming language) A time-reversible programming language called Janus was created in 1982 at Caltech. Tetsuo Yokoyama and Robert Glück formally described the language's operational semantics in 2007, along with a program inverter and an invertible selfinterpreter. The TOPPS research team at DIKU provides a free Janus inverter and interpreter. 2009 saw the addition of yet another Janus interpreter to Prolog. The wording used in the 2007 paper is summarized in the text below. [273] 226 273. Java In order to have as few implementation dependencies as feasible, Java is a highlevel, class-based, object-oriented programming language. In other words, compiled Java code can run on all platforms that support Java without the need to recompile. It is a general-purpose programming language designed to enable programmers to write once, run anywhere (WORA). Regardless of the underlying computer architecture, Java applications are often compiled to bytecode that can run on any Java virtual machine (JVM). Although Java has fewer low-level features than either C or C++, it has syntax that is similar to each of them. Unlike most traditional compiled languages, the Java runtime has dynamic capabilities (such reflection and runtime code change). Figure 121. According to GitHub, with 9 million developers as of 2019, Java was one of the most widely used programming languages, especially for client-server web applications.[274] James Gosling created Java at Sun Microsystems in the beginning. It became a fundamental part of Sun Microsystems' Java platform in May 1995. Sun first made available under proprietary licenses the original and reference implementation Java compilers, virtual machines, and class libraries. Sun had relicensed the majority of its Java technologies under the GPL-2.0-only license as of May 2007 in order to comply with the requirements of the Java Community Process. Sun had relicensed the majority of its Java technologies under the GPL-2.0-only license as of May 2007 in order to comply with the requirements of the Java Community Process. Although Oracle provides its own HotSpot Java Virtual Machine, the OpenJDK JVM, which is a free open-source program and is the default JVM for practically all Linux distributions, is the official reference implementation. Java 19 is the most recent version as of September 2022, whereas Java 17, 11, and 8 are still in long-term support (LTS). Figure 121 : Java logo 227 274. JavaFX Script A member of the JavaFX family of technologies on the Java Platform, JavaFX Script was created by Sun Microsystems. Figure 121. In order to compete with Adobe Flex and Microsoft Silverlight, JavaFX focused on the Rich Internet Application space, specializing in the quick creation of aesthetically pleasing apps for desktop and mobile platforms. Integrated development environments like NetBeans, Eclipse, and IntelliJ IDEA are compatible with JavaFX Script. JavaFX is made available via the Sun-sponsored OpenJFX initiative under the terms of the GNU General Public License. [275] The declarative syntax used by JavaFX Script to build user interfaces contrasts strongly with the verbose chain of method calls used to directly build an analogous interface in Swing. Figure 124. Figure 122 : JavaFX Script logo 228 Here is a straightforward JavaFX Script Hello World program: import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.text.Text; import javafx.scene.text.Font; Stage { title: "Hello World" width: 250 height: 80 scene: Scene { content: Text { font : Font { size : 24 } x: 10, y: 30 content: "Hello World" } } } It shows the following window/frame (Figure 123): Figure 123 : The output of the program This program can also be written in this way: import javafx.ext.swing.*; var myFrame:SwingFrame = new SwingFrame(); var myLabel:Label = new Label(); myLabel.text = "Hello World!"; myFrame.width = 200; myFrame.height = 50; myFrame.visible = true; myFrame.content = myLabel; 229 275. JavaScript Along with HTML and CSS, the computer language known as JavaScript, or JS, is one of the foundational elements of the World Wide Web. 98% of websites will utilize JavaScript on the client side by the year 2022 to control webpage functionality, frequently integrating third-party libraries. A dedicated JavaScript engine is available in every major web browser and is used to run the code on users' devices. [276] JavaScript is an ECMAScript-compliant high-level, frequently just-in-time compiled language. It features first-class functions, prototype-based object orientation, and dynamic typing. It supports event-driven, functional, and imperative programming paradigms and is multi-paradigm. It offers application programming interfaces (APIs) for using the Document Object Model, regular expressions, dates, and standard data structures (DOM). There are no input/output (I/O) features like networking, storage, or graphics capabilities in the ECMAScript standard. In reality, JavaScript I/O APIs are offered by the web browser or another runtime system. Originally only used in web browsers, JavaScript engines are now essential parts of some servers and a wide range of applications. Node.js is the most widely used runtime system for this application. Even while Java and JavaScript share the same name, syntax, and standard libraries, the two programming languages are separate and have very different designs. 230 Figure 124 : Screenshot of JavaScript source code 231 276. Jess Ernest Friedman-Hill of Sandia National Labs created Jess, a rule engine for the Java platform. The CLIPS programming language is a superset of this one. The original draft was completed in 1995. The language, which is usually referred to as an expert system shell, enables rule-based programming for the automation of expert systems. Intelligent agent systems, which rely on a related capacity, have also evolved in recent years. In contrast to a procedural paradigm, where a single program contains a loop that is executed just once, Jess uses a declarative paradigm where a technique known as pattern matching is continuously employed to apply a set of rules to a set of facts. Rules have the ability to alter a fact collection or run any Java code. To carry out rules, it employs the Rete algorithm. [277] 277. JCL On IBM mainframe operating systems, scripting languages such as "Job Control Language" (JCL) are used to give instructions to the system on how to launch a subsystem or conduct batch jobs. More specifically, JCL is used to specify which programs to run, which files or devices to use for input or output, and even even to specify when to skip a phase. In addition to accounting data for tracking the resources utilized by a job and which machine the job should run on, JCL parameters can also offer this information. IBM Job Control is available in two different languages: • one for the lineage of operating systems that starts with DOS/360 and most recently includes z/VSE; • a second for the lineage from OS/360 to z/OS, the latter of which now supports Job Entry Control Language additions (JECL). They differ greatly, although they do share a few fundamental syntax rules and ideas. The CP and CMS components each have their own command languages; the VM operating system does not have JCL as such. [278] 278. JEAN In the late 1960s and early 1970s, JEAN, a dialect of the JOSS programming language, was created for and used on ICT 1900 series computers. It was implemented using the MINIMOP operating system. The University of Southampton employed it.[279] JEAN stood for "JOSS Extended and Adapted for Nineteen-hundred," the source of the acronym. From a Teletype terminal, it was run. 232 279. Join Java Join Java is a programming language that extends the basic Java programming language with the join semantics of the join-calculus. It is based on the join-pattern. It was created by Dr. Von Itzstein at the University of South Australia's Reconfigurable Computing Lab. [280] 280. JOSS One of the first interactive, time-sharing programming languages was JOSS (short for JOHNNIAC Open Shop System)[a]. The use of line numbers as editing instructions and targets for branches, statements based on boolean decisions, and an integrated source-code editor that can execute instructions in direct or immediate mode—features they called conversational user interfaces—are just a few of the innovations it pioneered.[281] In contrast to most languages, which position the condition in front in prefix notation, "if this is true, do this," JOSS employs a suffix notation to denote conditional evaluation, "do this if this is true." Any statement can be conditionally evaluated in this way, just like BASIC, but unlike FORTRAN or FOCAL. For instance, one can combine the if and a Type to print a string only if a condition is satisfied: "Hello, World!" if X=5. Six infix comparisons, including or, and, and not, and the boolean operators =,,,, >,, were supported by JOSS. Similar techniques were used to manage loops, such as the For command and the start(step)end format for defining the loop bounds and step value. For instance, the format is 1(2)10 to step from 1 to 10 by 2. Similar to If, For can be used with any other statement: For i=1(2)10, enter "Hello, People !" Figure 125. Keep in mind that the for statement only applies to one phrase; if you want to execute many statements again, you would divide them into a different portion and call it using do: 1.3 Do part 5 for i=1(1)100. 5.1 Type "Hello, World!". 5.2 Type "This is JOSS.". The for loop's inputs can be constants, variables, or other expressions, much like in BASIC. When the program was run, limits and loops could be set since these types of ranges could be applied to any line of code. 233 Take the following software, for instance: 1.1 Type X. If this were to be called normally in a manner akin to BASIC's RUN: Take part 1. It would result in: 0. However, this behavior can be changed by using a loop construct in the invocation: X = 1; execute part 1 (1) Which would result in: 1 2 3 4 5 This makes it possible to create formulas in programs without having to include them in loops. The user can instruct the software to loop if they so choose at program startup. 234 Figure 125 : 1970 JOSS session at RAND, where the user does a number of straightforward direct mode calculations. Keep in mind the distinction between the interpunct for multiplication and the period at the end of the statements 235 281. Joule Joule is a programming language for massively parallel dataflow that is capability-secure and intended for creating distributed applications. The concurrent nature of it renders the order of statements within a block irrelevant to the block's functionality. When practical, statements are carried out depending on their suggestions. Joule operates entirely through the sending of messages. No control flow exists. Instead, a dataflow programming language is created where the programmer describes the data flow. [282]. At Agorics in Palo Alto, California, Joule development began in 1994. It is regarded as the E programming language's forerunner. 282. JOVIAL ALGOL 58 is the foundation of JOVIAL, a high-level programming language built specifically for creating embedded systems (specialized computer systems designed to perform one or a few dedicated functions, usually embedded as part of a larger, more complete device, including mechanical parts). Through the 1960s and 1970s, it was a crucial programming language for systems. [283] 283. Joy Manfred von Thun of La Trobe University in Melbourne, Australia, created the computer science programming language Joy, which is entirely functional. Joy is not based on lambda calculus, but on the composition of functions. It turned out to have a lot of Forth-like characteristics, not by design but rather by independent evolution and convergence. Additionally, John Backus' FP's function-level programming approach served as an inspiration. [284] With the exception of some exotic languages like Unlambda and function-level programming languages, Joy is uncommon among functional programming languages in that it lacks the lambda operator and thus formal parameters. Here is how the square function might be defined in an imperative programming language (C) to demonstrate this with a typical example: return x * x from int square (int x); When the function is invoked, the input to be squared replaces the parameter named x. The identical function might be defined in a functional language (Scheme) as follows: Square (lambda (x) (* x x)) definition Even though this is very different, the option x is still used. 236 284. JScript In versions of Microsoft's Internet Explorer 11 and before, JScript, a legacy dialect of the ECMAScript standard, is used. Figure 126. As an Active Scripting engine, JScript is used. As a result, it can be "plugged in" to OLE Automation programs like Internet Explorer, Active Server Pages, and Windows Script Host that support Active Scripting. Additionally, it means that these programs can employ a variety of Active Scripting dialects, such as JScript, VBScript, or PerlScript. The Internet Explorer 3.0 browser, released in August 1996, was the first to implement JScript. JScript 9.0, which is a part of Internet Explorer 9, is the most recent version. The fourth edition of the ECMAScript standard was abandoned, and JScript 10.0, commonly referred to as JScript.NET, adds a number of additional capabilities to the standard. Static type annotations are optional, although it must be compiled for either version 2 or version 4 of the.NET Framework. Microsoft included a setting to disable JScript after it was condemned for being unsecure and having numerous security flaws "exploited by nation-state actors." [285] Figure 126 : JScript logo 237 285. JScript .NET Microsoft created the.NET programming language JScript.NET. [286] The following provide excellent illustrations of linguistic distinctions between JScript.NET and other.NET languages, along with comparisons. Differences from C# • JScript.NET does not require a main() function that the operating system must call directly when executing a JScript.NET application; as a result, JScript.NET program flow can be based on global code. JScript.NET can be very simple to learn due to its extremely lax type checking system, as the convention of explicit type declaration is not at all required. • Since JScript.NET contains some functions from prior JScript versions, it does not need explicit references to the.NET Framework Base Class Library (e.g. functions for finding the tangent of an angle for a right triangle). • Because JScript.NET and C syntax are so closely related, C#, Java, and C++ developers will find it very simple to learn. • While JScript.NET can be used to develop Windows Forms apps, there will be challenges because JScript.NET can only construct delegates for consumption. Custom events are therefore challenging to replicate in JScript.NET. variations from C++ • A main() method is not necessary for JScript.NET. • Variable types do not need to be explicitly declared in JScript.NET. (In C++, this can be contrasted to the use of templates and generics, which is loosly mimicked by template specialization, etc.) • JScript.NET does not necessitate explicit type casts when using variables. Implicit casting is possible in code that is intended to fetch strings of characters but is only used for integer values; doing the opposite at build time is possible but may result in precision or data loss. Using the following code : import System; Console.WriteLine("Hello, what's your name?"); Console.WriteLine("Type your name: "); var _name = Console.ReadLine(); Console.WriteLine("Hello, " + _name); 238 286. Julia A dynamic, high-level programming language is Julia. Its features make it ideal for computational research and numerical analysis. [287] The official Julia distribution includes an interactive command-line read-eval-print loop (REPL), which can be used to quickly experiment and test code. Figure 127. It has a searchable history, tab completion, dedicated help, and shell modes. The following section illustrates a sample session in which println automatically concatenates strings: julia> p(x) = 2x^2 + 1; f(x, y) = 1 + 2p(x)y julia> println("Hello world!", " I'm on cloud ", f(0, 4), " as Julia supports recognizable syntax!") Hello world! I'm on cloud 9 as Julia supports recognizable syntax! World, welcome! Julia now supports familiar syntax, and I'm over the moon! By pressing ; or? after the prompt (which comes before each command), the REPL allows users to access the system shell and help mode, respectively. The history of commands is likewise retained, even in between sessions. Figure 127 : Julia logo 239 287. Jython Jython is a Java platform-compatible version of the Python programming language. Up until 1999, the implementation was known as JPython. [288] Any Java class can be imported and used by Python scripts. Jython programs employ Java classes rather than Python modules, with the exception of a few standard modules. With the exception of a few C-based modules, Jython has practically all of the modules found in the standard Python programming language package. Swing, AWT, or SWT, for instance, can all be used to create user interfaces in Jython. Jython may generate Python source code statically or on-demand into Java bytecode (an intermediate language). Figure 128. Figure 128 : Jython logo 288. K Arthur Whitney created the proprietary array processing programming language K, which Kx Systems thereafter marketed. The language is the basis for various related financial tools as well as the in-memory, column-based database known as kdb+. The language, which was first created in 1993, is a hybrid of APL and Scheme. The language's speed, ease of use with arrays, and expressive syntax are highlighted by its proponents. [289] Every sentence in the interpreted language K is assessed, and the results are shown right away. Strings and other literal expressions evaluate to themselves. The Hello world software is therefore unimportant: "Hello world!" 240 289. Kaleidoscope The constraint programming language Kaleidoscope integrates constraints into an imperative object-oriented language. To make claims about relational invariants, it adds the keywords always, once, and assert..during (formerly while..assert). Constraint constructors, which are not methods but rather part of objects, are used to enforce the meanings of user-defined datatypes. Three different iterations of Kaleidoscope demonstrate the transition from a declarative to a more and more imperative writing style. These are the differences between them.[290] 290. Karel Richard E. Pattis developed the beginner-friendly programming language Karel for his book Karel The Robot: A Gentle Introduction to the Art of Programming. In his lectures at Stanford University in California, Pattis used the phrase. The language bears Karel apek's name, a Czech playwright who popularized the term "robot" in his work R.U.R.[291], Figure129. The following is a simple example of Karel syntax: BEGINNING-OF-PROGRAM DEFINE turnRight AS BEGIN turnLeft; turnLeft; turnLeft; END BEGINNING-OF-EXECUTION ITERATE 3 TIMES BEGIN turnRight; move END turnoff END-OF-EXECUTION END-OF-PROGRAM 241 Figure 129 : Karel the Robot 291. KEE In May 2019, IntelliCorp (IC) sold Tricentis its assets, including LiveCompare, LiveModel, and LiveInterface. [292] Knowledge Engineering Environment (KEE), a pioneering expert system environment for the development and deployment of knowledge systems on Lisp machines, was marketed by IC, a company founded in 1980. It featured a number of cutting-edge features like truth maintenance. KEE applied the Stanford-developed Mycin backwardchaining technique. IC developed one of the first object-oriented solutions for commercial programming development environments while porting KEE features to the PC (LiveModel). 242 292. Kixtart A closed-source free-format scripting language for Windows is called KiXtart. The official website describes it as a login script processor and an improved batch scripting language. The word "kick start" is a portmanteau in its name. [293] 293. Klerer-May System The Klerer-May System is a programming language that was created in the middle of the 1960s and is focused on numerical scientific programming. Its twodimensional syntax, which is based on conventional mathematical notation, is perhaps its most notable feature. An illustration of a statement in the computer language Klerer-May The Klerer-May system employed a Friden Flexowriter modified to support half-line motions for subscripts and superscripts for input and output. Eight special line-drawing characters (resembling ) were used to create multi-line brackets and symbols for summation, products, roots, and multi-line division or fractions. The character set also included digits, upper-case letters, subsets of 14 lower-case Latin letters and 18 Greek letters, arithmetic operators (+ / |), and punctuation (., (). The reference documentation for the system was only two pages long and was designed to be forgiving of input errors. Melvin Klerer and Jack May created the system for the Office of Naval Research at Columbia University's Hudson Laboratories in Dobbs Ferry, New York, using GE-200 series computers. [294] 294. KIF (Knowledge Interchange Format) A computer language called Knowledge Interchange Format (KIF) was created to make it possible for systems to share and reuse data from knowledge-based systems. KIF is related to frame languages like KL-One and LOOM, but unlike those languages, it is meant more for the exchange of knowledge between systems than for the expression or use of knowledge. KIF's creators compared it to PostScript. PostScript was created as an interchange format enabling systems and devices to transfer documents rather than as a language to store and modify documents. Similar to how KIF is intended to promote knowledge exchange between various systems that employ various languages, formalisms, platforms, etc. Declarative semantics apply to KIF. In contrast to processes or procedures, it is intended to describe facts about the world. It is possible to categorize knowledge into objects, functions, relations, and rules. Being a formal language, it supports reasoners that may demonstrate the consistency of a group of KIF statements and can express any arbitrary statement in first order logic. Additionally, KIF encourages non-monotonic thinking. KIF was developed by Michael Genesereth, Richard Fikes, and other DARPA knowledge sharing effort participants.[295] 243 295. Kojo For computer programming and education, Kojo is a programming language and integrated development environment (IDE). Figure 130. It contains a wide range of features that allow for game-playing, experimentation, creation, and learning in the fields of computer programming, cognitive abilities, (interactive) math, graphics, art, music, science, animation, and electronics. Kojo borrows concepts from Processing and Logo, two computer programming languages. [296] Figure 130 : A screenshot of Kojo 244 296. Kotlin A general-purpose, statically typed, cross-platform programming language with type inference is called Kotlin. The JVM version of Kotlin's standard library relies on the Java Class Library and is meant to work seamlessly with Java, while type inference enables more concise syntax. Figure 131. Kotlin primarily targets the JVM, although it may also be compiled to JavaScript or native code using LLVM (for example, for frontend web applications using React) (e.g., for native iOS apps sharing business logic with Android apps). JetBrains is responsible for language development costs, and the Kotlin Foundation is in charge of trademark protection. [297] Figure 131 : Kotlin logo 297. KRC David Turner created the lazy functional language KRC (Kent Recursive Calculator) based on SASL between November 1979 and October 1981. It has pattern matching, guards, and ZF expressions[298] (now more usually called list comprehensions). David Turner originally created the KRC implementation in BCPL running on EMAS, and Simon J. Croft later created one in C running under Unix. From 1982 to 1985, KRC served as the primary language for teaching functional programming at the University of Kent at Canterbury (UK). 298. KRL Daniel G. Bobrow and Terry Winograd created the knowledge representation language (KRL) while working at Xerox PARC and Stanford University, respectively. It is a language with frames. [299] 299. KRL (KUKA Robot Language) KRL, or the KUKA Robot Language, is a proprietary programming language used to operate KUKA robots. It is comparable to Pascal. [300] 245 300. KRYPTON KL-ONE (pronounced "kay ell won") is a frame language and knowledge representation system in the vein of semantic networks and frames. The system is an attempt to clearly describe conceptual knowledge as a hierarchical inheritance network and to eliminate semantic indistinctness in semantic network representations. [301] 301. KornShell (ksh) David Korn created the KornShell (ksh) Unix shell at Bell Labs in the early 1980s, and on July 14, 1983, he presented it at USENIX. The Bourne shell source code served as the basis for the original development. The code for the Emacs and vi-style line editing modes, respectively, were written by Bell Labs developers Mike Veach and Pat Sullivan, who were also early contributors. As a result of user demands from Bell Labs, KornShell incorporates numerous C shell features while also being backwardscompatible with the Bourne shell. [302] 302. Kodu A programming integrated development environment (IDE) created by Microsoft's FUSE Labs is called Kodu Game Lab; it was formerly known as Boku. It is compatible with the Xbox 360 and the following versions of Microsoft Windows: XP, Vista, 7, 8, 10, and 11. On June 30, 2009, it was made available on the Xbox Live Marketplace. The general public can obtain a Windows version from Microsoft's FUSE website. [303] 246 303. Kv (Kivy) Kivy is a free and open source Python framework for creating multitouch applications for mobile devices and other technologies (NUI). Figure 132. It is compatible with Android, iOS, Linux, macOS, and Windows and is distributed under the terms of the MIT License.[304]. The user interface and interactions in the Kivy framework are described in the Kv language. Similar to other user interface markup languages, a complete UI may be readily created and interactions attached. For instance, one could first develop the underlying widget in Python and then build the UI in Kv to create a loading dialog that has a file browser and a Cancel / Load button. within main.py (FloatLayout) class LoadDialog: pass def load(self, filename) pass def cancel(self) Figure 132 : Kv logo 304. LabVIEW National Instruments' Laboratory Virtual Instrument Engineering Workbench (LabVIEW) 3 is a platform for system design and a development environment for a visual programming language. [305], Figure 133. Figure 133 : LabVIEW logo 247 305. Ladder Initially, ladder logic was a means for writing down how relay racks were designed and built for use in manufacturing and process control. On the ladder diagram, each device in the relay rack would be represented by a symbol, and connections between those devices would be displayed. The ladder diagram would also include additional elements that are not part of the relay rack, such as pumps, heaters, and other devices. [306] 306. LANSA For creating desktop, web, and mobile software applications that may be installed on Cloud, Windows, Linux, and IBM I server platforms, LANSA is an integrated development environment (IDE). The 'RDML / RDMLX' language, which is categorized as a 4GL, is the primary component of the LANSA environment (4th generation language). [307] The syntax of IBM CL, or Control Language, is closely followed by RDML. The OS/400 operating system's "scripting language" equivalent is CL. RDML has been expanded to become RDMLX in recent years. Additional features, commands, types, and functions that are used in component building are included in this updated version of the language. On Microsoft Windows, RDML and ActiveX are integrated. 307. Lasso Lasso is a general-purpose, high-level programming language that is used to create application servers and server administration interfaces for internet applications. It began as a tool for Filemaker to connect to web datasources and was later added to Apple Computer's FileMaker 4.0 and Claris Homepage as CDML. Figure 134. Since then, it has developed into a sophisticated language that is used to create and host complex internet applications and web pages. [308] Figure 134 : Lasso logo 248 308. Lava Lava is an experimental visual object-oriented interpreter-based programming language that uses structure editors rather than text editors in its accompanying programming environment (the Lava Programming Environment, or LavaPE). [309] Text entries are limited to comments, constants, and new identifiers. LavaPE represents declarations as trees with expandable and collapseable subtrees. Through pop-up dialogs, the declared Lava entities' properties can be changed. 309. LC-3 Little Computer 3 (LC-3) is an example of a low-level programming language, an assembly language, that is used in computer education. It has a straightforward instruction set yet allows for the creation of reasonably sophisticated assembly programs, making it a potential C compiler target. Despite being less sophisticated than x86 assembly, the language has several characteristics found in more complex languages. It is frequently used to teaching computer science and computer engineering students in the principles of programming and computer architecture because of its beginner-friendly features. [310] 310. Lean Programming language and theorem prover Lean are both used. It is founded on the calculus of inductive constructions. [311], Figure 135. Figure 135 : Lean logo 249 311. Legoscript A hardware and software platform called Lego Mindstorms creates programmable robots based on Lego building blocks. To build the mechanical systems for each iteration, Lego Technic pieces, a set of modular sensors, and computer-related Lego bricks are all used. The Lego bricks are used to operate the system. [312] 312. LIL LIL, short for Little Implementation Language, was a system programming language used on PDP-11 computers in the early days of Unix history. P. J. Plauger of Bell Labs is the author. By essentially introducing structured programming to the PDP-11 assembly language, LIL tried to bridge the gap between assemblers and machine-independent system implementation languages (such as the C programming language). LIL had PL360-like flow control syntax and PL360-like semantics. Fifth Edition Unix (1974) included the LIL compiler "lc," whereas Sixth Edition Unix did not (1975). In the identical year, Plauger quit Bell Labs. [313] 313. LilyPond A computer application and file format for music engraving is called LilyPond. Producing scores with conventional layout guidelines, evoking the time when scores were manually etched, is one of LilyPond's main objectives. [314], Figure 136. Figure 136 : LilyPond music 250 314. Limbo Applications for the Inferno operating system are written in the distributed systems programming language known as Limbo. Sean Dorward, Phil Winterbottom, and Rob Pike created it at Bell Labs. [315] 315. Limnor A general-purpose, codeless, and visual programming system is called Limnor. Users should be able to construct computer software without directly coding in a texture programming language, according to the project's goal. Developers of software can add to it. The basic tenet of Limnor codeless programming is to extend classes with "Actions." [316] 316. LINC A fourth-generation programming language, LINC ("Logic and Information Network Compiler"), is primarily used on Unisys computer systems. 317. Lingo John H. Thompson created the verbose object-oriented (OO) scripting language Lingo for Adobe Director (formerly Macromedia Director). Lingo is used to create content for Adobe Shockwave, interactive kiosks, CD-ROMs, and desktop application applications.[318] 318. LINQ Language Integrated Query (LINQ, pronounced "link") is a component of the Microsoft.NET Framework that gives.NET languages access to native data querying capabilities. It was first made available as a significant component of.NET Framework 3.5 in 2007. [319] 319. LIS Jean Ichbiah, who later created Ada, created the system implementation programming language LIS (Language d'Implementation de Systèmes). On the BS2000 Siemens operating system, LIS was utilized in Karlsruhe to develop the compiler for the Ada-0 subset of Ada. [320] Later, the Karlsruhe Ada compilation system was rewritten entirely in Ada-0, which was simple due to the close relationship between LIS and Ada-0. 320. LISA A language called LISA (Language for Instruction Set Architectures) is used to describe a processor's instruction set architecture. LISA collects the data necessary to create the implementation hardware (in VHDL or Verilog) and software tools (compiler, assembler, instruction set simulator, etc.) of a certain processor. [321] 251 321. Language H NCR developed Language H, a procedural programming language that is proprietary and based on COBOL. For use with the National-Elliott 405M and to generate object code for the National-Elliott 803B, the first compiler was created in August 1962. [322] The "H" is thought to stand for John C. Harwell. 322. Lisp – ISO/IEC 13816 Programming languages belonging to the Lisp family—historically known as LISP—have a distinguished, fully parenthesized prefix notation and a long history. The second-oldest high-level programming language still in widespread use, behind Fortran, is Lisp, which was first described in 1960. Figure 137. Since its inception, Lisp has evolved, and there have been numerous dialects over the years. The most well-known general-purpose Lisp dialects today are Clojure, Scheme, Racket, and Common Lisp. [323] Figure 137 : Lisp logo 323. Lite-C A subset of the C language's syntax combined with some C++ language features make up the programming language Lite-C, which is used to create multimedia programs and video games for personal computers. The native implementation of multimedia and game-related objects, such as audio, photos, videos, GUI components, 2D and 3D models, collision detection, and rigid body physics, sets it apart from C. Executables written in Lite-C are compiled rather than interpreted. Both 32-bit and 64bit versions of Windows XP or Vista support Lite-C. [324] 252 324. Lithe David Sandberg of the University of Washington designed Lithe in 1982 as an experimental programming language that lets users define their own syntax. In a revolutionary way, Lithe combines the concepts of classes and syntax-directed translation to produce a strikingly straightforward yet potent language. [325] 325. Little b Little b is a modeling language with a focus on building modular mathematical models of biological systems. It is a domain-specific programming language. Aneil Mallavarapu created and wrote it. The Virtual Cell Program at Harvard Medical School, led by mathematician Jeremy Gunawardena, is creating Little b. [326] 326. Logo By Wally Feurzeig, Seymour Papert, and Cynthia Solomon in 1967, they created the educational programming language known as Logo. Logo is not an abbreviation; it is a moniker Feurzeig came up with while working at Bolt, Beranek and Newman[327] that comes from the Greek word logos, which means "word" or "thinking." 327. Logtalk With a feature set appropriate for large-scale programming, Logtalk is an objectoriented logic programming language that builds on and extends the Prolog language. Encapsulation, data hiding, concern separation, and improved code reuse are all supported by it. [328] The Prolog syntax used by Logtalk includes a few additional operators and directives. 328. LotusScript Since Lotus Notes version 4.0 and other products from IBM Lotus Software, LotusScript has been the object-oriented programming language of choice. In some ways, LotusScript is like Visual Basic. Developers who are familiar with one can quickly grasp the syntax and organization of the other's code. Their separate Integrated Development Environments and the integrated product-specific object classes in each language are where the two diverge most. While LotusScript has a more comprehensive collection of application-specific classes for Lotus Notes, Lotus Word Pro, and Lotus 1-2-3, Visual Basic has a broader range of classes for UI manipulation. There are classes for working with Lotus Notes databases, records (documents) in those databases, etc. These classes can also be utilized from Visual Basic outside of the Lotus Notes environment as OLE Automation objects. [329] 253 329. LPMud LPMud, also known as LP, is a group of MUD server programs. Lars Pensjö created its initial implementation, the original LPMud game driver, in 1989. (hence the LP in LPMud). By dividing the MUD infrastructure into a virtual machine (referred to as the driver) and a development framework written in the LPC programming language, LPMud was groundbreaking (known as the mudlib). [330] 330. LSE The programming language LSE, sometimes known as Langage symbolique d'enseignement (LSE), was created at Supélec and Télémécanique between the late 1960s and the mid-1970s. It is comparable to BASIC, with the exception that the keywords are in French rather than English. Its origins are in a previous language named LSD that was created at Supélec. Although alternative expansions, such as Langage de Sup-Élec or the more cynical Langage Sans Espoir (hopeless language), are also well known, it is most frequently claimed that the acronym stands for Langage Symbolique d'Enseignement (Symbolic Teaching Language). [331] 331. LSL On the online multimedia platform Second Life, users can design their own avatars and engage in user-generated content and multiplayer online virtual world interactions. Launched on June 23, 2003, by the San Francisco company Linden Lab, it saw significant growth for a number of years until reaching an estimated one million regular users in 2013. Growth gradually stabilized, and by the end of 2017, there were "between 800,000 and 900,000 active users." Figure 138. Although massively multiplayer online role-playing games and Second Life share many similarities, Linden Lab is adamant that their work is not a game: "There is no created conflict, no fixed purpose." [332] Figure 138 : LSL logo 254 332. LiveCode Cross-platform fast application development runtime system LiveCode (formerly Revolution and MetaCard) was inspired by HyperCard. It includes the xTalk scripting language family member LiveCode Script (formerly MetaTalk), which is similar to HyperTalk from HyperCard. [333] 333. LiveScript A functional programming language called LiveScript compiles to JavaScript. Along with many others, it was developed by Jeremy Ashkenas, who also invented CoffeeScript, Satoshi Muramaki, and George Zahariev. (The name may be a nod to JavaScript's beta moniker; before to its formal release in 1995, it was known as LiveScript.[334]) 334. Lua A lightweight, high-level, multi-paradigm programming language with the meaning "moon" in Portuguese, Lua is primarily intended for embedded use in applications. Since the interpreter of compiled bytecode is built in ANSI C[335] and Lua offers a very straightforward C API to integrate it into applications, Lua is crossplatform. Figure 139. Figure 139 : Lua logo 335. Lucid A dataflow programming language called Lucid was created with non-von Neumann programming concepts in mind. Bill Wadge and Ed Ashcroft were responsible for its design, which was detailed in the 1985 book Lucid, the Dataflow Programming Language. [336] 255 336. Lustre A declarative, synchronous, and formally specified dataflow programming language called Lustre is used to create reactive systems. In the early 1980s, it started out as a research undertaking. The 1991 IEEE Proceedings contains a formal presentation of the language. It advanced to real, industrial use in a commercial product in 1993 when Esterel Technologies' SCADE industrial environment adopted it as its primary language. Today, it is utilized in nuclear power plants, helicopters, and key control software for aircraft. [337] 337. LYaPAS Arkady Zakrevsky developed the programming language known as LYaPAS, or Logical Language for the Representation of Synthesis Algorithms, in the Soviet Union.[338] 338. Lynx Lynx is a remote procedure call-based programming language for massively distributed networks. It was created in 1984 for the Charlotte multicomputer operating system at the University of Wisconsin-Madison. Lynx was ported to the Chrysalis operating system in 1986 at the University of Rochester, which was using a BBN Butterfly multiprocessor. [339] 339. M Formula language Microsoft developed the data extraction, loading, and transformation (ETL) tool Power Query, which is used to retrieve data from sources, process it, and load it into one or more target systems. Power Query is a completely or partially self-service business intelligence tool that comes in a variety of forms under the Microsoft Power Platform. Excel, Power BI, Analysis Services, Dataverse, Power Apps, Azure Data Factory, SSIS, Dynamics 365, and cloud services like Microsoft Dataflows, including Power BI Dataflow used with the online Power BI Service or the somewhat more generic version of Microsoft Dataflow used with Power Automate, are just a few examples of software that contain it. Data modeling and ETL are closely intertwined, and Power Query can be used to create a logical data model for transformation when the data does not already have one or when it needs to be further developed. Power Query is based on M, a new query language that was introduced at the time. It is a mashup language, hence the capital M, created to write queries that combine different types of data. It is comparable to the F Sharp computer language and is a "largely pure, higher-order, dynamically typed, partially lazy, functional language," according to Microsoft. The case-sensitive M language. [340] 256 340. M2001 For creating and presenting mathematical algorithms, from contemporary discrete to classical continuous mathematics, M2001 is a modular educational mathematical programming language. The syntax of M2001 is comparable to that of Pascal or Modula-2 and is based on a semantic framework grounded in category theory. Efficiency and convenience of use were given far less consideration in its development because it is solely intended for pedagogical usage than generality and scope of applicability. It was developed to play a significant part in helping first-year college math students establish a formal algorithmic basis. [341] 341. M4 A part of the POSIX standard, m4 is a general-purpose macro processor found in most Unix-like operating systems. For the first iterations of UNIX, Brian Kernighan and Dennis Ritchie created the language. It is an expansion of Ritchie's earlier m3 macro processor, which was created for an unidentified AP-3 minicomputer. [342] 342. M# M# is a domain-specific language that can be used to create websites and web applications. It is pronounced "em sharp." It has the ability to convert entities and page definitions into ASP.NET Web Forms, MVC, and C# code, which in turn creates the application's user interface and business logic layer. Figure 140. Its key objectives are to shorten development times, improve the quality of the code, and lessen human error. [343] Figure 140 : M# logo 257 343. Machine code Any low-level programming language that uses machine language instructions to control a computer's central processing unit is referred to as machine code in the field of computer programming (CPU). Figure 141. Each instruction directs the CPU to carry out a highly precise action, such as loading, storing, jumping, or performing an arithmetic logic unit (ALU) operation on one or more data units in the CPU's registers or memory. [344] Figure 141 : Machine language monitor in a W65C816S single-board computer, displaying code disassembly, as well as processor register and memory dumps. 258 344. Macsyma One of the earliest general-purpose computer algebra systems currently in widespread use is called Macsyma ("Project MAC's SYmbolic MAnipulator"). It was initially created at MIT's Project MAC from 1968 and 1982. In 1982, Macsyma was given a license by Symbolics and turned into a for-profit item. Symbolics Macsyma was separated as Macsyma, Inc. in 1992, and it remained under that company's development until 1999. For users of Microsoft's Windows XP operating system, that version is still accessible. The US Department of Energy continues to make the MIT Macsyma version from 1982 available to researchers and US government organizations (DOE). Bill Schelter was in charge of maintaining that version, DOE Macsyma. It was published in 1999 under the name Maxima and is still being actively maintained. [345] 345. MAD (Michigan Algorithm Decoder) For the IBM 704 and later the IBM 709, IBM 7090, IBM 7040, UNIVAC 1107, UNIVAC 1108, Philco 210-211, and eventually the IBM S/370 mainframe computers, MAD (Michigan Algorithm Decoder) is a programming language and compiler. MAD is a dialect of the ALGOL language that was created in 1959 at the University of Michigan by Bernard Galler, Bruce Arden, and Robert M. Graham. During the 1960s, it was frequently used to instruct programming in colleges and universities and had a small impact on the creation of the CTSS, Multics, and Michigan Terminal System computer operating systems. [346] 346. Magik Magik is a dynamically typed object-oriented programming language that enables multiple inheritance and polymorphism. As a component of the Smallworld Geographical Information System, Arthur Chance of Smallworld Systems Ltd. created and deployed it in 1989. (GIS). Magik is presently offered by GE Energy, remaining as a part of its Smallworld technology platform, following Smallworld's acquisition in 2000. Magik (Inspirational Magik) was first released in 1990 and has since undergone updates and improvements. 5.2 is the most recent version. Developers of the Magik language revealed in July 2012 that they were implementing the Magik language on the Java virtual machine. In November of the same year, Oracle Corporation acknowledged the porting's success. [347] 259 347. Magma The computer algebra program Magma was created to address issues in algebra, number theory, geometry, and combinatorics. Figure 142. It has the name of the algebraic structure known as magma. It works with Windows and operating systems that resemble Unix.[348] Figure 142 : Magma logo 348. Maple In addition to being a multi-paradigm programming language, Maple is both a symbolic and numerical computing environment. Figure 143. It covers a wide range of technical computer topics, including numerical analysis, data processing, visualization, and symbolic mathematics. Code generation and multidomain physical modeling are features added by a toolbox called MapleSim. [349] Figure 143 : Maple logo 260 349. MAPPER (now part of BIS) Sperry Univac's MAPPER, currently referred to as BIS, is a fourth-generation programming language. Mapper was developed in the 1970s based on some 1960s research, but it has been kept up to date. It was given a new name and the extension "ICE" (Internet Commerce Enabler). [350] Implementations are now available for Windows NT, Sun Solaris, and Linux in addition to the original platform, Sperry's Univac 1108 computer. The most cutting-edge of these is the GUI on Windows. 350. MARK-IV (now VISION:BUILDER) Fourth-generation MARK IV is a programming language developed by Informatics, Inc. in the 1960s. When IBM decided to debundle its software, Informatics seized the opportunity; MARK IV was the first "software product to achieve cumulative sales of $10 million." MARK IV was created for the RCA Spectra 70 and the IBM Systems (360 and 370). Its key advantage was that it made it possible to construct applications 6–10 times faster than with a 3GL system like COBOL. Being an early 4GL, MARK IV permitted user development of business-related systems. A 1971 Informatics advertisement contains multiple consumer testimonials, including: According to our modest estimate, the MARK IV System's advantages have more than paid for themselves in less than three months. MARK IV manages 26 distinct factories' accounts payable, inventory, sales analyses, etc. [351] 351. Mary RUNIT at Trondheim, Norway, developed and used the programming language Mary in the 1970s. It was made for systems programming, however it took a lot of functionality from ALGOL 68. (machine-oriented programming). [352] 261 352. MATLAB The math computing environment and proprietary multi-paradigm programming language MATLAB were created by MathWorks. MATLAB is an acronym for "MATrix LABoratory." Matrix manipulation, function and data visualization, algorithm implementation, user interface building, and connecting with other programming languages are all possible with MATLAB. Figure 144. Although MATLAB is primarily designed for numeric computation, symbolic computation capabilities are accessible through an optional toolbox that uses the MuPAD symbolic engine. Graphical multi-domain simulation and model-based design for embedded and dynamic systems are added via an additional program called Simulink. MATLAB will have more than 4 million users by the year 2020. They have a range of engineering, scientific, and economic backgrounds. [353] Figure 144 : MATLAB logo 353. MASM Microsoft Assembly x86 An x86 assembler that employs the Intel syntax for MS-DOS and Microsoft Windows is called the Microsoft Macro Assembler (MASM). Beginning with MASM 8.0, there are two versions of the assembler: one (ML64) for 64-bit sources only and the other (for 16-bit & 32-bit assembly sources). [354] 354. MATH-MATIC The AT-3 (Algebraic Translator 3) compiler, an early programming language for the UNIVAC I and UNIVAC II, is marketed under the name MATH-MATIC. A group working under Grace Hopper under the guidance of Charles Katz began to create MATH-MATIC circa 1955. A draft manual was created in 1957, followed by a final handbook in 1958. MATH-MATIC and FLOW-MATIC, Univac's contemporary business-oriented languages, were comparable in terms of syntax, but FLOW-MATIC offered arrays in place of record structures, as well as expressions in the form of algebra and floating-point arithmetic. [355] 262 355. Maude system Rewriting logic is implemented via the Maude system. It is similar to Joseph Goguen's OBJ3 implementation of equational logic in terms of general strategy, but it is based on rewriting logic rather than order-sorted equational logic and places a strong focus on potent metaprogramming based on reflection. There are online lessons and free software called Maude. It was initially created by SRI International, but is now being worked on by a variety of research teams. [356] 356. Maxima The computer algebra system (CAS) Maxima is based on a Macsyma version from 1982. It was created in Common Lisp and is compatible with all POSIX-compliant operating systems, including macOS, Unix, BSD, Linux, Microsoft Windows, and Android. Figure 145. It is open-source software distributed in accordance with the GNU General Public License (GPL). [357] Figure 145 : Maxima logo 263 357. Max (Max Msp – Graphical Programming Environment) A visual programming language for music and multimedia production called Max, also referred to as Max/MSP/Jitter—was created and is still supported by the San Francisco-based software company Cycling '74. Figure 146. It has been utilized by musicians, performers, software developers, researchers, and artists to produce recordings, performances, and installations during the course of its more than thirty-year career.[358] Figure 146 : Max logo 264 358. MaxScript internal language 3D Studio Max A professional 3D computer graphics tool for creating 3D animations, models, games, and photographs is Autodesk 3ds Max, formerly known as 3D Studio and 3D Studio Max. Autodesk Media and Entertainment is in charge of its creation and production. Modeling capabilities, a flexible plugin architecture, and a requirement for the Microsoft Windows platform are all present in this program. Figure 147. It is frequently employed by firms that create video games, numerous TV commercials, and architectural visualizations. Additionally, it is utilized for pre-visualization and cinematic effects. In addition to shaders (including ambient occlusion and subsurface scattering), dynamic simulation, particle systems, radiosity, normal map generation and rendering, global illumination, a customizable user interface, and its own scripting language, 3ds Max also includes normal map creation and rendering. [359] Figure 147 : MaxScript logo 359. Maya (MEL) The 3D graphics software Maya from Autodesk uses a scripting language called Maya Embedded Language (MEL) to make operations easier. With MEL, you can complete the majority of things that Maya's GUI allows you to complete as well as some that it doesn't. MEL provides a way to expedite difficult or repeated processes, as well as letting users to share a particular set of commands with others who may find them beneficial. [360] 265 360. MDL Model Development Language (MDL), a computer language that is a derivative of Lisp, is sometimes known informally as More Datatypes than Lisp or MIT Design Language. Initially, it served the Project MAC Dynamic Modeling Group at Massachusetts Institute of Technology (MIT) by offering high level language support. The PDP-10 running ITS was used to build it in 1971, and it eventually ran on TENEX, TOPS-20, BSD, and AEGIS. [361] 361. Mercury A functional logic programming language designed for practical applications is called Mercury. Figure 148. Fergus Henderson, Thomas Conway, and Zoltan Somogyi worked on the first version at the University of Melbourne's Department of Computer Science under Somogyi's direction, and it was made public on April 8, 1995. [362] Figure 148 : Mercury logo 362. Mesa Mesa is a programming language that was created in the United States at Palo Alto, California, at the Xerox Palo Alto Research Center in the late 1970s. Because Mesa is a "high level" programming language, the language's name is a play on the catchphrases used at the time. [363] 363. MHEG-5 (Interactive TV programming language) The Multimedia and Hypermedia Experts Group developed a collection of international standards for the presentation of multimedia information, including MHEG-5, or ISO/IEC 13522-5. (MHEG). The language is most frequently used to describe interactive television services. [364] 266 364. Microcode Similar to how an assembler helps create higher level code for a processor, a microassembler is a computer application that aids in the preparation of a microprogram, known as firmware, to control the low level operation of a computer. The microprogram differs in that it is often solely generated by the company that makes processors and is closely integrated with the computer hardware. On a computer that has been microprogrammed, the microprogram executes the operations of the instruction set that is used to write any typical program, including both application programs and operating systems. Without changing the hardware, the manufacturer can correct some issues, such as getting around poor hardware design, by using a microprogram. By allowing the same hardware to execute various instruction sets, microassembler-generated microprograms can also be used in this way. The microprogram is constructed and then loaded into a control store to become a component of the control unit's logic in a CPU. Some microassemblers have a broader focus and are not specific to one type of computer architecture. For instance, Digital Equipment Corporation employed their MICRO2 microassembler for a widely diverse range of computer architectures and implementations by using macro-assembler-like capabilities. Customers are typically given access to the microassembler so they can create unique microcode if a particular computer implementation offers a writeable control store.[365] 365. Microsoft Power Fx Microsoft Power Fx is a low-code, general-purpose programming language that is free and open source and used to express logic throughout the Microsoft Power Platform. The standard was originally released in March 2021 after being first introduced at Ignite 2021. It is built using formulas similar to those in a spreadsheet so that many people may use it. Additionally, it was influenced by programming languages and programs like Mathematica, Miranda, and Pascal. [366] 366. MIIS A. Neil Pappalardo and Curt W. Marble developed MIIS (Meditech Interpretive Information System), a programming language akin to MUMPS, between 1964 and 1968 at Mass General Hospital on a DEC PDP. MUMPS proper and MIIS are the two main directions in which MUMPS evolved. MUMPS was adopted as an ANSI and ISO standard. When numerous MUMPS implementations standardized to be compatible, MIIS chose to remain a proprietary system rather than standardize. The value of a logical expression in MUMPS can be false = zero or true = non-zero, canonically one, as an illustration of the distinctions between MUMPS and MIIS. In MIIS, the value of true is a string that contains the ASCII delete character, while the value of false is an empty string (code 127 decimal). [367] 267 367. Milk (programming language) Programmers can more effectively manage memory in applications that handle dispersed data points in enormous data sets thanks to the programming language milk.[368] 368. MIMIC H. E. Petersen, F. J. Sansom, and L. M. Warshawsky of the Systems Engineering Group within the Air Force Materiel Command at the Wright-Patterson AFB in Dayton, Ohio, developed MIMIC, known only in its capitalized form, as a simulation computer language in 1964. Although it is an expression-oriented continuous block simulation language, it can also contain FORTRAN-like algebraic building blocks. The analog computer design simulator MIDAS (Modified Integration Digital Analog Simulator) was replaced by MIMIC. With the exception of one procedure written in COMPASS, MIMIC was entirely written in FORTRAN and executed on Control Data supercomputers. [369] 369. Mirah A programming language called Mirah (formerly known as Duby) was built on the syntax of the Ruby language, local type inference, a hybrid static-dynamic type system, and a pluggable compiler toolchain. As "a 'Ruby-like' language, possibly a subset of Ruby syntax, that [could] compile to solid, quick, idiomatic JVM bytecode," Charles Oliver Nutter developed Mirah. As a play on the idea of Ruby in Java, the Javanese word mirah alludes to the precious stone ruby. [370] 268 370. Miranda As a replacement for his former programming languages SASL and KRC, David Turner created Miranda, a slow, completely functional language that draws inspiration from ML and Hope. Figure 149. The first completely functional language to receive commercial support, Miranda was created by Research Software Ltd. of England (which owns the trademark on the name Miranda)[371]. Figure 149 : Miranda logo 371. MIVA Script A proprietary computer programming language called Miva Script is mostly utilized for web applications like e-commerce. It is currently owned, created, and maintained by Miva Merchant, Inc., a San Diego, California-based company. Miva Script is supported by a large number of web hosts on their servers, however it is far less common than other widely used web languages. [372] 372. ML A general-purpose functional programming language is ML (Meta Language). It is renowned for ensuring type safety through the use of the polymorphic Hindley-Milner type system, which assigns the types of the majority of expressions without the need for explicit type annotations. There is a formal proof that a well-typed ML program does not result in runtime type errors. For function arguments, garbage collection, imperative programming, call-by-value, and currying, ML offers pattern matching. It is one of the few languages that has been fully characterized and proven using formal semantics, and it is widely used in programming language research. It is frequently used to work on other formal languages, such as in compiler development, automated theorem proving, and formal verification, thanks to its types and pattern matching. [373] 269 373. Model 204 Model 204 (M204) is a database management system created and marketed by Computer Corporation of America for IBM and comparable mainframe computers. It was initially announced in 1965, and it was first used in 1972. It includes a language for programming and a setting for creating applications. The M204 assembly language implementation for the IBM System/360 and its descendants can handle very large databases with transaction loads of up to 1000 TPS. [374] 374. Modelica For the component-oriented modeling of complex systems, such as those with mechanical, electrical, electronic, hydraulic, thermal, control, electric power, or process-oriented subcomponents, Modelica is an object-oriented, declarative, multidomain modeling language. Figure 150. The nonprofit Modelica Association created the open-source Modelica language. As of version 4.0.0, the Modelica Association also creates the free Modelica Standard Library, which has 1200 functions in various fields and roughly 1400 generic model components. [375] Figure 150 : Modelica logo 375. Malbolge Ben Olmstead created the esoteric programming language known as Malbolge in 1998. It is named after the Malebolge, the eighth circle of hell in Dante's Inferno. Through the use of a base-three calculator, a counterintuitive "crazy operation," and self-altering code, it was made expressly to be nearly impossible to operate. The complexity of prior difficult esoteric languages (like Brainfuck and Befunge) is built upon, but it pushes this element to the limit by drawing on the complicated history of computer science and encryption. It is still possible to create useful Malbolge programs despite this architecture. [376] 270 376. Modula The Pascal programming language is a forerunner of Modula. It was created in the middle of the 1970s by Niklaus Wirth, the same person who created Pascal, at ETH Zurich in Switzerland. The fundamental difference between Modula and Pascal is the module system, which is used to organize groups of related declarations into program units. The language is described in Wirth's report, Modula. Published in 1976, a language for modular multiprogramming. [377] 377. Modula-2 Niklaus Wirth at ETH Zurich created the hierarchical, procedural programming language known as Modula-2 between 1977 and 1985/88. It was developed as the language for the Lilith personal workstation's operating system and application software. [378] Later, it was put to use outside of the Lilith for programming. 378. Modula-3 As a replacement for Modula-2+, an improved version of Modula-2, Modula-3 is a programming language. Figure 151. Although it has influenced the designs of languages like Java, C#, and Python in research circles, industry has not extensively adopted it. It was created in the late 1980s at the Digital Equipment Corporation (DEC) Systems Research Center (SRC) and the Olivetti Research Center (ORC) by Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan (who had previously worked at the Olivetti Software Technology Laboratory), Bill Kalsow, and Greg Nelson. [379] Figure 151 : Modula-3 logo 379. Mohol system programming language; these languages are made for creating system software, which typically demands different development strategies than application software. These languages are known as mohols, or machine-oriented high order languages, according to Edsger Dijkstra. In order to enable programs written in the language to use the same code on several platforms, general-purpose programming languages frequently concentrate on generic characteristics. ALGOL and Pascal are a couple of examples. The performance is frequently impacted negatively by this generic quality, which typically comes at the expense of restricting direct access to the machine's internal operations. [380] 271 380. MOO A MOO, or "MUD, object-oriented," is a multi-user (players) concurrently connected text-based online virtual reality system. There are two unique but related uses for the word "MOO." One is used to describe those programs that are descended from the original MOO server, while the other is used to describe any MUD that organizes its database of objects using object-oriented principles, particularly if it does so in a way that is comparable to the original MOO or its derivatives. The majority of this article discusses the original MOO and its immediate descendants, however for a list of MOO-like systems, see non-descendant MOOs. [381] 381. Mortran An addition to the Fortran programming language, called Mortran (More Fortran), is used for scientific computation. In order to increase readability and versatility, it adds changes to the syntax, notably the usage of semicolons to finish statements. Fortran code is created by macro-processing Mortran code. Example: <I=1,200; J=I; UNTIL M(J).EQ.0 < J=M(J); > IF I.NE.J < OUTPUT I,M(J+1); (' Chain',I4,' ends with ',A4); > > It should be noted that Mortran, like many preprocessors, does not perform a thorough study of the Fortran source and may not always be open about its assumptions and requirements. Take Mortran multiple assignment, for instance. The Mortran User Guide states: / I, A(I,K), J / = SQRT(X/2.0); produces the following FORTRAN statements: I = SQRT(X/2.0) A(I,K) = SQRT(X/2.0) J = SQRT(X/2.0) In this example, assuming the multiple assignment semantics are left to right, the resulting Fortran implements the multiple assignment correctly only if X is not aliased to I or to A(I,K). [382] The only addition to the MORTRAN2 processor's ANSI standard Fortran 66 code is the capability to assign and compare character data stored in INTEGER variables. 272 382. Mouse Dr. Peter Grogono created the little computer programming language known as the Mouse in the late 1970s and early 1980s. It was created as an expansion of the MUSYS programming language, which was previously used to operate digital and analog equipment in an electronic music studio. Mouse was created as a compact, memory-constrained microcomputer programming language. It uses Reverse Polish notation and is an interpreted stack-based language. In order to make an interpreter as simple to use as possible, Mouse is made to process programs as streams of characters that are each individually translated. [383] 383. MPD A concurrent programming language called Multithreaded, Parallel, and Distributed Programming (MPD) is based on the syntax of the book Foundations of Multithreaded, Parallel, and Distributed Programming. The language's distinctive qualities, especially that it supports all three of these concurrent programming approaches, are listed in the name. As a subset of the SR programming language, MPD is implemented. Although it employs a separate parser, it shares SR's run-time system and intermediate form. So, like SR, MPD offers a wide range of concurrent programming techniques. Single processors, shared-memory multiprocessors, and clusters of (homogeneous) processors are all capable of supporting MPD programs. The solution transparently supports a wide range of processor types and Unix operating systems.[384] Sample Code: resource helloWorld() writes("Hello World\n") end 273 384. MSL The scripting language included in mIRC, a Windows-based IRC client, is called the mIRC scripting language (sometimes unofficially abbreviated to "mSL"). [385] The following code was written in the remote scripts format. The word "alias" shouldn't come before the command names if they are put into an alias file. The standard /* comment */ and ;comment are used in test comments. A sample of a Hello World alias is given below: ;Defines the alias 'hello' in the remote script ;Note: if this is placed in an alias script, ;the 'alias' part must be removed (result: hello {) ;Usage: /hello alias hello { ;Displays(/echo) 'Hello World!' into the active window(-a) echo -a Hello World! } 385. MUMPS Massachusetts General Hospital Utility Multi-Programming System, sometimes known as MUMPS, is an imperative, high-level programming language with a built-in key-value database for transaction processing. The Massachusetts General Hospital was where it was initially created for controlling hospital laboratory information systems. [386] 274 386. MuPAD A computer algebra system is called MuPAD. Beginning in 1997, the company SciFace Software GmbH & Co. KG, in collaboration with the MuPAD research group and partners from a few other universities, took over development of the software that had been initially created by the MuPAD research group at the University of Paderborn in Germany. Figure 152. Given the time period in which it was created, MuPAD's graphics package was exceptionally popular. [387] Figure 152 : MuPAD logo 387. Mystic Programming Language (MPL) A bulletin board system program called Mystic BBS was created in 1995 and initially made available to the general public in December 1997 for MS-DOS. It has been ported to Linux, OS/2, OS X, and Microsoft Windows (Intel and ARM based systems such as the Raspberry Pi). The Renegade (BBS) and Telegard bulletin board systems were intended to be replaced by Mystic[388]. 275 388. NASM The Intel x86 architecture is assembled and disassembled via the Netwide Assembler (NASM). Figure 153. It can be used to create programs that are 16 bits, 32 bits (IA 32), and 64 bits (x86 64). It is regarded as one of the most well-liked Linux assemblers. With Julian Hall's assistance, Simon Tatham wrote the original draft. It is currently maintained by a small group under the direction of H. Peter Anvin. It is open-source software distributed under a two-clause BSD license that has been streamlined.[389] Figure 153 : NASM 389. Napier88 A programming language called Napier88 was developed at the University of St. Andrews in Scotland. It is orthogonally persistent. Ron Morrison was the main designer, and Fred Brown, Richard Connor, and Al Dearle expanded and put into practice his initial plans. In many ways, Napier88 was ahead of its time. It was the first robustly implemented language to combine an orthogonal persistence scheme with a polymorphic type system. A solid implementation of the language was made available to users from both industry and academics; eventually, up to 1,000 registered users were counted. However, the language was only meant to serve as a proof of concept for a persistent programming experiment; after 1989 (the year the first implementation was actually released), the group's interests changed and the language was no longer maintained.[390 276 390. Neko Nicolas Cannasse created the virtual machine NekoVM as part of research and development (R&D) projects at Motion Twin and Shiro Games, two independent video game studios in Bordeaux, France. Figure 154. The bytecode for the high-level dynamically typed programming language Neko serves as NekoVM's native language. This pairing enables Neko to target NekoVM by compiling another language (like Haxe) to NekoVM bytecode or to be used directly as an embedded scripting language. [391] Figure 154 : Neko logo 391. Nemerle Nemerle is a high-level, general-purpose programming language that is statically typed and intended for platforms that use the Common Language Infrastructure (.NET/Mono). It has features that are imperative, reflective, functional, object-oriented, and aspect-oriented. It has a strong metaprogramming mechanism and a straightforward syntax similar to C#. [392] 392. NESL The SCandAL project at Carnegie Mellon created the parallel programming language known as NESL, which was first published in 1993. It incorporates numerous concepts from array programming languages, parallel algorithms, and functional programming. [393] 277 393. Net.Data Net. IBM's Data programming language is mostly used for online applications that are database-driven. OS: UNIX, Microsoft Windows, IBM I and z/OS It is a form of server-side scripting that enables the dynamic creation of Web pages from a number of data sources, extending the capabilities of Web servers. Database management systems, both relational and non-relational, can be used as data sources. [394] 394. NetLogo Agent-based modeling uses the programming language and integrated development environment (IDE) NetLogo. In keeping with the philosophy of the computer language Logo, NetLogo was created by Uri Wilensky to be "low threshold and no ceiling." By using agents in the form of turtles, patches, connections, and the observer, it teaches programming fundamentals. The educational community's teaching of young people was one target audience for NetLogo, as was the modeling of related phenomena by domain specialists without programming experience. Figure 155. Using NetLogo, numerous scientific articles have been published. [395] Figure 155 : NetLogo 278 395. NetRexx The REXX programming language has a derivative called NetRexx, which is open source and was developed by IBM for the Java virtual machine. It supports a traditional REXX syntax with no reserved words, substantial additions to support object-oriented programming in a way that is compatible with Java's object model, and the ability to use only data types native to the JVM or the NetRexx runtime package. It can also be used as a compiled or an interpreted language. Figure 156. The latter provides the common Rexx data type, which combines decimal arithmetic with limitless string precision. [396] Figure 156 : NetRexx logo 279 396. NewLISP A dialect of the Lisp family of programming languages, newLISP is a scripting language. Lutz Mueller created and developed it. Figure 157. The GNU General Public License, version 3 or later, governs the use of newLISP, a free and open-source programming language. [397] Figure 157 : NewLISP logo 397. NEWP On computers running the Unisys operating system, the New Executive Programming Language (NEWP) is a high-level programming language (MCP). Although it can also be used to create user software, this language is used to create the operating system and other system utilities. It is distinct from extended ALGOL, on which it is based, by a number of constructions. Programs executing as the MCP are the only ones to employ language operators like MEMORY, which permits direct memory access. Burroughs Executive Systems Problem Oriented Language (ESPOL) was replaced by NEWP[398]. 398. Newspeak A team led by Gilad Bracha is creating Newspeak, a programming language and platform in the vein of Smalltalk and Self. The platform comes with a graphical user interface (GUI) library, standard libraries, and an integrated development environment (IDE). [398] The main contributors were employed by Cadence Design Systems, which began sponsoring the project in 2006 and stopped in January 2009. [399] 280 399. NewtonScript A prototype-based programming language called NewtonScript was developed specifically for the Newton platform. [399] Although significantly influenced by the Self programming language, it has been changed to better meet the demands of embedded and mobile devices. [400] 400. Nial A prototype-based programming language called NewtonScript was developed specifically for the Newton platform. Figure 158. Although significantly influenced by the Self programming language, it has been changed to better meet the demands of embedded and mobile devices. [401] Figure 158 : Nial logo 401. Nim A group led by Andreas Rumpf created and developed Nim, a general-purpose, multi-paradigm, statically typed, compiled systems programming language. With features like compile time code generation, algebraic data types, a foreign function interface (FFI) with C, C++, Objective-C, and JavaScript, as well as the ability to compile to those same languages as intermediate representations, Nim is intended to be "efficient, expressive, and elegant"[402]. It supports metaprogramming, functional, message passing, procedural, and object-oriented programming styles. 281 402. Nix (Systems configuration language) Using a purely functional deployment strategy, Nix is a cross-platform package manager that installs applications into distinct folders created by cryptographic hashes. It also serves as the name of the programming language for the tool. As an alternative to the usual method of installing numerous versions of dependencies at once, a package's hash takes into account the dependencies, which is said to eliminate dependency hell. More dependable, repeatable, and portable packages are touted by this package management methodology. [403] 403. NPL The procedural programming language Nord Programming Language (NPL) was developed by Norsk Data, a Norwegian minicomputer firm. It came pre-installed on the Sintran III operating system. [404] 404. Not eXactly C (NXC) John Hansen created the high-level programming language Not eXactly C, or NXC, for the Lego Mindstorms NXT in 2006. NXC, short for Not eXactly C, is based on the assembly language Next Byte Codes. NXC uses syntax similar to C. The Bricx Command Center serves as NXC's IDE. [405] The Mozilla Public License applies to the NXC compiler. The following is an example of code: task main() //sets a new task. main() is compulsory { OnFwd(OUT_BC,75); //ask the motors connected to ports B and C to move forward at a power of 75. Wait(5000); //wait for 5 seconds [the value is in milliseconds](note that 1000 = 1 second) Off(OUT_BC); //off the motors connected to ports B and C } 282 405. Not Quite C (NQC) For the Lego Mindstorms, Cybermaster, and LEGO Spybotics systems, Not Quite C (NQC) is a programming language, application programming interface (API), and native bytecode compiler toolkit. It is essentially based on the C language, although it has particular restrictions, such as the maximum number of permitted variables and subroutines, that vary depending on the firmware version the RCX has. Inventor David Baum created the language. He has written two books about it. [406] Simple program illustration A straightforward NQC test program for an RCX with a motor connected to output port A would look something like this: task main () // Main program { SetPower(OUT_A, OUT_FULL); // Turn on motor A at 100% power. OnFor(OUT_A, 200); // Let the motor run for two seconds, and then turn it off. } Thus, motor A will go at full speed for two seconds before being turned off. 406. NSIS The makers of Winamp, Nullsoft, support the Nullsoft Scriptable Install System (NSIS), a script-driven installer authoring tool for Microsoft Windows. A variety of free software licenses, principally the zlib license, are used to release NSIS. Figure 159. With users including Amazon, Dropbox, Google, Ubisoft, FL Studio, BitTorrent, and McAfee, it has grown to be a widely used substitute for commercial proprietary programs like InstallShield. [407] Figure 159 : NSIS logo 283 407. Nu Tim Burks developed Nu, an interpreted object-oriented programming language with a syntax resembling Lisp, as a substitute scripting language for OS X's Cocoa application programming interface (API). Figure 160. Additionally, Linux and the iPhone have implementations. [408] Figure 160 : Nu window 408. NWScript For the role-playing video game Neverwinter Nights, BioWare created the scripting language known as NWScript. It is used in the Aurora toolkit and is based on the C programming language. Because the Aurora toolset has not been transferred to the Mac OS X and Linux versions of Neverwinter Nights, Neverscript, an open source thirdparty editor, has been developed. [409] 409. NXT-G The NXT comes with a graphical programming environment called NXT-G v2.0. By carefully building blocks and wires to encapsulate complexity, NXT-G can be utilized for real programming. This software works well for combining autonomous control with bluetooth or other "remote control" techniques, or for running a number of parallel sense/respond loops (for example: wait 60 seconds, play a "bonk" sound at low level if battery is low, loop). Parallel threads, not parallel "sequence beams," are what they call. The language supports virtual instruments for all Lego-branded sensors and components as well as the vast majority of third-party ones. Version 2.0 adds additional Lego color sensor compatibility, new tutorial tasks, a remote control, and custom graphics and sound creators. It's crucial to have community support. [410] 284 410. o:XML On the basis of XML-syntax, o:XML is a general-purpose, dynamically typed, object-oriented programming language that is open source. It has namespaces, regular expressions, threading, and exception handling. Furthermore, o:XML has an expression language that is quite similar to XPath and enables the invocation of functions on both nodes and node sets. [411] 411. Oak James Gosling designed the now-defunct programming language Oak in 1989, first for the set-top box project at Sun Microsystems. Figure 161. Later, Java was created from the original language. Gosling chose the name Oak in honor of an oak tree that was located outside his workplace. [412] Figure 161 : Oak logo 285 412. Oberon Oberon is the most recent member of the Wirthian family of ALGOL-like languages, and it was initially released in 1987 by Niklaus Wirth (Euler, ALGOL W, Pascal, Modula, and Modula-2). Oberon was created as a consequence of a concerted effort to make Modula-2, Pascal's direct successor, more powerful while also making it simpler. The idea of type extension of record types is its main novel feature. It allows for breaking the dogma of purely static data typing by creating new data types on the foundation of current ones and relating them. Figure 162. Wirth's method of inheritance, type extension, reflects the perspective of the parent site. Oberon was created at ETH Zurich in Switzerland as a component of the rollout of an operating system of the same name. The name is derived from the Oberon moon of Uranus. [413] Figure 162 : Oberon logo 413. OBJ Programming language family called OBJ was first developed by Jose Meseguer and Joseph Goguen in 1976. It belongs to the "extremely high-level" family of declarative languages. For the massively parallel RRM, it includes abstract types, generic modules, subsorts (subtypes with multiple inheritance), pattern-matching modulo equations, E-strategies (user control over laziness), module expressions (for combining modules), theories, and views (for describing module interfaces) (rewrite rule machine). [414] The languages CafeOBJ, Eqlog, FOOPS, Kumo, Maude, OBJ2, and OBJ3 are all part of the OBJ family. • OBJ2 A functional system based on equations and parametrized modules similar to Clear are features of the computer language OBJ2. • OBJ3 A variation of OBJ based on order-sorted rewriting is called OBJ3. Agent-oriented, Kyoto Common Lisp-based OBJ3 is powered by AKCL. 286 414. Object Lisp A dialect of the Lisp language, Object Lisp was used as a computer programming language. It was created by Lisp Machines, Inc. as an object-oriented addition to the Lisp dialect known as Lisp Machine Lisp. Another pioneer of prototype-based programming was Object Lisp. Around the same time, it was viewed as a rival to other object-oriented Lisp extensions like Flavors, used by Symbolics, Common Objects, created by HP, and CommonLoops, used by Xerox. Early iterations of the Macintosh Common Lisp also made use of Object Lisp. There, Object Lisp was used to create the user interface toolkit. [415] 415. Object REXX An object-oriented scripting language called Object REXX was created by IBM initially for the OS/2 operating system and then for Microsoft Windows. Figure 163. The "Classic Rexx" language, which was first developed for the Conversational Monitor System (CMS) part of the operating system VM/SP Release 3 and later ported to Multiple Virtual Storage (MVS), OS/2, and PC DOS, is followed by and significantly extended[a] by this. [416] Figure 163 : Object REXX logo 287 416. Object Pascal Programming features for object-oriented programming (OOP) like classes and methods are provided by the extension to the Pascal programming language known as Object Pascal. Apple Computer created the language first called Clascal for the Lisa Workshop development system. Niklaus Wirth, the creator of Pascal, and Apple worked together to create a standardized version of Clascal when Lisa made way for Macintosh. It was given the name Object Pascal. For early iterations of the MacApp application architecture, Object Pascal served as the primary programming language through the middle of the 1980s. [417] When the C++-based MacApp 3.0 was released in 1991, the language lost its status as the primary development language for the Mac. 1996 saw the end of official support for the software Object Pascal Example; type THelloWorld = object procedure Put; end; var HelloWorld: THelloWorld; procedure THelloWorld.Put; begin ShowMessage('Hello, World!'); end; begin New(HelloWorld); HelloWorld.Put; Dispose(HelloWorld); end. 417. Objective-C A general-purpose, object-oriented programming language called Objective-C enhances the C programming language with Smalltalk-like messaging. It was chosen by NeXT for its NeXTSTEP operating system after being initially created by Brad Cox and Tom Love in the early 1980s. Since Apple's macOS is directly descended from NeXTSTEP, Objective-C was used as the default programming language for developing macOS and iOS applications (via their respective APIs, Cocoa and Cocoa Touch) until the release of Swift in 2014. [418] 288 418. Obliq Programming distributed and locally multithreaded computing is made simpler and easier using Obliq, an interpreted object-oriented language that also offers implicit type systems and program safety. The Modula-3 interpreter gives Obliq complete access to the capabilities of network objects in Modula-3. For Obliq, a type inference algorithm has been created that supports record concatenation, subtyping, and recursive types. It has also been demonstrated to be NP-complete, with the lowest complexity being O(n3) or, given certain modeling assumptions, down to O(n2), with its best-known implementation running in (n5). Although explicit type declarations are permitted and taken into account by the interpreter, Obliq does not require explicitly typed variables. Instead, variables can hold any data type recognized by the type checker, and if they do not, an execution error for the given expression will be displayed. The language supports booleans, integers, reals, characters, strings, and arrays as its fundamental data types. The standard collection of sequential control structures (conditional, iterative, and exception handling forms), as well as unique control forms for concurrency, are supported by Obliq (mutexes and guarded statements). Furthermore, any machine in a dispersed network object can safely and transparently copy and clone Obliq's objects from a distance. [419] 419. OCaml OCaml, originally known as Objective Caml, is a general-purpose, multiparadigm programming language that adds object-oriented capabilities to the ML Caml dialect. Figure 164. Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez, and others developed OCaml in 1996. [420] Figure 164 : OCaml logo 289 420. Occam Occam is a concurrent programming language that has several characteristics with communicating sequential processes (CSP) process algebra[421]. It bears the name of the philosopher William of Ockham, who also gave us the phrase "occam's razor." Figure 165. Figure 165 : Occam logo 421. occam-π The Kent Retargetable occam Compiler (KRoC) team at the University of Kent created the programming language occam, which is known as occam- (or occam-pi) in the field of computer science. [422] The name refers to the introduction of -calculus (picalculus) concepts, particularly those involving mobile agents (processes) and data, into occam. The language includes a number of occam 2.1 extensions, such as: • Nested procedures • Extended rendezvous; • Run-time process generation; • Mobile channels, data, and processes; • Recursion; • Protocol inheritance; • Array constructors; 290 422. Octave The high-level programming language GNU Octave was created especially for scientific and numerical calculation. Octave provides assistance with running various numerical experiments and solving linear and nonlinear problems numerically in a language that is largely MATLAB equivalent. 166. It can also be utilized as a language that is batch-oriented. It is free software that complies with the rules of the GNU General Public License and is a component of the GNU Project .[423] Figure 166 : Octave logo 423. OmniMark Fourth-generation programming language OmniMark is mostly utilized in the publishing sector. Currently, Stilo International only sells it as proprietary software. The most recent version of OmniMark was 11.0 as of July 2022[424]. 291 424. Opa Scalable web apps can be created using the open-source programming language Opa. It can be used for both client-side and server-side scripting. Complete programs can be written in Opa and then automatically converted by a compiler into JavaScript for the client and Node.js for the server. Strong, static typing is used by Opa, which might be useful in preventing security problems like SQL injections and cross-site scripting attacks. At the OWASP conference in 2010, the language was first formally introduced. In June 2011, the source code was made available on GitHub under the terms of the GNU Affero General Public License. Later, the licensing was modified to the MIT license for the framework component (library) and the AGPL license for the compiler so that programs created using Opa may be distributed under any license, whether it was open source or proprietary. Figure 167. Opa can be used to create the classic Hello world program, which creates a web server that delivers a static page with the message "Hello, web!" as its content: Server.start(Server.http,[425] { title: "Hello" , page: function() { <h1>Hello, web!</h1> } } ) It can be compiled to a stand-alone executable JS file with: $ opa hello_web.opa Running the resulting executable JS file launches the web application: $ ./hello_web.js Figure 167 : Opa logo 292 425. Opal The Technical University of Berlin is where the functional programming language OPAL (OPtimized Applicative Language) was originally created. [426] This is an illustration of an OPAL program that recursively calculates the GCD. Signature file (declaration) SIGNATURE GCD FUN GCD: nat ** nat -> nat Implementation file (definition) IMPLEMENTATION GCD IMPORT Nat COMPLETELY DEF GCD(a,b) == IF a % b = 0 THEN b ELSE IF a-b < b THEN GCD(b,a-b) ELSE GCD(a-b,b) FI FI 426. Open Programming Language (OPL) The operating systems EPOC and Symbian are supported by mobile devices and embedded systems that use the Open Programming Language (OPL). In 1984, the British manufacturer Psion introduced it. [427] Here is a "Hello, World!" program for the console: PROC main: PRINT "Hello World!" PAUSE 40 ENDP (Source code taken from the PCDevPrimer in the OPL Wiki.) And here is a GUI version for Nokia's Series 80 user interface: CONST KKeyEnter%=13 PROC hello: dINIT "Hello" dTEXT "","Hello World!" dBUTTONS "OK",KKeyEnter% DIALOG ENDP 293 427. OpenCL A programming language framework called OpenCL (Open Computing Language) is used to create applications that run on a variety of heterogeneous platforms made up of CPUs, GPUs, DSPs, FPGAs, and other processors and hardware accelerators. Application programming interfaces (APIs) are defined by OpenCL to control the platform and run programs on the compute devices. Figure 168. These languages are based on C99, C++14, and C++17. OpenCL offers a standardized interface for task- and data-based parallel computing. [428] Figure 168 : OpenCL logo 428. OpenEdge Advanced Business Language (ABL) Business application development language OpenEdge Advanced Business Language, or OpenEdge ABL for short, was developed and is maintained by Progress Software Corporation (PSC). The fourth-generation programming language uses an English-like syntax to make software creation easier. [429] Up to version 9, the language was known as PROGRESS or Progress 4GL. Figure 169. However, in 2006, PSC changed the name of the language to OpenEdge Advanced Business Language (OpenEdge ABL) to dispel a presumption in the industry that 4GLs were less capable than other languages. Web applications are created using a subset of the language known as SpeedScript. Figure 169 : OpenEdge logo 294 429. OpenVera System Science created the hardware verification language OpenVera, which Synopsys later purchased. [430] 430. OpenQASM An intermediary representation for quantum instructions is called Open Quantum Assembly Language (OpenQASM; pronounced "open kazm"). A reference source code implementation of the language was made available as part of IBM's Quantum Information Software Kit (Qiskit) for use with their IBM Quantum Experience cloud quantum computing platform after the language's initial description appeared in a paper published in July 2017[431]. The language shares characteristics with well-known hardware description languages like Verilog. At the beginning of a source file, OpenQASM declares its version as a number, as in the statement: ASKQASM 3; The initial published implementations of OpenQASM are at the OpenQASM 2.0 level. The most recent version of the standard, version 3.0, is available for viewing at the OpenQASM repository on GitHub. 431. OPS5 The R1/XCON system, used to set up VAX systems, was the first to successfully use a rule-based or production system computer language, known as OPS5. The OPS series and the systems it is based on or inspired by are its genealogy. Charles Forgy created the OPS family while he was a student at Carnegie Mellon University in the late 1970s. OPS is thought to stand for "Official Production System." In spite of the fact that Allen Newell's artificial intelligence research team had been working on production systems for some time, Forgy's implementation, which was based on his Rete algorithm, was especially effective and could scale up to more complex problems involving hundreds or thousands of rules. Programs run by scanning "working memory elements" (which are roughly object-like, with classes and attributes) seeking for matches with the rules in "production memory" employ the forward chaining inference engine that is used by OPS5. Rules feature actions that can change or eliminate the matched element, add new ones, produce side effects, and more. Up until there are no more matches, execution keeps on. OPS5 can be thought of as an execution engine for a Petri net that has been expanded with inhibitor arcs. In the matching step, the OPS5 forward chaining technique makes it particularly parallelizable, and numerous automatic parallelizing compilers were developed. OPS4 was a previous iteration, and OPS83 followed. OPS5 was initially implemented in Lisp and afterwards quickly rewritten in BLISS. For usage with the OpenVMS, RISC ULTRIX, and DEC OSF/1 operating systems, DEC OPS5 is an expanded implementation of the OPS5 language standard. [432] 295 432. OptimJ The Java extension OptimJ provides language support for creating optimization models and abstractions for processing large amounts of data. Ateji, which ceased operations in September 2011, created the extensions and the proprietary product that used them. [433] With OptimJ, optimization experts will have access to software engineering tools like object-orientation and contemporary IDE support as well as a clear and concise algebraic notation for optimization modeling. OptimJ also aims to break down compatibility barriers between optimization modeling and application programming tools. 433. Orc At the University of Texas at Austin, Jayadev Misra developed the concurrent, nondeterministic programming language known as Orc. Figure 170. Through sites, Orc offers consistent access to computational services, such as distributed communication and data manipulation. The programmer manages timeouts, priorities, and failures while orchestrating the invocation of sites to accomplish a task using four straightforward concurrency primitives. [434] Figure 170 : Orc logo 296 434. ORCA/Modula-2 ORCA/Modula-2 is a Modula-2 compiler designed for the Apple IIGS computer and developed in the Modula-2 programming language. Peter Easdown created it between 1993 and 1994, and The Byte Works released it. When it was finally released, it had been fully integrated with the programming environment known as the Apple Programmers Workshop or ORCA/M, despite having been initially designed separately. On a computer with an Intel 80286 processor, a TopSpeed Modula-2 version was initially used to create the compiler. At this time, the compiler has produced 65816 assembler source files for the Apple IIGS's ORCA/M assembly. The IBM PC was shut down after the compiler had achieved a sufficient level of stability, and Apple IIGS was used exclusively for development. When it was first released, the compiler included full support for the GS/OS operating system and toolkit for the Apple IIGS. Unfortunately, ORCA/Modula-2 never really had a big market impact because of the failure of the Apple IIGS. However, the compiler work was kept going for a brief period of time in 1995 before coming to a standstill. The compiler's source code is now available on GitHub. [435] 435. Oriel The LeBlond Group's Power Tools series of educational books includes the scripting language Oriel. It was initially created for Microsoft Windows 3.0 and released in 1991 along with the book Windows 3 Power Tools. Its documentation refers to it as a "graphics-based batch language." [436] Versions of the language, however, were also included in the 1992 and 1994 releases of Windows 3.1 Power Tools and Windows NT Power Tools, respectively. Figure 171. Figure 171 : Oriel logo 297 436. Orwell Orwell is a compact, lazy-evaluation functional programming language that was created mostly by Martin Raskovsky and initially made public in 1984 by Philip Wadler while he was a Research Fellow in the Oxford University Computing Laboratory's Programming Research Group. It was created as a free substitute for Miranda, was a precursor of Haskell, and one of the first programming languages to provide pattern matching and list comprehensions. [437] 437. Oxygene For Microsoft's Common Language Infrastructure, the Java Platform, and Cocoa, RemObjects Software created Oxygene (formerly known as Chrome). Figure 172. Based on Object Pascal from Delphi, Oxygene also draws inspiration from C#, Eiffel, Java, F#, and other languages. [438] Figure 172 : Oxygene logo 438. Oz Oz is a multiparadigm programming language that was created for programming language instruction in the Programming Systems Lab at the Université catholique de Louvain. Concepts, Techniques and Models of Computer Programming is its standard textbook. In 1991, Gert Smolka and his pupils created Oz for the first time. The creation of Oz resumed in 1996 under joint development with Peter Van Roy and Seif Haridi's research team at the Swedish Institute of Computer Science. The Mozart Consortium, a multinational team that was initially made up of Saarland University, the Swedish Institute of Computer Science, and the Université catholique de Louvain, has been continuously working on Oz since 1999. In order to make Mozart development more accessible to a wider population, management of the development was given to a core group, the Mozart Board, in 2005. [439] 298 439. P Microsoft and the University of California, Berkeley created P, a programming language for asynchronous event-driven programming for the Internet of Things. [440],Figure 173. Figure 173 : P logo 440. P4 P4 is a programming language used to manage packet forwarding planes in networking equipment like switches and routers. P4 is a domain-specific language containing a variety of constructs specialized for network data forwarding, unlike a general purpose language like C or Python. P4 is maintained by the P4 Language Consortium, a non-profit organization housed under the Open Networking Foundation, and is distributed as open-source, permissively licensed code. [441] 441. P′′ Corrado Böhm developed the primitive computer programming language P′′ (P double prime) in 1964 to describe a class of Turing machines. [442] The formal definition of P′′ (hereafter P′′) is a group of words on the four-letter alphabet {R, λ ,(,)}, as follows: • P′′ contains the words R and λ . • If P′′ contains the words q1 and q2, then q1q2 is also a word in P′′. • If P′′ contains the word q, then P′′ contains the word (q). • The only words in P′′ are those that can be derived from the first three rules. 299 442. ParaSail PaAn object-oriented parallel programming language is called ParaSail (Parallel Specification and Implementation Language). Figure 174. Both on its official website and in a blog, its concept and ongoing execution are described[443]. A ParaSail "Hello world" application looks like this: func Hello_World(var IO) is IO.Println("Hello, World"); end func Hello_World; Figure 174 : Parasail logo 300 443. PARI/GP The primary objective of the computer algebra system PARI/GP is to make computations in number theory easier. Figure 175. The GNU General Public License governs versions 2.1.0 and later. Most widely used operating systems support it. [444] Figure 175 : PARI/GP logo 301 444. Pascal – ISO 7185 Niklaus Wirth created Pascal, an imperative and procedural programming language, as a compact, effective language with the goal of promoting excellent programming practices through the use of structured programming and data structuring. It bears Blaise Pascal's name, a French mathematician, philosopher, and physicist. [445],Figure 176. 302 Figure 176 : Pascal window 303 445. Pascal Script The scripting language Pascal Script, which is based on the computer language Pascal, enables automated runtime control over scriptable servers and client software. It is carried out via a free scripting engine with a byte code interpreter and compiler.[446] The bulk of Object Pascal constructs are supported by Pascal Script, making it partially compatible with Delphi, Free Pascal, and GNU Pascal. The program was initially created by Carlo Kok under the name CajScript, changed to Innerfuse Pascal Script with version 2.23, acquired by RemObjects, renamed once again to RemObjects Pascal Script, and made available as open source software for the Delphi IDE. CajScript has been ported to Free Pascal as of version 2.07. Pascal Script has been a standard part of the Lazarus IDE since 2017. 446. PCASTL An interpreted high-level programming language called PCASTL, or Parent and Childset Accessible Syntax Tree Language, is used. 2008 saw Philippe Choquette develop it. The PCASTL is made to make writing self-modifying code simpler. The reserved words parent and childset in the language can be used to access the nodes of the syntax tree of the current piece of code. Similar to R, statements can be separated by semicolons but are not need to. A variable's type can change during a session, just like in R. Balanced brackets ( and ) are used in PCASTL to create blocks, just like in C and R. [447] The precedence and associativity of PCASTL operators are the same as those of their C counterparts. The ++ and — operators are used similarly to C to increment or decrement a variable before or after it is used in an expression. For loops are defined similarly to C. An illustration of PCASTL employing the ++ operator and the reserved word for: for (i = 1; i < 4; i++) print(i) Functions and comments in PCASTL are defined like in R: # function definition (comment) a = function() { print("Hello, world!") } # function call a() 304 447. PCF In the field of computer science, Gordon Plotkin first introduced Programming Computable Functions (PCF) in 1977. PCF was based on previously unpublished research by Dana Scott. It can be compared to a simpler form of contemporary typed functional languages like ML or Haskell or an expanded version of the typed lambda calculus. The original PCF model was presented by Robin Milner. Milner's model was, however, deemed inadequate because it was mostly based on PCF's syntax. In the 1990s, the first two totally abstract models without the need of syntax were developed. These models are based on Kripke logical relations and game semantics. Since neither of these models was truly presentable, it was initially believed that neither was entirely suitable. Ralph Loader, however, showed that there could not be an effectively presentable totally abstract model since the issue of program equivalence in the financial component of PCF cannot be resolved.[448] 448. PEARL The computer programming language PEARL, or Process and experiment automation realtime language, was created for multitasking and real-time programming. High-level languages tend to be more platform-neutral. The language has undergone a number of standardization processes since 1977 thanks to the Deutsches Institut für Normung. The most recent version is PEARL-90, which became DIN 66253-2 in 1998.[449] 449. PeopleCode PeopleCode, a proprietary object-oriented programming language, is used in PeopleSoft applications to define business logic. PeopleCode has a comparable syntax to other programming languages and is available in both strongly-typed and looselytyped versions. The bigger PeopleTools framework includes PeopleCode and its runtime environment. PeopleCode has changed over time, and the PeopleSoft applications' inconsistent implementation of it reflects this. There is some Java programming language interoperability available with PeopleCode. You can refer to PeopleTools definitions, such as record definitions or pages, without requiring hard-coded string literals, for instance, by utilizing definition name references. Other language features, such PeopleCode data types and metastrings, show how closely PeopleTools and Structured Query Language interact with one another (SQL). PeopleCode's dot notation, classes, and methods resemble those of other object-oriented languages like Java. One of the key components of PeopleTools 8 was object syntax.[450] 305 450. Perl Two high-level, all-purpose, interpreted, dynamic programming languages make up the Perl family. Figures (177+178+179+180). Prior to Perl 6's name being formally changed to Raku in October 2019, "Perl" also referred to Perl 5, Perl 6's revised "sister language," from 2000 to 2019.[451] Figure 177 : The Camel symbol used by O'Reilly Media Figure 178 : The onion logo used by The Perl Foundation Figure 179 : Alternative Perl 5 Logo 306 Figure 180 : Camelia, the logo for the Perl 6 project 451. PDL A collection of free software array programming extensions for the Perl programming language is known as Perl Data Language (abbreviated PDL). PDL adds the ability to operate huge multidimensional arrays as vector objects and expands the range of data structures that come with Perl. Additionally, it offers tools for graphical charting and presentation, machine learning, computer modeling of physical systems, and image processing. Higher-dimensional operations (such matrix multiplication) are enabled, and straightforward operations are automatically vectorized across whole arrays. [452] 452. Pharo A cross-platform, open-source implementation of the traditional Smalltalk-80 programming language and runtime is called Pharo. Figure 181. It is built on a virtual machine for OpenSmalltalk called Cog (VM), which evaluates a dynamic, reflective, and object-oriented programming language with a syntax similar to Smalltalk-80. [453] Figure 181 : Pharo logo 307 453. PHP A general-purpose programming language designed specifically for web development is PHP. Rasmus Lerdorf, a Danish-Canadian programmer, first developed it in 1993, and it was made public in 1995. Figure 182. The PHP Group now creates the PHP reference implementation. Personal Home Page was the first meaning of PHP, however it is now used to refer to the recursive initialism. Hypertext Preprocessor: PHP. Figure 182 : PHP logo A PHP interpreter, which can be implemented as a module, daemon, or Common Gateway Interface (CGI) executable, typically processes PHP code on a web server. The output of PHP code that has been interpreted and performed on a web server could be any kind of data, including produced HTML or binary image data, and would make up all or a portion of an HTTP response. Figure 183. There are numerous web frameworks, online content management systems, and web template systems that can be used to organize or make the development of that answer easier. In addition, PHP may be used for a wide range of programming activities outside the context of the web, including the control of robotic drones and standalone graphical apps. Additionally, the command line can be used to execute PHP code directly. Figure 183 : The elePHPant, PHP mascot 308 The following "Hello, World!" program is written in PHP code embedded in an HTML document: <!DOCTYPE html> <html> <head> <title>PHP "Hello, World!" program</title> </head> <body> <?php echo '<p>Hello, World!</p>'; ?> </body> </html> The simplest version of Hello, World! can be written like this, with the closing tag?> omitted as preferred in files containing pure PHP code, since there is no requirement that PHP code be embedded in HTML. The PHP interpreter only runs PHP code inside of its delimiters.?php echo "Hello, World!"; PHP does not process anything outside of its delimiters, but non-PHP material is still subject to the control structures that the PHP code describes. The most popular delimiters are?php and?php to open and close PHP sections, respectively. There is a condensed version as well. Figure 184. Since support for them can be turned off in the local PHP setup, it is not recommended to use such a short delimiter, which reduces the portability of script files. On the other hand, there is no advice against using the echo short tag?=. Before PHP 5.4.0, the short open tag configuration setting had to be enabled for this short syntax for echo to function; starting with PHP 5.4.0, it is always accessible. All of these delimiters are used to divide PHP code from other types of content, such JavaScript or HTML markup. Therefore, the shortest "Hello, World!" PHP program is: <?='Hello, World!'; In XHTML and other XML documents, the first type of delimiters,?php and?>, creates correctly formed XML processing instructions. This indicates that the resulting serverside file, which contains both PHP code and additional markup, is well-formed XML.[454] 309 Figure 184 : A broad overview of the LAMP software bundle, displayed here together with Squid 454. Pico The Vrije Universiteit Brussel's Software Languages Lab is where the programming language Pico was created. The goal of developing the language was to teach fundamentals of programming to students who were not computer science majors. For those who do not wish to work hard to learn a language in order to gain its elegance and power, Pico might be considered as an attempt to create a pleasant and fun language. They achieved this by modifying the semantics of Scheme. The book "Structure and Interpretation of Computer Programs" by Abelson and Sussman served as inspiration for the Software Languages Lab as they created Pico. They were also affected by the high school or academic level programming instruction. The word "Pico" means "little"; a small language was intended to be developed for educational purposes. [455] 310 455. Picolisp A programming language called PicoLisp is a variety of Lisp. Operating systems that are compliant with the Portable Operating System Interface (POSIX), such as Linux, can run it. Its simplicity and minimalism are its standout characteristics. Its foundation is a cell, a single internal data type. Figure 185. A programmer can employ three separate data types (numbers, symbols, and lists) on the language level, which are each represented by a cell and distinguished by bits at the cell's end. It is open-source software that was distributed for free under the MIT License (X11). [456] Figure 185 : Picolisp logo 456. Pict One of the very few statically typed programming languages based on the calculus is Pict. The language was first developed at the University of Edinburgh in 1992, and since 1998, work on it has largely ceased. The language is still in the testing phase. [457] 311 457. PILOT A straightforward high-level programming language called Programmed Inquiry, Learning, or Teaching (PILOT) was created in the 1960s. It was an early foray into the field of computer-assisted instruction, much like its younger sibling LOGO. PILOT is an imperative language that shares a fundamental form and structure with FORTRAN and BASIC. PILOT was created by John Amsden Starkweather, a psychology professor at the University of California, San Francisco medical center. Its keywords are single characters, T for "type" to print text. He created Computest, a straightforward language for automating learning exams, in 1962. He created a followup project called PILOT for different computers at the time, including the SDS 940, beginning in 1968. [458] The following syntactic components can be found in one line of PILOT code, going from left to right: • a command letter; a choice label • a choice between Y (for yes) and N. (for no) • a possible conditional statement included in parentheses. • the colon (":") • a single operand or a group of operands separated by commas. A label can also appear in a line by itself, unaccompanied by any other code. A label's syntax consists of an asterisk and an identifier (alphanumeric string with alphabetic initial character). 312 458. Pipelines The VM/CMS operating system has a feature called CMS Pipelines that enables the creation and use of pipelines. A pipeline of programs runs on a stream of sequential records. The following program in the pipeline reads the records that were written by the previous program. Since reading and writing are carried out through a deviceindependent interface, any software can be integrated with any other program. A straightforward example that reads a disk file and distinguishes between records that contain and do not include the text "Hello" The other entries are converted to upper case; the modified records have the string "World!" added to each of them. After then, the records from the two streams are merged and written to a new output file. [459] PIPE (end ?) < input txt | a: locate /Hello/ | insert / World!/ after | i: faninany | > newfile txt a ? a: | xlate upper | i: In this illustration, the stage reads the input disk file and sends the records to the following step. The input stream is split into two output streams during the locate stage. Records containing Hello that are the main output of locate are sent to the insert stage. The insert stage alters the input records in accordance with the arguments it is given before sending them to the output. Faninany, which creates a single output stream by combining data from all input streams, is connected to the output. The new disk file is where the output is written. Figure 186. The records that did not fit the selection criterion are contained in the secondary output of locate, which is identified by the second appearance of the a: label. These entries are transferred to the secondary input stream of faninany after being converted to upper case (by the xlate stage) (marked by the second occurrence of the i: label). In this instance, there are two interconnected pipelines making up the pipeline topology. The pipeline set's different pipelines are distinguished from one another by the end character (in this case, the?). Records read from the input file are routed through one of the pipeline topology's two paths. CMS Pipelines makes sure that records get at faninany in the sequence in which they passed via locate because neither of the routes contain stages that need to buffer records. With each stage on a single line, the sample pipeline is depicted in "portrait form." All phases of a pipeline are written on a single line when it is entered as a CMS command. 313 Figure 186 : Pipeline logo 459. Pizza Prior to the addition of generics to the Java programming language, there was an open-source superset of Java 1.4 called Pizza. Pizza also included function pointers and algebraic types with case classes and pattern matching in addition to its own approach to incorporating generics into the language. The creators created a Java-compatible compiler in August 2001. The majority of Pizza apps can function in a Java environment, however some situations will provide challenges. The final version of Pizza was made available in January 2002. After that, its primary creators shifted their attention to the Generic Java project, a further attempt to include generics into Java that was adopted as of version 5 of the language. The Scala programming language has advanced the pattern matching and other functional programming-like capabilities. According to Martin Odersky, "We intended to more thoroughly merge the functional and object-oriented components than we had been able to do with the Pizza language in the past. We made a clumsier try with Pizza, and I believe we succeeded much more smoothly with Scala." [460] Example : public final class Main { public int main(String args[]) { System.out.println( new Lines(new DataInputStream(System.in)) .takeWhile(nonEmpty) .map(fun(String s) -> int { return Integer.parseInt(s); }) .reduceLeft(0, fun(int x, int y) -> int { return x + y; })); while(x == 0) { map.create.newInstance() } } } 314 460. PL-11 R.D. Russell of CERN created PL-11, a high-level machine-oriented programming language for the PDP-11, in 1971. It is similar to PL360 and is crosscompiled on other machines. It is written in Fortran IV. The Omega project, a particle physics facility running at CERN (Geneva, Switzerland) in the 1970s, was where PL-11 was initially created. The original version was created for the CII 10070, a French-made clone of the XDS Sigma 7. It was transferred to the IBM 370/168, which was then a component of the CERN computer center, during the end of the 1970s. The language is described in a report from CERN. [461] 461. PL/0 PL/0 is a general-purpose programming language that is similar to, but much easier than, Pascal. It is designed as an educational programming language. It serves as an illustration of how to build a compiler. It was first mentioned in Niklaus Wirth's 1976 book, Algorithms + Data Structures = Programs. There are relatively few basic arithmetic operations, no real numbers, and only "if" and "while" blocks are available as control-flow constructs in this language. These restrictions prevent practical application development in this language, although they aid in the compiler's compactness and simplicity. The example that follows is from a language like this called PL/0E. This program generates squares for values between 1 and 10. The WriteLn procedure has mostly taken the place of the exclamation mark in today's compiler building courses. [462] VAR x, squ; PROCEDURE square; BEGIN squ:= x * x END; BEGIN x := 1; WHILE x <= 10 DO BEGIN CALL square; ! squ; x := x + 1 END END. 315 462. PL/B Programming Language for Business, also known as PL/B, is a business-oriented programming language that was created by Datapoint in 1972 as an alternative to COBOL because COBOL at the time lacked the capabilities to deal with Datapoint's built-in keyboard and screen and could not fit into the limited memory of the company's 8-bit computers. [463] 463. PL/C The computer language PL/I has an instructional dialect called PL/C that was created at Cornell University's Department of Computer Science in the early 1970s under the direction of Professor Richard W. Conway and graduate student Thomas R. Wilcox. PL/C was created with the express purpose of being used for programming education. The huge PL/I language was implemented almost entirely in the PL/C compiler, which had the rare ability to never fail to compile a program by extensively correcting many syntax problems automatically and turning any residual syntax errors into output statements. At the time, students submitted their programs on IBM punch cards, which meant that they might not receive their output for several hours. According to a late 1970s textbook on PL/I, "PL/C... the compiler for PL/I developed at Cornell University... is widely used in teaching programming." More than 250 additional colleges have embraced PL/C. Figure 187. Similarly, a study of programming languages conducted in the middle to late 1970s stated that "PL/C is a commonly used dialect of PL/I." [464] Figure 187 : Cover of book that described the PL/C dialect 316 464. PL/I – ISO 6160 Programming Language One, often known as PL/I (pronounced /pi l wn/ and occasionally written PL/1) is a procedural, imperative programming language created and distributed by IBM. It is made for system programming, business, engineering, and science. Since its introduction in the 1960s, it has been employed by academic, business, and industrial groups and is still in use today. [465] Hello World example: Program "Hello World" Hello2: proc options(main); put list ('Hello, World!'); end Hello2; 465. PL/M Gary Kildall created and developed the high-level PL/M programming language for Hank Smith at Intel in 1973 for its microprocessors. PL/M is an acronym for Programming Language for Microcomputers. [466] 466. PL/P The mid-level PL/P programming language, also known as Programming Language for Prime (computers), was created by Prime Computer to replace Fortran IV as their principal system programming language. A subset of PL/I was PL/P. .[467] Later updates to the PRIMOS operating system for computers in the Prime 50 Series were primarily created in PL/P. During the early development of PRIMOS, some Fortran IV modules were converted to PL/P. Overtaking the employment of the Prime C compiler, the CPL (PRIMOS) scripting language, and the Fortran IV compiler in commercial applications, PL/P was the most widely used compiled programming language for PRIMOS applications. 317 467. PL/S Programming Language/Systems, also known as PL/S, is a PL/I-based "machineoriented" programming language. As an alternative for assembly language for internal software projects, IBM created Basic Systems Language (BSL) in the late 1960s; it supported inline assembly and provided explicit control over register utilization. [468] The batch utility IEHMOVE and the Time Sharing Option of MVT, or TSO, were two early PL/S initiatives. IBM began rewriting its flagship operating system in PL/S around the 1970s. IBM rebuffed requests from users to distribute PL/S for their use, claiming that the software was proprietary. They feared that the availability of open PL/S would provide rival PCM vendors like Amdahl, Itel (National Advanced Systems), Storage Technology Corporation, Trilogy Systems, Magnuson Computer Systems, Fujitsu, and Hitachi an advantage over their rivals. Nevertheless, despite their refusal to provide a compiler, they shipped the PL/S source code to many customers, who consequently became accustomed to reading it. Because it was closed PL/S, the operating system could only be easily improved and modified by IBM. Programming Language/Advanced Systems (PL/AS), PL/S II, PL/S III, and PL/S IV followed PL/S, and finally PL/X (Programming Language/Cross Systems). The DPPX operating system was created using a closely comparable language called PL/DS (Programming Language/Distributed Systems), and PL/DS II was a port of the S/370 architecture for the DPPX/370 port. As the demand for computers and software changed away from IBM mainframes and MVS, IBM reversed course and started providing chosen customers with the most recent versions of PL/S. (ISVs through the Developer Partner program.) 318 468. PL/SQL The Oracle relational database and SQL (Procedural Language for SQL) are procedural extensions created by Oracle Corporation. Oracle Database (since version 6; stored PL/SQL procedures, functions, packages, and triggers are available since version 7), Times Ten in-memory database (as of version 11.2.1), and IBM Db2 all support PL/SQL (since version 9.7). PL/SQL functionality is typically increased with each new Oracle Database version by Oracle Corporation. [469] Conditions and loops are examples of procedural language features found in PL/SQL. It permits the declaration of triggers, procedures, functions, types, constants, and variables of those sorts. It can cope with exceptions (run-time errors). It is possible to support arrays by using PL/SQL collections. Object-oriented capabilities have been incorporated into Oracle Database implementations starting with version 8. Procedures, functions, packages, types, and triggers are PL/SQL units that can be created and stored in the database for reuse by programs that use any of the Oracle Database programmatic interfaces. In the past, the Oracle was founded in 1992, and the first public version of PL/SQL was released in 1995. The ISO SQL/PSM standard is implemented. [469] 469. PL360 Niklaus Wirth, Joseph W. Wells Jr., and Edwin Satterthwaite Jr. created the system programming language PL360 (also known as PL/360) for the IBM System/360 computer at Stanford University. Although the implementation of PL360 was probably finished when Wirth left Stanford in 1967, a description of the program wasn't released until early 1968. [470] 319 470. PLANC A high-level programming language is PLANC, or Programming LAnguage for Nd Computers. Norsk Data created compilers for a number of architectures, including the Intel x86, Motorola 68000, 88000, Nord-10 minicomputers, and ND-500 superminicomputer. [471] The language is cross-platform software by design. At Norsk Data, it was primarily utilized for creating high level systems software, such as the most advanced operating systems and compilers. Modules and procedures are used to organize PLANC programs. The following is a very basic illustration of a PLANC program: MODULE mod INTEGER ARRAY : stack (0:100) PLATFORM: mprog FIGURINE: I j, k, and m INISTACK stack 1 =: i 2 =: j i+j =: k, and k = :m ENDROUTINE ENDMODULE The assignment operator differs from common programming languages in that it evaluates from left to right: It calculates the value first, then stores it. In contrast, variables that are initialized at compile time evaluate from right to left. The value can be stored more than once because the assignment operator returns the value: 5 =: a =: b would place 5 in the variables A and B. It moves in the same direction as Plankalkül, ALGOL 60, Mary (another little-known Norwegian language), and the widely used language C. A related unique syntactic feature is the ability to design a function to take the computed value of the expression on its left side as an input. Additionally, there is no need for parenthesis to wrap a single additional argument. The syntactic distinction between functions and operators is muddled by the resultant infix notation. Conceptually, such expressions appear to have a computed value flowing from left to right. 320 471. Plankalkül Between 1942 and 1945, Konrad Zuse developed the computer language Plankalkül with the idea of using it for technical purposes (German pronunciation: [plankalkyl]). It was the first high-level programming language created by a computer. Relational algebra and the APL programming language have both been contrasted with plankalkül. In addition to assignment statements, subroutines, conditional statements, iteration, floating-point arithmetic, arrays, hierarchical record structures, assertions, and exception handling, it contains advanced features like goal-directed execution. The generalized graph (verallgemeinerter Graph) data structure provided by the Plankalkül can be used to depict geometrical structures. Frege's Begriffsschrift of 1879 and Plankalkül both had an unusual notation that made use of several lines (dealing with mathematical logic). [472] Some characteristics of the Plankalkül are: • Only local variables are supported. • functions only support call by value. • arrays and tuples are the only composite types. • there are conditional expressions • for and while loops. • no goto. 472. Planner Programming language Planner, created at MIT by Carl Hewitt and originally published in 1969, is frequently written as "PLANNER" in publications even though it is not an acronym. Subsets like Micro-Planner and Pico-Planner were first implemented, and then Julian Davies at the University of Edinburgh with the POP-2 programming language basically implemented the entire language as Popler. In the 1970s, key tools for artificial intelligence research included derivatives like QA4, Conniver, QLISP, and Ether (see scientific community metaphor), which had an impact on commercial innovations like Knowledge Engineering Environment (KEE) and Automated Reasoning Tool (ART).[473] 473. PLEX The programming language PLEX (Programming Language for Exchanges) is specialized, concurrent, and real-time. The architecture of the AXE telephone exchanges made by Ericsson, which the proprietary PLEX language was intended to control, is substantially related to it. PLEX was created in the 1970s at Ericsson by Göran Hemdahl, and it has undergone constant development ever since. In 2008, the term "cross between Fortran and a macro assembler" was used to characterize PLEX. [474] 321 474. PLEXIL NASA developed and is currently refining PLEXIL (Plan Execution Interchange Language), an open source automation system. Automation technologies including the LADEE, Edison Demonstration of Smallsat Networks, NASA K10 rover, Mars Curiosity rover's percussion drill, Deep Space Habitat and Habitat Demonstration Unit, Autonomy Operating System (AOS), and procedure automation for the International Space Station all employ PLEXIL. The PLEXIL Executive is an execution engine that implements PLEXIL and can interface with external systems to be controlled and/or queried using a software framework that is provided. Future NASA space missions are expected to benefit from the automation technology demonstrated by PLEXIL. The documentation and binaries are freely accessible as open source with a BSD license from SourceForge.net. [475] 475. Plus Plus is a "Pascal-like" machine implementation language from the University of British Columbia (UBC), Canada, and it's far primarily based totally at the SUE machine language, which changed into evolved on the University of Toronto withinside the early 1970s. Although it changed into evolved at Sperry Univac in Roseville, Minnesota, the Univac PLUS is a separate programming language, and isn't always the difficulty of this article. [476] 322 476. POP-11 POP-11 is an iteratively compiled reflective programming language with numerous interpreted language-like characteristics. It is the primary language used in the Poplog programming environment, which was created at the University of Sussex initially and more recently at the University of Birmingham's School of Computer Science, which also houses the main Poplog website. The language POP-11, which was developed at Edinburgh University as an extension of POP-2, has an open stack concept (like Forth, among others). Although it has enough functionality for many other classes of problems, it is primarily procedural, includes declarative language elements, including a pattern matcher, and is primarily used for artificial intelligence research and teaching. Since POP syntax is more recognizable to programmers of more traditional languages like Pascal than Lisp, it is frequently used to explain symbolic programming techniques to them. The fact that POP-11 supports first-class functions is one of its features. The Poplog system's primary language is POP-11. The ability to support a much wider range of extensions (including run-time extensions, like adding new data-types) than would be possible using only a macro facility is made possible by the availability of the compiler and compiler subroutines at run-time (a requirement for incremental compilation). This enabled it possible to add Prolog, Common Lisp, and Standard ML incremental compilers as needed to facilitate development in both languages or development in the second language without utilizing any POP-11 features. Poplog could thus be used by academics, researchers, and programmers who were only interested in one of the languages. The Clementine Data-mining system, created by ISL, was the POP-11 product that was the most successful to be created. After SPSS acquired ISL, they made the decision to port Clementine to C++ and Java, and after much effort, they eventually succeeded (and perhaps some loss of the flexibility provided by the use of an AI language). [477]. POP-11 was once exclusively accessible as a component of the pricey commercial product Poplog, but from around 1999 it has been included for free in the Open Source version of Poplog along with a number of other packages and educational libraries. Birmingham offers an online version of ELIZA that makes use of POP-11. David Young created a set of instructional and interactive development tools for image processing and vision at the University of Sussex using POP-11 along with C and Fortran, and he made them available via the Popvision extension to Poplog. 323 477. POP-2 POP-2 (also known as POP2) is a programming language that was created by Robin Popplestone and Rod Burstall at the University of Edinburgh around 1970. POP1 was created by Robin Popplestone in 1968 and was originally known as COWSEL. The languages LISP and ALGOL 60, as well as Peter J. Landin's theoretical concepts, were among its numerous ancestors. It used an incremental compiler, which gave it some of the flexibility of an interpreted language without the overhead of an interpreted language. This flexibility included allowing new function definitions at run time and modification of function definitions while a program was running, both of which are features of dynamic compilation. [478] 478. PostScript In the world of desktop publishing and electronic publishing, PostScript (PS) is a language used to describe pages. It is a concatenative, dynamically typed programming language. Figure 188. Between 1982 and 1984, it was developed at Adobe Systems by John Warnock, Charles Geschke, Doug Brotz, Ed Taft, and Bill Paxton. [479] Figure 188 : PostScript logo 479. PortablE A meta-compiler that was created from scratch in E supports numerous targets and can compile itself. [480] • Windows, AmigaOS (68k), AmigaOS 4 (PPC), AROS, and MorphOS are among the platforms available. • Amiga E and C++ as targets. • Status: open source, closed source, stable, mature, and freeware. 324 480. POV-Ray SDL The Durability of Vision A cross-platform ray-tracing application called Ray Tracer creates graphics from a text-based scene description and is most usually abbreviated as POV-Ray. It was initially based on DKBTrace, a program created for Amiga systems by David Kirk Buck and Aaron A. Collins. Because of the contributions made by Alexander Enzmann, the creator of the previous Polyray raytracer, there are additional impacts from that program. Figure 189.The source code for the free and opensource program POV-Ray is made available under the AGPL-3.0-or-later license. [481] Figure 189 : POV-Ray SDL logo 481. Powerhouse Originally developed by Quasar Corporation (after renamed Cognos Incorporated) for the Hewlett-Packard HP3000 mini-computer as well as Data General and DEC VAX/VMS systems, PowerHouse is a byte-compiled fourth-generation programming language (or 4GL). [482] It originally consisted of five parts: For creating a centralized data dictionary used by all other components, use QDD, or Quasar Data Dictionary. A character-based screen generator is QDesign. Quick: a character-based, interactive screen processor (running screens generated by QDesign) A report writer QUIS Batch transaction processor, or QTP. 325 482. PowerBuilder – 4GL GUI application generator from Sybase Since buying Sybase in 2010, SAP has owned the integrated development environment known as PowerBuilder. On July 5, 2016, SAP and Appeon signed a contract under which Appeon, a separate business, will be in charge of creating, promoting, and maintaining PowerBuilder. Figure 190. PowerBuilder has been upgraded with new standards throughout time. PowerBuilder underwent a significant upgrade in 2010 to enable the Microsoft.NET Framework. OData, dockable windows, and 64-bit native programs all received additional support in 2014. 2019 saw the addition of functionality for quickly developing non-visual.NET assemblies and RESTful Web APIs using the C# programming language and the.NET Core framework. New UI technologies and cloud architecture were also incorporated into the redesign of PowerScript client app development. [483] According to the product roadmap, Appeon has been providing new features every 6 to 12 months that concentrate on four main priority areas: maintaining core functions, updating application user interfaces, enhancing developer efficiency, and adding more Cloud technologies. Figure 190 : PowerBuilder logo 326 483. PowerShell Microsoft's PowerShell is a tool for task automation and configuration management that combines a command-line shell with a scripting language. With the release of PowerShell Core on August 18, 2016, Windows PowerShell, which was formerly a Windows-only component, became open-source and cross-platform. The first is constructed using the.NET Framework, whereas the second uses.NET Core. The majority of administrative operations in PowerShell are carried out using cmdlets, which are specialized.NET classes that execute a certain operation. These operate by gaining access to information in various data stores that are made accessible to PowerShell via providers, such as the file system or Windows Registry. PowerShell can have cmdlets and providers added by other developers. Scripts, which in turn may be bundled as modules, may use cmdlets. The.NET API and cmdlets function together. Administrators may carry out administrative operations on both local and remote Windows systems thanks to PowerShell's support for.NET Remoting, WSManagement, CIM, and SSH. Additionally, PowerShell has a hosting API that enables the PowerShell runtime to be integrated into other programs. These programs can then use PowerShell features to carry out tasks that are exposed via the graphical user interface. By implementing the graphical management tools as PowerShell hosts that call the required cmdlets, Microsoft Exchange Server 2007 was able to provide its management capabilities as PowerShell cmdlets and providers. Other Microsoft products, such as Microsoft SQL Server 2008, also make use of PowerShell cmdlets to offer their management interface. Figure 191. Similar to man pages in Unix shells, PowerShell has its own comprehensive consolebased help available with the Get-Help cmdlet. The Update-Assistance cmdlet can be used to retrieve the most recent local help materials from the Internet. Alternately, you can use the -online switch to Get-Help to get online assistance on a case-by-case basis. [484] Figure 191 : PowerShell logo 327 484. PPL Thomas A. Standish created the Polymorphic Programming Language (PPL) in 1969 at Harvard University. It has an APL-like base language and is an interactive, expandable language. The language S has been affected by the assignment operator <- (or ←). [485] 485. Processing In order to teach non-programmers the foundations of computer programming in a visual context, the electronic arts, new media art, and visual design communities created the free graphical library and integrated development environment (IDE) known as Processing. [486] Java is the language used by Processing, with additional simplifications like extra classes and aliased mathematical operations. Additionally, it offers a graphical user interface to make compilation and execution easier. Figure 192. Other initiatives like Arduino and Wiring were inspired by the Processing language and IDE. In Processing, the most basic "Hello World" program is represented by the code: / This prints "Hello World." to the IDE console. println("Hello World."); However, due to the more visually-oriented nature of Processing, the following code(10) is a better example of the look and feel of the language. // Hello mouse. void setup() { size(400, 400); stroke(255); background(192, 64, 0); } The simplest possible version of a "Hello World" program in Processing is: // This prints "Hello World." to the IDE console. println("Hello World."); However, due to the more visually-oriented nature of Processing, the following code(10) is a better example of the look and feel of the language. 328 // Hello mouse. void setup() { size(400, 400); stroke(255); background(192, 64, 0); } void draw() { line(150, 25, mouseX, mouseY); } void draw() { line(150, 25, mouseX, mouseY); } Figure 192 : Processing logo 329 486. Prograph Prograph is a multiparadigm, visual, object-oriented, and dataflow programming language that use iconic symbols to describe data-related tasks. Prograph Classic and Prograph CPX were commercial Prograph software development environments that were offered for many years on the Apple Macintosh and Windows platforms before being discontinued in the late 1990s. Figure 193. The Marten software development environment has recently been released, bringing back support for the Prograph language on macOS. [487] Figure 193 : Prograph logo 487. Project Verona In order to make other programming languages safer, Microsoft created Project Verona, an experimental research programming language designed to handle memory issues. The project is being sponsored by Microsoft Research Cambridge research software engineer Juliana Franco and C# project manager Mads Torgensen. Imperial College London scholars are also supporting Project Verona. Verona's ownership model is based on groupings of objects, in contrast to Rust, where it is based on a single object. The project's objective, according to Microsoft, is to develop a safer memory management platform. On GitHub, Project Verona is a live project that is open source and licensed under the MIT License. [488] 330 488. Prolog Prolog is a logic programming language related to computational linguistics and artificial intelligence. Unlike many other programming languages, Prolog is intended primarily as a declarative programming language. The program logic is expressed in terms of relations, which are represented as facts and rules. Prolog has roots in firstorder logic, a formal logic. The first step in a calculation is to run a query over these relations. Alain Colmerauer and Philippe Roussel created the language in 1972 in Marseille, France, based on Robert Kowalski's procedural interpretation of Horn clauses at the University of Edinburgh. One of the first logic programming languages was Prolog, which is still the most widely used today and has both free and paid versions. Along with its original intended field of usage, natural language processing, the language has been used for automated planning, theorem proving, expert systems, term rewriting, and type systems. The development of administrative and networked applications, as well as graphical user interfaces, is supported by contemporary Prolog environments. For specialized tasks that benefit from rule-based logical inquiries, such accessing databases, using voice control systems, and filling out templates, Prolog is a good fit. [489] Code loading is referred to as consulting in Prolog. The Prolog prompt?allows users to interact with Prolog by entering queries. In the absence of a solution, Prolog outputs no. If there is a solution, it is printed. If the query has more than one answer, you can insert a semicolon to request each one. There are guidelines on good programming practice to improve code efficiency, readability and maintainability. Here follow some example programs written in Prolog. An example of a query: ?- write('Hello World!'), nl. Hello World! true. ?- 331 489. PROMAL Systems Management Associates' PROMAL (PROgrammer's Microapplication Language) is a structured programming language for MS-DOS, the Commodore 64, and the Apple II. PROMAL includes a built-in I/O library, long variable names, no line numbers, functions and procedures with argument passing, real number type, arrays, strings, and pointers. Indentation is a syntax feature of the language, just like ABC and Python. [490] When a program is run, the language's single-pass compiler creates byte code, which is then interpreted. Figure 194. The compiler can compile to/from disk and memory because the memory on these early home computers was quite constrained. An editor that runs in full-screen and a command shell are included in the C64 software package. Figure 194 : PROMAL logo 490. Promela Gerard J. Holzmann developed the verification modeling language PROMELA (Process or Protocol Meta Language). The language enables dynamic concurrent process creation, for instance to model distributed systems. Communication across message channels can be defined in PROMELA models as either synchronous (i.e., rendezvous) or asynchronous (i.e., buffered). The SPIN model checker can be used to assess PROMELA models to ensure that the modeled system exhibits the expected behavior. As part of the Computer Aided Verification of Automata (CAVA) project, an implementation that has been tested with Isabelle/HOL is also available. The standard file extension for Promela files is.pml. [491] 332 491. PROSE modeling language PROSE was the 4GL mathematical virtual machine that created the Synthetic Calculus holistic modeling paradigm (AKA MetaCalculus). It was released in 1974 on Control Data supercomputers as a replacement for the SLANG / CUE simulation and optimization language created at TRW Systems. Automatic differentiation (AD), which was designed to loop in the instruction-stack of the CDC 6600 CPU, was used for the first time in a commercial language. Even though PROSE was a sophisticated block-structured procedural language, its main goal was to combine simultaneous-variable mathematical systems including multidimensional optimization, implicit nonlinear equations, and ordinary differential equations. In addition to the procedural syntax, each of these types of system models featured operator templates to automate and solve them. Because the unknowns in these automated system issues were simultaneous, it was deemed necessary to solve them as a whole rather than breaking them down into smaller pieces or using algebraic tricks (such as substitution). Wholeness also referred to algorithmic determinacy or mathematical "closure," which, if not tainted by numerical instability, made solution convergence attainable and certain in principle. [492] 492. PROTEL Procedure Oriented Type Enforcing Language is known as Protel. It is a programming language developed by Nortel Networks and used on switching systems for telecommunications, like the DMS-100. The object-oriented version of Protel is called Protel-2. The PROTEL language, which serves as the foundation for the DMS100 range of switching systems, was created to address the requirements of digital telephony. Strongly typed, block-structured PROTEL is a language with extensible structures, variable-sized arrays, and variable-style variable assignment. It is heavily influenced by PASCAL and ALGOL 68. Through the addition of external compilation and the expansion of the language's built-in data structures, PROTEL's developers greatly improved PASCAL of the time. [493] The operating system (SOS), application (CALLP), development environment (PLS), and initially the processor are all closely connected with the PROTEL compiler (NT40). The compiler itself, PLS, SOS, and CALLP are all written in PROTEL. There are certain elements of the other components that must be included in any explanation of the PROTEL language. Although PROTEL has highly stringent type enforcement, the close connection of its components allows skilled programmers to directly use internal compiler capabilities to evade some type checking. PROTEL is regarded as being "wordy," with many reserved words and certain comments sounding like English. Although PROTEL source code is case-insensitive, reserved words are typically written in upper case. 333 493. ProvideX Midway through the 1980s, the business-oriented BASIC derivative known as Business Basic gave rise to the computer language and development environment known as ProvideX. ProvideX is a programming language that runs on a variety of operating systems (Unix, Linux, Windows, and Mac OS X), and it also includes a file system, presentation layer interface, and other elements. The development of business applications is the language's main purpose. Since its debut, ProvideX has incorporated features such a graphical user interface, client-server capabilities, access to external databases, web services, and, more recently, object-oriented programming capabilities as the computer industry has evolved. The ProvideX product line for Independent Software Vendors has been sold, developed, and supported by PVX Plus Technologies since its acquisition in October 2010. Following negotiations between Sage Group, EDIAS, and PVX Plus Technologies for almost two years, Mike King, the language's original designer, will once again be in charge of its development. [494] 494. Pro*C An embedded SQL programming language used by Oracle Database DBMSes is called Pro*C (also known as Pro*C/C++). Pro*C's host language can be either C or C++. The integrated SQL statements are translated into C or C++ function calls to the appropriate SQL library by a precompiler during compilation. Standard C or C++ code generated by the Pro*C precompiler is then translated into an executable by any of a number of C or C++ compilers. [495] 334 495. Pure The functional programming language Pure, which replaced the equational language Q, is dynamically typed and relies on term rewriting. It offers features for arbitrary-precision arithmetic (multiple-precision integers), macros, user-defined operator syntax, and compilation to native code using the LLVM. Figure 195. The GNU Lesser General Public License version 3 or later governs the distribution of Pure, which is free and open-source software. [496] It is relatively simple to invoke C functions using Pure. To print the string "Hello, world!" on the terminal, the following imports the puts function from the C library: extern int puts(char*); hello = puts "Hello, world!"; hello; Figure 195 : Pure logo 335 496. Pure Data Miller Puckette created the visual programming language Pure Data (Pd) in the 1990s for the creation of interactive computer music and multimedia works. Despite the fact that Puckette is the program's primary author, Pd is an open-source project with a sizable developer community working on new expansions. The BSD-3-Clause governs its release. Linux, MacOS, iOS, Android, and Windows are all supported. IRIX and FreeBSD both have ports. Pd is somewhat compatible with Max/MSP, the for-profit forerunner to the Max language, and is extremely close to Puckette's initial Max program, created while he was at IRCAM. They can all be referred to as being part of the Patcher family of languages. [497] With the addition of the Graphics Environment for Multimedia (GEM) external and externals made to work with it, such as Pure Data Packet / PiDiP for Linux and Mac OS X, framestein for Windows, and GridFlow (as n-dimensional matrix processing, for Linux, Mac OS X, and Windows), it is now possible to create and manipulate video, OpenGL graphics, images, etc., in realtime with a wide range of options for interactivity with audio, external sensors, Since Pd is built to support live collaboration across networks and the Internet, artists connected through LAN or even in different regions of the world can work together in real time to produce music. FUDI is a networking protocol used by Pd. Figure 196. Figure 196 : Pure Data logo 336 497. PureScript A strongly typed, fully functional programming language called PureScript can be translated into JavaScript. With the help of Electron, it is possible to create desktop, server-side, and web applications. Figure 197. Most of its syntax resembles that of Haskell. Row polymorphism and extensible records are also introduced. Additionally, PureScript follows a strict evaluation technique in contrast to Haskell. [498] Here is a minimal "Hello world" program in PureScript: module Main where import Effect.Console (log) main = log "Hello World!" Here, the type of the program is inferred and checked by the PureScript compiler. A more verbose version of the same program might include explicit type annotations: module Main where import Prelude import Effect (Effect) import Effect.Console (log) main :: Effect Unit main = log "Hello World!" Figure 197 : PureScript logo 337 498. PWCT PWCT is a visual programming language that is open source and free. PWCT, or Programming Without Coding Technology, is a general-purpose visual programming language that may be used to create systems and applications. PWCT can be used to introduce students to programming ideas. The project was established in December 2005 as a free-open-source initiative that allows creating the source code once visual programming is used to create apps. Numerous textual programming languages are supported by the software for the production of code. To learn how to develop programs step-by-step and gain a better knowledge of the program logic, the environment supports the time dimension and allows programmers to run programs like movies. Changing time is done using a timeline slider which allow the programmer to select a specific point in time to view. [499] 499. Python A high-level, all-purpose programming language is Python. Code readability is prioritized in its design philosophy, which makes heavy use of indentation. Figure 198. Python uses garbage collection and has dynamic typing. It supports a variety of programming paradigms, including procedural, object-oriented, and functional programming as well as structured programming (especially this). Due to its extensive standard library, it is frequently referred to as a "batteries included" language. Python was created by Guido van Rossum in the late 1980s to replace the ABC programming language, and it was originally made available as Python 0.9.0 in 1991. New features like list comprehensions, cycle-detecting garbage collection, reference counting, and support for Unicode were added to Python 2.0, which was published in 2000. The 2008 release of Python 3.0 was a significant update that is not entirely backwards compatible with previous iterations. Python 2 was discontinued with version 2.7.18 in 2020.[500] Python consistently ranks as one of the most popular programming languages. Hello world program: print('Hello, world!') 338 Program to calculate the factorial of a positive integer: n = int(input('Type a number, and its factorial will be printed: ')) if n < 0: raise ValueError('You must enter a non-negative integer') factorial = 1 for i in range(2, n + 1): factorial *= i print(factorial) Figure 198 : Python logo 500. Q (programming language from Kx Systems) Arthur Whitney created the array processing programming language Q. It is exclusive software that Kx Systems sells. Kdb+, a disk-based and in-memory, columnbased database, using Q as its query language. Kdb+ is based on the language k, a condensed form of APL. In order to provide a more understandable, English-like interface, Q acts as a thin wrapper around k. Financial time series analysis is one of the application cases since it allows for imprecise time matching. As an illustration, consider matching the bid and ask that came before. Even though the two timestamps are slightly different, they match. [501] 339 501. Q# (Microsoft programming language) Quantum algorithms are expressed using the domain-specific programming language Q# (pronounced Q sharp). Microsoft initially made it available to the public as a component of the Quantum Development Kit. [502] 502. Qalb A functional programming language called Qalb, also written as Qalb, Qlb, and Alb, enables programmers to write entire programs entirely in Arabic. Ramsey Nasser, a computer scientist at the Eyebeam Art + Technology Center in New York City, created the programming language Qlb in 2012 as a creative endeavor and as a response to the Anglophone bias in the vast majority of programming languages, which express their fundamental concepts using English words. Its name, which translates to "heart," is a recursive acronym in Arabic meaning Qlb. [503] 503. Quantum Computation Language One of the first quantum programming languages to be used was called Quantum Computation Language (QCL). The ability to use user-defined operators and functions is QCL's key strength. Its classical data types are comparable to primitive data types in C, and its syntax is similar to that of the C programming language. The same program can use both conventional and quantum codes. [504] The language was developed to investigate quantum computer programming ideas. Standard quantum operators used in quantum algorithms are made available via the QCL library, including: • Hadamard operation on many qubits, controlled phase, and controlled-not with multiple target qubits. • Quantum algorithms for binary constant addition, multiplication, and exponentiation (all modulus n) • Quantum fourier transformation 504. QtScript Since version 4.3.0, the Qt cross-platform application framework has included the scripting engine QtScript. The scripting language has a few additions, like QObject-style signal and slot connections, that are based on the ECMAScript standard. The engine and a C++ API for evaluating QtScript code and providing unique QObject-derived C++ classes to QtScript are both contained in the library. The QtScript Binding Generator offers bindings so that ECMAScript can directly utilize the Qt API. The scripting mechanism in Amarok 2 is based on QtScript and the binding generator. The implementation that is currently in use (as of Qt 4.7) makes use of JavaScriptCore and won't be improved upon. With Qt 5.5, the module is no longer supported. [505] 340 505. QuakeC To program several aspects of the video game Quake, John Carmack of id Software created the compiled language known as QuakeC in 1996. A programmer can alter Quake to a significant amount with QuakeC by adding weaponry, altering the physics and logic of the game, and creating intricate scenarios. It can be used to manage a variety of game-related features, including the AI, triggers, and level changes. The only game engine that utilized QuakeC was the Quake engine. Following engines used C and, starting with id Tech 4, C++ DLL game modules for customisation. [506] 506. QPL The act of putting up sets of instructions, referred to as quantum circuits, that can be executed on a quantum computer is known as quantum programming. High-level constructs can be used to express quantum algorithms utilizing quantum programming languages. The majority of the quantum software mentioned in this article is freely available as open-source software since the discipline is firmly grounded in the opensource ideology. [507] 507. .QL An object-oriented query language called.QL, pronounced "dot-cue-el," is used to get information out of relational database management systems. Figure 199. It is similar to the object-oriented programming language Java and the common query language SQL. Datalog is a name for a logical query language, and QL is its objectoriented version. As a result,.recursive QL's querying capabilities are ideally suited to handling hierarchical data. [508] Figure 199 : .QL logo 341 508. R is a programming language that is supported by the R Core Team and the R Foundation for Statistical Computing. It is used for statistical computing and graphics. Ross Ihaka and Robert Gentleman, two statisticians, developed R, which is used by data miners, bioinformaticians, and statisticians for data analysis and creating statistical software. In order to extend the capabilities of the R language, users have created packages. Figure 200. R is one of the most widely used programming languages for data mining, according to user surveys and analyses of scholarly literature databases. R peaked at 8th place in the TIOBE index, a popularity index for programming languages, in August 2020. As of October 2022, R is ranked 12th. The GNU package contains the official R software environment, which is open-source free software that is distributed under the terms of the GNU General Public License. It is mostly written in C, Fortran, and R. (partially self-hosting). There are precompiled executables available for several operating systems. There is a command-line interface for R. There are also numerous third-party graphical user interfaces available, like the integrated development environment RStudio and the notebook interface Jupyter. [509] Figure 200 : R logo 509. R++ R++, a C++-based rule-based programming language, is defined as follows: Rules may be defined as C++ class members with the help of the R++ extension. The invention's programming system uses classes that have rules written in R++ to create C++ code that fully implements the machinery needed for the rules as C++ data members and functions of the classes involved in the rules. [510] Bell Labs created R++ in the 1990s, but due to the Bell System divestiture, which divided the legal ownership of the work created at the Laboratories between AT&T and Lucent, no immediate commercial use of R++ could be made while the two corporations argued over ownership. 342 510. Racket With a large standard library, IDE, development tools, Typed Racket (a sister language of Racket with a static type-checker), Swindle, FrTime, Lazy Racket, R5RS and R6RS Scheme, Scribble, Datalog, Racklog, Algol 60, and several teaching languages, Racket (Figure 201), is a general-purpose, multi-paradigm programming language. [511], Figure 202. Figure 201 : Racket logo 343 Figure 202 : DrRacket on Linux 344 511. Raku Raku is a computer language of the Perl family. Its name was changed from Perl 6 on October 2019. Raku introduces components of numerous contemporary and ancient languages. Although a compatibility option is included in the specification, Perl compatibility was not a priority. Raku's design phase got under way in 2000. [512] A popular program for introducing a language is hello world. In Raku, saying "Hello, world" means saying it in one of several different ways. Figure 203. Figure 203 : Raku logo 512. RAPID To operate industrial robots made by ABB, a high-level programming language called RAPID is used. In 1994, ABB released RAPID and the S4 Control System, replacing the ARLA programming language. [513] The language has the following features: • Standard parameters: o Procedures are a type of subprogram. o Functions: These are used as arguments in instructions and return values of a particular type. o Trap routines, a method of handling interruptions. • Logical and mathematical expressions • Autonomous error correction • Modular programs • Multiple tasks 345 513. Rapira Rapira is a procedural programming language for education that was created in the Soviet Union and used with the Agat computer, PDP-11 clones (Electronika, DVK, and BK series), Intel 8080, and Zilog Z80 clones (Korvet). High level constructs and a dynamic type system are used to interpret it. The language's restricted terms (keywords), which were originally based on Russian, were later expanded to include English and Romanian. In comparison to early Pascal implementations, it was thought to be more elegant and user-friendly. [514] In Soviet classrooms, Rapira was used to teach computer programming. A text editor and a debugger were included in the integrated development environment. Sample program: ПРОЦ СТАРТ() ВЫВОД: 'Привет, мир!!!' КОН ПРОЦ The same, but using the English lexics : Proc start() Output: 'Hello, world!!!'; End proc Languages like POP-2 and SETL, as well as ALGOL, served as the foundation of Rapira's concept. Rapira, for instance, implements an extremely robust, adaptable, and fascinating data structure known as a tuple. These heterogeneous lists in Rapira provide operations like indexing, joining, length counting, obtaining sublists, simple comparison, etc. 514. Ratfor Programming language Ratfor (short for Rational Fortran) was developed as a Fortran 66 preprocessor. It offers contemporary control structures to take the role of GOTOs and statement numbers, which are not accessible in Fortran 66. [515] 346 515. Rc Plan 9 and Version 10 Unix from Bell Labs operating systems interpreter. Although its syntax is a little bit easier, it is similar to the Bourne shell. Tom Duff, who is better known for a peculiar C programming language concept called "Duff's device," was the author of this. Plan 9 from User Space includes a Unix port of the original rc. Although it has several incompatible changes, Byron Rakitzis has rewritten rc for Unix-like operating systems.[516] Rc contains a Bourne-like for loop to traverse over lists and employs C-like control structures in place of the original Bourne shell's ALGOL-like structures, with the exception that it uses an if not construct rather than else. All variables in rc are lists of strings, therefore there is no need for symbols like "$@." When enlarged, variables are not divided again. Duff's paper describes the language. The Bourne shell script: If [ "$1" = "hello" ]; then Echo hello, world Else Case "$2" in 1) echo $# 'hey' "jude's"$3;; 2) echo `date` :$*: :"$@":;; *) echo why not 1>&2 Esac For I in a b c; do Echo $i Done Fi 347 516. Reason Jordan Walke, who also invented React, developed Reason, also known as ReasonML, as a syntactic extension and toolchain for OCaml at Facebook. Figure 204. The compiler toolchain for OCaml is used to compile Reason's syntax to native code, which is familiar to JavaScript programmers. The ReScript compiler can also convert Reason code to JavaScript. [517] Figure 204 : Reason logo 517. REBOL Carl Sassenrath created Rebol, a multi-paradigm dynamic programming language and cross-platform data interchange language, for network communications and distributed computing. It introduces the idea of dialecting, which, in the opinion of the language's creator Carl Sassenrath, is also its most noteworthy feature. Dialecting refers to small, optimized, domain-specific languages for code and data. [518], Figure 205. Figure 205 : REBOL logo 348 518. Red The computer language Red was created to get over the drawbacks of the Rebol programming language. Red, an imperative and functional programming language, was invented by Nenad Rakoevi in 2011. Its overall usage and grammar are similar to those of the interpreted Rebol language. [519] Red's implementation decisions aim to produce a full stack programming language by: Red can be used for both low-level and very high-level programming (DSLs and GUIs) (operating systems and device drivers). The two sections of the language—Red/System and Red—are essential to the strategy. C-like Red/System is bundled within a Rebol lexical structure. For example, one would write if x > y [print "Hello"] instead of if (x > y) {printf("Hello\n");}. Red is a homoiconic language with semantics akin to Rebol that supports metaprogramming. Red's runtime library was created in Red/System and used a hybrid methodology, compiling statically what it can and using an embedded interpreter for everything else. A just-in-time compiler for sporadic instances is included in the project roadmap, although it has not yet been implemented. Figure 206. Red produces its own code and aims to remain independent of all other toolchains. Therefore, using a command-line switch, Red programs can be cross-compiled from every platform it supports to any other. Under a modified BSD license, Red and Red/System are both distributed as open-source software. The more lenient Boost Software License is used to distribute the runtime library. Figure 206 : Red logo 349 519. Redcode D. G. Jones and A. K. Dewdney invented the programming game Core War in 1984, in which two or more battle programs—referred to as "warriors"—compete for control of a virtual computer. The abstract assembly language known as Redcode is used to create these warfare programs. The International Core Wars Society (ICWS) initially established the standards for the language and the virtual machine, but later standards were decided by general agreement in the community. [520] Each fight program loads into memory at a random position at the start of a game, after which each program executes one instruction in turn. The object of the game is to cause the processes of the competing programs to end (which occurs if they carry out an incorrect instruction), giving the machine to the winning program. Figure 207. Only eight Instructions were specified in the first version of Redcode that was published. The number was raised to 10 by the ICWS-86 standard and to 11 by the ICWS-88 standard. 16 instructions make up the 1994 draft standard that is now in use. However, Redcode allows a variety of addressing modes and instruction modifiers that (as of the 1994 draft standard) extend the actual number of operations that are feasible to 7168. The underlying instruction representation is left unspecified by the Redcode standard, and programs are given no access to it. The two address fields found in each instruction can be used for arithmetic operations, but only copying and equality checks can be made on the instruction codes themselves. Figure 207 : A game of Core War running under the pMARS simulator 350 520. REFAL A functional programming language geared at symbolic computations, such as "string processing, language translation, [and] artificial intelligence," Refal (Recursive Functions Algorithmic Language; Russian: A) is called "Recursive Functions Algorithmic Language." It is one of the earliest members of this family, having been developed from a theoretical tool in 1966 to a practical product in 1968. Refal was created with the goal of combining mathematical simplicity with usability for building complex systems. [521] 521. REXX It is possible to interpret or compile the computer language Rexx (Restructured Extended Executor). Mike Cowlishaw created it while working at IBM. Figure 208. It is a high-level, structured programming language that is simple to understand and learn. For a variety of computing platforms, both proprietary and open source Rexx interpreters are available. IBM mainframe compilers are also available. [522] Figure 208 : REXX logo 351 522. Ring A dynamically typed, all-purpose programming language is called Ring. It can be used as a standalone language, integrated into C/C++ projects, or extended using C/C++ code. Figure 209. Imperative, procedural, object-oriented, functional, meta, declarative using layered structures, and natural programming are the paradigms that are supported. The language may be used to develop console, GUI, browser, game, and mobile apps and is portable between platforms like Windows, Linux, macOS, Android, and WebA. [523] Figure 209 : Ring logo 352 The same program can be written using different styles. Here is an example of the standard "Hello, World!" program using four different styles. The first style: See "Hello, World!" The second style: Put "Hello, World!" The third style: Load "stdlib.ring" Print("Hello, World!") Another style: similar to xBase languages like Clipper and Visual FoxPro ? "Hello, World!" ( Figure 210). Figure 210 : Ring Window 353 523. ROOP A multiparadigm programming language called ROOP was developed at the Chinese Chengdu University with AI applications in mind. It mixes object-oriented, rule-based, procedural, logical, and programming techniques. [524] 524. RPG Introduced in 1959 for the IBM 1401, RPG is a high-level programming language for commercial applications. It is best recognized for serving as the main programming language for the IBM I operating system and its midrange computer product line. Numerous distinguishing ideas, including the program cycle and the column-oriented syntax, have historically been present in RPG. Figure 211. RPG IV is the most recent version, and it has a lot of modernization features, like freeform syntax[525]. Figure 211 : RPG logo 354 525. RPL RPN (Reverse Polish Notation) calculators from Hewlett-HP Packard's 28, 48, 49, and 50 series use the RPL operating system and application programming language. However, it can also be used with non-RPN calculators from the HP 38, 39, and 40 series. RPL is a threaded interpreter that implements a structured programming language that is based on RPN and is equally capable of interpreting algebraic expressions and formulas. RPL and Forth have several characteristics, including stack-based syntax and list-based LISP. The stack utilized by RPL is solely constrained by available calculator RAM, unlike the stack used by earlier HP RPN calculators, which had a set four-level stack. In 1984, RPL was created at HP's Corvallis, Oregon, development center to replace the practice of developing calculator operating systems in assembly language. The HP 50g, the final pocket calculator to support RPL, was discontinued in 2015. However, there are numerous emulators that can simulate HP's RPL calculators, and they are available for a variety of hardware and operating systems, including iOS and Android smartphones.[526] 526. RSL All text editors, including Notepad, can be used to create robots that are programmed in Robot Scripting Language (RSL). Robots are typically developed and shared in the.prg format, but some programmers opt to encrypt their robots before sharing them as DST files. Brad developed the scrambling software for Robot Battle 1.3, and Joseph Fowler (also known as Sorcerer) and Mark Duller later altered it to produce two distinct programs that were both compatible with Robot Battle 1.4. Many programming languages, including Basic, C, and JavaScript, have been compared to RSL. The only section that is required is "init," and all other sections are determined by an event and a priority. Each robot has one or more sections, divided by section names and curly brackets. [527] The Core section, which doesn't require a priority, offers information about what the robot will do when it has nothing else to do. When activated, the Ascan typically has the lowest priority and occurs whenever the robot is moving. The other occurrences occur when a body collides with an object or when an object is picked up by the radar. Commands are used to steer the robot's components. The simplest approach to create a robot is to study the Combo, Smart Corner, Events, Fire, Rammer, Shell, Side Liner, Target, Walls II, and Zag ones that are provided for free with the game. Figure 212. 355 These robots show how to use the aforementioned straightforward instructions as well as more complex strategies like the usage of radio and the variations that result from building a robot without "command blocking" turned on. Robot Battle is a Microsoft Windows programming game in which players create and program flexible combat robots. Robot Battle requires strategy more than it does timing, precision, or reflexes to be successful. The player is in charge of the programming that sets one robot apart from another. The similar game RobotWar served as inspiration for this one. Figure 212 : Robot Battle logo 527. RTL/2 J.G.P. Barnes created the RTL/2 (Real-Time Language) high-level programming language for real-time computing at Imperial Chemical Industries, Ltd. (ICI). It was initially utilized internally at ICI before SPL International began to commercialize it in 1974. It was designed to be compact and straightforward and was based on ideas from ALGOL 68. The British Standards Institution standardized RTL/2 in 1980. [528] TITLE Hello World; LET NL=10; EXT PROC(REF ARRAY BYTE) TWRT; ENT PROC RRJOB() INT; TWRT("Hello World#NL#"); RETURN(1); ENDPROC; 356 528. Ruby Ruby is a high-level, general-purpose, interpreted programming language that supports a variety of paradigms. It was created with a focus on simplicity and productivity in programming. Primitive data types are objects in Ruby, just as anything else. Midway through the 1990s, Yukihiro "Matz" Matsumoto created it in Japan. [529] Ruby features just-in-time compilation, trash collection, and dynamic typing. Programming paradigms including procedural, object-oriented, and functional programming are all supported. According to its author, Perl, Smalltalk, Eiffel, Ada, BASIC, Java, and Lisp had an effect on Ruby. Figure 213. Figure 213 ; Ruby logo 357 529. Rust A multi-paradigm, all-purpose programming language is called Rust. Performance, type safety, and concurrency are highlighted in Rust. Unlike other memory-safe languages, Rust maintains memory safety—that is, that all references point to valid memory—without necessitating the employment of a garbage collector or reference counting. Rust's "borrow checker" monitors the object lifetime of all references in a program during compilation to simultaneously enforce memory safety and prevent concurrent data races. Rust includes high-level features, such as some functional programming structures, and is popular for systems development. [530] Rust was developed in 2006 by software developer Graydon Hoare as a side project when he was employed at Mozilla Research. In 2009, Mozilla formally supported the endeavor. Rust has been embraced by businesses such as Amazon, Discord, Dropbox, Facebook (Meta), Google (Alphabet), and Microsoft since the first stable release in May 2015. As a more recent language, Rust has drawn attention for its development and has been the focus of academic programming language research. Figure 214. Figure 214 : Rust logo 358 530. S S is a statistical programming language that was primarily created by Bell Laboratories' John Chambers, as well as (in early versions) Rick Becker and Allan Wilks. According to John Chambers, the language's goal is "to turn ideas into software, fast and faithfully."[531] R, a component of the GNU free software project, serves as the current S implementation. TIBCO Software used to market S-PLUS, a commercial product. 531. S2 Russian-owned LiveJournal, sometimes known as LiVEJOURNAL, is a social networking site where users can maintain a blog, journal, or diary. LiveJournal's social networking is done in quaternary time units (with four possible states of connection between one user and another). A relationship between two users is not required; they can be mutual friends or any of them can "friend" the other without expecting the other to do the same. Figure 215. Although "friend" on LiveJournal is primarily a technical term, there have been debates regarding whether the term should be used in this way because it is emotionally charged for many users in groups like lj dev [532] and lj biz. A user's friends list, often known as their flist, frequently consists of many communities and RSS feeds in addition to individual members. In general, "friending" makes it possible for friends of a user to read protected entries and makes their entries visible on the user's "friends page." Additionally, "friends groups" that group pals together allow for more complicated activity. Figure 215 : S2 logo 359 532. S3 A high-level, structured imperative programming language is called S3. For its 2900 Series mainframes, International Computers Limited (ICL) of the UK created it. It is a system programming language that borrows syntax from ALGOL 68 but has operators and data types that are compatible with the 2900 Series. It was the VME operating system's implementation language. [533] 533. S-Lang A software library for Unix, Windows, VMS, OS/2, and Mac OS X is the S-Lang programming library. It offers components to make it easier to create text-based applications as well as methods for embedding an interpreter for the S-Lang scripting language. An interactive line-editing tool, procedures for creating and modifying keymaps, and both low- and high-level screen/terminal management capabilities are all included in the latter class of operations. Figure 216. It is made available under the GNU General Public License. [534] 360 Figure 216 : S-Lang logo 361 534. S-PLUS The S programming language is implemented commercially by S-PLUS, which is offered by TIBCO Software Inc. It includes sophisticated analytical algorithms and object-oriented programming capabilities. [535] The TIBCO Enterprise Runtime for R (TERR) was made available by TIBCO Software as an alternative R interpreter in response to the rising popularity of the open source S replacement R. 535. SA-C only one assignment C (SA-C) is a member of the C programming language family that is intended to be easily and directly translated into circuits, including FPGAs. It is pronounced "sassy." SA-C does not feature pointers and arithmetic thereon to facilitate translation. Instead, SA-C includes genuine n-dimensional arrays as firstclass objects of the language, preserving the majority of the expressiveness of C. [536] 536. SabreTalk For the S/360 IBM mainframes running the TPF platform, SabreTalk is a no longer supported dialect of PL/I. Eastern Air Lines, IBM, and American Airlines worked together to create SabreTalk. PL/TPF is another name for SabreTalk (Programming Language for TPF). The British Airways Flight Operations system (FICO) under ALCS continues to run SabreTalk programs utilizing a commercially available automatic converter to convert SabreTalk programs to C programs. SabreTalk and IBM 360 Assembler were both used in the creation of Delta Air Lines' Reservations and Operations Support Systems (OSS). The majority of Delta's programming platform remained in Sabretalk until late in the 2010s, despite the fact that development is currently limited to C++. Several businesses are starting the transition from SabreTalk to exclusively C-based products due to the availability of translators from SabreTalk to C and the original developers' decision to stop providing support. [537] 362 537. SAIL The Stanford AI Lab's Dan Swinehart and Bob Sproull created SAIL, the Stanford Artificial Intelligence Language, in 1970. For the PDP-10 and DECSYSTEM-20, it was originally a sizable ALGOL 60-like language. A symbolic data system built on an associative storage is the key component of SAIL (based on the LEAP system of Jerry Feldman and Paul Rovner). Items can be kept in associations or as unordered sets (triples). Processes, events, interruptions, contexts, backtracking, and record trash collection are further features. Additionally, it contains additional data types designed for creating association lists and search trees, blockstructured macros, and a coroutining facility. [538] Some early versions of FTP, TeX, the PUB document formatting system, and BRIGHT, a clinical database project funded by the National Institutes of Health, were all interesting software systems that were programmed in SAIL. There were six different operating systems for the PDP-10 in 1978: ITS from MIT, WAITS from Stanford, TOPS-10 from DEC, CMU TOPS-10 from Carnegie Mellon, TENEX from BBN, Tymcom-X from Tymshare, and TOPS-20 (DEC, based on TENEX). So that MIT researchers could use software created at Stanford University, SAIL was migrated from WAITS to ITS. I/O code typically needed to be rewritten in each program for every port. In the 1980s, various eCAD design tools were created using MAINSAIL, a machineindependent version of SAIL that was created in the late 1970s. As of 2005, MAINSAIL was still only in sporadic use and was easily adaptable to new CPUs and operating systems. 538. SAKO For the computers XYZ, ZAM-2, ZAM-21, and ZAM-41, SAKO (System Automatycznego Kodowania Operacji; English: Automatic Operation Encoding System) is a programming language based on the Polish language. [539] PROGRAM DRUKUJE NAPIS HELLO WORLD LINIA TEKST: HELLO WORLD KONIEC 363 539. SAS For data management, advanced analytics, multivariate analysis, corporate intelligence, criminal investigation, and predictive analytics, the SAS Institute created the statistical software package known as SAS (formerly known as "Statistical Analysis System"). Figure 217. From 1966 until 1976, when SAS Institute was formed, SAS was created at North Carolina State University. In the 1980s and 1990s, SAS underwent considerable development with the addition of new statistical techniques, extra components, and JMP. Version 9 in 2004 introduced a point-and-click interface. In 2010, a tool for social media analytics was added .[540] Figure 217 : SAS logo 540. SASL Based on the applicative subset of ISWIM, David Turner created the purely functional programming language SASL (St Andrews Static Language, sometimes known as St Andrews Standard Language) at the University of St Andrews in 1972. Turner revised and reimplemented it in 1976 as a flexible (lazy) language. It was the basis for Turner's later languages KRC and Miranda in this form, but Miranda has polymorphic types whereas SASL looks to be untyped. [541] Burroughs Corporation created an operating system and compiler using SASL. 364 541. Sather An object-oriented programming language is Sather. It was created by a global team under the direction of Steve Omohundro in the early 1990s at the International Computer Science Institute (ICSI) at the University of California, Berkeley. It supports generics by subclasses and trash collection. [542] Class HELLO_WORLD is Main is #OUT+"Hello World\n"; End; End; 542. Sawzall Google employs Sawzall, a procedural domain-specific programming language, to process a significant volume of individual log records. The earliest mention of Sawzall was in 2003, and the szl runtime was released as open source in August 2010. The MapReduce table aggregators have not yet been made public, therefore the opensourced runtime is not suitable for off-the-shelf large-scale data processing of several log files. For the majority of Google's uses, Lingo (logs in Go) has taken the place of Sawzall. [543] 365 543. Scala Scala is a potent general-purpose programming language with statically typed data types that supports both functional and object-oriented programming. Many of Scala's design choices are intended to be brief and try to address Java's critics. It is possible to compile Scala source code to Java bytecode and run it on a Java virtual machine (JVM). Scala can also be immediately translated into a native executable or translated into JavaScript to run in a browser. As a result of Scala's language compatibility with Java on the JVM, libraries written in either language can be directly referred to in Scala or Java code. Scala employs curly-brace syntax, which is akin to the language C and is object-oriented like Java. Since Scala 3, it has also been possible to arrange blocks using the off-side rule (indenting), and doing so is recommended. According to Martin Odersky, this proved to be the most beneficial feature added to Scala 3. Contrary to Java, Scala has a number of functional programming language characteristics, such as currying, immutability, slow evaluation, and pattern matching (like Scheme, Standard ML, and Haskell). Additionally, it features a sophisticated type system that supports algebraic data types, covariance and contravariance, higher-order types (but not higher-rank types), anonymous types, operator overloading, optional parameters, named parameters, raw strings, and an experimental exception-only version of algebraic effects that can be compared to Java's checked exceptions in terms of power. Figure 218. Scala is a combination of the words scalable and language, indicating that it is intended to expand in response to user demand. [544] The Hello World program written in Scala 3 has this form: @main def main() = println("Hello, World!") Contrary to the standalone Hello World Java application, a singleton object generated using the object keyword is utilized in place of class declarations and static declarations. Figure 218 : Scala logo 366 544. Scheme Programming languages in the Lisp family include Scheme. The Lambda Papers are a collection of memoranda that were disclosed by Guy L. Steele and Gerald Jay Sussman, who developed Scheme at the MIT AI Lab in the 1970s. It was the first Lisp dialect to choose for lexical scope and the first to demand tail-call optimization from implementations, providing stronger support for functional programming and related strategies like recursive algorithms. The first programming language to offer first-class continuations was this one. It significantly influenced the work that went into creating Common Lisp. Figure 219. The language of Scheme is codified in the official IEEE standard and the Revised Report on the Algorithmic Language Scheme, which serves as a de facto standard (RnRS). R5RS is a commonly used standard (1998). "R7RS-small" is the most recent Scheme standard to be ratified (2013). In 2007, the R6RS, which was bigger and more modular, was approved. Both are descended from R5RS, and the sequence below shows the ratifications in chronological order. [545] Figure 219 : Scheme logo 367 545. Scilab Scilab is a high-level, numerically focused programming language that is free and open-source, cross-platform, and designed for numerical computation. It can be used for numerical optimization, modeling, simulation of explicit and implicit dynamical systems, signal processing, statistical analysis, picture enhancement, fluid dynamics simulations, and (if the necessary toolbox is installed) symbolic manipulations. One of the two main open-source alternatives to MATLAB is Scilab, while the other is GNU Octave. Figure 220. Although Scilab places less emphasis on MATLAB syntactic compatibility than Octave does, the two systems are sufficiently comparable that some writers claim it is simple to transfer skills between them. [546] Figure 220 : Scilab 368 546. Scratch With a target demographic of children aged 8 to 16, Scratch is a high-level blockbased visual programming language and website that is largely geared toward kids. The website's users, known as Scratchers, can develop projects using a block-like user interface. Using third-party tools, projects can be exported to HTML5, Android apps, Bundle (macOS), and EXE files. The MIT Media Lab created the service, which is utilized all over the world and has been translated into more than 70 different languages. In addition to other public knowledge institutions, Scratch is taught and utilized in afterschool programs, educational institutions, and colleges. Figure 221. On the language's official website as of May 8, 2022, community statistics show that there are over 104 million projects shared by over 90 million users, over 686 million total projects generated (including unshared projects), and over 100 million monthly website views. [547] The term "scratching" refers to a practice among disc jockeys in which vinyl discs are joined and manipulated on a turntable to create various sounds and music. By developing and "remixing" products like video games, animations, music, and simulations, the website allows users to creatively combine various media (including visuals, sound, and other applications), much like scratching. Figure 221 : Scratch logo 369 547. Script.NET Similar to VBA in Microsoft Office programs, Script.NET or S# is a metaprogramming language that offers scripting functionality in Microsoft.NET applications, allowing runtime execution of customized functionality. Script.syntax NET's is comparable to JavaScript's. It is intended to be a straightforward and effective scripting language that enables the customization of.NET applications. The language executes without creating additional in-memory assemblies and features a genuine runtime interpreter. [548] Hello world: MessageBox.Show('Hello World!'); 548. Sed A Unix software called Sed, or "stream editor," parses and modifies text using a short, concise computer language. Lee E. McMahon of Bell Labs created it between 1973 and 1974, and it is now accessible for the majority of operating systems. The interactive editor ed ("editor," 1971) and the preceding qed's scripting capabilities served as the foundation for sed ("quick editor", 1965–66). It was one of the first text processing programs to offer regular expressions, and it is still in use today, particularly with the substitution command. AWK and Perl are two well-liked alternatives for "stream editing" and plaintext string manipulation. [649] # Change the text in the input stream to "Hello, world!" This script that says "Hello, world!" is stored in a file (such as script.txt) and can be run by using the command sed -f script.txt inputFileName, where "inputFileName" refers to the input text file. The first line of "inputFileName" is changed to read "Hello, world!" before the script exits, printing the outcome just before sed ends. Past line 1, no input lines are read or printed. "Hello, world!" is the only output as a result. The example highlights a number of essential traits of sed: • Most sed programs are brief and uncomplicated. • Comments (the line that begins with the # sign) are permitted in Sed scripts. • The most significant sed command is s (substitute). • Sed supports basic programming via commands like q. (quit). Figure 222. • Sed employs regular expressions like*. (zero or more of any character). 370 Figure 222 : An excerpt from GNU sed's man page 371 549. Seed7 Thomas Mertes created the general-purpose, extensible programming language known as Seed7. It shares syntactic similarities with Ada and Pascal. It offers an extension mechanism in addition to many other capabilities. New language constructs can be constructed and written in Seed7, and Seed7 supports adding new syntax elements and their meanings to the language. Programmers, for instance, can add new statements' syntax and semantics as well as user-defined operator symbols. Comparing the implementation of Seed7 to languages with hard-coded syntax and semantics reveals major differences. [550] 550. Self Self is an object-oriented programming language that uses prototypes as its foundation. Self was initially used as an experimental test system for language design in the 1980s and 1990s. It is dynamically typed, uses just-in-time compilation (JIT), and approaches objects using prototypes. Figure 223. As part of the Klein project, a fully Self-written virtual computer, Self was still being built in 2006. The newest version, 2017.1, was made available in May 2017. [551] Figure 223 : Self logo 551. SenseTalk Self research developed and enhanced a number of just-in-time compilation techniques since they were necessary for a very high level object oriented language to run at up to half the speed of optimized C. Self was largely developed at Sun Microsystems, and the methods they came up with were later used for Java's HotSpot virtual machine. [552] Self once included a Smalltalk-based implementation. This also provided incredibly good performance because it could use JIT. 372 552. SequenceL The main design goals of SequenceL, a general-purpose functional programming language, platform portability/optimization, and a tool set for parallel computing, are performance on multi-core processor hardware, programming simplicity, platform portability/optimization, and code clarity and readability. Its main benefit is that it enables programmers to write simple code that automatically utilizes all available processing power without having to worry about locating parallelisms, defining vectorization, averting race conditions, or any other difficulties inherent in manual directive-based programming approaches like OpenMP. [553] SequenceL programs can be compiled to multithreaded code that executes in parallel without a programmer explicitly specifying how or what to parallelize. The SequenceL compiler can now function with the majority of widely used programming languages, including C, C++, C#, Fortran, Java, and Python, thanks to versions that output parallel code in C++ and OpenCL. Currently supporting x86, POWER8, and ARM platforms, a platform-specific runtime handles the threads safely and automatically provides parallel performance in accordance with the amount of cores available. 373 553. Serpent Decentralized and open-source, Ethereum is a blockchain that supports smart contracts. The platform's native cryptocurrency is called Ether (symbolized by ETH with the minus sign). Ether's market valuation is second only to that of bitcoin among cryptocurrencies. 2013 saw the creation of Ethereum by programmer Vitalik Buterin. Gavin Wood, Charles Hoskinson, Anthony Di Iorio, and Joseph Lubin were additional Ethereum founders. Crowdfunding for development work started in 2014, and on July 30, 2015, the network launched. Figure 224. Anyone can publish permanent and unchangeable decentralized applications on Ethereum, allowing users to communicate with them. Applications for "decentralized finance" (DeFi) offer a wide range of financial services without the need for conventional financial intermediaries like banks, brokerages, or exchanges, such as enabling cryptocurrency owners to borrow money against their holdings or lend them out for interest. NFTs, which are distinctive tokens that indicate ownership of an associated asset or privilege and are acknowledged by a number of institutions, are likewise possible to generate and exchange using Ethereum. Additionally, several other cryptocurrencies have used the Ethereum blockchain as a platform for initial coin offerings and use the ERC-20 token standard on top of it. [554] Ethereum underwent an upgrading procedure known as "the Merge" on September 15, 2022, switching from proof-of-work (PoW) to proof-of-stake (PoS). Figure 224 : Serpent logo 374 554. SETL A extremely high-level programming language called SETL (SET Language) is based on the mathematics theory of sets. At the Courant Institute of Mathematical Sciences at New York University (NYU), it was first created by (Jack) Jacob T. Schwartz in the late 1960s. [555] 555. Short Code One of the first higher-level languages created for an electronic computer was short code. Short Code statements represented mathematical expressions rather than machine instructions, in contrast to machine code. The source code was not compiled but rather run via an interpreter to speed up the programming process, which is also referred to as automated programming. [556] 556. SIMPOL Over the course of more than 20 years, Superbase, an end-user desktop database tool, was converted from the Commodore 64 to a number of operating systems. A programming language to automate database-oriented operations has also typically been provided, and later versions added WYSIWYG form and report designers in addition to more advanced programming features. Precision Software first developed it in 1983 for the Commodore 64 and 128 and then for the Amiga and Atari ST. The first database management system to function on a Windows computer was this one, released in 1989. [557] 557. SIGNAL Synced data-flow (flows + synchronization) is the foundation of the programming language SIGNAL, where a process is a collection of equations on fundamental flows that describe both data and control. The SIGNAL formal model offers the ability to specify relational specifications for systems with several clocks (polychronous systems). Relations can be used to specify non-deterministic devices, such as a non-deterministic bus, or external processes as partial specifications or as specifications in general (for instance an unsafe car driver). [558] By using SIGNAL, one may create an architecture, specify an application, and hone in on specific components like RTOS or hardware descriptions. A design technique that moves from specification to implementation, from abstraction to concretization, and from synchrony to asynchrony is supported by the SIGNAL model. Since the 1980s, SIGNAL has mostly been developed by the INRIAEspresso team alongside the related programming languages Esterel and Lustre. 375 558. SiMPLE A programming development system called SiMPLE (short for SiMPLE Modular Programming Language & Environment) was developed to make programming accessible to all users, including amateurs. The SiMPLE Codeworks website and forums are no longer accessible due to Bob Bishop, the creator of SiMPLE, however they are still accessible through the internet archive archive.org. [559] 559. SIMSCRIPT Harry Markowitz and Bernard Hausner created SIMSCRIPT, a free-form, English-like general-purpose simulation language, at the RAND Corporation in 1962. It was created for large discrete event simulations and was implemented as a Fortran preprocessor on the IBM 7090. This affected Simula. [560] Although early versions were made available to the public, Markowitz's business, California Analysis Center, Inc. (CACI), marketed SIMSCRIPT and created the exclusive versions SIMSCRIPT I.5 and SIMSCRIPT II.5. 376 560. Simula Ole-Johan Dahl and Kristen Nygaard created the simulation programming languages Simula I and Simula 67 at the Norwegian Computing Center in Oslo in the 1960s. Figure 225. It is roughly a superset of ALGOL 60 in terms of syntax, and Simscript's architecture had an impact as well. [561] An illustration of a Simula Hello World program: Begin OutText ("Hello, World!"); Outimage; End; Simula is case-insensitive. Figure 225 : Simula logo 377 561. Simulink Simulink is a graphical programming environment for MATLAB-based multidomain dynamical systems that allows for modeling, simulation, and analysis. Its main user interface consists of a graphical block diagramming tool and a set of block libraries that can be customized. It may be used to drive MATLAB or be programmed from it and enables close connection with the rest of the MATLAB environment. Simulink is frequently used in digital signal processing and automatic control for multidomain simulation and model-based design. [562], Figure 226. Figure 226 : Simulink window 378 562. SISAL A general-purpose single assignment functional programming language with tight semantics, implicit parallelism, and effective array handling is called SISAL (Streams and Iteration in a Single Assignment Language). A dataflow graph is produced by SISAL in Intermediary Form 1. (IF1). Recursion and finite streams were added, and it was derived from VAL (the Jack Dennis-designed value-oriented algorithmic language). It was created to be a standard high-level language for numerical programming on various multiprocessors and has a syntax similar to Pascal. [563] 563. SKILL SKILL is a Lisp dialect used by Cadence Design Systems in several EDA software packages as a scripting language and PCell (parameterized cells) description language. It was first presented in a 1990 IEEE publication. [564] 564. SLIP Joseph Weizenbaum created the list processing computer programming language known as SLIP in the 1960s. Symmetric List Processor is what the name SLIP stands for. It was initially incorporated as a Fortran programming language extension before being integrated into MAD and ALGOL. ELIZA, an early natural language processing computer software developed by Weizenbaum at the MIT Artificial Intelligence Laboratory, is the most well-known program written in the language. [565] 565. SMALL Nevil Brownlee of the University of Auckland created the computer programming language known as Small Machine Algol Like Language (SMALL).[566] 379 566. Smalltalk Smalltalk is a dynamically typed, object-oriented, reflective programming language. In the 1970s, Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Diana Merry, Scott Wallace, and others developed it in the Learning Research Group (LRG) of Xerox PARC, primarily for constructionist learning. [567] Smalltalk-80 was the first general release of the language. Smalltalk-like languages are actively being developed and have devoted user communities. The Smalltalk standard, known as ANSI Smalltalk, was approved in 1998. Figure 227. In the 2017 Stack Overflow Developer Survey, Smalltalk came in second for "most loved programming language," but it did not make the top 26 list for the 2018 survey. Almost all introductions to new programming languages utilize the Hello world program as the first program to demonstrate the language's most fundamental syntax and environment. The program is quite easy to write in Smalltalk. The message "show:" with the parameter "Hello, world!" is sent to the object "Transcript" in the following code. The characters of the "show:" method's argument (the String literal "Hello, world!") are shown in the transcript ("terminal") window when the method is called. The transcript reads, "Hello, world!" The results of this example would require a Transcript window to be open in order to be visible. Figure 227 : Smallttalk logo 380 567. SML A general-purpose, modular, functional programming language with compiletime type checking and type inference is called Standard ML (SML). It is widely used in the creation of theorem provers, compiler development, and programming language research. The language used in the Logic for Computable Functions (LCF) theorem-proving project is called Standard ML, a contemporary dialect of ML. The formal specification of this language, which is provided as typing rules and operational semantics in The Definition of Standard ML, sets it apart from other widely used languages. [568] 568. Strongtalk Strongtalk is a Smalltalk environment that offers optional support for static typing. Strongtalk's moniker derives from its ability to perform some compile-time checks and provide higher type safety assurances. Although it was initially created as a commercial initiative by a small startup firm called LongView Technologies, it is now non-commercial (trading as Animorphic Systems). [569] 569. Snap! A free, block-based educational graphical programming language and online community called Snap! (previously known as Build Your Own Blocks) enables students to explore, create, and remix interactive animations, games, stories, and more while learning about mathematical and computational concepts. Snap! has many sophisticated features despite being influenced by Scratch. Figure 228. Like Scratch 2, the Snap! Editor and the programs made in it are web applications that run directly in the browser.[570] Figure 228 : Snap! Logo 381 570. SNOBOL Programming languages called SNOBOL ("StriNg Oriented and symBOlic Language") were created between 1962 and 1967 at AT&T Bell Laboratories by David J. Farber, Ralph E. Griswold, and Ivan P. Polonsky. SNOBOL4 was the last of these languages. It was one of several text-string-oriented programming languages created in the 1950s and 1960s, along with COMIT and TRAC. By incorporating patterns as a first-class data type (a data type whose values can be modified in all ways permitted to any other data type in the programming language) and by including operators for pattern concatenation and alternation, SNOBOL4 differs from most programming languages of its time. Similar to later object-oriented languages like JavaScript, SNOBOL4 patterns are a type of object and allow for various manipulations. These patterns are known as regular expressions in JavaScript. Additionally, SNOBOL4 strings produced during execution can be parsed or compiled and executed as programs (as in the eval function of other languages). [571] 571. Snowball Snowball is a compact programming language for handling strings that is used to build stemming algorithms for use in information retrieval. A Snowball script (a.sbl file) is converted into a thread-safe program in ANSI C, Java, Ada, C#, Go, Javascript, Object Pascal, Python, or Rust via the Snowball compiler. Each Snowball script creates a program file and associated header file for ANSI C. (with .c and .h extensions). A typo that had gone unnoticed for 30 years was found in a landmark scholarly publication by Lovins thanks to the Snowball compiler's consistency check of its script. Character strings, signed integers, and boolean truth values—or, to put it more simply: strings, integers, and booleans—are the fundamental datatypes that Snowball handles. Depending on the mode of use, Snowball's characters are either 8 bits wide or 16 bits large. In particular, 16-bit Unicode and ASCII are both supported. In contrast to the explicit usage of words like if, then, and break found in C and many other programming languages, Snowball organizes the flow of control through the implicit use of signals (each statement returns a true or false value). The programming language SNOBOL, which it shares the idea of string patterns sending signals that are used to control the flow of the program, inspired the choice of the name Snowball. Because Snowball "essentially delivers a "suffix STRIPPER GRAMmar," Dr. Martin Porter, the inventor of Snowball, "toyed with the idea of dubbing it a "strippergram"". [572] 382 572. SOL The United States Naval Research Laboratory and Utah State University collaborated to create the Secure Operations Language (SOL). SOL, a domain-specific synchronous programming language for creating distributed applications, was created at the Naval Research Laboratory in the late 1970s and early 1980s based on software engineering principles. A domain-specific language for creating service-based systems is called SOL. A domain-specific Java extension called SOLj is being created concurrently (FTDCS 2007) Sensor networks, military and space systems, healthcare delivery, power control, and other application domains are examples. Dr. Ramesh Bharadwaj from the Naval Research Laboratory and Dr. Supratik Mukhopadhyay from Utah State University are the project's investigators. [573] 573. Solidity For the purpose of building smart contracts on several blockchain systems, most notably Ethereum, Solidity is an object-oriented programming language. Figure 229. It was created by numerous former contributors to the Ethereum core as well as Christian Reitwiessner and Alex Beregszaszi. Solidity programs are executed via the Ethereum Virtual Machine. [574] Figure 229 : Solidity logo 383 574. SOPHAEROS The AECL and French Nuclear program simulate the transfer of fission products in the reactor chamber using the computer code SOPHAEROS. It is used by AECL for fuel channel safety evaluations and uses a set of aerosol dynamic rules to predict the behavior of fission products. [575] 575. Source A group of JavaScript dialects known as Source were created for the book Structure and Interpretation of Computer Programs, JavaScript Edition (SICP JS). The JavaScript Source 1, Source 2, Source 3, and Source 4 sublanguages are created to be just expressive enough to accommodate each chapter's examples. [576] 576. SPARK SPARK is a clearly defined programming language for computers that is based on the Ada programming language and designed for the creation of high integrity software for use in systems where dependable and predictable functioning is crucial. It makes it easier to create apps that need to be safe, secure, or have business integrity. The SPARK language originally existed in three iterations, SPARK83, SPARK95, and SPARK2005, each based on a different version of the Ada programming language. [577] On April 30, 2014, the SPARK language's fourth iteration, SPARK 2014, based on Ada 2012, was made available. The language and accompanying verification tools have undergone a complete redesign for SPARK 2014. The SPARK language is a well-defined subset of Ada that uses contracts to specify component specification in a way that can be verified both statically and dynamically. The contracts in SPARK83/95/2005 are encoded as Ada comments, so any standard Ada compiler will ignore them. However, the SPARK "Examiner" and its companion tools process them. Figure 230. In contrast, SPARK 2014 integrates contracts into the language's core by using the builtin "aspect" syntax of Ada 2012. Based on the GNAT/GCC infrastructure, the primary tool for SPARK 2014 (GNATprove) reuses essentially the complete GNAT Ada 2012 front-end. Figure 230 : SPARK logo 384 577. Speakeasy Speakeasy was an interactive environment for numerical computing that included an interpreted programming language. Theoretical physicist Stanley Cohen first created it for use internally at the Physics Division at Argonne National Laboratory. He finally established Speakeasy Computing Corporation to sell the program. [578] A particularly durable numerical package is Speakeasy. The most recent version of the environment, which was launched in 2006, was really constructed around a core dynamic data repository called "Named storage" that was established in the early 1960s. Speakeasy was created with the intention of simplifying the computing labor of physicists at the Argonne National Laboratory. Figure 231. Figure 231 : Speakeasy logo 578. Speedcode For an IBM computer, the first high-level programming language was called Speedcoding, Speedcode, or SpeedCo. John W. Backus created the language in 1953 for the IBM 701 in order to facilitate calculation with floating point values. The challenge of configuring the IBM SSEC computer when Backus was employed to compute astronomical locations in early 1950 gave rise to the concept. The speedcoding system, an interpreter, prioritized usability over system resources. Logarithms, exponentiation, and trigonometric operations were all presented as fictitious instructions. Pseudo-instructions were examined by the on-site program one at a time, and the proper subroutine was then called. Additionally, the first time decimal input/output operations were used was with speedcoding. Although technique significantly decreased the amount of work required to write numerous jobs, Speedcoding typically resulted in programs that ran ten to twenty times slower than machine code. The interpreter used 310 memory words, or roughly 30% of the 701's memory capacity. [579] 385 579. SPITBOL The programming language SNOBOL4 has a compiled implementation called SPITBOL (Speedy Implementation of SNOBOL). It was first designed to run on IBM's System/360 and System/370 systems, but it has since been ported to the majority of popular microprocessors, including the SPARC. Robert Dewar and Ken Belcher, who were students at the Illinois Institute of Technology at the time, developed it. Because of its dynamic nature, SNOBOL4 was believed to be slow, memory-intensive, and hard to compile before the invention of SPITBOL. While delayed binding prevents all judgments from being made at compile time, SPITBOL uses a number of different tactics to make them as soon as feasible. There are current iterations of the SPITBOL compiler. Since 2001, the GNU General Public License has been used to make the source code for the original SPITBOL 360 compiler public. An implementation of SPITBOL created in the 1970s by Robert Dewar and Anthony P. McCann is known as MACRO SPITBOL. MINIMAL, an abstract machine's assembly language, is used to program MACRO SPITBOL. The instruction set is deliberately designed to provide for some flexibility in implementation, allowing for the use of hardware operations that are advantageous for string processing. By converting MINIMAL into MICRAL using a translator that was itself built in SPITBOL, MINIMAL was implemented for interpretation on microcomputers. The MICRAL interpreter and the MICRAL version of MACRO SPITBOL ran in less than 40K bytes. A collection of machine code macro substitutions that reduce the amount of space needed for the object code and macro table are used to achieve MICRAL's severe object code compression. Although efficient heuristics only produce answers that are close to ideal, known methods for an optimal solution to this problem are extremely complex. [580] On April 17, 2009, the MACRO SPITBOL source code was made available under the GNU General Public License. 386 580. SP/k A subset of the PL/I programming language called SP/k was created around 1974 by R.C. Holt, D.B. Wortman, D.T. Barnard, and J.R. Cordy with the intention of teaching programming. Over 40 universities, institutions, and research facilities in Canada and the US used it for about ten years. One of the first programming languages created with structured programming in mind was SP/k. The SP/k language's features were chosen to promote systematic problem solving by computers, make it simple to learn and use, get rid of unnecessary and confusing constructions, and make compiling the language simple. The resulting language was appropriate for introducing programming ideas used in a variety of contexts, including business data processing, mathematical calculations, and nonnumeric computation. A series of language subsets known as SP/1, SP/2,... SP/8 make up SP/k. A progressive system for teaching computer programming is formed by each subset, which adds new programming language elements while keeping all of the constructs from earlier subsets. Each subset is clearly defined, complete, and independent; it may be learnt or used without the subsequent subsets. This makes it possible for several tiers of programming education. The Turing programming language was greatly influenced by the structure and philosophy of SP/k. [581] 581. SPS For the IBM 1401 machine, the first in the IBM 1400 series, Gary Mokotoff of IBM's Applied Programming Department created the Symbolic Programming System (SPS), an assembler. According to one account, "IBM announced this programming system with the machine." SPS-2 required at least 4K memory, but SPS-1 could be run on a basic computer with 1.4K memory. In its first run, SPS-1 punched one card for each input instruction, and pass 2 required reading this deck. SPS-1 was superseded by assemblers at the University of Chicago and many other locations, who took advantage of the often used 4K memory configuration to pack the output of pass one into many instructions per card. Other assemblers were created that stored the pass-one output for short programs in memory. Additional assemblers, programming languages, and report generators were made available as the 1400 series developed, eventually replacing SPS in most sites. [582] 387 582. SQL For managing data stored in a relational database management system (RDBMS) or for stream processing in a relational data stream management system, programmers utilize the domain-specific language known as structured query language, or SQL (RDSMS). It is especially helpful when managing structured data, or data that includes relationships between entities and variables. Compared to more traditional read-write APIs like ISAM or VSAM, SQL has two key advantages. The idea of accessing numerous records with a single command was first proposed. The requirement to define how to access a record, such as with or without an index, is also removed. [583] Data query language (DQL), data definition language (DDL), data control language (DCL), and data manipulation language are some of the common sublanguages of SQL. SQL was originally based on relational algebra and tuple relational calculus (DML). Data query, data manipulation (insert, update, and delete), data definition (schema development and change), and data access control are all included in the scope of SQL. Despite being primarily a declarative language (4GL), SQL also has procedural components. Edgar F. Codd's relational model was one of the first commercial languages to be used. His seminal 1970 paper, "A Relational Model of Data for Large Shared Data Banks," defined the model. It became the most used database language despite not entirely adhering to Codd's relational paradigm. In 1986, the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO) recognized SQL as a standard. Since then, a wider range of functionality have been added to the standard. Despite the fact that there are standards, the majority of SQL code needs to be modified at least slightly before being transferred to different database systems. 388 583. SQR A programming language called SQR (Hyperion SQR Production Reporting, Part of OBIEE) is made for creating reports from database management systems. Structured Query Reporter, the name's initials, suggests that it is related to SQL (Structured Query Language). An SQR application can contain any SQL statement embedded within it. The scalar data types in SQR are four. The first three are composed of three types of variables: numeric (variables beginning with "#"), character string ("$"), and date ("$," the same as with character string variables). In order to distinguish them from character string variables, date variables must be stated. There are various sorts of numerical variables, including integer, floating point, etc. Variables in database columns start with "&." The only command that can change the values of database columns is a SQL "select" query. [584] An array data structure is used by SQR. One or more fields, each of which is one of the various kinds, make up an array. SQR is the equivalent of two-dimensional arrays since each field may occur more than once. Multiple items can be changed by SQR instructions within a single array. Four control structures make up SQR. If-else-end, while-end, and evaluate are the first three. The fourth option is the embedded SQL "select" statement, which enables looping execution of SQR operations for each row of data. To open, read, write, add, and close computer files, use SQR's instructions. Only sequential, record-oriented file input and output is supported; random access is not. 584. Squeak A class-based, object-oriented, and reflective programming language is called Squeak. It was created using Smalltalk-80 by a team that included some of the program's original creators, first at Apple Computer and then at Walt Disney Imagineering, where it was meant to be used for internal Disney projects. Figure 232 Later on, the group would receive funding from HP Labs, SAP, and most recently, Y Combinator. [585], Figure 233. Figure 232 : Squeak logo 389 Figure 233 : Squeak windows 585. Squirrel In order to satisfy the size, memory bandwidth, and real-time demands of applications like video games, the high level imperative, object-oriented programming language Squirrel was created. Squirrel serves as the foundation for MirthKit, a straightforward toolset for creating and disseminating open source, cross-platform 2D games. Both Code::Blocks and Final Fantasy Crystal Chronicles: My Life as a King made considerable use of it for scripting. Additionally, it is utilized for scripted events in Left 4 Dead 2, Portal 2, Thimbleweed Park, and NewDark, an unofficial engine update for Thief 2: The Metal Age. This is in addition to the standard C scripting. [586] 390 586. SR A programming language called SR, or Synchronizing Resources, was created for concurrent programming. Resources can be individually compiled, and they encapsulate processes and the variables they share. The main way processes interact is through operations. The methods for invoking and servicing operations are provided with an innovative integration by SR. As a result, it enables shared memory, semaphores, multicast, local and remote procedure call, rendezvous, message passing, and dynamic process formation. The Apollo, DECstation, Data General AViiON, HP 9000 Series 300, Multimax, NeXT, PA-RISC, RS/6000, Sequent Symmetry, SGI IRIS, Sun-3, Sun-4, and other platforms have all received porting of version 2.2. [587] 587. S/SL James Cordy, Ric Holt, and David Wortman created the Syntax/Semantic Language (S/SL) at the University of Toronto in 1980 as an executable high level specification language for recursive descent parsers, semantic analyzers, and code generators. Small programming language S/SL defines input, output, and error token names (& values), semantic mechanisms (class interfaces whose methods are actually escapes to routines in a host programming language but allow good abstraction in the pseudocode), and a pseudocode program that defines the syntax of the input language by the token stream it accepts. The language contains constructions for alternation, control flow, and one-symbol look-ahead. This pseudocode is converted by the S/SL processor into a table (byte-codes), which the S/SL table-walker interprets (interpreter). Although additions enable it to process any LR(k) language rather simply, the pseudocode language processes the input language in LL(1) recursive descent mode. Excellent syntax error recovery and correction are features of S/SL. It can be slower but is more transparent and powerful than Yacc. It has been used to implement all phases of compilation, including scanners, parsers, semantic analyzers, code generators, and virtual machine interpreters in multi-pass language processors. S/"semantic SL's mechanisms" extend Its capabilities to all phases of compilation. PL/I, Euclid, Turing, Ada, and COBOL production commercial compilers, as well as interpreters, command processors, and a variety of domain-specific languages, have all been implemented using S/SL. The ZMailer mail transfer agent uses S/SL to define both its mail router processing language and its RFC 822 email address validation. It is the main technology used in IBM's ILE/400 COBOL compiler. [588] 391 588. Starlogo At the Massachusetts Institute of Technology (MIT) Media Lab and Scheller Teacher Education Program in Massachusetts, Mitchel Resnick, Eric Klopfer, and others created the agent-based simulation language known as StarLogo. It is a dialect of the programming language Logo, a subset of Lisp. Students can utilize StarLogo, which was created for educational purposes, to replicate or model the behavior of decentralized networks. On a Connection Machine 2 parallel computer, the original StarLogo operated. A later version was compatible with Macintosh machines. Later, it was given the moniker MacStarLogo; it is currently known as MacStarLogo Classic. The current version of StarLogo was created in Java and is compatible with the majority of machines. Another kind of StarLogo is called OpenStarLogo. Although its source code is accessible online, The Open Source Definition does not consider the license under which it was made available to be an open-source license due to limitations on the code's use for commercial purposes. [589] 589. Strand Strand is a high-level symbolic language, akin to Prolog in syntax, for parallel computing. The British Computer Society Award for Technical Innovation 1989 went to Artificial Intelligence Ltd. for Strand88. Computer scientists Stephen Taylor and Ian Foster developed the language. [590] 392 590. Stata The general-purpose statistical software package Stata (STAY-ta, also spelled STATA on occasion) was created by StataCorp for data management, visualization, statistics, and automated reporting. Researchers from a variety of disciplines, including biology, epidemiology, sociology, and science, use it. Figure 234. The first version of Stata, which was created by the Computing Resource Center in California, was released in 1985. The business changed its name to Stata Corporation— later StataCorp—in 1993 after relocating to College Station, Texas. A brand-new graphics system and dialog boxes for every command were part of a significant 2003 version. Every two years since, a new version has been launched. The most recent version, Stata 17, was made available in April 2021. [591] Figure 234 : Stata logo 393 591. Stateflow A control logic tool called Stateflow (created by MathWorks) is used to represent reactive systems using state machines and flowcharts inside of a Simulink model. Stateflow allows for the depiction of hierarchy, parallelism, and history within a state chart by utilizing a variation of the David Harel finite-state machine terminology. State transition tables and truth tables are also provided by Stateflow. [592] In models of hybrid systems, while continuous dynamics (i.e., the behavior of the plant and environment) are given using Simulink, the discrete controller is typically specified using Stateflow. Figure 235. Applications that specifically use Stateflow include: • Mode logic, where a state is used to represent each discrete mode of a system. • Task scheduling, where the Stateflow chart is used to plan when specific tasks occur, either within the Stateflow chart or throughout the larger Simulink model. • Fault management, where the Stateflow chart is used to control how the system responds to faults and failures within a system. Figure 235 : Control logic for an automatic transmission system 394 592. Subtext For creating application software, Subtext is a moderately visual programming language and environment. By treating copied blocks as first class prototypes for program structure, an experimental research project aims to create a new programming paradigm called Example Centric Programming. For frequent feedback, it employs live text, which works similarly to what happens in spreadsheets when users edit cells. The goal is for it to eventually mature to the point of being a useful language for everyday use. Although the licensing has not yet been decided, it is intended to be open software.[593] 593. SBL Over the course of more than 20 years, Superbase, an end-user desktop database tool, was converted from the Commodore 64 to a number of operating systems. A programming language to automate database-oriented operations has also typically been provided, and later versions added WYSIWYG form and report designers in addition to more advanced programming features. [594] 594. SuperCollider James McCartney first introduced the SuperCollider environment and computer language for real-time audio synthesis and algorithmic composition in 1996. Since then, it has matured into a tool utilized and improved upon by both sound scientists and sound artists. It's a dynamic programming language that offers a foundation for algorithmic music, interactive programming, live coding, and acoustic research. [595] SuperCollider is free and open-source software that was first distributed under the conditions of the GPL-2.0-or-later in 2002 and under the GPL-3.0 - or-later as of version 3.4. Figure 236. Figure 236 : SuperCollider logo 395 595. Superplan Heinz Rutishauser created the high-level programming language Superplan between 1949 and 1951. The name is a play on the term "Rechenplan," which in Konrad Zuse's terminology refers to a single Plankalkül program. In his 1951 book About automatic calculation plans for program-controlled computing machines, Rutishauser described the language (i.e. Automatically created Computation Plans for ProgramControlled Computing Machines). [596] 596. SuperTalk SuperCard's scripting language is called SuperTalk. HyperTalk's ancestor is SuperTalk.[597] 597. Swift (Apple programming language) Swift is a multi-paradigm, general-purpose programming language that was created by Apple Inc. and the open-source community. Swift was created as a replacement for Apple's earlier programming language Objective-C, which had been largely unchanged since the early 1980s and lacked modern language features. Swift was first released in 2014. A crucial component of Swift's design was its ability to interact with the vast body of Objective-C code created for Apple products over the previous decades. Swift works with Apple's Cocoa and Cocoa Touch frameworks. It has been a part of Xcode since version 6, which was released in 2014, and was created using the free and open-source LLVM compiler framework. It makes use of the Objective-C runtime library on Apple platforms, allowing C, Objective-C, C++, and Swift code to coexist in a single program.[598] 598. Swift (parallel scripting language) A script can be written in the inherently parallel programming language SSwif to distribute the execution of programs over distributed computing resources, such as clusters, clouds, grids, and supercomputers. Swift implementations are Apache License 2.0 compliant open-source software .[599] 396 599. SYMPL The Control Data Corporation (CDC) created the defunct programming language SYMPL for the CDC 6000 line of computers in the 1970s and 1980s. It was built using a portion of the CDC's JOVIAL programming language as an alternative to assembly language. Compilers, libraries, a full-screen editor, and significant subsystems were among the significant CDC software items that were implemented in SYMPL. SYMPL is an imperative, procedural, and compiled language. In contrast to the current Fortran, SYMPL supports: stronger data typing: Before use, all variables must be declared. boolean variables, status (enumerated integer) variables, variable bit width integers (both signed and unsigned), Data structures, such as those that are "based" and dynamically allocated. programming constructs with a structure, Nested methods, In-fix Character manipulation and "bead" a straightforward macro tool The fact that arrays of multi-item variables can be specified with either a "serial" or "parallel" memory architecture is a very unique feature of SYMPL, which is also present in JOVIAL tables. As is typical in most computer languages, a "serial" layout includes array elements following one another in memory. All of the various things contained within each entry of the array are grouped together in a "parallel" pattern. For instance, if each array entry contains the items x, y, and z, a parallel layout would group x[0]...x[n], y[0]...y[n], and z[0]...z[n] together in memory. Since they are all adjacent to one another, this has the effect of perhaps speeding up access to all the identical elements throughout the array. Compared to JOVIAL, there are some simplifications, such as the lack of a fixed point data type, table structures, and the COMPOOL idea. However, a CDC-specific system text capability allows encapsulation of typical data declarations in place of COMPOOLs. [600] 600. T T is a dialect of the Scheme programming language created by Yale University's Jonathan A. Rees, Kent M. Pitman, and Norman I. Adams in the early 1980s as a language implementation and design experiment. [601] 601. TACL The scripting programming language used by Tandem Computers serves as the shell and is called TACL (the Tandem Advanced Command Language). [602] 397 602. TACPOL The United States Army created the block-structured programming language TACPOL (Tactical Procedure Oriented Language) for the TACFIRE Tactical Fire Direction command and control application. PL/I and TACPOL are comparable. [603] 603. TADS (Text Adventure Development System) Interactive fiction (IF) games can be made using the Text Adventure Development System (TADS), a domain-specific programming language and set of standard libraries.[604] 604. TAL Block-structured, procedural Transaction Application Language, also known as TAL (formerly "Tandem Application Language"), is a language designed specifically for Tandem hardware. TAL resembles a hybrid of Pascal and C. For Tandem CISC machines, which lacked an assembler, it served as the first system programming language. A microprogrammed CISC instruction set was intimately related and optimized with the design concept of TAL, an extension of Hewlett Packard's SPL. A series of instructions that altered data on a transient floating register stack could simply be produced from each TAL statement. The memory allocation and call stack for the program floated above the register stack itself. With BEGIN and END statements, the language itself has the appearance of ALGOL or Pascal. However, its semantics resemble C much more. It does not support passing complicated structured parameters by value, indefinite levels of function nesting, or the rigorous typing of the majority of variable references. Using pointers to structures, sporadic overlays, deliberate string handling, and casts where necessary, programming approaches are quite similar to C. [605] Integers of the 8 bit, 16 bit, 32 bit, and (after introduced) 64 bit sizes are among the available datatypes. There was support for null terminated character strings at the microcode level. But this is not frequently employed. The Tandem NonStop operating system was initially created in TAL. Recently, TAL was deprecated in favor of new development, and a large portion of it was rewritten in C. TAL was updated/replaced with pTAL during the transition from CISC to RISC. Compilers allowed TAL to be accelerated/re-compiled into Native RISC Applications. Once again, compilers enable TAL and pTAL code to be accelerated/re-compiled into native Itanium Applications in the current move from RISC to Intel Itanium 2. 398 605. Tcl Tcl is a high-level, general-purpose, interpreted, dynamic programming language (pronounce "tickle" or use as an initialism). It was intended to be really straightforward but strong. Even programming constructs like variable assignment and procedure declaration are transformed by Tcl into commands. Tcl supports a variety of programming paradigms, including procedural, imperative, and functional programming. [606] 606. Tea Tea is a sophisticated Java environment scripting language. It mixes elements of Java, Scheme, and Tcl. [607] 607. TECO (Text Editor and Corrector) Originally created in 1962 for use on Digital Equipment Corporation computers, TECO—short for Text Editor & Corrector—is a character-oriented text editor and programming language that is now supported by PCs and Unix. TECO was created by Dan Murphy while he was a student at the Massachusetts Institute of Technology (MIT).[608] 608. TELCOMP A computer language called TELCOMP was created by Bolt, Beranek, and Newman (BBN) about 1964 and was used up until at least 1974. TELCOMP was a paid service that BBN provided, with the first payment coming in October 1965. In 1972, the service was sold to On-Line Systems, Inc. TELCOMP was made available in the UK by Time Sharing, Ltd, a joint venture between BBN and businessman Richard Evans.[609] 609. TeX TeX, abbreviated as TEX within the system, is a typesetting system created and written by Stanford University professor and computer scientist Donald Knuth. It was first made available in 1978. TeX is one of the most advanced digital typographical systems and is frequently used to typeset complicated mathematical calculations. [610] 399 610. TEX (Text Executive Programming Language) A new programming language for their time-sharing service called TEX, an acronym for the Text Executive text processing system, was introduced in 1979 by Honeywell Information Systems. Around the same time as AWK, TEX was a firstgeneration scripting language created by Honeywell for use as an internal system test automation tool. [611] The Honeywell Time-Sharing service (TSS) line editor was given programmable capabilities by TEX, giving users more freedom to create easy-to-use editing extensions and write scripts to automate a variety of other time-sharing tasks that were previously carried out by more intricate TSS FORTRAN programs. 611. TIE Tensilica Instruction Extension, a proprietary language, is used to modify the Xtensa processor core design. By adding special instructions and register files, making TIE Ports and Queues for interprocessor communication, and adding pre-configured extensions (like Tensilica's DSP), the user can modify the Xtensa architecture using TIE. Software programs can benefit greatly from user-defined instructions that are properly targeted, and multiprocessor communication is made simpler by TIE ports and TIE queues, which add distinct input and output interfaces to the processor core. Using the TIE language and Xtensa Xplorer toolset, the development and verification of the instructions required to extend the CPU ISA are automated. The time that is generally required for hardware verification is decreased because to such automation. The time spent on hardware verification, which usually accounts for a sizable portion of the project time for a typical piece of hardware designed for the same functionality, is reduced thanks to such automation. [612] 612. TMG (TransMo Griffer), compiler-compiler Robert M. McClure created the recursive descent compiler-compiler TMG (TransMoGrifier), which was first introduced in 1965. TMG operated on platforms such as OS/360 and early Unix. It was utilized to create EPL, a precursor to PL/I. [613] 613. Tom Programming various transformations on tree structures and XML-based documents is a specialty of the programming language Tom. Tom is a language extension that enhances C and Java with new matching primitives and support for rewriting rule systems. A strategy language can be used to control the rules. [614] 400 614. Toi The fundamental features of a programming language are provided by Toi, an imperative, type-sensitive language. Paul Longtine created and built the language from the bottom up. Toi is a learning tool (or toy, hence the name) for those wishing to become acquainted with the inner workings of a programming language. It was written in C with the intention of being an educational experience. [615] 615. Topspeed (Clarion) Database applications are created using Clarion, a commercial, proprietary, multi-paradigm, fourth-generation programming language (4GL), and integrated development environment (IDE) from SoftVelocity. It can read and write several flat file desktop database formats, such as ASCII, comma-separated values (CSV), DOS (binary), FoxPro, Clipper, dBase, and some relational databases via ODBC, Microsoft SQL Server, Sybase SQL Anywhere, and Oracle Database through the use of accelerated native database drivers, as well as XML. Clarion is compatible with the indexed sequential access method (ISAM), Structured Query Language (SQL [616] 616. TPU (Text Processing Utility) A special programming language called DECTPU was created by Digital Equipment Corporation (DEC) to make it simple to create multi-functional text editors.[617] Part of OpenVMS is TPU. It can be used on a console, a terminal, or a graphical operating system like DECwindows. 617. Trac Calvin Mooers created the TRAC (for Text Reckoning And Compiling) Language between 1959 and 1964, and L. Peter Deutsch implemented it for the PDP-1 for the first time in 1964. It was one of Ted Nelson's three suggestions for "first languages" in Computer Lib. At least until 1984, when Mooers modified TRAC T64 to TRAC T84, TRAC T64 was in use. [618] 618. TTM TTM is a general-purpose, string-oriented programming language for macro processing that was created in 1968 at the California Institute of Technology by Steven Caine and E. Kent Gordon. [619] 401 619. T-SQL (Transact-SQL) The proprietary Transact-SQL (T-SQL) addition to SQL (Structured Query Language), which is used to communicate with relational databases, was developed by Microsoft and Sybase. Procedural programming, local variables, numerous support functions for string processing, date processing, mathematics, etc., as well as modifications to the DELETE and UPDATE statements are all additions to the SQL standard that T-SQL makes. The Microsoft SQL Server interface relies heavily on Transact-SQL. Regardless of the program's user interface, any application that interacts with a SQL Server instance sends Transact-SQL commands to the server. SQL Server's stored procedures are server-side programs that can be run. The ability to pass parameters is a benefit of stored procedures. [620] 620. Transcript (LiveCode) Cross-platform fast application development runtime system LiveCode (formerly Revolution and MetaCard) was inspired by HyperCard. It includes the xTalk scripting language family member LiveCode Script (formerly MetaTalk), which is similar to HyperTalk from HyperCard. [621] 621. TTCN (Tree and Tabular Combined Notation) A computer language called TTCN is used to test web services and communication protocols. Numerous test cases created in the TTCN programming language make up a TTCN test suite. The language was known as Tree and Tabular Combined Notation and was written in tables prior to version 2. Special TTCN editors were needed to read and edit this language. TTCN was changed to Testing and Test Control Notation with version 3. It may now be edited using conventional editors and is more similar to modern programming languages. TTCN-3 is more adaptable than TTCN-2 since it can be used to test both protocols and conventional software. For execution, all versions of TTCN require certain compilers or interpreters. TTCN is frequently used, for instance, by ETSI and ITU, to test telecommunication protocols. Additionally, TTCN has been used to write the conformance test cases for ETSI protocols like ISDN, DECT, GSM, EDGE, 3G, and DSRC. It is now also used to test several protocol standards, such Bluetooth and IP. These test cases are run against goods (such as telephones, mobile phones, service enablers, or network components) to see if the protocol implementation complies with the specifications laid out by telecommunication standards. TTCN and ASN.1 are frequently mixed.[622] 402 622. Turing Turing is a high-level, general-purpose programming language that was created in 1982 at the University of Toronto in Ontario, Canada, by Ric Holt and James Cordy. It was created to make learning to code easier for students enrolling in their first computer science course. Turing is a language with a clear syntax and precise machineindependent semantics that is related to Pascal, Euclid, and SP/k. The most recent stable version of Turing is 4.1.0. Turing 4.1.1 and 4.1.2 do not support stand-alone operations. The syntax and functionality of Turing versions prior to 4.1.0 are out-of-date and must be used with newly produced exe files. [623] 623. TUTOR (PLATO Author Language) Programming language TUTOR, often called PLATO Author Language, was created at the University of Illinois at Urbana-Champaign starting in 1965 for use on the PLATO system. Paul Tenczar originally created TUTOR with computer-assisted instruction (CAI) and computer-managed instruction (CMI) (in computer programs referred to as "lessons) in mind. This is why it has many features). For instance, TUTOR provides strong answer-parsing and answer-judging commands, visuals, and capabilities to make it easier for teachers to manage student data and statistics. The adaptability of TUTOR and the processing power of PLATO (running on what was considered a supercomputer in 1972), additionally made it appropriate for the development of games, such as flight simulators, combat games, multiplayer roleplaying dungeon games, card games, word games, and educational games for medical lessons like Bugs and Drugs (BND). TUTOR is still used today as the programming language for the Cyber1 PLATO System, which as of June 2020 had about 5000 users and ran the majority of the original PLATO source code. [624] 403 624. TXL Charles Halpern-Hamu and James Cordy created the special-purpose programming language TXL in 1985 at the University of Toronto. The initials "TXL" were meant to stand for "Turing eXtender Language," which was the name given to the language for its initial use in specifying and quickly prototyping extensions and variants of the Turing programming language. However, this meaning has since been lost. Modern TXL is especially made for quickly prototyping language-based tools, apps, and descriptions via source transformation. It is a hybrid functional/rule-based language that uses term rewriting at the lower level and first order functional programming at the higher level.The formal semantics and implementation of TXL are based on formal term rewriting, however due to the pattern specification's example-like format, the user is mostly unaware of the term structures. Each TXL program consists of two parts: a description of the source structures to be transformed, specified as a (possibly ambiguous) context-free grammar using an extended Backus-Naur Form; and a set of rules for the transformation of the tree, specified as a combination of pattern and replacement pairs using first order functional programming. Agile parsing and other grammar-based strategies can be expressed using TXL, which is designed to give explicit programmer control over the interpretation, application, order, and backtracking of both parsing and rewriting rules. The first part uses pattern matching to parse the input expression into a tree. The altered output is created by the second component using Term-rewriting in a manner similar to Yacc. [625] TXL is most frequently used for quick development of new programming languages and dialects as well as software analysis and reengineering tasks like design recovery. 404 625. TypeScript Microsoft created and maintains the free and open source programming language known as TypeScript. It is a strict superset of JavaScript in terms of syntax and gives the language optional static typing. It transpiles to Javadialect and is made for the creation of huge applications. Existing JavaScript programs are also valid in TypeScript because it is a superset of JavaScript. JavaScript applications can be created with TypeScript for server-side and client-side execution (as with Node.js or Deno). There are numerous transpilation alternatives. To translate TypeScript to JavaScript, either the built-in TypeScript compiler or the Babel compiler can be used. Similar to how C++ header files can describe the structure of existing object files, TypeScript provides definition files that can contain type information about existing JavaScript libraries. As a result, values described in the files can be used by other applications much like statically typed TypeScript entities. For well-known libraries like jQuery, MongoDB, and D3.js, there are third-party header files. It is also possible to create Node.js programs using TypeScript thanks to the availability of TypeScript headers for the Node.js library modules. [626] TypeScript is used to write the TypeScript compiler, which is then translated into JavaScript. It has an Apache License 2.0 license. TypeScript was developed by Anders Hejlsberg, the chief architect of C# and the man behind Turbo Pascal and Delphi. 626. Tynker Tynker is a platform for learning programming for kids that teaches them game design, web design, animation, and robotics. It offers classes in Python, CSS, Python Modding, Creative Coding, and Minecraft Game Design. Tynker may be used in browsers, on tablets and smartphones, and is built on HTML5 and JavaScript. [627] 405 627. Ubercode Umple is a language for modeling with class diagrams and state diagrams as well as object-oriented programming. A portmanteau of "UML," "ample," and "Simple," the term Umple denotes that it is intended to offer sufficient functionality to augment programming languages with UML capabilities. [628] High level programming language Ubercode was created by Ubercode Software and made available for Microsoft Windows in 2005. Eiffel and BASIC have an influence on Ubercode. It is proprietary software and offers a 30-day free trial. Ubercode's design objectives are as follows: 1. A language that can be compiled into Windows EXE files. 2. Automatic memory management—memory is automatically allocated and freed, and the language lacks primitives for memory management. 3. Pre and post conditions are run-time claims that, like in Eiffel, are joined to function declarations. 4. High-level data types, such as resizable arrays, lists, and tables, can include any number of elements. 5. Integrated file handling—basics for handling text, binary, CSV, XML, and dBase files transparently. 6. Ease of use—the language's structure is comparatively straightforward, making it approachable for newcomers. 628. UCSD Pascal The UCSD p-System, a mobile, mostly machine-independent operating system, powers the UCSD Pascal programming language system. 1977 saw the initial release of UCSD Pascal. The University of California, San Diego is where it was created (UCSD).[629] 629. Umple Umple is a language for modeling with class diagrams and state diagrams as well as object-oriented programming. A portmanteau of "UML," "ample," and "Simple," the term Umple denotes that it is intended to offer sufficient functionality to augment programming languages with UML capabilities. [630] 406 630. Unicon American computer scientist Clint Jeffery created the programming language Unicon with help from collaborators Shamim Mohamed, Jafar Al Gharaibeh, Robert Parlett, and others. Icon and its IDOL preprocessor were the ancestors of Unicon. In comparison to Icon, Unicon provides superior operating system access and objectoriented programming capability. A POSIX filesystem and networking interface, an ODBC facility, and an OO preprocessor called Idol were the original three Icon extensions that were combined to create Unicon. "Unified Extended Dialect of Icon" is the name's acronym. [631] 631. Uniface Uniface is a low-code platform for enterprise application development and deployment that may run in a variety of runtime environments, such as mobile, mainframe, web, Service-oriented architecture (SOA), Windows, Java EE, and.NET. Applications that are mission-critical are developed using Uniface. Platform and database dependencies are irrelevant to Uniface applications. All major DBMS solutions, including Oracle, Microsoft SQL Server, MySQL, and IBM Db2, can be integrated with Uniface applications thanks to a framework that Uniface offers for integration. Additionally, Uniface supports a wide range of other technologies, including IBM mainframe-based products (CICS, IMS), web services, SMTP, POP email, LDAP directories,.NET, ActiveX, Component Object Model (COM), C(++) programs, and Java. File systems supported by Uniface include RMS (HP OpenVMS), Sequential files, operating system text files, and RMS (HP OpenVMS) file systems. Microsoft Windows, several Unix variants, Linux, CentOS, and IBM I are all supported by Uniface. [632] Complex systems that support mission-critical company operations, such as point-ofsale and web-based online shopping, financial transactions, wage administration, and inventory control, can employ Uniface to preserve vital enterprise data. With an effective installed base of millions of end users, it is presently utilized by thousands of businesses across more than 30 countries. Uniface applications include portals that may be accessed locally, via intranets, and via the internet, as well as client/server and online apps that range from data entry to workflow. The product and business were created in the Netherlands by Inside Automation, later known as Uniface B.V. In 1994, the Detroit-based Compuware Corp purchased the product and business. In 2014, Marlin Equity Partners acquired the product and business and continued to operate it as Uniface B.V. global, with its headquarters in Amsterdam. Rocket Software, a US company with its headquarters in Waltham, Massachusetts, purchased Uniface in February 2021. 407 632. UNITY For their book Parallel Program Design: A Foundation, K. Mani Chandy and Jayadev Misra created the programming language UNITY. It is a theoretical language that emphasizes what rather than where, when, or how things happen. The language lacks a flow control mechanism, thus program statements execute in a nondeterministic manner until they stop causing changes as they are being executed. Programs that would often expire can now operate indefinitely, such as safety systems for power plants or auto-pilot (which here converge to a fixed point). [633] 633. UnrealScript A 3D computer graphics game engine called Unreal Engine (UE) was created by Epic Games and debuted in the 1998 first-person shooter game Unreal. It was initially created for first-person shooter PC games, but it has since been adapted for usage in many different game genres and by other industries, most notably the film and television business. The C++-based Unreal Engine is highly portable and supports a variety of PC, mobile, console, and virtual reality platforms. Figure 237. Unreal Engine 5, the most recent generation, was released in April 2022. After creating an account on GitHub, its source code is accessible, and commercial use is permitted using a royalty structure. Figure 238. The charge is waived if developers publish on the Epic Games Store and is waived by Epic until game makers have made US$1 million in revenue. Epic has integrated Quixellike features into the engine, which is thought to have benefited from Fortnite's financial success. [634] Figure 237 : Unreal Engine 408 Figure 238 : UnrealScript logo 634. Vala The object-oriented programming language Vala leverages the GObject system and has a self-hosting compiler that produces C code. With prominent features including anonymous functions, signals, properties, generics, aided memory management, exception handling, type inference, and foreach expressions, Vala is syntactically comparable to C#. By focusing on the GObject object system, its creators Jürg Billeter and Raffaele Sandrini hoped to add these functionalities to the standard C runtime with minimum overhead and no additional runtime support. It compiles to a lower-level intermediate language rather than directly to machine code or assembly language. It is compiled from source to source to C, which is then put via a platform-specific C compiler like GCC or Clang. Writing vapi files that define the library interfaces is required in order to use functionality from native code libraries. Particularly when based on GObject, writing these interface definitions is widely documented for C libraries. For a wide variety of libraries, including C libraries that are not based on GObject, such as the multimedia library SDL, OpenGL, etc., bindings are currently available. [635] 409 635. Vim script Vim is an acronym for Vi Improved and is a screen-based, open-source text editor. It is a more effective version of Bill Joy's vi. The Stevie editor for the Amiga was ported to create Vim, which was created by Bram Moolenaar and made available to the public in 1991. Vim can be used as a standalone program in a graphical user interface or through a command-line interface. Figure 239. Cross-platform development has made it available on numerous additional platforms since it was first released for the Amiga. Figure 240. It was chosen as the most well-liked editor by Linux Journal readers in 2006; third in a developer survey conducted by Stack Overflow in 2015; and sixth in a 2019 assessment of development environments. This is the Hello World program in Vim script.[636] Echo "Hello, world!" This is a simple while loop in Vim script. Let I = 1 While I < 5 Echo "count is" i Let I += 1 Endwhile Unlet i Figure 239 : Vim script 410 Figure 240 : Vim script 636. Viper (Ethereum/Ether (ETH)) Decentralized and open-source, Ethereum is a blockchain that supports smart contracts. The platform's native cryptocurrency is called Ether (symbolized by ETH with the minus sign). Ether's market valuation is second only to that of bitcoin among cryptocurrencies. 2013 saw the creation of Ethereum by programmer Vitalik Buterin. Gavin Wood, Charles Hoskinson, Anthony Di Iorio, and Joseph Lubin were additional Ethereum founders. Crowdfunding for development work started in 2014, and on July 30, 2015, the network launched. Anyone can publish permanent and unchangeable decentralized applications on Ethereum, allowing users to communicate with them. Without the use of conventional financial intermediaries like brokerages, exchanges, or banks, decentralized finance (DeFi) applications offer a wide range of financial services, such as enabling cryptocurrency owners to borrow money against their holdings or lend them out for interest. Users of Ethereum can also create and exchange NFTs, which are distinctive tokens that indicate ownership of a related asset or privilege and are accepted by a variety of institutions. On top of the Ethereum blockchain, numerous other cryptocurrencies use the ERC-20 token standard, and they have made use of the Ethereum platform for ICOs.[637] In an upgrade procedure known as "the Merge," Ethereum switched from proof-ofwork (PoW) to proof-of-stake (PoS) on September 15, 2022. 411 637. Visual DataFlex DataFlex is a framework-based object-oriented high-level programming language and fourth generation visual tool (4GL) for creating software applications for Windows, the web, and mobile devices. Starting in 1982, Data Access Corporation introduced and developed it. [638], Figure 241. Figure 241 : DataFlex logo 638. Visual DialogScript Microsoft Windows supports the interpreted programming language known as Visual DialogScript (VDS). You can use it to make quick, compact programs. To construct programs with a professional appearance, VDS offers a sizable selection of dialog and graphical components. Because VDS programs have access to the Windows API, it is feasible to create software that can carry out the same complex operations as programs written in languages like Visual Basic, C++, or Delphi. [639] 412 639. Visual FoxPro Microsoft's Visual FoxPro is a procedural programming language with an emphasis on data and OOP features. It was derived from FoxPro, which Fox Software first created in 1984 under the name FoxBASE. In 1992, Fox Technologies and Microsoft combined, and as a result, the software gained new capabilities and the suffix "Visual." On Mac OS, DOS, Windows, and Unix, FoxPro 2.6 operated. Figure 242. The first "Visual" edition of Visual FoxPro 3.0 only supported Windows and Mac operating systems; later versions 5, 6, 7, and 8 were Windows-exclusive. Microsoft has said they do not plan to make a Microsoft.NET version of the COM-based Visual FoxPro that is already available. Version 9.0, released in December 2004 and updated in October 2007 with the SP2 patch, was the final version of the product.[640] Figure 242 : FoxPro Window 413 640. Visual J++ (Visual J plus plus) Microsoft's abandoned Java implementation is called Visual J++. The language's grammar rules, syntax, and keywords were identical to those of Java. It was first released in 1996 and was later discontinued in January 2004. J# and C# largely took its place. Sun Microsystems, the company that created Java, filed a lawsuit against the implementation, MSJVM, since it failed Sun's compliance testing. The MSJVM's support for this was terminated by Microsoft on December 31, 2007. (later Oracle bought Sun, and with it Java and its trademarks). Although it was no longer included with Windows or its web browsers, Microsoft resumed selling Java in 2021. This time, it was their version of Oracle's OpenJDK, which Microsoft plans to support for at least six years for LTS versions, or until September 2027 for Java 17. [641] 641. Visual LISP The computer language Lisp's AutoLISP dialect was created especially for use with the full version of AutoCAD and its offshoots, such as AutoCAD Map 3D, AutoCAD Architecture, and AutoCAD Mechanical. The AutoCAD LT product line does not contain either the application programming interface (API) or the interpreter to run AutoLISP code. The browser-based AutoCAD web program includes a subset of AutoLISP features. [642] 642. Visual Objects Computer programs that run predominantly under Windows are made using the object-oriented computer programming language known as Visual Objects. It is almost mainly used to construct database programs, despite the fact that it may be used as a general-purpose programming tool. As part of Nantucket's efforts to port the Clipper language to Windows and transition from a procedural to an object-oriented paradigm, the initial Visual Objects project (code-named Aspen) was launched. Additionally, it changed Clipper from a p-code system to a full native compiler, added more C language components (such typed variables), and added Windows extensions (such as COM, ODBC, and later ADO).It provides the ability to create name-based connections with its symbol datatype, which can be used to link menu events to object functions or create direct links between server columns and controls. Computer Associates was finally responsible for commercializing the Windows version. Unfortunately, it was launched before it was ready for the market and almost directly competed with the Borland Delphi product's initial release. Although the language is still in use, GrafX Software's most recent release was version 2.8 sp4 in 2012. (version number 2838). After this, no additional versions would be produced, according to GrafX.GrafX created Vulcan.NET, the next iteration of the Visual Objects language, from scratch in order to be both Visual Objects compatible and a real CLS compliant.NET language that fully utilizes the.NET framework. [643] 414 643. Visual Prolog Strongly typed object-oriented Prolog is an extension that was once known as PDC Prolog and Turbo Prolog. Originally developed and marketed by the Danish company PDC, Turbo Prolog was formerly marketed by Borland under the name Turbo Prolog. Figure 243. Microsoft Windows console applications, DLLs (dynamic link libraries), and CGI programs can all be created with Visual Prolog. Additionally, it may use ODBC to connect to databases and COM components. [644] A compiler for Visual Prolog is included, and it produces x86 machine code. Programs created in Visual Prolog are statically typed, in contrast to traditional Prolog. This enables various mistakes to be detected at build time rather than ruframe time. Figure 243 : Visual prolog window 415 644. WATFIV, WATFOR (WATerloo FORtran IV) The computer programming language Fortran is implemented in WATFIV, often known as Waterloo FORTRAN IV, which was created at the University of Waterloo in Canada. It is WATFOR's replacement. From the late 1960s through the middle of the 1980s, Big WATFIV was in use. Later iterations of WATFOR succeeded WATFIV in turn. The system gained popularity as a tool for teaching computer programming to kids because it could accomplish the three common processes ("compile-link-go") in a single pass.[645] 645. WebAssembly For executable programs, WebAssembly (often shortened to Wasm) defines a portable binary-code format, a corresponding text format, and software interfaces for easing interactions with their host environment. Figure 244. WebAssembly's major objective is to make it possible for high-performance programs to run on web pages, but because it doesn't make any web-specific assumptions or offer web-specific capabilities, it can also be used in other environments. In reality, all of the most widely used languages already have at least some level of support because it is an open standard that aspires to support any language on any operating system. WebAssembly, initially released in March 2017 after being announced in 2015, was recommended by the World Wide Web Consortium on December 5, 2019, and in 2021 it won the ACM SIGPLAN Programming Languages Software Award. The World Wide Web Consortium (W3C), which receives support from Mozilla, Microsoft, Google, Apple, Fastly, Intel, and Red Hat, upholds the standard. [646] Figure 244 : WebAssembly logo 416 646. WebDNA A server-side scripting, interpreted language with a built-in database system, known as WebDNA, was created expressly for the World Wide Web. It is mostly used to build apps for dynamic web pages that are driven by databases. The name was published in 1995 and registered as a trademark in 1998. WebDNA Software Corporation currently looks after WebDNA. [647] 647. Whiley With the help of function preconditions, postconditions, and loop invariants, the experimental programming language Whiley supports formal specification. It combines elements of the functional and imperative paradigms. The typing style used by the language is flow typing, sometimes known as flow typing. In response to Tony Hoare's "Verifying Compiler Grand Challenge" from 2003, the Whiley project was launched in 2009. Whiley's initial public release took place in June of 2010. Whiley is an open source project with contributions from a small community that was primarily created by David Pearce. Both teaching undergraduate lectures and student research initiatives have made use of the system. The Marsden Fund of the Royal Society of New Zealand provided funding for it between 2012 and 2014. The Whiley compiler generates code for the Java virtual machine and can Inter-operate with Java and other JVM based languages.[648] 648. Winbatch The term "scripting language" has two distinct but related definitions. Traditionally, scripting languages have been created to automate routine processes, which typically entail calling or delivering instructions to other programs. There are built-in languages in many sophisticated application systems that enable users to automate operations. Scripting languages are sometimes used to describe interpretative languages. There are still quite a few native scripting languages in use, despite the recent trend of many programs having conventional scripting languages like Perl or Visual Basic built in. Numerous scripting languages are translated into platform-neutral bytecode, which is subsequently executed by a virtual machine (compare to Java virtual machine). [649] 417 649. Wolfram Language A generic multi-paradigm programming language called The Wolfram Language was created by Wolfram Research. Figure 245. It can use any structures or data and places an emphasis on symbolic computation, functional programming, and rule-based programming. It is the programming language used by the Mathematica program for doing symbolic computations. [650] Figure 245 : Wolfram language 650. Wyvern Wyvern is a computer programming language developed by Jonathan Aldrich and Alex Potanin with the primary focus on security and assurance for the creation of web and mobile apps. Wyvern attempts to make secure programming easier than unsecure programming by supporting object capabilities, being structurally typed, and other features. The ability to safely use multiple programming languages within the same program is one of the first features that distinguishes Wyvern. This allows programmers to use the language that is most appropriate for each function while also enhancing the program's security. [651] A 'Hello World' program in Wyvern looks as follows: Require stdout Stdout.print("Hello World") 651. X++ (X plus plus/Microsoft Dynamics AX) One of Microsoft's enterprise resource planning software offerings was Microsoft Dynamics AX. It belongs to the family of Microsoft Dynamics. As a component of Microsoft's Dynamics 365 portfolio, the web product's thick-client interface was dropped in 2018 and it was relaunched as Microsoft Dynamics 365 for Finance and Operations. [652] 418 652. X10 The Productive, Easy-to-Use, Reliable Computing System (PERCS) project is being financed by DARPA's High Productivity Computing Systems (HPCS) program, and it is being developed by IBM at the Thomas J. Watson Research Center. [653] 653. xBase++ (xBase plus plus) The object-oriented programming language Xbase++ supports polymorphism and multiple inheritance. It is based on the dialect and standards of the XBase language. It supports multiple inheritance, polymorphism, and object-oriented programming and is 100% Clipper compatible. Figure 246. Codeblocks and other xBase data types are supported. Applications for Windows NT, 95, 98, Me, 2000, XP, VISTA, and Windows 7, 8, and 10 can be created using Xbase++. [654] Figure 246. : xBase++ window 419 654. XBL An XML-based markup language called XBL (XML Binding Language) is used to modify the behavior of XUL widgets. It was developed at Netscape as an addition to XUL in the late 1990s. Firefox was the main application where XBL was used, but Mozilla deprecated it in 2017 and removed it entirely from Firefox in 2019. On the other hand, the UXP fork of Firefox plans to keep supporting XBL forever. Mozilla attempted to standardize XBL 2.0 through the W3C in 2007, but gave up on it in 2012 due to a lack of interest from other web browser vendors. [655] XBL is acknowledged as a significant impact in the Shadow DOM specification. 655. XC (targets XMOS architecture) A fabless semiconductor business called XMOS microcontrollers and audio products. [656], Figure 247. creates multicore Figure 247 :XC logo 656. xHarbour A free extended Clipper compiler that supports several platforms, xHarbour offers a variety of graphic terminals (GTs), including console drivers, GUIs, and hybrid console/GUIs. In addition to significant language syntax improvements, greatly expanded run-time libraries, and extensive third party support, xHarbour is backwards compatible with Clipper. Like the majority of dynamic languages, xHarbour can also be used as a scripting language using an interpreter that is built in the xHarbour language (standalone application, linkable library, MS ActiveScript engine [Windows Script Host, HTML, ASP]). Comp.lang, a Usenet newsgroup on xHarbour. xHarbour is a vibrant community where xHarbour-related questions are discussed. [657] 420 657. XL French computer scientist Christophe de Dinechin has made contributions to operating systems, programming languages, and video games. [658] 658. Xojo Xojo, Inc. of Austin, Texas created and commercially marketed the Xojo programming language and environment for software development aimed at macOS, Microsoft Windows, Linux, iOS, the Web, and Raspberry Pi. Figure 248. An exclusive object-oriented language is used by Xojo. [659] Figure 248 : Xojo logo 659. XOTcl Gustaf Neumann and Uwe Zdun's XOTcl is an object-oriented addition to the Tool Command Language. It is an offshoot of MIT OTcl. A dynamic object system with metaclasses that are influenced by CLOS serves as the foundation of XOTcl. Definitions of classes and methods are entirely dynamic. With the use of filters and decorator mixins, XOTcl offers language support for design patterns. [660] 660. Xod Launched in 2016, XOD is a visual programming language for microcontrollers. XOD began as a supported platform that worked with Raspberry Pi and Arduino boards. It is free and open-source software distributed in accordance with version 3.0 of the GNU Affero General Public License .[661] 421 661. XPL The XPL programming language is based on PL/I and includes a portable onepass compiler designed in its own language as well as a tool for quickly creating equivalent compilers for other languages called a parser generator. In 1967, XPL was created as a tool for teaching compiler design principles and as a place for students to begin creating compilers for their own languages. William M. McKeeman, David B. Wortman, James J. Horning, and others at Stanford University created and deployed XPL. At the 1968 Fall Joint Computer Conference, XPL was initially introduced. The 1971 textbook A Compiler Generator provides a thorough description of the procedures and compiler. They referred to the resulting work as a "compiler generator." But that indicates that creating a compiler for a new language or target requires little to no language- or targetspecific code. A translator writing system would be a better description of XPL. Less new or modified programming code should be used while creating a compiler. [662] 662. XPL0 The computer programming language known as XPL0 is essentially a hybrid of Pascal and C. It functions more like C but has a similar appearance to Pascal. Peter J. R. Boyle developed it in 1976 because he needed a high-level language for his microcomputer and wanted something more complex than BASIC, the then-dominant language for personal computers. The foundation of XPL0 is PL/0, a sample compiler from Niklaus Wirth's book Algorithms + Data Structures = Programs. In ALGOL, the first XPL0 compiler was created. On a Digital Group computer with a 6502 microprocessor at its core, it produced instructions for a pseudo-machine that was put into use as an interpreter. After being converted from ALGOL to XPL0, the compiler was able to self-compile and run on a microcomputer. [663] XPL0 quickly established its value in a number of 6502-based products. Otherwise, the code for these embedded systems would have been written in assembly language, which is far more time-consuming. Boyle created the disk operating system Apex using XPL0. This was offered as an alternative to Apple DOS for the Apple II computer, which was based on the 6502, starting in 1980, along with XPL0. Since then, XPL0 has been implemented on a dozen processors and has gained a number of new features. The original 16-bit integers have been replaced with 32-bit ones in optimizing native code compilers. 422 663. XQuery With vendor-specific extensions for other data formats, XQuery (XML Query) is a query and functional programming language that searches through and transforms collections of organized and unstructured data that are often in the form of text and XML (JSON, binary, etc.). The W3C's XML Query working group created the language. The XSL Working Group, which is in charge of developing XSLT, closely coordinates the work with that group's work on XPath, which is a subset of XQuery. On January 23, 2007, the W3C recommended XQuery 1.0. On April 8, 2014, XQuery 3.0 was designated as a W3C Recommendation. On March 21, 2017, XQuery 3.1 was designated as a W3C Recommendation. "The mission of the XML Query project is to provide flexible query facilities to extract data from real and virtual documents on the World Wide Web, therefore finally providing the needed interaction between the Web world and the database world. Ultimately, collections of XML files will be accessed like databases."[664] 664. XSB The Prolog dialect and implementation known as XSB were created at Stony Brook University in association with Uppsala University, the Katholieke Universiteit Leuven, the New University of Lisbon, and the software provider XSB, Inc. With tabled resolution and HiLog, XSB expands Prolog (a standard extension of Prolog permitting limited higher-order logic programming). There is a Java programming interface included in the open source XSB implementation. [665] 665. XSharp (X#) X#, often known as XSharp or XS, is a programming language for the Microsoft.NET platform that is compatible with xBase. The open source Roslyn architecture, which powers the current Microsoft C# and Visual Basic.NET compilers, is the foundation upon which X# has been created. The xBase programming language family is made up of several dialects, and the X# compiler is designed to handle them all. Core, Visual Objects, Vulcan.NET, xBase++, Harbour, Foxpro, and other languages are supported. Although the project is now still primarily closed source, it is planned to become an opensource community initiative.[666] 423 666. XSLT Extensible Stylesheet Language Transformations, or XSLT, is a programming language that was initially created to convert XML documents into other XML documents or other formats like plain text, HTML for web pages, or XSL Formatting Objects that could then be converted into other formats like PDF, PostScript, and PNG. Later revisions to the XSLT 1.0 specification introduced support for JSON and plaintext transformation. The most current stable version of the language as of August 2022 is XSLT 3.0, which attained Recommendation status in June 2017. Implementations of XSLT 3.0 are compatible with Java,.NET, C/C++, Python, PHP, and NodeJS. Additionally, a Javascript XSLT 3.0 library can be hosted inside of a web browser. Additionally, XSLT 1.0 is natively supported by modern web browsers. When using XSLT, the original document is not altered; instead, a new document is produced using the information from an existing one. XML files are frequently used as input documents, but anything from which the processor can construct an XQuery and XPath Data Model, such as relational database tables or geographic information systems, may also be used. Although XSLT was initially intended to be a special-purpose language for transforming XML, it is Turing-complete, which theoretically enables it to perform any computation. [667] 424 667. Xtend For the Java Virtual Machine, Xtend is a general-purpose high-level programming language. The Java programming language serves as the foundation for Xtend's syntax and semantics, however it emphasizes a shorter syntax and certain extra features like type inference, extension methods, and operator overloading. Although it is largely an object-oriented language, it also has functional programming capabilities, such as lambda expressions. Xtend employs the same type system as Java and is statically typed. Since it is converted into Java code, all current Java libraries work with it without any issues. Figure 249. The Xtend language and its IDE are projects at Eclipse.org that take part in the yearly Eclipse release train. Under the terms of the Eclipse Public License, the code is open source. Yet, the language can be compiled and run independently of the Eclipse platform.[668] Figure 249 : Xtend logo 668. Yorick An interpreted programming language called Yorick was created for numerical computation, graph displaying, and controlling sizable scientific simulation software. Due to the array syntax, it is quite quick and expandable using C or Fortran procedures. David H. Munro of Lawrence Livermore National Laboratory developed it in 1996.[669] 425 669. YQL A query language similar to SQL called Yahoo! Query Language (YQL) was developed by Yahoo! as a part of their Developer Network. Through a single Web interface, YQL is intended to receive and change data from APIs, enabling mashups that let developers build their own apps using the free Yahoo! Pipes tool. After being introduced in October 2008 with access to Yahoo APIs, open data tables from outside sources like Google Reader, the Guardian, and The New York Times were added in February 2009. To access some of these APIs, you still need an API key. On April 29, 2009, Yahoo made it possible to execute data tables created using YQL using JavaScript that were hosted on the company's servers without charge. On January 3, 2019 Yahoo retired the YQL API service.[670] 670. Yoix Yoix is a high-level, all-purpose, interpreted, object-based, dynamic programming language used for computers. The Yoix interpreter just needs a Suncompliant JVM to run because it is implemented using standard Java technology without the use of any add-on packages. Figure 250. It was initially created by AT&T Labs researchers for internal usage, and since late 2000, it has been accessible as free and open source software. [671] Figure 250 : Yoix logo 426 671. Z notation A formal specification language for defining and modeling computing systems is called the Z notation. It aims to clearly specify computer programs and all other computer-based systems. [672] 672. Z shell The Z shell (Zsh) is a Unix shell that may be used as a command interpreter for shell scripting as well as an interactive login shell. Figure 251. Zsh is an improved version of the Bourne shell that incorporates some Bash, ksh, and tcsh features. [673] Figure 251 : Z shell logo 427 673. Zebra, ZPL, ZPL2 Zebra Technologies' Zebra Programming Language (ZPL) is a page description language principally used for labeling applications. ZPL II replaced the previous language, however it is not entirely backwards compatible with it. Some label printers that are not Zebras support ZPL II. Figure 252. Later, the ANSI BASIC oriented Zebra BASIC Interpreter (ZBI), which the manufacturer views as an improvement to ZPL II, was incorporated into printer software. It primarily aims to prevent the need for code restructuring when switching printers if the previous printer's software was created by a rival label printer. A possible use of ZBI could be for when the Zebra printer receives a foreign label format, which it would then convert to ZPL II on the fly so it can be printed.[674] Figure 252 : Zebra logo 428 674. Zeno An imperative procedural programming language named Zeno (after the preSocratic Greek philosopher Zeno of Elea) was created to be user-friendly and simple to learn. In the sense that it comprises the majority of the fundamental building blocks needed by other languages to create practical applications, Zeno is generic. For use with Windows 95 and later Microsoft operating systems, the Zeno Interpreter was created. The interpreter includes with built-in debugging tools, a source code text editor, and an on-line language reference. [675] Stephen R. Schmitt developed Zeno, and Abecedarical Systems is in charge of its upkeep. 675. ZetaLisp Lisp Computer A dialect of the language Lisp is the programming language known as Lisp. It was initially created in the middle to late 1970s as the system programming language for the Massachusetts Institute of Technology (MIT) Lisp machines. It is a direct descendant of Maclisp. Lisp Computer The design of Common Lisp was most heavily influenced by the Lisp dialect of the same name. Lisp Computer Three varieties of Lisp have developed. ZetaLisp is the name of Symbolics' variation. Although Lisp Machines, Inc. and Texas Instruments (with the TI Explorer) used the same code base, their dialect of Lisp Machine Lisp was distinct from the one Richard Stallman and others were maintaining at the MIT AI Lab. [676] 429 676. Zig Andrew Kelley created the imperative, all-purpose, statically typed, compiled system programming language known as Zig. The language supports compile-time generics, reflection and evaluation, cross-compilation, and manual memory management. It is designed for "robustness, optimality, and maintainability." The language aspires to be better than C while also drawing inspiration from other languages, such as Rust. Numerous low-level programming tools, such as packed structs (structs without padding between fields), arbitrary-width integers, and various pointer types, are available in Zig. In addition to being a brand-new language, Zig also has a C/C++ compiler and may be used with either or both of these languages. The main new feature of the latest release is the fact that the (new default) Zig compiler is now written in Zig, making it a self-hosting compiler (the older legacy bootstrapping compiler, written in C++, is still an option but won't be in 0.11). Figure 253. LLVM (now version 15; legacy utilizes version 13) is still the standard backend (i.e., the optimizer), and LLVM is developed in C++. Zig (the compiler, not the code it generated) is 169 MiB with LLVM, compared to 4.4 MiB without LLVM. The previous, now legacy, compiler consumes 3.5 times more memory when compiling, while the new Zig compiler uses significantly less memory and compiles a little quicker. The new compiler typically produces faster executable code (i.e., better LLVM code generation) and fixes numerous errors, however version 0.10 also includes enhancements for the older legacy compiler. The self-hosted compiler and linker work together seamlessly. The updated version also includes some limited support for PlayStation 4 and 5 and experimental (tier-3) functionality for AMD GPUs. A large number of its native targets are supported by the older bootstrapping ("stage1") compiler, which is built in Zig and C++ and uses LLVM 13 as a back-end. The MIT License governs the compiler's open source status. By offering various headers, such as libc and libcxx for many different platforms, the Zig compiler exposes the ability to build C and C++ similarly to Clang using the commands "zig cc" and "zig c++," allowing Zig's cc and c++ sub-commands to operate as cross compilers out of the box. Additionally, (mainly desktop) operating systems are officially supported (and documented), and (minimum) applications for Android can and have been created (with Android NDK, and programming for iOS also possible). Although there are unofficial package managers, Zig doesn't have one of its own. However, a common package manager has a milestone for 0.12. The Zig Software Foundation (ZSF), a nonprofit organization led by Andrew Kelley that accepts donations and employs several full-time staff members, provides funding for the development of the Zig software.[677] 430 Figure 253 : ZIG logo 677. Zonnon A general-purpose programming language, Zonnon belongs to the same family as Oberon, Modula, and Pascal. The author is Jürg Gutknecht. Objects, definitions, implementations, and modules make up its conceptual model. Its concurrent computing approach is built on active objects that communicate through dialogs with strict grammar. Professor Jürg Gutknecht is creating the language at the ETH Zürich Institute for Computer Systems. Zonnon presents the idea of "active objects," which are used in computer programs to simulate concurrent real-world items. Brian Kirk (director at Robinsons Associates), David Lightfoot (Oxford Brookes University), Gutknecht (ETH, Zürich), and Dr. Eugene Zueff (вeни уев) collaborated to write the Zonnon Language Report (Moscow State University). Nizhny Novgorod's N. I. Lobachevsky State University released the first book about Zonnon (a.k.a., Nizhni Novgorod State University). [678] 678. ZOPL Geac Computer Corporation developed the programming language ZOPL in the early 1970s for usage on mainframe computers used in banks and libraries. It was comparable to Pascal and C. "Version Z, Our Programming Language" was the acronym for ZOPL. At CGI Group (previously RealTime Datapro), ZOPL is still in use. In the 1980s, ZOPL was ported to VAX/VMS and Unix, and in 1998, it was ported to Windows. By 2010, it could run on Red Hat Linux, Windows XP, 2000, and 2003. The runtime infrastructure and compiler for the RTM (formerly ZUG) language are created in ZOPL. ZOPL has not been widely used outside of CGI since the late 1980s, however there is still one known functioning system where it is discovered embedded in programs written in the KARL programming language.[679] 431 679. ZPL The array programming language ZPL, also known as Z-level Programming Language, was created to take the place of C and C++ in engineering and scientific applications. ZPL programs execute quickly on both sequential and parallel systems since its design objective was to achieve cross-platform high performance. Because ZPL only uses implicit parallelism, it is simple and straightforward to construct highly parallel ZPL programs. ZPL was created by the Orca Project of the Computer Science and Engineering Department at the University of Washington between 1993 and 1995. It was initially known as Orca C. [680] 680. Z++ The object-oriented extension to the Z specification language is called Z++ (pronounced zed or zee in American English). Classes can be defined in Z++, and classes can be related to one another via inheritance, association, or aggregation. The class is the main Z++ building block. There are a lot of optional clauses in a Z++ class. [681]. 432 References 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ISO 7185 sur le site de Karl Kleine Archived 17 February 2012 on the Wayback Machine . Web site, https://github.com/AndroDevcd/Sharp Ridgway, Richard K. (1952). "Compiling Routines". Proceedings of the 1952 ACM national meeting (Toronto) ACM '52. Web site, VPhttps://seattlewebsitedevelopers.medium.com/a-79a609154a17 Gerog P. Loczewski. "A++ - The Smallest Programming Language in the World (1st edition)". STMV - S. Toeche-Mittler Verlag. Retrieved July 14, 2018. "Get Started with the ABAP Development Tools for SAP NetWeaver | SAP Blogs". Biancuzzi, Federico; Warden, Shane (April 2009). Masterminds of Programming: Conversations with the Creators of Major Programming Languages. O'Reilly Media. p. 32. ISBN 978-0-596-51517-1. Retrieved December 14, 2009. He was clearly influenced by ALGOL 68's philosophy of providing constructs that can be combined in many different ways to produce all sorts of different data structures or ways of structuring a program. – Guido van Rossum“ van de Riet, R.P. (1973). ABC Algol: A Portable Language for Formula Manipulation Systems. Matematisch Centrum (Amsterdam). Retrieved May 26, 2017. "Computer Programming | ACC Computer Science and Information Technology". sites.austincc.edu. Retrieved 2019-03-14. "Rational Synergy Fix Pack 2(7.2.2.2) for 7.2.2". www.ibm.com. February 8, 2021. https://en.wikipedia.org/wiki/Distributed_Application_Specification_Language Action! Source Code - Page 2, Alfred (Chopper Commander) Posted Mon Feb 2, 2015 1:38 PM, AtariAge Forums, This is the original Action! source as I received it from ICD. It uses the ICD cross assembler which is not included in the zip. It can be easily converted to other formats "Apple's lost decade, HyperCard, and what might NOT have been if Apple then was like Apple is today". zdnet.com. April 17, 2011. Retrieved December 4, 2014. Don Crabs (15 October 1990). "Actor offers a sophisticated OOP development system". InfoWorld. InfoWorld Media Group, Inc.: 86–. ISSN 0199-6649. Retrieved 18 August2011. "Ada2012 Rationale" (PDF). adacore.com. Archived(PDF) from the original on 18 April 2016. Retrieved 5 May 2018. Karger, David R.; Dennis Quan (2004). "Haystack: a user interface for creating, browsing, and organizing arbitrary semistructured information". CHI '04 extended abstracts on Human factors in computing systems. Vienna, Austria: ACM. pp. 777– 778. ISBN 1-58113-703-6. Stal, Eva (2010). "Internationalization Of Brazilian Companies And The Role Of Innovation In Building Competitive Advantages". Revista de Administração e Inovação. 7 (3): 134. doi:10.5585/RAI.2010448. 433 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Coquand, Catarina; Synek, Dan; Takeyama, Makoto. An Emacs interface for type directed support constructing proofs and programs (PDF). European Joint Conferences on Theory and Practice of Software 2005. Archived from the original(PDF) on 2011-07-22. Greenbaum, Steven; Stanley Jefferson (May 1998). "A Compiler for HP VEE" (PDF). Hewlett-Packard Journal: 98–122. A Marriage of Class- and Object-Based Inheritance Without Unwanted Children, Proceedings of ECOOP'95, Springer-Verlag 1995. "We are moving forward, from now on you can call us AIMMS", "AIMMS". Archived from the original on 2013-10-29. Retrieved 2013-10-23. "Aldor Programming Language". Aldor.org. Retrieved 12 February 2017. "Preface to the Third (2000) Edition". Plan 9 Manual. Murray Hill: Bell Labs. June 2000. Retrieved 2012-10-29. "CMU Artificial Intelligence Repository". Carnegie Mellon University. 1995-0213. Archived from the original on 23 June 2007. Retrieved 20 Rojas, Raúl; Hashagen, Ulf (2002). The First Computers: History and Architectures. MIT Press. p. 292. ISBN 978-0262681377. Retrieved October 25, 2013. Knuth, Donald E. (December 1964). "Backus normal Form vs Backus Naur Form". Comm. ACM. 7 (12): 735– 6. doi:10.1145/355588.365140. S2CID 47537431. van Wijngaarden, Adriaan; Mailloux, Barry James; Peck, John Edward Lancelot; Koster, Cornelis Hermanus Antonius; Sintzoff, Michel; Lindsey, Charles Hodgson; Meertens, Lambert Guillaume Louis Théodore; Fisker, Richard G., eds. (1976). Revised Report on the Algorithmic Language ALGOL 68(PDF). SpringerVerlag. ISBN 978-0-387-07592-1. OCLC 1991170. Archived (PDF) from the original on 2019-04-19. Retrieved 2019-05-11. a b Wirth, Niklaus; Hoare, C. A. R. (June 1966). "A contribution to the development of ALGOL". Communications of the ACM. 9: 413–432. Retrieved 7 October 2020 – via Association for Computing Machinery. "Programming Systems Lab". Archived from the originalon 2006-10-05. Retrieved 2006-08-08. Liu, Jed; Myers, Andrew C. (2003). JMatch: Iterable Abstract Pattern Matching for Java. Lecture Notes in Computer Science. Vol. 2562/2003. pp. 110– 127. doi:10.1007/3-540-36388-2_9. ISBN 978-3-540-00389-2. Dedecker J., Van Cutsem T., Mostinckx S., D'Hondt T., De Meuter W. Ambientoriented Programming in AmbientTalk. In “Proceedings of the 20th European Conference on Object-Oriented Programming (ECOOP), Dave Thomas (Ed.), Lecture Notes in Computer Science Vol. 4067, pp. 230-254, Springer-Verlag.”, 2006 McCreary, Charles R. (October 1993). "Amiga E: Public Domain Programming Gem". Amazing Computing For The Commodore Amiga. Vol. 8, no. 10. PiM Publications. pp. 20–21. ISSN 1053-4547. 434 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. The Creator, by François Lionet, 1990, "AMOS Basic includes special facilities which allow you to combine assembly language routines with your Basic programs." a b Fourer, Robert; Gay, David M; Kernighan, Brian W (2003). AMPL: a modeling language for mathematical programming. USA: Duxbury Press/Brooks/Cole Publishing Company. ISBN 978-0-534-38809-6. a b c "An excursion into the history of the development of programming languages and compilers in the USSR" (in Russian) . Retrieved 27 October 2018 . A programming language developed in 1968. at the Institute of Cybernetics of the Academy of Sciences of the Ukrainian SSR under the guidance of Academician V.M. Glushkov. A distinctive feature of the language are abstract data types, calculations in arbitrary algebras, analytical transformations. It was implemented on MIR-2 machines. Later, a version of Analytik-74 was developed, implemented on MIR-3 machines. Weinbub, Josef; Rupp, Karl; Selberherr, Siegfried (2010). "ViennaIPD - An Input Control Language for Scientific Computing" (PDF). Retrieved April 27, 2019. "[PIG-4167] Initial implementation of Pig on Spark - ASF JIRA". issues.apache.org. Retrieved 2018-12-29. "salesforce.com, inc. Annual Report for fiscal year ending January 31, 2022 (Form 10-K)". EDGAR. U.S. Securities and Exchange Commission. March 11, 2022. Retrieved May 4,2022. McIntyre, Donald B. (1991). "Language as an Intellectual Tool: From Hieroglyphics to APL". IBM Systems Journal. 30(4): 554–581. doi:10.1147/sj.304.0554. Archived from the original on March 4, 2016. Retrieved January 9, 2015. "The FirebaseDB Component (Experimental)". ai2.appinventor.mit.edu. Retrieved 2019-02-14. a b c Cook, William (2007). "AppleScript" (PDF). History of Programming Languages (HOPL III). Proceedings of the third ACM SIGPLAN conference. Association for Computing Machinery: 1– 21. doi:10.1145/1238844.1238845. ISBN 9781595937667. S2CID 220938191. a b Ross, Douglas T. (August 1978). "Origins of the APT Language for Automatically Programmed Tools". ACM SIGPLAN Notices. 13 (8): 61– 99. doi:10.1145/960118.808374. ISSN 0362-1340. "Arc Forum: Tell Arc: Arc 3.2". Arclanguage.org. Retrieved 2018-11-07. Cowlishaw, Michael (1985). The REXX Language: A Practical Approach to Programming (1st ed.). Prentice Hall. ISBN 0-13-780651-5. Walker, E. F. "Orphan Detection in the Argus System". Mit/LCS/Tr-326. Archived from the original on 2011-07-20. Retrieved 2011-03-09. "Assembly: Review" (PDF). Computer Science and Engineering. College of Engineering, Ohio State University. 2016. Archived (PDF) from the original on 2020-03-24. Retrieved 2020-03-24. a b "AutoHotkey Changelog for Years 2003-2004". Autohotkey.com. Archived from the original on 2011-11-04. Retrieved 2011-12-02. "AutoIt Downloads". AutoIt. Retrieved 2022-11-07. 435 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. "AutoCAD LT vs. AutoCAD". Archived from the originalon 15 April 2014. Retrieved 14 April 2014. Embedded Systems Group Research group that develops the Averest Toolbox Stutz, Michael (September 19, 2006). "Get started with GAWK: AWK language fundamentals" (PDF). developerWorks. IBM. Archived (PDF) from the original on 2015-04-27. Retrieved 2015-01-29. [AWK is] often called a data-driven language - the program statements describe the input data to match and process rather than a sequence of program steps. a b "The State of Axum". Niklas Gustafsson. Retrieved 2011-02-28. Ritchie, Dennis M. (1984). "The Evolution of the Unix Time-sharing System". AT&T Bell Laboratories Technical Journal. 63 (6 Part 2): 1577– 1593. doi:10.1002/j.1538-7305.1984.tb00054.x. Archived from the original on 11 June 2015. Salomon, David (February 1993). "6.1.4 BABBAGE". Assemblers and Loaders (PDF). Ellis Horwood Series In Computers And Their Applications (1 ed.). Chicester, West Sussex, UK: Ellis Horwood Limited / Simon & Schuster International Group. pp. 184–185. ISBN 0-13-052564-2. Archived (PDF) from the original on 2020-03-23. Retrieved 2008-10-01. [1] (xiv+294+4 pages) "Ballerina Microservices Programming Language: Introducing the Latest Release and "Ballerina Central"". InfoQ. Retrieved 2018-06-07. Hamilton, Naomi (May 30, 2008). "The A-Z of Programming Languages: BASH/Bourne-Again Shell". Computerworld. Archived from the original on November 8, 2016. Retrieved March 1, 2022. Kemeny, John G.; Kurtz, Thomas E. (1964). Basic: a manual for BASIC, the elementary algebraic language designed for use with the Dartmouth Time Sharing System (PDF) (1st ed.). Hanover, N.H.: Dartmouth College Computation Center. Archived (PDF) from the original on October 9, 2022. "Using batch files: Scripting; Management Services". Technet.microsoft.com. 2005-01-21. Retrieved 2012-11-30. 6th Edition Unix bc source code, the first release of bc, from May 1975, compiling bc syntax into dc syntax Pike, Rob (24 April 2014). "Hello Gophers". Retrieved 11 March 2016. Niemeyer, Pat. "BeanShell Software License". beanshell.org. Retrieved January 13, 2016. a b Source: [1] Ole Lehrmann Madsen: An overview of BETA Wulf, W. A.; Russell, D. B.; Habermann, A. N. (December 1971). "BLISS: A Language for Systems Programming"(PDF). Communications of the ACM. 14 (12): 780–790. doi:10.1145/362919.362936. S2CID 9564255. Also: "BLISS: A Language for Systems Programming". (PostScript) Metz, Cade. "Google Blockly Lets You Hack With No Keyboard". Wired. Douglas Hofstadter (1979), Gödel, Escher, Bach, Basic Books, Chapter XIII. 436 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. Rodrigo Barreto de Oliveira (2005). "The boo Programming Language" (PDF). Archived from the original (PDF) on February 6, 2009. Retrieved February 22, 2009. Aaron Bohannon, J. Nathan Foster, Benjamin C. Pierce, Alexandre Pilkiewicz, and Alan Schmitt. Boomerang: Resourceful Lenses for String Data. In ACM SIGPLANSIGACT Symposium on Principles of Programming Languages (POPL), San Francisco, California, January 2008. full text "BosqueLanguage". Microsoft. March 3, 2019. Retrieved April 29, 2019. Prinz, Peter; Crawford, Tony (December 16, 2005). C in a Nutshell. O'Reilly Media, Inc. p. 3. ISBN 9780596550714. Nordin, Thomas; Jones, Simon Peyton; Iglesias, Pablo Nogueira; Oliva, Dino (199905-23). "The C– Language Reference Manual". Stroustrup, Bjarne (16 December 2021). "C++20: Reaching for the Aims of C++ Bjarne Stroustrup - CppCon 2021". CppCon. Archived from the original on 30 December 2021. Retrieved 30 December 2021. C*: An Extended C Language for Data Parallel Programming, John R. Rose and Guy L. Steele, Jr., in Proceedings of the Second International Conference on Supercomputing, vol. II, L. P. Kartashev et al. eds, May 1987, pp 2–16. "CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.: dotnet/coreclr". November 13, 2019 – via GitHub. Studebaker, David, "Programming Microsoft Dynamics NAV 2009," p. 8 (2009) "Quit Command | ObjectScript Tutorial | Caché & Ensemble 2018.1.4 & 2018.1.5". Zoulas, Christos (24 November 2016). "tcsh-6.20.00 is now available!". mx.gw.com. Archived from the original on 25 November 2016. Retrieved 24 November 2016. "Latest Caml Light release". Retrieved 22 February 2020. "Scheduled events for Tuesday, July 19, 09:00 - 10:30". CppNorth, The Canadian C++ Conference, July 17-20, 2022. CppNorth. Retrieved 21 July 2022 – via Sched.com. "Catrobat Credits". developer.catrobat.org. Retrieved 2021-02-28. "Commercial Users of Functional Programming -- Lennart Augustsson". Archived from the original on 8 February 2012. Retrieved 18 September 2016. Web site, https://en.wikipedia.org/wiki/CDuce Dean, Jeffrey; DeFouw, Greg; Grove, David; Litvinov, Vassily; Chambers, Craig (1996). "Vortex: an optimizing compiler for object-oriented languages". Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. OOPSLA'96. pp. 83– 100. doi:10.1145/236338.236344. ISBN 0-89791-788-X. Furber, Steve (January 2012). "Appendix J: Timeline of major developments in Computing in schools in England". Shut down or restart? The way forward for computing in UK schools(PDF). The Royal Society. p. 120. Retrieved 20 June 2021. a b "Home". ceu-lang.org. 437 "Frequently Asked Questions: What is Ceylon?". Retrieved 2015-12-04. “Ceylon is a new programming language that's deeply influenced by Java”. 86. CFEngine Team & Community. "CFEngine 3.20.0 released - Modularity". Northern.tech AS. 87. "Fusion Industries :: Cg and HLSL FAQ ::". 24 August 2012. Archived from the original on 24 August 2012. 88. Veeraraghavan, Sriranga (2013). "An introduction to Ch: Implementing a temperature converter in Ch". ComputerWorld. 89. Chamberlain, Bradford L. (2011). "Chapel (Cray Inc. HPCS Language)". In Padua, David (ed.). Encyclopedia of Parallel Computing, Volume 4. Springer. ISBN 9780387097657. 90. ISBN D-201-10073-8 Aho, Ullman Principles of Compiler Design 91. Jürgen F. H. Winkler; Georg Dießl (1992). "Object CHILL—an object oriented language for systems implementation". Proceedings of the 1992 ACM annual conference on Communications. Kansas City, Missouri, USA: Association for Computing Machinery. pp. 139–147. doi:10.1145/131214.131232. ISBN 0-89791472-4. Retrieved 2008-12-30. 92. "VIPER for RCA VIP owner". Intelligent Machines Journal (InfoWorld). InfoWorld Media Group. 1978-12-11. p. 9. Retrieved 2010-01-30. 93. LaGrone, James; Aribuki, Ayodunni; Addison, Cody; Chapman, Barbara (2011). A Runtime Implementation of OpenMP Tasks. 7th Int'l Workshop on OpenMP. pp. 165–178. CiteSeerX 10.1.1.221.2775. doi:10.1007/978-3-642-21487-5_13. 94. "CLAIRE: Combining Sets, Search and Rules to Better Express Algorithms[permanent dead link]" by Yves Caseau, François-Xavier Josset and François Laburthe (2002). A 26-page overview, intended for an academic audience, with benchmarks 95. "Health Care Services Leader McKesson's History: Our History". McKesson. Archived from the original on 2012-03-13. Retrieved 2012-03-14. 96. "Clean 0.7: README". Archived from the original on 2019-05-24. 97. Warren M. Littlefield (1983). DBASE - From the Dot Prompt: An Introduction to Structured Programming using dBase IV. ISBN 0791417808. 98. Di Stefano, Antonella; Gangemi, Francesc; Santoro, Corrado (2005). ERESYE: artificial intelligence in Erlang programs. Proceedings of the 2005 ACM SIGPLAN workshop on Erlang. Tallinn, Estonia: ACM. pp. 62– 71. doi:10.1145/1088361.1088373. ISBN 1-59593-066-3. 99. "z/OS TSO/E CLISTs". z/OS 2.1.0. IBM. 14 June 2013. Retrieved 12 May 2016. 100. Hickey, Rich; contributors. "core.async". GitHub.com. Retrieved 2019-0707. {{cite web}}: |author2= has generic name (help) 101. "CLU files, 1976–1989". Tapes of Tech Square (ToTS) collection, MC-0741. Department of Distinctive Collections, Massachusetts Institute of Technology. swh:1:dir:5dc935d1c236b15a99b0750cf236b2d89ec951d0. 102. Fleet Combat Direction Systems Support Activity (1986), CMS-2Y Programmers Reference Manual for the AN/UYK-7 and AN/UYK-43 Computers, U.S. Navy 85. 438 103. Arranga, Edmund C.; Coyle, Frank P. (March 1997). "Cobol: Perception and Reality". Computer. 30 (3): 127. doi:10.1109/2.573683. ISSN 0018-9162. 104. Mikes, Sam (26 March 2001). "I have seen the future, and it is COBOL?". IT WORLD. IDG Enterprise. Retrieved 26 March2001. 105. "The Cobra Programming Language". Cobra Language LLC. Retrieved 2012-0926. 106. Heller, Martin (October 18, 2011). "Turn up your nose at Dart and smell the CoffeeScript". InfoWorld. Retrieved 2020-07-15. 107. "Introducing Adobe ColdFusion (2021 release)". community.adobe.com. Retrieved January 1, 2021. 108. Ryan, Kevin. "COMAL Kernel Syntax & Semantics" (PDF). Dansk Datahistorisk Forening. Retrieved 8 November 2017. 109. Crisman, P.A., ed. (December 31, 1969). "The Compatible Time-Sharing System, A Programmer's Guide" (PDF). The M.I.T Computation Center. Retrieved March 10, 2022. 110. "Unmanaged, Managed Extensions for C++, Managed and .Net Framework". www.visualcplusdotnet.com. Retrieved 2020-07-07. 111. "ANSI Standards Action December 28, 2018" (PDF). ansi.org. Archived (PDF) from the original on April 12, 2021. 112. "compass - FOLDOC - Computing Dictionary". 113. Jensen, Kathleen; Wirth, Niklaus (1974–1991). Pascal: User Manual And Report. Springer Verlag. ISBN 978-0-387-97649-5. 114. See the example on page 87 of the IBM F28-8043 Commercial Translator General Reference Manual, June 1960(pdf, 8.2M) 115. Thom Frühwirth. Introducing Simplification Rules. Internal Report ECRC-LP-63, ECRC Munich, Germany, October 1991, Presented at the Workshop Logisches Programmieren, Goosen/Berlin, Germany, October 1991 and the Workshop on Rewriting and Constraints, Dagstuhl, Germany, October 1991. 116. "IBM System/38 Control Language Reference Manual"(PDF). IBM. 1982-09-10. Retrieved 2021-03-24. 117. Cool: A Portable Project for Teaching Compiler Construction 118. "Release 8.16.1". 25 November 2022. Retrieved 8 December 2022. 119. "Gain the advantage with CORAL, CORAL+ and Context"(PDF). DXC Technology. September 2017. Archived (PDF)from the original on 23 January 2021. Retrieved 29 December2021. 120. Developers Guide To CorVision Version 5.11. CORTEX Corporation. February 1994. 121. Technical report: EPU-R-12, U Edinburgh (Apr 1966) 122. Barron, D. W.; Buxton, J. N.; Hartley, D. F.; Nixon, E.; Strachey, C. (1 August 1963). "The Main Features of CPL". The Computer Journal. 6 (2): 134– 143. doi:10.1093/comjnl/6.2.134. ISSN 0010-4620. 123. The Next Wave, High Confidence Software and Systems (HCSS) (PDF), vol. 19, 2011, archived from the original(PDF) on 2014-07-14, retrieved 2014-07-07 439 "Crystal 1.6.0 is released!". 6 October 2022. Retrieved 17 October 2022. 125. Dr. Richard Boulanger - Three Decades with Csound: The Roots, Birth, and Early Years 126. "CSS developer guide". MDN Web Docs. Archived from the original on 2015-0925. Retrieved 2015-09-24. 127. Brandt, Jörgen; Bux, Marc N.; Leser, Ulf (2015). "Cuneiform: A functional language for large scale scientific data analysis" (PDF). Proceedings of the Workshops of the EDBT/ICDT. 1330: 17–26. 128. "Changes to Supported Operating Systems of Curl RTE Products". SCSK Corporation. Archived from the original on 2019-05-13. Retrieved 2020-04-01. 129. Michael Hanus (ed.). "Curry: A Truly Integrated Functional Logic Language". 130. Computing information directory by Darlene Myers Hildebrandt (1988) ISBN 093311303X page 232 131. "Open Access Cyclone (programming language) Journals · OA.mg". oa.mg. 132. "Cypher: An Evolving Query Language for Property Graphs" (PDF). Proceedings of the 2018 International Conference on Management of Data. ACM. Retrieved 2018-06-27. 133. Behnel, Stefan (2008). "The Cython Compiler for C-Extensions in Python". EuroPython (28 July 2007: official Cython launch). Vilnius/Lietuva. 134. The Apple II Programmer's Catalog of Languages and Toolkits, 1993 135. "Programming in D for C++ Programmers - D Programming Language". dlang.org. Retrieved 5 April 2022. 136. Kopec, David (30 June 2014). Dart for Absolute Beginners. p. 56. ISBN 9781430264828. Retrieved 24 November 2015. 137. Gonnet, G. H.; Hallett, M. T.; Korostensky, C.; Bernardin, L. (2000). "Darwin v2.0: an interpreted computer language for the biosciences". Bioinformatics. 16 (2): 101–103. doi:10.1093/bioinformatics/16.2.101. PMID 10842729. S2CID 1531041. 138. Aarons, Richard N. (September 4, 1984). "DataFlex: Programming Gymnastics". PC Magazine. Vol. 3, no. 17. Ziff Davis. pp. 253–255. ISSN 08888507. Retrieved March 8,2017. 139. Huang, Green, and Loo, "Datalog and Emerging applications", SIGMOD 2011 (PDF), UC Davis. 140. "Digital introduces Datatrieve". Computerworld. March 27, 1978. p. 53. 141. "The FoxPro History - Interview with Wayne Ratliff". www.foxprohistory.org. 142. "The sources for the manual page for 7th Edition Unix dc". Archived from the original on 2004-08-23. Retrieved 2004-06-23. 143. "VAX/VMS Software Language and Tools Handbook" (PDF). bitsavers.org. 1985. Retrieved 2020-12-31. 144. "Announcing the Availability of RAD Studio 11.2 Alexandria". 7 September 2022. Retrieved 7 September2022. 145. example: GOTO(XSMALL,XMED,XLARG),XCODE J. Scott Canfield (November 1982). "DIBOL, Data Entry Subroutine". DEC Professional. pp. 18–20. 124. 440 146. Geron, Tomio (2019-04-02). "Startup Celo Aims to Make Crypto Accessible to Mainstream Mobile Users". Wall Street Journal. ISSN 0099-9660. Retrieved 202101-25. 147. Foust, John (August 1987). "The AMICUS Network, New Fish disks". Amazing Computing. Vol. 2, no. 8. PiM Publications. p. 85. ISSN 0886-9480. 148. Terekhov, Andrey; Bryksin, Timofey; Litvinov, Yurii. How to make visual modeling more attractive to software developers / 11th LASER Summer School on Software Engineering. Leading-Edge Software Engineering. September 7-13, 2014 - Elba Island, Italy 149. Stokel-Walker, Chris. "Julia: The Goldilocks language". Increment. Stripe. Retrieved 23 August 2020. 150. DYNAMO - excerpt from manual contains much more detailed history. 151. The Variant data type is used for expressions that might return different data types, depending on the conditions."Variant DAX Data Type". dax.guide. 152. Handy, Alex (14 November 2016). "The future of software security". SD Times. 153. Ericsson-Zenith, Steven (1 July 2011) [July 1992]. Process Interaction Models. Seattle, Washington, U.S.: CreateSpace Independent Publishing Platform. ISBN 978-1463777913 154. Burroughs Corporation, "B 6700 / B 7700 PL/I Language Reference", 5001530. Detroit, 1977. 155. Skidmore, Lem (25 June 1979). "Nonapplications: Preparation Vital". Computerworld. IDG Enterprise. 13 (26): SR/2 and SR/28. ISSN 0010-4841. Retrieved 28 February2021. 156. "Software Developer's Journal Extra 2012/02 - Cross-Platform Development with the Ecere SDK" (PDF). Retrieved 7 January 2016. 157. Stefanov, Stoyan (2010). JavaScript Patterns. O'Reilly Media, Inc. p. 5. ISBN 9781449396947. Archived from the original on 2016-06-10. Retrieved 2016-01-12. The core JavaScript programming language [...] is based on the ECMAScript standard, or ES for short. 158. "Early IMP Program (the world's first known self-reproducing program)". 159. EDT (EGL Development Tools) 160. "Eiffel in a Nutshell". archive.eiffel.com. Retrieved 24 August 2017. 161. ELAN implementation built by the Radboud University Nijmegen 162. elixir/LICENSE at master · elixir-lang/elixir · GitHub". GitHub. 163. Czaplicki, Evan (30 March 2012). "My Thesis is Finally Complete! "Elm: Concurrent FRP for functional GUIs"". Reddit. 164. "Re: [Emacs-diffs] /srv/bzr/emacs/trunk r111086: gmm-utils.el (gmm-flet". Lists.gnu.org. 2012-12-05. Retrieved 2013-08-18. 165. Black, Andrew P.; Hutchinson, Norman C.; Jul, Eric; Levy, Henry M. (1 January 2007). "The Development of the Emerald Programming Language". Proceedings of the third ACM SIGPLAN conference on History of programming languages - HOPL III. ACM. pp. 11–1–11-51. doi:10.1145/1238844.1238855. ISBN 978-1-59593766-7. 441 "Epigram – Official website". Retrieved 28 November 2015. 167. Official description 168. "Release 25.1.2". 24 October 2022. Retrieved 11 November2022. 169. Fischer, Manfred M. (13 December 1996). Spatial Analytical Perspectives on GIS. ISBN 9780748403400. 170. Declarative programming in Escher, JW Lloyd, University of Bristol, Bristol, UK, 1995 171. B5500 ESPOL Reference Manual, 1967 172. Berry, Gérard (1999). "The Constructive Semantics of Pure Esterel". CiteSeerX 10.1.1.46.2076. 173. Ingalls, Dan; Kaehler, Ted; Maloney, John; Wallace, Scott; Kay, Alan (1997). Back to the Future: The Story of Squeak, a Practical Smalltalk Written in Itself. OOPSLA '97. ACM. pp. 318–326. doi:10.1145/263698.263754. ISBN 0-89791-9084. S2CID 431100. 174. B.W. Lampson, J.J. Horning, R.L. London, J.G. Mitchell and G.J. Popek 1977. Report on the programming language Euclid. SIGPLAN Notices 12, 2 (February 1977), 1-79. 175. Wirth, Niklaus; Weber, Helmut (1966). "Euler: a generalization of ALGOL, and its formal definition: Part I". Communications of the ACM. 9 (1): 13–25. 176. a b c "RapidEuphoria homepage". Archived from the original on 2012-07-11. Retrieved 2010-12-30. 177. Object-Oriented Concurrent Lisp with Solid Modeling Facilities: EusLisp 178. Varian, Melinda. "VM AND THE VM COMMUNITY: Past, Present, and Future" (PDF). Retrieved Mar 9, 2012. 179. Varian, Melinda. "VM AND THE VM COMMUNITY: Past, Present, and Future" (PDF). Retrieved March 14, 2012. 180. G. O'Keefe (2006) "Dynamic Logic Semantics for UML Consistency" in: ModelDriven Architecture - Foundations and Applications: Second European Conference, ECMDA-FA 2006, Bilbao, Spain, July 10–13, 2006, Proceedings. Arend Rensink eds. p. 124 181. Annamalai, Muthiah (28 Jul 2009). "Ezhil: A Tamil Programming Language". arXiv:0907.4960 [cs.PL].Reference implementation of Ezhil programming language 182. The Fortran Company. "All About F". Retrieved 2014-04-28. 183. Syme, Don; Granicz, Adam; Cisternino, Antonio (2007), Expert F#, Apress 184. "Microsoft Research Inria Joint Centre". MSR-INRIA. 185. Pestov, Slava. "Slava Pestov's corner of the web". 186. Blog post about history of Fantom 187. Michon, Romain; Smith, Julius O. III (2011). "Faust-STK: a Set of Linear and Nonlinear Physical Models for the Faust Programming Language" (PDF). Proceedings of the 11th Int. Conference on Digital Audio Effects (DAFx-11): 199–204. 166. 442 188. The Conception, Evolution, and Application of Functional Programming Languages Archived 2016-03-11 at the Wayback Machine Paul Hudak, 1989 189. "fish shell team members". GitHub.com. Retrieved 2021-07-28. 190. Agnarsson, Snorri; Krishnamoorthy, M. S. (1985). "Towards a theory of packages". ACM SIGPLAN Notices. 20 (7): 117–130. doi:10.1145/17919.806833. 191. Aiken, Alexander; Williams, John H.; Wimmers, Edward L. "The FL Project: Design of a Functional Language" (PDF). Stanford University. 192. "Visual FlagShip: Overview". flagship.de. Retrieved 2022-04-12. 193. Howard Cannon, Flavors: A non-hierarchical approach to object-oriented programming, Symbolics Inc., 1982 194. FLEX – A flexible extendable language 195. "Apache License 2.0". 27 July 2022 – via GitHub. 196. Douglas Hofstadter (1979), Gödel, Escher, Bach, Basic Books, Chapter XIII. 197. Hopper, Grace (1978). Keynote Address, History of Programming Languages I. ACM. pp. 16–20. ISBN 0-12-745040-8 198. McCracken, Harry (2014-04-29). "Fifty Years of BASIC, the Programming Language That Made Computers Personal". Time. Archived from the original on 2016-02-05. Retrieved 2016-02-12. 199. Nick Rawlings (March 17, 2014). "The History of NOMAD: A Fourth Generation Language". IEEE Annals of the History of Computing. 36: 30– 38. doi:10.1109/MAHC.2014.10. 200. FOIL - a file oriented interpretive language article at the ACM digital library 201. Sammet, Jean E. (1993). "The beginning and development of FORMAC (FORmula MAnipulation Compiler)". Proceedings of HOPL-II, The second ACM SIGPLAN conference on History of programming languages. pp. 209– 230. doi:10.1145/154766.155372. ISBN 0-89791-570-4. 202. Damien Katz (January 4, 2005). "Formula Engine Rewrite". Personal blog. Retrieved September 30, 2016. 203. NASA applications of Forth (original NASA server no longer running, copy from archive.org) 204. "Chapel spec (Acknowledgements)" (PDF). Cray Inc. 1 October 2015. Archived (PDF) from the original on 5 February 2016. Retrieved 14 January 2016. 205. Eric Allen; David Chase; Joe Hallett; Victor Luchangco; Jan-Willem Maessen; Sukyoung Ryu; Guy L. Steele Jr.; Sam Tobin-Hochstadt; et al. (2008-03-31). "The Fortress Language Specification: Version 1.0" (PDF). research.sun.com. Sun Microsystems. Archived from the original (PDF) on 2013-01-20. 206. The Conception, Evolution, and Application of Functional Programming Languages Archived 2016-03-11 at the Wayback Machine Paul Hudak, 1989 207. using the ibcs files from the Linux ABI on SourceForge 208. Gabriel, Richard P. (May 1985). Performance and evaluation of Lisp systems (PDF). Cambridge, Massachusetts: MIT Press; Computer Systems Series. 443 pp. 60, 294. ISBN 0-262-07093-6. LCCN 85-15161. It evolved into one of the most commonly available Lisp dialects on Unix machines. 209. Henriksen, Troels; Serup, Niels G. W.; Elsman, Martin; Henglein, Fritz; Oancea, Cosmin (2017). "Futhark: Purely Functional GPU-Programming with Nested Parallelism and In-Place Array Updates" (PDF). Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. PLDI 2017. ACM. 210. Baird, Wolfgang (23 March 2020). "w0lfschild/F-Script". 211. Kerr, Chris. "GameMaker Studio 2 gets new low-cost 'Creators Edition'". Retrieved 9 May 2018. 212. Web site, https://en.wikipedia.org/wiki/GameMonkey_Script 213. Kallrath, Josef (2004). Modeling Languages in Mathematical Optimization (First ed.). Norwell, USA: Kluer Academic Publishers. p. 241. ISBN 978-1-4613-7945-4. 214. "GAP 4.12.1". www.gap-system.org. Retrieved 20 October2022. 215. Karlo Apro (2008). Secrets of 5-Axis Machining. Industrial Press Inc. ISBN 0-83113375-9. 216. Linietsky, Juan (14 January 2014). "Godot Engine - First public release!". Godot Engine. Retrieved 2019-07-01. 217. Jamie McCracken (2008). "Introducing Genie - the smart programming language". Archived from the original on 2011-08-18. 218. GDL Center, GRAPHISOFT's GDL knowledge base and community center 219. Hamblin, Charles Leonard (May 1957). An Addressless Coding Scheme based on Mathematical Notation (Typescript). New South Wales University of Technology. 220. "Extend the syntax of #line and __FILE__ to support filename strings by antiagainst · Pull Request #43 · KhronosGroup/glslang". GitHub. 221. Exodus Storage Manager 222. "GNU Guile (About Guile)". GNU Project. Guile is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language for the GNU operating system. 223. "Is Go an object-oriented language?". Retrieved April 13,2019. Although Go has types and methods and allows an object-oriented style of programming, there is no type hierarchy. 224. a b c Claburn, Thomas (2009-11-11). "Google 'Go' Name Brings Accusations Of 'Evil'". InformationWeek. Archived from the original on 2010-07-22. Retrieved 2009-11-14. 225. Anthony Newman (2017-10-28). Unsynced: The Last of Us Melee System (Videotape). Game Developer's Conference. 37 minutes in. Archived from the original on 2021-12-14. Retrieved 2017-11-05. 226. Website,https://web.archive.org/web/20091207092823/http://www.scs.leeds.ac.uk/ hill/GOEDEL/expgoedel.html 227. "Termination Review". projects.eclipse.org. Retrieved 24 October 2022. 444 228. An Abbreviated description of the MAD compiler language, Fernando J. Corbató, Jerome H. Saltzer, Neil Barta, and Thomas N. Hastings, M.I.T. Computation Center Memorandum CC-213, June, 1963. 229. Meyer, David (August 20, 2009). "Google Apps Script gets green light". CNet. Retrieved 26 March 2011. 230. "Gosu Programming Language Released To Public". Slashdot. 2010-11-09. 231. "Some Key Dates in IBM's Operations in Europe, the Middle East and Africa (EMEA)" (PDF). Archived (PDF) from the original on 2022-10-10. 232. Arne Thesen; J. William Schmidt (2014). Computer Methods in Operations Research. ISBN 978-1483260747. GPSS is a process flow oriented simulation language 233. "Management and Board of Directors". Computer Sciences Corporation. Retrieved July 2, 2015. 234. DeFanti, Thomas; Fenton, Jay; Donato, Nola (August 1978). "BASIC Zgrass—a sophisticated graphics language for the Bally Home Library Computer". Proceedings of the 5th Annual Conference on Computer Graphics and Interactive Techniques. ACM SIGGRAPH Computer Graphics. 12 (3): 33–37. 235. Tedeschi, Arturo (January 2011). "Intervista a David Rutten". MixExperience Tools1 (in Italian and English). Naples, Italy: MixExperience. pp. 28–29. Retrieved February 8,2011. 236. König, Dierk; Paul King; Guillaume Laforge; Hamlet D'Arcy; Cédric Champeau; Erik Pragt; Jon Skeet (2015). Groovy in Action, Second Edition. Manning. ISBN 978-1-935182-44-3. 237. Bryan O'Sullivan (2014-03-28). "Where Credit Belongs for Hack". Archived from the original on 2021-03-01. Retrieved 2019-02-06. 238. Michaelson, Greg. "Object Oriented Programming from Procedural Programming with a little Computational Thinking" (PDF). Herriot Watt University Mathematical Computing Science. Retrieved 8 November 2016. 239. "STS Software". NSTS 1988 News Reference Manual. NASA. Retrieved 2011-0330. 240. "Halide - New Language For Image Processing". 2012. Retrieved 20 September 2013. 241. Faught, Danny (Aug 31, 1996). "The shell game". Software QA Magazine. 3 (4). Archived from the original on March 1, 2012. Retrieved Apr 8, 2013. 242. vailtom (17 August 2009). "Harbour MiniGUI Extended Edition. | Free Communications software downloads at". Sourceforge.net. Retrieved 9 December 2013. 243. CMS/TSO Pipelines Author's Edition Author's Edition 244. Norell, Ulf (2008). "Dependently Typed Programming in Agda" (PDF). Gothenburg: Chalmers University. Retrieved 9 February 2012. 245. "Release alpha-1". haxe. HaxeFoundation. 2005-11-14. Retrieved 2022-04-02 – via GitHub. 445 246. Strom, Robert E.; Bacon, David F; Goldberg, Arthur P.; Lowry, Andy; Yellin, Daniel M.; Yemini, Shaula (1991). Hermes - A Language for Distributed Computing. Englewood Cliffs, NJ, USA: Prentice-Hall. ISBN 978-0-13-389537-7. 247. Randall Hyde, Write Great Code: Understanding the machine, No Starch Press, 2004, ISBN 1-59327-003-8, pp. 14–15 and used throughout the book 248. "High-level shader language (HLSL)". Microsoft Docs. Retrieved 2021-02-22. 249. Johnson, Magnus: Interview with Andreas Falkenhahn. Total Amiga 21 (2005), pp. 14-15. 250. Bruet-Ferréol, Quentin (May 13, 2014). "Temple OS, un système d'exploitation pour parler à Dieu codé par un fou génial". Slate.fr (in French). Archived from the original on December 21, 2014. Retrieved April 21, 2015. 251. http://hop.inria.fr/usr/local/lib/hop/2.2.0/weblets/home/articles/hoplang/article.html[dead link] 252. Hanselminutes Podcast, Show #417, Apr 04, 2014, titled "I am teaching my daughter to code with Hopscotch - Fitzgerald Steele", 30-minute interview with father whose daughter tried Hopscotch app on iPad. 253. Burstall R.M, MacQueen D.B, Sannella D.T. (1980) Hope: An Experimental Applicative Language. Conference Record of the 1980 LISP Conference, Stanford University, pp. 136-143. 254. Eekelen, Marko Van (2007). Trends in Functional Programming. Intellect Books. p. 198. ISBN 978-1-84150-176-5. 255. Roman Knöll, Vaidas Gasiunas, Mira Mezini, "Naturalistic types", Onward! 2011: Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software, pp. 33–48, October 2011. 256. Jaworski, Michał; Ziadé, Tarek (2019). Expert Python programming (Third ed.). Birmingham, U.K.: Packt Publishing. p. 173. ISBN 978-1-78980-6779. OCLC 1125343555. 257. Tate, Bruce (2010). "Chapter 3: Io". Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (1st ed.). Raleigh, North Carolina: Pragmatic Bookshelf. p. 60, 72. ISBN 978-1934356593. 258. Schemenauer, Neil; Peters, Tim; Hetland, Magnus Lie (18 May 2001). "PEP 255 – Simple Generators". Python Enhancement Proposals. Python Software Foundation. Retrieved 9 February2012. 259. IBM System/360 Principles of Operation (PDF). Systems Reference Library. IBM Corporation. A22-6821-0. Retrieved Dec 6, 2018. 260. Web site, https://en.wikipedia.org/wiki/IBM_HAScript 261. Lebensorger, Reinhard (March 9, 2013). Effiziente Datenbankentwicklung mit INFORMIX-4GL: Design, Implementierung und Optimierung (in German). Springer-Verlag. ISBN 978-3-322-90418-8. 262. Alex Woodie (2020-08-24). "Is It Time To Rename RPG?". itjungle.com. Retrieved 2021-03-16. 263. Fanning, David. "Program Naming Conflicts in IDL 8". Archived from the original on 6 March 2014. Retrieved 30 September 2014. 446 264. Brady, Edwin (12 December 2007). "Index of /~eb/darcs/Idris". University of St Andrews School of Computer Science. Archived from the original on 2008-03-20. 265. "Release notes for Inform v10.1.0 and v10.1.1". github.com. Retrieved August 26, 2022. 266. "ISO/IEC 13816:1997(E)". International Organization for Standardization. Retrieved 2018-11-10. 267. Bussell, Brian; Taylor, Stephen (2006), "Software Development as a Collaborative Writing Project", Extreme programming and agile processes in software engineering, Oulu, Finland: Springer, pp. 21–31, ISBN 978-3-540-350941 {{citation}}: Missing or empty |title= (help) 268. "Java to .NET Framework Migration Workshop: Free Online Training". Archived from the original on 2008-04-23. Retrieved 2020-01-28. 269. "Announcing General Availability of Microsoft Build of OpenJDK". Java at Microsoft. 2021-05-25. Retrieved 2021-08-03. 270. "Jade Software delivers Jade 7.1". ZDnet. Retrieved 21 December 2019. 271. Beta testing by: Bert van Dam, Sunish Isaac, Dave Lagzdin, Javier Martinez, Stef Mientki, Wouter van Ooijen, Michael Reynolds, André Steenveld, Joep Suijs, Vasile Surducan, and Michael Watterson 272. Kahn, K.; Saraswat, Vijay A. (1 October 1990). "Actors as a special case of concurrent constraint (logic) programming". ACM SIGPLAN Notices. 25 (10): 57– 66. doi:10.1145/97946.97955. Retrieved 29 October 2019. 273. Christopher Lutz. Janus: a time-reversible language. 1986. Letter to R. Landauer. http://tetsuo.jp/ref/janus.html. 274. Binstock, Andrew (May 20, 2015). "Java's 20 Years of Innovation". Forbes. Archived from the original on March 14, 2016. Retrieved March 18, 2016. 275. "Steve On Java » Announcing Visage – The DSL for Writing UIs". steveonjava.com. Archived from the original on 2010-10-01. 276. Dickerson, Gordon (August 31, 2018). "Learn the History of Web Browsers". washingtonindependent.com. Retrieved August 31, 2018. 277. Friedman-Hill, Ernest (2003). Jess in Action: Rule Based Systems in Java. Manning Publications. ISBN 9781930110892. Retrieved March 30, 2012. ISBN 1930110-89-8 278. Ashley and Fernandez, Job Control Language, p. 1. 279. Rees, M.J. (24 October 1970). "Some improvements to the MINIMOP multi-access operating system". Software. Wiley InterScience. doi:10.1002/spe.4380010208. Archived from the original on 5 January 2013. Retrieved 24 April 2009. 280. von Itzstein, G, Stewart. and Jasiunas, M (2003). On Implementing High Level Concurrency in Java. Advances in Computer Systems Architecture 2003, Aizu Japan, Springer Verlag. 281. Smith, JW (August 1967). JOSS: Central Processing Routines (reference user guide). RAND. RM 5270 PR. Retrieved 2012-04-16. 447 Miller, Mark Samuel (2006). "Robust composition: towards a unified approach to access control and concurrency control". Johns Hopkins University. 283. "Ed and Kay, JOVIAL Pioneers". jovial.com. Retrieved 2021-02-23. 284. "Mathematical Foundations of Joy". Archived from the original on October 7, 2011. 285. "Disabling legacy scripting engine JScript in Internet Explorer". TECHCOMMUNITY.MICROSOFT.COM. 2020-10-13. Retrieved 2021-11-15. 286. Getting Started With JScript .NET 287. "Releases · JuliaLang/julia". GitHub. Retrieved 15 November 2022. 288. Wierzbicki, Frank (22 March 2015). "jython: 3d8067c56a1d NEWS". Retrieved 28 March 2015. 289. Iverson, Kenneth. "Notation as a Tool of Thought". Archived from the original on 2013-09-20. Retrieved 2015-02-23. 290. Marriott, Kim; Peter J. Stuckey (1998). Programming with constraints: An introduction. MIT Press. ISBN 0-262-13341-5 291. "Who did actually invent the word 'robot' and what does it mean?". Archived from the original on 27 July 2013. Retrieved 25 July 2013. 292. Knowledge Engineering Environment (KEE) Archived2007-09-19 at the Wayback Machine Encyclopedia of Computer Languages 293. "KiXtart Downloads". Archived from the original on 2012-02-06. 294. Klerer, Melvin; May, Jack (1965). "A user oriented programming language". The Computer Journal. 8 (2): 103–109. doi:10.1093/comjnl/8.2.103. 295. Andreas L. Symeonidis; Pericles A. Mitkas (15 July 2005). Agent Intelligence Through Data Mining. Springer Science & Business Media. pp. 54–. ISBN 978-0387-24352-8. 296. "Kojo home page". Retrieved 29 August 2012. 297. "What is the correct English pronunciation of Kotlin?". 16 October 2019. Retrieved 9 November 2019. 298. Dates in the commentary to the BCPL KRC source code for EMAS. 299. Oral history interview with Terry Winograd at Charles Babbage Institute, University of Minnesota, Minneapolis. 300. Braumann & Brell-Cokcan 2011, p. 243. 301. Woods, W. A.; Schmolze, J. G. (1992). "The KL-ONE family" (PDF). Computers & Mathematics with Applications. 23 (2–5): 133. doi:10.1016/08981221(92)90139-9. 302. "Korn Shell Launcher for Windows Subsystem for Linux « Musings". blog.fpmurphy.com. Retrieved 2021-01-29. 303. "Commits · scoy/KoduGameLab". GitHub.com. Retrieved 2021-03-23. 304. "Kivy 2.1.0". github.com. 2022-03-06. Retrieved 2022-04-04. 305. Jeffrey., Travis (2006). LabVIEW for everyone : graphical programming made easy and fun. Kring, Jim. (3rd ed.). Upper Saddle River, NJ: Prentice Hall. ISBN 0131856723. OCLC 67361308. 282. 448 306. Edward W. Kamen Industrial Controls and Manufacturing, (Academic Press, 1999) ISBN 0123948509, Chapter 8 Ladder Logic Diagrams and PLC Implementations 307. Bettin, Joern (2001). "Practical Use of Generative Techniques in Software Development" (PDF). OOPSLA Workshop on Generative Programming. 308. Dave, Parkhurst (April 25, 1997), "New Web tools help servers link to legacy data", MacWEEK Magazine 309. Lava – An Object-Oriented RAD Language Designed for Ease of Learning, Use, and Program Comprehension (PDF). Gesellschaft für Informatik. October 2001. Retrieved 2022-06-09. 310. Yuan-Jhang Liao and Wing-Kwong Wong. "Using LC-3 Soft Core on an FPGA Development Board for Microprocessor Labs". 2013. p. 612-613 of "Intelligent Technologies and Engineering Systems". 311. Hales, Thomas (18 September 2018). "A Review of the Lean Theorem Prover". Retrieved 6 October 2020. 312. "BrickLink Reference Catalog Sets Category LEGO Mindstorms". www.bricklink.com. Retrieved 12 April 2021. 313. Plauger, P.J. "A Little Implementation Language". 314. Nienhuys, Han-Wen (July 31, 1998). "GNU LilyPond 1.0 released". gnu-musicdiscuss (Mailing list). Retrieved February 16, 2010. 315. "Inferno Application Programming". vitanuova. vitanuova. Retrieved January 26, 2021. 316. Web site, https://en.wikipedia.org/wiki/Limnor 317. a b "Unisys has Linc to web world". Computerworld New Zealand. IDG Communications. 2002-09-17. ISSN 0113-1494. CMPWNZ. Archived from the original on 2016-02-16. 318. Macromedia Shockwave for Director User's Guide, Volume 1, New Riders Pub., 01-Jan-1996 319. "Monadic Parser Combinators using C#3". Retrieved 2009-11-21. 320. Jean D. Ichbiah, The System implementation language LIS, Louveciennes, France: Compagnie internationale pour l'informatique, 1976. 321. A. Hoffmann, H. Meyr, R. Leupers: Architecture Exploration for Embedded Processors with LISA, Springer, 2010. ISBN 978-1441953346 322. Cormack, A.S. (November 1, 1962). "Early Operating Experience with Language H". The Computer Journal. 5 (3): 158–161. doi:10.1093/comjnl/5.3.158. 323. "Introduction". The Julia Manual. Read the Docs. Archived from the original on 2016-04-08. Retrieved 2016-12-10. 324. "New Releases and Algo Trading News | Zorro Project". www.zorro-trader.com. Retrieved 2022-10-18. 325. "Lithe: a language combining a flexible syntax and classes" 326. Krieger K "Life in Silico: A Different Kind of Intelligent Design" Science 312(5771):189–190 449 Abelson, Hal; Goodman, Nat; Rudolph, Lee (December 1974). "Logo Manual". Artificial Intelligence Lab, Massachusetts Institute of Technology. hdl:1721.1/6226. Archived from the original on September 11, 2016. Retrieved August 28, 2016. 328. Moura, Paulo (2011). Programming Patterns for Logtalk Parametric Objects. Applications of Declarative Programming and Knowledge Management. Lecture Notes in Computer Science. Vol. 6547. doi:10.1007/978-3-642-205897_4. ISBN 978-3-642-20588-0. 329. Moser, Gerd (12 March 1999). SAP® R/3® Interfacing using BAPIs: A practical guide to working within the SAP® Business Framework. Springer Science & Business Media. p. 45. ISBN 978-3-528-05694-0. 330. Bartle, Richard (2003). Designing Virtual Worlds. New Riders. p. 10. ISBN 0-13101816-7. LPMUD was named after its author, Lars Pensjö of the University of Gothenburg, Sweden. 331. Hebenstreit, Jacques (2006). "The '10,000 microcomputers plan' in France". In Jacquetta Megarry (ed.). World Yearbook of Education 1982/3: Computers and Education. Routledge. p. 126. ISBN 978-1-136-16772-0. The language LSE (Langage Symbolique d'Enseignement–a symbolic teaching language) was defined at my laboratory in 1971 and implemented on the MITRA 15 and T1600, both French-made systems. 332. "Infographic: 10 Years of Second Life". Linden Lab. June 20, 2013. Retrieved August 4, 2014. 333. Shafer, Dan (2004). "Review: Runtime Revolution, Programming for Mere Mortals". MacTech. 20 (5). Revolution ... grows out of HyperCard, a much-beloved and widely used Apple Computer product that the company abandoned a few years ago.... 334. "Chapter 4. How JavaScript Was Created". speakingjs.com. Archived from the original on 2020-02-27. Retrieved 2017-11-21. 335. Ring Team (5 December 2017). "The Ring programming language and other languages". ring-lang.net. 336. Wadge, William W.; Ashcroft, Edward A. (1985). Lucid, the Dataflow Programming Language. Academic Press. ISBN 0-12-729650-6. Retrieved 8 January 2015. 337. N. Halbwachs et al. The Synchronous Data Flow Programming Language LUSTRE. In Proc. IEEE 1991 Vol. 79, No. 9. Accessed 17 March 2014. 338. "LYaPAS". Encyclopedia of Programming Languages. Archived from the original on July 2008. Retrieved 15 July2018. 339. M. L. Scott, "The Lynx Distributed Programming Language: Motivation, Design, and Experience," Computer Languages16:3/4 (1991), pp. 209233. http://citeseer.ist.psu.edu/scott91lynx.html 340. DougKlopfenstein. "Power Query documentation - Power Query". Retrieved 202210-27. 341. A modular mathematical programming language By Ronald E. Prather [1] 327. 450 342. Brian W. Kernighan and Dennis M. Ritchie. The m4 macro processor. Technical report, Bell Laboratories, Murray Hill, New Jersey, USA, 1977. pdf 343. "The end of offshoring?". Business Reporter. Archived from the original on 201303-10. 344. Lagarias, Jeffrey C.; Rains, Eric; Vanderbei, Robert J. (2009) [2001-10-13]. Brams, Stephen; Gehrlein, William V.; Roberts, Fred S. (eds.). The Kruskal Count (PDF). The Mathematics of Preference, Choice and Order. Essays in Honor of Peter J. Fishburn. Berlin / Heidelberg, Germany: Springer-Verlag. pp. 371– 391. arXiv:math/0110143. ISBN 978-3-540-79127-0. Archived (PDF) from the original on 2021-12-25. Retrieved 2021-12-25. (22 pages) 345. "Carl Engelman Memorial Fund" (PDF). The FINITE STRING Newsletter. American Journal of Computational Linguistics, Volume 9, Numbers 3-4, July– December 1983. Archived from the original (PDF) on 2003-04-28. 346. An Abbreviated description of the MAD compiler language, Fernando J. Corbató, Jerome H. Saltzer, Neil Barta, and Thomas N. Hastings, M.I.T. Computation Center Memorandum CC-213, June, 1963. 347. Jim Connors (2012-11-05). "Sprinkle Some Magik on that Java Virtual Machine". Retrieved 2012-11-06. With this new capability GE Energy has succeeded in hosting their Magik environment on top of the Java Virtual Machine 348. John Cannon (July 2006). "Magma 2.13 release notes". 349. "Maplesoft Media Releases". www.maplesoft.com. Retrieved 2022-03-19. 350. Del Fiacco, Gerry (2008-08-23). "MAPPER: A Mission Critical Legacy". enterprisenetworksandservers.com. Archived from the original on 200808-23. Retrieved 2019-02-03. 351. MARK IV The general purpose software product line for business data processing Informatics, Inc. 352. Web site, https://en.wikipedia.org/wiki/Mary_(programming_language) 353. Ferreira, A.J.M. (2009). MATLAB Codes for Finite Element Analysis. Springer. ISBN 978-1-4020-9199-5. 354. Watt, Peggy; Christine McGeever (January 7, 1985). "Macintosh Vs. IBM PC At One Year". InfoWorld. Vol. 7, no. 1. pp. 15–16. ISSN 0199-6649. The IBM PC Macro Assembler was released in December 1981. 355. Ash, R.; Broadwin, E.; Della Valle, V.; Greene, M.; Jenny, A.; Katz, C.; Yu, L. (1957-04-19). Preliminary Manual for MATH-MATIC and ARITH-MATIC Systems for Algebraic Translation and Compilation for UNIVAC I and II (PDF) (Technical report). Philadelphia: Remington Rand Univac. Archived from the original (PDF) on 2014-12-26. Retrieved 2016-03-19. 356. "The Maude System:About". The Maude System. Retrieved 27 August 2021. 357. Barnes, David J. & Chu, Dominique (2010). "Chapter 5". Introduction to Modeling for Biosciences. Springer. ISBN 978-1-84996-325-1. 358. Place, T.; Lossius, T. (2006). "A modular standard for structuring patches in Max" (PDF). Jamoma. New Orleans, US: In Proc. of the International Computer 451 Music Conference 2006. pp. 143–146. Archived from the original (PDF) on 201107-26. Retrieved 2011-02-16. 359. "History of Autodesk 3ds Max". Archived from the original on October 24, 2015. 360. Mark R. Wilkins, Chris Kazmier: "MEL Scripting for Maya Animators". 2nd edition, Morgan Kaufmann 2005; ISBN 0-12-088793-2 361. Supnik, Bob (October 25, 2006). "GET LAMP Bob Supnik Interview" (Interview). Interviewed by Jason Scott. 15:00. 362. Somogyi, Zoltan; Henderson, Fergus; Conway, Thomas (October–December 1996). "The execution algorithm of Mercury: an efficient purely declarative logic programming language". Journal of Logic Programming. Mercurylang.org. 29 (1– 3): 17–64. CiteSeerX 10.1.1.46.9861. doi:10.1016/S0743-1066(96)00068-4. Retrieved 2008-08-30. 363. Geschke, Charles; Morris, James H.; Satterthwaite, Edwin H. (August 1977). "Early Experience with Mesa". Communications of the ACM. 20 (8): 540– 552. doi:10.1145/359763.359771. S2CID 15737342. 364. ISO. "ISO/IEC 13522-5:1997 - Information technology -- Coding of multimedia and hypermedia information -- Part 5: Support for base-level interactive applications". Retrieved 2010-08-01. 365. "Computer Structures: Principles and Examples, Part 2, REGIONS OF COMPUTER SPACE, Section 1, MICROPROGRAM-BASED PROCESSORS, Seite 151 ff". McGraw-Hill Computer Science Series. Retrieved 2010-10-03. 366. Anderson, Tim (2021-03-02). "Excel-lent: Microsoft debuts low-code Power Fx language... but it is not really new". The Register. Retrieved 2021-03-14. 367. Marilyn Lutz (1984-03-01). "OCLC's Local Library System: LS/2000". Library Hi Tech. 2 (2): 7–16. doi:10.1108/eb047542. ISSN 0737-8831. 368. "Faster parallel computing: New programming language delivers fourfold speedups on problems common in the age of big data." by Larry Hardesty, MIT News Office, September 13, 2016. 369. "Tutorial 2: Numerical Solutions of ODE's" (PDF). Stanford University-Dept of Civil and Environmental Engineering, Environmental Fluid Mechanics Lab. 200208-19. Archived from the original (PDF) on 2010-07-20. Retrieved 2012-02-26. 370. Duby: A Type-Inferred Ruby-Like JVM Language 371. Turner, D. A. (1985). Jouannaud, Jean-Pierre (ed.). "Miranda: A non-strict functional language with polymorphic types". Functional Programming Languages and Computer Architecture. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer. 201: 1–16. doi:10.1007/3-540-15975-4_26. ISBN 978-3-540-39677-2. 372. Patches and Downloads - Includes Empresa, Mia, Compiler and Miva Merchant Limited Source Kit 373. Robin Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17(3):348–375, 1978. 374. O'Neil, Patrick (1987). "Model 204 Architecture and Performance". Proceedings of the 2nd International Workshop on High Performance Transaction Systems. Springer-Verlag. pp. 40–59. 452 375. Modelica Association, the homepage of the non-profit Modelica Association (developing Modelica) 376. Cooke, Andrew. "malbolge: hello world". Archived from the original on 2019-1206. Retrieved 2021-01-08. 377. Wirth, Niklaus (1 January 1976). "Modula: a language for modular multiprogramming". ETH Library. ETH Zurich. doi:10.3929/ethz-a-000199440. 378. "Summary of Projects by N. Wirth, 1962–1999". Department of Computer Science. ETH Zurich. 379. "Critical Mass Modula-3 (CM3)". Critical Mass Modula-3. elego Software Solutions GmbH. Retrieved 2020-03-21. 380. Mendicino, Sam F.; Hughes, Robert A.; Martin, Jeanne T.; McMahon, Frank H.; Ranelletti, John E.; Zwakenberg, Richard G. "The LRLTRAN Compiler". Communications of the ACM. 11(11): 747–755. 381. Shah, Rawn; Romine, James (1995). Playing MUDs on the Internet. John Wiley & Sons, Inc. p. 238. ISBN 0-471-11633-5. For example, the MOO (Muds ObjectOriented) is a direct result of work in this area. 382. Mortran lecture (Japanese) from KEK (PDF) 383. Mouse: Computer Programming Language (includes source code for Mouse interpreters) 384. MPD page at University of Arizona (copy in archive.org) 385. "Features - AdiIRC - AdiIRC Support/Bugs/Feature Requests". Per Amundsen. Archived from the original on 2 December 2020. Retrieved 2 December 2020. 386. Tweed, Rob; James, George (2 August 2008). "MUMPS: the Internet scale database". Archived from the original on 27 September 2021. Retrieved 25 October 2022 – via SlideShare. 387. "Symbolic math in MATLAB". 388. Arcadia BBS (Arcadia BBS, run by Nazferiti - Features Games, Files, and Gated Usenet) 389. "Release 2.15.05". 28 August 2020. Retrieved 6 September 2020. 390. Description of Napier88 at Univ. of St Andrew's website. Accessed June 21, 2012 391. "How is Neko different from .Net's CLR or the Java's JVM ?". FAQ. NekoVM. Retrieved 2021-03-28. 392. "JetBrains .NET Tools Blog » JetBrains and Nemerle". Blogs.jetbrains.com. 201206-27. Retrieved 2013-09-05. 393. Blelloch, Guy (1995). "NESL: A Nested Data-Parallel Language". 394. "Official site". Retrieved 2008-07-18. 395. "Release 6.3.0". 30 September 2022. Retrieved 24 October 2022. 396. IBM (2011). "ICU License - ICU 1.8.1 and later". Retrieved 2014-02-02. 397. Walling, Rob. "An Interview with Lutz Mueller, Creator of newLISP". Softwarebyrob.com. Archived from the originalon 2007-10-31. Retrieved 2018-11-20. 398. "ClearPath Enterprise Servers: NEWP Programming Reference Manual" (PDF). Unisys Corporation. April 2015. 453 399. Gilad Bracha, Peter Ahe, Vassil Bykov, Yaron Kashai and Eliot Miranda. The Newspeak Programming Platform. 400. Smith, W. R. (1994-02-01). The Newton application architecture. Compcon Spring '94, Digest of Papers. pp. 156– 161. doi:10.1109/CMPCON.1994.282931. ISBN 978-0-8186-5380-3. 401. "The Nial Language". GitHub. 17 December 2021. 402. "Contributors to nim-lang/Nim". GitHub. Retrieved 2022-03-23. 403. Prins, P., Suresh, J. and Dolstra, E., "Nix fixes dependency hell on all Linux distributions," linux.com, December 22, 2008 404. Web site, https://en.wikipedia.org/wiki/Nord_Programming_Language 405. "Not eXactly C". 406. NQC tutorial by Mark Overmars 407. "OpenCandy Installer Platform Comparison". Archived from the original on 27 June 2011. Retrieved 27 June 2011. 408. "Burks: Bridges and Beyond". Archived from the originalon 2011-05-14. Retrieved 2011-04-11. 409. Beamdog NWN Scripting Forum – BioWare's dedicated forum for scripting discussion. 410. "What's NXT? LEGO Group Unveils Lego Mindstorms NXT Robotics Toolset at Consumer Electronics Show" (Press release). Las Vegas, NV: The Lego Group. January 4, 2006. Archived from the original on July 8, 2009. Retrieved 2007-09-17. 411. An alternative XML language: SuperX++ 412. Jon Byous (March 12, 2003). "Java Technology: An early history" (PDF). Sun Microsystems. Retrieved August 2, 2009. Gosling called the new language "Oak", after the tree outside his window 413. Wirth, Niklaus (1987). From Modula to Oberon and the programming language Oberon (Report). ETH Technical Reports D-INFK. Vol. Band 82. Wiley. doi:10.3929/ethz-a-005363226. 414. J. A. Goguen, Higher-Order Functions Considered Unnecessary for Higher-Order Programming. In Research Topics in Functional Programming (June 1990). pp. 309–351. 415. 14 December 1985 net.lang.lisp USENET post about the Common Lisp meeting in Boston, 9-11 December 1985, which discusses Object Lisp 416. René Jansen (2011-12-01). "7 Reasons that Rexx Still Matters". SmartBear blog. Retrieved 2014-02-02. 417. Tesler, Larry (1985). "Object Pascal Report". Structured Language World. 9 (3): 10– 7. 418. "Runtime Versions and Platforms". Developer.apple.com. Archived from the original on July 20, 2016. Retrieved December 24, 2017. 419. Henglein, Fritz (1999). "Breaking through the n3 barrier: Faster object type inference". Theory and Practice of Object Systems. 5 (1): 57– 72. doi:10.1002/(SICI)1096-9942(199901/03)5:1<57::AID-TAPO5>3.0.CO;2-U. 454 "A J Milner - A.M. Turing Award Laureate". amturing.acm.org. Retrieved 6 October 2022. 421. occam Programming Manual. Prentice-Hall. 1984. ISBN 0-13-629296-8. 422. Barnes, Fred; Welch, Peter (14 January 2006). "occam-pi: blending the best of CSP and the pi-calculus". Retrieved 24 November 2006. 423. John W. Eaton (2 November 2022). "Version 7.3.0 released". Retrieved 9 November 2022. 424. "Welcome to the OmniMark 11.0 documentation". OmniMark Developer Resources. Retrieved 26 July 2022. 425. "Release 1.1.1 · MLstate/opalang". GitHub. Retrieved 2021-01-29. 426. OPAL Installation Guide 427. OPL wiki on Internet Archive containing documents detailing OPL keywords, OPX interfaces and much other information 428. "Khronos OpenCL Registry". Khronos Group. April 27, 2020. Retrieved April 27, 2020. 429. Sadd, J. OpenEdge Development: Progress 4GL Handbook, Progress Software Corporation, ISBN 0-923562-04-4, ISBN 978-0-923562-04-5 430. "Synopsys Acquires Systems Science, Inc". 24 July 1998. 431. qiskit-openqasm: OpenQASM specification, International Business Machines, 2017-07-04, retrieved 2017-07-06 432. Charles Forgy, OPS5 User's Manual, Technical Report CMU-CS-81-135 (Carnegie Mellon University, 1981) 433. Rapid application development with OPTIMJ, a practitioner's experience report. David Gravot, Patrick Viry. EURO 2010 (Lisbon) 434. Misra, Jayadev (2004). A Programming Model for the Orchestration of Web Services. Software Engineering and Formal Methods. Beijing, China: IEEE. pp. 2– 11. doi:10.1109/SEFM.2004.1347498. ISBN 0-7695-2222-X. 435. Web site, https://github.com/pkclsoft/ORCA-Modula-2 436. Website,http://www.atarimagazines.com/compute/issue134/143_Windows_3_Pow er_Tool.php 437. Wadler, P.L.; et al. (1988). "Introduction to Orwell 5.00". Programming Research Group of Oxford University. 438. "Evolution of the Oxygene Language | Oxygene | Elements". Archived from the original on 2018-01-05. Retrieved 2018-01-04. 439. Peter Van Roy and Seif Haridi (2004). Concepts, Techniques, and Models of Computer Programming. MIT Press. There is online supporting material for this book. The book, an introduction to the principles of programming languages, uses Oz as its preferred idiom for examples. 440. Ankush Desai, Vivek Gupta, Ethan Jackson, Shaz Qadeer and Sriram Rajamani. "P: Safe Asynchronous Event-Driven Programming". Microsoft. Retrieved 20 February 2017. 441. P. Bosshart; D. Daly; G. Gibb; M. Izzard; N. McKeown; J. Rexford; C. Schlesinger; D. Talayco; A. Vahdat; G. Varghese; D. Walker (July 2014). "P4: Programming 420. 455 Protocol-Independent Packet Processors". Computer Communication Review. Retrieved 7 April 2015. 442. "PDBL: A tool for Turing machine simulation". 4 September 2021. 443. Rumpf, Andreas (19 October 2017). "Nim without GC". Araq's Musings. Retrieved 1 September 2020. 444. "PARI/GP Changelog". pari.math.u-bordeaux.fr. Retrieved 14 November 2022. 445. Dev-Pascal is a Pascal IDE that was designed in Borland Delphi and which supports Free Pascal and GNU Pascal as backends. 446. Murphy, Craig (2004). "Inno Setup Revisited" (PDF). The Developers Magazine: 15–28. Retrieved 25 May 2019. 447. Hanly, Jeri R.; Elliot B. Koffman (1999). Problem Solving & Program Design in C, Third Edition. Addison-Wesley. ISBN 0-201-35748-8. 448. Milner, Robin (1977). "Fully abstract models of typed λ-calculi" (PDF). Theoretical Computer Science. 4: 1–22. doi:10.1016/0304-3975(77)900536. hdl:20.500.11820/731c88c6-cdb1-4ea0-945e-f39d85de11f1. 449. Process and Experiment Automation Realtime Language 450. DeLia, Tony et al. (2001). Essential Guide to Peoplesoft Development and Customization. Manning Publications Co.p.260 451. Larry Wall (December 12, 2007). "Programming is Hard, Let's Go Scripting..." Archived from the original on July 28, 2017. Retrieved April 14, 2019. All language designers have their occasional idiosyncracies. I’m just better at it than most. 452. https://github.com/PDLPorters/pdl/releases/tag/2.080; publication date: 28 May 2022; retrieved: 6 June 2022. 453. a b Pharo by example. Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, Marcus Denker. [Kehrsatz] Switzerland. October 28, 2009. ISBN 978-3-9523341-4-0. OCLC 957555627. 454. Stogov, Dmitry (2015-12-04). "It's not a secret that some #PHP7 optimization ideas came from HHVM, LuaJIT and V8". Twitter. 455. Department of Computer Science at VUB 456. "PicoLisp Download". Software Lab. Retrieved 18 November 2018. 457. Sewell, Peter; Wojciechowski, Pawel; Unyapot, Asis (2010). "Nomadic Pict: Programming Languages, Communication Infrastructure Overlays, and Semantics for Mobile Computation". ACM Transactions on Programming Languages and Systems. 32 (4). 458. Rob Linwood. "PILOT Resource Center". Sourceforge project. Retrieved October 13, 2011. 459. CMS/TSO Pipelines Author's Edition Author's Edition 460. The Goals of Scala's Design 461. Russell, Robert D. (1974). T. C. Streater (ed.). PL-11: A Programming Language for the DEC PDP-11 Computer(PDF) (Report). CERN. Retrieved 2014-05-02. 462. Liffick, Blaise W., Ed (1979), The Byte Book of Pascal, ISBN 0-07-037823-1 463. "Programming Language for Business". sysmaker.com. Retrieved 10 June 2016. 456 464. Barnes, Robert Arthur (1979). PL/I for Programmers. New York: North Holland. p. xv. ISBN 9780444002846. 465. Burroughs Corporation, "B 6700 / B 7700 PL/I Language Reference", 5001530. Detroit, 1977. 466. Johnson, Herb (2019-07-21). "ISIS, Intellec, PL/M, iRMX, and Intel - 20th century". Retrotechnology. Archived from the original on 2019-10-02. Retrieved 2020-01-29. 467. Web site, https://en.wikipedia.org/wiki/PL/P 468. W.R. Brittenham, "PL/S, Programming Language/Systems", Proc GUIDE Intl, GUIDE 34, May 14, 1972, pp. 540–556 469. Serge Rielau (srielau@ca.ibm.com), SQL Architect, STSM, IBM. "DB2 10: Run Oracle applications on DB2 10 for Linux, UNIX, and Windows". Ibm.com. Retrieved 2012-07-26. 470. Wirth, Niklaus (January 1968). "PL360, a Programming Language for the 360 Computers". Journal of the ACM. 15 (1): 34– 74. doi:10.1145/321439.321442. S2CID 7376057. 471. PLANC Reference Manual [ND-60.117.03]. Norsk Data. 472. Knuth, Donald Ervin; Pardo, Luis Trabb (1976), The Early Development of Programming Languages (PDF), Stanford University, Computer Science Department, archived from the original (PDF) on 2017-09-12, retrieved 2017-12-28 473. Carl Hewitt Middle History of Logic Programming: Resolution, Planner, Prolog and the Japanese Fifth Generation Project ArXiv 2009. arXiv:0904.3036 474. Johan Erikson and Björn Lisper. "A Formal Semantics for PLEX" (PDF). Mälardalen University. Retrieved 2009-03-07. 475. Estlin, Tara; Jonsson, Ari; Pasareanu, Carina; Simmons, Reid; Tso, Kam; Verma, Vandi (April 2006). "Plan Execution Interchange Language (PLEXIL)" (PDF). NASA Technical Reports Server. Retrieved 8 February 2019. 476. "The Plus Systems Programming Language", Alan Ballard and Paul Whaley, Proceedings of Canadian Information Processing Society (CIPS) Congress 84, June 1984 477. R. Burstall, A. Collins and R. Popplestone, Programming in Pop-2 University Press, Edinburgh, 1968 478. Burstall, R.; Collins, J.; Popplestone, R. (1968). Programming in Pop-2. Edinburgh: Edinburgh University Press. 479. Perry, T.S. (May 1988). "'PostScript' prints anything: a case history". IEEE Spectrum. 25 (5): 42–46. doi:10.1109/6.4550. S2CID 33376390. 480. McCreary, Charles R. (October 1993). "Amiga E: Public Domain Programming Gem". Amazing Computing For The Commodore Amiga. Vol. 8, no. 10. PiM Publications. pp. 20–21. ISSN 1053-4547. 481. "POV-Ray: Documentation: 1.1.5.3 A Historic 'Version History'". povray.org. Retrieved 2018-12-19. 457 482. Woodie, Alex (2014-01-21). "Unicom Adds HP3000 Biz with Cognos ADT Buy". Four Hundred Stuff. Retrieved 2016-03-24. 483. Martin Berner. "Appeon Signs Agreement with SAP to Bring Major Innovations to PowerBuilder". SAP Community Network. 484. Snover, Jeffrey (May 25, 2008). "PowerShell and WPF: WTF". Windows PowerShell Blog. Microsoft. 485. Standish, Thomas A. (August 1969). Christensen; Shaw (eds.). "Some features of PPL – a Polymorphic Programming Language". ACM SIGPLAN Notices (Proceedings of Extensible Language Symposium ed.). ACM Digital Library: Association for Computing Machinery. 4 (8): 20– 26. doi:10.1145/1115858.1115864. Retrieved 2018-06-23. 486. Bohnacker, Hartmut; Gross, Benedikt; Laub, Julia; Lazzeroni, Claudius (August 22, 2012), Generative Design: Visualize, Program, and Create with Processing (1st ed.), Princeton Architectural Press, p. 472, ISBN 978-1616890773 487. a b "Products : Marten IDE 1.6". Andescotia Software. Retrieved 2019-05-31. 488. Tung, Liam. "Microsoft: Here's why we love programming language Rust and kicked off Project Verona". ZDNet. 489. Clocksin, William F.; Mellish, Christopher S. (2003). Programming in Prolog. Berlin; New York: Springer-Verlag. ISBN 978-3-540-00678-7. 490. Schleimer, Rachel (June 1985). "PROMAL". Ahoy!. pp. 71–72. Retrieved 27 June 2014. 491. Neumann, René (17–18 July 2014). "Using Promela in a Fully Verified Executable LTL Model Checker" (PDF). VSTTE: Working Conference on Verified Software: Theories, Tools, and Experiments. LNCS. Vol. 8471. Vienna: Springer. pp. 105– 114. Archived from the original (PDF) on 7 October 2015. 492. PROSE – A General Purpose Higher Level Language, Procedure Manual, Control Data Corp. Pub No. 840003000 Rev. B (Jan 1977) 493. Krishna, Sundeep Sahay, Brian Nicholson, S. (2003). Global IT outsourcing : software development across borders. Cambridge: Cambridge University Press. p. 7. ISBN 978-0521816045 494. PVX Plus Technologies, "Company Announcement", "The Plus", October 8, 2010 495. Embedded SQL with Pro*C at the Wayback Machine(archived July 17, 2014) 496. Albert Gräf. "Signal Processing in the Pure Programming Language". Linux Audio Conference 2009. 497. Danks, M. (1996). The graphics environment for max. In: Proceedings of the International Computer Music Conference, pp. 67–70. International Computer Music Association. 498. Matthías Páll Gissurarson (2018-09-27), "Suggesting Valid Hole Fits for TypedHoles (Experience Report)", ACM SIGPLAN Notices, 53 (7): 179– 185, doi:10.1145/3299711.3242760, S2CID 218480974 499. Fercalo, Andrei (11 March 2014). "Programming without coding technology review". Softpedia. 458 "General Python FAQ — Python 3.9.2 documentation". docs.python.org. Archived from the original on 24 October 2012. Retrieved 28 March 2021. 501. "Q Language Widening the Appeal of Vectors". Archived from the original on January 1, 2007. Retrieved June 1, 2016. 502. "Solving the quantum many-body problem with artificial neural networks". Microsoft Azure Quantum. 15 February 2017. 503. " https://api.github.com/repos/nasser/--- " [ archive ] (accessed onOctober 26, 2022) 504. "QCL - A Programming Language for Quantum Computers". tuwien.ac.at. Retrieved 2017-07-20. 505. "Making Applications Scriptable: ECMAScript Compatibility". Qt 4.6. Nokia. Archived from the original on 2010-09-28. Retrieved 5 September 2011. 506. Lasse Lehtinen (1996-07-25). "QuakeC released". Quake and QuakeWorld history. Retrieved 2011-01-14. 507. Jarosław Adam Miszczak (2012). High-level Structures in Quantum Computing. ISBN 9781608458516. 508. Hervé Gallaire and Jack Minker. Logic and Databases. Plenum Press, New York,1978. 509. Peter Dalgaard (31 October 2022). "R 4.2.2 is released". Retrieved 2 November 2022. 510. US 5768480, Crawford, Jr., James Melton; Dvorak, Daniel L. & Litman, Diane Judith et al., "Integrating rules into object-oriented programming systems", published 1998-06-16, assigned to Lucent Technologies Inc. 511. Tobin-Hochstadt, Sam; Gerard, Sage; Dueck, Joel; Flatt, Matthew; Software Freedom Conservancy; Chestek, Pamela (2019-11-15). "Completing Racket's relicensing effort". Retrieved 2019-12-27. 512. "Announce: Raku Perl 6 'Diwali' 6.d Language Specification Release". blogs.perl.org. Zoffix Znet. 5 November 2018. Retrieved 19 August 2022. 513. "ABB RobotStudio Manual (With Rapid Reference)" 514. Tsikoza, Vitaly Arkadievich; Glagoleva, Natalia Georgievna; Nalimov, Evgeny Viktorovich; Zemtsov, Pavel Apolinarevich; Baraz, Leonid Semenovich; Borovikov, Yegor Vasilievich (10 August 1987). The Rapier Programming Language. Archive of Academician Andrey Ershov (Report). AP Ershov Institute of Informatics Systems, Siberian Branch of the Russian Academy of Sciences (ISI SB RAS). Retrieved 16 April 2021. 515. "Another Ratfor source code". Archived from the originalon 2013-07-03. ratfiv or ratfiv source rpm package 516. Fischer, Manfred M. (13 December 1996). Spatial Analytical Perspectives on GIS. ISBN 9780748403400. 517. Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems: facebook/reason, Facebook, 2019-03-23, retrieved 2019-03-23 500. 459 "Calling REBOL Rebol?". December 14, 2012. Archived from the original on December 3, 2013. Retrieved December 2, 2013. 519. « New Red Programming Language Gets Syllable Backend », osnews.com, May 2011. 520. Wangsaw, Mintardjo. "Intro to Art in '88: Paper - Stone - Scissors Trilogy". Retrieved 2013-03-11. 521. Turchin, Valentin F. (1989). "REFAL-5 Programming Guide and Reference Manual". The City College of New York, New England Publishing Co., Holyoke. 522. IBM Virtual Machine Facility /370: EXEC User's Guide (PDF)(Second ed.). International Business Machines Corporation. April 1975. GC20-1812-1. 523. M. Ayouni (29 July 2020). "A Dialogue with Mahmoud Fayed" (PDF). Springer. 524. A Rule-based and Object-oriented AI Programming Language, Tao Li, ACM SIGPLAN Notices, Volume 30, No.12, December 1995 525. Tony Baritz; David Dunne (1991). AS/400--concepts and Facilities. McGrawHill. ISBN 978-0-07-018301-8. 526. "The Joy of Programming?". Museum of HP Calculators. 2020. 527. Robot Battle: Home (via the Wayback Machine) 528. Barnes, J.G.P. (September 1980). "The Standardisation of RTL/2". Software: Practice and Experience. Wyley. 10 (9): 707– 719. doi:10.1002/spe.4380100904. S2CID 5050804. 529. Bini, Ola. "Ioke". Ioke.org. Archived from the original on 2011-07-21. Retrieved 2011-07-21. inspired by Io, Smalltalk, Lisp and Ruby 530. "Rust Legal Policies". Rust-lang.org. Archived from the original on 2018-04-04. Retrieved 2018-04-03. 531. Becker, R.A.; Chambers, J.M. (1984). S: An Interactive Environment for Data Analysis and Graphics. Pacific Grove, CA, USA: Wadsworth & Brooks/Cole. ISBN 0-534-03313-X. 532. "LiveJournal.com WHOIS, DNS, & Domain Info - DomainTools". WHOIS. Retrieved 2016-12-09. 533. Hünke, Horst (1981). Software engineering environments(illustrated ed.). NorthHolland Pub. Co. p. 83. ISBN 978-0-444-86133-7. 534. Davis, John (26 November 2017). "A little bit about me". John E. Davis Software. Archived from the original on 31 May 2020. Retrieved 1 June 2020. 535. Bajuk-Yorgan, Lou. "What Makes TIBCO Enterprise Runtime for R (TERR) Unique?". TIBCO Software Inc. Retrieved 28 January 2018. 536. Initial paper describing SA-C 537. S. J. Hobson, "ALCS -- A High-Performance High-Availability DB/DC Monitor", p. 136 (footnote 2) in High Performance Transaction Systems, 2nd International Workshop, Asilomar Conference Center, Pacific Grove, California, USA, September 28-30, 1987, Proceedings. Lecture Notes in Computer Science 359, Springer 1989, ISBN 3-540-51085-0. 538. "PUB Manual". Nomodes.com. Retrieved 30 December2017. 518. 460 539. Prace Zakładu Aparatów Matematycznych PAN, "System Automatycznego Kodowania SAKO – opis języka", PAN – Warszawa 1961, 540. Arthur Li (10 April 2013). Handbook of SAS DATA Step Programming. CRC Press. p. 149. ISBN 978-1-4665-5238-8. 541. Turner, D.A. "An Implementation of SASL". University of St. Andrews, Department of Computer Science Technical Report. TR/75/4. 542. Sather-W 1.3 project page (archived link from year 2002) 543. Rob Pike, Sean Dorward, Robert Griesemer, Sean Quinlan. Interpreting the Data: Parallel Analysis with Sawzall 544. Fogus, Michael (6 August 2010). "MartinOdersky take(5) toList". Send More Paramedics. Retrieved 2012-02-09. 545. Common LISP: The Language, 2nd Ed., Guy L. Steele Jr. Digital Press; 1981. ISBN 978-1-55558-041-4. "Common Lisp is a new dialect of Lisp, a successor to MacLisp, influenced strongly by ZetaLisp and to some extent by Scheme and InterLisp." 546. Holopainen, Timo (2000). "Modelling and simulation of multitechnological machine systems" (PDF). 547. Schorow, Stephanie (14 May 2007). "Creating from Scratch". MIT News. Archived from the original on 13 October 2018. Retrieved 18 May 2019. 548. Script.NET Homepage 549. The sed FAQ, Section 2.1". Retrieved 2013-05-21. 550. Mertes, Thomas (12 March 2022). "New Seed7 Release 2022-03-12". Retrieved 12 March 2022 – via SourceForge. 551. Ungar, David; Smith, Randall B. (2007). "Self". Proceedings of the Third ACM SIGPLAN Conference on History of Programming Languages (HOPL III). doi:10.1145/1238844.1238853. ISBN 9781595937667. S2CID 220937663. 552. "SenseTalk Mathematical Operators". 553. "Dr. Daniel Cooke at Texas Multicore Technologies". Archived from the original on 2016-03-04. Retrieved 2016-02-24. 554. Sigalos, MacKenzie. "Ethereum's massive software upgrade just went live — here's what it does". CNBC. Retrieved 15 September 2022. 555. J.T. Schwartz; R.B.K. Dewar; E. Dubinsky; E. Schonberg (1986). Programming with sets. An Introduction to SETL. Springer-Verlag New York Inc. ISBN 978-14613-9577-5. 556. Sebesta, R. W. Concepts of Programming languages. 2006; M6 14:18 pp. 44. ISBN 0-321-33025-0. 557. "Superbase and SIMPOL Together Again". Superbase. 28 November 2014. Retrieved 12 May 2020. 558. The Polychrony toolset dedicated to SIGNAL (official website of Polychrony) 559. "SiMPLE -- the Computer Programming Language for Kids!". Archived from the original on 2012-08-18. Retrieved 2012-08-24. 461 560. Reviews, C. T. I. (2016). Simulation With Arena. ISBN 9781467273411. SIMSCRIPT ... was implemented asa Fortran preprocessor on the IBM 7090 561. Sylvester, Peter. "IBM System 360/370 Compiler and Historical Documentation" (The Simula Standard and other historical documentation). 562. "System Requirements and Platform Availability by Product". mathworks.com. Retrieved 15 October 2015. 563. Retire Fortran?: a debate rekindled, David Cann, August 1992, Communications of the ACM, Volume 35, Issue 8 564. Barnes, T. J.: “SKILL: a CAD system extension language”, 27th ACM/IEEE Design Automation Conference, 1990. Proceedings; pp. 266-271 565. Weizenbaum, Joseph (1976). Computer Power and Human Reason: From Judgment to Calculation. New York: W.H. Freeman and Company. pp. 2, 3, 6, 182, 189. ISBN 0-7167-0464-1. 566. Nevil Brownlee staff page, Center for Applied Internet Data Analysis 567. "Alto I Schematics" (PDF). Bitsavers. p. 54. Retrieved 21 July 2016. 568. "Standard ML Basis Library". smlfamily.github.io. Retrieved 2022-01-10. 569. Bracha, Gilad; Griswold, David (1993). "Strongtalk: Typechecking Smalltalk in a Production Environment". Proceedings of the OOPSLA'93 Conference on Objectoriented Programming Systems, Languages and Applications: 215–230. 570. "UC Berkeley EECS - CS10 : The Beauty and Joy of Computing - Fall 2011". inst.eecs.berkeley.edu. Retrieved 21 May 2017. 571. Ierusalimschy, Roberto; de Figueiredo, Luiz Henrique; Celes, Waldemar (2007), "The Evolution of Lua" (PDF), HOPL III: Proceedings of the third ACM SIGPLAN conference on History of programming languages: 26, doi:10.1145/1238844.1238846 572. "Snowball: Quick introduction", Martin Porter, web page. Retrieved 2 September 2014. 573. Bharadwaj, Ramesh (2002). "SOL: A Verifiable Synchronous Language for Reactive Systems". Electronic Notes in Theoretical Computer Science. 65 (5): 140. doi:10.1016/S1571-0661(05)82565-4. 574. Afshar, Vala (17 July 2017). "Ethereum Is The Second Most Valuable Digital Currency, Behind Bitcoin". HuffPost. Retrieved 10 April 2019. 575. Adrian V. Gheorghe and Ralf Mock. Risk Engineering: Bridging Risk Analysis With Stakeholders Values. Springer, Jan 1, 1999. pg. 72 576. Douglas Crockford (2008). JavaScript: The Good Parts. O'Reilly. ISBN 9780596517748. 577. "SPARK - The SPADE Ada Kernel (including RavenSPARK)". AdaCore. Retrieved 30 June 2021. 578. The Speakasy Computing Corporation's channel on YouTube 579. Shasha, Dennis Elliot; Lazere, Cathy (1998). Out of their Minds: The Lives and Discoveries of 15 Great Computer Scientists. New York, 462 USA: Copernicus, Springer-Verlag New York, Inc. ISBN 0-387-982698. LCCN 98-16911. SPIN 10693423. 580. Robert B. K. Dewar; Anthony P. McCann (1979). MINIMAL - A Machine Independent Assembly Language. Computer Science Department Technical Report. Vol. No. 12. Courant Institute of Mathematical Sciences. 581. Holt, Richard; Wortman, D. (February 1974). "A sequence of structured subsets of PL/I". Retrieved 2009-09-17. 582. 1401 History 583. Paul, Ryan (24 October 2005). "A guided tour of the Microsoft Command Shell". Ars Technica. Retrieved 10 April2011. 584. Web site, https://en.wikipedia.org/wiki/SQR 585. Ingalls, Dan; Kaehler, Ted; Maloney, John; Wallace, Scott; Kay, Alan (1997). "Back to the Future: the story of Squeak, a practical Smalltalk written in itself". ACM SIGPLAN Notices. ACM Digital Library. 32 (10): 318– 326. doi:10.1145/263700.263754. Retrieved 2011-06-12. 586. MirthKit Developer Wiki Archived 2014-02-11 at the Wayback Machine 587. Gregory R. Andrews, Ronald A. Olsson: The SR Programming Language: Concurrency in Practice, ISBN 0-8053-0088-0 588. J. R. Cordy, R. C. Holt and D. B. Wortman, "S/SL: Syntax/Semantic Language Introduction and Specification", Technical Report CSRG-118, Computer Systems Research Group, University of Toronto, Sept. 1980 589. "StarLogo TNG". MIT Scheller Teacher Education Program Education Arcade. Massachusetts Institute of Technology. Retrieved 2019-07-15. 590. Foster, Ian; Stephen Taylor: Strand: new concepts in parallel programming. ISBN 9780138505875. 591. Cox, Nicholas J. "Statalist FAQ". Statalist: The Stata Forum. Retrieved 24 April 2021. 592. Gregoire Hamon and John Rushby. "An Operational Semantics for Stateflow" (PDF). Presented at Fundamental Approaches to Software Engineering (FASE) Barcelona, Spain, March 2004. SRI International Computer Science Laboratory. 593. Subtext: uncovering the simplicity of programmingJonathan Edwards. In OOPSLA October ’05: Proceedings of the 20th annual ACM SIGPLAN conference on Objectoriented programming, systems, languages, and applications. 594. "Superbase and SIMPOL Together Again". Superbase. 28 November 2014. Retrieved 12 May 2020. 595. J. McCartney, SuperCollider: A new real time synthesis language, in Proc. International Computer Music Conference (ICMC’96), 1996, pp. 257–258. 596. Rutishauser, Heinz (1951), "Über automatische Rechenplanfertigung bei programmgesteuerten Rechenanlagen", Zeitschrift für Angewandte Mathematik und Mechanik (in German), 31: 255, doi:10.1002/zamm.19510310820 597. Web site, https://en.wikipedia.org/wiki/SuperTalk 463 "Swift, Objectively". Swift is proprietary and closed: It is entirely controlled by Apple and there is no open source implementation. 599. Wilde, Michael; Hategan, Mihael; Wozniak, Justin M.; Clifford, Ben; Katz, Daniel S.; Foster, Ian (2011). "Swift: A language for distributed parallel scripting" (PDF). Parallel Computing. 37(9): 633– 652. CiteSeerX 10.1.1.658.8990. doi:10.1016/j.parco.2011.05.005. Archived from the original(PDF) on 2014-06-06. 600. Ninety-nine Bottles of Beer program - written in SYMPL 601. Slade, Stephen (1987). The T programming language : a dialect of LISP. Englewood Cliffs, NJ: Prentice-Hall. ISBN 978-0-13-881905-7. OCLC 16094677. 602. "HP Integrity NonStop BladeSystem NB50000c - overview". Hewlett-Packard Development Company. 2001. Retrieved 12 October 2012. 603. Litton Data Systems, Inc. (1975). TACPOL Reference Manual Programming Support System. Document USACSCS-TF-4-1. 604. Montfort, Nick (2005). Twisty Little Passages: An Approach to Interactive Fiction. MIT Press. p. 201. ISBN 978-0-262-63318-5. Retrieved 25 April 2020. 605. Web site, https://en.wikipedia.org/wiki/Transaction_Application_Language 606. Lerdorf, Rasmus (2007-04-26). "PHP on Hormones – history of PHP presentation by Rasmus Lerdorf given at the MySQL Conference in Santa Clara, California". The Conversations Network. Retrieved 2009-12-11. 607. Hunter, Jason; Crawford, William (April 3, 2001). Java Servlet Programming: Help for Server Side Java Developers. "O'Reilly Media, Inc.". p. 423. ISBN 9780596000400 – via Internet Archive. tea programming language. 608. TECO pocket guide. Digital Equipment Corporation. 1978. Archived from the original on 2008-02-07. Retrieved 2012-05-24. 609. "Leo Beranek Oral History". Institute of Electrical and Electronics Engineers (IEEE). Archived from the original on 2004-08-05. Retrieved 2004-0916. 610. Yannis Haralambous. Fonts & Encodings (Translated by P. Scott Horne). Beijing; Sebastopol, Calif: O’Reilly Media, 2007, pp. 235. 611. TEX User Guide (DF72) - Honeywell Information Systems, Copyright 1979 612. TIE syntax highlight script for Vim editor : http://www.vim.org/scripts/script.php?script_id=1964 613. Knuth, Donald (1990). P. Deransart; M. Jourdan (eds.). "The Genesis of Attribute Grammars" (PDF). Proceedings of the International Conference on Attribute Grammars and their Applications (Paris, France). New York: Springer-Verlag. 614. Emilie Balland, Paul Brauner, Radu Kopetz, Pierre-Etienne Moreau and Antoine Reilles (April 2008). "Tom Manual"(PDF). 615. "banna - useless things". Archived from the original on 2016-10-24. Retrieved 2016-10-23. 616. "Health Care Services Leader McKesson's History: Our History". McKesson. Archived from the original on 2012-03-13. Retrieved 2012-03-14. 598. 464 "DEC Text Processing Utility Reference Manual". Archived from the original on 2018-05-10. Retrieved 2018-05-09. 618. Carol Loeb Mir. "A Comparison of String Handling in Four Programming Languages". 1972. 619. Greenwald, I.D. and Kane, M, The Share 709 System: Programming and Modification. JACM 6 No. 2 (1959). pp. 128–133. 620. "T-SQL Improvements in SQL Server 2012", Jonathan Allen on Mar 19, 2012, infoq.com 621. Shafer, Dan (2004). "Review: Runtime Revolution, Programming for Mere Mortals". MacTech. 20 (5). Revolution ... grows out of HyperCard, a much-beloved and widely used Apple Computer product that the company abandoned a few years ago.... 622. TTCN-3 Quick Reference Card 623. Fluck, A., Webb, M., Cox, M., Angeli, C., Malyn-Smith, J., Voogt, J., & Zagami, J. (2016). Arguing for computer science in the school curriculum. Journal of Educational Technology & Society, 19(3), 38-46. 624. from page 4 of The TUTOR Language by Bruce Sherwood, 1974. 625. "Archived copy". Archived from the original on 2005-05-21. Retrieved 2008-0319. 626. Bright, Peter (3 October 2012). "Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem?". Ars Technica. Condé Nast. Retrieved 26 April 2015. 627. "With 5M Users Already On Board, Tynker Goes Mobile To Help Kids Learn To Code On The iPad". TechCrunch. Retrieved 25 February 2015. 628. http://isbndb.com/d/book/design_of_very_high_level_computer_languages.html (V HLL principles) 629. As of May 2006, UCSD has released portions of the p-System written before June 1, 1979, for non-commercial use. (Note: Webpage resizes browser window.) 630. Badreddin, Omar (2012). "A Manifestation of Model-Code Duality: Facilitating the Representation of State Machines in the Umple Model-Oriented Programming Language". PhD Thesis, University of Ottawa. 631. Clinton Jeffery (August 1998). "Closure-Based Inheritance and Inheritance Cycles in Idol" – via ResearchGate. 632. Gartner: Uniface company profile 633. K. Mani Chandy and Jayadev Misra (1988) Parallel Program Design: A Foundation. 634. Edwards, Benj (May 25, 2009). "From The Past To The Future: Tim Sweeney Talks". Gamasutra. Archived from the original on August 9, 2017. Retrieved November 18, 2018. 635. "Vala - Compiler Using the GObject Type System". GNOME Project. News section. Retrieved 3 September 2022. 636. "Vim 9.0"; subtitle: vim online; retrieved: 1 July 2022; publication date: June 2022. 637. "Clients - ethernodes.org - The Ethereum Network & Node Explorer". ethernodes.org. Retrieved 10 September 2022. 617. 465 "InfoNews/Software, CP/M, DataFlex". InfoWorld. Vol. 4, no. 9. IDG. March 8, 1982. p. 46. ISSN 0199-6649. 639. "Visual DialogScript - A Quick Tour". www.jm-tech.com. Archived from the original on 25 January 1998. Retrieved 13 January 2022. 640. "Visual FoxPro 9.0 Updates". Visual FoxPro Developer Center. Microsoft. Retrieved 7 June 2013. 641. Rogers, Dan (December 1, 1996). "Microsoft's Visual J++ 1.0". Dr Dobb's Journal. 642. "VBA support in AutoCAD 2011". Archived from the original on 15 April 2014. Retrieved 14 April 2014. 643. "Google newsgroup 'comp.lang.clipper.visual-objects'". Retrieved 11 September 2019. 644. Webster, Bruce F. (September 1986). "Two Fine Products". BYTE. p. 335. 645. Clarence B. Germain (1965). Programming the IBM 1620(2nd ed.). Prentice-Hall. p. 62. 646. Mozilla. "Understanding WebAssembly text format". MDN Web Docs. Retrieved 9 December 2019. 647. "Smith Micro Software Ships WebCatalog(TM) 4.0, Featuring Expanded Wizard Capabilities for Building Online Stores", PR Newswire. PR Newswire Association LLC., June 7, 2000[dead link] 648. Hoare, Tony (2003). "The Verifying Compiler: A Grand Challenge for Computing Research". Journal of the ACM. 50: 63– 69. doi:10.1145/602382.602403. S2CID 441648. 649. "Christopher Diggins: What is a concatenative language". Drdobbs.com. 2008-1231. Retrieved 2013-07-01. 650. Wolfram, Stephen. "Tini Veltman (1931–2021): From Assembly Language to a Nobel Prize—Stephen Wolfram Writings". stephenwolfram.comwritings. Retrieved 22 January 2021. 651. Wyvern on GitHub 652. Dynamics Lifecycle Services Communication (2016-05-27). "May 2016 release notes". Microsoft. Microsoft Dynamics Lifecycle Services Engineering Blog. Retrieved 2016-05-31. 653. Ebcioğlu, Kemal; Saraswat, Vijay; Sarkar, Vivek. "X10: Programming for Hierarchical Parallelism and NonUniform Data Access". CiteSeerX 10.1.1.135.9826. 654. "Home of Alaska Software". www.alaska-software.com. Retrieved 2019-11-07. 655. Castro, Jorge O. (2004-06-15). "Ars Technica sits down with Scott Collins from Mozilla.org". Ars Technica. p. 2. Archived from the original on 2018-02-22. Retrieved 2018-11-28. 656. Peter Clarke (6 September 2007). "XMOS raises $16 million in Series A funding". EE Times Europe. Retrieved 2 February2009. 657. Object Oriented Harbour GUI (ooHG) 638. 466 de Dinechin, Christophe (October 2000). "C++ exception handling for IA64" (PDF). IEEE Concurrency. ACM. 8 (4): 72–79. doi:10.1109/4434.895109. Retrieved 24 February2014. 659. Xojo (December 9, 2014). "Xojo, Inc. Announces Xojo 2014 Release 3; Includes Support For Developing Native iOS Applications". Xojo. Retrieved 2014-12-09. 660. Neumann, Gustav; Zdun, Uwe (February 2000). "XOTcl, an Object-Oriented Scripting Language" (PostScript). Retrieved 2014-07-03. 661. Verma, Adarsh (2017-06-22). "XOD: A New And Open Source Visual Programming Language For Arduino, Raspberry Pi, Etc". Fossbytes. Retrieved 2018-05-13. 662. Shustek, Len (2016-08-02). "In His Own Words: Gary Kildall". Remarkable People. Computer History Museum. 663. Fish, Larry (February 1979). "A Block-Structured Language for Microcomputers". Kilobaud, p. 24. 664. Kilpeläinen, Pekka (2012). "Using XQuery for problem solving" (PDF). Software: Practice and Experience. 42 (12): 1433– 1465. doi:10.1002/spe.1140. S2CID 15561027. 665. T. Swift and D.S. Warren (2011), XSB: Extending the Power of Prolog using Tabling. Theory and Practice of Logic Programming (TPLP), Cambridge University Press, 2011. 666. XSharp extension for Visual Studio (Microsoft Visual Studio Marketplace 667. "Introduction". XSL Transformations (XSLT) Version 1.0 W3C Recommendation. W3C. 16 November 1999. Retrieved November 7, 2012. 668. Sven Efftinge. "Official Xtend Homepage at". Eclipse.org. Retrieved 2013-09-14. 669. Yorick Language Quick Reference Guide 670. Perez, Juan Carlos (April 29, 2009). "Yahoo Extends YQL Web Data Query Platform". PC World. 671. "The Yoix® Scripting Language". Internet Archive Wayback Machine. July 1, 2016. Archived from the original on September 21, 2015. Retrieved November 20, 2016. 672. Abrial, Jean-Raymond (1974), "Data Semantics", in Klimbie, J. W.; Koffeman, K. L. (eds.), Proceedings of the IFIP Working Conference on Data Base Management, North-Holland, pp. 1–59 673. "unposted: Release 5.9". sourceforge.net. May 14, 2022. Retrieved May 16, 2022. 674. "ColorWorks CW-C6500A Color Inkjet Label Printer with Auto Cutter (Matte)". Epson. Retrieved 31 July 2021. Compatible with ZPL II 675. Zeno 1.3 Website 676. Huebner, Hans, ed. (January 1984). "Lisp Machine Manual, Hypertext (6th) edition". GitHub. Retrieved November 30,2018. 677. Kelley, Andrew. "Introduction to the Zig Programming Language". andrewkelley.me. Retrieved 8 November2020. 678. Gutnecht, Jürg and Eugene Zueff (Computer Systems Institute, ETH Zürich, Switzerland). "Zonnon for .NET - A Language and Compiler Experiment." 658. 467 (Archive, Springer link) in: Böszörményi, László and Peter Schojer (editors). Modular Programming Languages: Joint Modular Languages Conference, JMLC 2003, Klagenfurt, Austria, August 25–27, 2003, Proceedings. Springer, September 29, 2003. ISBN 3540407960, 9783540407966. 679. Or... "Our Programming Language, with a Z" http://hopl.info/showlanguage.prx?exp=2641&language=ZOPL 680. "Chapel spec (Acknowledgements)" (PDF). Cray Inc. 2015-10-01. Retrieved 201601-14. 681. Lano, K.C., Z++, an Object-Oriented Extension to Z. Z User Workshop, Oxford 1990, Springer, Workshops in Computing, 1991, pp. 151–172. 468 Contents 4……….. Abstract 5……….. Introduction 7……….. Princess Farah and her friends 8……….. Prince Salah and his fame 9……….. Moses and Taha, Princes of Magic 10……….. Aseel, Princess of beauty 12……….. Bashaa'r, The Sleeping Princess 14……….. Tuqa, Princess of Butterflies 16……….. The Inhabitants of the six Provinces 17……….. Conclusion 19……….. A.NET (A#/A sharp) 19……….. A-0 System 20……….. A+ (A plus) 21……….. A++ 22……….. ABAP 22……….. ABC 23……….. ABC ALGOL 23……….. ACC 23……….. Accent (Rational Synergy) 24……….. Ace DASL (Distributed Application Specification Language) 25……….. Action! 27……….. ActionScript 28……….. Actor 28……….. Ada – ISO/IEC 8652 30……….. Adenine (Haystack) 30……….. AdvPL 31……….. Agda 32……….. Agilent VEE (Keysight VEE) 32……….. Agora 33……….. AIMMS 34……….. Aldor 35……….. Alef 36……….. ALF 37……….. ALGOL 58 38……….. ALGOL 60 40……….. ALGOL 68 42……….. ALGOL W 44……….. Alice (Alice ML) 45……….. Alma-0 469 46……….. AmbientTalk 47……….. Amiga E 48……….. AMOS (AMOS BASIC) 49……….. AMPL 49……….. Analitik 50……….. AngelScript 51……….. Apache Pig latin 52……….. Apex (Salesforce.com, Inc) 53……….. APL 54……….. App Inventor for Android's visual block language (MIT App Inventor) 55……….. AppleScript 55……….. APT 56……….. Arc 56……….. ARexx 57……….. Argus 57……….. Assembly language (ASM) 59……….. AutoHotkey 59……….. AutoIt 61……….. AutoLISP / Visual LISP 62……….. Averest 63……….. AWK 64……….. Axum 65……….. B 66……….. Babbage 68……….. Ballerina 69……….. Bash 71……….. BASIC 75……….. Batch file (Windows/MS-DOS) 78……….. bc (basic calculator) 79……….. BCPL 79……….. BeanShell 80……….. BETA 81……….. BLISS 82……….. Blockly 83……….. BlooP 86……….. Boo 86……….. Boomerang 87……….. Bosque 88……….. C – ISO/IEC 9899 90……….. C-- (C minus minus) 91……….. C++ (C plus plus) – ISO/IEC 14882 92……….. C* 93……….. C# (C sharp) – ISO/IEC 23270 470 96……….. C/AL 97……….. Caché ObjectScript 98……….. C Shell (csh) 101……….. Caml 102……….. Carbon 103……….. Catrobat 103……….. Cayenne (Lennart Augustsson) 104……….. CDuce 104……….. Cecil 105……….. Céu 106……….. Ceylon 109……….. CFEngine 110……….. Cg (High-Level Shader/Shading Language [HLSL]) 111……….. Ch 112……….. Chapel (Cascade High Productivity Language) 113……….. Charm 114……….. CHILL 114……….. CHIP-8 115……….. ChucK 116……….. Cilk (also Cilk++ and Cilk plus) 118……….. Claire 118……….. Clarion 119……….. Clean 121……….. Clipper 122……….. CLIPS 123……….. CLIST 124……….. Clojure 126……….. CLU 126……….. CMS-2 127……….. COBOL – ISO/IEC 1989 129……….. CobolScript – COBOL Scripting language 129……….. Cobra 129……….. CoffeeScript 130……….. ColdFusion 131……….. COMAL 131……….. COMIT 132……….. Common Intermediate Language (CIL) 133……….. Common Lisp (also known as CL) 133……….. COMPASS 134……….. Component Pascal 134……….. COMTRAN 134……….. Constraint Handling Rules (CHR) 135……….. Control Language 471 136……….. Cool 137……….. Coq 140……….. Coral 66 140……….. CorVision 140……….. COWSEL 140……….. CPL 141……….. Cryptol 141……….. Crystal 142……….. Csound 143……….. CSS 145……….. Cuneiform 147……….. Curl 148……….. Curry 148……….. Cybil 148……….. Cyclone 148……….. Cypher Query Language 149……….. Cython 151……….. CEEMAC 152……….. D (also known as dlang) 153……….. Dart 154……….. Darwin 154……….. DataFlex 155……….. Datalog 155……….. DATATRIEVE 156……….. dBase 157……….. dc 157……….. DCL (DIGITAL Command Language) 158……….. Delphi 159……….. DIBOL 159……….. DinkC 160……….. Draco 160……….. DRAKON 161……….. Dylan 161……….. DYNAMO 161……….. DAX (Data Analysis Expressions) 162……….. E 163……….. Ease 163……….. Easy PL/I 163……….. EASYTRIEVE PLUS 164……….. eC 165……….. ECMAScript 165……….. Edinburgh IMP 165……….. EGL 472 166……….. Eiffel 167……….. ELAN 167……….. Elixir 168……….. Elm 168……….. Emacs Lisp 169……….. Emerald 169……….. Epigram 169……….. EPL (Easy Programming Language) 169……….. Erlang 170……….. es 171……….. Escher 171……….. ESPOL 171……….. Esterel 172……….. Etoys 172……….. Euclid 172……….. Euler 173……….. Euphoria 173……….. EusLisp Robot Programming Language 173……….. CMS EXEC (EXEC) 174……….. EXEC 2 174……….. Executable UML 174……….. Ezhil 174……….. F 175……….. F# (F sharp) 176……….. F* 177……….. Factor 177……….. Fantom 178……….. FAUST 178……….. FFP 178……….. Fish 179……….. Fjölnir 179……….. FL 180……….. FlagShip 181……….. Flavors 181……….. Flex 181……….. Flix 182……….. FlooP 182……….. FLOW-MATIC (B0) 182……….. FOCAL (Formulating On-Line Calculations in Algebraic Language/Formula CALculator) 182……….. FOCUS 183……….. FOIL 184……….. FORMAC (FORMula MAnipulation Compiler) 473 184……….. @Formula 184……….. Forth 185……….. Fortran – ISO/IEC 1539 187……….. Fortress 187……….. FP 188……….. FoxBase/FoxPro 189……….. Franz Lisp 189……….. Futhark 190……….. F-Script 190……….. Game Maker Language 190……….. GameMonkey Script 191……….. GAMS (General Algebraic Modeling System) 191……….. GAP 192……….. G-code 192……….. GDScript (Godot) 193……….. Genie 193……….. GDL (Geometric Description Language) 194……….. GEORGE 195……….. GLSL (OpenGL Shading Language) 195……….. GNU E 196……….. GNU Guile (GNU Ubiquitous Intelligent Language for Extensions) 197……….. Go 197……….. Go! 198……….. GOAL (Game Oriented Assembly Lisp) 198……….. Gödel 199……….. Golo 199……….. GOM (Good Old Mad) 200……….. Google Apps Script 201……….. Gosu 201……….. GOTRAN (IBM 1620) 202……….. GPSS (General Purpose Simulation System) 202……….. GraphTalk (Computer Sciences Corporation) 202……….. GRASS 203……….. Grasshopper 203……….. Groovy (Apache Groovy) 204……….. Hack 205……….. HAGGIS 205……….. HAL/S 206……….. Halide (programming language) 206……….. Hamilton C shell 207……….. Harbour 208……….. Hartmann pipelines 209……….. Haskell 474 210……….. Haxe 210……….. Hermes 211……….. High Level Assembly (HLA) 211……….. HLSL 212……….. Hollywood 213……….. HolyC (TempleOS) 214……….. Hop 214……….. Hopscotch 215……….. Hope 216……….. Hume 217……….. HyperTalk 217……….. Hy 218……….. Io 219……….. Icon 220……….. IBM Basic assembly language 220……….. IBM HAScript 220……….. IBM Informix-4GL 221……….. IBM RPG 221……….. IDL 221……….. Idris 222……….. Inform 222……….. ISLISP 223……….. J 224……….. J# (J sharp) 224……….. J++ (J plus plus) 225……….. JADE 226……….. JAL 226……….. Janus (concurrent constraint programming language) 226……….. Janus (time-reversible computing programming language) 227……….. Java 228……….. JavaFX Script 230……….. JavaScript 232……….. Jess 232……….. JCL 232……….. JEAN 233……….. Join Java 233……….. JOSS 236……….. Joule 236……….. JOVIAL 236……….. Joy 237……….. JScript 238……….. JScript .NET 239……….. Julia 475 240……….. Jython 240……….. K 241……….. Kaleidoscope 241……….. Karel 242……….. KEE 243……….. Kixtart 243……….. Klerer-May System 243……….. KIF (Knowledge Interchange Format) 244……….. Kojo 245……….. Kotlin 245……….. KRC 245……….. KRL 245……….. KRL (KUKA Robot Language) 246……….. KRYPTON 247……….. KornShell (ksh) 246……….. Kodu 247……….. Kv (Kivy) 247……….. LabVIEW 248……….. Ladder 248……….. LANSA 248……….. Lasso 249……….. Lava 249……….. LC-3 249……….. Lean 250……….. Legoscript 250……….. LIL 250……….. LilyPond 251……….. Limbo 251……….. Limnor 251……….. LINC 251……….. Lingo 251……….. LINQ 251……….. LIS 251……….. LISA 252……….. Language H 252……….. Lisp – ISO/IEC 13816 252……….. Lite-C 253……….. Lithe 253……….. Little b 253……….. Logo 253……….. Logtalk 253……….. LotusScript 254……….. LPC 476 254……….. LSE 254……….. LSL 255……….. LiveCode 255……….. LiveScript 255……….. Lua 255……….. Lucid 256……….. Lustre 256……….. LYaPAS 256……….. Lynx 256……….. M Formula language 257……….. M2001 257……….. M4 257……….. M# 258……….. Machine code 259……….. Macsyma 259……….. MAD (Michigan Algorithm Decoder) 259……….. Magik 260……….. Magma 260……….. Maple 261……….. MAPPER (now part of BIS) 261……….. MARK-IV (now VISION:BUILDER) 261……….. Mary 262……….. MATLAB 262……….. MASM Microsoft Assembly x86 262……….. MATH-MATIC 263……….. Maude system 263……….. Maxima 264……….. Max (Max Msp – Graphical Programming Environment) 265……….. MaxScript internal language 3D Studio Max 265……….. Maya (MEL) 266……….. MDL 266……….. Mercury 266……….. Mesa 266……….. MHEG-5 (Interactive TV programming language) 267……….. Microcode 267……….. Microsoft Power Fx 267……….. MIIS 268……….. Milk (programming language) 268……….. MIMIC 268……….. Mirah 269……….. Miranda 269……….. MIVA Script 269……….. ML 477 270……….. Model 204 270……….. Modelica 270……….. Malbolge 271……….. Modula 271……….. Modula-2 271……….. Modula-3 271……….. Mohol 272……….. MOO 272……….. Mortran 273……….. Mouse 273……….. MPD 274……….. MSL 274……….. MUMPS 275……….. MuPAD 275……….. Mystic Programming Language (MPL) 276……….. NASM 276……….. Napier88 277……….. Neko 277……….. Nemerle 277……….. NESL 278……….. Net.Data 278……….. NetLogo 279……….. NetRexx 280……….. NewLISP 280……….. NEWP 280……….. Newspeak 281……….. NewtonScript 281……….. Nial 281……….. Nim 282……….. Nix (Systems configuration language) 282……….. NPL 282……….. Not eXactly C (NXC) 283……….. Not Quite C (NQC) 283……….. NSIS 284……….. Nu 284……….. NWScript 284……….. NXT-G 285……….. o:XML 285……….. Oak 286……….. Oberon 286……….. OBJ 287……….. Object Lisp 287……….. Object REXX 478 288……….. Object Pascal 288……….. Objective-C 289……….. Obliq 289……….. OCaml 290……….. occam 290……….. occam-π 291……….. Octave 291……….. OmniMark 292……….. Opa 293……….. Opal 293……….. Open Programming Language (OPL) 294……….. OpenCL 294……….. OpenEdge Advanced Business Language (ABL) 295……….. OpenVera 295……….. OpenQASM 295……….. OPS5 296……….. OptimJ 296……….. Orc 297……….. ORCA/Modula-2 297……….. Oriel 298……….. Orwell 298……….. Oxygene 298……….. Oz 299……….. P 299……….. P4 299……….. P′′ 300……….. ParaSail 301……….. PARI/GP 302……….. Pascal – ISO 7185 304……….. Pascal Script 304……….. PCASTL 305……….. PCF 305……….. PEARL 305……….. PeopleCode 306……….. Perl 307……….. PDL 307……….. Pharo 308……….. PHP 310……….. Pico 311……….. Picolisp 311……….. Pict 312……….. PILOT 313……….. Pipelines 479 314……….. Pizza 315……….. PL-11 315……….. PL/0 316……….. PL/B 316……….. PL/C 317……….. PL/I – ISO 6160 317……….. PL/M 317……….. PL/P 318……….. PL/S 319……….. PL/SQL 319……….. PL360 320……….. PLANC 321……….. Plankalkül 321……….. Planner 321……….. PLEX 322……….. PLEXIL 322……….. Plus 323……….. POP-11 324……….. POP-2 324……….. PostScript 324……….. PortablE 325……….. POV-Ray SDL 325……….. Powerhouse 326……….. PowerBuilder – 4GL GUI application generator from Sybase 327……….. PowerShell 328……….. PPL 328……….. Processing 330……….. Prograph 330……….. Project Verona 331……….. Prolog 332……….. PROMAL 332……….. Promela 333……….. PROSE modeling language 333……….. PROTEL 334……….. ProvideX 334……….. Pro*C 335……….. Pure 336……….. Pure Data 337……….. PureScript 338……….. PWCT 338……….. Python 339……….. Q (programming language from Kx Systems) 340……….. Q# (Microsoft programming language) 480 340……….. Qalb 340……….. Quantum Computation Language 340……….. QtScript 341……….. QuakeC 341……….. QPL 341……….. .QL 342……….. R 342……….. R++ 343……….. Racket 345……….. Raku 345……….. RAPID 346……….. Rapira 346……….. Ratfor 347……….. Rc 348……….. Reason 348……….. REBOL 349……….. Red 350……….. Redcode 351……….. REFAL 351……….. REXX 352……….. Ring 354……….. ROOP 354……….. RPG 355……….. RPL 355……….. RSL 356……….. RTL/2 357……….. Ruby 358……….. Rust 359……….. S 359……….. S2 360……….. S3 360……….. S-Lang 362……….. S-PLUS 362……….. SA-C 362……….. SabreTalk 363……….. SAIL 363……….. SAKO 364……….. SAS 364……….. SASL 365……….. Sather 365……….. Sawzall 366……….. Scala 367……….. Scheme 481 368……….. Scilab 369……….. Scratch 370……….. Script.NET 370……….. Sed 372……….. Seed7 372……….. Self 372……….. SenseTalk 373……….. SequenceL 374……….. Serpent 375……….. SETL 375……….. Short Code 375……….. SIMPOL 375……….. SIGNAL 376……….. SiMPLE 376……….. SIMSCRIPT 377……….. Simula 378……….. Simulink 379……….. SISAL 379……….. SKILL 379……….. SLIP 379……….. SMALL 380……….. Smalltalk 381……….. SML 381……….. Strongtalk 381……….. Snap! 382……….. SNOBOL 382……….. Snowball 383……….. SOL 383……….. Solidity 384……….. SOPHAEROS 384……….. Source 384……….. SPARK 385……….. Speakeasy 385……….. Speedcode 386……….. SPITBOL 387……….. SP/k 387……….. SPS 388……….. SQL 389……….. SQR 389……….. Squeak 390……….. Squirrel 391……….. SR 391……….. S/SL 482 392……….. Starlogo 392……….. Strand 393……….. Stata 394……….. Stateflow 395……….. Subtext 395……….. SBL 395……….. SuperCollider 396……….. Superplan 396……….. SuperTalk 396……….. Swift (Apple programming language) 396……….. Swift (parallel scripting language) 397……….. SYMPL 397……….. T 397……….. TACL 398……….. TACPOL 398……….. TADS (Text Adventure Development System) 398……….. TAL 399……….. Tcl 399……….. Tea 399……….. TECO (Text Editor and Corrector) 499……….. TELCOMP 399……….. TeX 400……….. TEX (Text Executive Programming Language) 400……….. TIE 400……….. TMG (TransMo Griffer), compiler-compiler 400……….. Tom 401……….. Toi 401……….. Topspeed (Clarion) 401……….. TPU (Text Processing Utility) 401……….. Trac 401……….. TTM 402……….. T-SQL (Transact-SQL) 402……….. Transcript (LiveCode) 402……….. TTCN (Tree and Tabular Combined Notation) 403……….. Turing 403……….. TUTOR (PLATO Author Language) 404……….. TXL 405……….. TypeScript 405……….. Tynker 406……….. Ubercode 406……….. UCSD Pascal 406……….. Umple 407……….. Unicon 483 407……….. Uniface 408……….. UNITY 408……….. UnrealScript 409……….. Vala 410……….. Vim script 411……….. Viper (Ethereum/Ether (ETH)) 412……….. Visual DataFlex 412.………. Visual DialogScript 413……….. Visual FoxPro 414……….. Visual J++ (Visual J plus plus) 414……….. Visual LISP 414……….. Visual Objects 515……….. Visual Prolog 416……….. WATFIV, WATFOR (WATerloo FORtran IV) 416……….. WebAssembly 417……….. WebDNA 417……….. Whiley 417……….. Winbatch 418……….. Wolfram Language 418……….. Wyvern 418……….. X++ (X plus plus/Microsoft Dynamics AX) 419……….. X10 419……….. xBase++ (xBase plus plus) 420……….. XBL 420……….. XC (targets XMOS architecture) 420……….. xHarbour 421……….. XL 421……….. Xojo 421……….. XOTcl 421……….. Xod 422……….. XPL 422……….. XPL0 423……….. XQuery 423……….. XSB 423……….. XSharp (X#) 424……….. XSLT 425……….. Xtend 425……….. Yorick 426……….. YQL 426……….. Yoix 427……….. Z notation 427……….. Z shell 428……….. Zebra, ZPL, ZPL2 484 429……….. Zeno 429……….. ZetaLisp 430……….. Zig 431……….. Zonnon 431……….. ZOPL 432……….. ZPL 432……….. Z++ 433……….. References 469……….. Content Alhamdulillah 485 Alhamdulillah 486