33 research outputs found

    Introduction to the Literature on Programming Language Design

    Get PDF
    This is an introduction to the literature on programming language design and related topics. It is intended to cite the most important work, and to provide a place for students to start a literature search

    Special Libraries, September 1976

    Get PDF
    Volume 67, Issue 9https://scholarworks.sjsu.edu/sla_sl_1976/1007/thumbnail.jp

    Introduction to the Literature On Programming Language Design

    Get PDF
    This is an introduction to the literature on programming language design and related topics. It is intended to cite the most important work, and to provide a place for students to start a literature search

    Dynamically typed languages

    Get PDF
    Dynamically typed languages such as Python and Ruby have experienced a rapid grown in popularity in recent times. However, there is much confusion as to what makes these languages interesting relative to statically typed languages, and little knowledge of their rich history. In this chapter I explore the general topic of dynamically typed languages, how they differ from statically typed languages, their history, and their defining features

    Syntactic Sugar Programming Languages' Constructs

    Get PDF
    Software application development is a daily task done by developers and code writers all over the world. A valuable portion of developers‘ time is spent in writing repetitive keywords, debugging code, trying to understand its semantic, and fixing syntax errors. These tasks become harder when no integrated development environment (IDE) is available or developers use remote access terminals like UNIX and simple text editors for code writing. Syntactic sugar constructs in programming languages are found to offer simple and easy syntax constructs to make developers' lives easier and smoother. In this study we propose a new set of syntactic sugar constructs, and try to find if they really can help developers in reducing syntax errors, make code shorter, more readable, easier to write, and can help in debugging and semantic understanding. Our methodology was to construct a new syntactic sugar constructs set extracted from existing programming languages' syntax in addition to other syntactic enhancements proposed by us, then we verified the efficiency of the new syntactic sugar constructs set through executing an exploratory case study with students and professional programmers. The exploratory case study results showed positive indicators for using the new proposed syntactic sugar constructs set to write programs' syntax. They helped in reducing syntax errors, making the code more readable, easier to write, and to understand.تطوير البرمجيات التطبيقية ىي ميمة يومية يقوم بيا المطورون والمبرمجون في كافة انحاء العالم، و ييدر جزء ال بأس بو من وقت المبرمجين في كتابة كممات مفتاحية بشكل متكرر في الجمل التركيبية لمبرامج وتصحيح األخطاء في بناء الجمل التركيبية، و محاولة فيم دالالت البرامج. ىذه الميام تصبح أكثر صعوبة إذا لم تكن ىناك بيئة تطوير متكاممة متاحة لإلستخدام، أو عندما يقوم المطورون بكتابة البرامج بإستخدام محررات نصوص بسيطة، وكذلك في حالة تطوير البرامج عن بعد بإستخدام برمجيات االتصال الطرفي كما في نظام التشغيل يونيكس مثلا. لقد أوجدت محسنات بناء الجمل التركيبية في لغات البرمجة لتقدم تركيبات نصية بسيطة وسيمة وجعل حياة المطورين أسيل. بناءاٌ عمى ذلك، نقترح في ىذه الدراسة مجموعة جديدة من محسنات بناء الجمل التركيبية، ونحاول معرفة ما إذا كانت ىذه المحسنات تساىم في التقميل من االخطاء اكثر وضوحاا النصية وجعل تركيب الجمل في لغات البرمجة ابسط و واسيل لمق ارءة والكتابة والتتبع وفيم دالالت البرامج. منيجية البحث المتبعة في ىذه الدراسة تقوم عمى إيجاد مجموعة من محسنات بناء الجمل التركيبية والمستخرجة من بعض لغات البرمجة المستخدمة ، إضافة الى عدد من التحسينات المقترحة، ومن ثم محاولة التحقق من فعالية ىذه المحسنات من خلل إجراء دراسة حالة استكشافية مع عدد من الدارسين والمطورين ذوي الخبرة. ولقد اظيرت نتائج الدراسة مؤشرات ايجابية واضحة حول استخدام محسنات بناء الجمل التركيبية في كتابة البرمجيات، ولقد ساعدت ىذه المحسنات في الحد من األخطاء النصية وجعل تركيب الجمل في لغات البرمجة اكثر وضوحاا واسيل لمق ارءة والكتابة والتتبع وفيم الدالالت

    Dynamically typed languages.

    Get PDF
    Dynamically typed languages such as Python and Ruby have experienced a rapid grown in popularity in recent times. However, there is much confusion as to what makes these languages interesting relative to statically typed languages, and little knowledge of their rich history. In this chapter I explore the general topic of dynamically typed languages, how they differ from statically typed languages, their history, and their defining features

    Colloquium capita datastructuren

    Get PDF

    A coprocessor design for the architectural support of non-numeric operations

    Get PDF
    Computer Science is concerned with the electronic manipulation of information. Continually increasing amounts of computer time are being expended on information that is not numeric. This is represented in part by modem computing requirements such as the block moves associated with context switching and virtual memory management, peripheral device communication, compilers, editors, word processors, databases, and text retrieval. This dissertation examines the traditional support of non-numeric information from a software, firmware, and hardware perspective and presents a coprocessor design to improve the performance of a set of non-numeric operations. Simple micro-coding of operations can provide a degree of performance improvement through parallel execution of instructions and control store access speeds. New special purpose parallel hardware algorithms can yield complexity improvements. This dissertation presents a parallel hardware regular expression searching algorithm which requires linear time and quadratic space compared to software uniprocessor algorithms which require exponential time and space. A very large scale integration (VLSD implementation of a version of this algorithm was designed, fabricated, and tested. The hardware. searching algorithm is then combined with other special purpose hardware to implement a set of operations. Simulation is then used to quantify the performance improvement of the operations when compared to software solutions. A coprocessor approach allows the optional addition of hardware to accelerate a set of operations. This is appropriate from a complex instruction set computer (CISC) perspective since hardware acceleration is being utilized. It is also appropriate from a reduced instruction set computer (RISC) perspective since the operations are distributed away from the central processing unit (CPU)

    Theory and practice in the construction of efficient interpreters

    Get PDF
    Various characteristics of a programming language, or of the hardware on which it is to be implemented, may make interpretation a more attractive implementation technique than compilation into machine instructions. Many interpretive techniques can be employed; this thesis is mainly concerned with an efficient and flexible technique using a form of interpretive code known as indirect threaded code (ITC). An extended example of its use is given by the Setl-s implementation of Setl, a programming language based on mathematical set theory. The ITC format, in which pointers to system routines are embedded in the code, is described and its extension to cope with polymorphic operators. The operand formats and some of the system routines are described in detail to illustrate the effect of the language design on the interpreter. Setl must be compiled into indirect threaded code and its elaborate syntax demands the use of a sophisticated parser. In Setl-s an LR(1) parser is implemented as a data structure which is interpreted in a way resembling that in which ITC is interpreted at runtime. Qualitative and quantitative aspects of the compiler, interpreter and system as a whole are discussed. The semantics of a language can be defined mathematically using denotational semantics. By setting up a suitable domain structure, it is possible to devise a semantic definition which embodies the essential features of ITC. This definition can be related, on the one hand to the standard semantics of the language, and on the other to its implementation as an ITC-based interpreter. This is done for a simple language known as X10. Finally, an indication is given of how this approach could be extended to describe Setl-s, and of the insight gained from such a description. Some possible applications of the theoretical analysis in the building of ITC-based interpreters are suggested
    corecore