To see the other types of publications on this topic, follow the link: Programming Language.

Dissertations / Theses on the topic 'Programming Language'

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 50 dissertations / theses for your research on the topic 'Programming Language.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

1

Cook, Jonathan J. "Language interoperability and logic programming languages." Thesis, University of Edinburgh, 2005. http://hdl.handle.net/1842/725.

Full text
Abstract:
We discuss P#, our implementation of a tool which allows interoperation between a concurrent superset of the Prolog programming language and C#. This enables Prolog to be used as a native implementation language for Microsoft's .NET platform. P# compiles a linear logic extension of Prolog to C# source code. We can thus create C# objects from Prolog and use C#'s graphical, networking and other libraries. P# was developed from a modified port of the Prolog to Java translator, Prolog Cafe. We add language constructs on the Prolog side which allow concurrent Prolog code to be written. We add a primitive predicate which evaluates a Prolog structure on a newly forked thread. Communication between threads is based on the unification of variables contained in such a structure. It is also possible for threads to communicate through a globally accessible table. All of the new features are available to the programmer through new built-in Prolog predicates. We present three case studies. The first is an application which allows several users to modify a database. The users are able to disconnect from the database and to modify their own copies of the data before reconnecting. On reconnecting, conflicts must be resolved. The second is an object-oriented assistant, which allows the user to query the contents of a C# namespace or Java package. The third is a tool which allows a user to interact with a graphical display of the inheritance tree. Finally, we optimize P#'s runtime speed by translating some Prolog predicates into more idiomatic C# code than is produced by a naive port of Prolog Cafe. This is achieved by observing that semi-deterministic predicates (being those which always either fail or succeed with exactly one solution) that only call other semi-deterministic predicates enjoy relatively simple control flow. We make use of the fact that Prolog programs often contain predicates which operate as functions, and that such predicates are usually semi-deterministic.
APA, Harvard, Vancouver, ISO, and other styles
2

Afanasieva, J., Наталія Ігорівна Муліна, Наталия Игоревна Мулина, and Nataliia Ihorivna Mulina. "Programming language C++." Thesis, Сумський державний університет, 2013. http://essuir.sumdu.edu.ua/handle/123456789/31143.

Full text
Abstract:
C++ was written by Bjarne Stroustrup at Bell Labs during 1983-1985. C++ is an extension of C. Prior to 1983, Bjarne Stroustrup added functions to C and formed what he called "C with Classes". He had combined the Simula's use of classes and object-oriented functions with the power and efficiency of C. The term C++ was first used in 1983. When you are citing the document, use the following link http://essuir.sumdu.edu.ua/handle/123456789/31143
APA, Harvard, Vancouver, ISO, and other styles
3

Дядечко, Алла Миколаївна, Алла Николаевна Дядечко, Alla Mykolaivna Diadechko, and I. I. Shishov. "Programming language С++." Thesis, Видавництво СумДУ, 2011. http://essuir.sumdu.edu.ua/handle/123456789/13472.

Full text
APA, Harvard, Vancouver, ISO, and other styles
4

Minyaylo, О. "Programming language С." Thesis, Сумський державний університет, 2012. http://essuir.sumdu.edu.ua/handle/123456789/28542.

Full text
Abstract:
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. When you are citing the document, use the following link http://essuir.sumdu.edu.ua/handle/123456789/28542
APA, Harvard, Vancouver, ISO, and other styles
5

Öigaard, Sandra. "Programming language & Gender." Thesis, Linnéuniversitetet, Institutionen för datavetenskap (DV), 2015. http://urn.kb.se/resolve?urn=urn:nbn:se:lnu:diva-45707.

Full text
Abstract:
Once women were the pioneers within the tech industry, but during the last decades the amount of women who choose a career within computer science has decreased rapidly. Programming languages have evolved during the last decades and because of the growing gender gap in the industry, they have done so involuntarily in the absence of women. The imbalance raises the question if the tech industry and the programming languages have been adapted for a more masculine way of developing software. A quantitative study and a literature review evaluates if there is a need for a computerlanguage developed towards women. The study comes to the conclusion that there is no need for a female inspired computer language, but the way computer languages are taught suits the male way of thinking better than the female way.
APA, Harvard, Vancouver, ISO, and other styles
6

Forsgren, Piuva David. "The Steamroller Programming Language." Thesis, Uppsala universitet, Institutionen för informationsteknologi, 2014. http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-233384.

Full text
Abstract:
During my research I haven't found any popular language with enough features for table driven programming to define the borders of the paradigm. The Steamroller programming language is trying to inspire new languages in a new direction with the beginners in mind using methods from human computer interaction. The resulting langauge is close to Basic (1964) and D (2001). The syntax is mostly inherited from Basic and purity levels are close to D. The main feature in the written part of the language is table style enumerations. Graphical overview of projects makes it easy to prevent cyclic dependencies before they are created. Graphical code generating languages for data flow graphs and state machines are parts of the language as a whole to allow extremely complex systems to be displayed as something trivial that everyone can understand. After having implemented and used the table feature, other imperative languages started to feel obsolete, repetitive and annoying to use because the table feature opened a new path to simpler and safer code that I did not see before.
APA, Harvard, Vancouver, ISO, and other styles
7

Hagino, Tatsuya. "A categorical programming language." Thesis, University of Edinburgh, 1987. http://hdl.handle.net/1842/13976.

Full text
APA, Harvard, Vancouver, ISO, and other styles
8

Disney, Peter Lawrence. "The programming language Formian." Thesis, University of Surrey, 1989. http://epubs.surrey.ac.uk/844495/.

Full text
Abstract:
Formex algebra is a powerful tool for the generation of data used in the design and analysis of space structures. However, for the algebra to be of practical use, it is necessary to have a means of employing the concepts on a computer. This is the particular problem which this thesis addresses. The solution proposed here is Formian, an interactive programming language, which being modelled on formex algebra allows complex configurations to be generated from a few concise and yet readily understood statements. Formian is designed to allow problems of data generation to be tackled in a single programming environment. The thesis describes the raison d'etre for the Formian programming language and the steps taken to create the language and to provide a practical and reliable implementation in the form of a computer program. A complete description of the language structure is given. This includes an overview of formex algebra. The use of Formian from a designer's viewpoint is provided by interspersing the description with practical examples.
APA, Harvard, Vancouver, ISO, and other styles
9

Rubin, Jared. "PLT Programming Language Tool /." [Florida] : State University System of Florida, 2001. http://etd.fcla.edu/etd/uf/2001/ank7126/master.PDF.

Full text
Abstract:
Thesis (M.E.)--University of Florida, 2001.
Title from first page of PDF file. Document formatted into pages; contains x, 65 p.; also contains graphics. Vita. Includes bibliographical references (p. 63-64).
APA, Harvard, Vancouver, ISO, and other styles
10

Nilsson, Joel. "The Majo programming language : Creation and analysis of a programming language for parallelization." Thesis, Mittuniversitetet, Avdelningen för informationssystem och -teknologi, 2018. http://urn.kb.se/resolve?urn=urn:nbn:se:miun:diva-34071.

Full text
Abstract:
It is well known that parallelization of software is a difficult problem to solve. This project aimed to research a possible solution by creating a programming language for parallelization and subsequently analyzing its syntax and semantics. This analysis consisted of readability and writability tests followed by a subjective discussion from the point of view of the author. The project resulted in the Majo programming language. Majo uses a graph based concurrency model with implicit shared data synchronization. The model is integrated into the languages design, making it easier to use. The analysis of the language showed that the integration of the threading model simplifies the writing of parallel software. However, there are several syntactic elements that could be improved upon, especially regarding the communication between concurrently executing threads. In conclusion, the author believes that the way forward in regards to parallel programming is to make programming languages more human centric and design syntax in a way that intuitively expresses the underlying semantics.
APA, Harvard, Vancouver, ISO, and other styles
11

Lategano, Antonio. "Image-based programming language recognition." Master's thesis, Alma Mater Studiorum - Università di Bologna, 2020. http://amslaurea.unibo.it/22208/.

Full text
Abstract:
Nel presente lavoro di tesi viene affrontato per la prima volta il problema della classificazione dei linguaggi di programmazione mediante approcci image-based. Abbiamo utilizzato alcune Convolutional Neural Network pre-addestrate su task di classificazione di immagini, adattandole alla classificazione di immagini contenenti porzioni di codice sorgente scritto in 149 diversi linguaggi di programmazione. I nostri risultati hanno dimostrato che tali modelli riescono ad apprendere, con buone prestazioni, le feature lessicali presenti nel testo. Aggiungendo del rumore, tramite modifica dei caratteri presenti nelle immagini, siamo riusciti a comprendere quali fossero i caratteri che meglio permettevano ai modelli di discriminare tra una una classe e l’altra. Il risultato, confermato tramite l’utilizzo di tecniche di visualizzazione come la Class Activation Mapping, è che la rete riesce ad apprendere delle feature lessicali di basso livello concentrandosi in particolare sui simboli tipici di ogni linguaggio di programmazione (come punteggiatura e parentesi), piuttosto che sui caratteri alfanumerici.
APA, Harvard, Vancouver, ISO, and other styles
12

Steinert, Sandra. "The graph programming language GP." Thesis, University of York, 2007. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.485142.

Full text
Abstract:
Graph transformation languages are declarative, rule-based languages that abstract from low-level representations of graphs and graph manipulations. Based on formal rewriting approaches, ~aph transformation languages have a strong formal underpinning which facilitates formal reasoning. However, graph transformation languages that are both expressive enough for elegantly solving complex graph problems and also have a complete formal semantics to facilitate reasoning about programs, are surprisingly rare. In this thesis, we introduce the graph programming language GP (for Graph Programs). GP is a practical graph transformation language with a simple syntax and complete formal semantics that facilitates formal reasoning. GP is a further development of the language presented in [HP01]. We introduce the basis of GP in form of conditional rille schemata [PS04]. The language is based on four core constructs whose semantiCs is defined in the style of Plotkin's structural operational semantics [Plo04]. Practicality and suitability for verification is demonstrated on various case studies in the domain of graph algorithms. The language GP is extended with procedures and parameterised calls to form the language GP+. GP+ provides better structuring of programs and more programming comfort which is demonstrated by a case study on planarity testing.
APA, Harvard, Vancouver, ISO, and other styles
13

Wharton, Simon. "Sython : an educational programming language /." Leeds : University of Leeds, School of Computer Studies, 2008. http://www.comp.leeds.ac.uk/fyproj/reports/0708/Wharton.pdf.

Full text
APA, Harvard, Vancouver, ISO, and other styles
14

Grattage, Jonathan James. "A functional quantum programming language." Thesis, University of Nottingham, 2006. http://eprints.nottingham.ac.uk/10250/.

Full text
Abstract:
This thesis introduces the language QML, a functional language for quantum computations on finite types. QML exhibits quantum data and control structures, and integrates reversible and irreversible quantum computations. The design of QML is guided by the categorical semantics: QML programs are interpreted by morphisms in the category FQC of finite quantum computations, which provides a constructive operational semantics of irreversible quantum computations, realisable as quantum circuits. The quantum circuit model is also given a formal categorical definition via the category FQC. QML integrates reversible and irreversible quantum computations in one language, using first order strict linear logic to make weakenings, which may lead to the collapse of the quantum wavefunction, explicit. Strict programs are free from measurement, and hence preserve superpositions and entanglement. A denotational semantics of QML programs is presented, which maps QML terms into superoperators, via the operational semantics, made precise by the category Q. Extensional equality for QML programs is also presented, via a mapping from FQC morphisms into the category Q.
APA, Harvard, Vancouver, ISO, and other styles
15

Eshghi, Kave. "Meta-language in logic programming." Thesis, Imperial College London, 1987. http://hdl.handle.net/10044/1/38302.

Full text
APA, Harvard, Vancouver, ISO, and other styles
16

Strachan, Campbell. "Pseudo state machine programming language." Thesis, Strachan, Campbell (2017) Pseudo state machine programming language. Honours thesis, Murdoch University, 2017. https://researchrepository.murdoch.edu.au/id/eprint/38694/.

Full text
Abstract:
Programmers today have many tools at their disposal to increases their effectiveness, use of time, code integrity and more. These tools can be anything from the Interactive Development Environments (IDEs) that attempt to fill in code, document particular functions and point out possible errors. Other tools include programming methods or processes that help the developer in constructing and designing their code quicker and to a higher degree of robustness. The main aim of this thesis is to create an additional tool for the students completing the Industrial Computer Systems Engineering course at Murdoch University. This tool is a Pseudo State Machine Programming Language that allows for easy development and use of the State Machine method. Subsequent to this was, the creation of a simulation application for the debugging and development of the language with the intention of it also being used by the students for their project developments. An additional goal was an investigation into the feasibility of the Arduino Uno replacing or being an addition into the ICSE units. In this thesis, the Pseudo State Machine Programming Language was developed by extending the FORTH compiler in SwiftX. It works in the intended way by making the development of simple and complicated state machine comparatively easy. The comparison has been made to an implementation of code that achieves the same end results and factored in the development time and the complexity of reading and understanding the code. The simulation created also provided the help required in completing the language within the timeframe of this project. It is also considered to be adequate for use by students for their project development. After testing the Arduino Uno, it was found that it was not a suitable replacement but may be a valuable addition to the ICSE unit. The Pseudo Language and the Simulator enhance the learning experience by making development of projects easier. The Arduino Uno exposes the students to a different type of microcontroller which increases their knowledge and experiences on the subject.
APA, Harvard, Vancouver, ISO, and other styles
17

Carpenter, Steven M. "Visual meta-programming language graphical user interface for generative programming." Monterey, Calif. : Springfield, Va. : Naval Postgraduate School ; Available from National Technical Information Service, 2002. http://library.nps.navy.mil/uhtbin/hyperion-image/02sep%5FCarpenter.pdf.

Full text
Abstract:
Thesis (M.S. in Computer Science)--Naval Postgraduate School, September 2002.
Thesis advisor(s): Mikhail Auguston, Richard Riehle. Includes bibliographical references (p. 89). Also available online.
APA, Harvard, Vancouver, ISO, and other styles
18

Griesemer, Robert. "A programming language for vector computers /." [S.l.] : [s.n.], 1993. http://e-collection.ethbib.ethz.ch/show?type=diss&nr=10277.

Full text
APA, Harvard, Vancouver, ISO, and other styles
19

Conti, Matteo. "Machine Learning Based Programming Language Identification." Bachelor's thesis, Alma Mater Studiorum - Università di Bologna, 2020. http://amslaurea.unibo.it/20875/.

Full text
Abstract:
L'avvento dell'era digitale ha contribuito allo sviluppo di nuovi settori tecnologici, i quali, per diretta conseguenza, hanno portato alla richiesta di nuove figure professionali capaci di assumere un ruolo chiave nel processo d'innovazione tecnologica. L'aumento di questa richiesta ha interessato particolarmente il settore dello sviluppo del software, a seguito della nascita di nuovi linguaggi di programmazione e nuovi campi a cui applicarli. La componente principale di cui è composto un software, infatti, è il codice sorgente, il quale può essere rappresentato come un archivio di uno o più file testuali contenti una serie d'istruzioni scritte in uno o più linguaggi di programmazione. Nonostante molti di questi vengano utilizzati in diversi settori tecnologici, spesso accade che due o più di questi condividano una struttura sintattica e semantica molto simile. Chiaramente questo aspetto può generare confusione nell'identificazione di questo all'interno di un frammento di codice, soprattutto se consideriamo l'eventualità che non sia specificata nemmeno l'estensione dello stesso file. Infatti, ad oggi, la maggior parte del codice disponibile online contiene informazioni relative al linguaggio di programmazione specificate manualmente. All'interno di questo elaborato ci concentreremo nel dimostrare che l'identificazione del linguaggio di programmazione di un file `generico' di codice sorgente può essere effettuata in modo automatico utilizzando algoritmi di Machine Learning e non usando nessun tipo di assunzione `a priori' sull'estensione o informazioni particolari che non riguardino il contenuto del file. Questo progetto segue la linea dettata da alcune ricerche precedenti basate sullo stesso approccio, confrontando tecniche di estrazione delle features differenti e algoritmi di classificazione con caratteristiche molto diverse, cercando di ottimizzare la fase di estrazione delle features in base al modello considerato.
APA, Harvard, Vancouver, ISO, and other styles
20

Wichert, Carl-Alexander. "ULTRA - a logic transaction programming language." [S.l. : s.n.], 2000. http://deposit.ddb.de/cgi-bin/dokserv?idn=96114856X.

Full text
APA, Harvard, Vancouver, ISO, and other styles
21

Ononiwu, Gordon, and Twaha Mlwilo. "Parsing a Portable Stream Programming Language." Thesis, Halmstad University, School of Information Science, Computer and Electrical Engineering (IDE), 2007. http://urn.kb.se/resolve?urn=urn:nbn:se:hh:diva-658.

Full text
Abstract:

Portable stream programming language (PSPL) is a language for baseband application

programming on reconfigurable architectures. The first step in its development has been

completed. A parser has been provided for the front end of the PSPL compiler. The syntax

of the language has been fixed to allow for easy parses. The scanner and the parser

where generated using automatic tools (scanner and parser generators) which rely on

complex mathematical algorithms for their generation. Abstract syntax (data structures

that preserve the source program so that program structure is evident) was implemented

for the parser using a syntax separate from interpretation style of programming. Tests were

carried out to ensure that the correct data structures were generated. The final outcome

is a parser that other phases of the compiler can depend on for onward transmission of

the source program in an unambiguous manner. The development of subsequent phases

of the compiler will form the next logical step in the processes of transforming PSPL to

a stand alone language.

APA, Harvard, Vancouver, ISO, and other styles
22

Svallfors, Hugo. "Sard: An Object-Functional Programming Language." Thesis, Umeå universitet, Institutionen för datavetenskap, 2011. http://urn.kb.se/resolve?urn=urn:nbn:se:umu:diva-51276.

Full text
Abstract:
This bachelor's degree concerns the specification of a new programming language. This language, called Sard, is a backwards-incompatible new version of the existing language Scala. Sard, like Scala, is a high-level object-functional language. Unlike Scala, it is not very closely tied to the JVM or Java, eliminating some constraints on the language's design. Since this necessitates breaking backwards compatibility with Scala, the opportunity to disregard it is used to x some of the author's irritations with the language. This degree mostly focuses on deciding on the exact changes to Scala, and on the overall design, rather than on implementing a compiler for the language. A reason for this is that the bachelor's degree provides insuficient time to properly implement´and debug a compiler. Another is the desirability of pushing changes to the language as early into the design process as possible. Preferably, almost all changes to the language should occur before any compiler code has been written. The design eventually produced gets rid of some known issues stemming from the JVM, like null pointers, non-reified generics and single inheritance. Several features of Scala, like self-type annotations and in x syntax for methods are scrapped. Others, like pattern matching, are generalized. Some changes to the syntax are also made, particularly in the areas of closures, pattern matching and object construction. As of yet, this language has no implementation, and in future work, this must be rectified. Sard also requires calling compatibility with another programming language, but this remains to be specified. Nevertheless, Sard constitutes a promising refinement of an already great programming language, and it is hoped that Sard will x the few remaining issues with Scala's design.
APA, Harvard, Vancouver, ISO, and other styles
23

Pellerin, Clément. "Taskell : a concurrent constraint programming language." Thesis, McGill University, 1991. http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=61089.

Full text
Abstract:
Taskell is an instance of the concurrent constraint programming framework cc. The framework is parameterized by a choice of constraint system. The constraint system of Taskell is the set of finite trees with equality. The choice of constraint system makes Taskell similar to concurrent logic programming languages. When computing with partial information the notion of reading and writing memory becomes incoherent. The framework replaces these operations by ask and tell respectively. We hope to understand this new paradigm by studying implementations of cc languages. Taskell is a parallel implementation of a cc language written in Concurrent ML.
APA, Harvard, Vancouver, ISO, and other styles
24

Adams, Stephen Robert. "Modular grammars for programming language prototyping." Thesis, University of Southampton, 1991. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.293178.

Full text
APA, Harvard, Vancouver, ISO, and other styles
25

Dulay, Naranker. "A configuration language for distributed programming." Thesis, Imperial College London, 1990. http://hdl.handle.net/10044/1/46287.

Full text
APA, Harvard, Vancouver, ISO, and other styles
26

Foster, Ian. "Parlog as a systems programming language." Thesis, Imperial College London, 1988. http://hdl.handle.net/10044/1/47065.

Full text
APA, Harvard, Vancouver, ISO, and other styles
27

Kilaru, Jyothsna. "PLASA| Programming Language for Synchronous Agents." Thesis, California State University, Long Beach, 2019. http://pqdtopen.proquest.com/#viewpdf?dispub=10978428.

Full text
Abstract:

The introduction of autonomous agents to replace humans in unfavorable and unreachable environments has been a longstanding goal in the field of robotics. The existing work of various researchers address several challenges involved in design or control of such robotic systems. However, existing solutions have been unable to offer users an easy and efficient programming environment for developing versatile robotic applications. These inadequacies have given rise to the development of a new robot programming language, called Programming LAnguage for Synchronous Agents (PLASA).

The main objective of this paper is to give a brief introduction about the newly developed robot programming language, PLASA, which facilitates the rapid implementation of co-operative applications on multiple physical robots, in dynamic environments. The syntax and semantics of this language are similar to those in many other high-level programming languages. In addition to the features offered by other high-level languages, PLASA offers two novel instructions: "do instruction'', which helps in executing the main motion primitives, and "query instruction'', which helps in executing a great variety of geometric and mathematical queries. A compiler produces a program that is executed by a virtual machine in each of the robots. The virtual machine offers a key characteristic that guarantees the timely execution of robots' movements through a synchronization protocol. To verify the correct functionality of the co-operative applications, a simulator that includes the proposed components has been provided.

The developed language offers abstraction for hiding complex network details and delivers human-readable language; these features make the programming environment suitable for anyone to control robot systems, regardless of expertise. The synchronization and co-ordination mechanisms provided by the language ensure the safety and prompt execution of robot operations in a robot system developed using PLASA.

APA, Harvard, Vancouver, ISO, and other styles
28

BARREIROS, Emanoel Francisco Spósito. "The epidemics of programming language adoption." Universidade Federal de Pernambuco, 2016. https://repositorio.ufpe.br/handle/123456789/18000.

Full text
Abstract:
Submitted by Irene Nascimento (irene.kessia@ufpe.br) on 2016-10-17T18:29:55Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) phd_efsb_FINAL_BIBLIOTECA.pdf: 7882904 bytes, checksum: df094c44eb4ce5be12596263047790ed (MD5)
Made available in DSpace on 2016-10-17T18:29:55Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) phd_efsb_FINAL_BIBLIOTECA.pdf: 7882904 bytes, checksum: df094c44eb4ce5be12596263047790ed (MD5) Previous issue date: 2016-08-29
FACEPE
Context: In Software Engineering, technology transfer has been treated as a problem that concernsonly two agents (innovation and adoption agents) working together to fill the knowledge gap between them. In this scenario, the transfer is carried out in a “peer-to-peer” fashion, not changing the reality of individuals and organizations around them. This approach works well when one is just seeking the adoption of a technology by a“specific client”. However, it can not solve a common problem that is the adoption of new technologies by a large mass of potential new users. In a wider context like this, it no longer makes sense to focus on “peer-to-peer” transfer. A new way of looking at the problem is necessary. It makes more sense to approach it as diffusion of innovations, where there is an information spreading in a community, similar to that observed in epidemics. Objective: This thesis proposes a paradigm shift to show the adoption of programming languages can be formally addressed as an epidemic. This focus shift allows the dynamics of programming language adoption to be mathematically modelled as such, and besides finding models that explain the community’s behaviour when adopting programming languages, it allows some predictions to be made, helping both individuals who wish to adopt a new language that might seem to be a new industry standard, and language designers to understand in real time the adoption of a particular language by a community. Method: After a proof of concept with data from Sourceforge (2000 to 2009), data from GitHub (2009 to January 2016), a well-known open source software repository, and Stack Overflow (2008 to March 2016), a popular Q&A system for software developers, were obtained and preprocessed. Using cumulative biological growth functions, often used in epidemiological contexts, we obtained adjusted models to the data. Once with the adjusted models, we evaluated their predictive capabilities through repeated applications of hypothesis testing and statistical calculations in different versions of the models obtained after adjusting the functions to samples of different time frames from the repositories. Results: We show that programming language adoption can be formally considered an epidemiological phenomenon by adjusting a well-known mathematical function used to describe such phenomena. We also show that, using the models found, it is possible to forecast programming languages adoption. We also show that it is possible to have similar insights by observing user data, as well as data from the community itself, not using software developers as susceptible individuals. Limitations: The forecast of the adoption outcome (asymptote) needs to be taken with care because it varies depending on the sample size, which also influences the quality of forecasts in general. Unfortunately, we not always have control over the sample size, because it depends on the population under analysis. The forecast of programming language adoption is only valid for the analysed population; generalizations should be made with caution. Conclusion: Addressing programming languages adoption as an epidemiological phenomenon allows us to perform analyses not possible otherwise. We can have an overview of a population in real time regarding the use of a programming language, which allows us, as innovation agents, to adjust our technology if it is not achieving the desired “penetration”; as adoption agents, we may decide, ahead of our competitors, to adopt a seemingly promising technology that may ultimately become a standard.
Contexto: Em Engenharia de Software, transferência de tecnologia tem sido tratada como um problema pontual, um processo que diz respeito a dois agentes (os agentes de inovação e adoção) trabalhando juntos para preencher uma lacuna no conhecimento entre estes dois. Neste cenário, a transferência é realizada “ponto a ponto”, envolvendo e tendo efeito apenas nos indivíduos que participam do processo. Esta abordagem funciona bem quando se está buscando apenas a adoção da tecnologia por um “cliente” específico. No entanto, ela não consegue resolver um problema bastante comum que é a adoção de novas tecnologias por uma grande massa de potenciais novos usuários. Neste contexto mais amplo, não faz mais sentido focar em transferência ponto a ponto, faz-se necessária uma nova maneira de olhar para o problema. É mais interessante abordá-lo como difusão de inovações, onde existe um espalhamento da informação em uma comunidade, de maneira semelhante ao que se observa em epidemias. Objetivo: Esta tese de doutorado mostra que a adoção de linguagens de programação pode ser tratada formalmente como uma epidemia. Esta mudança conceitual na maneira de olhar para o fenômeno permite que a dinâmica da adoção de linguagens de programação seja modelada matematicamente como tal, e além de encontrar modelos que expliquem o comportamento da comunidade quando da adoção de uma linguagem de programação, permite que algumas previsões sejam realizadas, ajudando tanto indivíduos que desejem adotar uma nova linguagem que parece se apresentar como um novo padrão industrial, quanto ajudando projetistas de linguagens a entender em tempo real a adoção de uma determinada linguagem pela comunidade. Método: Após uma prova de conceito com dados do Sourceforge (2000 a 2009), dados do GitHub (2009 a janeiro de 2016) um repositório de projetos software de código aberto, e Stack Overflow (2008 a março de 2016) um popular sistema de perguntas e respostas para desenvolvedores de software, from obtidos e pré processados. Utilizando uma função de crescimento biológico cumulativo, frequentemente usada em contextos epidemiológicos, obtivemos modelos ajustados aos dados. Uma vez com os modelos ajustados, realizamos avaliações de sua precisão. Avaliamos suas capacidades de previsão através de repetidas aplicações de testes de hipóteses e cálculos de estatísticas em diferentes versões dos modelos, obtidas após ajustes das funções a amostras de diferentes tamanhos dos dados obtidos. Resultados: Mostramos que a adoção de linguagens de programação pode ser considerada formalmente um fenômeno epidemiológico através do ajuste de uma função matemática reconhecidamente útil para descrever tais fenômenos. Mostramos também que é possível, utilizando os modelos encontrados, realizar previsões da adoção de linguagens de programação em uma determinada comunidade. Ainda, mostramos que é possível obter conclusões semelhantes observando dados de usuários e dados da comunidade apenas, não usando desenvolvedores de software como indivíduos suscetíveis. Limitações: A previsão do limite superior da adoção (assíntota) não é confiável, variando muito dependendo do tamanho da amostra, que também influencia na qualidade das previsões em geral. Infelizmente, nem sempre teremos controle sob o tamanho da amostra, pois ela depende da população em análise. A adoção da linguagem de programação só é válida para a população em análise; generalizações devem ser realizadas com cautela. Conclusão: Abordar o fenômeno de adoção de linguagens de programação como um fenômeno epidemiológico nos permite realizar análises que não são possíveis de outro modo. Podemos ter uma visão geral de uma população em tempo real no que diz respeito ao uso de uma linguagem de programação, o que nos permite, com agentes de inovação, ajustar a tecnologia caso ela não esteja alcançando o alcance desejado; como agentes de adoção, podemos decidir por adotar uma tecnologia aparentemente promissora que pode vir a se tornar um padrão.
APA, Harvard, Vancouver, ISO, and other styles
29

Temmel, Adam. "Ghoul: A cache-friendly programming language." Thesis, Mittuniversitetet, Institutionen för informationssystem och –teknologi, 2020. http://urn.kb.se/resolve?urn=urn:nbn:se:miun:diva-39335.

Full text
Abstract:
Prestanda har historiskt sett alltid varit av betydelse för nyttjandet av datorer, vilket lett till att processorutvecklare har tagit fram flera olika metoder för att klämma ut mer processorkraft från processorn. Ett av dessa koncept är processorns cacheminne, som ansvarar för att lagra data processorn förväntar sig att behöva inom en snar framtid. Om cacheminnet nyttjats väl så innebär detta att processorn can behandla data i en mycket snabbare takt, vilket direkt påverkar prestanda. På grund av detta vill utvecklare gärna skriva kod som nyttjar cacheminnet till fullo. Detta är inte alltid en enkel uppgift, då de programmeringsmönster och beteenden utvecklaren måste anpassa sig till går att anse vara klumpiga för utvecklaren. Den här studioen kommer utforska möjligheterna att sammanfoga cachevänliga programmeringskoncept med utvecklarvänlig syntax, vilket resulterar i ett programmeringsspråk som är både läsbart, skrivbart samt effektivt med hänsyn till processorns cacheminne. För att lyckas med denna uppgift har studier på mönster inom minnesåtkomst, befintliga programmeringsspråk och kompilatordesign genomförts. Slutprodukten är ett språl vid namn Ghoul som implementerar cachevänliga koncept på en syntaktisk nivå, komplett med en fungerande kompilator. Utdata från denna kompilator blev senare prestandatestad för att avgöra huruvida de koncept språket introducerar har en märkbar påverkan på prestandan av program skrivna i detta språk. Testen visade att de tidigare nämnda konceptet direkt visar ett inflytande på hastigheten data kan behandlas i språket.
Performance has historically always been of importance to computing, and as such, processor developers have brought up several different methods to squeeze out more processing power from the processor. One of these concepts is the presence of a CPU cache memory, whose responsibility is to hold data the processor expects it might use soon. To utilize the cache well means that the processor can compute data at a much higher rate, resulting in a direct impact on performance. Therefore, it follows that it is in the developer’s best interest to write code capable of utilizing the cache memory to its full extent. This is not always an easy task however, as the patterns and style of programming the developer may need to adapt to can come of as cumbersome. This study will explore the possibilities of merging cache-friendly programming concepts with a developer-friendly syntax, resulting in a language that is both readable, writeable as well as efficient in regards to the processor cache. In order to accomplish this task, studies of memory access patterns, existing programming languages and compiler design has been performed. The end product is a language called Ghoul which successfully implements cache-friendly concepts on a syntactic level, complete with a working compiler. Outputs from this compiler were later benchmarked to assert that the concepts introduced had a measurable impact on the performance of programs written in Ghoul, showing that the aforementioned syntactical concepts indeed directly influence the speed at which data can be processed.
APA, Harvard, Vancouver, ISO, and other styles
30

Rose, Eli. "Arrow: A Modern Reversible Programming Language." Oberlin College Honors Theses / OhioLINK, 2015. http://rave.ohiolink.edu/etdc/view?acc_num=oberlin1443226400.

Full text
APA, Harvard, Vancouver, ISO, and other styles
31

Skalka, Christian. "Types for programming language-based security." Available to US Hopkins community, 2002. http://wwwlib.umi.com/dissertations/dlnow/3068212.

Full text
APA, Harvard, Vancouver, ISO, and other styles
32

Montesi, Fabrizio. "JOLIE: a Service-oriented Programming Language." Master's thesis, Alma Mater Studiorum - Università di Bologna, 2010. http://amslaurea.unibo.it/1226/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
33

Pagliarecci, Francesco. "Alan: an agent-object programming language." Doctoral thesis, Università Politecnica delle Marche, 2006. http://hdl.handle.net/11566/242527.

Full text
APA, Harvard, Vancouver, ISO, and other styles
34

Kent, Simon David. "A programming language for software components." Thesis, Queensland University of Technology, 2010. https://eprints.qut.edu.au/37634/1/Simon_Kent_Thesis.pdf.

Full text
Abstract:
Component software has many benefits, most notably increased software re-use; however, the component software process places heavy burdens on programming language technology, which modern object-oriented programming languages do not address. In particular, software components require specifications that are both sufficiently expressive and sufficiently abstract, and, where possible, these specifications should be checked formally by the programming language. This dissertation presents a programming language called Mentok that provides two novel programming language features enabling improved specification of stateful component roles. Negotiable interfaces are interface types extended with protocols, and allow specification of changing method availability, including some patterns of out-calls and re-entrance. Type layers are extensions to module signatures that allow specification of abstract control flow constraints through the interfaces of a component-based application. Development of Mentok's unique language features included creation of MentokC, the Mentok compiler, and formalization of key properties of Mentok in mini-languages called MentokP and MentokL.
APA, Harvard, Vancouver, ISO, and other styles
35

Saiu, Luca. "GNU epsilon : an extensible programming language." Paris 13, 2012. http://scbd-sto.univ-paris13.fr/intranet/edgalilee_th_2012_saiu.pdf.

Full text
Abstract:
Le réductionnisme est une technique réaliste de conception et implantation de vrais langages de programmation, et conduit à des solutions plus faciles à étendre, expérimenter et analyser. Nous spécifions formellement et implantons un langage de programmation extensible, basé sur un langage-noyau minimaliste impératif du premier ordre, équipé de mécanismes d’abstraction forts et avec des possibilités de réflexion et auto-modification. Le langage peut être étendu à des niveaux très hauts : en utilisant des macros à la Lisp et des transformations de code à code réécrivant les expressions étendues en expressions-noyau, nous définissons les clôtures et les continuations de première classe au dessus du noyau. Les programmes qui ne s’auto-modifient pas peuvent être analysés formellement, grâce à la simplicité de la sémantique. Nous développons formellement un exemple d’analyse statique et nous prouvons une propriété de soundness par apport à la sémantique dynamique. Nous développons un ramasse-miettes parallèle qui convient aux machines multi-cœurs, pour permettre l’exécution efficace de programmes parallèles
Reductionism is a viable strategy for designing and implementing practical programming languages, leading to solutions which are easier to extend, experiment with and formally analyze. We formally specify and implement an extensible programming language, based on a minimalistic first-order imperative core language plus strong abstraction mechanisms, reflection and self-modification features. The language can be extended to very high levels: by using Lisp-style macros and code-to-code transforms which automatically rewrite high-level expressions into core forms, we define closures and first-class continuations on top of the core. Non-self-modifying programs can be analyzed and formally reasoned upon, thanks to the language simple semantics. We formally develop a static analysis and prove a soundness property with respect to the dynamic semantics. We develop a parallel garbage collector suitable to multi-core machines to permit efficient execution of parallel programs
APA, Harvard, Vancouver, ISO, and other styles
36

Falbo, Vincent. "English language & third generation programming language pedagogical practice analysis /." Online version of thesis, 2008. http://hdl.handle.net/1850/7879.

Full text
APA, Harvard, Vancouver, ISO, and other styles
37

Leonardo, Pedro Miguel Amado Rodrigues. "Child programming: an adequate domain specific language for programming specific robots." Master's thesis, Faculdade de Ciências e Tecnologia, 2013. http://hdl.handle.net/10362/11921.

Full text
Abstract:
Dissertação para obtenção do Grau de Mestre em Engenharia Informática
Due to the limited existence of dedicated robot programming solutions for children (as well as scientific studies), this work presents the design and implementation of a visual domain specific language (DSL), using the Model-Driven Development approach(MDD), for programming robotics and automaton systems with the goal to increase productivity and simplify the software development process. The target audience for this DSL is mostly children with ages starting from 8 years old. Our work implied to use the typical Software Language Engineering life cycle, starting by an elaborate study of the user’s profile, based on work in cognitive sciences, and a Domain analysis. Several visual design paradigms were considered during the design phase of our DSL, and we have focused our studies on the Behavior Trees paradigm, a paradigm intensively used in the gaming industry. Intuitive, simplicity and a small learning curve were the three main concerns considered during the design and development phases. To help validating the DSL and the proposed approach, we used a concrete robotic product for children built with the Open Source Arduino platform as target domain. The last part of this work was dedicated to study the adequacy of the language design choices, compared to other solutions (including commercial technologies), to the target users with different ages and different cognitive-development stages. We have also studied the benefits of the chosen paradigm to domain experts’ proficient on robot programming in different paradigms to determine the possibility to generalize the solution to different user profiles.
APA, Harvard, Vancouver, ISO, and other styles
38

Diep, Vivian Chan. "Me.TV : a visual programming language and interface for dynamic media programming." Thesis, Massachusetts Institute of Technology, 2015. http://hdl.handle.net/1721.1/101844.

Full text
Abstract:
Thesis: S.M., Massachusetts Institute of Technology, School of Architecture and Planning, Program in Media Arts and Sciences, 2015.
Cataloged from PDF version of thesis.
Includes bibliographical references (pages 59-60).
The culture of televised media experiences has changed very little since the time it began in the 1930s, but new internet technologies, like Netflix, Hulu, and Youtube, are now quickly forcing major change. Although these new internet technologies have given the viewer more control than the historical dial, they have also left behind some of the greatest contributions of traditional television. These contributions include not just the well-favored simplicity of use, but also the sense of social experience and connectedness, the ease and continuity of scheduled programming, and the understanding that television is now, current, and pulsing. This thesis presents Me.TV, a web platform that combines the benefits of traditional television and on-demand viewing for a new experience that allows us to let go, watch the same channels as our friends, flip our preferences around, get constant, current content, and still have control over the type and timing of content. To make this experience possible, we present a visual programming language at the center of the Me.TV platform that enables users to create complex rules with simple interactions. The visual language constructs allow users to create static preferences, such as genre constraints, and plan for non-static ones, such as a current mood, in as many channels as they want. To support the Me.TV programming language, the platform comprises of an editor, translation engine, application programming interface, video player and navigation dashboard, which we prototype in this thesis as a javascript web application. Work reported herein was funded by the Media Lab Consortium and the Ultimate Media Program.
by Vivian Chan Diep.
S.M.
APA, Harvard, Vancouver, ISO, and other styles
39

MARANHÃO, Antonio Augusto Rodrigues de Albuquerque. "Design of a modular multiparadigm programming language for teaching programming concepts." Universidade Federal de Pernambuco, 2004. https://repositorio.ufpe.br/handle/123456789/2468.

Full text
Abstract:
Made available in DSpace on 2014-06-12T15:58:29Z (GMT). No. of bitstreams: 2 arquivo4579_1.pdf: 1011460 bytes, checksum: 01e8646fc6f336c9eb54adf769b7baf0 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2004
A criação de uma linguagem de programação pode ser comparada ao desenvolvimento de um sistema computacional. Sendo assim, o projeto e a implementação da linguagem devem atender a um conjunto de requisitos. Alguns deles estão relacionados às propriedades que a linguagem desenvolvida deve apresentar, como expressividade, capacidade de aprendizagem e produtividade. Outro grupo de requisitos compreende aqueles comuns ao desenvolvimento da maioria dos softwares, como extensibilidade, modularidade e reuso de código. Este segundo grupo de requisitos pode ser obtido através do uso de técnicas modernas de engenharia de software. Neste trabalho, apresentamos o desenvolvimento de uma linguagem multiparadigma modular que faz uso de programação Orientada a Objetos, design patterns e um paradigma de programação mais recente chamado Programação Orientada a Aspectos. A linguagem, que também pode ser vista como um conjunto de linguagens, é desenvolvida de maneira incremental, partindo de uma simples linguagem de expressões até linguagens mais complexas representando alguns dos mais representativos paradigmas de programação, finalizando com o desenvolvimento de linguagens multiparadigmas. Esta família de linguagens é criada através da integração de componentes que representam conceitos de programação. A modularidade obtida através do design proposto possibilita o reuso destes componentes na criação de diferentes linguagens, mesmo que pertencentes a diferentes paradigmas. Adicionalmente, é possível a evolução ortogonal das linguagens, já que a inclusão de novos conceitos é obtida através da simples inclusão dos componentes correspondentes, sem comprometer o funcionamento dos componentes já utilizados. A abordagem proposta para o design e implementação da linguagem também se mostrou bastante útil no ensino de conceitos de programação, já que oferece um ambiente uniforme e extensível para a prática e exploração dos conceitos pelos estudantes. Dessa forma, os estudantes não precisam lidar com diferentes notações e ambientes de desenvolvimento ao abordarem conceitos relacionados a diversos paradigmas
APA, Harvard, Vancouver, ISO, and other styles
40

Humphrey, Matthew Cameron. "Comparison of an object-oriented programming language to a procedural programming language for effectiveness in program maintenance." Thesis, Virginia Tech, 1988. http://hdl.handle.net/10919/45161.

Full text
Abstract:

New software tools and methodologies make claims that managers often believe intuitively without evidence. Many unsupported claims have been made about object-oriented programming. However, without rigorous scientific evidence, it is impossible to accept these claims as valid. Although experimentation has been done in the past, most of the research is very recent and the most relevant research has serious drawbacks. This study attempts to empirically verify the claim that object-oriented languages produce programs that are more easily maintained than those programmed with procedural languages. Measurements of subjects performing maintenance tasks onto two identical programs, one object-oriented and the other procedure-oriented show the object-oriented version to be more maintainable.
Master of Science

APA, Harvard, Vancouver, ISO, and other styles
41

McNamara, Brian. "Multiparadigm programming novel devices for implementing functional and logic programming constructs in C++ /." Diss., Available online, Georgia Institute of Technology, 2004:, 2004. http://etd.gatech.edu/theses/available/etd-07122004-121450/unrestricted/mcnamara%5Fbrian%5Fm%5F200407%5Fphd.pdf.

Full text
Abstract:
Thesis (Ph. D.)--College of Computing, Georgia Institute of Technology, 2005. Directed by Yannis Smaragdakis.
Spencer Rugaber, Committee Member ; Olin Shivers, Committee Member ; Mary Jean Harrold, Committee Member ; Yannis Smaragdakis, Committee Chair ; Philip Wadler, Committee Member. Includes bibliographical references.
APA, Harvard, Vancouver, ISO, and other styles
42

Vacchi, E. "PROGRAMMING LANGUAGES À LA CARTE." Doctoral thesis, Università degli Studi di Milano, 2015. http://hdl.handle.net/2434/263620.

Full text
Abstract:
Code reuse in computer language development is an open research problem. Feature-oriented programming is a vision of computer programming in which features can be implemented separately, and then combined to build a variety of software products; the idea of combining feature orientation and language development is relatively recent. Many frameworks for modular language development have been proposed during the years, but, although there is a strong connection between modularity and feature-orientation development, only few of these frameworks provide primitives to combine these two concepts. This work presents a model of modular language development that is directed towards feature orientation. We describe its implementation in the Neverlang framework. The model has been evaluated through several experiences: among the others, we present a code generator for a state machine language, that we use as a means to compare to other state-of-the-art frameworks, and a JavaScript interpreter implementation that further illustrates the capabilities of our solution.
APA, Harvard, Vancouver, ISO, and other styles
43

Lindgren, Sebastian. "A Mobile Graph-Like Visual Programming Language." Thesis, Mälardalens högskola, Akademin för innovation, design och teknik, 2017. http://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-36249.

Full text
Abstract:
Visual programming is a programming paradigm commonly used for game scripting, it also has applications in other areas such as for example patcher languages for music and animation and even a few languages for general purpose programming. By using visual programming complex tasks can be made easier by abstracting the code and letting the user express a flow of commands instead. This also gives a better overview of the problem and how the different parts connect. By graphically connecting nodes the program flow will be made clear even for those new to programming. Unfortunately, visual programming is mostly limited to laptops and stationary computer systems. Touch enabled mobile devices which perhaps would be even better suited for a visual programming approach are left with textual programming environments, which doesn’t use the capabilities of the touch screen, and a few non-graph-like visual programming languages, which use interlocked blocks to represent code. To explore how well graph-like visual programming would work on mobile devices a study will be conducted in which a lo-fi design is created and iteratively evaluated and improved using a modified NEVO process. The design will be created and improved based on existing visual programming interfaces and research in the area of visual programming, interaction design and information design, combined with the input from the test subjects. In this work a mobile, visual, graph-like, general purpose programming language has been designed. A lo-fi prototype of the language has been created to display how the language would look on a mobile system if realized. The lo-fi prototype was then tested with a method given by Rettig to give an indication of the systems usability measured by its task completion time compared to the task completion time of a mobile textual system. There is also a qualitative analysis on the responses from the test users. The tests were conducted both on people new to programming as well as people who have been programming for a while.
APA, Harvard, Vancouver, ISO, and other styles
44

Mugridge, Warwick Bruce. "Enhancements to an object-oriented programming language." Thesis, University of Auckland, 1990. http://hdl.handle.net/2292/1997.

Full text
Abstract:
The objective of this thesis has been to explore the value and limitations of Class, an object-oriented programming language, in order to further the development of the language. The pivot for this thesis is WallBrace, a code-checking system. The development of the WallBrace system is the basis of a critique of Class, and leads to a number of language extensions being proposed. An important aim in this work has been the careful integration of these enhancements with the rest of the language, avoiding unnecessary additions. A number of functional and object-oriented extensions to the language are proposed. Discrimination functions, which may be higher-order and polymorphic, add considerable functional power. Generic classes allow for abstract data types, such as sets and lists, to be defined within the language. The forms interface proposed will greatly enhance the quality of user interfaces to Class programs. An external interface will allow Class programs to communicate with files, databases, and specialist user-interface programs, such as for plan entry.
APA, Harvard, Vancouver, ISO, and other styles
45

Xie, Jiantao 1979. "Text operators in a relational programming language." Thesis, McGill University, 2005. http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=82451.

Full text
Abstract:
JRelix is an implementation of a relational database system which provides a significantly powerful database programming language and which is especially adept with complex data. This thesis documents an enhancement of JRelix which provides intuitive descriptions and efficient manipulations for textual information in the database.
Coupled with the relational and domain algebra in JRelix, the new database system supports rapid textual information retrieval, flexible text mining, structured text schema discovery, relational operations on text, transformation between text and relation, and powerful pattern matching in structured or unstructured data. These endow JRelix with the capacity of handling complicated textual information from heterogeneous data sources (e.g., data from the web), and also enrich its searching power on vast bodies of electronic data as a text/relational database management system.
APA, Harvard, Vancouver, ISO, and other styles
46

Aslam, Toheed. "AspectMatlab: an aspect-oriented scientific programming language." Thesis, McGill University, 2010. http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=92378.

Full text
Abstract:
There has been relatively little work done in the compiler research community for incorporating aspect-oriented features in scientific and dynamic programming languages.
MATLAB is a dynamic scientific programming language that is commonly used by scientists because of its convenient and high-level syntax for arrays, the fact that type declarations are not required, and the availability of a rich set of application libraries. This thesis introduces a new aspect-oriented scientific language, AspectMatlab.
AspectMatlab introduces key aspect-oriented features in a way that is both accessible to scientists and where the aspect-oriented features concentrate on array accesses and loops, the core computation elements in scientific programs. One of the main contributions of this thesis is to provide a compiler implementation of the AspectMatlab language. It is supported by a collection of scientific use cases, which portray the potential of the aspectorientation for scientific problems.
Introducing aspects into a dynamic language such as MATLAB also provides some new challenges. In particular, it is difficult to statically determine precisely where patterns match, resulting in many dynamic checks in the woven code. The AspectMatlab compiler uses flow analyses to eliminate many of those dynamic checks.
This thesis reports on the language design of AspectMatlab, the amc compiler implementation, and also provides an overview of the use cases that are specific to scientific programming. By providing clear extensions to an already popular language, AspectMatlab will make aspect-oriented programming accessible to a new group of programmers including scientists and engineers.
Relativement peu de travail a été accomplis dans le milieu de la recherche du compilateur pour l'intégration des caractéristiques orientées à l'aspect dans les domaines scientifique et dynamique des langages de programmation. Matlab est un langage de programmation scientifique dynamique qui est couramment utilisé par les scientifiques en raison de sa pratique et la syntaxe de qualité pour des tableaux ; du fait que les déclarations de type ne sont pas nécessaires, et de la disponibilité de vastes bibliothèques d'applications. Cette thèse introduit un nouvel aspect de langue de recherche scientifique : AspectMatlab.
AspectMatlab introduit fonctionnalités d'aspect orientées d'une manière qui est à la fois accessible aux scientifiques et où les fonctionnalités d'aspect orientées se concentrent sur les accès réseau et des boucles, les éléments de calcul de base dans les programmes scientifiques. L'une des principales contributions de cette thèse est de fournir une implémentation du compilateur du langage AspectMatlab. Il est soutenu d'une collection de cas d'utilisation scientifique, qui montre le potentiel de l'orientation aspect pour des problèmes scientifiques.
L'introduction des aspects dans un langage dynamique comme Matlab représente aussi quelques nouveaux défis. En particulier, il est difficile de déterminer statiquement où les modèles coïncident, résultant dans de nombreux contrôles dynamiques dans le code tissé. Le compilateur d'AspectMatlab utilise le flux d'analyses pour éliminer un grand nombre de ces contrôles dynamiques.
Cette thèse signale la conception du language d'AspectMatlab et l'implementation du compilateur amc. Elle fournit également un aperçu de l'utilisation des cas qui sont spécifiques à la programmation scientifique. En fournissant des extensions claires avec un langage déjà populaire, AspectMatlab rendra la programmation orientée à l'aspect accessible à un nouveau groupe de programmeurs y compris des scientifiques et des ingénieurs.
APA, Harvard, Vancouver, ISO, and other styles
47

李詠康 and Wing-hong Lee. "D: a distributed object oriented programming language." Thesis, The University of Hong Kong (Pokfulam, Hong Kong), 1994. http://hub.hku.hk/bib/B31211616.

Full text
APA, Harvard, Vancouver, ISO, and other styles
48

Perez, Manuel A. "A language for interactive computer graphics programming." Virtual Press, 1987. http://liblink.bsu.edu/uhtbin/catkey/484784.

Full text
Abstract:
The writer defines graphics-oriented data types and operators as the basis for a graphics-oriented programming language. Most of these data types are not available in today's languages. They are usually defined as structures or records composed of some other basic types. These include points, rectangles, transformations, etc. Some operators, such as vector addition, are defined to work with them.The design and implementation of an interpreter to test some of these graphics data types and operators are discussed.The writer also examines some of the tools needed in a graphics programming environment.
APA, Harvard, Vancouver, ISO, and other styles
49

Sibson, Keith. "Programming language abstractions for the global network." Thesis, University of Glasgow, 2001. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.368587.

Full text
APA, Harvard, Vancouver, ISO, and other styles
50

NEHAB, DIEGO FERNANDES. "THE IMPLEMENTATION OF THE SLOTH PROGRAMMING LANGUAGE." PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO, 2002. http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=6521@1.

Full text
Abstract:
COORDENAÇÃO DE APERFEIÇOAMENTO DO PESSOAL DE ENSINO SUPERIOR
Este trabalho descreve uma nova linguagem de programação funcional e sua implementação. Sloth é uma linguagem funcional pura interpretada, não estrita, que suporta funções de ordem elevada como valores de primeira classe, tipos de dados estruturados e definições múltiplas de funções selecionadas por casamento de padrões. Sloth foi criada para o uso no meio acadêmico, em atividades relacionadas ao uso e à  implementação de linguagens funcionais. Sendo assim, durante o desenvolvimento de Sloth, uma grande preocupação com a simplicidade direcionou tanto a especificação da linguagem quanto sua implementação. Como resultado, a sintaxe da linguagem é modesta, mas expressiva o bastante para permitir seu uso em aplicações práticas. Da mesma forma, a grande simplicidade e portabilidade de sua implementação não prejudicam severamente sua eficiência. As principais contribuições do trabalho são o projeto e desenvolvimento de Sloth, uma otimização à  redução de grafos combinatórios como alternativa ao uso dos combinadores de Turner, uma arquitetura inovadora para a implementação de linguagens funcionais interpretadas, baseada no uso cooperativo de duas linguagens de programação, e uma análise comparativa entre a eficiência de Sloth e outras linguagens semelhantes.
This work describes a new functional programming language and its implementation. Sloth is a non-strict purely functional interpreted programming language, which supports high order functions as first class values, structured data types, and pattern-matching based function definitions. Sloth was created for academical use in activities related to the use and to the implementation of functional programming languages. Therefore, there has been a great concern with the simplicity of both the language specification and its implementation. As a result, Sloth's syntax is modest, but expressive enough for practical applications. Furthermore, the great simplicity and portability of its implementation has no serious impact on its performance. The main contributions of this work are the design and implementation of Sloth, an optimization to combinator graph reduction as an alternative to the use of Turner combinators, a new architecture for the implementation of interpreted functional programming languages, based on the cooperation between two programming languages, and the performance comparison between Sloth and similar languages.
APA, Harvard, Vancouver, ISO, and other styles
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography