Pascal: відмінності між версіями

Матеріал з Файна Меморії
Перейти до навігації Перейти до пошуку
0
м Редагування користувача 95.132.115.27 (обговорення) відкинуті до версії користувача Surikoff
 
Рядок 1: Рядок 1:
dovbojoby sosnule
[[Файл:Niklaus wirth3.jpg|300px|thumb|right|Ніклаус Вірт дивиться на тебе як на [[Сі|Сюшника]]]]
http://dramatica.org.ua/
'''Pascal''' ''(поцкаль)'' - компільована мова програмування зі статичною типізацією. Розроблена [[Ніклаус Вірт|Ніклаусом Віртом]], щоб навчити школоту програмуванню. <ref>Воно так і було. Чесно</ref> Назва походить від імені французького математика [[Блез Паскаль|Блеза Паскаля]].
 
== Передісторія ==
Як вже сказано вище, Паскаль розроблявся саме для навчання. Через що мав жорстку типізацію і інші речі, які примушували [[Школота|школоту]] думати, перед тим, як писати. Це стало одною із причин майбутнього витиснення Паскаля іншими мовами. А на початку 80-х, він був дуже популярним - зрозумілий синтаксис, порівняно проста реалізація компілятора, захист від [[Вистрілити собі в ногу|вистрілу в ногу]]. Turbo Pascal вже став вважатися серйозною мовою для комерційних розробок. Компанія Borland підняла можливості Паскаля до неймовірних, як на свій час, меж. Дуже швидкий і "інтелектуальний" компілятор і фантастично зручне середовище розробки! Брікпоінти, вотчі і багато іншого, такого звичного зараз нам. До речі, класичний "борландівський" інтерфейс - зверху меню, внизу статус бар, посередині робоча площа із вікнами - до сих пір є найзручнішим.<br/>
Паскаль був ідеальним для розробки потужних програм із великою командою розробників. Проте згенровані бінарі, часто програвали аналогічним із [[Сі]], а для низькорівневих утіліт та драйверів, паскаль взагалі не годився. В ті "сиві" роки програмісти приділяли солідну увагу системним вимогам та швидкодії своїх продуктів (от дурні!), тому програмування на [[Сі]] - було "моднішим". Слід зауважити, що [[бидлокодер]]и і на асемблері писали програми, тормознутіші за Бейсик, при цьому вважаючі себе [[Гуру|гуру]]. Ще одна проблема паскаля полягала в тому, що стиль написання коду "шо бачу про те і співаю" для нього не підходив. Спочатку треба було хоча б трохи продумати структуру майбутньої програми. За це його не любили [[небидло]]-програмісти (через те що неможливо було швидко накидати "брудний" прототип, для перевірки функціоналу), а також люто ненавиділи бидлокодери (інакше вони не вміли).<br />
Тим не менше, до кінця 80-х, Паскаль був другим (після "[[Visual Basic|Васіка]]") за популярністю в аматорів, та десь третім-четвертим для професійних розробників. Остаточно "добило" Паскаль новомодне ООП. Його реалізація в Turbo/Borland Pascal, була відверто [[Місячні_вирази_(терміни,_знаки)#.D0.9A|кривенькою]]. Коли Сі, плавно перейшло на C++, для Паскаля наплодили десятки варіантів, стандартів, надбудов і т.п. Реалізація від Borland`а - Delphi - перетягнуло більшість паскалістів до себе (фактично, це була перша нормальна реалізація візуальної мови програмування). Проте з часом Delphi скотилося в гівно, розгубивши усіх шанувальників. Тепер Паскаль більше асоціюється із безмежно застарілим, але добрим Turbo Pascal <ref>Проте ми пам`ятаєсо і за FreePascal</ref>
 
== Короткий огляд ==
===Коментарі===
*<code>//коментар</code> - до кінця рядка
*<code>{коментар}</code> - від ''{'' до ''}''
 
===Типізація===
Типізація - статична. Основні типи:
*Числові: float, double, integer, extended і т.д.
*Символьні: char, string, Pchar, PWideChar.
*Логічні:boolean <ref>Тільки true або false.</ref>
 
 
== Переваги ==
*Дуже простий. <ref>Навіть мавпа освоїть.</ref>
*
 
{{Блок|
<nowiki>
#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);}</nowiki>
}}
 
Паскаль це просто не буде компілювати. <ref>Себто на ньому не пишуть езотеричну хуйню.</ref>
 
 
== Недоліки ==
*Блядский [[синтаксис]]. <ref>Кожен блок коду має починатись  <code>begin</code>, а закінчуватись <code>end;</code>. Це пиздець, як зайобує, особливо у великих проектах.</ref>
*Велика кількість коду. <ref>У порівнянні з, наприклад [[Python|Python'ом]] коду у 100 разів більше</ref>
*Він для [[Бидлокодер|бидлокодерів]]. Він так і задумувався, щоб вчити [[Школота|школоту]].
 
 
 
== Основні реалізації ==
*Object Pascal by Apple <ref>яблачнікі запаланілі всю пла-а-а-анету</ref>
*Turbo Pascal, Object Pascal by [[Borland]].
*lazarus. <ref>Тупа, глючна реалізація. Компілює так, що ховайся(розмір скомпільованого бінаря важить 19+ Мб).</ref>
 
 
== Галерея ==
<gallery>
Файл:Turbopascal60.gif|Суровий Трубо Поцкаль
Файл:Delphi7.jpeg|Пачка дельфи <ref>То є об'єктно-орієнтована версія поцкалю</ref>
Файл:Integration-delphi-7-form.gif|Отак, деякі і пишуть.
</gallery>
 
== Лулзи ==
А [[Лулз|лулзи]] починаються коли починаєш намагатись працювати з динамічними массивами<ref>Массив - группа змінних з одним ідентифікатором і з різними індексами.</ref>. Особливо коли це робиш в lazarus.
 
 
== Примітки ==
{{reflist}}
 
== Посилання ==
*[http://www.uchites.ru/informatika/pascal "Поцкаль ф прімєрах"]
*[http://pascal.sources.ru/index.htm Сирці з усього світу]
 
{{Мови програмування|topic = begin fuckOff(); end.}}
 
[[Категорія:Мови програмування]]

Поточна версія на 18:00, 14 червня 2011

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

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

Передісторія

Як вже сказано вище, Паскаль розроблявся саме для навчання. Через що мав жорстку типізацію і інші речі, які примушували школоту думати, перед тим, як писати. Це стало одною із причин майбутнього витиснення Паскаля іншими мовами. А на початку 80-х, він був дуже популярним - зрозумілий синтаксис, порівняно проста реалізація компілятора, захист від вистрілу в ногу. Turbo Pascal вже став вважатися серйозною мовою для комерційних розробок. Компанія Borland підняла можливості Паскаля до неймовірних, як на свій час, меж. Дуже швидкий і "інтелектуальний" компілятор і фантастично зручне середовище розробки! Брікпоінти, вотчі і багато іншого, такого звичного зараз нам. До речі, класичний "борландівський" інтерфейс - зверху меню, внизу статус бар, посередині робоча площа із вікнами - до сих пір є найзручнішим.
Паскаль був ідеальним для розробки потужних програм із великою командою розробників. Проте згенровані бінарі, часто програвали аналогічним із Сі, а для низькорівневих утіліт та драйверів, паскаль взагалі не годився. В ті "сиві" роки програмісти приділяли солідну увагу системним вимогам та швидкодії своїх продуктів (от дурні!), тому програмування на Сі - було "моднішим". Слід зауважити, що бидлокодери і на асемблері писали програми, тормознутіші за Бейсик, при цьому вважаючі себе гуру. Ще одна проблема паскаля полягала в тому, що стиль написання коду "шо бачу про те і співаю" для нього не підходив. Спочатку треба було хоча б трохи продумати структуру майбутньої програми. За це його не любили небидло-програмісти (через те що неможливо було швидко накидати "брудний" прототип, для перевірки функціоналу), а також люто ненавиділи бидлокодери (інакше вони не вміли).
Тим не менше, до кінця 80-х, Паскаль був другим (після "Васіка") за популярністю в аматорів, та десь третім-четвертим для професійних розробників. Остаточно "добило" Паскаль новомодне ООП. Його реалізація в Turbo/Borland Pascal, була відверто кривенькою. Коли Сі, плавно перейшло на C++, для Паскаля наплодили десятки варіантів, стандартів, надбудов і т.п. Реалізація від Borland`а - Delphi - перетягнуло більшість паскалістів до себе (фактично, це була перша нормальна реалізація візуальної мови програмування). Проте з часом Delphi скотилося в гівно, розгубивши усіх шанувальників. Тепер Паскаль більше асоціюється із безмежно застарілим, але добрим Turbo Pascal [2]

Короткий огляд

Коментарі

  • //коментар - до кінця рядка
  • {коментар} - від { до }

Типізація

Типізація - статична. Основні типи:

  • Числові: float, double, integer, extended і т.д.
  • Символьні: char, string, Pchar, PWideChar.
  • Логічні:boolean [3]


Переваги

  • Дуже простий. [4]

#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);}

Паскаль це просто не буде компілювати. [5]


Недоліки


Основні реалізації

  • Object Pascal by Apple [8]
  • Turbo Pascal, Object Pascal by Borland.
  • lazarus. [9]


Галерея

Лулзи

А лулзи починаються коли починаєш намагатись працювати з динамічними массивами[11]. Особливо коли це робиш в lazarus.


Примітки

  1. ↑ Воно так і було. Чесно
  2. ↑ Проте ми пам`ятаєсо і за FreePascal
  3. ↑ Тільки true або false.
  4. ↑ Навіть мавпа освоїть.
  5. ↑ Себто на ньому не пишуть езотеричну хуйню.
  6. ↑ Кожен блок коду має починатись begin, а закінчуватись end;. Це пиздець, як зайобує, особливо у великих проектах.
  7. ↑ У порівнянні з, наприклад Python'ом коду у 100 разів більше
  8. ↑ яблачнікі запаланілі всю пла-а-а-анету
  9. ↑ Тупа, глючна реалізація. Компілює так, що ховайся(розмір скомпільованого бінаря важить 19+ Мб).
  10. ↑ То є об'єктно-орієнтована версія поцкалю
  11. ↑ Массив - группа змінних з одним ідентифікатором і з різними індексами.

Посилання