{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

1intro - Approaches to Studying Programming Languages...

Info icon This preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
CSci 5106: Programming Languages Overview of the Course and the Subject Gopalan Nadathur Department of Computer Science and Engineering University of Minnesota Lectures in Fall 2010 Gopalan Nadathur Programming Languages Overview Approaches to Studying Programming Languages Catalogue Approach Here you learn to program in many different languages Conceptual Issues Approach Here the following kinds of aspects are studied: Structure of different languages/paradigms and considerations shaping them Impact of structure on programming Implementability issues Particular languages figure here as case studies Implementation Based Approach Real focus is on precise meaning of features and on viewing programs as objects Semantics Based Approach Semantics could be of denotational, operational or axiomatic variety or a mix of these Gopalan Nadathur Programming Languages Overview Approach Followed in This Course We shall adopt the “conceptual issues” approach here for the following reasons: Semantics and implementation based approaches are specialized and come at a later stage of learning Advantages over the “Catalogue” approach: The Obsolescence Factor Knowledge of particular languages becomes obsolete quickly but general understanding has a lasting value “Choosing the Right Language” Aspect Knowing which language is right for a particular task is part of being a good programmer “The Language Designer” Perspective Understanding the connection between language structure and machine architecture is useful in designing new languages Gopalan Nadathur Programming Languages Overview What is a Programming Language? A Language A system of signs used for communication When we focus on programming a machine, this specializes it as follows A formalism for communicating a problem solving approach to a computer with the intension of getting the problem solved There is still scope for diversity: what is a computer? how is a problem solving approach to be structured? Gopalan Nadathur Programming Languages Overview
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
What is a Computer? A possible definition: A device for carrying out arithmetic and logical operations at high speed However, this “definition” could be interpreted to mean a specific physical device, a class of such specific devices, or an abstraction, based on certain properties deemed important, of all such devices The transition from machine languages to high-level languages reveals a gradual understanding of these different possibilities Indeed, programming languages, starting with Fortran, constitute a rethinking the structure of a machine Gopalan Nadathur Programming Languages Overview Reconstituting Machines Programming languages participate in recreating machines along two dimensions: Along the dimension of the execution model Here languages have added new kinds of data new kinds of instructions Along the dimension of the organizational model Here the issue is that of extendability and management: Data Abstraction Procedural Abstraction Modularization
Image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern