Pascal

Матеріал з Енциклопедія Драматика
Перейти до: навігація, пошук
Dor3.png

Допиши кілька слів зі свого досвіду
Ми дописуємо драматику разом і ця стаття потребує твоїх думок для повноти. Натисни "редагувати" згори сторінки чи розділу.

Gry-sloupo.jpeg

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

Ніклаус Вірт дивиться на тебе як на Сюшника

Pascal (поцкаль, москаль) — компільована мова програмування зі статичною типізацією. Розроблена Ніклаусом Віртом, щоб навчити школоту програмуванню. [1] Названа на честь французького математика Блеза Паскаля. Загалом її вже можна вважати мертвою, навіть в школах зараз вчать Пайтон, а колись Паскаль був одною з продакшн-мов, на нього були вакансії. Наразі вчити Паскаль сенсу немає — тільки якщо в тебе є дуже специфічна стара програма, яку треба підтримувати в робочому стані.

Передісторія[ред.]

Як вже сказано вище, Паскаль розроблявся саме для навчання. Через що мав жорстку типізацію і інші речі, які примушували школоту думати, перед тим, як писати. Це стало одною із причин майбутнього витиснення Паскаля іншими мовами. А на початку 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 \ [email protected]'(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.

Галерея[ред.]

Посилання[ред.]

Примітки[ред.]

  1. Воно так і було. Чесно
  2. Проте ми пам`ятаємо і за FreePascal
  3. Себто на ньому не пишуть езотеричну хуйню.
  4. То є об'єктно-орієнтована версія поцкалю