LINUX.ORG.RU

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

 ,


1

4

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

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

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

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

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

В первую очередь из за отсутствия первоклассных типов.

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

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

Правильно я понял, что ты прототип пишешь на си, а потом переписываешь на сриптоту?

Все правильно, да.

Каких только странных парней не встретишь на ЛОР.

мне негде применить наследование и генерики

Мде. В какой хоть предметной области ты работаешь, если прототипируешь на убогом Си программы для Луа?

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

VB6 же. Ещё есть божественный vbscript от используется для автомазации задач на оффтопика и написания сайтов на классическом asp.

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

Он рантаймовые тэги называет первоклассными типами.

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

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

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

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

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

И в этом основная проблема программистов одного языка — они тупо не могут расслабиться, потому что код-то покрыть можно, а вот архитектуру не покроешь, и придется поддерживать те костыли, которые они накидали в силу когнитивных возможностей, помноженных на проектировочную мощность языка и поделенных на его сложность. Когда ты так замкнут в среде, очевидно, что ты пытаешься ее максимально обустроить. Типичный пример это кресты (внезапно, да?), где все изо всех сил пытаются прикинуться, что на самом деле(ц) пишут на ЯВУ, имея доступ к низкому, тщательно не замечая очевидного. Доходит до смешного, когда для микроконтроллера с двумя килобайтами памяти ты видишь Класс С Тремя Методами, весь облепленный синтаксическим сахаром, какими-то енумами, неймспейсами, оверлодами и прочей херней. Форма круче содержания. Помню тред пару лет назад, в котором крестовые только на третьей странице заметили, что произведение векторов неправильное, все три страницы обсуждая как лучше оверлодить операторы.

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

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

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

а потому что кто-то может найти это полезным.

Откровения эмбедщика, который сложные проекты только в 1с видел, ню-ню.

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

В какой хоть предметной области ты работаешь, если прототипируешь на убогом Си программы для Луа

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

Вместо стены водытекста можно было просто сказать «предпочитаю умолчать».

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

Методы «приготовления сишки» лично меня не интересуют, а пользоваться Си я и так умею .

Припоминаю, был тут на ЛОР один фанат LuaJIT и wx, любил вроде в Исландию ездить и почти никогда не отвечал на простые вопросы. Ты не его реинкарнация?

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

Я не эмбедщик ни в одном месте, просто встречал безобразия.

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

Нет. Я и правда затрудняюсь ответить на твой вопрос, потому что не знаю номенклатуры. Сейчас пилю параллельно два проекта, один платформа для быстрого прототипирования управленческих систем, другой софт для аналога death track ирл. Эмбеддовку там же зацепил, т.к. дроссель и мишень. Никакого матана или трейдинга, если ты об этом.

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

приснился мне как-то кошмар - оказатся в куругу твоих «знакомых».

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

костян рассказывал, что руби значительно проще некоторые вещи делать, сейчас уже не скажу какие, весной это было, показал как в руби сделать в 5 строчек, а на питоне это 12.

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

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

Говнокодер-однострочник детектед.

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

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

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

был 6 лет ведущим программистом perl в триколоре...

Вшивая конторка твоего уровня, чтд.

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

ведущим программистом perl

Это, что ли, тот самый случай когда слова {ведущий, главный, старший} добавляют в именование должности в отделе из 1го человека чтобы совсем не было грустно существовать?

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

нет, его отдел был 30 человек, у триколора софт на перле для приставок

erzented
()

ты говноко^Wнеосилятор.

Хаскель возьми, будет тебе всё во время конпеляции всё проверять

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

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

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

Что значит «было». vb6 и приложения на нем используются в энтерпрайзе и сейчас. Специалисты по vb6 востребованы. Это не поделки вроде пайтона, когда специалисты обученные python2 никому не нужны, а python3 совершенно другой язык, которому надо переучиваться. Разве что для лигаси, когда надо переписать код с некогда модного python2 на php7 или perl6 или nodejs.

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

Это не поделки вроде пайтона

Это ты расскажешь тем, кто не программировал на VB6.

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

Too fat.

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

Специалисты по vb6 востребованы

/me рыдает. Чувак, ты бесподобен. Нет, правда.

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

Разве что для лигаси, когда надо переписать код с некогда модного python2 на php7 или perl6 или nodejs.

Троллометр зашкалил.

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

django и RoR были модным среди хипстеров.

Но сейчас они устарели, они не позволяют писать современные веб приложения без косытлей, нет прозрачной интеграции между backend и frontend как в nodejs и нет той производительности. Нет поддержки js фреймворков вообще. django годится для быстрого создания web1.0 сайтов и сайтов-визиток.

http://www.youtube.com/watch?v=Niq-HoraNPo

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

Смотрю erzent в пограмисты метит. Может теперь анонiмусу будет не так одиноко здесь.

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

нет прозрачной интеграции между backend и frontend

Спасибо, блеванул от маркетоидной агитки.

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

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

Все уже давно обмазано SPA. Пофиг чем отдавать json. Разница только в инфраструктуре и удобстве поддержки. Sentry+Python залог успеха.

нет прозрачной интеграции между backend и frontend как в nodejs

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

django годится для быстрого создания web1.0 сайтов и сайтов-визиток.

Чистая правда, только вообще *все* фреймворки на бекенде тихо умерли ввиду ненужности обмазывания фронтом, возрадуемся друзья.

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

Вот постоянно слышу: фреймворки не нужны, фреймворки умерли. А что сейчас вместо них у хипстоты? Ведь этот сраный json не из астрала же достается. Все равно нужно парсить HTTP, дергать базу, писать тесты и пр. Неужели на коленке в стиле тру-похапе это удобнее делать?

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

Ведь этот сраный json не из астрала же достается. Все равно нужно парсить HTTP, дергать базу, писать тесты и пр.

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

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

тесты не катят, потому что их либо тупо нет, либо они сломаны

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

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

Я на VB6 писал и мне про его нужность не втирай. Кто мог давно мигрировал на .NET, кто не может по каким-то причинам - либо там настолько адовое и mission-critical что не переделать за вменяемый срок, либо всё работает и так и переписывать и мигрировать никуда не надо.

Это кстати камень в огород опенсорсной тусовки. Пичаль, да.

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

Too fat.

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

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

А в современном мире так стало можно. Возможности браузеров и умения веб-погроммистов выросли до уровня когда front и backend могут делать две команды разработчиков независимо друг от друга и между собой они гоняют только json. В этих реалиях развесистые фреймворки становятся не нужны. Скорее комбинируемое множество библиотек. Модульность, чо.

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

Ну что значит развесистые? Есть модульные фреймворки, есть микрофреймворки. Чем они хуже набора библиотек, хз. В них хоть архитектура уже продумана, компоненты подогнаны, полно всяких утилит, гайдлайнов. Или уровень быдлокодеров уже настолько взлетел, что они способны сами себе собрать из либ конфетку? Чето верится с трудом. Десять лет назад все ссали кипятком от фреймворков и чморили олдовых похапешников, а теперь обратный что ли разворот? Да вы все нигилисты, блджад.

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

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

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

Не надо генерить html по шаблонам

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

Раньше как было - заносит дизайнер макет верстальщику, верстальщик раскатывает его на html+css, отдаёт тебе, а ты его уже натягиваешь на движок шаблонов и периодически материшься(2008 год). Соответственно, разраотчик backend вынужден разбираться в том как контент отображается у клиента и мало-мальски помнить про то, как обстоят дела с разными браузерами(привет IE6). А теперь мне довелось со стороны backend поучаствовать - выглядит это так: надо отдать json с нужными морде данными. ВСЁ! И это хорошо.

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

Я честно говоря хз как оно в мире профессиональной web-разработки, я в embedded ушёл, тут своя атмосфера.

Десять лет назад все ссали кипятком от фреймворков и чморили олдовых похапешников

Не знаю как там в большом мире, но мне на embedded железке стало возможно выкинуть нахрен всё развесистое барахло и запилить обычный cgi который отдаёт/принимает json. Библиотек нужно две: 1 - та которая делает routing запросов. Ибо самому писать её неохота. 2 - та которая делает разбор запросов и отдаёт их в виде структуры данных.

Очередная спираль эволюции.

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

А что сейчас вместо них у хипстоты?

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

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

Остальная байда никуда не делась.

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

Все «батарейки» той же джанги, даже сторонние, не выдерживают никакой критики для серьезных проектов. ORM ничего не умеет и тяжел, скатываться в чистый SQL тяжело, нет понятия сессий как в алхимии, а миграции по сравнению с алембиком полное уныние, особенно при больших командах где мержи случаются часто.

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

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

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

A1
()

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

Хочешь проверки типов используй mypy/type-hinting в 3.5

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

Сейчас все хотят full stack developer. Это значит, что ты должен пилить и бэкенд и знать пятерку модных js фреймворков. А для бэкенда надо брать какой-нить django-rest-framework, который нифига не прост дальше туториала и элементарных случаев.

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

божественному JS

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

Shadow ★★★★★
()

pydev с консолью с загруженным в ipython приложением - и никаких проблем с переписыванием и отладкой кусочков кода. Быстро, просто.

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