pegasus – first steps toward a naturalistic programming

7
Click to edit Master text styles Pegasus – First Steps Toward a Naturalistic Programming Language Roman Knöll dan Mira Mezini OOPSLA '06: October 22–26, 2006, Portland, Oregon, USA. Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems,languages, and applications ACM 1-59593-491-X/06/0010. AHMAD PUJIANTO - P31.2014.01708

Upload: ahmad-pujianto

Post on 25-Jan-2016

16 views

Category:

Documents


2 download

DESCRIPTION

Software Engineering

TRANSCRIPT

Page 1: Pegasus – First Steps Toward a Naturalistic Programming

Pegasus – First Steps Toward a Naturalistic Programming Language

Roman Knöll dan Mira Mezini

OOPSLA '06: October 22–26, 2006, Portland, Oregon, USA.Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems,languages, and applicationsACM 1-59593-491-X/06/0010.

AHMAD PUJIANTO - P31.2014.01708

Page 2: Pegasus – First Steps Toward a Naturalistic Programming

Click to edit Master text styles

LATAR BELAKANG

• There is a gap to close between current programming techniques on the one hand and what we really want computers to behave like on the other hand

Page 3: Pegasus – First Steps Toward a Naturalistic Programming

Click to edit Master text styles

IDENTIFIKASI MASALAH- The Mental Problem :

We are forced to adjust our program idea to the conditions of a very specific programming language

- The Programming Language Problem :

Actually implementing the Quicksort algorithm means writing a computer program in a specific programming language

- The Natural Language Problem :

This is inefficient, since all non-native speakers of this language have to understand and write code, commenting and documenting in another language than the one they would be most productive with their mother tongue

- The Technical Problem :

Developers spend most of their time implementing and debugging the program

Page 4: Pegasus – First Steps Toward a Naturalistic Programming

Click to edit Master text styles

HIPOTESIS

-If we were able to write computer programs in everyday speech, this could be a key solution to solve both the mental problem and the programming language problem.-Programming would become easier especially for those, who are not into computer science very much, since there wouldn't be the necessity to learn a programming language, at all.-If developers were able to describe their program ideas in natural language, there would be neither a transformation of the program ideas to programming language structures necessary nor would a constraining plausibility check take place.

Page 5: Pegasus – First Steps Toward a Naturalistic Programming

Click to edit Master text styles

METODOLOGI- Modeling Natural Language

IdeasIdea NotationIdeas and LanguageConsequences of the Model

- Characteristics of Natural Language CompressionImplicit referencing mechanismsContext Dependence

Page 6: Pegasus – First Steps Toward a Naturalistic Programming

Click to edit Master text styles

PENGUKURANPegasus reads ideas described in a natural language, the input program, and to creates from it a fully executable program file, the output program, realizing the described ideas. For instance, Pegasus could read this natural language description:

Write three times: "I can understand you!".and generate the following Java program, realizing the idea of the natural language description:

class Main { public static void main(String[] args) { for (int i = 0; i <= 2; i++) System.out.println("I can " + "understand you!"); }}

Page 7: Pegasus – First Steps Toward a Naturalistic Programming

Click to edit Master text styles

HASIL

Program ideas can be described in natural language, using characteristic mechanisms like implicit referencing and context dependence. Although, the amount of sentences and words Pegasus can comprehend is very limited at the moment, it is shown that multilingual naturalistic programming is feasible.Further research and development will be much broader in order to realize Pegasus as a fully functional naturalistic programming language in theory and practice.