LINUX.ORG.RU

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

 


0

4

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

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



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

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

Ну действительно, кругозор узковат. Попытки меня гнобить вместо реального обсуждения того, хорош ли C++, не являются разговором по теме. Ты на самом деле продвигаешь С++, потому что ты плюсофил и хочешь, чтобы новые поколения студентов тоже жрали твой кактус. А пытаешься выдать это за какую-то объективность. Мало того, это ещё и неэффективно. Я не говорю, что фортран хорош. Он тоже плох. Я пока не вижу, как С++ дохнет, потому что вообще нашёл место в сторонке от него и меня особо не интересует судьба этого языка. Но когда он сдохнет, программирование станет лучше. И тебе следует перейти от фанатизма к пониманию этого факта.

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

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

А что, если Кобол придётся считать живым, это доставит тебе какой-то дискомфорт? Вообще-то в 2023 году вышел новейший стандарт этого языка, как кстати, и новейший стандарт Фортрана. У лиспа с этим дела похуже. Но не совсем ясно, почему у тебя именно такое понятие мёртвости. Оно выглядит какой-то вкусовщиной. На мой взгляд, мёртвый язык - это тот, код на котором не исполняется. Хотя, конечно, если мы берём по аналогии с человеческими языками, то латынь не является мёртвым языком - это государственный язык государства Ватикан.

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

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

А если на языке не копипастаются в каком-то значимом количестве helloworld’ы, то, значит, язык не подходит для новичков? ;)

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

Ну действительно, кругозор узковат

В моделировании кругозор определяется не числом ЯП а знанием численных методов и физических моделей (забыл указать максиму и гнуплот, да). Программирование там едва ли треть от общего объёма работы.

Точно так же, кругозор программиста определяется не числом ЯП а технологиями которыми он владеет. Странно что Вы этого не знаете…

Попытки меня гнобить

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

Ты на самом деле продвигаешь С++, потому что ты плюсофил

Из Вас Ванга фиговая. Я не люблю плюсы, они ужасны - просто ничего лучше объективно нет под мои задачи. Коллеги баловались хаскелем и растом- но все равно вернулись на плюсы.

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

Это имеет отношение к кругозору и к оценке особенностей разработки числодробилок. Но за пределами Вашего понимания, увы…

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

А что, если Кобол придётся считать живым, это доставит тебе какой-то дискомфорт?

А тебе что, доставляет какой-то дискомфорт терминология, которой я пользуюсь? Можешь считать кобол и лисп живыми, никто тебе не запрещает. Только не жалуйся потом, что другие на тебя будут смотреть, как на сумасшедшего :)

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

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

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

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

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

Там после function FuncRead тип результата и точку с запятой забыли...

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

Вообще то нет

Вообще-то да. Если я не использую - значит не нужно. И да я не писал про победу Фортрана.

Я три (ТРИ!!!) раза просил Вас озвучить свой опыт Что Вам даст мой ответ? Это все внутренние проекты.

скорую смерть плюсов

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

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

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

vM ★★
()

Почему не C (и все его производные) - лично для меня:

  1. С - для внимательных. Если в фрагменте кода строк на 200 найдётся с десяток тупых ошибок (это про меня) - С не подойдёт точно. Вероятность, что при использовании Паскаля компилятор остановится на такой ошибке, близка к 1. Для С это не совсем так - пример типа if (a=0), застрявший в ядре на годы, показывает это. Да, можно бороться -Werror и т.п., но спасёт не всегда - парочка ошибок из десятка проскочит. А ещё парочка совершенно глупых предупреждений (превратившихся в ошибки), блокирующих компиляцию кода, выбесят рано или поздно.
  2. Константы. Определять их через макрос - так себе идея. Забивать гвозди микроскопом - точно логичнее. Макрос - очень мощный механизм, практически меняющий язык. Если в #define вкрадётся что-то лишнее - результат непредсказуем. Впрочем, злоупотребление макросами приводит к проблемам с #include, когда неправильная их последовательность приводит к невозможности сборки.
  3. «Заковыристые конструкции», приводящие к непредсказуемому результату (13 или 14? Но зачем вообще при вычислении значения простыми действиями увеличивать переменную на 1? Мухи отдельно - котлеты отдельно, либо считаем, либо увеличиваем).
  4. Как собрать программу - нужна отдельная схема (скрипт, makefile или вообще одно навороченное на другое). Неправильная последовательность действий - и ничего не соберётся. Паскаль сам «подтягивает» нужные модули, теоретически достаточно указать компилятору основной файл (при условии что стандартные модули прописаны по стандартным путям, но это важно и для С)
  5. #include… С одной стороны, это очень «системно», с другой - достаточно монструозно. С учётом макросов, язык может изменяться в корне. Модули в Паскале не трогают язык.

Почему «недостатки» Паскаля для меня маловажны:

  1. Место определения переменных - да, может, и неудобно было… Но сейчас это дело одной комбинации клавиш - и переменная определена в ближайшем блоке определений.
  2. Несовпадение с «языком системы» - да, может быть проблемой… Но в большинстве случаев все библиотеки API имеются. На крайний случай, есть h2pas.
FoodChemist
()
Ответ на: комментарий от vM

Причём тут, что дал или не дал учитель? В книге приведён пример программы по конкретной теме. Что зазорного в том, чтобы проверить как работает данная программа и работает ли она вообще?

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

я не писал про победу Фортрана.

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

И выше тоже от Вас было. Врать нехорошо.

Я три (ТРИ!!!) раза просил Вас озвучить свой опыт

Что Вам даст мой ответ? Это все внутренние проекты.

Я не просил исходный код выкладывать, я просил перечислить задачи без подробностей - это никаким боком не попадает под NDA. Но мне будет достаточно понять что Вы из себя представляете. А теперь вот ссылки на закрытость пошли, бггг… слив засчитан.

Плюсы стараются отовсюду убрать.

Только в Вашем манямирке. В общем Вы какой то скучный, не пишите мне больше.

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

Бьете ли вы свою жену и пьете ли коньяк по утрам?

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

И выше тоже от Вас было. Врать нехорошо.

Нужно не только уметь читать, но и понимать прочитанное.

я просил перечислить задачи без подробностей

Оптимизация конструкций и компоновка, например. О чем это может говорить?

Только в Вашем манямирке.

Это реальность. Все крупные корпорации пытаются минимизировать применение крестов. В идеале вообще выбросить их.

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

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

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

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

как работает данная программа и работает ли она вообще?

И программа ли это вообще?

Нет, это пока не программа, а какой-то текст, дополняющий и иллюстрирующий то, что написано выше и, возможно, ниже.

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

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

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

Это ты пытаешься увильнуть от обсуждения особенностей C++ как языка программирования (где ты слаб) в обсуждение конкретной предметной области. В плюсах нет ничего хорошего для предметной области числодробилок. Чего стоит одна только возможность прочитать мусор.

Понимаешь ли, обсуждение численных методов абсолютно никак не связано с различиями между C++, Паскалем, Лиспом и Коболом. Т.е. просто налицо попытка перевода темы.

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

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

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

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

Я не люблю плюсы, они ужасны - просто ничего лучше объективно нет под мои задачи.

Ты забыл добавить «сегодня» и «с учётом наличия библиотек». Когда-то такими же свойствами обладали Кобол, Лисп, Фортран. Наш общий сумасшедшесмотрящий дружок написал, что «мёртвое - это то, что я хочу называть мёртвым» или как-то в этом роде, и ты подписался под этим.

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

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

Нужно не только уметь читать, но и понимать прочитанное.

Пошло виляние, бгггг. «Вы меня не так поняли!»

Оптимизация конструкций и компоновка, например. О чем это может говорить?

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

Слова SAT и ограниченный перебор Вам о чем то говорят? Большинство таких солверов на плюсах внезапно, бггг:-)

Все крупные корпорации пытаются минимизировать применение крестов.

Не врите, Вы понятия не имеете что творится во ВСЕХ крупных корпорация. Ваша контора может и пытается от крестов уйти - ну так в РФ не так много мест где числодробилки делают на должном уровне. Вы видимо из такого места где их толком писать не умеют, это многое объясняет

Не надо свой скромный личный опыт обобщать на весьмир.

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

… когда исправите опечатки, успешно откомпилируете, проверите работу, найдёте и исправите возможные ошибки…

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

А если совсем коротко: в учебном пособии приведён нерабочий пример. Хотя, кто знает, может в Turbo Pascal 7.0 данный исходник успешно компилируется?

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

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

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

Вряд ли авторы тех числодробилок, знающие численные методы и не знающие, как оптимизировать компиляторы, разбираются в том, какие флажки именно в их компиляторе приводят к неверным результатам. Они вынуждены полагаться на экспертизу какого-нибудь Столлмана или Торвальдса, что, согласитесь, глупо.

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

Правда, с оптимизациями там плохо

Вот поэтому оно и не взлетело. Хорошая оптимизация ускоряет код на порядок, это очень много если счёт на кластере вместо месяца идёт три дня.

Вы понятия не имеете что такое HPC, заканчивайте уже позориться.

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

Я не хочу даже знать, что такое НРС, потому что здесь тема - это Паскаль, даже не плюсы. Каким образом мне необходимо знание HPC или НРС, чтобы не позориться в этой теме?

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

Был человек, правда, он умер уже, который выкинул плюсы и для расчётов по физике использовал Оберон. Даже не АО, а Блекбокс. При том, нанятый специалист по плюсам задачу не осилил. А он, не будучи программистом, осилил. Я не знаю деталей, что там за задача, но там видимо, сочетание символьных вычислений и числодробилки. И как-то так получилось, что убожество компилятора никоим образом не помешало провалу плюсов и успеху Оберона.

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

скорость работы неправильно работающей программы значения не имеет

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

Никакой оберон тут не поможет.

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

Если в этом тексте опечатки, а возможно и ошибки

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

может в Turbo Pascal 7.0 данный исходник успешно компилируется?

Если у Вас нет среды Turbo Pascal 7.0, то зачем Вы изучаете учебное пособие, посвященное программированию в этой среде?

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

Возможно и так, однако это не значит, что студентам надо учить плюсы вместо фортрана или Паскаля. Если сложность не в ЯП, то и неважно, какой язык используется. А плюсы, будучи дерьмовым языком, добавляют новые возможные точки отказа, которых нет в том же Паскале, не говоря уж об Обероне. С другой стороны, метавозможности плюсов смехотворны. Вот, например, мой проект,

https://tvoygit.ru/budden/jar/src/branch/master/приложения/стирлинг/m/piston-drive-kinematics/piston-drive-krivoship.lisp#L17

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

В плюсах как это сделать? Для этого нужна уже не библиотека, а целый DSL. Т.е. это не средствами языка делается, а по сути дела отдельным генератором кода. А в лиспе это не нужно. И вот, если бедные юнцы будут учить только кресты, то они и не узнают, что не нужны эти yacc, lex, uic, и предполагаемый генератор символьных производных, а всё это легко делается внутри языка, если язык нормальный. Равно как они не узнают и о том, что необязательно заботиться о размещении в памяти каждого объекта и дрожать от того, что произойдёт use after free.

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

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

sabacs
()
Ответ на: комментарий от vM
  1. Два раза сравнил текст в пособии с набранным на компьютере, вроде всё сходится.

  2. Я не изучаю, просто из спортивного интереса решил проверить, что скомпилируется из приведённых программ в fpc, а что нет.

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

Студентам надо учить то, на чем они потом будут работать. Сейчас основной инструмент в HPC это плюсы - значит студентам надо учить плюсы. В т.ч. учить правила (они довольно просты) как писать на плюсах надёжный код.

Там где возможностей плюсов не хватает в дело вступают кодогенераторы побсового кода на питоне или каких то CAS. Это бывает нечасто, но бывает.

В этом диалоге разница между мной и Вами в том, что Вы понятия не имеете что такое индустрия HPC, а я в ней четверть века успешно работаю, в т.ч. студентов/аспирантов учу;-)

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

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

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

В общем-то твоя терминология неправильная, содержащая вкусовщину, т.е. враньё.

Потому что ты сказал? Так это не аргумент вообще, уж извини.

не знаю по какой причине

О, диагнозы по аватарке пошли.

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

Именно поэтому у меня вызывает недоумение то, что ты считаешь мертвые языки живыми.

А за других не говори.

Сказал юзернейм, выдающий свое мнение за инстину в последней инстанции.

Я твои религиозные чувства задел в отношение лиспа, что ли? Признайся.

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

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

Ты уже написал, что:

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

По-моему, на этом можно заканчивать. Просто надо дать это прочитать юным неокрепшим умам, и пусть они сами решат, ограничиться ли им изучением только плюсов или нужно учить всё остальное, включая, как тут правильно отметил @vM, VHDL.

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

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

Он самый любимый на свете, но очень колючий.

Любить неколючего — дело нехитрое, а вот попробуй колючего полюбить так, чтобы он был для тебя самым любимым на свете…

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

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

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

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

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

Узнаю ЛОР. Если жёсткий спор длиннее короткого перебрасывани «X говно — нет не говно», так обязательно о терминах и с переходам если не на личности, то на аватары (как ниже). Классика прям :)

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

Потому что она такая.

Ясно. Она такая, потому что ты так сказал. Вот это уровень дискуссии, вау. Просто браво.

В каком словаре ты взял твоё определение мёртвого?

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

Единственное, что ты смог сказать в свою защиту

Я сказал, что ты можешь считать что угодно, но «кисо обиделось».

Извини, больше пока с тобой не о чем говорить.

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

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

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

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

В том числе и термина «мёртвый язык»?

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