Skip to content

ayegnb/programming-languages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSCI235 Programming Languages

Course Description

The course treats a couple of important programming languages, namely C ++, Prolog and Python. We try to teach you how to write good code in each of these languages, and hope that knowing about different types of programming languages will help you with choosing the right language for a given problem.

Using the three given languages as example, we will discuss important properties of programming languages: A language can be either compiled or interpreted. It can be statically typed or dynamically typed. It can be imperative, functional, or logical. An imperative language can have value semantics, or reference semantics (usually combined with OO). A language can have built-in memory management (garbage collection), or leave the memory management to the user.

• C++ is a programming language, that offers light-weight abstraction mechanisms, which can be efficiently executed on existing hardware. It is compiled, mostly statically typed, imperative with value semantics, and leaves memory management to the user. It is possible to use object orientation in C++, but it is not its main goal.

• Prolog is logical, interpreted, and it has built-in memory management. A program in Prolog is a logical description of the problem. The interpreter uses this description to search for solutions of the problem. Prolog is very suitable for search, and it is used in artificial intelligence.

• Python is interpreted, dynamically typed, imperative and it has reference semantics. It has built-in memory management. It supports OO. It has a big collection of libraries. It is slow but flexible.

In addition to teaching you the important details of the languages, we will try to teach you how to write good, efficient, and easily readable code in each of them.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published