CSC 132, Group 6 (C Sharp) - 103522

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

GROUP 6

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.

C# as a programming language can’t be completed without discussing the .NET Framework.

What is .NET framework?


The .NET Framework is a development platform for building apps for web, Windows,
Windows Phone, Windows Server, and Microsoft Azure. The .NET Framework is a managed
execution environment for Windows that provides a variety of services to its running apps. It
consists of two major components: The Common Language Runtime (CLR), which is the
execution engine that handles running apps, and the .NET Framework Class Library, which
provides a library of tested, reusable code that developers can call from their own apps. The
services that the .NET Framework provides to running apps include the following:
1. Memory management: In .NET Framework apps, the CLR allocates and releases memory
and for handling object lifetimes on behalf of the app.
2. A common type system: In the .NET Framework, basic types are defined by the .NET
Framework type system and are common to all languages that target the .NET Framework.
3. An extensive class library: Instead of having to write vast amounts of code to handle
common low-level programming operations, programmers use a readily accessible library of
types and their members from the .NET Framework Class Library.
4. Development frameworks and technologies: The .NET Framework includes libraries for
specific areas of app development, such as ASP.NET for web apps, ADO.NET for data 3
access, Windows Communication Foundation for service-oriented apps, and Windows
Presentation Foundation for Windows desktop apps.
5. Language interoperability: Language compilers that target the .NET Framework emit an
intermediate code named Common Intermediate Language (CIL), which, in turn, is compiled
at runtime by the common language runtime. With this feature, routines written in one
language are accessible to other languages, and programmers focus on creating apps in their
preferred languages.
6. Version compatibility: With rare exceptions, apps that are developed by using a particular
version of the .NET Framework run without modification on a later version.
7. Side-by-side execution: The .NET Framework helps resolve version conflicts by allowing
multiple versions of the common language runtime to exist on the same computer and an app
can run on the version of the .NET Framework with which it was built.
8. Multi-targeting: By targeting .NET Standard, developers create class libraries that work on
multiple .NET Framework platforms supported by that version of the standard.

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

Windows client applications, XML Web services, distributed components, client-server

applications, database applications, etc.

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

and iterators that are simple to use by client code.

C# supports the object-oriented programming concepts of encapsulation, inheritance, and

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.

In addition to these basic object-oriented principles, it has several innovative language

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:

Early Development and Origins

 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.

Key Features and Design Goals

 C# was designed to be a simple, modern, general-purpose, object-oriented language.


 It aimed to combine the computing power of C++ with the programming ease of Visual Basic.
 The language introduced several advanced features such as properties, events, delegates, and
lambda expressions.
 It was created to be a part of the .NET ecosystem, ensuring seamless integration with
other .NET languages like Visual Basic .NET.

Major Versions and Updates

 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.

Influence and Impact

 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.

Community and Ecosystem

 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# continues to evolve with a focus on developer productivity, performance, and modern


programming paradigms.
 Microsoft's commitment to the language ensures its continued relevance and adoption across
various domains, including cloud computing, AI, and cross-platform development.

C#'s history reflects its role as a cornerstone of Microsoft's development strategy, continually
adapting to the changing landscape of software development.

C# (pronounced "C-sharp") is a modern, object-oriented programming language developed by


Microsoft. It is designed to be simple, powerful, type-safe, and flexible. As a language, C# combines
the power and performance of C++ with the ease of use and rapid development capabilities of Visual
Basic. Here's an introduction to C#:

Key Characteristics

 Object-Oriented: C# is fundamentally object-oriented, which means it focuses on creating


objects that contain both data and methods. This approach facilitates code reuse and
modularization, making software development more manageable and scalable.
 Type-Safe: Type safety in C# ensures that code cannot perform operations on incompatible
types. This prevents common programming errors, enhances reliability, and improves security.
 Component-Oriented: C# is designed to support the development of software components,
which can be independently developed and assembled to create complex applications. This is
especially useful in enterprise environments.
 Managed Code: C# runs on the .NET runtime, which provides services like garbage
collection, exception handling, and resource management. This managed environment helps in
creating robust and efficient applications.
 Platform-Independent: Originally tied to Windows, C# has become cross-platform
through .NET Core and the unified .NET platform, enabling development on Windows, macOS,
Linux, and other platforms.

HISTORY OF C#

C# pronounced as C-Sharp is a general –purpose high level programming language supporting


multiple paradigms. The C# programming language was designed by Anders Hejlsberg from
Microsoft in 2000 and was later approved as an international standard by Ecma (ECMA-334) in 2002
and ISO/IEC (ISO/IEC 23270 and 20619) in 2003.
Microsoft introduced C# along with .NET Framework and Visual studio, both of which were closed
source. At the time, Microsoft had no open-source products. Four years later, in 2004, a free and
opensource project called Mono began, providing a cross-platform compiler and runtime
environment for the C# programming language.
A decade later, Microsoft released Visual studio code (code editor), Roslyn (compiler), and the unified
.NET platform (software framework), all of which support C# and are free, open-source, and cross
platform. Mono also joined Microsoft but was not merged into .NET.
HISTORY
During the development of .NET Framework (a proprietary software framework developed by
Microsoft that runs primarily on Microsoft windows), the class libraries were originally written using
a managed code compiler system named simple Managed C (SMC). In January 1999, Andres
Hejlsberg formed a team to build a new language at the time called COOL, which stood for “C-like
object oriented language”.
Microsoft had considered keeping the name COOL as the final name of the language, but chose not to
do so for trademark reasons. By the time the .NET project was publicly announced at the july 2000
professional developers conference, the language had been renamed C#, and the class libraries and
ASP.NET runtime had been ported to C#.
Hejlsberg is C# principal designer and the lead architect at Microsoft, and was previously involved
with the design of turbo pascal, embarcadero Delphi ( formerly Codegear Delphi, inprise Delphi and
Borland Delphi) and visual j++.
In interviews and technical papers, he has stated that flaws in most major programming languages
(e.g C++, java Delphi, and Smalltalk) drove the fundamentals of the common language runtime
(CLR), which in turn drove the design of C# language.
James gosling, who created the java programming language in 1994, and Bill joy, a co-founder of Sun
Microsystems, the originator of Java, called C# an "imitation" of Java; Gosling further said that "C# is
sort of Java with reliability, productivity and security deleted." In July 2000, Hejlsberg said that C# is
"not a Java clone" and is "much closer to C++" in its design.
Since the release of C# 2.0 in November 2005, the C# and Java languages have evolved on
increasingly divergent trajectories, becoming two quite different languages. One of the first major
departures came with the addition of generics to both languages, with vastly different
implementations. C# makes use of reification to provide "first-class" generic objects that can be used
like any other class, with code generation performed at class-load time.Furthermore, C# has added
several major features to accommodate functional-style programming, culminating in the LINQ
extensions released with C# 3.0 and its supporting framework of lambda expressions, extension
methods, and anonymous types. These features enable C# programmers to use functional
programming techniques, such as closures, when it is advantageous to their application.
The LINQ extensions and the functional imports help developers reduce the amount of boilerplate
code that is included in common tasks like querying a database, parsing an xml file, or searching
through a data structure, shifting the emphasis onto the actual program logic to help improve
readability and maintainability.
C# used to have a mascot called Andy (named after Anders Hejlsberg). It was retired on January 29,
2004. C# was originally submitted to the ISO/IEC JTC 1 subcommittee SC 22 for review,under
ISO/IEC 23270:2003, was withdrawn and was then approved under ISO/IEC 23270:2006. The
23270:2006 is withdrawn under 23270:2018 and approved with this version.

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.

A MODERN PROGRAMMING LANGUAGE


C Sharp(C#) programming is Used For building scalable and Interoperable applications with Support
for modern features like automatic garbage Collection, error handling, debugging, and robust
security. It has built in Support For a web Service to be Invoked From any app running on any
platform.

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.

STRUCTURED PROGRAMMING LANGUAGE


The Structured design and modularization in C Sharp(c#) break a problem into parts, Using
Functions for easy implementation to solve Significant problems.

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.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy