Ć Programming Language - Compile C# subset to C, Java, C#, JS, AS, Perl and D
monarch_dodra
monarchdodra at gmail.com
Mon Jun 17 23:56:57 PDT 2013
On Tuesday, 18 June 2013 at 02:17:19 UTC, Andrej Mitrovic wrote:
> On 6/18/13, monarch_dodra <monarchdodra at gmail.com> wrote:
>> On Monday, 17 June 2013 at 21:33:20 UTC, Walter Bright wrote:
>>> I tried it on a machine I never use google on, and I got the
>>> same autocomplete results.
>>
>> So anybody want to talk about the language?
>
> I don't see much point in the language. If you limit yourself
> to a
> minimalistic language in order for your library to be
> translatable,
> how will the API look like in the target languages? It won't
> use any
> language-specific features that make APIs easy to uses (for
> example it
> likely won't provide any range functionality or templates in
> D..).
>
> You might as well use C, or C++ with some extern "C" API
> functions.
> Then you can write a stable API, have full optimizations, and
> can even
> distribute the built binaries for some platforms (and you build
> once
> per platform, instead of N*platforms * N*languages). Most
> languages
> can interface with C too.
One of the problems (which is always a pain), is to link the
actual C code, which is always a task in itself. Also, as the
authors presented it, it can also work for "deployable
languages", such a javascript, which wouldn't work with C.
It's true the language only has access to the lowest common
denominator of features.
I hadn't thought about "API stability": indeed, looking through
the examples, each language has its own variants in the
translation: EG the casing between C# and Java:
http://cito.sourceforge.net/hello.html
It also seems to be trying to target both GC and non GC
languages, which appears to make a mess of things... For example
it currently doesn't allow string concatenation.
Also, for classes: "new C() allocates new instance of class C and
returns a pointer to it. If you target the C programming
language, delete the allocated object some time later." Ouch.
More information about the Digitalmars-d
mailing list