Вот можно хоть чуть-чуть конкретики? А то мне не даёт покоя мысль написать программу для эвристического анализа возможности наличия в коде (Delphi или C++) багов.У Python есть свои преимущества/недостатки. Он исповедует путь "doing things one way" и пытается максимально исключать ошибки разработчика в зародыше.
[программирование] Штуковина 1.0
Re: [программирование] Штуковина 1.0
Re: [программирование] Штуковина 1.0
для C++ уже есть, скажем, PVS-studio
Make quantum chemistry, not war
-
- Сообщения: 1160
- Зарегистрирован: Ср фев 26, 2014 11:22 am
Re: [программирование] Штуковина 1.0
Для Delphi тоже линтеров хватает: Pascal Analyser и Code Healer например
Re: [программирование] Штуковина 1.0
Мне кажется, поскольку я про это не знал, это пока не особо хорошо работает.Sartorius84 писал(а): ↑Пн янв 21, 2019 11:53 amДля Delphi тоже линтеров хватает: Pascal Analyser и Code Healer например
Я например одно время пользовался AQTime, чтобы оптимизировать свой код, но теперь пришёл к выводу, что это штука весьма неудобная и проблемная. Чтобы измерить скорость кода, надо ставить в коде счётчики, а поскольку сами счётчики забирают скорость, нужно иметь возможность контролировать, где их ставить. Поэтому я планирую написать свой собственный менеджер скорости (это будет "Штуковина 2.0").
- madschumacher
- Сообщения: 892
- Зарегистрирован: Ср авг 05, 2015 4:30 pm
Re: [программирование] Штуковина 1.0
Ну слушайте, люди как-то учатся питону, да ещё и быстро. Освоившие не жалуются. Да, немного менять (хотя скорее дополнять) приходится, но в целом та же схема с отступами -- в итоге начинает радовать глаз, да и код становится более читаемым. И потом этот стиль понемногу переносится на другие языки, делая код везде красивым и читаемым.
Так что не переносите свои личные проблемы на язык. Люди пользуются, люди довольны.
"Мощность" = "Прирост работы" / "потраченное время". А так то и на машине Тьюринга можно всё написать, только зачем? В плане того, как быстро пишется работоспособный код для научных потребностей, Питон, как ни странно, пока лидирует. С ним соперничает только Matlab, но он проприетарный и дорогущий.
Да, но на Бейсике или Logo писать научный софт как-то не очень выходит почему-то...

Ну это же хорошо! Только почему-то
Касательно использования различных языков в науке, C/C++/Fortran/Lisp и т.д. в основном юзаются (и хорошо) для хардкорных вычислений или больших программных продуктов. Они компиллируемые, богатые на библиотеки, в т.ч. заточенные под производительность (LAPACK, MKL и т.д.). Но для каких-то простых вещей, которые нужны здесь и сейчас, юзать подобные тяжеловесные языки себе дороже выйдет. Всё равно что из пушки по воробьям палить (я так раньше делал, поэтому хорошо понимаю цену потерянному времени).
Поэтому и нужны всякие хорошие исполняемые языки. Python, Perl, Ruby -- всё это замечательно и приятно для задач "вот прям щас надо". И то, что они имеют несколько другой синтаксис -- это 3-е дело, дело привычки. Языков просто дофига, и то, что Python -- один из лидеров научно-направленного ПО (причём даже в таких хардкорных областях, как ML) -- это о чём то говорит. Миллион мух не может ошибаться. К тому же, из подобного, Ваши наезды на Python при существовании отвратного Bash звучат неубедительно.

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

И да узрел Охламон, что сие есть круть несусветная!
Re: [программирование] Штуковина 1.0
Delphi пал жертвой деспотичной моды.Супер аргумент! Delphi -- язык, находящийся на задворках цивилизации, о котором мало кто помнит. И личные cognitive bias-ы Вы явно недооцениваете, ибо даже о Python мало что слышали.
Что касается Linux, то, судя по продажам Chemcraft, эта ниша пока ещё скорее маргинальная.
Re: [программирование] Штуковина 1.0
Под linux кемкрафт много кто использует, но из-за того, что (по крайней мере раньше) версии под винду и линукс были неодинаковые (линуксовая какая-то недоделанная была), линуксоиды используют виндовую под вайном

так или иначе, язык не очень популярен, вот и инструментов под него меньше, чем для С++
Make quantum chemistry, not war
- madschumacher
- Сообщения: 892
- Зарегистрирован: Ср авг 05, 2015 4:30 pm
Re: [программирование] Штуковина 1.0
О причинах фейла Delphi можно почитать на Лурке.
Что Вы подразумеваете под словом "маргинальная"? Большинство хардкорных квантовиков так или иначе работает в Linux. Даже те, у кого стоит винда на домашнем компе, считают на кластерах целиком занятых Linux различных версий. Суперкомпов под Виндой ТОП500 просто не найти.

Так что пока под Linux будет глючная версия, все будут использовать другие визуализаторы, тем более, что самые мощные из них (VMD и Molden) работают под Linux. И к тому же бесплатные.

И да узрел Охламон, что сие есть круть несусветная!
Re: [программирование] Штуковина 1.0
Я года 4-5 назад в этом списке находил 3 (три) суперкомпа работавших под виндой, счас кажется нет https://www.top500.org/statistics/details/osfam/2
Я традиционный виндузятник но счас в связи с тем что рабочий комп мак - переползаю туда. Знакомый поставил себе кемкрафт на мак под вайн, возможно я когда то попробую последовать его примеру. Ваще круто было бы поиметь кластерную версию, так чтобы файлы туда-сюда не тягать, но это имхо проблематично.
-
- Сообщения: 1160
- Зарегистрирован: Ср фев 26, 2014 11:22 am
Re: [программирование] Штуковина 1.0
Да И оттуда выдавили. Жаль MS.Гесс писал(а): ↑Пн янв 21, 2019 4:16 pmЯ года 4-5 назад в этом списке находил 3 (три) суперкомпа работавших под виндой, счас кажется нет https://www.top500.org/statistics/details/osfam/2

Давно top500 не смотрел. Китайцы - молодцы. Вдвое больше машин, чем в штатах теперь.


Re: [программирование] Штуковина 1.0
madschumacher, Вы правы во всех деталях, а также в общей картине применения разных языков, но неправы в выводах. Может! Ещё как может ошибаться миллион мух. "Все сидят в Фейсбуке, рыдают и ненавидят его, но не уходят, потому что все их друзья сидят в Фейсбуке, рыдают и ненавидят его, но..." Это один возможный механизм; есть и другие. Добротность продукта коррелирует с успехом, но не гарантирует его. И наоборот. Вторгается какой-то непредсказуемый фактор, и дерьмо взлетает, а конфетка тонет.
Я не ставил задачи покрыть наездами все плохие языки, которые знаю. Вы сами в курсе, наверное. Ну вот хоть: почему в своё время взлетело php? Это же абоминация какая-то. Но оказался в нужном месте в нужное время, и всё заверте...
Вот так и Питон. Что Вы мне про людей? Я пользуюсь, и я недоволен. Чем - сказал; есть ещё проблемы (куда выбросили краткий тернарный иф? почему нет switch/case?) А вот против управляющих отступов ничего не имею, это как раз очень полезная штука, когда детей учишь. Дисциплинирует.
Я не ставил задачи покрыть наездами все плохие языки, которые знаю. Вы сами в курсе, наверное. Ну вот хоть: почему в своё время взлетело php? Это же абоминация какая-то. Но оказался в нужном месте в нужное время, и всё заверте...
Вот так и Питон. Что Вы мне про людей? Я пользуюсь, и я недоволен. Чем - сказал; есть ещё проблемы (куда выбросили краткий тернарный иф? почему нет switch/case?) А вот против управляющих отступов ничего не имею, это как раз очень полезная штука, когда детей учишь. Дисциплинирует.
-
- Сообщения: 213
- Зарегистрирован: Вт окт 16, 2018 9:12 pm
- Контактная информация:
Re: [программирование] Штуковина 1.0
Я о философском принципе "Only one way to do it" in Python. Нет, вроде я ничего не путаю. Впрочем моя "любительская" интерпретация может отличаться от Вашей "ремесленнической".
Если тема будет перенесена из этого неподобающего места в профильный раздел, то буду за ней следить. Иначе здесь заканчиваю. Устраивать серьёзные холивары по языкам без солидного опыта использования каждого из них уместно разве что для академических программистов (потянете ?).
Лурк писал(а): В Интернетах уже стойко закрепилась ситуация, когда постоянно, буквально уже на третьем или четвертом посте в форумах (да и вообще где бы то ни было) какой-нибудь редиска нет-нет да и обязательно вставит свои пять копеек про то, что:
Delphi мертв
...
и тысячи, тысячи подобной ерунды.
Re: [программирование] Штуковина 1.0
Я таки пройду мимо всего набора подколок и попрошу источник утверждения про only oneAequilibris писал(а): ↑Пн янв 21, 2019 7:11 pmЯ о философском принципе "Only one way to do it" in Python. Нет, вроде я ничего не путаю. Впрочем моя "любительская" интерпретация может отличаться от Вашей "ремесленнической".
Если тема будет перенесена из этого неподобающего места в профильный раздел, то буду за ней следить. Иначе здесь заканчиваю. Устраивать серьёзные холивары по языкам без солидного опыта использования каждого из них уместно разве что для академических программистов (потянете ?).
Make quantum chemistry, not war
-
- Сообщения: 1160
- Зарегистрирован: Ср фев 26, 2014 11:22 am
Re: [программирование] Штуковина 1.0
@Shorku,
https://ru.wikipedia.org/wiki/Дзен_Питона
There should be one—and preferably only one—obvious way to do it
В противоположность Perl https://en.wikipedia.org/wiki/There%27s ... y_to_do_it
There's more than one way to do it
https://ru.wikipedia.org/wiki/Дзен_Питона
There should be one—and preferably only one—obvious way to do it
В противоположность Perl https://en.wikipedia.org/wiki/There%27s ... y_to_do_it
There's more than one way to do it
Re: [программирование] Штуковина 1.0
возможно, я не очень силен в английском, но это (особенно с учетом контекста до) совсем не одно и то жеSartorius84 писал(а): ↑Пн янв 21, 2019 10:22 pm@Shorku,
https://ru.wikipedia.org/wiki/Дзен_Питона
There should be one—and preferably only one—obvious way to do it
В противоположность Perl https://en.wikipedia.org/wiki/There%27s ... y_to_do_it
There's more than one way to do it
Make quantum chemistry, not war
- madschumacher
- Сообщения: 892
- Зарегистрирован: Ср авг 05, 2015 4:30 pm
Re: [программирование] Штуковина 1.0
А с ФБ то что не так (кроме утечек данных


Ну наверное шанс у говна взлететь ниже, чем у ероплана. И смыться у него тоже шанс выше. Нет?
Я к тому, что всегда найдутся недовольные. Кому не нравится -- не пользуются. Выбор языков большой, разные коды можно компоновать, огромное поле для творчества, креатива и извращений. Свобода, Равенство, Упячка! Я не понимаю смысл критиковать что-то (тут я лицемерю, т.к. сам полгода назад так же наезжал на Matlab, впрочем я с ним смирился, и просто им не пользуюсь).
И кст, Вы первый недовольный Питоном на моей памяти (в реале и в инете).

С версии 2.5 он же там есть? Хоть и отличается, но всё же тоже вполне себе читаемый и рабочий синтаксис.
А она особо прям необходима интерпретируемому языку? Все эти возможности через if-elif-else легко организуются.
Никто не говорил, что он мёртв. Маргинален в мире научного программирования -- да (в смысле относительно мало научных команд создают и поддерживают на нём свои продукты, про программирование в целом не скажу ничего, но про свою область компетенции такое могу сказать). Если и есть отдельные большие проекты, то это типа нашего ТС, когда один человек строит Вавилонскую башню.
Но особенно его зашкварили в постсоветском пространстве Великиме Программисты, окончившие мухосранские политехи. Они ваяют на этом языке свои глючные шедевры (чаще всего курсовые), создавая языку плохую славу.
Мимо меня, честно, прошёл Delphi, но воспоминания о родном мухосранске и студентах, сдающих распечатанные курсовые со своими говнокодами, меня чуть мутят...

И да узрел Охламон, что сие есть круть несусветная!
Re: [программирование] Штуковина 1.0
Крайне непрозрачная система настроек того, что твоё показывается другим, и что чужое - тебе, и в каком порядке. Если зайти на фейсбук два раза, то он будет разный, и даже если уйти по ссылке и вернуться кнопкой назад - он будет уже совсем другой.madschumacher писал(а): ↑Пн янв 21, 2019 11:40 pmА с ФБ то что не так (кроме утечек данных, не сарказм, мне правда интересно, от чего плюются)?
Отсутствие внятной навигации по архивам: поди попробуй найти чужую статью годовой давности!
Ну да, я и говорю: коррелирует с успехом, но не гарантирует.madschumacher писал(а): ↑Пн янв 21, 2019 11:40 pmНу наверное шанс у говна взлететь ниже, чем у ероплана. И смыться у него тоже шанс выше. Нет?
Ха, смотрите, не знал. ОК, эта претензия снимается, но остальные-то в силе.madschumacher писал(а): ↑Пн янв 21, 2019 11:40 pmС версии 2.5 он же там есть? Хоть и отличается, но всё же тоже вполне себе читаемый и рабочий синтаксис.
Да ничего из перечисленного не необходимо. Язык и без него Тьюринг-полон. Всё организуется какими-то иными средствами, ценой определённых усилий. Можно и югославский шкаф купить, если занять очередь с ночи, и машину... ну, тут сложнее, но можно же! Только не всем такое нравится.madschumacher писал(а): ↑Пн янв 21, 2019 11:40 pmА она особо прям необходима интерпретируемому языку? Все эти возможности через if-elif-else легко организуются.
Впрочем, действительно, что это я. Пусть цветут сто цветов.
On a side note, представил, как археологи будущего станут разбирать эти культурные напластования и выяснять, кто от кого произошёл.
В Сишечке: "else if"
В похапе: "elseif"
В Перле: "elsif"
В Питоне: "elif"
Re: [программирование] Штуковина 1.0
Вот это мне очень интересно - в новых версиях Delphi правда есть .NET? Значит можно скомпилировать мою программу в байт-код, а далее перекомпилировать этот байт-код на Linux, или просто запустить его на Linux? Сорри если вопросы профанские...@Vit Nhoc, может Вам просто Delphi .NET использовать? Там тот-же managed код, что и в C#.
Подозреваю, что так.
На другом форуме мне человек написал так: Питон – это скриптовая бяка, он неуниверсален, медленный и отучает программиста понимать КАК работает его код. Но его любят за низкий порог вхождения.
Я всё больше замечаю, что на форумах вроде этого (не-программистов) часто можно узнать более полезную информацию о программировании, чем на форумах “профессиональных” программистов. Специалист подобен флюсу, его полнота односторонняя [С].
Вот у меня есть вопрос, на который я пока нигде не получил ответа, даже на stackoverflow. Вдруг здесь ответят?
Мне для моего сборщика мусора очень не хватает особой фичи - нестандартная обработка исключения или ассерта. Нужен примерно такой код:
Код: Выделить всё
procedure TmpAssertProc(const Message, Filename: string; LineNumber: Integer; ErrorAddr: Pointer);
var
str:string;
strprogname:string;
begin
str:=filename+' line '+inttostr(linenumber);
str:=str+message;
ProjectGarbageCollector.LastConstructorWasFromSource(str);
end;
{ TSafeObject }
constructor TSafeObject.Create;
var
oldassertproc:TAssertErrorProc;
begin
inherited;
if GarbageCollectorActive then
begin
ProjectGarbageCollector.ObjectCreated(self);
oldassertproc:=AssertErrorProc;
AssertErrorProc := TmpAssertProc;
assert(false);
AssertErrorProc:=oldassertproc;
end;
end;
Вроде для этого можно использовать библиотеку JclDebug: пишут, что если её подключить к проекту, обработчик исключения будет в переменной e.StackTrace выдавать в текстовом виде много информации, которая мне и нужна.
Я пробовал подключить JclDebug к моему проекту, но во-первых, это не получается из-за какой-то несовместимости: библиотеке нужны некие ModuleInfo.EntryPoint, EnumProcessModules и ещё много того, что нет в этой самой библиотеке. Во-вторых, я не хочу подключать к проекту всю эту библиотеку – она сильно большая, мне нужен только класс TJclStackInfoList чтобы внедрить его в обработчик исключения (если и это вообще нужно). Если кто-нибудь работал с JclDebug – подскажите, как проще всего решить мою задачу?
Как я уже сказал, мне вроде нужно только одно – чтобы мой собственный обработчик Application.OnException получал в e.StackTrace не пустую строку, как по умолчанию, а то, что есть в других ЯП (в .NET есть Exception.StackTrace и в Java есть Exception.getStackTrace). Тогда мой сборщик мусора будет в отчёте выводить, в каких местах кода создавался класс, который не был удалён.
madschumacher, ну что за нелепые претензии под каждым моим постом. Это как если бы вы писали – “настоящийP.S. Сборщики мусора, сборщики мусора... Нет чтобы сразу код писать нормально, чтоб утечек не было...
Re: [программирование] Штуковина 1.0
Да что вы все заладили, зло, бяка. Питон - хороший и удобный инструмент для очень многих задач. И не очень хороший для многих других. Выше уже все обозначили. На питоне было бы плохо писать Ваш кемкрафт, но было бы довольно удобно сваять на коленке инструмент для анализа кода кемкрафта, например.

Make quantum chemistry, not war
-
- Сообщения: 1160
- Зарегистрирован: Ср фев 26, 2014 11:22 am
Re: [программирование] Штуковина 1.0
С Mono можно .NET бинарники в Linux запускать. Ну и средства разработки там тоже есть. Т.е можно под линух и писать/отлаживать сразу.
По поводу stacktrace в Delphi вроде нормальное описание решения проблемы: https://forum.sources.ru/index.php?showtopic=301395
По поводу stacktrace в Delphi вроде нормальное описание решения проблемы: https://forum.sources.ru/index.php?showtopic=301395
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 255 гостей