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...
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.
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?
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!
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.
Re: minCe - a minified C style language (RFC)
Re: minCe - a minified C style language (RFC)
Getting closer....
Code:
₪ System;
₪ System.Collections.Generic;
Ҝ Ὣ MasterDB
{
Ҝ $ Effective()
{
‽ Database ͇̿ ʘ
{
⌂ DateTime.Now.ᵟ$();
}
}
}
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.
Re: minCe - a minified C style language (RFC)
Yeah - it will be considered when the RFC re-opens in 364 days time :D
Re: minCe - a minified C style language (RFC)
What a terse language that will turn out to be.
Re: minCe - a minified C style language (RFC)
You could also create a new IDE for this language. Maybe call it pranCe.
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!
Re: minCe - a minified C style language (RFC)
Quote:
Originally Posted by
dilettante
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 ? ;)
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")
Re: minCe - a minified C style language (RFC)
I'm lolling. Just so you know.
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.
Re: minCe - a minified C style language (RFC)
Your avatar looks like a pineapple.
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.
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.
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.