10 ms·
Ć Programming Language - Compile C# subset to C, Java, C#, JS, AS, Perl and D
- chris_wot 13y agoWhat was the need for this?
- DenisM 13y agoSecond statement from the article: Ć is a new language, aimed at crafting portable programming libraries, with syntax akin to C#
- chris_wot 13y agoThat's the purpose, is there really such a need?
- stephth 13y agoRight. Who would ever want to be able to write libraries that can run on any platform?
- chris_wot 13y agoI'm not saying there isn't a need, but I'm interested in knowing of another need. Hasn't this been done in C already? C pretty much runs anywhere, after all. What exactly does this bring to the table? Sorry that people thought I was being negative (as per all the downvotes - you people really aught to comment), I'm just curious as to why other languages don't fill this gap.
- josephcooney 13y agoIf you have a C# back-end and a web front-end being able to write validations in this, that can run in both places, is one obvious use-case that I can think of.
- ippisl 13y agoC# is nicer than c, and writing bindings for c libraries in other languages is not fun.
- chris_wot 13y agoI would say that I like C++ more than I like C#. C and C# are entirely different beasts.
- ippisl 13y agoI don't think the goal is optimal performance. It think it's popularity and ease of use, and c# is popular, reasonably easy to use, and low level enough to make it possible to translate it easily to many languages.
- DenisM 13y agoTo avoid the downvotes acknowledge that the article already declares the purpose and ask for more details. As it is you come across as not having read it, but opining negatively. To your question - in my case I had a server returning XML/JSON output and on the client side I needed to parse the output and convert it into an object model, collect changes and ship the. Back to the server. That was a lot of boiler-plate code we ended up repeating in java, C#, javascript, and C++. We used C++ version in lieu of Objective C and it was a pain with memory management mismatch.
- deleted 13y ago[deleted]
- gjndrtjh 13y ago>C pretty much runs anywhere, after all. What exactly does this bring to the table? 1. No, C doesn't run everywhere. I can't compile C to Java, C#, JS, AS, Perl and D. Or compile it to any other language (PHP, Objective-C, Pascal, ...) just by writing 500 lines of generator. Look how huge project Emscripten is: 1 537 390 lines according to Ohloh. But JS generator for Ć is only 457 lines. 2. C# is easier than C. You can write Ć in Visual Studio C#, the best, easiest and fastest IDE in the world.
- chris_wot 13y ago1. A compiler translates from a higher level language to a lower level language. 2. I disagree. They have the same level of complexity, C# possibly more if you use advanced concepts. And you can write C in Visual Studio...
- DenisM 13y agoThat's awesome. I remember I spent some time rewriting the code I had from C# into Java and wishing there was a way for me to just write it once and reuse in multiple places. Just so that I do not have to patch multiple locations as I add features. Maybe Objective C for the next iteration? :)
- chipsy 13y agoI really like this concept. It would make a good counterpart to Haxe.
- Moto7451 13y agoThis is great. Glad to see Perl support as I'm working in both these days. I have a C# DLL I'm planning on porting and I think I'll give this a whirl. If it can do a good port I'll be very impressed.
- aaronbrethorst 13y agoPronunciation: http://www.asusilc.net/scr101/les1/s1glas.htm http://www.asusilc.net/scr101/les1/s1glas.htm "ch or tch as in: church, fetch, pronounced softer than the English sound"
- deleted 13y ago[deleted]
- dotemacs 13y agoI'd say it's more like 'ci' (sounds closer to 'ty') in Italian 'ciao' and less like 'ch' in 'change'.
- groovy2shoes 13y agoIn American English (and perhaps other dialects), Italian 'ciao' is an allophone with English 'chow'. (Really two allophones, 'ch' and 'ow'). Most Americans won't be able to hear a difference.
- involans 13y ago"ciao" and "chow" are homophones, not allophones. Allophones are different phonetic representations of the same phoneme found in complementary distribution. For example, [t] and [th] and [ɾ] and [ʔ] are allophones of /t/ (the first in 'cat', the second in 'tack', and the third and fourth in 'cutter' , depending on your regional variant. Also, the initial phoneme in Italian "ciao" is for all purposes identical to the one in English "chow" (the vowels are a bit different) - it is written as: /tʃ/
- AlexanderDhoore 13y agoGreat, another programming language we can't google! Please rename it to Membranous language.
- jlgreco 13y agoOr for that matter, type. At least C♯ has "C#". Maybe we can use C' ?
- danabramov 13y agoAt least in OS X, you can type Ć by holding C and pressing 2: http://i.imgur.com/6xCSVW5.png http://i.imgur.com/6xCSVW5.png
- davorb 13y agoI don't have this functionality. Could you explain if I have to enable something for it to work? It would be a great help, since I have that letter in my last name...
- jrdavis 13y agoIt's on by default on OS X Lion+.
- mietek 13y agoYou need OS X 10.7 or later. To enable: defaults write -g ApplePressAndHoldEnabled -bool true To disable: defaults write -g ApplePressAndHoldEnabled -bool false
- roryokane 13y agoI was going to say that on OS X 10.6 and earlier, you can type Option+E, then type C, but it turns out that doesn’t work. Option+E only lets you add the ´ to vowels, like Á. I confirmed that using the Keyboard Viewer (search for it in System Preferences). However, you can create a custom keyboard layout with Ukelele (http://scripts.sil.org/ukelele http://scripts.sil.org/ukelele), in which you replace some character you never use (option+something) with Ć. I use a custom layout myself, in which I swapped some keys around so it’s easier to type smart quotes ‘ ’ “ ”.
- ycamel 13y agoWhy not support floating point number type?
- trailfox 13y agoNice idea, but please give it a name that makes the language easy to discuss and search for. There's no way I'm going to work on Monday and discussing: 'did you see that new language that I have no idea how it's pronounced that was on HN?'
- iso8859-1 13y agoAlmost all other languages have ASCII names. How do you think South Koreans, Japanese, Chinese, etc refer to them? They figured it out, just like you would, if you wanted to.
- pietro 13y agoASCII may be American in origin, but it's become the global standard, and it's all we have in common. Even Japanese keyboards have ASCII character input.
- WayneDB 13y agoThe name of something makes a big difference in the USA though. If it sounds ridiculous or has a non-obvious pronunciation, people won't take it seriously. Rationalize all you want...the issue makes it a non-starter for many people.
- Dewie 13y agoA lot of the English language is a showcase of non-obvious pronunciations (ex: "finite" [fi-night] vs. infinite [in-fee-nith]), so that seems like a strange complaint.
- danabramov 13y agoI doubt name makes a bigger difference than usefulness.
- gjndrtjh 13y ago"ci" or "cito". As in http://cito.sourceforge.net http://cito.sourceforge.net
- nnq 13y agoGreat idea, but why another new language? Why not just pick a subset of C#? (or Java, or D, but subjectively speaking, C# is the most "friendly" language from that list)
- ygra 13y agoIt is a subset of C#. And giving that subset a name is much easier than talking about »that subset of C# that compiles cleanly to Java, D, Perl and C«.
- Trufa 13y agoExcept when the name is Ć.
- ygra 13y agoCee acute? Doesn't strike me as that horrible.
- bsaul 13y agoor c// ( or c|| ) which would graphicaly show it's a subset of # ...
- fla 13y agoor C cute ?
- Zolomon 13y agoCutesy || CuteC
- WayneDB 13y agoIt's pretty horrible. I'm not even sure that's what it's called because I can't find the actual word "acute" on that page. Furthermore - look at what they have to resort to calling it in code, on the command line and in URLs: ci.
- TempleOS 13y agoI wrote a full C compiler that goes from PDF-like source code with graphics to x86_64 machine code. http://www.templeos.org/Wb/Doc/HolyC.html http://www.templeos.org/Wb/Doc/HolyC.html
- dsego 13y agoTime to start working on Č I guess.
- marssaxman 13y agoWe've all got a language in our back pocket, haven't we? My first thought on seeing this name was that I ought to rename my project "Ç".
- profquail 13y agoThis is a really interesting project. However... It's licensed under GPLv3 -- in my experience, that's an instant turnoff for most .NET (C#/F#/VB.NET) developers. If you changed the license to something like Apache 2.0, I think you'd get much more interest; not only new users, but new contributors too.
- 3825 13y agoWhat's wrong with GPLv3? I thought the only thing that changed from v2 was preventing tivotization?
- danabramov 13y agoI think he means commercial use in closed-source projects. So it's not v2 vs v3, but GPL vs Apache or MIT.
- profquail 13y agoYes, that's what I meant. Most -- nearly all -- major open-source projects written in C# (or other .NET languages) are permissively licensed. Yes, that means people could just grab the code and use it in their own closed-source projects without giving back; but, as far as I've seen, most devs are happy to contribute back to the projects they use in whatever way they can.
- rbehrends 13y agoIt's not just commercial use. Non-permissive open source licenses are also frequently incompatible with one another [1]. [1] http://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses http://www.gnu.org/licenses/license-list.html#GPLIncompatibl...
- wes-exp 13y agoGPL (2 and 3) is completely hostile to commercial (i.e. proprietary) use. In a big middle finger to business, v2 even describes a hypothetical businessperson as "Ty Coon, President of Vice".
- 13y ago
- fauigerzigerk 13y agoIf I ever create a programming language, I will call it either ♫ (pronounced music) or . (pronounced dot). That's one thing brainfuck didn't get right. Even they couldn't predict how incredibly stupid programming language naming would become :)
- piokuc 13y agoDoes it do garbage collecting in all the target languages? The question is mainly about C, cause I can imagine it can rely on native garbage collector when targeting Java, Perl, etc.
- gjndrtjh 13y agoIt only has manual memory management. No GC. But if you don't target C, you can just skip using "delete".
- stephth 13y agoRight, from the documentation (albeit hidden in the Arrays section): Since there is no garbage collection in C, you must free the dynamically allocated array with delete. delete translates to C as free and nothing in other (garbage-collecting) languages.
- kevingadd 13y agoSee also the C~ language that the author of Scintilla created for the purpose of building a retargetable text editor component: http://www.scintilla.org/SWPortability.html http://www.scintilla.org/SWPortability.html He wrote his text editor component in C~, then compiled it down to C++, Java and C#. Kind of interesting - I actually used SinkWorld in a product once.
- pimpl 13y agoI guess I’m of the very few ones in this thread who know how to pronounce this name :D
- Dewie 13y agoIf they just wanted the name to be a variation of 'C', they could have called it 'Ç', since I'm guessing that most people can type that easily with their keyboards.