Pascal: відмінності між версіями
(Сторінка очищена) Мітка: Очищення |
Рататуй (обговорення | внесок) |
||
| (Не показано 3 проміжні версії 2 користувачів) | |||
| Рядок 1: | Рядок 1: | ||
{{Stub}} | |||
{{Стародавня історія}} | |||
[[Файл:NiklausWirth.jpg|300px|thumb|right|Ніклаус Вірт дивиться на тебе як на [[C|Сюшника]]]] | |||
'''Pascal''' ''(поцкаль, [[москаль]])'' — компільована мова програмування зі статичною типізацією. Розроблена Ніклаусом Віртом, щоб навчити школоту програмуванню. <ref>Воно так і було. Чесно</ref> Названа на честь французького математика Блеза Паскаля. Загалом її вже можна вважати мертвою, навіть в школах зараз вчать [[Python|Пайтон]], а колись Паскаль був одною з продакшн-мов, на нього були вакансії. Наразі вчити Паскаль сенсу немає — тільки якщо в тебе є дуже специфічна стара програма, яку треба підтримувати в робочому стані (т.зв. legacy code). | |||
== Передісторія == | |||
Як вже сказано вище, Паскаль розроблявся саме для навчання. Через що мав жорстку типізацію і інші речі, які примушували [[Школота|школоту]] думати, перед тим, як писати. Це стало одною із причин майбутнього витиснення Паскаля іншими мовами. А на початку 80-х, він був дуже популярним - зрозумілий синтаксис, порівняно проста реалізація компілятора, захист від [[Вистрілити собі в ногу|вистрілу в ногу]]. Turbo Pascal вже став вважатися серйозною мовою для комерційних розробок. Компанія Borland підняла можливості Паскаля до неймовірних, як на свій час, меж. Дуже швидкий і "інтелектуальний" компілятор і фантастично зручне середовище розробки! Брікпоінти, вотчі і багато іншого, такого звичного зараз нам. До речі, класичний "борландівський" інтерфейс - зверху меню, внизу статус бар, посередині робоча площа із вікнами - до сих пір є найзручнішим. | |||
Паскаль був ідеальним для розробки потужних програм із великою командою розробників. Проте згенровані бінарі, часто програвали аналогічним із [[C]], а для низькорівневих утіліт та драйверів, паскаль взагалі не годився. В ті "сиві" роки програмісти приділяли солідну увагу системним вимогам та швидкодії своїх продуктів (от дурні!), тому програмування на C було "моднішим". Слід зауважити, що [[бидлокодер]]и і на асемблері писали програми, тормознутіші за Бейсик, при цьому вважаючі себе гуру. Ще одна проблема паскаля полягала в тому, що стиль написання коду "шо бачу про те і співаю" для нього не підходив. Спочатку треба було хоча б трохи продумати структуру майбутньої програми. За це його не любили небидло-програмісти (через те що неможливо було швидко накидати "брудний" прототип, для перевірки функціоналу), а також люто ненавиділи бидлокодери (інакше вони не вміли). | |||
Тим не менше, до кінця 80-х, Паскаль був другим (після Visual Basic) за популярністю в аматорів, та десь третім-четвертим для професійних розробників. Остаточно "добило" Паскаль новомодне ООП. Його реалізація в Turbo/Borland Pascal, була відверто кривенькою. Коли Сі, плавно перейшло на C++, для Паскаля наплодили десятки варіантів, стандартів, надбудов і т.п. Реалізація від Borland`а - Delphi - перетягнуло більшість паскалістів до себе (фактично, це була перша нормальна реалізація візуальної мови програмування). Проте з часом Delphi скотилося в гівно, розгубивши усіх шанувальників. Тепер Паскаль більше асоціюється із безмежно застарілим, але добрим Turbo Pascal <ref>Проте ми пам`ятаємо і за FreePascal</ref> | |||
== Короткий огляд == | |||
===Коментарі=== | |||
*<code>//коментар</code> - до кінця рядка | |||
*<code>{коментар}</code> - від ''{'' до ''}'' | |||
===Типізація=== | |||
Типізація - статична. Основні типи: | |||
*Числові: float, double, integer, extended і т.д. | |||
*Символьні: char, string, Pchar, PWideChar. | |||
*Логічні: boolean (тільки true або false) | |||
== Переваги == | |||
*Дуже простий, навіть мавпа освоїть. | |||
* | |||
<syntaxhighlight lang="Pascal"> | |||
#include <stdio.h> | |||
int main(int t,int _,char*a) | |||
{return!0<t?t<3?main(-79,-13,a+main(-87,1-_, | |||
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a | |||
)&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_, | |||
t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\ | |||
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\ | |||
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\ | |||
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\ | |||
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \ | |||
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\ | |||
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/") | |||
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\ | |||
+1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \ | |||
i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);} | |||
</syntaxhighlight> | |||
Паскаль це просто не буде компілювати. <ref>Себто на ньому не пишуть езотеричну хуйню.</ref> | |||
== Недоліки == | |||
*Блядский синтаксис (кожен блок коду має починатись <code>begin</code>, а закінчуватись <code>end;</code>, що пиздець як зайобує, особливо у великих проектах) | |||
*Велика кількість коду. | |||
*Він для [[Бидлокодер|бидлокодерів]]. Він так і задумувався, щоб вчити [[Школота|школоту]]. | |||
== Основні реалізації == | |||
*Object Pascal by Apple | |||
*Turbo Pascal, Object Pascal by [[Borland]]. | |||
*Lazarus (тупа, глючна реалізація, компілює так, що ховайся (розмір скомпільованого бінаря важить 19+ Мб)) | |||
== Лулзи == | |||
А [[Лулз|лулзи]] починаються, коли починаєш намагатись працювати з динамічними масивами. Особливо коли це робиш в Lazarus. | |||
== Галерея == | |||
<gallery> | |||
Файл:Turbopascal.gif|Суровий Трубо Поцкаль | |||
Файл:Delphi7.jpeg|Пачка дельфи <ref>То є об'єктно-орієнтована версія поцкалю</ref> | |||
Файл:Integration-delphi-7-form.gif|Отак, деякі і пишуть. | |||
</gallery> | |||
== Посилання == | |||
*[http://www.uchites.ru/informatika/pascal "Поцкаль ф прімєрах"] | |||
*[http://pascal.sources.ru/index.htm Сирці з усього світу] | |||
== Примітки == | |||
{{reflist}} | |||
{{Айті|що=if language = 'Pascal' then a := 2**10}} | |||
Поточна версія на 16:09, 16 вересня 2024
|
Pascal (поцкаль, москаль) — компільована мова програмування зі статичною типізацією. Розроблена Ніклаусом Віртом, щоб навчити школоту програмуванню. [1] Названа на честь французького математика Блеза Паскаля. Загалом її вже можна вважати мертвою, навіть в школах зараз вчать Пайтон, а колись Паскаль був одною з продакшн-мов, на нього були вакансії. Наразі вчити Паскаль сенсу немає — тільки якщо в тебе є дуже специфічна стара програма, яку треба підтримувати в робочому стані (т.зв. legacy code).
Передісторія
Як вже сказано вище, Паскаль розроблявся саме для навчання. Через що мав жорстку типізацію і інші речі, які примушували школоту думати, перед тим, як писати. Це стало одною із причин майбутнього витиснення Паскаля іншими мовами. А на початку 80-х, він був дуже популярним - зрозумілий синтаксис, порівняно проста реалізація компілятора, захист від вистрілу в ногу. Turbo Pascal вже став вважатися серйозною мовою для комерційних розробок. Компанія Borland підняла можливості Паскаля до неймовірних, як на свій час, меж. Дуже швидкий і "інтелектуальний" компілятор і фантастично зручне середовище розробки! Брікпоінти, вотчі і багато іншого, такого звичного зараз нам. До речі, класичний "борландівський" інтерфейс - зверху меню, внизу статус бар, посередині робоча площа із вікнами - до сих пір є найзручнішим.
Паскаль був ідеальним для розробки потужних програм із великою командою розробників. Проте згенровані бінарі, часто програвали аналогічним із C, а для низькорівневих утіліт та драйверів, паскаль взагалі не годився. В ті "сиві" роки програмісти приділяли солідну увагу системним вимогам та швидкодії своїх продуктів (от дурні!), тому програмування на C було "моднішим". Слід зауважити, що бидлокодери і на асемблері писали програми, тормознутіші за Бейсик, при цьому вважаючі себе гуру. Ще одна проблема паскаля полягала в тому, що стиль написання коду "шо бачу про те і співаю" для нього не підходив. Спочатку треба було хоча б трохи продумати структуру майбутньої програми. За це його не любили небидло-програмісти (через те що неможливо було швидко накидати "брудний" прототип, для перевірки функціоналу), а також люто ненавиділи бидлокодери (інакше вони не вміли).
Тим не менше, до кінця 80-х, Паскаль був другим (після Visual Basic) за популярністю в аматорів, та десь третім-четвертим для професійних розробників. Остаточно "добило" Паскаль новомодне ООП. Його реалізація в Turbo/Borland Pascal, була відверто кривенькою. Коли Сі, плавно перейшло на C++, для Паскаля наплодили десятки варіантів, стандартів, надбудов і т.п. Реалізація від Borland`а - Delphi - перетягнуло більшість паскалістів до себе (фактично, це була перша нормальна реалізація візуальної мови програмування). Проте з часом Delphi скотилося в гівно, розгубивши усіх шанувальників. Тепер Паскаль більше асоціюється із безмежно застарілим, але добрим Turbo Pascal [2]
Короткий огляд
Коментарі
//коментар- до кінця рядка{коментар}- від { до }
Типізація
Типізація - статична. Основні типи:
- Числові: float, double, integer, extended і т.д.
- Символьні: char, string, Pchar, PWideChar.
- Логічні: boolean (тільки true або false)
Переваги
- Дуже простий, навіть мавпа освоїть.
#include <stdio.h>
int main(int t,int _,char*a)
{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
)&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
+1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}
Паскаль це просто не буде компілювати. [3]
Недоліки
- Блядский синтаксис (кожен блок коду має починатись
begin, а закінчуватисьend;, що пиздець як зайобує, особливо у великих проектах) - Велика кількість коду.
- Він для бидлокодерів. Він так і задумувався, щоб вчити школоту.
Основні реалізації
- Object Pascal by Apple
- Turbo Pascal, Object Pascal by Borland.
- Lazarus (тупа, глючна реалізація, компілює так, що ховайся (розмір скомпільованого бінаря важить 19+ Мб))
Лулзи
А лулзи починаються, коли починаєш намагатись працювати з динамічними масивами. Особливо коли це робиш в Lazarus.
Галерея
Пачка дельфи [4]
Посилання
Примітки
| |||||||||||||||||||