rss
08/09/2018
EN   UA

Час i Події

#2018-32

Ваша точка зору

Чого, на Вашу думку, найбільше бракує Україні для перемоги?
Грошей
Зброї
Ядерної зброї
Міжнародної підтримки
Совісті найвищого керівництва
Ваш варіант відповіді
Комп’ютерна сторінка \ Як і навіщо вчити мови С

Від редакції:

Ви ще не втомилися від перших кроків - і все ще хочете стати програмістами? Вас не лякають сни з рядочками коду, і те, що в складні життєві ситуації ви хочете вписати оператор «if... else»? Тоді ми розповімо вам про основу основ - мови з родини С.

Продовжуємо цикл матеріалів для майбутніх self-made програмістів. Інколи різноманіття мов програмування може спантеличити: мало хто знає, який саме інструмент вивчати наступним. Але першим логічно опанувати саме той, який використовують у цікавій для тебе сфері, - якщо ти тільки збираєшся зробити перші кроки на ниві програмування, то не помилишся, якщо почнеш із сімейства С.

Що це?

До сімейства мов С зараховують саму С, С++, C#, Objective-C і Java. Паралельно з вивченням мови сімейства С ти зрозумієш фундаментальні основи програмування - базові концепції, які має знати будь-який програміст. Чимало проектів з кодом на С, що існують сьогодні, починали розробляти ще кілька десятиліть тому: операційна система UNIX, написана на асемблері, стартувала в 1969 році, але вже в 1972-му була перенесена на С.

Саму мову С створили, щоб перенести з асемблера ядро UNIX і отримати більш зрозумілий та структурований код, який дозволяє виконувати більше корисної роботи на кожен рядок написаного й при цьому менше залежить від архітектури.

Чому С керує світом?

Попри наявну тенденцію до використання нових високорівневих мов, фундамент ІТ досі тримається на С, а мільйони людей щодня використовують системи, кодовані цією мовою.

Microsoft Windows - перший приклад таких систем. Можна по-різному ставитися до продуктів Microsoft, але їхня популярність говорить сама за себе. 97% усіх суперкомп'ютерів світу працюють на Linux, який теж написаний здебільшого на С. Ти не повіриш, але й третя «велика» ОС у цьому списку теж має стосунок до С: ядро операційних систем Mac виконане саме цією мовою.

Більшість драйверів для різних систем також створено за допомогою С, як і ядра iOS, Android і Windows Phone.

Латина не мертва: вона просто відпочиває

Не потрібно вивчати всі мови сімейства: досить обмежитися якоюсь однією. Якщо ти працюєш з продуктами Microsoft і плануєш писати програми для Windows, починай вивчати C#. Якщо тебе цікавить розробка під Android, вивчай Java. Якщо ж мова йде про інтегровані системи - ОС, драйвери тощо, то найбільш корисним варіантом буде старий добрий С. Для будь-якої іншої сфери підійде С++.

Мови сімейства С мають особливість: якщо вивчити одну з них, то інші йдуть набагато легше. Ніхто не говорить латиною, але її все ще корисно вивчати, оскільки вона полегшує вивчення італійської, іспанської та французької мов. Так і тут: освоївши одну із С-мов, ти не станеш експертом з інших, але крива навчання стане менш пологою. У тебе не виникне проблем з розумінням коду на Java, якщо знаєш С#.

Де і як вчити?

Опанувати С# тобі допоможе курс від Prometheus «Основи програмування на C#» (https://courses.prometheus.org.ua/courses/Microsoft/CS201/2016_T1/about). На Coursera можна знайти програму із С++ для новачків (https://www.coursera.org/learn/c-plus-plus-white). Курс для тих, хто хоче вивчити Java, - під цим посиланням: https://courses.prometheus.org.ua/courses/EPAM/JAVA101/2016_T2/about.

Світом керують не масони, а програмісти на С. Ця мова не має свого «терміну придатності», вона досить близька до заліза, незалежна від платформи й надзвичайно практична.

Велика функціональність більш сучасних мов необов'язково означає велику практичну користь коду, який написаний ними. Ми щодня використовуємо пристрої на C, а тому це не тільки минуле й сьогодення, а й майбутнє в багатьох галузях розробки ПЗ.

 

Автор: Микола Червоний

Джерело:»Studway»

Маленькі інновації для великого міста

Олексій Полак: «Я не вірю в талант, лише в практику»

 

Реклама

    © 2006-2011 "Час i Подiї". All Rights Reserved | Chicago Web Design - www.4everstudio.com