Re:New iPhone Agreement Bans Flash-to-iPhone Compiler & Others
by jrockway on Thursday April 08, 2010 @09:55PM
(#1251619)
Right, and $foo is just C but with $bar.
[ Parent
| on HN ]
Re:New iPhone Agreement Bans Flash-to-iPhone Compiler & Others
by sparky on Thursday April 08, 2010 @10:04PM
(#1251635)
To be fair, all widely-used C compilers I am aware of have extensions to the C90 and C99 standards, which they accept as conformant code by default.
Re:New iPhone Agreement Bans Flash-to-iPhone Compiler & Others
by jrockway on Thursday April 08, 2010 @11:13PM
(#1251756)
Sure, and that's fine. What Apple is doing is saying, "you must use C" without actually defining what "C" is.
Re:New iPhone Agreement Bans Flash-to-iPhone Compiler & Others
by wglb on Tuesday April 13, 2010 @08:05PM
(#1263750)
There was a hacker news discussion a while back by one of the principals of Coverity in which they asserted, with no small experience, that there is no such thing as a C language. This is due to the wide number of variations in what compilers accept and that users of C compilers expect.
Sure there is an ideal, but practically, there is not consistent definition of the C language.
Re:New iPhone Agreement Bans Flash-to-iPhone Compiler & Others
by sparky on Wednesday April 14, 2010 @01:31AM
(#1264223)
The article discussed was this one in CACM (link is to discussion on Lambda the Ultimate) http://lambda-the-ultimate.org/node/3824 . I remember seeing it on HN too, but couldn't find the page immediately.
Re:New iPhone Agreement Bans Flash-to-iPhone Compiler & Others
by halostatue on Friday April 09, 2010 @10:38AM
(#1252781)
Wrong.
Apple's C is C99 (as implemented by both gcc and clang). If you wish to take advantage of something like Grand Central Dispatch, they recommend that you do so with their completely optional syntax for blocks (which, aside from being closures AFAIK, are essentially anonymous functions in situ instead of defining a function externally).
You can still use GCD without the new block syntax by using function pointers, leaving you with bog standard C99.
Frankly, gcc implements a lot more non-standard stuff on its own than Apple's blocks have introduced.