utros 30.01.2011 10:22 jabber.el

И всё-таки питон — школоло-язык.

1. werehuman 30.01.2011 10:23 lithium

и ты главное школоло

2. utroswerehuman /1 30.01.2011 10:26 jabber.el

!R

3. werehumanutros /2 30.01.2011 10:26 lithium

а, ты на пхп пишешь

4. utroswerehuman /3 30.01.2011 10:31 jabber.el

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

5. werehumanutros /4 30.01.2011 10:32 lithium

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

6. utroswerehuman /5 30.01.2011 10:34 jabber.el

Да он весь — один большой бред, ты просто привык.

7. werehumanutros /6 30.01.2011 10:34 lithium

да не верю я. Я частенько абстрагируюсь

8. utroswerehuman /7 30.01.2011 10:39 jabber.el

Попробуй написать что-нибудь более-менее сложное, совместимое с питонами 2.4+ или хотя бы 2.5+, включая третью ветку ;)

9. werehumanutros /8 30.01.2011 10:40 lithium

нуу эээ и где тут школоло?

10. utroswerehuman /9 30.01.2011 10:42 jabber.el

Жутчайщая несовместимость даже внутри одной ветки явный признак плохо продуманного языка. Плюс многие рекомендованные паттерны — это же пиздец чистой воды.

11. werehumanutros /10 30.01.2011 10:44 lithium

знаешь, у меня не вызывало проблем написать такую программу, чтобы работала на 2.4-2.7. А у тебя не получается написать такую программу наверное потому, что ты не можешь додуматься читать документацию к 2.4, а не к 2.7.

12. werehumanutros /10 30.01.2011 10:44 lithium

про пиздец-паттерны подробнее

13. utroswerehuman /11 30.01.2011 10:49 jabber.el

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

14. werehumanutros /13 30.01.2011 10:50 lithium

ну не используй оператор with, епта

15. utroswerehuman /12 30.01.2011 10:54 jabber.el

Например, в том случае, когда в функции что-то отработало не так, нужно генерить эксепшн. Do less, write more! У меня вызоа некоторых функций выходил в три-четыре экрана из-за того, что приходилось обрабатывать все стопицот типов эксепшнов, которые она возвращает.

16. werehumanutros /15 30.01.2011 10:54 lithium

АРХИТЕКТУРА ПЛАГИНЫ ЛИЧКРАФТЫ блин
я почти не использую try-except

17. utroswerehuman /16 30.01.2011 10:56 jabber.el

Значит ты не работал с тырпрайзными апи, либо твой кот завалит больше половины юнит-тестов. А возможно и то и другое.

18. werehumanutros /17 30.01.2011 10:58 lithium

какие апи? Какие юнит-тесты? Кто пишет юнит-тесты то, а?

19. utroswerehuman /18 30.01.2011 11:06 jabber.el

Уууу.. Вот когда будешь быдлокодить что-нибудь РЕАЛЬНО БОЛЬШОЕ, тогда поговорим.

20. werehumanutros /19 30.01.2011 11:06 lithium

и что же ты такое кодил?

21. utroswerehuman /20 30.01.2011 11:07 jabber.el

Корпоративный портал для одной компании. Там получился пиздец на 18 метров кода (не считая сторонниз либ).

22. werehumanutros /21 30.01.2011 11:08 lithium

так то, что вы быдлокодеры, не говорит о том, что язык плох

23. utroswerehuman /22 30.01.2011 11:10 jabber.el

Не говорит, но то, что язык плох, не говорит что мы — быдлокодеры.

24. werehumanutros /23 30.01.2011 11:10 lithium

так ты так и не назвал доводов в свою пользу. Ты только сказал, что вы нагородили быдлокод

25. utroswerehuman /24 30.01.2011 11:24 jabber.el

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

26. werehumanutros /25 30.01.2011 11:48 lithium

я не говорил, что я не знаю, что такое юнит-тестирование. Это ты тут пальцы гнешь, что писал большие системы, а потом оказалось, что писал их как получится

27. utroswerehuman /26 30.01.2011 11:54 jabber.el

#httzh/18, например. А откуда вывод, что "писал их как получится"? И главное, где ты усмотрел здесь пальцы?

28. werehumanutros /27 30.01.2011 12:30 lithium

вы же сами юнит-тесты для себя и пишете. Пальцы у тебя повсюду, ты тут своим опытом о разработке одного сайта давишь. И ты сам признался, что писал быдлокод. Вот и получился быдлокод. А язык чем виноват?

29. utroswerehuman /28 30.01.2011 12:47 jabber.el

Корпоративный говносайтик был приведен как пример того, где без юнит-тестирования вообще никуда. Юнит-тесты, кстати, писали не мы, а специально обученные обезь~программисты-тестировщики, ибо требовалось стопроцентное покрытие кода юнит-тестами. Ну а любой кот — быдлокод, ибо всё познается в сравнении.

30. werehumanutros /29 30.01.2011 12:50 lithium

так вот, ты жаловался, что эксцепшнов много
ну во-первых, все познается в сравнении. Попробуй джаву что-ли.
во-вторых, а без них точно никак нельзя было обойтись? Например вместо блока try-except IndexError юзать блок if smth in smth: . Или тот же паттерн стратегии в классах эксцепшнов использовать (если он там уместен, конечно).

31. utroswerehuman /30 30.01.2011 13:32 jabber.el

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

32. werehumanutros /31 30.01.2011 13:33 lithium

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

34. werehumanutros /33 30.01.2011 13:37 lithium

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

35. utroswerehuman /34 30.01.2011 13:38 jabber.el

Гугль пишет на питоне и на яве, в основном. А такой паттерн описан где-то в пепах и является рекомендованным, если что.

36. werehumanutros /35 30.01.2011 13:40

итак, а какие альтернативы этому паттерну ты можешь предложить?

37. utroswerehuman /36 30.01.2011 13:49 jabber.el

Всегда по-разному. Я предпочитаю возвращать туплет (ok, result) и в нем индикатор успешности завершения и сам результат таким макаром, что если мне плевать на ошибку, то я просто использую результат, а если нет — анализирую возвращаемое значение.

38. werehumanutros /37 30.01.2011 13:50 lithium

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

39. utroswerehuman /38 30.01.2011 14:08 jabber.el

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

40. werehumanutros /39 30.01.2011 14:09 lithium

слишком частный случай

41. utroswerehuman /40 30.01.2011 14:10 jabber.el

Как оказалось, не такой уж и частный.

42. werehumanwerehuman /40 30.01.2011 14:10 lithium

я свои наколенные скрипты и вовсе целиком из reduce и list comprehentions стараюсь сделать, вставляет меня это. Но там, где мой код будет читать кто-то еще, я себе такое не позволяю.

43. utroswerehuman /42 30.01.2011 14:13 jabber.el

Это временами забавно, да. Хотя засунуть такой код, тщательно продуманный, отлаженный и упакованный, в ядро проекта — очень веселое дело, скажу я тебе. Оно работает, быстро работает, но никто ничего не понимает какого хрена оно вообще работает)

44. werehumanutros /43 30.01.2011 14:14 lithium

функциональная парадигма то быстро работает? Далекоо не всегда. Когда в дело вступает иммутабельность — кранты.

45. Harbinger 19.04.2012 14:46 Collector Base

Embrace perfection.

Do you really want to delete ?