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.