Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 3

WEBGLIBRARY

Abhijeet Shastri, Abhirang Sharma, Bhupendera Singh Shekhawat


abhijeetshastri000@gmail.com, hbret82@gmail.com, bhupendrasinghshekhawat284@gmail.com

Abstract (100 Words Approx.)


Every programmer needs to be able to create generic libraries, but many times creating them
over and over can be tedious and time consuming. That is why we decided to create a website
where we will upload them for the benefit of the users of our website to directly use them in their
projects or learn to create it themselves if they are beginner programmers. Our website will also
give beginner programmers a brief explanation of the libraries they will get access to beforehand
while veteran ones can directly use them for their projects. Our website will help beginner
programmers in understanding the libraries and promote self-learning while also giving
flexibility all types of programmers in writing their code and help in saving time too.
1. Introduction
Generic programming is a style of computer programming in which algorithms are written in
terms of types to-be-specified-later that are then instantiated when needed for specific types
provided as parameters.
Every skilled programmer needs to be able to create libraries pertaining to this topic, but many
times creating these libraries over and over again can be tedious. For example: Stack, queue,
Singly Linked List etc. (different types of data structures) in generic forms.
With that in mind we will upload these libraries to a website/server created for the benefit of
veteran programmers who will find these libraries helpful to use them directly in their code as
well as beginner programmers who will be able to get access to use these in their own code
directly thereby making it easier for them to learn(Although beginner programmers will be given
proper warning beforehand that these libraries are for them to learn through and not a shortcut
for them to use considering they need to be able to create/replicate the libraries on their own and
not depend on ours to do the necessary work for them).
Now, there are two ways of achieving this:
a) Use your own compiler on a local network (this method allows you to store the libraries
on your own personal computer).
b) Use an online compiler to store and use the libraries from the compiler’s website you got
the compiler from.
Our library results from the idea to create a generic library of reusable algorithms. For our
website we will focus on providing generic libraries for C and C++.

2. Problem Domain
As we all know even the simplest of programs (that are created for testing or commercial
purposes) that require handling lists, queues, stacks etc. types of data require us to write multiple
lines of code. Many a times the code for handling these types of data tends to be tedious to write
and even takes too much time to write it up. Time that could be better spent thinking, managing
and writing the code for the more important parts of the code of the program.
Not to mention a beginner programmer might not even be that familiar with these concepts or in
some situations not even know about them. In such situations they wouldn’t be able to do
anything to further their projects. Basically, progress on the project/program would be at a
standstill unless they are replaced by a better programmer OR until they learn how to handle this
type of data themselves.

3. Solution Domain
To overcome the issues written about earlier, a good solution would be to write up the code in
advance, but then the problem that arises is who would write up the code, even for example if the
code is found online, it would still be found in parts/fragments only and the programmer would
have to go on multiple websites to get what they want.
That’s where our website ‘WebGLibrary’ comes in. This website created by us will provide the
different fragments/parts of the code that are necessary to create the projects of other
programmers. On the front page of the website, programmers will be given two options: one for
veteran programmers and the other for beginner programmers.
The option for veteran programmers will directly send the user to the list of libraries from where
they can choose and see the code and its output.
While the option for beginner programmers will give the user ample amount of warning that
though they are getting to see the code and its output, they should still be able to produce both on
their own and that in their case the website is there to help them to learn the code as a self-
learning tool, and not a substitute for them to use if and when they need these libraries to create
their own projects. After that they would be sent to the same page the veteran programmers are
sent to see the list of libraries. Although in their case, the website would even give a brief
explanation as to what the library they are getting access to is and how it works as an extra page
before they get to see and try out the code.
Finally, both types of users will be sent to the same page where their chosen library will be
shown.
4. System Domain
a) Language:
i) C: C is a general-purpose, procedural computer programming language
supporting structured programming, lexical variable scope, and recursion, with a
static type system. By design, C provides constructs that map efficiently to typical
machine instructions.
ii) C++: C++ is a powerful general-purpose programming language. It can be
used to develop operating systems, browsers, games, and so on. C++ supports
different ways of programming like procedural, object-oriented, functional, and so
on. This makes C++ powerful as well as flexible.
b) HTML: The Hyper Text Markup Language, or HTML is the standard markup language
for documents designed to be displayed in a web browser. It can be assisted by
technologies such as Cascading Style Sheets and scripting languages such as JavaScript.
c) CSS: Cascading Style Sheets is a style sheet language used for describing the
presentation of a document written in a markup language such as HTML. CSS is a
cornerstone technology of the World Wide Web, alongside HTML and JavaScript.
5. Application Domain
As far as practical applicability is concerned, this project of ours will basically help programmers
both new and veteran ones to focus on their own projects (by reducing time spent on creating
libraries necessary for the innerworkings of their projects) and learn how to create the generic
libraries they don’t know about. On top of that it also serves as a display to show how the
libraries work separately for testing or exhibition purposes.
This website will also provide short descriptions of the libraries that are added, to give the user a
little bit of understanding of what they are about to use.

6. Expected Outcome
Through our idea of integrating generic libraries with our website we hope to:
a) Help beginner programmers get a better understanding of what they are supposed to
create when they are tasked to make these libraries and when and how to use them.
b) Give flexibility in programming by providing the extra steps (libraries that take extra
time that could be used to work on the more important parts of the code) and ease of
access in terms of getting the libraries from the website instead of finding multiple
websites just to find parts of these libraries or wasting time creating them.
c) Promote reusability of code by making footnotes in the code of the libraries to help the
user avoid creating duplicates
d) Help in promoting self learning.

Name of Guide: Prof. ………………………..


Sign of Guide with Date: ……………………..

You might also like