How to reach head of C#/.NET development?

Ryan Brown 1 Reputation point
2023-11-12T06:35:58.0866667+00:00

I’m looking to reach the head or the committee in charge of C#.NET development. I have a new language that is based on C# but solves many problems with it such as: fast and small multiple inheritance (yes it is possible), XML integration, SQL-less databases, improved stack/heap functionality, and more.

I have the language specification but I dont have the skills to make it a reality. Please point me in the direction of who to contact.

Community Center Not monitored
{count} votes

3 answers

Sort by: Most helpful
  1. Ryan Brown 1 Reputation point
    2023-11-12T16:56:30.08+00:00

    I do have a spec written up. C# is great but it’ll never have features like I mentioned. People still use C++ for multiple inheritance and this new language would combine the best of both worlds.

    Thank you for the resources though!

    0 comments No comments

  2. Bruce (SqlWork.com) 77,686 Reputation points Volunteer Moderator
    2023-11-13T00:44:47.55+00:00

    developing and championing a new computer language is a hard and expensive project. There is a long list of failed languages.

    Microsoft has a history of failed/retired languages

    • javascript.net
    • vbscript & jscript
    • iron ruby & python
    • several basic languages

    Currently they strongly support

    • c/c++ (though internally seem to have picked rust as a replacement)
    • C#
    • F# (not sure how its strong support is maintained, its not a populat internal language)
    • vb.net (not as well supported as f#, appears to be in maintenance mode)
    • TypeScript

    Common languages they use but do not own a compiler

    • python
    • javascript (v8 engine)
    • rust
    • swift / kotlin

    If you do not have the skill to code your language, then you may not fully understand the implications of your language design decisions.

    Solving the multiple inheritance diamond problem is not easy. Protocols and Traits are the common solution for modern languages. In fact modern coding pushes back at inheritance in general. (google inheritance as an anti-pattern)

    C# declined to implement XML as a native type, which the VB group did. The C# team deemed XML as a possible fad, which given how fast JSON is replacing it, is probably true.

    Language support for databases, has typically doomed a language. see mumps, rbasic, xbasic, etc. Linq to Sql via expression trees is probably the more elegant solution.

    not sure what you mean by improved stack/heap. C# unboxed values are stack, boxed values are heap. the .net runtime uses a heap with a GC, like java, Scala, lisp, etc. the alternative to a GC, is the developer malloc/free (C), RAII (c++), auto reference counting like objective-c/swift, or single owner like rust.

    non gc heaps make make features like closures difficult to write (see swifts weak references) or the joy of closures in rust. with non-gc language at some point the developer has to get involved with object lifetimes especially with lists and trees.

    0 comments No comments

  3. Ryan Brown 1 Reputation point
    2023-11-13T01:27:18+00:00

    I can go through and explain each of those things, I just wanted to talk to someone that can forward me to someone that can make it happen. I have a spec made up of all the features and I can go through how all of it is possible.

    Unless I’m mistaken the diamond problem is behavior that isnt defined which can be solved by defining it (override) in the derived class. Thats not even the big pain of multiple inheritance. The hard part is not doing lookups every time you access members of derived classes. I do that using child pointers that can be accessed directly like a direct inheritance.

    I use a modified XML thats a cross between JSON, XML, and XAML. Personally I prefer the brackets { } to angle brackets < >.

    As far as heap and stack C#+ allows any type to be on the heap or stack. All the pointers are smart so it’s all automatic.

    The general idea is that there’s two (or more) languages, like .NET. One high level like C#+ and one universal object oriented language. C#+ would compile into the universal language. You could easily make your own language that compiles to universal.

    Databases would be able to serialize and understand Universal instead of whatever string format they use now. You could use whatever OO language to work directly on the database.

    I could send anyone the spec if they are interested. I’m just tired of working on it alone and would be willing to hand it off. If you don’t like C# I’d be willing to backburner it and use whatever syntax you want.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.