C for All یا ∀C (سی برای همه) یک پروژۀ اپنسورس با هدف توسعۀ زبان برنامهنویسی استاندارد C که است غیرشیئگرا میباشد. هدف این پروژه، گنجاندن فیچرهای زبانهای برنامهنویسی مدرن در زبان C و با استفاده یک روش تکاملی است (روش تکاملی روشی است که در آن فیچرهای زبان را مدرنیزه کرده و آنها را بهبود میدهند؛ نتیجه اینکه یک نسخۀ توسعهیافته از زبان مد نظر در اختیار دولوپرها خواهد بود. در مقابل، رویکرد دیگری نیز وجود دارد که در آن فیچرهای زبان به کلی تغییر یافته و فیچرهای جدید جایگزین آنها میشوند که در نتیجه، یک زبان برنامهنویسی جدید خواهیم داشت که تقریباً هیچ شباهتی به زبان اولیه ندارد).
زبانهای D ،Go ،Java و Rust نمونه زبانهایی هستند که در آنها از رویکرد دوم برای مدرنسازی زبان C استفاده شده است که در نتیجۀ آن، یک زبان جدید تولید شده است نه یک نسخۀ توسعهیافته از این زبان و در مقابل زبانهای C++ 17 ،Cobol 14 و Fortran 15 نمونههایی از زبانی هستند که با استفاده از راهبردهای تکاملی به وجود آمدهاند؛ به عبارت دیگر، فیچرهای زبانهای مدرن به این آنها افزوده شده است.
هدف پروژهٔ ∀C، ایجاد یک نسخۀ سازگار با نسخههای پیشین زبان C است که این نسخه میباید شامل فیچرهای زبانهای مدرن بوده و در عین حال این امکان را در اختیار دولوپرها قرار دهد تا بتوانند مسائل و مشکلات شناختهشدۀ زبان سی را توسط این زبان حل کنند. بدون توسعۀ مداوم سی، این زبان قادر بر پاسخگویی به نیازهای برنامهنویسی مدرن و همچنین برنامهنویسان نخواهد بود و در نتیجه، این زبان منسوخ خواهد شد. با توجه به اینکه امروزه استفاده از زبان برنامهنویسی سی در میان دولوپرها بسیار افزایش یافته است، میتوان با اطمینان گفت که سی یک زبان برنامهنویسی همهکاره قملداد میشود.
زبان ++C نیز اهداف مشابهی داشت از جمله اینکه به تدریج شیئگرایی را به زبان C افزود؛ با این حال، سیپلاسپلاس معایبی دارا است که از آن جمله میتوان به انحراف قابلملاحظهٔ این زبان از زبان سی در نسخههای جدید اشاره کرد و این در صورتی است که چنین مسئلهای منجر بدین خواهد گشت تا افزودن کدهای سیپلاسپلاس به پروژهای مبتنی بر زبان سی، کمی دشوار گردد. در مقابل، زبان ∀C با 30 سال تأخیر، یک نقطه شروع بسیار خوب را استارت زده است.