CSC 132, Group 6 (C Sharp) - 103522
CSC 132, Group 6 (C Sharp) - 103522
CSC 132, Group 6 (C Sharp) - 103522
Names Of Participants
1. Soyinka Muhaymin Akanji 230251030
2. Henry Oghenekeno Richard 230251038
3. Giwa Lateef Akanni 230251021
4. Ugwu Emmanuel Ikechukwu 230251078
5. Kunde Victor Ebiokpor 230251062
6. Akobundu Onyinyechukwu Esther 230251003
7. Essang Samuel Edet 230251019
8. John Goodness Enejo 230251008
9. Okpere Divine Ekene 230251044
10.
C SHARP (C#)
C# (pronounced as “C-Sharp”) is a modern object-oriented programming language
developed by Microsoft. It was designed to be simple, robust and flexible, allowing developers to build
a wide range of applications, from desktop to web and mobile applications.
INTRODUCTION TO C#
C# is an elegant and type-safe object-oriented language that enables developers to build a variety
of secure and robust applications that run on the .NET Framework. You can use C# to create
The syntax of C# is 70% Java, 10 % C++, 5% Visual Basic, 15% new. C# provides powerful
features such as nullable value types, enumerations, delegates, lambda expressions and direct
memory access. C# supports generic methods and types, collection classes having enumerators
polymorphism. All variables and methods are encapsulated within class definitions. A class may
inherit directly from one parent class, but it may implement any number of interfaces. It supports
method overloading and method overriding. In C#, a struct is like a lightweight class; it is a
stack-allocated type that can implement interfaces but does not support inheritance.
constructs, including the following: Encapsulated method signatures called delegates, which
enable type-safe event notifications. Properties, which serve as accessors for private member
Variables. Attributes, which provide declarative meta data about types at run time. Language
Integrated Query (LINQ) which provides built-in query capabilities across a variety of data
sources.
C# (C-sharp) is a modern, object-oriented programming language developed by Microsoft. Here's a
brief history of its development:
1999: The development of C# began at Microsoft by a team led by Anders Hejlsberg, a notable
software engineer who previously worked on Turbo Pascal and Delphi.
2000: C# was first introduced to the public during Microsoft's Professional Developers
Conference. It was designed to be part of the .NET initiative, aiming to provide a language for
developing a wide range of applications that could run on the .NET Framework.
C# 1.0 (2002): The first version was released alongside .NET Framework 1.0. It introduced
fundamental features like classes, interfaces, and arrays.
C# 2.0 (2005): Introduced generics, anonymous methods, nullable types, and iterators. This
version was part of .NET Framework 2.0.
C# 3.0 (2007): Brought significant enhancements with Language Integrated Query (LINQ),
lambda expressions, extension methods, and automatic properties.
C# 4.0 (2010): Added dynamic programming capabilities, named and optional arguments,
and improved COM interoperability.
C# 5.0 (2012): Focused on asynchronous programming with the introduction of the async
and await keywords.
C# 6.0 (2015): Improved the language with features like auto-property initializers,
expression-bodied members, and null-conditional operators.
C# 7.0 (2017): Added tuples, local functions, pattern matching, and more.
C# 8.0 (2019): Introduced nullable reference types, asynchronous streams, and indices and
ranges.
C# 9.0 (2020): Brought records, improved pattern matching, and init-only properties.
C# 10.0 (2021): Focused on improving simplicity and performance with features like global
using directives, file-scoped namespaces, and record structs.
C# 11.0 (2022): Further enhancements and new features like required members and generic
attributes.
C# has become one of the most widely used programming languages in the world, especially for
enterprise applications.
It has a strong presence in developing Windows applications, web applications (via ASP.NET),
game development (with Unity), and cloud services (with Azure).
The language's evolution is closely tied to the development of the .NET ecosystem, which has
expanded from .NET Framework to .NET Core, and eventually to the unified .NET platform.
C# has a large and active developer community, with extensive documentation, forums, and
open-source projects.
The language's development is guided by the .NET Foundation, which oversees the direction
and open-source contributions to the .NET ecosystem.
Future Prospects
C#'s history reflects its role as a cornerstone of Microsoft's development strategy, continually
adapting to the changing landscape of software development.
Key Characteristics
HISTORY OF C#
NAME
Microsoft first used the name C# in 1988 for a variant of the C language designed for incremental
compilation. That project was not completed, and the name was later reused.
The name “C-Sharp” was inspired by the musical notation whereby a sharp symbol indicated that the
written note should be made a semitone higher in pitch. This is similar to the language name of C++,
where "++" indicates that a variable should be incremented by 1 after being evaluated. The sharp
symbol also resembles a ligature of four "+" symbols (in a two-by-two grid), further implying that the
language is an increment of C++.
Due to technical limits of display (standard fonts, browsers, etc.), and most keyboard layouts lacking a
sharp symbol (U+266F ♯ MUSIC SHARP SIGN (&sharp ;)), the number sign (U+0023 # NUMBER
SIGN (#)) was chosen to approximate the sharp symbol in the written name of the programming
language. This convention is reflected in the ECMA-334 C# Language Specification.
The "sharp" suffix has been used by a number of other .NET languages that are variants of existing
languages, including J# (a .NET language also designed by Microsoft that is derived from
Java1.1), A# (from Ada), and the functional programming language F#. The original implementation
of Eiffel for .NET was called Eiffel#, a name retired since the full Eiffel language is now supported.
The suffix has also been used for libraries, such as Gtk# (a .NET wrapper for GTK and other GNOME
libraries) and Cocoa# (a wrapper for Cocoa).
FEATURES OF C Sharp(c#)
The C Sharp (c#) programming language has many features that makes it more useful
and Unique when compared to other Languages, including:
Object-oriented language.
Simplicity.
Speed
Modern programming Language.
Type-Safe.
Interoperability.
Consistency.
Updateable.
Component Oriented
Rich Library.
Structured Programming
Language
OBJECT ORIENTED LANGUAGE
Being object oriented, C Sharp (C#) allows the Creation of modular applications and reusable Codes,
an advantage over C++. As an object-oriented language, C Sharp (C#) makes
development and maintenance easier when the project size grows. It supports all three object-
oriented features: data encapsulation, inheritance, Interfaces, and polymorphism.
SIMPLICITY
C Sharp (C#)is a Simple language with a Structured approach to problem-solving. Unsafe operations,
like direct memory manipulation, are not allowed.
SPEED
The Compilation and execution time in C Sharp(C#) is very powerful and fast.
TYPE SAFE
Arrays and objects are zero bases Indexed and bound checking. There is an automatic checking of the
overflow of types. The C Sharp (C#) type safety instances support robust programming.
INTEROPERABILITY
Language Interoperability of C Sharp (C#) maximizes Code reuse for the efficiency of the
development process. C Sharp(C#) Programs Can work Upon almost anything as a program can call
out any native API (Application programming Interface).
CONSISTENCY
Its unified type system enables developers to extend the type system simply and easily for consistent
behaviour.
UPDATEABLE
C Sharp (C#) is automatically updateable. It's versioning Support enables Complex frame works to be
developed and evolved.
COMPONENT ORIENTED
C Sharp(C#)Supports Component- oriented programming through the Concepts of properties,
methods, events and attributes for self-contained and self-describing Components
of functionality for robust and scalable applications.
RICH LIBRARY
C Sharp (c#) has a standard Library with many Inbuilt functions for easy and fast development.
ADVANTAGES of C SHARP(C#)
Being an object oriented language, C Sharp (C#) allows you to:
Create modular,maintainable applications and reusable codes.
Familiar Syntax.
Easy to develop as it has a rich class of libraries for smooth implemention of functions.
Useful as it Can develop ios, Andriod, and Windows phone native apps with the Xamarin
Framework.
C Sharp (C#) is the most powerful programming language for the .NET Framework.
Strong memory backup prevents memory leakage.
As your machine has to install the .NET Framework to run C Sharp (C#), It Supports Cross-
platform.
It's safe, with no data loss as there is no type conversion so that you can write secure Codes
Enhanced Integration as an application written in .NET will integrate and interpret better
when compared to other NET technologies.
Fast development as C sharp(C#) is open Source Steered microsoft with access to open projects
and tools on Github and many active communities contributing to the improvement.
APPLICATIONS of C SHARP(C#)
C# is a versatile programming language that has a wide range of applications across various
fields in the tech industry. C# is a general-purpose programming language used to build
different types of programs and applications. While it is exceptionally versatile, there are three
fields where it is commonly applied. From web development to game design, C# is a powerful
tool that can be used to create robust and efficient software solutions. Some of the C# uses that
your developers should be aware of include:
Desktop application development
Web application and service creation
Microsoft application development
Game development
C# can also be used for mobile application development and cloud-based service development.
It is considered a multi-purpose programming language due to its flexibility.
One of the primary applications of C# is in web development. Many popular web frameworks,
such as ASP.NET, are built using C#, making it an essential language for building modern web
applications. C# provides developers with a rich set of tools and libraries for creating dynamic,
interactive websites that can handle complex user interactions and data processing.
Web Application Development
Regardless of the platform, you can still use the C# programming language. You can build
dynamic websites and web apps using the .NET platform or other open-source platforms. In
addition to web development and game design, C# is also used in a variety of other applications,
including desktop software development, mobile app development, and cloud computing. Its
versatility and cross-platform compatibility make it an ideal choice for projects of all sizes and
complexities.
C# is often used to develop professional, dynamic websites on the .NET platform, or open-
source software. So, even if you’re not a fan of the Microsoft architecture, you can still use C# to
create a fully-functional website. Because this language is object-oriented, it is often utilized to
develop websites that are incredibly efficient, easily scalable and a breeze to maintain windows
Applications
C# was created by Microsoft for Microsoft, so it’s easy to see why it’s most popularly used for
the development of Windows desktop applications. C# applications require the Windows .NET
framework in order to function at their best, so the strongest use case for this language is
developing applications and programs that are specific to the architecture of the Microsoft
platform. Microsoft created C# for Microsoft. So, there is no question why it is popular in
building Windows applications. It makes your development process smooth, and functionalities
such as C# garbage collection performs excellently.
Also, developers can count on the community support and documentation of developing
applications and programs that are specific to the Microsoft platform’s architecture.
What apps are made with C#?
Here are a handful of programs and applications written in C# that demonstrate the language’s
diversity and reliability:
Microsoft Visual Studio
Paint.NET
Open Dental
KeePass
Games
C# might just be one of the best programming languages for gaming. This language is heavily
used to create fan-favorite games like Rimworld on the Unity Game Engine.
Just in case you weren’t already aware, Unity is by far the most popular game engine available,
on which more than a third of the industry’s best and most commonly-played games were built.
C# integrates seamlessly with the Unity engine and can be used on virtually any modern mobile
device or console thanks to cross-platform tech like Xamarin. In the gaming world, developers
prefer C# programming language. This language is particularly robust in building fan-favorite
games. Also, the Unity game engine―one of the most popular game engines today―is built
using C++ and C#.Game developers use game engines like Unity to build video games. It has more
than a billion active users. It is also a trusted platform for 1.5 million active users worldwide. These
active users continue to develop award-winning games and AR/VR experiences
The Unity game engine, one of the most popular engines in the industry, uses C# as its primary
scripting language. This allows developers to create high-quality, visually stunning games that
can be deployed on a variety of platforms, from desktop to mobile.
Overall, the application of C# is vast and diverse, making it a valuable skill for any developer
looking to build innovative and cutting-edge software solutions in today's tech-driven world.
Data ScienceC# is increasingly being utilized in data science and machine learning
projects. With libraries like ML.NET, developers can leverage the power of C# for building
predictive models, analyzing data, and extracting insights. Its integration with popular
data processing tools makes C# a valuable asset in the field of data science.
Internet of Things (IoT)C# is also making its mark in IoT development. With frameworks
like Windows IoT Core, developers can create innovative IoT solutions using C# to build
applications for connected devices. The scalability and reliability of C# make it a
preferred choice for developing IoT applications that require seamless connectivity and
data processing capabilities.
Blockchain Technology in the realm of blockchain technology, C# is gaining traction for
developing decentralized applications (DApps) and smart contracts. Platforms like
Stratis enable developers to utilize C# for building blockchain solutions, offering security,
transparency, and efficiency in decentralized systems. The versatility of C# extends to
emerging technologies like blockchain, opening up new opportunities for developers to
explore innovative solutions in this space.
C# integrates seamlessly with the Unity engine. For mobile developers, it can be used virtually
on any modern mobile device or console using cross-platform technology like Xamarin. So, if
you want to break into the game development industry, or join the bandwagon of Virtual Reality,
then you can leverage the programming language’s potential.