LINUX.ORG.RU

Как кому удается быстро писать на Питоне ?

 ,


1

4

Обычная программка по парсингу чего-то и пропихивания этого чего-то, в зависимости от формата, в API, которое это поедает.

Основное время занимает отладка исключений AttributeError или другого, которое возникает при вызове несуществующего метода класса или неправильного списка параметров функции или метода.

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

Так вот, спрашивается, какую в таком случае нишу занимает питон ? Мне нужно написать тесты на каждый метод и use case только потому, что питон не чекает синтаксис ?

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

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

Говорил и ноешь об этом весь тред. Например, вот тут

Мне нужно написать тесты на каждый метод и use case только потому, что <...> ?

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

Мне нужно быстро написать код <...> выполнить, проверить результат

... особенно когда код нужно написать быстро. Потому что на плюсах ты его не напишешь аналогично быстро даже с учётом мозготраха с AttributeError.

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

Как я могу писать «серьезное» приложение на питоне, если понимаю, что оно считает в 20 раз медленнее ?

Ты - не можешь. Но есть люди поквалифицированнее.

Меня сцуко беспокоит эта популярность питона, нужно его запретить нах вместе с Си и Бейсиком.

Сделай это, тряпка.

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

Да, есть замечательные вещи, написанные на Python, например, Trac.

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

Больше писать по этой теме не буду, и спасибо за совет насчет jedy & pycharm.

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

Да, есть замечательные вещи, написанные на Python, например, Trac.

Он внутре страшен как черт. Да и снаружи. Я питонист до мозга костей, но объективно говоря Redmine сделан гораздо более прямыми руками.

A1
()

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

A1
()
Ответ на: комментарий от anymouse

спасибо за совет насчет jedy & pycharm

jedi, не jedy. И я не советовал ни его, ни PyCharm, мой выбор - PyDev.

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

... иначе бы давно уже появился серебрянный язык.

С чего это вдруг такие выводы? Посмотри сколько поколений питоноподобных ЯП появилось на текущий день - примерно всего два. Первое это awk-перловые и второе JS/питоны... - все они полное гогно. Только сейчас заканчивается дрочерство на динамические ЯП и быть может в следующие 10-20 лет будут попытки создания более вменяемых скриптовых языков общего назначения с поддержкой ~статической типизации и т.п.

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

именно по этой причине многие админы и переходят уже на руби, он более вменяем...

Он тоже относится ко второму поколению и вообще имеет все недостатки питона (кроме отсутпов) и некоторые перловые. Совсем неудачный язык.

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

второе JS/питоны

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

следующие 10-20 лет будут попытки создания более вменяемых скриптовых языков общего назначения с поддержкой ~статической типизации и т.п.

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

no-such-file ★★★★★
()
Ответ на: комментарий от mashina

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

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

писать скрипты на яве, это сколько надо оперативы

Спокойно больной, в своё время на Java ME нормально писали и для калькуляторов.

no-such-file ★★★★★
()
Ответ на: комментарий от anymouse

Это как с awk - написал маленький парсер, все работало, потом понадобилось прикрутить еще функционал, потом еще, потом стало ясно что скрипт проще выбросить и переписать на perl.

Не надо ничего выбрасывать, код на awk легко адаптируется к perl, особенно если не залезать в болото GNU-расширений

annulen ★★★★★
()

пистон это фактически кроссплатформенный вижуал басик. соответственно ниша такая же. быстро наваять какую-нить графическую хрень над каким-нить апи или опять же быстро чего-нить сделать через биндинги для какой-нить большой массивной хрени. писать на нём полноценные сложные приложения это сам себе злобный буратино (точно так же как и на vb писать чего-нить сложное не реально).

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

С чего это вдруг такие выводы?

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

A1
()
Ответ на: комментарий от vtVitus

соответственно ниша такая же.

На васике не писали высоконагруженные веб-сервисы по 300k строк.

писать на нём полноценные сложные приложения

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

A1
()
Ответ на: комментарий от vtVitus

писать на нём полноценные сложные приложения это сам себе злобный буратино

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

anonymous
()

Какой-то поехавших тред.

anonymous
()
Ответ на: комментарий от proud_anon

Но если не писать страшный ужас, то читать Питон обычно очень приятно.

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

anonymous
()
Ответ на: комментарий от redixin

второй тоже слегка проверяет синтаксис
этопять

Ну а че ржешь? use strict действительно куда строже педона.

anonymous
()

Дебил, не осиливший питон, без проблем пишет на плюсах? Кулстори.

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

Только сейчас заканчивается дрочерство на динамические ЯП и быть может в следующие 10-20 лет будут попытки создания более вменяемых скриптовых языков

Да ладно, дрочерством как раз статикофаны увлекаются. Причем уже хренадцать лет дрочат вприсядку на свои канпеляторы. И до сих пор ничего практичнее C++ нет почему то. За это время уже пара поколений в динамике сменилось, и каждое принесло дофига полезных идей. Лиспы, смолток, вот это всё. Сейчас вот от JS бомбит у статиков. Оказывается, можно сделать язык быстрым, не потеряв гибкости и простоты. Разрыв шаблона, остаётся только кукарекать про «безопасность».

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

Ты, что ли, этот самый анонимус шизофреник? Закройся у себя в палате.

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

Тесты это клево, когда ты уже выкатываешь решение по ТЗ. Но вот при проектировании методом «хз, надо сваять примерно вот это» в новой для тебя области — тесты не катят, потому что их либо тупо нет, либо они сломаны (что только добавляет головняка, а не помогает). А если они есть и работают, то ты либо уже прошел этап с рефакторингами, либо забил на него и выкатил уг как оно есть. Я тащемта бывает переписываю готовые решения с сишки на луа, потому что сразу на луа их выкатить в нужном виде это тот еще хардкор, а сопровождать на сишке тяжелее. Тайпчекинг, правильно приготовленный, покрывает почти все засады, позволяя инкрементально хоть что-то стряпать, а не ждать, пока архитектура развалится в конце пути.

Возможно я не прав, и просто не умею красиво поднимать целину с первого раза. Буду рад почитать методы товарищей, которые могут ctrl-c ctrl-v в недооформившемся сорце и не потерять контекст, особенно когда он меняется на лету. Переименовывать методы в готовом продакшене каждый дурак умеет, тут спору нет.

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

Я на 1с и больше лопатил, и тоже всегда на живом пациенте, т.к. там тестинг отсутствует как явление. Тут все зависит от того, какая сложность у системы, они бывают линейными (почистить мусор за копипастером), а бывают в разработке, тогда любое изменение каскадом затрагивает всю логику и структуру проекта.

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

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

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

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

Правильно я понял, что ты прототип пишешь на си, а потом переписываешь на сриптоту? Тогда ты самый извращенный пограмист из всех, кого я знал. Это 1С так влияет на мозг или что?

anonymous
()
Ответ на: комментарий от arturpub

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

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

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

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

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

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

anonymous
()
Ответ на: комментарий от arturpub

Я ничего не хотел высказать. Мне просто это непонятно.

Deleted
()
Ответ на: комментарий от erzented

я когда смотрел проекты на руби, по сравнению с php/python они просто сказка

А теперь попробуй их разрабатывать, а не смотреть на них.

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

ЕМНИП, VB поддерживает все те же фичи, что и C#, только со своим синтаксисом, конечно. На С# пишут сложные приложения, значит, и на VB тоже можно писать.

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

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

хитро с расчетом «а вот этот кусок оставлю на си»

Частично бывает, что и так. В основном это те блоки, которые требуют io в к-л виде, но дело не в хитрости, а в том, что что-то переносить затратнее, чем оставить на сях.

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

Аналогия не очень хорошая.

Любых к любым - это надо делать ЯВНО. То есть ССЗБ.

А то, на что жалуется ТС, как я понял, происходит из-за банальных опечаток. Плюсы таковые всё же, как правило, отбрасывают на стадии компиляции.

У Плюсов есть другой недостаток - костыльная реализация модульности. Вот там да, можно нечаянно намудрить и получить вопли, например, про отсутствующую vtable, а потом долго её искать. Но и это таки всё же на стадии компиляции. На рантайм остаются, в основном, сегфолты :)

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

Любых к любым - это надо делать ЯВНО. То есть ССЗБ.

Естественно, явно. Но практика программирования на Си это поощряет :)

А то, на что жалуется ТС, как я понял, происходит из-за банальных опечаток.

Банальные опечатки в синтаксисе и именах и python, и даже PHP ловят прямо в IDE. Плюс, если уровень разработки посерьёзнее Хелловорда, то обычно есть юниттесты. А у нормальных проектов — автоматическое тестирование при коммитах. Это всё, конечно, и в Си/Си++ есть и работает, просто при нормальном процессе разработки это для динамических языков тоже не проблема :)

На рантайм остаются, в основном, сегфолты :)

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

KRoN73 ★★★★★
()

делай как я, удобно писать на С или С++, на нем и пишу, нету привязки к конкретному языку программирования

anonymous
()

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

А вообще, юзай то, к чему привык. Нравится тебе перл - клепай на перле, нахрен ты себя насилуешь питоном, а потом приходишь сюда ныть?

alex_the_v ★★★
()

Ниша у него точно такая же как пацкаля и бейсика – обучение школьников программированию. Использовать пистон для чего-то другого – клоунада.

komeiji
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.