Тут бы хоть какой-то успеть написать! В языковом пакте 1-2 (м.б. больше) бага, про которые сообщали, но исправлять их не торопятся. Мануал — полный ребус, а на вопросы официальный сайт не отвечает. В прошлой теме сказали, что очень заняты. И я занят, и все время на разгадывание невнятных мануалов тратить не могу — у меня еще другие работы. Пока вижу, что элементарные действия выполнить очень не просто. Какое уж тут самообучение :(
В рейтинге сказано именно «Delphi/Object Pascal». Согласно Вики Object Pascal — это Delphi, Oxygene, Free Pascal, Virtual Pascal, TMT Pascal, Turbo51. Только ли Delphi в рейтинге не понятно.
для школы я бы выбрал что-то более нейтральное и уж точно не платное
без каких-либо закидонов, архаизмов и художеств автора («я так вижу»)
А отступы разве не закидон? Переход с Питона на С/С++ вызовет огромный шок своими "{}".
Я сам учился на Бейсике ZX Spectrum, потом на QuickBasic. Так вот по ощущениям от программирования Python это шаг в ту же самую сторону.
Я еще помню Бейсик на PDP-11 и Фортран-4 ЕС ЭВМ :) Но и с VBA пришлось познакомится, как и с Фортран-90. Т.о. мне Ваша характеристика Питона много сказала.
вот масштабные проекты я бы на нём делать как раз поостерёгся
И здесь бы любой живой (поддерживаемый, развивающийся) язык с пологой кривой обучения заранее был бы обречён на победу
Всех языков слишком много. Поэтому часто используют рейтинг TIOBE. Если исходить из него, то самый «живой» это Ява, дальше С и С++. Но и Дельфи/Паскаль, как и Питон устойчиво входят в топ. И кто «обречен на победу»?
Спасибо за разъяснение. Да, если в разных библиотеках разные форматы, разные представления и т.д., то возникает непростая задача совместить трудносовместимое. Видел такие проекты. Сочувствую. Но если вернуться к теме нашего обсуждения, то ИМХО эта проблема и пути ее решения не для изучения в общеобразовательной школе.
Если говорить о научном софте, то 99,9% кода уже готово, ничего переписывать не надо.
Далеко не всегда. Многие мое научные программы 100% написаны мной.
В дистрибутиве Питона от Интел он доступен из коробки.
А какая разница поставляется вместе или отдельно?
причем передавать данные из кода на Питоне в код на другом языке и обратно. И это круто.
Что здесь крутого? COM передает, и меня не волнует на каком языке написан код.
Про гугл я спросил не случайно. В Вашем примере github выступил в роли поисковика. Если мой код лежит не на github, то через гугл найдется моя публикация на Хабре, в которой указана ссылка на код. Т.о. github в моем случае роли не играет.
они используют Питон не просто так.
Доказательство не убедительно — м.б. и просто так. Большие и богатые компании могут себе позволить некоторое количество рискованных проектов с очень малой вероятностью успеха. Иногда личные чудачества хозяина компании играют решающую роль. Распространено мнение, что так, нпр., возник VBA. Получится ли у гугла беспилотный автомобиль никто не знает, но реклама гуглу хорошая. М.б. только для рекламы и затеян этот проект.
А вы попробуйте, что-нибудь сделать на Питоне, допустим, игрового бота.
Нет. Так не пойдет. Бремя доказательства лежит на доказующем. Вы пытаетесь убедить меня в пользе Питона для моих проектов. Выше я уже привел их список. Возьмите любой из них и укажите, где конкретно я бы мог воспользоваться Питоном и что это даст?
Текущая популярность языка объясняется тем, что по факту огромное количество задач нуждается именно в таком подходе.
По факту доля всех создаваемых в мире ОС (вроде Amoeba project) очень небольшая от объема всего создаваемого в мире софта. Поэтому думаю, что причина популярности другая.
Это означает, что ваши проекты пишутся очень небольшой командой и состоят из достаточно однородных (по языку и идеологии) проектов. В больших системах это попросту невозможно.
Т.е. если объем моего проекта меньше 10М SLOC, и команда меньше 1000 человек, то мне ОО клей не нужен. Это самое я и говорил выше.
Практически в любой сложной задаче 99.9% кода вы НЕ пишете
Я не про библиотеки. Принимаю за 100% код, который мне нужно написать для решения поставленной задачи.
Штука в том, что как раз задача получения данных из одного места, преобразования в другой вид данных и передачи на вход следующему алгоритму на практике оказывается достаточно муторной.
В моей практике обычно не оказывается.
Смотрите на проблему шире. Не скрипт, который оперирует текстовым вводом-выводом, а именно объектно-ориентированный «клей»
Если в каком-то месте нужна большая производительность, то это место можно переписать на другом языке.
Т.е. во многих сложных задачах (имею в виду теор. оценку для наихудшего случая) 99.9% кода я пишу и отлаживаю на другом языке, а для Питона остается I/O? Но ввод-вывод не проблема для любого современного языка. Зачем мне привлекать другой язык только для этого 0.1% примитивного кода?
Речь идет о магии, точнее о светлой магии MKL
MKL прекрасно работает со многими языками (не знаю случая, где не работает). Я не ставлю в особую заслугу Delphi, что работает с MKL. Вот если бы не работало — было бы возмутительно!
А так… numba — хорошая штука. OpenCV прикручивается так же.
Тут я не понял. Хочу матрицы на GPU обрабатывать и СЛАУ решать, а еще перестановки генерировать. Как обойтись без CUDA?
Я в плане того, что ИИ — это все же математическая модель, а что-то новое в этой области — это гора символьных вычислений и десятки графиковю В этом плане MatPlotLib и SymPy незаменимы.
Десятки графиков и Excel построит. Из программы на Delphi в Excel по СОМ данные передаются без проблем.
Да, только добавляете перед ними import и потом еще пару строк кода. И все.
Хоть пару строк, хоть 20, но скрипт, который запускает сначала одну программу, потом другую, представляется мне наименее важным во всем проекте. Если Питон только для этого использовать — то попробую, если не забуду. Однако с этим и batch-файлы справляются. Зачем ставить дополнительный софт?
Если для этих вычислений недостаточно стека SciPy, то я снимаю перед вами шляпу. Значит вы нырнули действительно очень глубоко.
А разве стандартный калькулятор виндов, передает что-то в чужой стек? И зачем моей задаче, которая может сама себя обслужить, нпр., записать результаты в файл, предавать что-то в стек Питона?
Я из той олдскульной школы математиков, которая не признает компьютеры вообще. Т. е. если ты не можешь решить задачу с помощью ручки и бумаги — ты не в авангарде.
Т.е. если уравнение Шредингера не можешь решить с помощью ручки и бумаги — ты не в авангарде ?! Курчатов, Ландау и др. отдыхают! :)
Некоторые примитивы очень трудно реализовать в программном коде, однако у меня получилось, причем с помощью тех самых второстепенных технологий, PyPi и github-а.
И гугла?
Я действительно уверен, что Питон и «второстепенные технологии» продвигают серьезные проекты.
А я совершенно уверен, что P=NP, земляне произошли от марсиан, и вечный двигатель возможен. У меня доказательств этому нет, а у Вас есть математически строгие доказательства Вашему утверждению?
Прошу прощения если мои ответы кажутся надменными. Для меня держать культурный тон — тоже непростая задача. У меня нет возможности быстро отвечать на комментарии. А их написание занимает довольно много времени, если по другому — то это холивар с моей стороны.
Вы человек старой закалки с серьезным опытом — такого обычной пулей не возьмешь :)
Да, пуля должна быть из очень чистого серебра. Как алхимик, могу Вам сообщить, что в ювелирных ложках и прочих побрякушках слишком много меди, и из самородков серебро не бывает очень чистым. В полупроводниковой промышленности очищают зонной плавкой…
Против холивара в разумных рамках не возражаю и вызов принимаю. Ваши ответы мне не кажутся надменными. Честно говоря, хотя и по возможности мягко выражаясь, они мне кажутся не совсем обдуманными.
Паскаль — это «Война и МирЪ» Толстого. Для обычного обывателя слишком много «букав». Прочитать… осмыслить такой труд капец как не просто. Школьник его прочитает, но всей глубины не поймет. Это реально для зрелого человека.
Если про begin-end, то вопрос: не больше ли пробелов и табуляций в Питоне?
Питон — это «Фиеста» Хемингуэя.
Тут сожалею, что не смогу понять Вашу аналогию, т.к. с детства не люблю Хемингуэя.
Будучи ущербным в чем-то — ты можешь эту ущербность обратить в пользу.
Мой вклад в холивар. Считаю ущербным динамические типы, отступы, групповое присваивание, принципиальные проблемы с эффективностью (в частности, упоминают вызов функций), а также проблемы с многопоточностью. Не вижу путей обратить всё это во благо, особенно в случае школьного обучения.
Моя идея — пиши код почти как написано в ТЗ, а умная оболочка разруливает нестыковки. Если использовать свой язык, как Вы предложили, то это будет ближе к моим идеям. Так на программисте меньше ответственности за ошибки.
Да, только я использовал не свой язык, а Delphi. Вы отметили важный принципиальный момент: чем больше сходство кода с ТЗ — тем он убедительнее.
Ничего не мешает сделать подобный код и для 40 атрибутов. 40 уровней для вложенных case, конечно, будет очень объемным. И конечно его надо генерировать с помощью несложной программы или скрипта, а не писать руками, чтобы не ошибиться. На каждой вершине стоит перечислить значения атрибутов:
Спасибо. Интересно.
Для школы различие Free Pascal и Delphi не существенны. Еще есть PascalABC.NET.
ИМХО можно Free Pascal.
Я еще помню Бейсик на PDP-11 и Фортран-4 ЕС ЭВМ :) Но и с VBA пришлось познакомится, как и с Фортран-90. Т.о. мне Ваша характеристика Питона много сказала.
Интересно почему? Можно подробнее?
А я говорил иное: 1) в школе Питон не нужен; 2) важен не язык, а алгоритмы.
Т.о. никакой демагогии с моей стороны.
Если не секрет, скажите, пожалуйста, какой средний объем кода Вашего проекта и сколько человек в команде?
А какая разница поставляется вместе или отдельно?
Что здесь крутого? COM передает, и меня не волнует на каком языке написан код.
Про гугл я спросил не случайно. В Вашем примере github выступил в роли поисковика. Если мой код лежит не на github, то через гугл найдется моя публикация на Хабре, в которой указана ссылка на код. Т.о. github в моем случае роли не играет.
Доказательство не убедительно — м.б. и просто так. Большие и богатые компании могут себе позволить некоторое количество рискованных проектов с очень малой вероятностью успеха. Иногда личные чудачества хозяина компании играют решающую роль. Распространено мнение, что так, нпр., возник VBA. Получится ли у гугла беспилотный автомобиль никто не знает, но реклама гуглу хорошая. М.б. только для рекламы и затеян этот проект.
Нет. Так не пойдет. Бремя доказательства лежит на доказующем. Вы пытаетесь убедить меня в пользе Питона для моих проектов. Выше я уже привел их список. Возьмите любой из них и укажите, где конкретно я бы мог воспользоваться Питоном и что это даст?
Т.е. если объем моего проекта меньше 10М SLOC, и команда меньше 1000 человек, то мне ОО клей не нужен. Это самое я и говорил выше.
В моей практике обычно не оказывается.
Вот список моих проектов:
1) ПБ-бот
2) Роджерийский бот
3) Игра «из мухи в слона»
4) Тест различных представлений графа
Возьмите любой из них и укажите, где конкретно я бы мог воспользоваться ОО «клеем» и что это даст?
Т.е. во многих сложных задачах (имею в виду теор. оценку для наихудшего случая) 99.9% кода я пишу и отлаживаю на другом языке, а для Питона остается I/O? Но ввод-вывод не проблема для любого современного языка. Зачем мне привлекать другой язык только для этого 0.1% примитивного кода?
MKL прекрасно работает со многими языками (не знаю случая, где не работает). Я не ставлю в особую заслугу Delphi, что работает с MKL. Вот если бы не работало — было бы возмутительно!
Тут я не понял. Хочу матрицы на GPU обрабатывать и СЛАУ решать, а еще перестановки генерировать. Как обойтись без CUDA?
Десятки графиков и Excel построит. Из программы на Delphi в Excel по СОМ данные передаются без проблем.
Хоть пару строк, хоть 20, но скрипт, который запускает сначала одну программу, потом другую, представляется мне наименее важным во всем проекте. Если Питон только для этого использовать — то попробую, если не забуду. Однако с этим и batch-файлы справляются. Зачем ставить дополнительный софт?
А разве стандартный калькулятор виндов, передает что-то в чужой стек? И зачем моей задаче, которая может сама себя обслужить, нпр., записать результаты в файл, предавать что-то в стек Питона?
Т.е. если уравнение Шредингера не можешь решить с помощью ручки и бумаги — ты не в авангарде ?! Курчатов, Ландау и др. отдыхают! :)
И гугла?
А я совершенно уверен, что P=NP, земляне произошли от марсиан, и вечный двигатель возможен. У меня доказательств этому нет, а у Вас есть математически строгие доказательства Вашему утверждению?
Да, пуля должна быть из очень чистого серебра. Как
алхимик, могу Вам сообщить, что в ювелирных ложках и прочих побрякушках слишком много меди, и из самородков серебро не бывает очень чистым. В полупроводниковой промышленности очищают зонной плавкой…Против холивара в разумных рамках не возражаю и вызов принимаю. Ваши ответы мне не кажутся надменными. Честно говоря, хотя и по возможности мягко выражаясь, они мне кажутся не совсем обдуманными.
Если про begin-end, то вопрос: не больше ли пробелов и табуляций в Питоне?
Тут сожалею, что не смогу понять Вашу аналогию, т.к. с детства не люблю Хемингуэя.
Мой вклад в холивар. Считаю ущербным динамические типы, отступы, групповое присваивание, принципиальные проблемы с эффективностью (в частности, упоминают вызов функций), а также проблемы с многопоточностью. Не вижу путей обратить всё это во благо, особенно в случае школьного обучения.
(Страшно подумать: м.б. и Питон -это шутка, а я тут спорю :)
Ok. Я предложил альтернативное решение. Как часто бывает везде свои ++ / --.
Но ИМХО ничего страшного — главное уверенность, что это будет верно работать и легко модифицироваться!