You are on page 1of 10

PROGRAMMING LANGUAGES

CCS21103
ASSIGNMENT 1

Received Date :
Submission Date:
Weightage : 20 %
Semester : Sep 2020

Instruction to students:

 This is Individual assignment.


 Complete this cover sheet and attach it to your assignment (first page).

Student declaration:
I declare that:
 This assignment is my own work
 I understand what is meant by plagiarism
 My lecturer has the right to deduct my marks in the case of:
- Late submission
Any plagiarism found in my assignment.

Name Student ID Student Number

Rasheed Ali Saadik Ali 012020072911

Rigesh Kerisnan 012020072900

Total

MARKS:
Table of Contents

Introduction..........................................................................................................................................3
History..................................................................................................................................................4
Readability...........................................................................................................................................6
Writability.............................................................................................................................................7
Cost......................................................................................................................................................7
Availability............................................................................................................................................7
Extendibility..........................................................................................................................................7
Bibliography.........................................................................................................................................8
Introduction

Various programming languages support different ways of programming. Language choice


varies from several considerations, such as company policy, suitability to task, availability of
third-party packages, or individual preference. According to this, the preferable language will
be chosen. The languages are divided into two different levels from “low-level” to “high-
level.” Low-level languages are more machine-oriented and faster to execute, whereas High-
Level languages are more abstract and easier to use, but the execution is slower. It’s much
easier to code in High-Level languages than in Low-Level languages.

Computer programming is designing, writing, testing, debugging, and maintaining computer


programs’ source code. The source code is written in one or additional programming
languages (Java, C++, C#, Python, etc.). Programming aims to form a set of instructions that
computers use to perform specific operations or exhibit desired behaviors. The writing
source code method typically requires experience in various subjects, together with
knowledge of the application domain, specialized algorithms, and formal logic.

For this assignment, we have to choose a programming language and develop its functions
and features. We’ve chosen Perl Programming for this respective assignment.
History

Perl Programming

Perl is brief for “Practical Extraction and Report Language,” though it’s also been referred to
as a “Pathologically Eclectic Rubbish Lister.” The programming language Perl has been
there for an extended period. Originally its creator, Larry Wall, had chosen to call it Pearl as
he felt that it was a short and memorable word with positive associations.[ CITATION His \l
1033 ] However, only before the language was due to be released, he discovered that there
was already an existing programming language named “PEARL.” At this time, he changed
the spelling, so he released it as Perl. Wall began his work on developing Perl before 1987,
with the preliminary version was finally released at the end of that year.

Creator: Larry Wall

Perl is a highly capable, feature-rich programming language with over 30 years of


development. Perl runs on over 100 platforms from portables to mainframes and is[ CITATION
Abo \l 1033 ] appropriate for rapid prototyping and large scale development projects. Perl can
be implemented in several fields. Perl is popularly used in web development. Perl is also
used to automatize several web server tasks, and other administration jobs will automatically
generate emails and clean up systems. Perl continues to be used for its original purpose,
i.e., extracting data and generating reports. It will produce reports on resource use and
check for security issues in a network. Because of this reason, Perl has become a preferred
language used in web development, networking, and bioinformatics too. Aside from all this,
Perl also can be used for CGI programming.
The Perl motto is ‘There’s More Than One Way To Do It,’ which emphasizes Perl’s flexibility
and that Perl is about getting the job done. Its strengths are its writability, which stems from
its prevalent use of the English language and the design decision to be easy for humans to
write, rather than accessible for computers to understand, and its free, open-source
distribution model, which allows for a high degree of portability across computers and
platforms.

Perl has a few nicknames; it is called “the Swiss Army chainsaw of programming
languages”(Sheppard) and “the duct tape that holds the Internet together.”It gained these
nicknames because of its high degree of adaptability and its rise in popularity as the web
was being developed; because most of what was being done on the early part of the web
happened with text, and because Perl was designed, at least in part, to handle text
processing, it was better suited than the available alternative languages at the time.
[ CITATION Per \l 1033 ]
Readability

Perl has a reputation for poor readability due to its complex level of English. Perl claimed
using sigils makes “the nouns stand out from the verbs.” Every line is deeply expressive,
both in its content and its rhythm.[ CITATION Dav17 \l 1033 ] The user probably needs a
dictionary to look up some words that express precisely what the author intended while not
perhaps in everyday usage. It’s still English, but the user has to work a little harder at
reading it because it’s beautiful powerful English. Complex problems often require complex
language to describe their solutions. There is always more than one way to perform a task,
and this is detrimental to readability. The coding style also adds up to the code’s readability
as every programmer has their way of implementing code.[ CITATION Vin08 \l 1033 ]

Perl’s typical block structure allows for relatively simplistic readability with good programming
habits, barring perhaps the special characters assigned to variable types for those previously
unfamiliar with the language.[ CITATION Per \l 1033 ]
Writability

The key to writing code that is both readable and expressive is to build a bridge with your
comments that help the unfamiliar reader find[ CITATION Vin08 \l 1033 ] their way through the
complex and obscure portions. For the typical user, Perl’s writability is nearly on par with
languages like C++ or Java. Again, with the potential exception of how variable type
declaration is handled, much of what can potentially damage Perl’s readability can
significantly enhance its’ writability.

Cost

Perl’s initial cost is zero; the full source code and documentation are free to copy, compile,
print, and give away. Any programs written in Perl incur no royalties or restrictions on
distribution. Perl is released under the terms of the “Artistic” GNU General Public License,
meaning any modifications must be flagged and the original modules distributed along with
the modified versions.[ CITATION Per \l 1033 ]

Availability

Perl is available for most operating systems, particularly Unix and its variants, meaning
hardware costs are typically kept to a minimum. Perl has been ported to the Amiga, the Atari
ST, the Macintosh family, VMS, OS/2, even MS/DOS, and Windows. [ CITATION Per \l 1033 ]

Extendibility

This is the idea that by using sigils, new keywords can be added to the language and not
break old code, as they won’t contain variables whose names clash with keywords. While
this is undoubtedly true, I have a few problems with this.

This is the idea that by using sigils, new keywords are added to the language and not break
previous code, as they won’t contain variables whose names clash with keywords. First, if
we believe the Programming Perl claim that variables are nouns and keywords are verbs,
they should rarely clash anyway. Second, Perl permits subroutines to be used without sigils.
These are indeed way more possible to clash with keywords, both being “verbs,” so to
speak. Third, Perl allows “constants” to be declared without sigils at all. So if sigils reduce
the danger of new keywords breaking old code, they don’t handle the most common cases.
[ CITATION Dav17 \l 1033 ]
Bibliography

About Perl. (n.d.). Retrieved from Perl: https://www.perl.org/about.html

Farrell, D. (2017, May 14). on Sigils. Retrieved from Perl.com: https://www.perl.com/article/on-


sigils/

History of Perl. (n.d.). Retrieved from Span: http://yapc.tv/history-of-perl/

Perl. (n.d.). Retrieved from StudyLib: https://studylib.net/doc/9071816/perl

Veselosky, V. (2008, 07 07). Perl Readability Expressiveness and Concision. Retrieved from Webquills:
https://www.webquills.net/web-development/perl/perl-readability-
expressivenes.html#perl-readability-expressiveness-and-concision

You might also like