
Pavel
22.03.2018
14:25:02
Интерпретируемые языки как раз позволяют быстро сделать медленный продукт, что абсолютно всех устраивает.

Denis
22.03.2018
14:25:12
Не поволяют.
Они позволяют быстро сделать задачу на лабе в вузике.

Pavel
22.03.2018
14:25:46
Это просто неоспоримый факт. Посади двух синьоров писать CRM на php и на D и первая команда выиграет.

Google

Pavel
22.03.2018
14:26:01
Им не надо ни утечки искать, ни с аллокациями ни с дедлоками ебацца.

Denis
22.03.2018
14:26:20
перформанс в каких попугаях будем мерить?

Pavel
22.03.2018
14:26:58
Система на пшп будет загружаться за 0.1 секунду, а на D за 0.01 секунду. Разницы никто не заметит :)
В этом плане системные языки слишком overqualified, они дают оптимизацию и скорость которая сейчас уже никому не существенна.
Так вот, все это к чему: при хорошей практике разработка через TDD позволяет пусть менее оптимальный код писать, но быстрее приходить к четкому пониманию предметной области.
И не переделывать код по 10 раз
Это не касается производительности, существенный момент. Оптимизация может потребовать сильно все переделать.

Denis
22.03.2018
14:44:12

Pavel
22.03.2018
14:44:46
Не надо объяснять, я это десяток лет уже наблюдаю лично :) В десятках проектов, докладов, конференций.
Да и сам факт того что люди начинают писать на питоне и уходят с с++/джавы это подветрждает просто эволюционно. Если бы это было не так, то питонопроекты в итоге умирали бы.
И их бы обгоняли системные.

Stanislav
22.03.2018
14:48:23
ну щас часть народа вот валит с питонов на го в поисках перфоманса)

Pavel
22.03.2018
14:48:59
Да, это потому что данных стало так много и логика настолько сложная что это уже снова опять начинает все тормозить.

Google

Pavel
22.03.2018
14:49:55
Но это если заниматься всяким хайлоадом и анализом данных.
Как только наука инженерия ПО придумает как избегать трудозатрат на race condition, аллокации и всякие подобные оптимизации, то системные языки снова станут продуктивными и на них начнут обратно переходить.
Этот процесс идет постоянно, это как генетическая эволюция. Постоянно на всех языках пробуют делать стартапы. Те языки которые подходят, потом выживают и на них делают больше проектов. Те которые не подходят - не выживают и уходят в небытие.

Denis
22.03.2018
14:53:42

Pavel
22.03.2018
14:54:29
Остается просто взять и воспользоваться ими.

Dmitry
22.03.2018
15:16:41
А юнит-тесты при разработке по всем этим скрамам и агил писать реально? Просто опять же у нас уже пол года говорят что «теперь точно пишем». В итоге как обычно нефига никто не пишет. Это у всех так?


Pavel
22.03.2018
15:17:23
Да так у многих
Надо приучить к правильному воркфлоу
Но тут что-то типа сиюминутной выгоды вместо долгосрочного успеха. Такие проекты как правило со временем засираются до такой степени что никто уже не может в них разобраться и тогда все выкидывают и переписывают заново.
Представь что у тебя есть лодочка с дыркой и ты переплываешь речку. За это время лодочка не успевает затонуть, и ты думаешь "ну ок сейчас прокатило, в следующий раз заделаю дырку". Плаваешь так между берегами год. А потом тебя посылают переплыть озеро. Не успеваешь доплыть и тонешь :D
И уже под водой думаешь "надо было все-таки убрать техдолг и заделать дырку". А заказчики выбирают нового паромщика с более мелкой дыркой и нанимают его.
Если вкратце то вот как работает индустрия ПО :D

Dark
22.03.2018
15:22:00
Нет, есть еще второй вариант
Плюнуть на все и переписать
Так MS и делает

Denis
22.03.2018
15:24:02

Pavel
22.03.2018
15:25:06
Ох камон, причем тут рашка то вообще
Так делается абсолютно во всем мире
В Индии, в штатах, Китае, Азии, Европе. Это универсальный принцип.

Google

Pavel
22.03.2018
15:26:20
Собственно поэтому джава и выиграла, хоть у нее производительность поменьше чем C++ и она требует куда больше памяти.

Dark
22.03.2018
15:27:55
Не люблю джаву. Этакая громоздокая машина, что прожует что угодно и как угодно

Denis
22.03.2018
15:40:13
БИЗНЕСТРЕБОВАНИЯ слышишь? сразу в ебало бей
отъ

Pavel
22.03.2018
15:40:44
Ты по-моему какой-то неадекват немного :)
Из пещеры то хоть иногда вылезаешь?

Denis
22.03.2018
15:40:57
> В мире бизнес приложений 99% алгоритмов уже изобретено и дооптимизировано.
никому никогда не говори - засмеют
я адекват как раз.
мантра о том что "всё уже написано" на моей памяти существовала всегда, и до меня, говорят, тоже
отъ

Dmitry
22.03.2018
15:42:11
Мне кстати упорно кажется что на Ди те же юнит-тесты куда логичнее и проще сделаны чем на том же питоне. Мне не сложно функцию чуть ниже протестить, но сложно в отдельный файл что то пихать

Denis
22.03.2018
15:42:22
в питоне они не часть языка прост.

Pavel
22.03.2018
15:42:31
Пытаясь найти где-же сегфолтится
https://habrahabr.ru/post/260149/ вот тут вот прекрасным слогом написано :D
Читайте параграф Главная и единственная цель
А есть ли там механизм для получения моков я даже не знаю, но походу нет.

Google

Denis
22.03.2018
15:56:06

Pavel
22.03.2018
15:57:13
ну не

Denis
22.03.2018
16:28:33
он умеет проверить и выдать текстовую ошибку - этого достаточно

Stanislav
22.03.2018
16:30:19
мда, в vibe-core нормально ип не вытащить входящего подключения, если у тебя дуалстек
он мне вот так вот сделал ипв4 адрес
0:0:0:0:0:ffff:c0a8:5801
почему то думает что у коннекшона AF_INET6, а не AF_INET

Denis
22.03.2018
16:36:24
> дуалстек
этачо?
он тебе верно всё дал

Admin
ERROR: S client not available

Denis
22.03.2018
16:36:45
это маппинг в ипв6 ипв4 ажресов
стандартный

Stanislav
22.03.2018
16:37:26
мне прилетел запрос по ипв4
фэмили должен быть AF_INET, а там почему то AF_INET6

Denis
22.03.2018
16:39:55
годно!
https://habrahabr.ru/post/260149/

Stanislav
22.03.2018
16:40:50
это-то понятно, но как мне узнать что это реально ипв4?)

Denis
22.03.2018
16:42:13
тебе это не нужно скорее всего

Stanislav
22.03.2018
16:44:02
мне это нужно, я пишу сетевой демон)
либо мне список хостов держать в таком же замапенном виде.
либо парсить хм

Denis
22.03.2018
16:44:34
а как к твоему демону коннектятся? ты listen как делаешь? наверняка коннектятся похуй каким протоколом

Google

Denis
22.03.2018
16:44:45
собсно, по адресу можно прямо понять ипв4 это или нет
подсеть выделена
> либо мне список хостов держать в таком же замапенном виде
да

Stanislav
22.03.2018
16:46:53
ну это понятно, что можно сказать.
лан, придется парсить походу в случае если af_inet6

Denis
22.03.2018
16:47:03
зачем?
тебе это не нужно по логике
ты же одинаково их обслуживаешь

Stanislav
22.03.2018
16:48:47
а как иначе?
вот у тебя есть демон, может работать как с ипв4, так и с ипв6.
протокол такой, что соседи явно прописываются руками.
ты принял тцпконнекшн, у него af_inet6 адрес фэмили.
и тебе нужно проверить к какому пиру относится пакет.

Denis
22.03.2018
16:49:55
зачем? живи всегда в ипв6

Stanislav
22.03.2018
16:50:17
а если сервер запустили на ipv4 only хосте?

Denis
22.03.2018
16:51:25
ну и что будет? (ничего)

Stanislav
22.03.2018
16:51:28
хм, а если повесить 2 разных слушающих сокета, один на ipv4, другой на ipv6 так сработает интересно или нет

Denis
22.03.2018
16:51:35
так никогда ипв6 не настанет с вами

Stanislav
22.03.2018
16:52:13
да не, я могу жить и так, просто мне придется либо ipv4 адрес из конфига переделывать в формат ipv6 mapped
либо наоборот, проверять у коннекшна не замаплен ли адрес, и переделывать его обратно - чтобы логически связать с настройками конкретного пира

Denis
22.03.2018
16:52:46
ну и чо? я всегда так адреса делаю
тем более что вайб поймёт оба варианта

Stanislav
22.03.2018
16:54:12
вайб поймет оба, а мой класс не поймет

Denis
22.03.2018
16:54:28
Почему так?
(а если бы это был не коннект а юникс сокет?)

Stanislav
22.03.2018
16:55:41
ну вот говорю же) чтобы научился понимать - надо метод дополнительный написать, который проверяет не замаплен ли адрес