Lata mijają, a język C nadal rządzi informatycznym światem .
![](https://wykop.pl/cdn/c3397993/link_pUuf8TJbLvNFXDfTkhslcTWVQGaERXuL,w300h194.jpg)
Powstały na początku lat 70-tych język C jest dziś podstawą działania milionów programów i urządzeń. Krótka historia języka C, czy warto uczyć się C i jaka czeka go przyszłość?
![](https://wykop.pl/cdn/c3397992/MAGNIFIER_LwDyYXifGl,q52.jpg)
- #
- #
- #
- #
- #
- #
- 230
Komentarze (230)
najlepsze
Z praktycznego punktu widzenia C jest ze dwa kroki wyżej od assemblera, którego pewnie też dobrze znać ale biorąc pod uwagę nadmiar mocy i pamięci jaki obecnie mamy - taki poziom optymalizacji nie jest z reguły konieczny (chociaż Linus Torvalds już by po mnie jechał jak
@slums: i słusznie :D
Wiesz, nie mówię o jakichś rażących błędach, ale im niżej w języku są problemy z
Nie zawiodłem sie!
W kontekście konteneryzacji, gdzie mamy wiele replik tego samego serwisu, dość szybko pojawia się różnica, choćby w memory footprint'cie, gdzie prosty serwis w Go zje 20-30MB RAMu, a serwis w Javie na start sobie zje 200-300MB.
Ale użycie tych bibliotek w go jest straszne właśnie przez brak generyków. Ja też nie lubię jak jest miliard interfejsów i klasy w klasach i zależności pomiędzy wszystkim ale
Z drugiej strony takie zmiany potrafią być irytujące, już sama zmiana języka np. u mnie zamiana java -> ruby sprawiła, że nauczyłem się TDD bo inaczej nawet głupia literówka w zmiennej mogła wysypać program na produkcji, a z kolei zamiana ruby -> swift ułatwiła życie silnym typowaniem na etapie kompilacji, ale powrót ruby
@QBA__: Napiszesz coś w skrócie o tym lub podasz źródło?
https://radek.io/2012/11/10/magical-container_of-macro/
https://linux-concepts.blogspot.com/2018/01/understanding-containerof-macro-in.html?m=1
W skrócie - to jest takie macro, które pozwala wyciągnąć ze struktury wymagany przez nas typ nie znając jej wewnętrznej budowy
C ma za to świetną składnię, którą "odziedziczył" C++, Java, C#, JS.
Język C był często uznawany jako język średniego poziomu, lub prosty język wysokiego poziomu.
Tak, jak Asembler, tak i język C znalazły swoje nisze, gdzie trudno je zastąpić innymi językami, dlatego trzymają się w nich mocno. Niemniej jednak obecnie dla informatyka znajomość wyłącznie tych języków jest błędem, przez który nie znajdą roboty.
Na studiach poznajesz
Zmierzam do tego, żeby więcej pisać w D, niż Pythonie, np. do mini skryptów.
Przykład z zeszłego tygodnia. "Dedykowane rozwiązanie SAP" czyli najzwyklejsze wprowadzanie zamówienia do rubryczek, katalog części na magazynie (może z 1k pozycji) i... 6 użytkowników, dwóch stale zalogowanych... serwer 8x2.6GHz 32GB ram, SSD. Gdy magazynier dodaje/odejmuje produkty, serwer zamula.
Ofc soft napisany przez większe corpo
jezeli C jest wysokopoziomy to czym sa jezyki oparte np.: o JVMa ?
nie - linux na obliczeniowych jak najbardziej, na domowych
@MAGNIFIER: Naucz się pisać dekady.
A nie siedemdziesiątych-tamtych?
Co wy macie z tą dziwną odmianą liczebników? Codziennie na wykopie znajduję coraz gorsze odmiany.
#grammarnazi
Śmieszne jest to przeświadczenie, że techniczny może, a nawet trochę powinien, być analfabetą.
A swoją drogą takie pisanie jak wyżej wskazuje na brak elementarnej logiki.
@LubieSzaszylkiZLublina: Rozmyślna ignorancja. Ludzie robią błędy, używają paskudnego języka i jeszcze potrafią być agresywni, kiedy ktoś wskazuje konkretną niepoprawność ich pisowni.
Żenujące.
Pokazałeś zależności między wieloma komponentami (stwarzanie bytów ponad miarę), a nie różne poziomy abstrakcji. Abstrakcje w programowaniu pomagają od razu przystąpić do rozwiązywania problemu, zamiast myśleć o tym, jak działa sprzęt (ile pamięci zająć, o jaki offset się przesunąć, na co wskaźnik ustawić, gdzie coś zapisać, dokąd skoczyć, jak coś uwarunkować itp.). Abstrakcje pomagają też korzystać z tych samych konstrukcji w odniesieniu do danych różnych rodzajów. W ten sposób pomagają
Komentarz usunięty przez moderatora