Professional Documents
Culture Documents
Assignment-3: Spring 2021
Assignment-3: Spring 2021
Assignment-3
Spring 2021
CSE425: Concepts of Programming Language
Section: 04
- The concept of this name came from “BYJUS” the learning app, it will
be used to teach high school kids basics of programming.
a) char arrays and a library of functions that provide operations( gives more
space to students to understand how arrays work as beginners).
b) Primitive type with assignment and several operations(can use this as
they get more advanced)
3. Array Types:
a) What types are legal for subscripts?
Answer: Use brackets
8. Pointer and Reference Types: Uses the C++ form of pointers. So extremely
flexible. Used for dynamic storage management and addressing. Pointer
arithmetic is possible. Explicit dereferencing and address-of operators.
5. Operator overloading?
Answer: Yes, allowed.
3) Is execution flow through the structure restricted to include just a single selectable
segment?
Answer: Any number of segments can be executed in one execution of the construct.
2) Should it be legal for the loop variable or loop parameters to be changed in the loop
body, and if so, does the change affect loop control?
3) Should the loop parameters be evaluated only once, or once for every iteration?
Answer: The first expression is evaluated once, but the other two are evaluated with
each iteration.
1) Pretest or posttest?
6. Nested Classes.
Answer: Can be used in a subprogram, but not nested in itself.
7. Initialization of Objects.
Answer: Implicit initialization, don’t want students to get bothered with the syntaxes of
explicit initialization.
1. The language is not going to have any Concurrency because it is designed for
students for whom the idea of threading would be very difficult to understand.
Evaluation Criteria
Readability:
Since BSS is simple, orthogonal and considers its syntaxes, it is a pretty readable
language. It would have been even better if it had more primitive constructs, but that
defeats the purpose of the PL.
i) Overall simplicity: LSK isn’t filled with a lot of features, so it’s simple.
iii) Data types: Bare minimum number of predefined data types, but just enough to
get everything done.
Writability:
BSS is simple and orthogonal and supports abstractions. It would have been more
writable if there were more predefined libraries.
(i)Simplicity and orthogonality: Few constructs and a small number of primitives used
only.
BSS isn’t the most reliable of languages. It lacks Exception handling and Aliasing. The
presence of good readability, writability and type checking makes it a moderately
reliable PL.
(iii)Aliasing: Missing.
Cost:
(i)Training programmers to use the language: LSK has most of its common PLs like
C, Java and Python. It should be really easy to teach.
(iii)Compiling programs: Since the PL doesn’t have a very big library, it should be
easy to compile.
(iv)Executing programs: Executing programs don’t take a lot of time since it is worked
on existing fast PLs like python.
Portability: Programs written on LSK are very easy to be moved from one
implementation to another.
Generality: It is not general, because it has very limited functionality.