• Login
    View Item 
    •   MKSU Digital Repository Home
    • Books
    • School of Pure & Applied Sciences
    • View Item
    •   MKSU Digital Repository Home
    • Books
    • School of Pure & Applied Sciences
    • View Item
    JavaScript is disabled for your browser. Some features of this site may not work without it.

    Foundations of Programming Languages

    Thumbnail
    View/Open
    Full Text (23.59Mb)
    Date
    2017
    Author
    Lee, Kent D.
    Metadata
    Show full item record
    Abstract
    A career in computer science is a commitment to a lifetime of learning. You will not be taught every detail you will need in your career while you are a student. The goal of a computer science education is to give you the tools you need so you can teach yourself new languages, frameworks, and architectures as they come along. The creativity encouraged by a lifetime of learning makes computer science one of the most exciting fields today. There are engineering and theoretical aspects to the field of computer science. Theory often is a part of the development of new programming languages and tools to make programmers more productive. Computer programming is the process of building complex systems with those tools. Computer programmers are program engineers, and this process is sometimes called software engineering. No matter what kind of job you end up doing, understanding the tools of computer science, and specifically the programming languages you use, will help you become a better programmer. As programmers it is important that we be able to predict what our programs will do. Predicting what a program will do is easier if you understand the way the programming language works. Programs execute according to a computational model. A model may be implemented in many different ways depending on the targeted hardware architecture. While there are currently a number of popular hardware architectures, most can be categorized into one of two main areas: register-based central processing units and stack-based virtual machines. While these two types of architectures are different in some ways, they also share a number of characteristics when used as the target for programming languages. This text develops a stack-based virtual machine based on the Python virtual machine called JCoCo. Computer scientists differentiate programming languages based on three paradigms or ways of thinking about programming: object-oriented/imperative programming, functional programming, and logic programming. This text covers these three paradigms while using each of them in the implementation of a non-trivial programming language.
    URI
    http://ir.mksu.ac.ke/handle/123456780/6131
    Collections
    • School of Pure & Applied Sciences [197]

    DSpace software copyright © 2002-2015  DuraSpace
    Contact Us | Send Feedback
    Theme by 
    @mire NV
     

     

    Browse

    All of Digital RepositoryCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsBy Submit DateThis CollectionBy Issue DateAuthorsTitlesSubjectsBy Submit Date

    My Account

    LoginRegister

    DSpace software copyright © 2002-2015  DuraSpace
    Contact Us | Send Feedback
    Theme by 
    @mire NV