LINUX.ORG.RU

Почему не FreePascal+Lazarus?

 , ,


0

5

На паскале пишешь? Фу таким быть...

Почему не принято для Linux писать что-то на FreePascal? Да, язык немного менее гибкий, чем C/C++, более тяжеловатый синтаксис и begin end вместо скобочек кое-кого реально задалбывают. Но зато благодаря более развитой типизации и другим более безопасным вещам меньше шансов «выстрелить в ногу» при сохранении в тоже время и достаточной при необходимости низкоуровневости, чтобы писать даже системные вещи.

Реально раздельная компиляция на уровне языка, при том, что поддерживается и заголовочно-линкерская раздельность как в Си.

Да, есть некоторое отставание по таким возможностям, как всякие там лямбды, хотя в Delphi их добавляют, но не будем о Delphi. Вот положа руку на сердце, прям так жить без них нельзя в том же C++? Или лучше использовать для них Лисп, Haskell, OcaML и тп. а не скрещивать ежа с ужом, превращая язык в какого-то необозримого монстра, все возможности которого мало кто знает. При том, что в том же FreePascal/Delphi тип процедура/функция и object дают возможность совершать некоторые фукциональные трюки.

Стандарт? Да, стандарта нет. Но как будто на практике с этим сильно лучше у C++? Фактически крупные программы пишутся под конкретный компилятор и даже версию компилятора, на других могут быть сюрпризы даже на одной платформе, заранее положиться без тестирования, что оно соберется и будет себя также вести нельзя.

★★★★★

Ответ на: комментарий от mongo

Сабж для идиотов!

А когда мне попалась книжка Kernighan & Ritchie «The C Programming Language» я сразу понял что это то что нужно - простой лаконичный язык без нелепых ограничений.

В Си нет ограничений, и поэтой причине некоторые создали интерпретируемые языки типа Java. В котором код исполняется внутри виртуальной машины. Те, кто создаёт безопасные языки наверно дураки, ведь есть такая замечательная штука под названием Си.

Про «нелепые ограничения» говоришь? А давай, выпустим из мест заключения всех уголовников. У этих типов ведь нет никаких ограничений. Могут любого ограбить, слабого избить ... короче охрененная сбобода.

А про армию расскажите, что там в учебке, тоже на C программируют?

Вот сидишь и думаешь человек иронизирует, или просто незнает жизни и спрашивает?

anonymous
()
Ответ на: Сабж для идиотов! от anonymous

Java не вызывает рвотных позывов в отличии от паскаля. В джаве ограничения на прямой доступ к памяти носят вполне логически обоснованный характер. Просто происходит работа не с компьютером напрямую а с виртуальной машиной. Кроме того C-подобный синтаксис это плюс джавы.

Причём тут уголовники, какой то бред пишите. И откуда мне знать что то про армию если я программист а не военный. Если хочешь что то рассказать рассказывай.

mongo
()
Ответ на: комментарий от mongo

Причём тут уголовники, какой то бред пишите. И откуда мне знать что то про армию если я программист а не военный. Если хочешь что то рассказать рассказывай.

Ты реально такой тупой или прикидываешся?

anonymous
()
Ответ на: комментарий от anonymous

Сдаётся мне что тупой как раз ты. Так толсто троллить может только тупой.

mongo
()

1) сторонние библиотеки - их крайне мало 2) поддерживаемые архитектуры - нет смысла из-за языка ограничивать приложение, это не винда

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от mongo

Java не вызывает рвотных позывов в отличии от паскаля...Кроме того C-подобный синтаксис это плюс джавы.

Как говорится, «на вкус и цвет...». Для меня - наоборот, «С-подобный» синтаксис не то что в Java - в octave смотрится, мягко говоря, не очень. Бред из скобок. У кого-то, видимо, неприятные ассоциации с паскалем. Мало ли, может, за паскаль на информатике двойку поставили, а потом... А,может, что совсем другое. Психологические комплексы - они такие комплексы.

Причём тут уголовники, какой то бред пишите.

Видимо, речь о том, что избыток свободы - не есть хорошо. В паскале сложнее накрутить чего-нибудь мозголомное (что завтра же сам не поймёшь, зачем оно и как будет работать) в одной строчке, объединив, например, присваивание и сравнение. Хотя при желании, особенно введя для этого свои типы и функции, вполне можно.

FoodChemist
()
Ответ на: комментарий от I-Love-Microsoft

1) сторонние библиотеки - их крайне мало

Если речь собственно о динамических библиотеках - то их мало. Если речь о наборах модулей, то вполне достаточно. К тому же, С-шные библиотеки подключаются достаточно легко (если только заголовок не изобилует навороченными макросами).

2) поддерживаемые архитектуры - нет смысла из-за языка ограничивать приложение, это не винда

FPC не так уж и ограничен в архитектурах. Более того, он раньше GCC смог win64.

FoodChemist
()
Ответ на: комментарий от FoodChemist

он раньше GCC смог win64

и чо? паскаль не нужен, ответственно заявляю

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от FoodChemist

Если вы про избыток свободы в C так он для этого и создан, поэтому и называется high level assembly и в своей нише он не превзойдён. Существует множество других языков ограничивающих прямой доступ к памяти и создающих высокоуровневые абстракции. Так вот эти абстракции носят полезный для практического применения характер. Ваш же паскаль нагромождение заумных не нужных на практике типов данных. Может я его плохо знаю но вот не хочу изучать и не буду, видимо как и большинство. Вот и ответ на вопрос темы - для большинства программировать на паскале так же не естественно как красить зубы в зелёный цвет.

mongo
()
Ответ на: комментарий от mongo

Ваш же паскаль нагромождение заумных не нужных на практике типов данных. Может я его плохо знаю но вот не хочу изучать и не буду

и слава богу :)

superuser ★★★★★
()
Ответ на: комментарий от mongo

Ваш же паскаль нагромождение заумных не нужных на практике типов данных.

О чём разговор? О классическом варианте паскаля, о всех типах современного модуля Classes или о всех типах, которые можно найти в Lazarus вообще? Если второе или третье, то что можно сказать о C++ с его библиотеками (скажем, Qt+KDE)?

Может я его плохо знаю но вот не хочу изучать и не буду, видимо как и большинство.

О каком большинстве речь? Большинство не-программистов (программисты-любители - аналогично) изучало паскаль в школьном/ВУЗовском курсе информатики, так что знают только его (многие - очень плохо, но лучше, чем что-то ещё). О Си они хорошо если где-то когда-то слышали, но с большой степенью вероятности не сразу сопоставят эту английскую букву с языком программирования.

FoodChemist
()
Ответ на: комментарий от FoodChemist

О чём разговор? О классическом варианте паскаля, о всех типах современного модуля Classes или о всех типах, которые можно найти в Lazarus вообще?

Не знаю - в сортах говна не разбираюсь. Помню только какой то дубовый доисторический UI полноэкранной среды программирования для маздая, идиотские begin...end, и необходимость указывать размер передаваемого в функцию массива! Т.е. для каждого размера массива писать отдельную функцию!!!??? Руки чесались написать что то полезное но все попытки сделать что то полезное с помощью этого говна заканчивались рвотными позывами. Когда же я познакомился с C и linux то я как будто бы почуствовал себя программистом и начал получать удовольствие от процесса работы с компьютером. Может быть паскаль как то развивался с тех пор но изучать его ни за что не буду, не знаю что хорошего могло развиться из этого говна и знать не желаю. После изучения C изучил много других языков таких как C++, Java, Ruby, Python, PHP, JavaScript, Haskell но ни один из них не вызывал таких рвотных рефлексов как это делал паскаль.

Если второе или третье, то что можно сказать о C++ с его библиотеками (скажем, Qt+KDE)?

Qt - очень удобная среда для разработки кроссплатформенного UI.

О каком большинстве речь? Большинство не-программистов (программисты-любители - аналогично) изучало паскаль в школьном/ВУЗовском курсе информатики, так что знают только его (многие - очень плохо, но лучше, чем что-то ещё). О Си они хорошо если где-то когда-то слышали, но с большой степенью вероятности не сразу сопоставят эту английскую букву с языком программирования.

Знаю ваш паскаль действительно очень плохо и очень этому рад. С Си знаком очень хорошо.

mongo
()
Ответ на: комментарий от mongo

Т.е. для каждого размера массива писать отдельную функцию!!!???

Бгг, то ли дело передать указатель вместо массива, да? Хотя хз что тебе мешало сделать то же самое и в паскале.

Не знаю, было ли это в том паскале, который ты изучал, но давно уже можно передавать произвольного размера массив, и использовать Low() и High(), чтобы узнать границы оного. Не говорю уж о возможности передать массив по значению.

unC0Rr ★★★★★
()
Ответ на: комментарий от mongo

Знаю ваш паскаль действительно очень плохо и очень этому рад. С Си знаком очень хорошо.

Понт засчитан, а теперь иди и дрочни на книжку Кернигана.

anonymous
()
Ответ на: комментарий от unC0Rr

А на хрена вообще было вставлять туда эти массивы тогда. Они всё равно не предоставляют полезной на практике абстракции как это делают реализуемые средствами самого языка контейнеры в C++. Вот то что мне нравится в идеологии C/C++ так это то что языки не захламлены встроенными Low()/High() а позволяют реализовать это всё средствами языка. Паскаль по сравнению с C/C++ это как набор слов по сравнению с поэмой.

mongo
()
Ответ на: комментарий от unC0Rr

И то что нет нормального стандарта это тоже показательно. Стандартизировать это месиво нахрен никому не надо. Паскаль запомнился как якобы более простой язык для обучения программированию. Правда я так и не понял чем он проще т.к. осилить этот отстой так и не смог. Ну ненравится и всё тут, почти всем.

mongo
()
Ответ на: комментарий от unC0Rr

А вот ещё вспомнил идиотские паскальные циклы for i := 1 to 13. Они и рядом не стояли с циклом for в C. Омерзительно ограниченная конструкция типично демонстрирует всю ограниченность языка. Там break/continue то добавили хотя бы? А return? Как это может кому то нравиться? Это всё равно что выкинуть из языка половину слов и пытаться что то сказать.

mongo
()
Ответ на: комментарий от mongo

незнайке

Вот то что мне нравится в идеологии C/C++ так это то что языки не захламлены встроенными Low()/High() а позволяют реализовать это всё средствами языка.

А сишники не пользуются готовыми функциями и библиотеками, да? А на Компонетном Паскале нельзя да решать задачи только средствами языка, да?

А вот ещё вспомнил идиотские паскальные циклы for i := 1 to 13. Они и рядом не стояли с циклом for в C. Омерзительно ограниченная конструкция типично демонстрирует всю ограниченность языка. Там break/continue то добавили хотя бы? А return? Как это может кому то нравиться?

FOR i := 0 TO n-1 DO
    IF a[i] = x THEN pos := i; RETURN END
END

Мне это нравится. Синтаксис Паскаля наиболее приближен к естественному языку.

mongo, тебе вчера вроде показали дверь на выход. Иди отсюда!

anonymous
()
Ответ на: незнайке от anonymous

Поправлю. Думаю имелось ввиду что-то типа этого:

  for i := 0 to n-1
  do if a[i] = x
     then begin
          pos := i;
          break
          end
или
 for i := 0 to n-1 do if a[i] = x then Exit(i);

superuser ★★★★★
()
Ответ на: незнайке от anonymous

А сишники не пользуются готовыми функциями и библиотеками

Пользуются реализованными на C функциями из готовых библиотек а также пишут свои. Синтаксис простой, понятный, мощный, и логичный.

, да?

Что да?

А на Компонетном Паскале

Ну и что ещё за зверь такой. Поясните человеку не разбирающемуся в сортах говна.

Мне это нравится.

Ну раз тебе это нравится - поздравляю, ты извращенец.

Синтаксис Паскаля наиболее приближен к естественному языку.

Дай определение естественного языка. Что это такое? Как вычисляется критерий естественности? Я вот например не могу представить ничего более естественного чем for (initialization; test; reinitialization);

mongo, тебе вчера вроде показали дверь на выход. Иди отсюда!

Какую дверь? Кто показал? Ты бредишь, онанимус?

mongo
()
Ответ на: комментарий от mongo

идиотские begin...end

Ровно на столько же как {...} в сишке и прочих языках с c-like синтаксисом. Толку от этих всех блоков нет никакого, только лишние ошибки добавляют.

паскальные циклы for i := 1 to 13. Они и рядом не стояли с циклом for в C.

Не вижу преимуществ for в сишке. В 99% случаев сишный for полностью повторяет for из паскаля. Для иных ситуаций можно использовать while или другие типы циклов.

Там break/continue то добавили хотя бы? А return?

В современных реализациях это всё есть. Но оно на самом деле чаще всего не нужно. Я уже точно года полтора не писал break, а continue вообще никогда не приходилось использовать.

Return в принципе тоже не нужен, одной точки выхода из функции более чем достаточно. На собственном опыте проверял ограничивая сам себя: приходилось думать больше, но в результате доходил до более правильного(или красивого) решения.

DeaDDooMER
()
Ответ на: комментарий от DeaDDooMER

Толку от этих всех блоков нет никакого, только лишние ошибки добавляют.

Где именно там ошибки «блоков»?

Я уже точно года полтора не писал break, а continue вообще никогда не приходилось использовать.

Хм.

но в результате доходил до более правильного(или красивого) решения.

Больший уровень вложенности - красивее?

DarkEld3r ★★★★★
()
Ответ на: комментарий от mongo

и необходимость указывать размер передаваемого в функцию массива!

А как без этого? Если массив статический, и Вы передаёте его весь через стек? (если нет, нужен параметр const или var, тогда размер необязателен, это - оптимальный способ передачи массивов). Другой разговор, что в С так не делают, возможно даже, так нельзя.

Т.е. для каждого размера массива писать отдельную функцию!!!???

Если для Вас совершенно принципиально передать его в стеке - то да. Если лучше не передавать в стеке - то есть const или var-параметры (последний - полная аналогия передачи массива через указатель в С, первый - куда более мощная вещь, позволяющая даже сгенерировать массив при вызове).

Руки чесались написать что то полезное но все попытки сделать что то полезное с помощью этого говна заканчивались рвотными позывами.

Здесь три варианта: либо Вы использовали древнюю версию паскаля для тех целей, для которых он не предназначен, либо Вы не знали нужных Вам возможностей (тот же параметр const a:array of char), то ли какой-то психологический комплекс.

Qt - очень удобная среда для разработки кроссплатформенного UI.

Типов там хватает, а речь шла об их избытке.

Знаю ваш паскаль действительно очень плохо и очень этому рад.

Если очень плохо, то крайне сложно оценить достоинства и недостатки, кроме как решая определённые задачи. Возможно, ряд задач был легко решаем, но не было знания нужных возможностей. С передачей массивов мы разобрались, нет такого недостатка.

FoodChemist
()
Ответ на: комментарий от DeaDDooMER

Ровно на столько же как {...} в сишке и прочих языках с c-like синтаксисом. Толку от этих всех блоков нет никакого, только лишние ошибки добавляют.

А вот когда вы пишете математические формулы для вас что удобнее

((a + b) * c)
или
begin begin a + b end * c end

? Вам не кажется что первый вариант значительно удобнее? Интуитивно видно где открывающий а где закрывающий символ. Такой эффект не возможен с набором букв begin/end. {} выделяются из текста и визуально воспринимаются.

Как вы предлагаете обойтись без блоков в императивных языках? Я просто всегда использую {} когда тело блока занимает больше одной строчки.

Не вижу преимуществ for в сишке. В 99% случаев сишный for полностью повторяет for из паскаля. Для иных ситуаций можно использовать while или другие типы циклов.

Очень странно, я очень часто использую, в том числе for (;;); без тела вообще где вся работа осуществляется внутри скобок. Получается компактный а следовательно более удобочитаемый код т.к. не надо бегать глазами по beginendам и прокручивать страницы. Да и во многих open source проектах видел очень частое его использование в таком виде в котором в паскале пришлось написать на полстраницы whilebeginendов.

Я уже точно года полтора не писал break, а continue вообще никогда не приходилось использовать.

Сочуствую. Это какой то Паскаль Мозга.

Return в принципе тоже не нужен, одной точки выхода из функции более чем достаточно. На собственном опыте проверял ограничивая сам себя: приходилось думать больше, но в результате доходил до более правильного(или красивого) решения.

Думаю правильнее будет сказать «более запутанного решения».

mongo
()
Ответ на: комментарий от FoodChemist

Передавать массив в стеке это идиотизм. А потом ещё говорите что в C много свободы для идиотов. И после этого ещё кто то говорит что паскаль проще для начинающих. Вот уж нет. Паскаль это заумная абстракция средневекового математика вирта который никогда не применялся на практике для серьёзных проектов и никогда не будет применяться.

Типов там хватает, а речь шла об их избытке.

Там всё логично и продумано, никакого избытка там нет.

Если очень плохо, то крайне сложно оценить достоинства и недостатки, кроме как решая определённые задачи. Возможно, ряд задач был легко решаем, но не было знания нужных возможностей. С передачей массивов мы разобрались, нет такого недостатка.

Для работы на низком уровне мне нравятся указатели C и паскальная недоабстракция наполовину нафиг не нужна. Для работы на высоком уровне существуют полноценные контейнеры как в стандартной библиотеке C++ так и thirdparty.

Иногда можно судить о предмете даже недостаточно хорошо его зная и паскаль как раз именно такой случай.

mongo
()
Ответ на: комментарий от mongo

Правда я так и не понял чем он проще т.к. осилить этот отстой так и не смог.

Характерно. Видимо, вопрос уже к психологии. Паскаль не то чтобы проще - он, как бы лучше сказать, более структурирован. Программу на Паскале легче понять, программу на С легче начать писать методом «с места в карьер» (хотя собирать будет сложнее). Но главное достоинство Паскаля для новичков и для рассеянных - это очень большая вероятность того, что конкретный ляп будет выявлен уже на стадии компиляции.

FoodChemist
()
Ответ на: комментарий от mongo

Передавать массив в стеке это идиотизм. А потом ещё говорите что в C много свободы для идиотов.

Когда как. Если array [1..2] of byte, то самое то. Меньше указателя будет. Если хочешь использовать что-нибудь заметно большее (или потенциально большее), давным давно сказано: надо использовать параметр const. И никакого явного указателя, и нет шансов послать в nil. А если не соблюдать правила хорошего тона, то и в С можно в стеке огромный struct (включающий, например, статический массив) без указателя переслать. Вывод: Вы делали так, как делать не надо (и все говорят начинающим, что не надо), и Вам не понравилось, что при этом не всё можно.

Там всё логично и продумано, никакого избытка там нет.

Тогда какие избыточные типы в Паскале? Может, они тоже логичны, и тоже избытка нет?

Для работы на низком уровне мне нравятся указатели C и паскальная недоабстракция наполовину нафиг не нужна.

В Паскале есть указатели. Очень неплохие. И использовать их можно и нужно там, где надо (на том же низком уровне). А там, где о них не хочется думать, есть достаточно других типов, в том числе и де-факто указателей.

Иногда можно судить о предмете даже недостаточно хорошо его зная и паскаль как раз именно такой случай.

Для этого всего лишь достаточно привести явные недостатки, а не псевдонедостатки типа передачи массивов без const (которые, несмотря на нежелательность этого, вполне работают, но не позволяют большего, что, кстати, невозможно и в С). Легко выявляемым недостатком, кстати, может быть возможность допустить неочевидную ошибку, не определяемую компилятором - типа if (i=0) в С - где аналог в Паскале?

FoodChemist
()
Ответ на: комментарий от DarkEld3r

Где именно там ошибки «блоков»?

«Необычное везение»
http://www.viva64.com/media/images/content/b/0377_FreeBSD_ru/image2.png

Больший уровень вложенности - красивее?

Ну по-моему лучше получается. Некоторый код можно и попилить на отдельные функции, возможно даже универсальные. Подумать. А там может и дойдёт, что-то не так и надо переделать.

DeaDDooMER
()
Ответ на: комментарий от mongo

А вот ещё вспомнил идиотские паскальные циклы for i := 1 to 13. Они и рядом не стояли с циклом for в C.

В Паскале цикл for...to/downto достаточно ограничен (по функциональности он соответствует простому циклу for...next без step в бейсике). Но в большинстве случаев достаточно именно этого, тем более, что этот цикл только для целых и ординарных типов. В C цикл for на самом деле не совсем for, он будет ближе к паскалевскому while (то же предусловие), но используют его чаще всего именно как for, дописывая очевидное предусловие и ставя в качестве оператора именно инкремент. В Паскале тоже можно while использовать как for, там только нет отдельных операторов инициализации и изменения переменной, это надо делать отдельно - но какие проблемы?

FoodChemist
()
Ответ на: комментарий от mongo

((a + b) * c)

или begin begin a + b end * c end

В математике оба варианта нежелательны. Там пишут [(a+b)*c]. Ни Паскаль, ни С так не могут. Просто большое количество скобок подряд очень сильно путают. На мой взгляд, чуть разделённые endы читать чуть лучше, чем легко объединяемые }. Но запутаться можно и там, и там. Хорошее структурирование кода помогает. Хотя сиротский знак } на всю строку смотрится более, что ли, комично, чем слово end (скобки нужны, всё-таки, при записи в строчку).

FoodChemist
()
Ответ на: комментарий от FoodChemist

допустить неочевидную ошибку, не определяемую компилятором - типа if (i=0) в С - где аналог в Паскале?

Пиши i == 0 а не i = 0.

Тогда какие избыточные типы в Паскале? Может, они тоже логичны, и тоже избытка нет?

Паскаль и логика вещи не совместимые.

mongo
()
Ответ на: комментарий от FoodChemist

Характерно. Видимо, вопрос уже к психологии. Паскаль не то чтобы проще - он, как бы лучше сказать, более структурирован. Программу на Паскале легче понять, программу на С легче начать писать методом «с места в карьер» (хотя собирать будет сложнее). Но главное достоинство Паскаля для новичков и для рассеянных - это очень большая вероятность того, что конкретный ляп будет выявлен уже на стадии компиляции.

Типичная болтовня любителей паскаля. Что мешает структурировать программу на C?

mongo
()
Ответ на: комментарий от FoodChemist

Вы так и не ответили по сути почему математики не пишут begin end вместо скобок. Согласен что иногда они используют квадратные скобки наряду с обычными. Но ведь они используют именно скобки а не такой вариант:

start begin a + b end * c finish

mongo
()
Ответ на: комментарий от mongo

Сочуствую. Это какой то Паскаль Мозга.

Ну почему сразу паскаль? В том паскале который я юзал - оно было. А вот в обероне этих операторов нет, причём это точно фича. Думаю Вирт не просто так их выкинул. При необходимости они легко моделируются добавлением переменной, которая дополнительно документирует код, в отличии от break и continue.

DeaDDooMER
()
Ответ на: комментарий от mongo

Вы так и не ответили по сути почему математики не пишут begin end вместо скобок.

Потому что исторически сложилось. Причём тут паскаль и сишка?

DeaDDooMER
()
Ответ на: комментарий от mongo

Пиши i == 0 а не i = 0.

Так не у меня ошибка. Как-то чуть ли не в ядре линукса находили.

Паскаль и логика вещи не совместимые.

Совершенно необоснованное высказывание. Куда менее обоснованное, чем если слово «Паскаль» заменить на «Си».

FoodChemist
()
Ответ на: комментарий от mongo

Типичная болтовня любителей паскаля. Что мешает структурировать программу на C?

Ничего, только в Паскале это условие обязательно. Блоки данных и кода отделены друг от друга. Что же до ошибок компиляции, у С куда больше шансов их пропустить.

FoodChemist
()

Сегодня поставил поиграться вот эту штуку, там не слишком простая кроссплатформенная гуйня, прилично выглядящая на винде и располагающаяся практически в одном бинарнике размером 4.8 Мб. Сначала подумал, что написано на Д, оказалось, что на лазарусе. Прямо уважения прибавилось.

ovk48 ★★★
()
Ответ на: комментарий от DeaDDooMER

Потому что исторически сложилось. Причём тут паскаль и сишка?

Неужели вы не видите что begin begin a + b end * c end / begin begin f + m end * begin z + n end end совершенно нечитабельно? Вы попробуйте решить уравнение пользуясь begin/end вместо скобок.

mongo
()
Ответ на: комментарий от FoodChemist

У паскаля куда больше шансов не написать полезного кода вообще, какие уж там ошибки компиляции.

mongo
()
Ответ на: комментарий от mongo

Попробуй написать войну и мир, пользуясь скобками вместо слов. При чём тут математические формулы к коду программы - разные вещи совсем. И в паскале таки формулы пишут со скобками.

unC0Rr ★★★★★
()
Ответ на: комментарий от unC0Rr

При том что { или } это отдельный символ который проще воспринять как ограничитель блока нежели слова из множества букв. Как это может быть не очевидно, вы паскалисты все какие то странные. Кстати да, вспомнил, из тех кого знаю кому нравится паскаль все какие то странные личности.

mongo
()
Ответ на: комментарий от mongo

Если бы не было mongo, то его надо бы было придумать. Реальный еблан.

anonymous
()
Ответ на: комментарий от mongo

Но ведь так не пишут на паскале. Вы точно тыкали паскаль? А то ни break, ни continue. И begin-end вместо скобок в выражениях.

DeaDDooMER
()
Ответ на: комментарий от mongo

При том что { или } это отдельный символ который проще воспринять как ограничитель блока нежели слова из множества букв.

Проще написать - не значит проще прочитать. В Паскале операторные скобки состоят из операторов (begin и end), потому что они операторные (С)КО. Простые скобки хороши для простых математических выражений. На end глаз остановится лучше, чем на }, особенно если идёт некрасивое end;end;end (а }}} воспринимается куда хуже).

FoodChemist
()
Ответ на: комментарий от FoodChemist

Ну вот лично у меня end;end;end набор букв а }}} воспринимается лучше. Видимо ваш разум работает по другому. Кроме того }}} грамотные программисты не пишут а визуально выделяют блоки с помощью отступов. С языками с C-синтаксисом мне вполне удобно различать блоки установив размер табуляции в 2 символа. Когда познакомился с ruby посчитал это недостатком языка что тяжеловато было искать глазами блок do/end, реально затруднительно по крайней мере для меня.

mongo
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.