У чому принципова різниця між мовами С та Паскаль Програмування

Математика, Фізика, Computer Science, Machine Learning, LaTeX, Механіка та Техніка, Хімія,Біологія та Медицина, Економіка та Фінансова Математика, Гуманітарні науки
Вхід РеєстраціяDonate FAQ Правила Пошук

У чому принципова різниця між мовами С та Паскаль?

На сторінку1, 2 , 3 , 4 Слід.
Друкувати сторінку Друкувати всю темуПопер. тема Слід. тема
Alexu007

Що в мові Паскаль робить код безпечнішим незалежно від якості власне коду (говнокод як і хороший код можна писати будь-якою мовою)?

Структурне програмування - у Паскалі спочатку було те, що потім з'явилося лише С++?

Pavia
мовами

Паскаль не допускає зробити очевидних помилок. 1) У Паскалі більш строга типізація. Не можна присвоїти покажчики різних типів. Потрібно робити явне перетворення. Виявити таку помилку в Сі неможливо. Так як її прояв від місця помилки рознесено в часі вині, не один прийом налагодження не працює крім логів всього проекту. 2) Відсутність явного булевого типу в Сі. True+5= може бути будь-яким числом. True тут не константа, а результат булевого виразу. 3) У Сі поганий синтаксис в якому легко зробити помилку. Дуже просто помилитися в або, а ще страшніше в умові зробити помилку = замість ==. І довго дивуватися чому результат інший. 4) Не явні завдання параметра в циклі for. 5)безпечними. Більшість помилок припадає на цей пункт. Програміст повинен обчислити довжину результуючого рядка, а тільки потім виконувати операції. У Си++ ця хвороба вилікована. У паскалі такого немає. 6) Динамічні параметри функції. У Сі їх кількість не котролируются. З чого можливий елементарний вихід за межі масиву. printf scanf – тому вважаються небезпечними функціями. У Сі++ симтоми виліковані. Насправді тут більше цікаво чи був хлопчик? А чи був реальний злом пароля через неправильну роботу з рядками в printf і scanf? 7) Я навів тільки 2 небезпечні функції насправді їх набагато більше. 8) Варто відзначити простоту граматики паскаля. Вона одна прохідна на відміну Сі.

1) Відсутність константних покажчиків у паскалі. Щоправда, у Сі вони теж зроблені через ліве плече.

Структуроване програмування виникло задовго до Паскаля і Сі. Коли були введені сучасні цикли та умовні оператори. Що стосується структур даних. То вони були і в Сі спочатку. А ось у Паскаль була примітивною мовою. Без покажчиків, структур та рядків. Поки що його не розширили до Extended Pascal - що є сучасним стандартом. Тому саме останній і розглядаю як Паскаль, та й у школі та у вузі кажуть Паскаль мають на увазі саме Extended Pascal.

У Сі++ робота із структурами розширилася. У ведення шаблонів, ОВП, дженерики.