
Alexander
29.10.2016
21:46:01
КОМПРОМИСС
НЕ ДЛЯ
НАС
я тоже не против смешения разных ЯП в 1 проекте, если в каком-нибудь проекте есть узкие места и 2-3% всего кода переведут на С/С++ - в этом нет ничего плохого, это самые быстрые языки программирования.. все игровые проекты вообще полностью на С++ пишут (движки ААА-класса типа CryEngine )

Vladimir
29.10.2016
21:55:55
В @devops_jobs плз

Alexander
29.10.2016
21:58:15
просто когда нужна высокая производительность - берут С/С++, главное, не стремиться весь код писать на нём)

Google

Pavel
29.10.2016
21:58:51

Andrey
29.10.2016
22:02:08
но почти всегда программисты, у которых этот язык родной пишут самый быстрый код =)
ИМХО C\C++ это прежде всего дисциплина

Александр
29.10.2016
22:02:45

Andrey
29.10.2016
22:03:15
насколько я знаю, на жаве вполе реально писать быстрый код
притом, ведь, зараза даже падать не будет

Daniel
29.10.2016
22:04:04
а если будет - будет давать внятный стектрейс

Александр
29.10.2016
22:04:56
Опять непонятные слова

Pavel
29.10.2016
22:05:19
Кстати, один из лучших трейсов, что я видел у джавы

Александр
29.10.2016
22:06:04
в java хоть понятно где и что нетак... пошёл писать скрипт на python, где вывод хуй знает
?

Google

Alexander
29.10.2016
22:07:28
так и не зря же эти ЯП популярны) С/С++ / Java / Python, пройдут десятилетия, а они будут по-прежнему живы

Andrey
29.10.2016
22:11:45
хе
gdb многое разъясняет
не знаю как там в явах

Александр
29.10.2016
22:14:11
нафиг эти яп
яп от яп

Alexander
29.10.2016
22:18:16
но там всё просто, отладчиком обычно пользуешься в каких-то крайне редких случаях

Roman
29.10.2016
22:41:35

Andrey
29.10.2016
22:42:55
причина может звучать хотя бы так — а что если этот редис захотят собрать на какой-нибудь другой юникс подобной среде? Ну и вообще, код, который делает не то, что подразумевает — по умолчанию говно
конечно, можно написать комментарий на 20 строк

Vladimir
29.10.2016
22:45:11
У них там свой

Andrey
29.10.2016
22:45:28
но можно просто не писать говна :) Тем более речь идёт о инициализации, которая происходит обычно один раз, при старте

Vladimir
29.10.2016
22:45:47
@lorddaedra https://morepypy.blogspot.nl/2016/09/revdb-released-v541.html?m=1

Andrey
29.10.2016
22:49:19
насколько я знаю, идея редиса в синхронном, параллельном выполнении, но при этом всем операции максимально "атомарны". Ума не приложу, зачем ему подпроцесс создавать, с такой то идеей

Roman
29.10.2016
22:53:09

Google

Roman
29.10.2016
22:54:07

?
29.10.2016
22:58:43
а со SlamData кто-нить работал?

Andrey
29.10.2016
23:13:25
fork - это всегда cow.
не всегда. Тенденции меняются, а библиотечные вызовы — почти всегда нет, так как эти библиотеки создавали, чтобы изолировать системные вызовы. Это сделанно, чтобы на всех ОС, стандартный библиотечные вызовы вели себя одинаково. Так cow в fork приехал, не исключено, что так же он и уедет.
есть такое понятие, как управление сложностью. Когда я пишу fork() я вкладываю в это определённый смысл. Я хочу передать некоторую семантику читающему. Если я оперирую терминами cow, я, пожалуй лучше напишу clone()

Vladimir
29.10.2016
23:22:47
Поэтому и CoW - это всегда есть.

Roman
29.10.2016
23:22:58

Vladimir
29.10.2016
23:23:11

Roman
29.10.2016
23:23:16

Vladimir
29.10.2016
23:23:30
если ты используешь клон ты говоришь "плевать я хотел на всех кто пользуется не линуксом", и ничего кроме.

Roman
29.10.2016
23:23:46
Ну и если честно копировать память, то fork процесса с 16gb res будет забавным

Andrey
29.10.2016
23:25:51

Vladimir
29.10.2016
23:26:12

Andrey
29.10.2016
23:26:23
ещё хочу сказать, что мне очень жаль программистов, которым приходится писать, например под freebsd

Vladimir
29.10.2016
23:26:28
у тебя неправильное понимание договоренностей.
отсюда неправильные выводы

Roman
29.10.2016
23:27:39
Слушайте, ну есть single unix spec. Если писать по нему - все будет ок

Google

Andrey
29.10.2016
23:27:53

Roman
29.10.2016
23:28:03
Да, не будет epoll/kqueue

Vladimir
29.10.2016
23:28:06
ты его неправильно понимаешь, поэтому зачем-то для CoW семантики предлагаешь использовать linux-only non-posix syscall
это честно говоря бред
и тому кто будет потом твой код читать резонно захочется дать тебе в морду за такое
И хорошо если это будешь ты через 2-3 года

Admin
ERROR: S client not available

Andrey
29.10.2016
23:30:49
посикс описывает поведение fork, в ограниченном виде
это классика для мира unix программирования. Кошка бросила котят, пусть ебуться как хотят :)
если бы была дока, где написанно, что дочерний процесс ДОЛЖЕН содержать побитовую копию образа виртуальной памяти основного процесса — базар был бы нулевой
а так линукс cow придумал. plan9 вводит rfork() который тоже по-своему себя ведёт

Vladimir
29.10.2016
23:34:18
@abagrintsev ок, делай как считаешь нужным, но то что ты делаешь - дебилизм с моей точки зрения

Andrey
29.10.2016
23:34:31
ну смотри
давай со своей колокольни объясню. Не обязательно считать, что моя точка зрения истина в последней инстанции

Vladimir
29.10.2016
23:35:08
ну давай

Andrey
29.10.2016
23:36:28
вот ты написал программу, её приняли, протестировали всячески (иногда бывает, что некоторые баги можно поймать только под нагрузками) и вдруг кто-то из админов решил, что линукс говно, надо срочно ставить plan9, потому, что модно, молодёжно и т.д.
вообще, у нас, на уровне cmake и либ такое пресекается

Google

Andrey
29.10.2016
23:37:05
но речь не об этом

Vladimir
29.10.2016
23:37:24
вот ты написал программу, её приняли, протестировали всячески (иногда бывает, что некоторые баги можно поймать только под нагрузками) и вдруг кто-то из админов решил, что линукс говно, надо срочно ставить plan9, потому, что модно, молодёжно и т.д.
ну если так, то программу в тест на план9, с анализом производительности, надежности и прочего

Andrey
29.10.2016
23:37:45
не всё так просто
по причинам изменичовсти того же fork() в завимисоти от окружения, хорошим тоном было бы такие вызовы писать под #ifdef
причём, под #else лучше вообще писать abort() :)
потому что ты уволишься, программу поддерживать не будут, а вспоминать будут именно тебя :)

Vladimir
29.10.2016
23:41:20
притом взамен того что в 100% реальных случаях на ближайшие 5 лет будет работать нормально?
твое право, но я увидев бы такой код очень долго вспоминал нехорошими словами его автора

Andrey
29.10.2016
23:42:13
ты бы вспоминал не в этом случае

Vladimir
29.10.2016
23:42:18
куда дольше и жирнее чем если бы твоя софтина криво работала бы на план9

Andrey
29.10.2016
23:42:45
а вспоминал бы, когда засетапил сервак, приложение запустилось и из техсаппорта пошли бы непонятные жалобы
а дело в том, что компилируется — ещё не значит, что работает

Vladimir
29.10.2016
23:43:16
функциональное и нагрузочное тестирование как минимум

Andrey
29.10.2016
23:44:42
cmake могут поравить, он может найти нужный libc, который на самом деле glibc или uclibc (обе имеют "обратную совместимость" с мелкими подписями под звёздочками), но этого не узнаешь. В твоём доме будет играть музыка, но ты ещё не услышешь :)

Vladimir
29.10.2016
23:45:43
притом что если на моем условном план9 софтина соберется но будет тормозить - я полезу смотреть почему, дебажить, оптимизировать
понимая что писалась она под линукс

Andrey
29.10.2016
23:46:57

Vladimir
29.10.2016
23:47:08
и еще подумаю что разраб был молодцом, писал сразу портируемый код