LINUX.ORG.RU

Программируете ли вы на Паскале?

 


0

4

Под «Паскаль» понимается любая реализация языка программирования Паскаль. Это опрос, чтобы узнать настоящее, текущее отношение людей к данному языку программирования.

>>> Результаты



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 4)

Раньше писал. На Турбо Паскале, потом на Delphi.

Очень мощный язык для прикладного программирования, кто бы что ни говорил. Правда, вот года три назад по просьбе заказчика пришлось ненадолго сдуть пыль с одного старого дельфёвого легаси… оказалось очень неудобно, что объявлять переменную приходится в секции var, а инициализировать где-то ниже.

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

Других неудобств не замечено. Разницу в синтаксисе с си- и жабоподобными считаю не настолько существенным фактором, чтобы ломать из-за неё копья.

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

hint: Можно завести отдельный модуль переменных variables.pas с комментариями, инициализациями. Глобальные переменные можно инициализировать сразу в секции var.

Нюансы:
1. Я заметил, что в delphi проектах широко используются функции winapi, в частности, sendmessage и другие. Поэтому переписывать код под онтопик затруднительно.

2. Логика и функции некоторых аналогичных друг другу компонентов lazarus и delphi существенно отличаются. Например, richedit и richmemo.

3. Установка lazarus из репозитариев дистрибутива у меня обычно приводит к ошибкам самого lazarus. Установка же пакетов с сайта решает эту проблему.
В alt-образовании, впрочем, всё установлено «из коробки».

4. Для работы некоторых компонентов приходится методом тыка узнавать, какие -dev пакеты нужно ещё доустановить.

Если это учесть, то можно пользоваться.

novus
() автор топика
Последнее исправление: novus (всего исправлений: 1)
Ответ на: комментарий от novus

Можно завести отдельный модуль переменных variables.pas с комментариями, инициализациями. Глобальные переменные можно инициализировать сразу в секции var.

Чтобы что? Чтобы совсем запутаться? Инициализация «по месту» в C++ (да и в большинстве более новых языков) как раз хороша тем, что неинициализированных переменных нет. А глобальных переменных в проекте вообще должно быть крайне ограниченное количество. Ну и честно говоря, формулировка «отдельный модуль с инициализациями» наводит на мысль, что под инициализацией ты понимаешь что-то своё. Ну или речь о проектах не сложнее хеллоуворлда.

Я заметил, что в delphi проектах широко используются функции winapi, в частности, sendmessage и другие.

Ну смотря кто эти проекты делал. :) Помнится, мы в своё время WinAPI задействовали, чтобы делать единую авторизацию в ОС и БД, работать со списком пользователей ОС, например. И конечно, оно было вынесено в отдельный модуль. Но бывает, что и не по делу непереносимые конструкции тащат.

Кстати, сейчас особо одарённые личности и в кутешные проекты такое тащат. К примеру, руководство смотрело на перспективу, распорядилось писать на кроссплатформенном инструментарии, а кодеры, которые ничего кроме винды не знают и не хотят, затащили в проект модуль, который с экселем через ActiveX работает. Виновато, разумеется, руководство, надо было не только распоряжаться, но и контролировать, один кроссплатформенный инструментарий кроссплатформенности ещё не гарантирует.

  1. Логика и функции некоторых аналогичных друг другу компонентов lazarus и delphi существенно отличаются. Например, richedit и richmemo.

Печально, раз так.

  1. Для работы некоторых компонентов приходится методом тыка узнавать, какие -dev пакеты нужно ещё доустановить.

Я больше скажу. Мне не нравится, что для того, чтобы тупо собрать проект, надо ставить целый лазарус. Такое ощущение, что про CI мейнтейнеры этого дела и не слышали. Возможно, я не прав, и где-то расписано, как использовать LCL отдельно от IDE. Но пока что вот самый, наверное, известный на ЛОРе паскалевский проект – CudaText – из командной строки собирается только отдельным очень страшным скриптом со стороннего сайта, и если я не ошибаюсь, он предполагает, что целый лазарус уже установлен. Всё-таки нет вокруг fpc такой инфраструктуры, как вокруг gcc, похоже…

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

День ото дня накапливается ряд проектов, не идентичных, но похожих, в которых участвуют одни и те же переменные. Чтобы не терять времени в будущем, их можно объявить и определить (им присвоить) в отдельном юните.
То же касается и подпрограмм. Подпрограммы, которые кочуют из проекта в проект, идут в myunit.pas, который и подключается.

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

Объявления «по месту», как это бывает в некоторых ЯП, мне не нравятся тем, что алгоритм разбивается этими объявлениями.

Что касается сборки из командной строки, то, если настроить всё в lazarus, то потом можно одной сточкой. Примерно так я компилирую один проект из другого:

cd  "проект" ; lazbuild -Br projectname.lpr' 

novus
() автор топика
Последнее исправление: novus (всего исправлений: 1)

я когда в пту при ссср учился, нам на уроке информатики про паскаль рассказывали… это оно?

amd_amd ★★★★★
()

Давно хотел прокомментировать. Мультивыбор тут случайно или намеренно? Если мультивыбор задуман изначально, предлагаю оптимизировать:

  • Да, по учёбе
  • Да, по работе
  • Да, как хобби

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

Да, Паскаль рулёз форева!

Нет, Паскаль маст дай!

Эти варианты могут чрезмерно отвлекать. Мне кажется, опрос должен быть либо про отношение, либо про фактическое использование. А тут получился эдакий опрос-кентавр.

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

учился, нам на уроке информатики про паскаль рассказывали

Если только в прошлом и только рассказывали, то «Нет, никогда не программировал», а если была практика, то «Нет, но раньше программировал».
Или последний вариант.

novus
() автор топика
Последнее исправление: novus (всего исправлений: 1)
Ответ на: комментарий от Vidrele

Эти варианты

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

novus
() автор топика
Последнее исправление: novus (всего исправлений: 1)
Ответ на: комментарий от novus

Или последний вариант

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

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

Ну, дедушка, с тех пор паскаль из «стандартного» превратился в объектный, появилась обработка исключений, появились новые типы данных: динамические массивы, тип variant и вариантные массивы, строки в utf-8, RAD и визуальное программирование.
Я ещё новичок, а гуру вам подскажут, что сейчас bleeding edge.

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

Варианты «рулёз» и «маст дай» объединяют то, что выходит за рамки обычных учёбы, работы и невинного хобби.

Ну смотри, работа, учеба, хобби - это три бита, дающие 2^3=8 вариантов. «Нет» у тебя уже представлено. Итого, в отсутствие мультивыбора должно быть 7 «Да».

Допустим, использующие Паскаль по работе, по учебе и как хобби, проголосуют за «Да, Паскаль рулёз форева!» Куда деваться тем, кто учится программировать на Паскале и одновременно пишет на нем за зарплату или ожидаемую прибыль? Да, это крайне маловероятный сценарий. Да, такие люди едва ли найдутся. Но что если найдутся?

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

маловероятный сценарий
уникумы

У физиков есть замечательное «этим можно пренебречь».

С другой стороны, а кто не учится? Все учатся чему-то.
В противопоставлении учёбы и работы, предполагается, что те кто на работе, уже не на учёбе.
Ну, это как тот, кто плавает в бассейне, очевидно, плавая в воде, не курит. Трудно плыть и курить одновременно. Конечно, найдутся уникумы, но они погоды не делают. Ведь исследуем тренд.

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

Программы я так не пишу ).

novus
() автор топика
Последнее исправление: novus (всего исправлений: 4)
Ответ на: комментарий от novus

Понял твою задумку. Если рассмотреть реальные взаимоотношения человека и ЯП, всё это действительно чем-то будет напоминать китайскую классификацию животных. Группы, к которым человеку предстоит себя отнести, на самом деле неплохо подобраны.

Vidrele ★★
()

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

CrX ★★★
()
Последнее исправление: CrX (всего исправлений: 1)

Раньше писал (Турбо-Паскаль), и один проект до сих пор эксплуатирую и не планирую прекращать, можно даже поправить что-то раз в год. На современных ОС ближе Си.

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

Нынешний, скажем так, произошёл от того. Он сильно вырос, в нём появились объекты, модули, несколько фреймворков для написания GUI и ещё дохрена всего.

Но слова program и var там остались, разумеется. А, и присваивание конструкцией := тоже.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

Опрос некорректен. Здесь имеются как варианты про отношение к паскалю:

Да, Паскаль рулёз форева!

Нет, Паскаль маст дай!

так и варианты про использование (все остальные). При этом нет мультивыбора.

Werenter ★★★
()

Да (Pascal ABC.NET)! Иногда делаю халтурки, типа контрольных. Скорее для помощи, немного для «копейки».) Больше Java нравится, из-за кроссплатформенности.

alekssct
()
Последнее исправление: alekssct (всего исправлений: 1)
Ответ на: комментарий от novus

проектов, не идентичных, но похожих, в которых участвуют одни и те же переменные.

Не, ну точно это про проекты-хеллоуворлды. В реальных проектах оптимизация на уровне отдельных переменных неактуальна.

Подпрограммы, которые кочуют из проекта в проект, идут в myunit.pas, который и подключается.

Туда же. Вот у меня большой комплекс из трёх десятков программ, библиотека общих модулей таких myunit-ов содержит штук 20.

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

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

Год назад утилитку написал, но че-то больше не хочется.

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

Вы правы, мультивыбор тут, наверное, лишнее.

Нет, вот отключение мультивыбора как раз картину испортило.

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

Группы, к которым человеку предстоит себя отнести, на самом деле неплохо подобраны.

Только опасаюсь я, что всё равно кто-то в них не впишется, и вместо применения паскаля будут обсуждать кривость вопроса. Отдельные варианты «Да, по учёбе», «Да, по работе», «Да, как хобби» плюс мультивыбор были бы универсальнее.

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

Ну, мультивыбор несколько смажет картину. Допустим, за хобби проголосуют 30 человек, а за работу - 40, за учебу - 20. Сколько человек относятся к каждой из предложенной автором групп?

Проблему неучтенных уникумов можно полностью решить, включив работающих студентов, являющихся или не являющихся хобби-паскалистами. Я об этом говорил выше.

А вот эмоциональные ответы, как мне кажется, тут явно лишние в отсутствие мультивыбора. Если Паскаль рулез форева, как тут не похвастаться, что используешь его на работе, по учебе, от головной боли и в качестве заправки для борща? А если маст дай, то где-то отвращение успело сформироваться. Бегин-эндов едва ли достаточно, чтобы невзлюбить язык от простого чтения примеров кода. Человек явно когда-то что-то был вынужден писать.

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

Ну, вот мое виденье по итогам всех обсуждений:

Само разделение паскалистов на группы лучше оставить, потому что оно более показательно, чем 3 пункта с мультивыбором.

Если бы я составлял опрос, то убрал бы первый и последний варианты, а также вот это из описания: «Это опрос, чтобы узнать настоящее, текущее отношение людей к данному языку программирования». Но автор эти варианты довольно аргументированно отстаивает. Наверное, если голосующий таки выберет между фанатичным вариантом и фактическими, это тоже будет показательно.

Может быть, я бы добавил «Да, по учебе и работе», «Да, по учебе, работе и как хобби», чтобы точно никого не исключить. Но автор, если я правильно понял, опасается, что такие варианты будут слишком притягательны для работающих людей, потому что «а кто не учится?» В качестве альтернативы можно добавить к описанию что-то вроде «Если вы работаете и учитесь, выбирайте варианты с работой».

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

Для редких людей я добавил пункт - иное, особое отношение к Паскалю.
Каждый человек - уникальная вселенная, отдельный мир, к тому же меняющийся со временем, и все такие опросы - не более чем ярлык на человека на самом деле. Но для упрощённого понимания, что вообще происходит, наверное, подходит. Хотя я и не убеждён. )

novus
() автор топика
Последнее исправление: novus (всего исправлений: 5)
Ответ на: комментарий от hobbit

Есть ещё вариант:
- Преподаю Паскаль, но не программирую на Паскале.
Я думаю, найдутся и такие люди.

У нас была девушка, что вела практику на Си, но сама на Си не программировала. Но она умница, потом научилась. Давно это было.

novus
() автор топика
Ответ на: комментарий от novus
  • Преподаю Паскаль, но не программирую на Паскале.

Во! Четвёртый бит появился!

А если преподаёт и программирует, тогда что?

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

А если преподаёт и программирует, тогда что?

Тогда это хобби. Хотя и преподавание может быть и хобби такое.

А по редкостям, если монетки подбрасывать, то вариант «на ребро» обычно не рассматривается.

novus
() автор топика
Последнее исправление: novus (всего исправлений: 3)
Ответ на: комментарий от novus

А вот ты уже заранее решил, что редкость, что нет.

Вот может оказаться, что человек преподаёт Паскаль и программирует на нём в качестве хобби. За какой пункт ему голосовать?

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

человек преподаёт Паскаль и программирует на нём в качестве хобби. За какой пункт ему голосовать?

За «да, только хобби», если он на работе не пишет программы, и не является, будучи преподавателем, одновременно учащимся, получающим задания программировать.

За «да, по работе и как хобби», если он всё-таки пишет на работе программы и не является, будучи преподавателем, одновременно учащимся, получающим задания программировать.

За, «по учёбе и как хобби», если он не пишет программы на работе и является, будучи преподавателем, одновременно учащимся, получающим задания программировать.

novus
() автор топика
Последнее исправление: novus (всего исправлений: 1)
Ответ на: комментарий от novus

За «да, только хобби», если он на работе не пишет программы, и не является, будучи преподавателем, одновременно учащимся, получающим задания программировать.

Из чего он это поймёт?

Ты понимаешь, что к такому опросу ещё и целая инструкция нужна, какие кнопки нажимать? И что обсуждать будут не паскаль, а что за чудаки на букву М такой опрос придумали и подтвердили?

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

Понятно, что есть и те, и другие, и третьи, и десятые. Субъективная идентификация - это не главное.
Важно, что появляются новые версии (fpc, лазарус или недавно узнал про MSEide+MSEgui), значит, паскаль жив.

novus
() автор топика
Последнее исправление: novus (всего исправлений: 1)
Ответ на: комментарий от novus

Человек сам по себе уникален

С этим, кстати, согласен.

Странно, что исходя из этой посылки мы пришли к противоположным выводам.

Я считаю, что вариантов множество, поэтому целесообразно сделать набор простых пунктов, по которому каждый может ответить, подходят ему эти пункты или нет. И добавить мультивыбор.

А если эти пункты начинать комбинировать, но учесть не все комбинации — появляется вероятность того, что многим уникальным людям готовые сочетания пунктов не подойдут.

Не подтверждайте

Ну это детский подход какой-то. Опросы составляются для того, чтобы их подтверждали. Я в свою очередь стараюсь довести опрос до такого состояния, чтобы он был 1) понятен, 2) информативен и 3) чтобы при этом не было опрошенных, которым не подошло ничего.

Например:

  • Да, Паскаль рулёз форева!
  • Да, по работе
  • Да, как хобби.
  • Да, по учёбе.
  • Преподаю Паскаль.
  • Нет, но раньше программировал.
  • Нет, никогда не программировал.
  • Нет, Паскаль маст дай!
  • Другое, напишу в комментариях.

При наличии мультивыбора, думаю, этот набор вполне исчерпывающий, и даже вариант «Другое» тут, скорее, для очистки совести. Если за «Другое» проголосует больше 10% — значит, что-то всё-таки в опросе сразу было не так…

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

многим уникальным

Я за признание уникальности, но в данной задаче, имхо, они не очень нужны. В любом случае, они идут к пункт «иное». Тогда все учтены, все радуются.

Мультивыбор тут я не понимаю. Как выбрать люблю и ненавижу одновременно? Только хобби и не только хобби.
Это была бы перепись шизофреников. Или влюблённых, что почти одно и то же.
З.Ы. Если задача понравилась, корректируйте, я пасс. Хотелось, однако, вывести злобных хейтеров на чистую воду. Попытаться им порефрексировать, и нам поприкалываться. Почему нет.

novus
() автор топика
Последнее исправление: novus (всего исправлений: 2)
Ответ на: комментарий от hobbit

И много ли тех, кому уже не приходится ни учиться, ни работать, но они всё пишут и пишут на паскале, just for fun.

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

но они всё пишут и пишут на паскале, just for fun

А вот тут, кстати, вопрос. Если человек долгое время тянет опенсорсный (и возможно, не маленький) проект на паскале на некоммерческой основе — это хобби или работа? Или что-то третье?

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

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от novus

Мультивыбор тут я не понимаю. Как выбрать люблю и ненавижу одновременно?

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

Хотелось, однако, вывести злобных хейтеров на чистую воду.

Да я не против, я в своём варианте списка и этот пункт оставил…

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от novus

Реакции пока не дождался, подтвердил другой опрос. Но вопрос остаётся актуальным…

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

Например

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

Шизофреничность отдельных сочетаний при мультивыборе - это в копилку уникальности каждого человека. Если люди со спутанным сознанием получат опрос, в котором смогут не кривить душой, так будет в чем-то даже лучше.

Но вместо «Другое, напишу в комментариях» я за авторское «Иное, особое отношение к Паскалю». Очень лампово получилось, пусть и не по социологическим канонам.

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

оказалось очень неудобно, что объявлять переменную приходится в секции var, а инициализировать где-то ниже
Объявил переменную и тут же ей что-то присвоил.

Хорошо, что во Free Pascal так тоже можно.

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

Разницу в синтаксисе с си- и жабоподобными считаю не настолько существенным фактором, чтобы ломать из-за неё копья.

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

Gentooshnik ★★★★★
()

нет. я лабу знакомой раз делал. что-то простое. паскаль маздай, однозначно.

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

День ото дня накапливается ряд проектов, не идентичных, но похожих, в которых участвуют одни и те же переменные. Чтобы не терять времени в будущем, их можно объявить и определить (им присвоить) в отдельном юните.

Тушите свет…

yoghurt ★★★★★
()

текущее отношение людей к данному языку программирования

А как вы его узнаете посредством данного опроса? «Да, по работе» - это положительное отношение, нейтральное, негативное? Вопрос вообще звучит так: «программируете ли вы», а не «как вы относитесь к».

Сейчас лидирует «Нет, но раньше программировал.» с 60%. Это какое отношение?

Ghostwolf ★★★★★
()
Последнее исправление: Ghostwolf (всего исправлений: 2)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)