У чому принципова різниця між мовами С та Паскаль Програмування
Математика, Фізика, 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.
У Сі++ робота із структурами розширилася. У ведення шаблонів, ОВП, дженерики.