Results 1 to 20 of 20

Thread: minCe - a minified C style language (RFC)

  1. #1

    Thread Starter
    PowerPoster
    Join Date
    Jul 2002
    Location
    Dublin, Ireland
    Posts
    2,148

    minCe - a minified C style language (RFC)

    Introduction

    minCe significantly reduces the disk, desk and brain space required for code repositories and version control systems that C and related programming languages require.

    Background

    Like most developers, I was taught at college that the power of C and its descendent languages derives from its terse compact syntax. However, when I was looking at some source files recently I made a somewhat startling discovery - the files were saved as Unicode!

    This makes sense, of course, because any string constants in these files need to be able to store all of the human languages so need to use all the possible characters. However the language specification itself does not use anything except standard ASCII which is hugely wasteful.

    What follows is a proposal to use some of these Unicode characters in place of C or C++ keywords to reduce the file size without sacrificing any of the inherent readability of those languages.

    null (or nothing shall come of nothing)

    The keyword null is used extensively by developers when they need to avoid the ignominity of trying to do something with nothing.

    The proposal is to replace the keyword null with the character ʘ( U+0298)

    assignment is not equality

    One of the biggest problems in computing is the difference between assignment and equality. How to tell whether a line of code is meant to compare or assign a value is something that no programming language has solved and C's elegant == equality indicator is still an extra character. Fortunately there are other symbols in the unicode table that can resolve this ambiguity - I propose using the characters ͇̿ (U+0347 and U+033F) to stack the two equals on top of each other (I realise this won't save any actual memory but the screen space saving could equate to enough money saved to provide a lollipop to every child in a small town like Gainsborough)

    public or private

    Access modifiers are another very common keyword. Fortunately the forward thinking of the creators of the Cyrillic alphabet (who were both called Cyril, it transpires) have plenty of spare characters we can use in their place. I'd suggest Ѿ (U+047E) for private and Ҝ (U+094C)

    Consultation

    Nothing in language is set in stone (with the possible exception of the Rosetta stone, cuniform, in fact quiet a lot.) so this is where your opinion counts. Please leave suggestions for minifications below...

  2. #2
    type Woss is new Grumpy; wossname's Avatar
    Join Date
    Aug 2002
    Location
    #!/bin/bash
    Posts
    5,682

    Re: minCe - a minified C style language (RFC)

    I suspect that GCC's support of trigraphs could be extended to use the interrobang () instead of the rather wasteful "if". That's a 50% saving right there.

    Compression based tabulation of numeric literals has already been found wanting by some eastern European researchers and specifically multiples (or powers) of ten have been classified as decadent.
    I don't live here any more.

  3. #3

    Thread Starter
    PowerPoster
    Join Date
    Jul 2002
    Location
    Dublin, Ireland
    Posts
    2,148

    Re: minCe - a minified C style language (RFC)

    Yes - agreed. I'm also troubled by imports, because that great big keyword looks out of place when you consider : can mean both inherits and implements. (U+20AA) seems like a good option - or maybe (U+2563).

    break and return can both be replaced with (U+2302) - although technically the symbol for a house it can also mean "home" which can be both returned to and broken?

  4. #4
    Angel of Code Niya's Avatar
    Join Date
    Nov 2011
    Posts
    8,600

    Re: minCe - a minified C style language (RFC)

    lol can you imagine what a C program would look like when written with those proposed changes ? It would be like reading Chinese!
    Treeview with NodeAdded/NodesRemoved events | BlinkLabel control | Calculate Permutations | Object Enums | ComboBox with centered items | .Net Internals article(not mine) | Wizard Control | Understanding Multi-Threading | Simple file compression | Demon Arena

    Copy/move files using Windows Shell | I'm not wanted

    C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter

    There's just no reason to use garbage like InputBox. - jmcilhinney

    The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber

  5. #5

    Thread Starter
    PowerPoster
    Join Date
    Jul 2002
    Location
    Dublin, Ireland
    Posts
    2,148

    Re: minCe - a minified C style language (RFC)

    Code:
    ₪ System;
    ₪ System.Collections.Generic;
    
        Ҝclass MasterDB
        {
             Ҝ string Effective()
                {
                    ‽ Database  ͇̿  ʘ
                   {
                      ⌂ DateTime.Now.ToString();
                    }
                }
        }
    hmm - we still have a long way to go.

  6. #6
    Angel of Code Niya's Avatar
    Join Date
    Nov 2011
    Posts
    8,600

    Re: minCe - a minified C style language (RFC)

    Oh God, that is cryptic.
    Treeview with NodeAdded/NodesRemoved events | BlinkLabel control | Calculate Permutations | Object Enums | ComboBox with centered items | .Net Internals article(not mine) | Wizard Control | Understanding Multi-Threading | Simple file compression | Demon Arena

    Copy/move files using Windows Shell | I'm not wanted

    C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter

    There's just no reason to use garbage like InputBox. - jmcilhinney

    The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber

  7. #7

    Thread Starter
    PowerPoster
    Join Date
    Jul 2002
    Location
    Dublin, Ireland
    Posts
    2,148

    Re: minCe - a minified C style language (RFC)

    Getting closer....

    Code:
    ₪ System;
    ₪ System.Collections.Generic;
    
        Ҝ Ὣ MasterDB
        {
             Ҝ $ Effective()
                {
                    ‽ Database  ͇̿  ʘ
                   {
                      ⌂ DateTime.Now.ᵟ$();
                    }
                }
        }

  8. #8
    Super Moderator FunkyDexter's Avatar
    Join Date
    Apr 2005
    Location
    An obscure body in the SK system. The inhabitants call it Earth
    Posts
    7,902

    Re: minCe - a minified C style language (RFC)

    I'm not sure I'd want to program in it but I aplaud the effort.

    I will say that the character you've selected for Class looks like someone mooning me.
    The best argument against democracy is a five minute conversation with the average voter - Winston Churchill

    Hadoop actually sounds more like the way they greet each other in Yorkshire - Inferrd

  9. #9

    Thread Starter
    PowerPoster
    Join Date
    Jul 2002
    Location
    Dublin, Ireland
    Posts
    2,148

    Re: minCe - a minified C style language (RFC)

    Yeah - it will be considered when the RFC re-opens in 364 days time

  10. #10
    Angel of Code Niya's Avatar
    Join Date
    Nov 2011
    Posts
    8,600

    Re: minCe - a minified C style language (RFC)

    What a terse language that will turn out to be.
    Treeview with NodeAdded/NodesRemoved events | BlinkLabel control | Calculate Permutations | Object Enums | ComboBox with centered items | .Net Internals article(not mine) | Wizard Control | Understanding Multi-Threading | Simple file compression | Demon Arena

    Copy/move files using Windows Shell | I'm not wanted

    C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter

    There's just no reason to use garbage like InputBox. - jmcilhinney

    The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber

  11. #11
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: minCe - a minified C style language (RFC)

    You could also create a new IDE for this language. Maybe call it pranCe.

  12. #12
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: minCe - a minified C style language (RFC)

    Add a lint for it called sTep and a linker called kiCk.

    Then you can "pranCe and sTep and minCe and kicK" to your heart's content!

  13. #13
    Angel of Code Niya's Avatar
    Join Date
    Nov 2011
    Posts
    8,600

    Re: minCe - a minified C style language (RFC)

    Quote Originally Posted by dilettante View Post
    Add a lint for it called sTep and a linker called kiCk.

    Then you can "pranCe and sTep and minCe and kicK" to your heart's content!
    Is that you Shaggy ? How did you get dilettante's password ?
    Treeview with NodeAdded/NodesRemoved events | BlinkLabel control | Calculate Permutations | Object Enums | ComboBox with centered items | .Net Internals article(not mine) | Wizard Control | Understanding Multi-Threading | Simple file compression | Demon Arena

    Copy/move files using Windows Shell | I'm not wanted

    C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter

    There's just no reason to use garbage like InputBox. - jmcilhinney

    The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber

  14. #14

    Thread Starter
    PowerPoster
    Join Date
    Jul 2002
    Location
    Dublin, Ireland
    Posts
    2,148

    Re: minCe - a minified C style language (RFC)

    If this is successful the mobile platform variant would be called quince.
    In fairness it is still a good bit more readable than Objective-C.

    (oh yes - that's an idea for next year - "subject oriented programming")

  15. #15
    Super Moderator FunkyDexter's Avatar
    Join Date
    Apr 2005
    Location
    An obscure body in the SK system. The inhabitants call it Earth
    Posts
    7,902

    Re: minCe - a minified C style language (RFC)

    I'm lolling. Just so you know.
    The best argument against democracy is a five minute conversation with the average voter - Winston Churchill

    Hadoop actually sounds more like the way they greet each other in Yorkshire - Inferrd

  16. #16
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    39,038

    Re: minCe - a minified C style language (RFC)

    I doubt you'd want to use something like this for your everyday language. This seems much more suitable for use in dlls and such class libraries. You'd write your UI in some language that is more verbose and readable, while reserving minCe for the meat of the matter. It would be ideal for middle-tier code, but not ideal for either SQL (less tolerant lower layer), or UI (more verbose upper layer). In other words, with this language you wouldn't so much be doing three-tier programming is making something of a minCE meat pie.
    My usual boring signature: Nothing

  17. #17
    type Woss is new Grumpy; wossname's Avatar
    Join Date
    Aug 2002
    Location
    #!/bin/bash
    Posts
    5,682

    Re: minCe - a minified C style language (RFC)

    Your avatar looks like a pineapple.
    I don't live here any more.

  18. #18
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    39,038

    Re: minCe - a minified C style language (RFC)

    Yours looks like a cat wearing rose colored glasses.

    I don't remember what brought about the addition of glasses to avatars, though I do seem to remember that it was some chit-chat thread.
    My usual boring signature: Nothing

  19. #19

    Thread Starter
    PowerPoster
    Join Date
    Jul 2002
    Location
    Dublin, Ireland
    Posts
    2,148

    Re: minCe - a minified C style language (RFC)

    As of midnight tonight I shall be ready to release the IoT implementation of this language - it shall be known as minCe PI.

  20. #20
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    39,038

    Re: minCe - a minified C style language (RFC)

    I assume that minCE PI will work with Raspberry PI...though, quite frankly, that doesn't sound like a great combination.

    Good name, though.
    My usual boring signature: Nothing

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width