ulidtko 17.05.2012 20:23

Совершенно неожиданно для себя попробовал гнутый стиль фигурных скобочек:
if (blahblah)
←--→{
←--→op();
←--→op2();
←--→}

Не так уж и плох, как мне вначале блевалось.

C++, GNU
1. gds 17.05.2012 20:25

это не гнутый, это мой стиль111 Фишка в чотком понимании того, что всё, что идёт на одном уровне — как бы один оператор (составной или простой — не важно).

2. ulidtkogds /1 17.05.2012 21:05

фишка в том, что питон, лол.

3. gdsulidtko /2 17.05.2012 21:20

если есть сишечько-подобные { } и составные операторы, этот стиль рулит. А если всякие петоньé его используют — это похуй.

4. ulidtkogds /3 17.05.2012 21:26

не стоит говорить «питоньё» так, будто это низшая каста программистов.

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

5. gdsulidtko /4 17.05.2012 21:34

ну да, по сравнению с похапэшниками и 1Сниками питонописатели, можно считать, живут в ажуре.

Про именно семантические отступы — решение плохое. 1. часто нужно cut-n-paste — чо, ещё и отступы дрочить?///// 2. усложняет кодогенерацию, 3. усложняет парсинг.

6. ulidtkogds /5 17.05.2012 21:39

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

Насчёт cut-n-paste — согласен, но эта же проблема не решается и free-form отступами. Всё равно нужно реиндентить. Так что в сравнении это не недостаток, это отсутствие решения той же проблемы.

7. dorfeulidtko /4 17.05.2012 22:48

> стоит говорить «питоньё» так, будто это низшая каста программистов.

fftgj

8. dorfeulidtko /4 17.05.2012 22:51

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

9. gdsulidtko /6 17.05.2012 23:42 umodniACDBB69D

2 + 3 — нефиг использовать языки с КЗ-грамматиками. Если же темплейты это про C++, то тоже в топку, вместе с C++.

Ко всем вопросам (1 + 2 + 3) относится такой аргумент: задачи нужно решать, и иногда бывает так, что решать нужно быстро, и пофиг, как именно, 1. даже в ущерб виду рукописного кода (cut-n-paste — и работает без дрочева на выравнивание), 2. дополнительных средств для генерации выровненного кода, 3. не заводя еботню на тему дополнительных токенов для парсинга.
Кроме того, у меня даже в продакшоне есть код, который никаким формальностям выравнивания не соответствует, но его легко читать, поддерживать, исправлять.

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

10. ulidtkodorfe /8 17.05.2012 23:44

> хомячьё
> скобки на отступы
> бугурты
> лисп

да ты словесный повар! вон какой охуенный винегрет готовишь.

11. bormandorfe /8 18.05.2012 05:45

Почему вы с @lovesan так похожи?

12. 238328ulidtko /2 18.05.2012 15:50

для питона такое выравнивание нигде не прописано

13. ulidtko238328 /12 18.05.2012 15:56

тебе показать грамматику питона?

14. 238328ulidtko /13 18.05.2012 15:57 6064855181337351749494234

давай

15. ulidtko238328 /14 18.05.2012 15:59

http://docs.python.org/reference/grammar...

Ctrl+F, INDENT:

suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT

16. ulidtko238328 /12 18.05.2012 16:01

так что нет, индентация блоков у питона именно в синтаксисе.

Хаскельные layouts, я считаю, полущ, но даже и это уже хорошие шаги.

17. 238328ulidtko /15 18.05.2012 16:03

и штоу

18. 238328ulidtko /15 18.05.2012 16:06

это только один из вариантов — для многострочных выражений. Тебе никто; не мешает; угорать по хардкору; через полукишки;

19. ulidtko238328 /18 18.05.2012 16:13

мешает, «угорать по хардкору; через полукишки;» не является блоком ("suite"):

>>> for s in ["suck", "my", "this"]: if s != "my": print s
File "<stdin>", line 1
for s in ["suck", "my", "this"]: if s != "my": print s
^
SyntaxError: invalid syntax

Потому я и говорю, что do { it ← хардкор; угорать it; return "haskell layouts"; } полущ. Но не критично, на самом деле; обфусцировать можно и без такого «хардкора».

20. dorfeulidtko /10 18.05.2012 20:11

правда глаза колет? ;-)

21. dorfeborman /11 18.05.2012 20:12

Потому что я его виртуал, очевидно же!

22. dorfeborman /11 18.05.2012 20:14

А если серьёзно, он процентов на 70% ок.

23. dorfeulidtko /16 18.05.2012 20:16

интендация тупо замена скобкам и норманому аст на их основе.

24. dorfedorfe /23 18.05.2012 20:17

*нормальному

25. ulidtkodorfe /23 18.05.2012 22:13

не неси хуйню позязя.

Ну то есть, мне на самом деле похуй, можешь нести что угодно. Я просто сообщаю тебе, что ты несёшь хуйню.

26. dorfeulidtko /25 19.05.2012 02:01

мне похуй на твоё ложное неподкреплённое фактами сообщение, полное хуйни

Do you really want to delete ?