You are on page 1of 4

Search Log in Join

CSC419 Assignment 1.pdf - CSC 419 - Programming Languages -...

View full document

0 0 DOC PREVIEW

Search this document

Spring 2021 CSC 419 - Programming Languages - Assignment 1

Exercise 1.1 (20 points)


a) Why is it useful for a programmer to have some background in language
design, even though he or she may never actually design a programming
language?
[2 points]
Having a background in language design is useful because by understanding the
basics it makes it easier for a programmer to learn new languages, improve
current programming skills, and choose the most appropriate language for a
certain need.
b) What programming language has dominated scientific computing over the
past 45 years? Also name a newer language that is used in scientific
computing (and also used in machine learning)?
[2 points]
Programming language that has dominated scientific computing for the last 45
years is FORTRAN.
Matlab, R, and Python are newer languages used in scientific computing with
Python being the best for machine learning.
c) What programming language has dominated business applications over
the past 45 years?
[2 point]

COBOL has dominated business applications for the last 45 years.


d) What programming language has dominated artificial intelligence over
the past 45 years?
[2 point]
LISP, a functional programming language, has dominated artificial intelligence
for the past 45 years.

e) Name a fairly new programming language and do a web search to find out
an application that it is used for.
[2 point]

Dart is a C-style programming language by Google. Dart could be compared to


JavaScript, but it has type safety. Flutter SDK apps for iOS and Android are
written in the Dart language which eliminates the need of learning two
separate programming languages for the two mobile platforms.

View full document


f) What is the disadvantage of having too many features in a
language? [2 point]
The disadvantage of having too many features in a language is make its users
more confused. If a programming language is very complex and hard to read the
programmers will need more time to learn and not use all the available
features to solve problems more productively.
g) We discussed three types of programming paradigms in class. One of them
is imperative languages. Give examples of languages that are imperative.
Also, name the other two programming paradigms.
[2 point]
Imperative, Functional, and Logic programming languages.

Examples of Imperative languages:


C, Java, Perl, JavaScript, Ruby, Visual BASIC
.NET, C++, Python, …

h) What is aliasing?
[2point]
Aliasing is having two or more distinct names in a program that can be used to
access the same memory cell. It is a dangerous feature in a programming
language. Most programming languages allow aliasing. If two pointers or
references are set to point to the same variable, we must remember that if we
change the variable value pointed to by one of those pointers changes the value
referenced by the other pointer as well.

i) Why is the von Neumann bottleneck


important? [2 point]
In the von Neumann architecture, the program code and the data are stored in
memory, rather than being separate units attached to the processor. No matter
what operation a computer does, it is “bottlenecked” by the connection bus
between the processor and memory. In that configuration, latency is
unavoidable. One way to solve that problem is memory caching, or storage of
frequently used data in a special area (RAM), so that data is more readily
accessible than if it were stored in main memory.

j) What are the advantages in implementing a language with a pure


interpreter? [2 points]
Pure interpretation is at the opposite end compared to compilation. Programs
are interpreted by another program called an interpreter. Pure interpretation
has the advantage of allowing easy implementation of many source-level
debugging operations, because all run-time error messages can refer to source-

End of preview
Want to read all 3 pages? Upload your study docs or become a member.

View full document

Recently submitted questions

1. Focus on individual perspectives on how it may


be more di:cult for <rms to earn pro<ts
(economic and operational). In your opinion wh…
might this be true as economic activity slows and
Q&A
in some
See more

Company Get Course Hero

About Us iOS

Careers Android

Leadership Chrome Extension

Q&A Archive Tutors

Educator Events

Study Tools Help

AI Homework Help Contact Us

Flashcards FAQ

Grammar Checker Feedback

Paraphraser

Proofreader

Spell Checker

Legal Connect with Us

Copyright Policy College Life

Academic Integrity Facebook

Our Honor Code Twitter

Privacy Policy LinkedIn

Terms of Use YouTube

Attributions Instagram

Do Not Sell or Share My Personal Info


Course Hero, a Learneo, Inc. business
Course Hero is not sponsored or endorsed by any college or university.

You might also like