15 research outputs found

    Reception of Pascal in the history of sciences...

    Get PDF
    In particular computer science and technologies. With references to the history of philosophy and the social sciences

    Language history : A tale of two countries

    Get PDF
    This paper looks at the relationships between industry computer languages and those taught in universities. By considering the differences between two of the first countries to embrace programmable computers (USA and Australia) we find patterns that seem culturally independent. History shows a set of recurring problems for academics in choosing languages. This study shows that academics should be informed by history when making those decisions.2nd IFIP Conference on the History of Computing and EducationRed de Universidades con Carreras en Informática (RedUNCI

    Language history : A tale of two countries

    Get PDF
    This paper looks at the relationships between industry computer languages and those taught in universities. By considering the differences between two of the first countries to embrace programmable computers (USA and Australia) we find patterns that seem culturally independent. History shows a set of recurring problems for academics in choosing languages. This study shows that academics should be informed by history when making those decisions.2nd IFIP Conference on the History of Computing and EducationRed de Universidades con Carreras en Informática (RedUNCI

    Computers and philosophy. A proof of infinity in the XVII th century.

    Get PDF
    "When we think of the origins of computers we think of...

    Constructionist Attempts at Supporting the Learning of Computer Programming: A Survey

    Get PDF
    Although programming is often seen as a key element of constructionist approaches, the research on learning to program through a constructionist strategy is somewhat limited, mostly focusing on how to bring the abstract and formal nature of programming languages into \u201cconcrete\u201d, possibly tangible objects, graspable even by children with limited abstraction power. We survey the literature in programming education and analyse some programming languages designed to help novices from a constructionist perspective

    Simulation of cutting force during milling process with straight tooth plain milling cutter.

    Get PDF
    Cílem této práce je provést simulaci průběhu řezných sil při frézování válcovou frézou. Úvodní část práce je věnována technologii frézování, nástrojům pro frézování a řezným materiálům. Další část práce je zaměřena na kinematiku řezného procesu, teoretický rozbor silových poměrů, možnosti měření silových účinků. Obecné informace o programovacím softwaru, teoretický model simulace, grafické prostředí vytvořené aplikace, jsou dalšími body této práce. Součástí práce je také vyhodnocení experimentálně naměřených hodnot a porovnání s hodnotami získanými z vytvořené aplikace.To make a simulation of cutting force during milling process with cilindrical cutter is the aim of this diploma thesis. Preliminary part is devoted to technology of milling, milling cutters and cutting materials. The next section is aimed at kinematics of the cutting process, a theoretical analysis of power proportion, the possibility of measurement of force actions. General information about the programming software, a theoretical simulation model, graphical environment of created application, are the other points of this diploma thesis. The work also includes evaluation of the experimentally measured values and compared with values obtained from the created application.

    Make UNCOL cool again

    Get PDF
    TCC(graduação) - Universidade Federal de Santa Catarina. Centro Tecnológico. Ciências da Computação.Criar e manter um compilador otimizador requer grandes esforços de desenvolvimento. Ao mesmo tempo, o número de compiladores necessários para traduzir cada linguagem de alto nível para várias arquiteturas de hardware cresce de forma multiplicativa. Uma possível abordagem para resolver esse problema envolve adotar uma representação intermediária comum, também conhecida como Universal Computer Oriented Language (UNCOL). Embora tal solução tenha sido proposta pela primeira vez em 1958, a tecnologia de compiladores e a teoria de linguagens de programação muito evoluíram desde então. No contexto destes avanços, o presente trabalho tem como objetivo reavaliar a ideia de uma representação intermediária universal; começando por um estudo da literatura e do estado da arte de linguagens de programação, de forma a elicitar requisitos e identificar princípios de criação para uma UNCOL moderna. Esses requisitos são a base de uma análise de algumas das representações intermediárias utilizadas em compiladores existentes. Além disso, os princípios extraídos da revisão sistemática motivaram a criação de uma nova representação intermediária, que combina técnicas de compilação originárias de diversas fontes na literatura. A nova representação intermediária é descrita em múltiplos aspectos, incluindo uma definição formal da sua estrutura em multigrafo e uma correspondência informal de sua semântica em termos de um modelo computacional já existente. Por fim, este trabalho descreve alguns algoritmos de análise e transformação de código customizados para a nova representação. Entre estes consta uma formulação de eliminação de código morto (uma otimização global) através de um algoritmo de coleção de lixo.Developing and maintaining an optimizing compiler requires great amounts of effort. At the same time, the number of compilers needed in order to translate many high-level languages to every other target architecture grows multiplicatively. One possible approach to solve this problem is the adoption of a shared intermediate representation, also known as Universal Computer Oriented Language (UNCOL). While the UNCOL solution was first proposed in 1958, there have been many developments in compiler technology and programming language theory since then. This work aims to re-evaluate the idea of a universal intermediate representation in light of these advances, beginning by surveying the programming language literature and state of the art in order to identify requirements and design principles for a modern version of UNCOL. Then, these requirements are used to analyze program representations in existing compiler infrastructures. Furthermore, the set of principles extracted from the systematic review has motivated the design of a new intermediate representation, which combines compilation techniques from various sources in the literature. Multiple aspects of the new intermediate representation are described, encompassing a formal definition of its multigraph structure, an informal explanation of its semantics in terms of the join calculus, and a few custom optimization algorithms, including a formulation of global Dead Code Elimination as a garbage collection process

    Filtered Iterators For Safe and Robust Programs in RIFL

    Get PDF
    We present a new language construct, filtered iterators, for safe and robust input processing. Filtered iterators are designed to eliminate many common input-processing errors while enabling robust continued execution. The design is inspired by (a) observed common input-processing errors and (b) continued execution strategies that are implemented by developers fixing input validation errors. Filtered iterators decompose inputs into input units, atomically and automatically discarding units that trigger errors. Statistically significant results from a developer study highlight the difficulties that developers encounter when developing input-processing code using standard language constructs. These results also demonstrate the effectiveness of filtered iterators in eliminating many of these difficulties and enabling developers to produce safe and robust input-processing code
    corecore