А якщо ос написати на Паскалі обговорення теми бп

Є операційка на Паскалі? Вам не здається що вона була б краще? Чому все операційки пишуть на Сі?

А якщо операційну написати на Паскалі і додати туди засіб розширення візуальне, як Дельфи. Було б круто.

З повагою, Дана тема не буде закрита і оголошується офіційним флеймом Королівства. Щоб жителям було де відірватися: о)

Всього в темі 1403 повідомлення

>> Всього повідомлень в темі: 1403; сторінок: 141; поточна сторінка: 116

Peter
"Яка різниця: видає він помилку компіляції чи ні"

Різниця така що цей приклад вообше НЕ буде скомпільовано, звичайно на сі типізація менше ніж на Паскалі але не настільки, щоб замість покажчика можна було випадково передати число.

Взагалі людина сказала що сі гірше Паскаля і на доказ навів не працюючий приклад, як це можна розуміти? Тільки так що бажане видається за дійсне.

To FR
> Беремо твій перший приклад і отримуємо при компіляції помилку "Can not convert 'int' to (int *)"
Усвідомлюю свою помилку, я мав справу з іншою ситуацією (склероз як я і говорив) scanf ( ".", A); - на цьому точно зловити.

> У другому прикладі ти теж не правий при виході з функції покажчик переданий в цю функцію> не зміниться. І взагалі там можна і так написати:

> For (i = 256; i; i--)
>> pdata [i] = inpw (i);
>>

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

Так можна зробити так як ти сказав, але більшість так не робить (може просто я з такими зустрічався).

> Ідея та, що на сях можна написати і криво і грамотно, а на Паскалі - тільки грамотно. я б не
> Сказав, що це незаперечна істина, але в цілому Паскаль суворіше стежить за типами.

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

> А Паскаль завалити можна, ой можна, вже повірте. -)
Ніхто і не сперечається, завалити можна напевно все (якщо постаратися), хоча в будь-якому правилі є винятки.

Тільки навіщо валити, взагалі тема називається, що якщо написати, тобто створити, а не як завалити!

To Ігор Шевченко

> Той, хто говорить, що на C можна отримати якусь ситуацію з "вискакування в нікуди і
> Втратою управління ", а на Паскалі можна, швидше за все, не знає або однієї мови, або іншого, а
> Просто дзвін десь чув.

> Але якщо стиль не прищепили, то на С все таки можливостей поізголятся більше!
> Чим власне сішнікі чому то і хваляться, замість того щоб шкодувати :-)

Згоден з Ігорем Шевченко!
І на Pascal можна запросто і диск упороть і систему завалити. А код, к-рий він привів я бачив не де-небудь, а в исходниках бібліотеки Turbo Vision.
Я думаю, що надійність залежить (в деякій мірі) від стилю програмування. А стиль добре прищеплюється зв'язкою Pascal + УЧИТЕЛЬ.
А після цього і на Pure З можна непогано програми, тому що не будеш викрутаси без зайвої необхідності ліпити. Але якщо стиль не прищепили, то на С все таки можливостей поізголятся більше! Чим власне сішнікі чому то і хваляться, замість того щоб шкодувати :-)

to Григор'єв Антон (№237):
Абсолютно згоден, писати програми під будь-які ОС (крім DOS, яку на теперішній час ОС і називати якось незручно :))))) без використання викликів API - це навіть не смішно. Хоча є певні моменти, коли пряме звернення до устаткування просто необхідно. Але і в таких софтину без звернення до функцій ОС не обійтися в принципі. Був, був якось один подібний проектик. Коли я жив курсантом одного військового ВНЗ дипломний керівник притягнув якось документацію і частина початкових кодів на Soft-RealTime-DB. Там, дійсно, виділявся розділ жорсткого диска і будувалася власна фалового система, оптимізована саме під операції роботи з даними (індексація, вибірки, пошук та ін.). Але, знову-таки, для виділення "шматка" гвинта необхідно було спочатку створити логічний розділ, а лише потім його "того" :)) Та й мережеве взаємодія було побудовано стандартним шляхом, через сокети ОС.

День добрий, Vladimir,

Бачив я, як пишуть на Паскалі працюють :-)
Два рядки йдуть підряд:
I: = 0;
I: = InfoRec._Vid;

Криво можна написати абсолютно будь-якою мовою, повірте :-)
Той, хто говорить, що на C можна отримати якусь ситуацію з "вискакування в нікуди і втратою управління", а на Паскалі можна, швидше за все, не знає або однієї мови, або іншого, а просто дзвін десь чув.

to FR
Яка різниця: видає він помилку компіляції чи ні, ідея зрозуміла. Ідея та, що на сях можна написати і криво і грамотно, а на Паскалі - тільки грамотно. Я б не сказав, що це незаперечна істина, але в цілому Паскаль суворіше стежить за типами.

Хоча, всюди, де є покажчики і пряме приведення типів, будуть і некоректні звернення до пам'яті. Гайда на Java / C #!

А Паскаль завалити можна, ой можна, вже повірте. -)

Беремо твій перший приклад і отримуємо при компіляції помилку "Can not convert 'int' to (int *)"

У другому прикладі ти теж не правий при виході з функції покажчик переданий в цю функцію не зміниться. І взагалі там можна і так написати:

Взагалі перш ніж критикувати непогано б для початку розібратися в предметі який критикуєш.

(Вибачте, що відповідаю на питання не до мене)
> В Паскалі можна вискочити в нікуди і втратити керування, а в Сі можна :-))))
Вираз не зовсім коректне, і в С і в Паскалі можна вискочити в нікуди.
Але в С це зробити набагато простіше, Паскаль в цьому (і не тільки) справі суворіше.
> Прикладами готові поділитися
Будь ласка!

Як в З передаються параметри змінні:

Ну а в Паскалі:
var
a: integer;

procedure func (var a: integer);
begin
a: = 5;
end;

begin
a: = 0;
end.
Компілятор за всім стежить, і забути нічого!

Та й як Сішнікі працюють з масивами - жах, сам бачив мій начальник цим захоплюється

Схожі статті