Skip to content

DavidObando/gsharp

Repository files navigation

GSharp

GSharp Programming Language. A modern, simple, and accessible programming language for .NET.

Build Status

Motivation 1: Accessibility

I want to enable other developers to benefit from the .NET framework without necessarily having to learn C#. In particular, I want to ensure new developers and developers who find C#'s learning curve a bit steep to be able to use .NET. I want VB.NET developers and Python developers to find a language that speaks to them as well. I want non-English speakers to have access to powerful libraries and technologies in .NET. In short, I want simplicity and productivity at the hand of everyone.

Motivation 2: Simplicity

I want a simple, concise, productive programming language targetting .NET based on the good lessons learned from Go, Kotlin, as well as other programming languages. Modern languages such as Go give the user a simple approach to programming while also providing powerful foundations to deliver applications in all forms and factors.

Here's a few relevant links to bring this point home:

Go is also finding its way into unexpected places with projects such as TinyGo https://tinygo.org/.

Kotlin, on the other hand, is gaining popularity as a language targetting the JVM in replacement of Java. Kotlin provides a more elegant and smaller language to efficiently write code that runs on the JVM and is interoperable with Java language code. This allows developers to not have to use the Java language while still leveraging the power of the JVM and the large body of libraries available.

GSharp is born with a similar mindset to Kotlin and with a similar philosophy to Go. GSharp is intended to start small, slowly lighting up application development features such as consuming libraries written in C#, while keeping the language simple.

Go developers?

Note that I'm not thinking about attracting current Go developers necessarily. I am a Go developer myself and I will continue using Go where it's appropriate. GSharp doesn't intend to take developers away from Go, although Go skills should be transferable to GSharp development: grammar, channels, goroutines, etc.

Contributing

Contributions to this project are welcome. Before you submit a pull request, open an issue to discuss your idea, the problem it solves, the desired implementation and after that a PR can be considered. This should expedite the PR acceptance process.

Name

The GSharp language takes its name from CSharp and Go, reflecting its roots and target (.NET). If there are any trademark issues with calling it that way I'm happy to also call it AFlat.

I also wouldn't mind calling it Festivus (a programming language for the restofus).

Other interesting links

ab0678fa-3a72-487d-8eae-7cdec82efedf

About

GSharp Programming Language

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published