C# (Programming Language)
What is C#?
C# (pronounced "see sharp") is a general-purpose, object oriented, multi-paradigm programming language designed at Microsoft by Anders Hejlsberg (previously of Turbo Pascal and Delphi fame).
The C# language draws on the strengths of the major languages preceding it, rolling in the best perceived strengths from C, C++, Pascal, Delphi and Java (amongst others), to make a formidable programming language that is one of the most prevalent enterprise development languages today.
C# is now an open-source language, and is the predominant language used to build applications that run in the Microsoft .NET Framework and .NET Core eco-systems.
C# and your business
Choosing which language and platform you use to build your business systems is a highly-involved decision. You want something that will be flexible, extensible, and need confidence that there will be support and resources available for it well into the future.
C# is an excellent language on all these counts. It is widely used throughout the world to develop applications; there is an extensive pool of C# programmers; and a vast selection of available libraries.
C# implementations have inherent attributes that assist with most of the problem spaces developers encounter, in terms of scalability, supportability, flexibility and extensibility and we find it extremely malleable to adapt to the size and functionality of the vast majority of projects.
All of these attributes mean that C# is a compelling option to use in your business systems.
- C# is one of the most popular languages for good reason, it is versatile and is capable of creating full scale web-applications
- Components can be reused and adapted for different uses
- Vast array of libraries supplied by a huge community, including Microsoft itself
- C# uses the .NET runtime stack which is widely supported and maintained
- As a hugely popular language, there is also immense community support behind it.
What does it mean for us?
At Canary, C# is typically our first choice for enterprise projects, application backends, infrastructure services and medium to larger target server applications. It especially shines where:
- Solutions requirements lean towards target environments supported by .NET Core or .NET Framework
- We expect a larger or distributed development team
- We wish to leverage libraries, integrations or processes for which there is solid C# support