Чего мне не хватает в FreePascal

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Re: Чего мне не хватает в FreePascal

Сообщение Сквозняк » 21.04.2011 11:59:33

vada писал(а):Любителям GOTO курить FORTRAN IV. Вот там стастье то!!!!!
Не надо путать тёплое с мягким. Фортран обожают любители математики а гото помогает решать вопросы в пределах _человеческой_ логики. Гото это компьютерный аналог одной из самых живучих программистких конструкций руссгого языка, которой пользуются многие миллионы граждан. Одной простой фразой "пошёл ты на _метка_" они выражают весьма широкую гамму мыслей. Давайте не будем пользоваться гото и тогда найдётся вредитель, который под шумок выкинет его из компилятора. Оно нам надо?
Чего только стоят вычисляемые GOTO. Типа GOTO (A+B*C)*D/16.
В турбопаскале можно было использовать вместо метки имя процедуры. В фпц это давно не используется, а в версии 2.4.0 поломали и вхождение в цикл. Теперь гото не такое страшное и ужасное, не надо пугать, лучше огласите своё мнение о define и глючном лесе указателей в иде фпц.
текст программы пишут для человеков а не для компьютеров. Если человек читающий ваш код не понимает что вы там наворотили, грош цена вашему коду. Место его на помойке, даже если он выполняется быстрее скорости света.
У некоторых смысл изучения вопроса сводится к тому чтобы его не знать и не понимать. Проблемы ССЗБ, это их личные проблемы. У большинства паскальных проектов один-два разработчика, так что религиозный запрет на понимание текста с гото никак им не вредит. А кто-то переживает от того, что не сможет так просто переписать исходник на жабу с питоном. Так это их личные проблемы, они тоже о паскале не сильно пекутся. Если вам не нравятся программы с гото, так докажите это личным примером - никогда не используйте видео, закодированное х264! Юзайте дивиксовые файлы со втрое большим весом. Только, большинство человеков не входят в секту готофобов и используют софт даже не задумываясь об операторах в нём использованном - скорость и размер с картинками важнее.
ЗЫ. Помница, где-то читал, программистам дали задание реализовать такой алгоритм - если на вход блока подается 1, то выходить должно 2, и на оборот - если прихродит 2 выходить должно 1. Просто? Однако вариантов реализации десятки. Самый чумовой A := 3 - A; А чего! Задание выполнено. Только вот понять никто не может что тут имелось в виду.
Вообще-то, место в левой части строки очень ценное, особенно если у человека не орлиное зрение. Вполне нормально для части локальных переменных использовать короткое имя а справа разместить комментарий. Иногда приходится заменять умножение на fillchar, если есть такая возможность. Давай запрети и его - мешает восприятию формулы. Кнут вообще договорился до того, что произвольный доступ к элементу массива плохой подход, так как он аналогичен гото. Когда читал, представлял как перебирается несколько гигов данных для доступа к одному байту. В общем правильно он написал, пусть виндузятники от такого фанатеют и пишут кривых монстров, для виндовса так, в принципе, и надо - для игр и хрюши хватает а от всяких свист и сапогов одни непрофильные расходы дискового пространства и человекочасов.
Сквозняк
энтузиаст
 
Сообщения: 1123
Зарегистрирован: 29.06.2006 22:08:32

Re: Чего мне не хватает в FreePascal

Сообщение Maxizar » 21.04.2011 13:56:21

Что то начинает попахивать ХолиВаром. Мне кажется, что Вы Сквозняк не правильно поняли Нас, а мы не правильно расценили ваши доводы.
Вот например:

Сквозняк писал(а):Случайно не Вольво натолкнул на такую мысль?


Вы либо не хотите понять мое мнение, либо причина мне не понятна. Я разве утверждал что Goto не нужно? Я сказал и не я один, что в современных языках МОЖНО обойтись без ГОТО на все 100% именно на 100%.
НО Иногда, решение с ГОТО, действительно более правильное и более лаконичное. Но и даже в этом случае, можно обойтись только чистым языком (без ГОТО).
Вы считаете, что мы никогда не используем ГОТО? Используем (Не хотел Вас этим обидеть), и в большинстве случаев при отладке…

Сквозняк писал(а):Можно, но неудобно и постоянно придётся ломать подвал чтобы прилепить балкон. Это задача для программ кодогенераторов. Ты просто не пользовался этим оператором, взял готовое чужое мнение и не проверил, только ли правду ли пишут в книжках.


На сколько я помню Вы были не согласны с Страструпом, а вот именно Он говорит, что ГОТО – простое и самое легкое решение для кодогенераторов. Хотя кто для вас Бьерн…
Если Вы каждый раз ломаете подвал для того чтобы поменять Окно…

Сквозняк писал(а):Если вам не нравятся программы с гото, так докажите это личным примером - никогда не используйте видео, закодированное х264! Юзайте дивиксовые файлы со втрое большим весом. Только, большинство человеков не входят в секту готофобов и используют софт даже не задумываясь об операторах в нём использованном - скорость и размер с картинками важнее.


Вот Ей богу, Вы либо преподаватель либо философ, потому что именно такие люди злоупотребляют методикой доказательсвта двух противоположностей (я называю это двух личностной методикой) Потому что Вы как только видите склонность в одну или другую сторону оппонента, Вы моментально меняете поле (от программиста к юзеру и наоборот) лишь бы доказать что оппонент не прав. Да пользователь всегда выберет то что работает быстрее и выглядит более красиво. И как программист, Вы должны к этому стремится, НО и как программист, Вы должны понимать что код, должен быть кодом, а не загадкой.
Какой смысл в ГОТО, если ваши работники, будут по-тихому говорить между собой какая С…а это написала, что тут вообще делается….. да это шеф… ой тогда все прекрасно как все лаконично и красиво.

Сквозняк писал(а):При программировании на низком уровне, есть множество задач в которых известно начало и конец диапазона вычисления - то чем занимается for. Также, важно знать текущую позицию вычисления и может понадобиться выйти раньше чем диапазон закончится. Если всё это делать внутри while, то это будет эмуляция for, а для goto это естественно, поэтому оно не велосипед.


Нет ну вот опять… из одного поля в другое.. Каким Макаром Вы сравниваете Высокий язык и АСМ???. Высокий уровень языка нужен зачем? Да затем, чтобы более быстро и более в человечной форме писать программы. Эти языки позволяют писать почти на чистом англ языке применяя законы логики. Так вот ГОТО, почти всегда (Почти так что не передергиваете) нарушает логику работы.

Циклы хоть For хоть While будут заменены компилятором куском кода на асме, который будет выполнятся несколько раз за счет одних прыжков. Чистой Воды ГОТО (JMP) Но это разные вещи. Там это работа процессора. Высокий язык, пишется именно для людей, а вот АСМ пишет для ЦПУ (И когда пишут на асме используют комментарии, потому что асм не есть прозрачный язык). На высоком языке, если написано Айс, даже комментарии НЕ НУЖНЫ. Потому что и так все понятно. А вот ГОТО иногда (ИНОГДА извините повторюсь) портит эту понятность и логику.
Предвижу, ответ, если я такой Нуб, что не могу понять логику работы с ГОТО я ..... Это я понял.

Сквозняк писал(а):Кнут вообще договорился до того, что произвольный доступ к элементу массива плохой подход, так как он аналогичен гото.


Вот читаете, а сами как то не думаете. А кто сказал что Кнут Всегда Идеален и БОГ программирования?. Вот не надо передергивать, Все люди в том числе и КНУТ, имеют свое мнение на каждый вопрос, и я не думаю что он сказал это буквально, это вырванный контекст.

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


Извините не сдержался:
Изображение

PS. Вообще мы куда то не туда пошли, Тема, про то что нам не хватает. А не про то что все вокруг ...., которые не пользуются ГОТО :(
Maxizar
постоялец
 
Сообщения: 385
Зарегистрирован: 20.03.2010 19:48:14

Re: Чего мне не хватает в FreePascal

Сообщение Max Rusov » 21.04.2011 14:08:08

Еще очень не хватает нормальной оптимизации. Delphi все время ругали, мол оптимизатор в ней плохой. По сравнению с FPC оптимизатор в Delphi - супер...
Max Rusov
постоялец
 
Сообщения: 191
Зарегистрирован: 25.04.2009 15:46:03

Re: Чего мне не хватает в FreePascal

Сообщение Сквозняк » 23.04.2011 11:02:26

Maxizar писал(а):На высоком языке, если написано Айс, даже комментарии НЕ НУЖНЫ. Потому что и так все понятно.
Вы исходники идущие в составе FPC изучали внимательно?

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

Нет ну вот опять… из одного поля в другое.. Каким Макаром Вы сравниваете Высокий язык и АСМ???. Высокий уровень языка нужен зачем? Да затем, чтобы более быстро и более в человечной форме писать программы. Эти языки позволяют писать почти на чистом англ языке применяя законы логики. Так вот ГОТО, почти всегда (Почти так что не передергиваете) нарушает логику работы.
Увы и ах, не все пользуют дельфи и не для всех задач написаны готовые решения на лазарусе в которых достаточно прописать по несколько строчек в обработчики событий и всё, программа готова. Когда понадобится напаскалить аналог сишного "высокоуровнего ассемблера", тогда наверно догадаетесь, что низкий уровень бывает и без асма.

Вот читаете, а сами как то не думаете. А кто сказал что Кнут Всегда Идеален и БОГ программирования?. Вот не надо передергивать, Все люди в том числе и КНУТ, имеют свое мнение на каждый вопрос, и я не думаю что он сказал это буквально, это вырванный контекст.
А вы сами тоже подумайте, не я первый стал ссылаться на "авторитетов" от программирования для подтверждения своих доводов. А как авторитеты не явились, так сразу: это были не авторитеты, так, смотрящие за алгоритмами:)

PS. Вообще мы куда то не туда пошли, Тема, про то что нам не хватает. А не про то что все вокруг ...., которые не пользуются ГОТО :(
Ушли не мы а вы, мне оно не мешало до такой степени чтобы одного упоминания хватило для начала спора. Кто пользуется оператором, а кто нет, можно узнать и без споров на форуме, нужно лишь пройтись поисковиком по свободным исходникам.
Сквозняк
энтузиаст
 
Сообщения: 1123
Зарегистрирован: 29.06.2006 22:08:32

Re: Чего мне не хватает в FreePascal

Сообщение vada » 25.04.2011 10:03:41

Зарегистрировался тут на форуме лет пять назад. Тогда с периодичностью раз в месяц всплывали религиозные войны по поводу GOTO. Смотрю, болезнь не прошла.
Уважаемый Сквозняк, может хватит? Нравится GOTO, ну так вперед, нользуйтесь. Но в свою веру вы никого не обратите. :P
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: Чего мне не хватает в FreePascal

Сообщение dunin » 26.04.2011 14:08:13

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

Ну, какбэ понятно, что может с детства не повести с преподавателями.
А философы в чем провинились? Философ = философское мышление. "лишь бы доказать что оппонент не прав" != философ.

ps. Не сторонник GOTO Считаю, что его присутствие оправдано только там, где по другому нельзя. А по другому всегда (в абсолютном большинстве случаев) можно. :roll:
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: Чего мне не хватает в FreePascal

Сообщение hinst » 16.05.2011 19:31:51

Так что же, когда уже наследование шаблонов-то сделают, про которое я в самом начале темы писал? Кто-нибудь знает???
Код: Выделить всё
type
  generic TTestGeneric<T> = class(TComponent)
  end;

  //Пробовал так:
  generic TFuuu<T> = class(specialize TTestGeneric<T>)
  end;

  //в 2.4.2: не_прёт
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: Чего мне не хватает в FreePascal

Сообщение minoshi » 17.05.2011 18:57:46

vada писал(а):Зарегистрировался тут на форуме лет пять назад. Тогда с периодичностью раз в месяц всплывали религиозные войны по поводу GOTO. Смотрю, болезнь не прошла.
Уважаемый Сквозняк, может хватит? Нравится GOTO, ну так вперед, нользуйтесь. Но в свою веру вы никого не обратите. :P


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

По мне - пусть GOTO остается, с ним иногда код понятнее и проще получается.
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Чего мне не хватает в FreePascal

Сообщение files32 » 17.05.2011 20:27:26

Как я уже писал хочу хэши как в PHP, то что есть это слабое подобие.
В качестве параметров хэшей не только строки и числа, а что угодно.
Динамические массивы проработанней, на уровне языка чтобы.
Что то типа того $asd[0][]="new string"; Ну кто работал с PHP, ruby и т.д. меня поймут на сколько там все это сделано удобнее для разработчика.
Хочу иметь возможность создания переменных без их предварительного объявления. Например если переменная не была раннее объявлена, то она становится типом variant с видимостью на функцию.
Ну и сами варианты чтоб были полноценее.

Если уйти от разговоров о красивостях языка, правильности кода с точки зрения Кнута и т.д., иногда нужно работать и зарабатывать деньги, чтобы кормить семью. А тут на первом месте идет скорость разработки иногда в ущерб скорости выполнения кода и его "красивости".
files32
новенький
 
Сообщения: 24
Зарегистрирован: 27.10.2007 13:42:41

Re: Чего мне не хватает в FreePascal

Сообщение GrayEddy » 18.05.2011 00:00:11

Хочу нормальный, универсальный и вменяемый дебаггер a la Delphi debugger (или как в С# VS 2008 - он меня сразил наповал ) на все случаи жизни и платформы! :evil:
Ну хотя бы под Win32. :roll:
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Re: Чего мне не хватает в FreePascal

Сообщение kipar » 18.05.2011 17:04:47

Да, нормальный дебаггер - пожалуй главное, чего мне не хватает в Lazarus.
kipar
новенький
 
Сообщения: 78
Зарегистрирован: 04.03.2010 12:15:54

Re: Чего мне не хватает в FreePascal

Сообщение Maxizar » 18.05.2011 17:11:55

А что именно Вам не хватает?, то что нет HEX значений и Дампа памяти это да, но в остальном... Вот скажем недавно работал с SSE-SSE3 так вот в делфи вообще одни HEX значения в xmm регистрах а в Lazarus:
Изображение
Maxizar
постоялец
 
Сообщения: 385
Зарегистрирован: 20.03.2010 19:48:14

Re: Чего мне не хватает в FreePascal

Сообщение kipar » 20.05.2011 17:25:58

Регистры процессора мне не требуются.
GDB как отладчик Лазаруса меня не устраивает:
    Своим непониманием синтаксиса Паскаля. В результате нельзя вычислять практически никаких выражений (по факту - можно только посмотреть значения переменных).
    Нельзя установить точку останова с условием(по той же причине).
    Нельзя просмотреть свойства объектов.
    В окне стека вызовов (особенно после возникновении Exceptionа) - половина строчек состоят из знаков вопроса. Так что место ошибки приходится угадывать.
    Ну и нереально низкая скорость при пошаговой отладке (надо ждать одну-две секунды для перехода на следующую строчку). Обычно это некритично, но раздражает.
Раз такие проблемы при простейших вещах, то что-то более сложное типа, скажем, многопоточных приложений я даже пробовать не стал.
kipar
новенький
 
Сообщения: 78
Зарегистрирован: 04.03.2010 12:15:54

Re: Чего мне не хватает в FreePascal

Сообщение files32 » 21.05.2011 07:20:52

kipar писал(а):Своим непониманием синтаксиса Паскаля. В результате нельзя вычислять практически никаких выражений (по факту - можно только посмотреть значения переменных).
Нельзя установить точку останова с условием(по той же причине).
Нельзя просмотреть свойства объектов.

+1
files32
новенький
 
Сообщения: 24
Зарегистрирован: 27.10.2007 13:42:41

Re: Чего мне не хватает в FreePascal

Сообщение hinst » 23.05.2011 22:03:55

Меня лично страдания по отладчику нисколько не трогает. Всю жизнь отлаживал без него, в том числе, и многопоточные приложения. :mrgreen:
Те, кто убеждены, что отлаживать без отладчика труднее - вы просто привыкли к отладчику. Мне лично с отладчиком отлаживать труднее :mrgreen:
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Пред.След.

Вернуться в Потрепаться

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

Рейтинг@Mail.ru