Початківцю програмісту pascal vs c

Отже ви сідаєте за клавіатуру, щоб явити світові свій могутній розум за допомогою виведення рядка "Hello World!" Якою ж мовою це станеться? Варто розповісти мабуть головна відмінність цих двох мов, яке одні ставлять в гідність, а інші в недолік. Різних мов, зрозуміло. Отже, TP має куди більше жорстку й вимушену структуру ніж С. Отже, в чому ж недолік такого підходу? А то, що початок навчання перетворюється на справжнє пекло для учня. Чи не компілюється програма? Чому? Ах, у цьому ж місці повинна стояти крапка з комою, а в цьому - квадратні дужки замість круглих. І сотні, тисячі таких помилок. Доводиться повертатися і виправляти. І знову. На початковому етапі часу налагодження займає до половини часу розробки програми (скажу вам по секрету - коли вивчите мову, займати буде ще більше, тільки правити помилки треба буде не синтаксичні, а логічні). Яке ж в цьому перевага? А ось таке. З абсолютно не вимогливий. Ви можете розписати цикл введення одним рядком, просто пхаючи функції один в одного. Ви можете оголошувати змінні всередині виконуваного коду. Звичайно ж, це моторошно зручно, але перетворює вихідний код в моторошну нестравний мішанину, розібратися в якій складно самому програмісту, а сторонній людині - і поготів. Тому вчити ТР варто лише для того, щоб навчитися елементарним правилам пристойності і дисципліни.

Однак не варто зациклюватися на ТР назавжди. Він - всього лише сходинка до вашого успіху на ниві програмування. Чому ж саме так? З має ряд переваг - він не може повністю ставитися до мов високого рівня, оскільки багато команд мають наближену форму, більше схожу на асемблер, тому на ньому зручно писати драйвера.

Обирати мову за кількістю модулів теж невірно - і для того, і для іншого написано купу модулів практично для будь-яких цілей. Тепер варто поговорити про сам синтаксис - хоча він і сильно відрізняється. Логічність в мовах присутній і своєї логічної структурою організації (цикли, оператори розгалуження) вони практично близнюки-брати. До того ж в деяких діалектах цих мов об'єктні файли цілком можуть подулючать до проектів, написаному на «нерідній» для исходника мовою. Частина модулів працює однаково. Яскравим прикладом служить модуль Graph, де навіть функції збігаються.

Але! Якщо ви вибрали все ж С, запам'ятайте, що С, С ++ і С # серйозно відрізняються. Можна сказати, що це різні мови програмування з однаковим синтаксисом. С ++ відрізняється від С наявністю можливості використання об'єктів і, відповідно, об'єктно-орієнтованого програмування. Що це таке на початку навчання знати зовсім не обов'язково, але повірте, є деякі тонкощі, переучувати які буде важкувато, тому варто відразу починати з С ++.

Отже, варто підвести підсумок. Навіщо я вам все це розповідав? Щоб визначити оптимальний алгоритм: спочатку вивчити Pascal, а потім перейти на С ++ (що не так вже й складно). Подібна схема дозволить вам не тільки більш впевнено себе почувати при використанні дослідженні чужого коду, але і розвинути дисциплінованість і звикнути до правил хорошого тону справжнього програміста.

Схожі статті