Język programowania C od początków swojego istnienia stanowi kontrowersyjny temat rozmów wśród informatyków oraz osób, które profesjonalnie zajmują się tworzeniem programów komputerowych i stron internetowych. Niektórzy uważają, że jest on językiem bardzo przydatnym, szczególnie początkującym programistom, ponieważ pozwala na wykorzystanie wielu podstawowych opcji w łatwy sposób. Odmienne zdanie posiada natomiast druga grupa programistów, którzy sądzą, że język C w ogóle nie spełnia wymagań programistycznych. Posiada bardzo wiele ograniczonych funkcji, które pozwalają na wykonywanie wyłącznie podstawowych poleceń, co mija się z celem dobrego programisty, który pragnie się rozwijać. Istnieje bardzo wiele negatywnych cech, jakie są zarzucane językowi C przez zaawansowanych programistów. Przede wszystkim zwracają oni uwagę na działanie w zakresie tablic. Język ten nie daje możliwości przypisywania ich , a także sprawdzania ich zakresu, co jest niezmiernie istotne podczas programowania. Podstawową wadą według nich są więc wszystkie działania w tym kierunku, które są bardzo ograniczone lub nawet niemożliwe, co bardzo negatywnie wpływa na końcową ocenę języka.