Плохой программист Джон сделал ошибку в коде, из-за которой каждый пользователь программы был вынужден потратить в среднем 15 минут времени на поиск обхода возникшей проблемы. Пользователей было 10 миллионов. Всего впустую потрачено 150 миллионов минут = 2.5 миллиона часов. Если человек спит 8 часов в сутки, то на сознательную деятельность у него остается 16 часов. То есть Джон уничтожил 156250 человеко-дней ? 427.8 человеко-лет. Средний мужчина живет 64 года, значит Джон убил примерно 6 целых 68 сотых человека.

Как тебе спится, Джон — серийный программист?

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

Правила хорошего кода


Простота-понятность-компактность, производительность, отсутствие дублирования.

Если вы пишете что-то сложнее «hello world”, оно будет размещаться не в одном, а в нескольких файлах. Как правило, файлов бывает больше десятка. Всем им даются непонятные короткие имена (программисты любят сокращения) Человек, который попытается разобраться в вашем коде, будет плеваться, шипеть и проклинать вас. Ваша карма будет испорчена и следующие несколько жизней вы будете собакой в Корее.

Примечание: «hello world” — не ошибка, именно так поставил кавычки LibreOffice Writer. Джонни, привет! Всегда рад тебе! Шучу, никогда.

Как выбрать хорошее имя


Хорошее имя максимально короткое, но при этом максимально точно отражает суть объекта. Ваш код будут читать люди (и вы сами перед сном), поэтому имена должны быть понятны людям.

Джон_плохой_программист — хорошее имя. Хорошее имя состоит из одного, двух или трех слов. Три — много. Одно — хорошо, но часто не хватает чтобы отразить суть. Прочитайте следующие имена файлов (классов), можете ли вы угадать назначение кода, не заглядывая внутрь?

profiler.h
jitter_measurement.h
developer_menu.h
Animation2D.h
Rectangle.h
Wind_effect.h

Имя объекта внутри файла совпадает с названием файла. Путаница не нужна.

Если после моего объяснения вы продолжите давать файлам непонятные имена вроде SoMFVec2s.h, то застрелитесь. Это рациональный поступок, ведь тем самым программист спасает несколько чужих жизней.

Замечание: ограничение на имена файлов 8.3 снято более 20 лет назад.

Нужны ли именам префиксы?


НЕТ.

Визуальный шум не нужен.

Современные «текстовые редакторы для программистов» выдадут вам информацию о прототипе чего угодно по нажатию одной кнопки или наведению курсора мышки. Поэтому любые префиксы в 20NN году совершенно излишни.

То же самое можно сказать о пространствах имен — пространство имен — это префикс. Постоянно используя префиксы типа std:: cv:: вы конечно гарантируете себя от ошибки случайного использования объекта из другого пространства имен. НО!

Вы хоть раз так ошибались?
Приводила ли ошибка к чему-то серьезному?
А набивать лишние символы приходится сотни и сотни раз.
Оцените издержки. Это ваша единственная жизнь, между прочим.
Потратил 100 часов жизни на набивание префиксов? Ты нормальный? Лучше бы погулял сходил… Мама

Можно ли давать объектам короткие имена


НУЖНО.

int i;
char c;
byte b;
string s;
vector v;
pointer p;
argument a1;

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

Подпространство


В окне «Панель управления windows», вы видите объекты «Установка обновлений windows», «Сервисы windows» и «Шрифты windows». Несомненно вас считают за идиота, который забыл где находится. А также за человека, который любит нагружать свой мозг: раз за разом искать нужный объект, отфильтровывая визуальный шум.

В подпространстве находится 52 объекта, не разделенных на группы ни по какому признаку. Костыля: «быстрый поиск по паре букв с клавиатуры» также нет. Наслаждайся.

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

Комментарии


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

Кстати...


…. а давайте создадим вместе с нашей программой сотню других, совершенно бесполезных, которыми никто не будет пользоваться. И будем заставлять пользователя устанавливать на диск их все. Не дадим ему выбора. А свою основную работу выполним кое как — тяп ляп и готово. И так сойдет! Хахаха!

Какая сложная, объемная, нестабильная и склонная к саморазрушению у нас получилась система! Потрясающе!

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

А давайте создадим в нашей операционной системе кучу сетевых сервисов, которыми никто не будет пользоваться. Но мы все их включим по умолчанию. В наших сервисах будет множество уязвимостей, желательно уровня remote code execution и мы будем постоянно их исправлять! Кайф! А еще наш установщик обновлений будет зависать потребляя гигабайт памяти и 100% ресурсов процессора.

И мы будем делать ошибки. Пусть например наше обновление KB3136000 будет устанавливаться много раз.

Джон, ты гений!

Сложно!


На поиск этой функции я потратил минут 20. Простая задача: разбить строку по разделителям. Простая задача должна решаться максимально просто:

void split(const string& s, std::vector<string>& result, const string& delimiters = " ")
{
	string::size_type a = s.find_first_not_of(delimiters, 0);
	string::size_type b = s.find_first_of(delimiters, a);

	while (string::npos != b || string::npos != a)
	{
		result.push_back(s.substr(a, b - a));

		a = s.find_first_not_of(delimiters, b);
		b = s.find_first_of(delimiters, a);
	}
}

А затем я упростил эту функцию, без ущерба ликвидировав дублирование:

void split(const string& s, std::vector<string>& result, const string& delimiters = " ")
{
	string::size_type a, b = 0;

	for(;;)
	{	a = s.find_first_not_of(delimiters, b);
		b = s.find_first_of(delimiters, a);

		if (string::npos == b && string::npos == a) break;

		result.push_back(s.substr(a, b - a));
	}
}

Если вы можете решить задачу проще — сделайте это и я сочиню небольшую хвалебную оду в вашу честь. В интернете множество людей предлагают использовать для разбиения строки: boost, регулярные выражения, черта из ада, космический корабль пришельцев… Возьми в проект огромный boost, занимающий несколько гигабайт места на SSD диске, вместо маленькой функции… «Ну ведь оно потом ищо для чего-нибудь пригодится...»

Дорогой друг, мне всего навсего разбить строку! Буст? Это как если бы тебе нужно было пришить пуговицу, а люди предлагают здоровенный портняжный китайский агрегат в несколько тонн весом. Он умеет пришивать пуговицы. И несомненно еще для чего-нибудь пригодиться. Например, он сможет подшить тебе твой правый ботинок через полгода, когда тот порвется. Но издержки…

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

О скорости кода


Джонни, который создает «профилировщики производительности» в средах программирования — ты самый отвратительный убийца. Твой код не делает ничего полезного уже много лет. Люди же тратят мегачасы времени, пытаясь выдоить из твоей животинки хоть немного смысла, дергая ее за разные места…

В конструкции вроде этой, больше красоты и мощи, чем во всех твоих творениях:

unsigned long t0 = current_time();
// какой-то код

cout << current_time() - t0 << endl;

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

profiler.h
/*
Profiler prof;

for (;;)
{
	Sleep(50); // code, which does not need to measure performance

	prof(NULL);

	Sleep(100); // some code

	prof("code1");

	Sleep(200); // some code

	prof("code2");

	prof.periodic_dump(5);
		// every 5 seconds will print table
}
*/

#include <stdint.h>
#include <stdio.h>

#include <string>
using std::string;

#include <set>
using std::set;

#include <algorithm>
using std::min;
using std::max;

#ifdef WIN32
#include <Windows.h>

class Microseconds
{
public:
	uint64_t operator()()
	{
		LARGE_INTEGER now;
		QueryPerformanceCounter(&now);
		LARGE_INTEGER freq;
		QueryPerformanceFrequency(&freq);

		return now.QuadPart * 1000 / (freq.QuadPart / 1000);
			// overflow occurs much later
	}
};

#else
#include <sys/time.h>
//#include "android_workarround.h"
class Microseconds
{
public:
	uint64_t operator()()
	{
		timeval tv;
		gettimeofday(&tv, NULL);
		return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec;
	}
};
#endif

class Profiler
{
	Microseconds microseconds;

	class Event
	{
		public:
		const char* name;
		uint64_t time;
		uint64_t count;
		uint64_t min_time;
		uint64_t max_time;

		void reset()
		{
			time = 0;
			count = 0;
			min_time = (uint64_t)-1;
			max_time = 0;
		}
	};

	class Comparator
	{
		public:
		bool operator()(const Event& a, const Event& b) const
		{	//return strcmp(a.name, b.name) < 0;
			return (void*)a.name < (void*)b.name;
		}
	};

	set<Event, Comparator> events;

	uint64_t t0;
	uint64_t last_dump;

	Event c;
	set<Event>::iterator i;

public:
	Profiler()
	{
		last_dump = t0 = microseconds();
	}

	void operator()(const char* what)
	{
		if (what == NULL)
		{
			t0 = microseconds();
			return;
		}

		uint64_t t = microseconds() - t0;

		c.name = what;
		i = events.find(c);

		if (i == events.end())
		{
			c.reset();
			i = events.insert(c).first;
		}

		Event& e = const_cast<Event&>(*i);

		e.time += t;
		e.min_time = min(e.min_time, t);
		e.max_time = max(e.max_time, t);
		++e.count;

		t0 = microseconds();
	}

	void dump()
	{
		const float MS = 0.001f;

		float f_summ = 0;
		for (i = events.begin(); i != events.end(); ++i)
			f_summ += (float)i->time;

		if (f_summ == 0) return;

		f_summ *= MS;
		f_summ *= .01f; // %

		printf("           name count   total(%%)        min   avg   max\n");

		for (i = events.begin(); i != events.end(); ++i)
		{
			Event& e = const_cast<Event&>(*i);

			if (e.count == 0) e.min_time = 0;

			float f_time = e.time * MS;
			float f_min = e.min_time * MS;
			float f_max = e.max_time * MS;
			float f_average = e.count == 0 ? 0 : f_time / (float)e.count;

			printf("%15s %5llu %7.1f(%5.1f%%) %5.1f %5.1f %5.1f\n",
				e.name, (long long unsigned int)e.count,
				f_time, f_time / f_summ, f_min, f_average, f_max);

			e.reset();
		}
	}

	void periodic_dump(unsigned int period)
	{
		if (microseconds() < last_dump + period * 1000000) return;
		dump();
		last_dump = microseconds();
	}
};

В консоли вывод выглядит так, все время в миллисекундах:

           name count   total(%)        min   avg   max 
       detector     0     0.0(  0.0%)   0.0   0.0   0.0 
      predictor   161   287.8( 46.1%)   1.0   1.8   2.3 
        refiner   161   246.9( 39.5%)   0.8   1.5   1.8 
      shape fit   161    90.0( 14.4%)   0.3   0.6   0.8 

Обратите внимание, вверху в комментарии к исходному коду дан работающий пример.

Если вдруг нужно вывести таблицу на экран, то dump модифицируется так, чтобы записывать свой вывод в vector out; Далее графическая часть отрисовывает текст моноширинным шрифтом. Вывод профайлера у вас на экране. Оценить скорость старой и новой функции одновременно, в живом приложении? Пожалуйста. Только не забывайте про кэши процессора.

Предложения по упрощению-улучшению профилировщика принимаются. Простая задача — простое решение. Джонни, сделай мне приложение на 500 гигабайт, делающее то же самое, но хуже.

Что такое установка программы


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

Ваша программа настолько плоха, что в работе ее приходится переинициализировать несколькими разными способами. Сломалось? Перезагрузи. Все равно не работает? Переустанови. Убийство времени пользователя — убийство пользователя.

Ты выложил код в интернет


Ты сделал это, молодец! Ты поделился продуктами желудочков твоего мозга с человечеством. Скольких ты убил? Сколько программистов умерло, пытаясь понять что делает этот файл? Сколько судеб ты стер из реальности, не проверив собирается ли твое творение на двух популярных операционных системах? Может стоило вместо длиннющего копирайта «Юниверситет им. Василия Пупкина, все права защищены», вставить хотя бы одну строку с описанием что же делает этот модуль? Ах код сложно было писать, пусть они помучаются… ну-ну… Корея. Гав.

Дорогой студент — не пиши код.
Если пишешь — не сохраняй.
Если сохраняешь — не выкладывай.
Если выложил — не в интернет.
Если в интернет — удали.
Если удалил — сделал добро людям.

Послесловие


Вышло новое бесполезное обновление windows, время установки 15 минут. Погибло 5048 человек…

Исправленный по критике хабровчан profiler.h

profiler.h
/*

#ifdef linux
#include <time.h>
void Sleep(int milliseconds)
{
	struct timespec ts;
	ts.tv_sec = milliseconds / 1000;
	ts.tv_nsec = (milliseconds % 1000) * 1000000;
	nanosleep(&ts, NULL);
}
#endif

int main()
{	Profiler prof;

	for(;;)
	{	
		Sleep(50); // code, which does not need to measure performance

		prof(NULL);

		Sleep(100); // some code

		prof("code1");

		Sleep(200); // some code

		prof("code2");

		prof.periodic_dump(5);
			// every 5 seconds will print table
	}
	return 0;
}
*/

#include <stdint.h>
#include <stdio.h>

#include <vector>
using std::vector;

#include <string>
using std::string;

#include <map>
using std::map;

#include <algorithm>
using std::min;
using std::max;

#include <utility>
using std::make_pair;

#include <iostream>
using std::cout;

#ifdef linux

#include <sys/time.h>

static uint64_t microseconds()
{	timeval tv;
	gettimeofday(&tv, NULL);
	return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec;
}

#else

#include <Windows.h>

static uint64_t microseconds()
{
	LARGE_INTEGER now;
	QueryPerformanceCounter(&now);
	LARGE_INTEGER freq;
	QueryPerformanceFrequency(&freq);
	return now.QuadPart * 1000 / (freq.QuadPart / 1000);
		// overflow occurs much later
}

#endif

class Profiler
{	
	class Event
	{
	public:
		uint64_t time;
		uint64_t count;
		uint64_t min_time;
		uint64_t max_time;

		void reset()
		{	time = 0;
			count = 0;
			min_time = (uint64_t)-1;
			max_time = 0;
		}
	};

	map<const char*, Event> events;

	uint64_t t0;
	uint64_t last_dump;

	map<const char*, Event>::iterator i;

public:
	vector<string> out;

	Profiler()
	{	last_dump = t0 = microseconds();
	}

	void operator()(const char* what)
	{	
		if (what == NULL)
		{
			t0 = microseconds();
			return;
		}
		
		uint64_t t = microseconds() - t0;

		i = events.find(what);
		
		if(i == events.end())
		{	
			Event e;
			e.reset();
			i = events.insert(make_pair(what, e)).first;
		}

		Event& e = (*i).second;

		e.time += t;
		e.min_time = min(e.min_time, t);
		e.max_time = max(e.max_time, t);
		++e.count;

		t0 = microseconds();
	}

	void dump()
	{
		out.clear();

		const float us_to_ms = 0.001f;
		
		float summ = 0;
		for (i = events.begin(); i != events.end(); ++i)
		{	
			Event& e = (*i).second;

			summ += (float)e.time;
		}

		if (summ == 0) return;

		summ *= us_to_ms;

		out.push_back("           name count   total(%)        min   avg   max\n");

		for(i = events.begin(); i != events.end(); ++i)
		{
			Event& e = (*i).second;

			if(e.count == 0) e.min_time = 0;

			float time = e.time * us_to_ms;
			float min_time = e.min_time * us_to_ms;
			float max_time = e.max_time * us_to_ms;
			float average = e.count == 0 ? 0 : time / (float)e.count;

			char tmp[0x100];

			snprintf(tmp, sizeof(tmp), "%15s %5llu %7.1f(%5.1f%%) %5.1f %5.1f %5.1f\n",
				i->first, (long long unsigned int)e.count,
				time, time / summ * 100, min_time, average, max_time);
			out.push_back(tmp);
			
			e.reset();
		}

		for (int i = 0; i < out.size(); ++i) cout << out[i];
	}

	void periodic_dump(unsigned int period)
	{	if(microseconds() < last_dump + period * 1000000) return;
		dump();
		last_dump = microseconds();
	}
};
Поделиться с друзьями
-->

Комментарии (258)


  1. MonkAlex
    07.09.2016 10:28
    +30

    Нехило кто-то горит. Видать, пишет идеальный код?


  1. warlock13
    07.09.2016 10:29
    +3

    То же самое можно сказать о пространствах имен — пространство имен — это префикс. Постоянно используя префиксы типа std:: cv:: вы конечно гарантируете себя от ошибки

    Увы, тут только долгожданные модули могли бы помочь, ибо писать using'и в каждой короткой функции (а больше писать их негде) ещё хуже.


    1. warlock13
      07.09.2016 10:37
      +3

      Признание программиста что, он криворук и делает допущения о состоянии системы при старте своей программы.

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


      1. s_o_v_a
        07.09.2016 17:38
        -6

        Программа может сама исправить ошибку. Даже если нет компонента системы, который ты не можешь интегрировать в свой модуль (например directx) Что тебе стоит выдать сообщение пользователю «у вас не найден директикс, открыть страницу майкрософт с которой его можно скачать?»
        Лучше будет если ты его сам скачаешь и установишь, спросив у пользователя разрешение на это. Но зная криворукость кодеров и тупорылость админов сайтов, которые запросто могут переложить контент куда угодно просто потому что зачесалась левая пятка у менеджера…


        1. warlock13
          07.09.2016 20:51
          +5

          Может исправить. А может не исправлять. Причём нельзя сказать, что первое лучше второго всегда: надо смотреть по ситуации, и даже в каждой конкретной ситуации отимальное решение этого вопроса обычно неочевидно. Также программа может требовать инсталляции, а может не требовать. Но главное, что если программа не работает без установки, это ни в коем случае не "признание программиста что, он криворук и делает допущения о состоянии системы при старте своей программы". И профессионал бы такой чуши никогда не написал.


          1. s_o_v_a
            07.09.2016 21:28
            -6

            Ну извини, 5 лет в геймдеве, сейчас по компьютерному зрению — не профессионал.
            Ты статью просто не понял, суть. Ее надо целиком воспринимать: инсталляция забирает время у пользователя. Значит ее не должно быть.


            1. warlock13
              07.09.2016 23:11
              +5

              Ну извини, 5 лет в геймдеве, сейчас по компьютерному зрению — не профессионал.

              Бывает и умные говорят глупости.


              инсталляция забирает время у пользователя. Значит ее не должно быть.

              Это интересная и, безусловно, имеющая право на жизнь и отстаивание точка зрения, но я с этим не спорил.


            1. vikarti
              08.09.2016 16:15

              на Mac OS X ее практически и нет ни у кого.
              — открыть .dmg-архив (у эстетов — .zip, некоторые другие эстеты на открытие .dmg обычным способом подвешивают показ EULA с кнопками но редко)
              — перетащить приложение в папку Applications (обычно в архиве сразу ярлычок). Некоторые приложения сами предлагают себя переместить если не правильно расположен
              — запустить. если приложение подписано Developer ID (затраты разработчика — 99 USD в год и немного времени при сборке) то все запустится. Иначе надо ПКМ+Открыть первой раз и пользователя спросят а точно ли он хочет запустить то что скачано из интернета. Ну или можно отключить gatekeeper
              то что названо выше «приложением» — на самом деле App Bundle (отображаемый в Finder как файл но реально это каталог в котором содержится все необходимое для работы приложения). Один из недостатков — не-системные библиотеки дублируются в каждом приложении которое их использует. Если надо обновления то либо ручками просить пользователя скачать либо встраивать библиотеку для обновлений вроде Sparkle либо… идти в Mac App Store (если оно нас устраивает)

              Есть редкие приложения которые ставятся не так но из того что встречалось это например:
              — Все подряд виртуальные машины (видимо потому что ставить драйвера)
              — MS Office (видимо потому что MS считает себя особо умными), LibreOffice вполне ставится по той схеме с копированием что выше.
              — Драйвер сканера старый — эти вообще требовали все закрыть и перезагрузить машину

              после установки приложение может попросить установить некоторые компоненты если реально надо (iStat Menus например)

              если использовать Mac App Store то разумеется — нажать одну кнопку но там далеко не все приложения вообще могут быть.

              Установка обновления системы, включая мажорные — жмем установить, идем пить кофе, в некоторых случаях — много кофе. иногда после переустановки вводим заново Apple ID. Разумеется ОДИН раз идем пить кофе

              Linux'ы:
              почти всегда — apt-get install /yum install и идем пить кофе. в некоторых редких случаях потом отвечаем на вопросы. Да, установка. почти полностью автоматическая.
              вот если пакета нет в репозитории дистрибутива то начинаются танцы с бубнами. ну и консоль.

              сейчас разрабатывается система 'snap-пакетов' — которая по сути позволяет реализовать схему Mac OS X с просто перетаскиванием. При этом приложение будет еще и работать на любом дистрибутиве что это поддерживает (вот с точки зрения разработчика пакетов… не все так просто).


              1. gugura
                08.09.2016 23:43

                Система, которую делали «для людей».
                Но в итоге компьютеры с этой системой стали элитными, а не массовыми.


              1. stychos
                10.09.2016 15:10
                +1

                Что не так с MS Office? Последняя версия представляет из себя точно такой же App Bundle. То, что родной установщик безальтернативно устанавливает полный набор софта из pkg — конечно, не очень приятно. Кстати, VMWare Fusion тоже нормально живёт как App Bundle.


  1. i360u
    07.09.2016 10:37
    +12

    Можно ли давать объектам короткие имена?
    • можно ТОЛЬКО в рамках словаря допустимых сокращений. Иногда любителей имен вида "a", "c", "o" — хочется придушить.


    1. afanasiy_nikitin
      07.09.2016 11:40
      +15

      на самом деле есть простое правило — чем короче область видимости переменной, тем короче можно делать ее имя


      1. potan
        07.09.2016 17:11

        В ранних версиях языка Рефал имя переменной могло быть только из одной буквы. И вполне серьезные программы на нем писались…
        Правда область видимости переменной там редко превышает 2-3 строки.


        1. zagayevskiy
          08.09.2016 18:00

          Насколько я помню, переменных(в общепринятом смысле) в РЕФАЛе нет.


          1. potan
            08.09.2016 18:21

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


  1. Siemargl
    07.09.2016 11:40
    +1

    На поиск этой функции я потратил минут 20. Простая задача: разбить строку по разделителям. Простая задача должна решаться максимально просто
    Пусть умирают неподготовленные http://www.cplusplus.com/reference/cstring/strtok/


    1. myxo
      07.09.2016 11:49

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


      1. Tujh
        07.09.2016 14:47

        Есть потокобезопасный strtok_r аналог.


    1. Enterindead
      07.09.2016 14:23
      +1

      Несколько раз слышал и читал, что, возможно, strtok — самая ужасная часть стандарта C, которую точно не стоит использовать, программируя на C++. Особенно работая с vector и string


  1. ChiefPilot
    07.09.2016 11:48
    +13

    А сколько людей умерло из-за того, что мы с вами прочитали эту статью? Как посчитать? И кто их убил: автор, переводчик, оба (и сколько в процентах вина каждого в таком случае)? :)


    1. s_o_v_a
      07.09.2016 14:07
      +3

      Не было никакого переводчика.
      И статья задумана скорее как средство предотвращения хотя бы малой части убийств.


      1. zorro1211
        07.09.2016 16:56
        +1

        Очень понравилось ваше вступление про Джона, перевел для коллег =)


        Перевод

        A bad programmer John made a mistake in the code, due to which every user of the program was forced to spend an average of 15 minutes to find a work around the problem. There were 10 million members. In total they wasted 150 million minutes = 2.5 million hours. If a person sleeps 8 hours a day, then 16 hours are left for the conscious activity. That is, John has destroyed 156,250 man-days ? 427.8 person-years. The average man lives 64 years, so John had killed as many as 6.68 people.


        Are you sleeping well, John — serial programmer?


        1. stychos
          10.09.2016 15:22

          Привычнее фраза «How do you sleep at night?»


  1. pengyou
    07.09.2016 12:05
    +5

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

    Нет в информационном мире сопромата. Нет гравитации. Только время ещё имеет значение. Но, как говорил один мой друг: «если мой код у тебя тормозит — просто купи себе новый процессор».

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


    1. s_o_v_a
      07.09.2016 14:01
      -5

      Я считаю что виновато неправильное «обезьянье» восприятие реальности. Человек подсознательно считает что больше — лучше. Больше объем, больше бесполезных модулей, больше время установки — ого, эта программа очень большая, над ней трудилась по крайней мере сотня человек. Они безусловно победят в кулачном бою ту горстку программистов, что написала такую же программу, но маленькую. Вот так думает обезьяна.
      В итоге мы имеем windows, который отжирает несколько ГИГАБАЙТ оперативной памяти при старте.
      Но посмотри внимательно на экран, что ты видишь? Должно ли это забирать гигабайт оперативной памяти? Для сравнение — буфер экрана, большой объект, займет порядка 10 мегабайт. Я вчера разжал по необходимости небольшое видео в память и оно заняло всего два гигабайта.


      1. MacIn
        08.09.2016 05:07
        +12

        Но посмотри внимательно на экран, что ты видишь? Должно ли это забирать гигабайт оперативной памяти?

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


      1. FSA
        08.09.2016 06:41
        +2

        Не знаю сколько одно должно занимать памяти, но Windows реально тормозит. На работе был компьютер с Windows 7, которая, даже свежеустановленная, работала так себе. Почтовик разворачивался потихоньку себя отрисовывая и т.д. Но вдруг у меня появилась возможность установить на этот же компьютер Linux. Это было просто преображение компьютера. Даже с эффектами Compiz компьютер работал просто очень шустро. Ну а почта… да, это был IBM Lotus, открывалась просто влёт. Фактически, для офисного применения скромный компьютер на Core2Duo с 2 гигабайтами оперативки оказывается может очень быстро работать. И, что самое хороше из подмеченного мной на домашнем компьютере, скорость работы системы под Linux не деградирует со временем, даже с учётом того, что почти никогда не делаю дефрагментацию. А на Windows дефрагментация немного помогает, но не позволяет достичь той же скорости работы, что была после установки системы.


        1. bopoh13
          08.09.2016 15:44

          Проблему выжирания памяти пытался узнать в https://geektimes.ru/post/279510/ (хотя в далёких бородатых это считалось нормой «не мешайте семёре работать»). Оказалось, что всякая телеметрия в лице щемящихся обновления со (сторонних) серверов упорно лезет даже при выключенном апдейте. Проблема решилась изменением политик файрвола. Тормоза могут остаться от PATA (IDE).


        1. MacIn
          08.09.2016 16:15
          +1

          Странная история. Но вполне может быть, что тормозит не семерка, а драйвера под ваше железо. У меня есть такая проблема с ХР — тормоза с подключенным dual monitor. Берешь окошко, выносишь его на внешний монитор и все — приплыли, само приложение работает раз в 5 медленнее. Вносишь обратно — все ок. При этом с другими ноутами той же марки проблем нет.


        1. saboteur_kiev
          08.09.2016 19:26
          +1

          «На работе был компютер» это не показатель тормознутости windows.
          Отрисовка окошек выполняется определенными схемами (directX, например), и если на компе на работе недоставили адекватные драйвера, то тормозить будет более чем. Зато если поставили, UI на Windows работает ГОРАЗДО быстрее UI на Линуксе.

          Люди, которые в 2016 году на Wшn7 ускоряют работу обычной рабочей станции дефрагментацией — IMHO очень плохо разбираются в настройках


          1. FSA
            12.09.2016 18:19

            Ну дома на ноутбуке родная Windows 8.1 была. Даже переустанавливал с форматированием винта (благо ключик зашит в BIOS). Сначала сносно работает, но после установки танков и стим начинает медленно деградировать. В это же время на этом же железе со второго винта Linux работает всегда с предсказуемой скоростью. Когда SSD поставил, совсем Linux реактивно стал. А вот Windows 10 так себе. Игры в Linux не смог проверить на скорость, т.к. симликн сделал на HDD для папки Steam. Но всё равно те же самые игры быстрее запускаются в Linux, но из-за драйверов бывает хуже работают.


      1. stychos
        10.09.2016 15:26

        У меня и линукс не меньше тормозил. Наименее тормозящей системой для меня оказался хакинтош. Может, *bsd тоже меньше тормозит, не проверял.


    1. ApeCoder
      08.09.2016 12:17
      +1

      над аналогом «суда офицерской чести», но для кодеров.

      Это называется code review


  1. NIN
    07.09.2016 13:47
    +25

    Зачем я это прочитал?(2мин) s_o_v_a: Возможно вы убили уже пару человек, остановитесь!


  1. DrLivesey
    07.09.2016 14:43
    +6

    Замечание, не относящееся к содержанию статьи: было бы неплохо вставки кода отформатировать для читабельности.


    1. s_o_v_a
      07.09.2016 17:43
      -1

      А они были отформатированы. Джонни с Хабра постарался…


    1. s_o_v_a
      07.09.2016 17:58
      -11

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

      Давно считаю Хабр отхожим местом :)


      1. DrLivesey
        07.09.2016 18:28
        +3

        Если мне не изменяет память, то есть кнопка «Предпросмотр», при помощи которой можно проверить, что статья выглядит как надо.


        1. s_o_v_a
          07.09.2016 18:36
          +2

          В «предпросмотре» статья выглядела именно так как я ее и набрал — с правильными отступами везде. Я все проверил. Публикация же сожрала табуляцию в коде.


      1. knagaev
        08.09.2016 10:39
        +9

        Не надо писать в отхожие места.
        Цените своё время.


  1. ov7a
    07.09.2016 16:00
    +11

    Код самописного профайлера — восхитительный пример того, как его разработчик совершает геноциды.


    1. s_o_v_a
      07.09.2016 18:04
      -12

      Уями можно и столб покрыть, а толку. Покажи как надо, Джон.


  1. kroshanin
    07.09.2016 16:11
    +6

    А мне статья понравилась. Не понимаю, за что человека заминусовали, многие вещи как минимум заслуживают внимание, причем гораздо большего, нежели дискуссии на тему «табы vs пробелы».
    Вот с чем не согласен:
    01) Если давать короткие имена вида «а1», «а2», то потом очень сложно находить нужные места поиском.
    Например, часто требуется подкорректировать все места, где встречается какой-то определенный объект.
    02) Комментировать нужно. Но преимущественно те места, в которых у другого разработчика могут возникнуть трудности с пониманием, а что именно ты пытался сделать. Порой в чужом коде очень сложно понять, для чего именно тот или иной кусок кода.


    1. FSA
      08.09.2016 06:46
      +1

      > 01) Если давать короткие имена вида «а1», «а2», то потом очень сложно находить нужные места поиском.

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


    1. Bigbad
      08.09.2016 08:10
      +4

      Не понимаю, за что человека заминусовали

      Мне кажется, что человека заминусовали не за статью, а за его комментарии.


    1. sentyaev
      09.09.2016 03:33
      -3

      Не понимаю, за что человека заминусовали

      Потому что не такой как все. Несколько сотен лет назад его бы сожгли.


  1. kosmos89
    07.09.2016 16:43

    >Можно ли давать объектам короткие имена
    >НУЖНО.
    Рака яичек автору. Я посмотрю, сколько времени вы потратите на выяснение того, что такое e, c и чем они, блеать, отличаются.

    >неймспейсы
    >Приводила ли ошибка к чему-то серьезному?
    Очень плохой вопрос. Вот из-за таких «ракеты и падают». Не приводило, не приводило, но потом привело.
    Может вы еще из тех, кто пишет using namespace std;?

    >Код профайлера
    >f_time, f_min, f_max, f_average…
    Вы же нам, блеать, только что сами сказали, что префиксы — это мусор. И вообще, глядя на этот код хочется посоветовать автору отказаться от написания статей на хабр, а то не дай бог какие-нибудь неокрепшие умы воспримут вас всерьез…


    1. myxo
      07.09.2016 17:42
      +1

      «Я посмотрю, сколько времени вы потратите на выяснение того, что такое e, c и чем они, блеать, отличаются.»

      «В пределах области видимости пол-экрана — экран, короткое имя будет благом для всех.»

      Пару секунд? К тому же он, насколько я понял, говорит о стандартных переменных. Например об интовых итераторах (i, j, k), вспомогательных чарах и строках (c, ch, s).


      1. kosmos89
        07.09.2016 18:03
        +4

        Нет не пару секунд. За пару секунд вы в лучшем случае выясните тип переменной, но не ее семантику. Вот в примере профайлера обе переменные, c и e имеют тип Event. И что?
        Вот расскажите мне, для чего в его коде (profiler.h) нужна переменная c?
        Я потратил пару минут, чтобы сделать вывод о ней и авторе в результате.


        1. s_o_v_a
          07.09.2016 18:22

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

          Ругайте, материте мой код, тем самым вы только сделаете его лучше.


          1. kosmos89
            07.09.2016 19:00

            Слишком много, что можно исправить.
            Например, сюда бы лучше подошел std::map, а не std::set.
            for по итераторам лучше заменить на range-based for.
            f_summ у вас за время своей жизни претерпевает сразу несколько метаморфоз: сначала она содержит секунды, потом милисекунды, потом милисекунды-помноженные-на-коэффициент-чтобы-перевести-в-проценты-ненужная-ручная-оптимизация-которая-только-запутывает-читающего. Для каждой её семантики следовало бы завести свою const (кроме аккумулятора) переменную с понятным именем. А на одну сотую я бы ее вообще не множил. Потому что объяснить вы это кратко не сможете. Лучше домножить на сто в месте вывода.


            1. s_o_v_a
              07.09.2016 20:24
              -1

              range-based for отклоняется как бесполезная модификация.
              Выложил исправленный вариант.


              1. kosmos89
                08.09.2016 15:43
                +2

                >бесполезная модификация
                Ой, всё! Я вам больше ничего советовать не буду.


                1. qw1
                  08.09.2016 21:01
                  -1

                  Не ведь это библиотечный код, а c++11 не везде есть.


                  1. kosmos89
                    08.09.2016 23:55
                    +1

                    можно примеры, где его нет?


                    1. qw1
                      09.09.2016 02:18

                      Какое-то устройство, где SDK не обновляется. Например, терминалы сбора данных CipherLab


                    1. enree
                      09.09.2016 13:42

                      Некоторые сертифицированные дистрибутивы, например, ОС МСВС. Можно пользоваться только встроенными средствами разработки, а там gcc 4.1.3


    1. s_o_v_a
      07.09.2016 18:11
      +1

      Замечание принято, действительно можно без префиксов.

      Рака вам взаимно.


  1. olekl
    07.09.2016 17:33
    +4

    Что-то в этом есть. Тому, кто придумал на этом экране сортировать элементы слева направо, а не сверху вниз, вполне можно посвятить:

    Скриншот панели управления


    1. MonkAlex
      07.09.2016 19:38

      Зато там работает, как и везде в проводнике, быстрый поиск.
      Вводишь первые символы искомого элемента и он выделяется, осталось только нажать enter.


      1. Bronx
        08.09.2016 10:05

        Проще всего забыть про существование Панели Управления, и пользоваться поиском в стартовом меню: «WinKey => [start typing]»


        1. MonkAlex
          08.09.2016 10:20
          +1

          Это который может уйти искать в интернет, если я промахнусь или недопечатаю? Нет, спасибо, мне такого дерьма не надо.


          1. Bronx
            11.09.2016 03:42
            +1

            Это отключается одним кликом в настройке поиска.


            1. MonkAlex
              11.09.2016 12:00
              -1

              Ну, вот лень мне разбираться. Зачем менять старый работающий порядок на что-то новое, что надо заново изучать почти с нуля? Без крайней необходимости точно не полезу в какие то там настройки поиска и\или эксплорера, дай бог знать ещё, куда прикрутили.


              1. Bronx
                11.09.2016 18:36
                +1

                > Зачем менять старый работающий порядок на что-то новое

                Потому что новый удобнее и экономит кучу времени — не нужно искать панель управления в меню, не нужно вспоминать, в каком же пункте панели спрятана нужная настройка, не нужно искать этот нужный пункт в панели управления. Достаточно вбить на старте имя нужной настройки.

                > дай бог знать ещё, куда прикрутили

                Прямо в меню Старт/Поиск и прикрутили, в режиме поиска там шестерёнка появляется.

                Даже если не отключать web results, винда лезет в интернет только за подсказками автодополнения поиска, а не за собственно результатами.


  1. Sirikid
    07.09.2016 18:16

    > Предложения по упрощению-улучшению профилировщика принимаются.
    Класс Microseconds можно заменить на функцию.


    1. Sirikid
      07.09.2016 20:37

      Попробую ещё раз, s_o_v_a, зачем нужен класс без состояния с перегруженным оператором ()? http://ideone.com/me0LfF


      1. s_o_v_a
        07.09.2016 21:21
        +1

        Попробую объяснить. Смысл был в запоминании под виндой результата вызова QueryPerformanceFrequency()
        Затем, почитав про то что таймер может менять частоту и прыгать (в том числе и назад на некоторых глючных системах!), сделал два вызова последовательно.
        Функция упростит понимание, в принципе можно исправить.


        1. Sirikid
          07.09.2016 22:05

          Есть такой чудесный хак http://ideone.com/OxOXAx


          1. s_o_v_a
            07.09.2016 22:23
            +1

            static QWORD freq = QueryPerformanceFrequency();

            Упс, нет, так не работает.
            Это майкрософтовское придется завернуть во враппер.

            У меня же получается один класс вместо двух функций. Я выбираю пикачу!


            1. Sirikid
              07.09.2016 22:46

              Конечно не работает, а вот так будет
              static QWORD freq;
              freq = QueryPerformanceFrequency();


              1. s_o_v_a
                07.09.2016 22:55
                +1

                Вот так вот не работает.

                static LARGE_INTEGER freq;
                QueryPerformanceFrequency(&freq);

                Вернее работает, но не совсем как хотелось бы.


        1. MrShoor
          08.09.2016 08:31
          +5

          Затем, почитав про то что таймер может менять частоту и прыгать (в том числе и назад на некоторых глючных системах!), сделал два вызова последовательно.
          Вам бы почитать документацию. QueryPerformanceFrequency() спроектирована так, чтобы давать постоянное, а не плавающее значение. Я даже более скажу, это значение один раз инициализируется во время загрузки ОС. Поэтому вызывать её больше одного раза в приложении нет смысла.
          Советую сходить в msdn
          Оно работает не то что с плавающей частотой, оно работает даже когда на разных процессорах разная частота.
          The frequency of the performance counter is fixed at system boot and is consistent across all processors so you only need to query the frequency from QueryPerformanceFrequency as the application initializes, and then cache the result.

          Is QPC accuracy affected by processor frequency changes caused by power management or Turbo Boost technology?
          No. If the processor has an invariant TSC, the QPC is not affected by these sort of changes. If the processor doesn't have an invariant TSC, QPC will revert to a platform hardware timer that won't be affected by processor frequency changes or Turbo Boost technology.

          Ну и если у вас процессор с «плавающей» частотой, то не поленитесь, вызовете QueryPerformanceFrequency и посмотрите на число, Джонни. Там не будет ничего общего с реальной частотой процессора, как и QueryPerformanceCounter не будет возвращать тики процессора, а будет возвращать тики таймера.


          1. Tujh
            08.09.2016 10:39
            +3

            Тссс… не разрушайте человеку его уютный мир велосипедостроения.


          1. s_o_v_a
            08.09.2016 13:42
            -9

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

            Давно считаю хабр отхожим местом.


            1. MrShoor
              08.09.2016 18:24
              +2

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


              1. s_o_v_a
                08.09.2016 18:44
                -5

                Серьезно? :)
                Тут же вроде айтишники, где твоя логика?
                Почему ты используешь бабскую шаблонную риторику = стандартные попытки набить цену говну.

                А что если все дураки с хабра — просто бабские фейки.


                1. lair
                  08.09.2016 19:15
                  +3

                  Хм, да вы еще и сексист, я смотрю.


                  1. s_o_v_a
                    08.09.2016 19:44
                    -7

                    Назови мне 5 баб, которые что-то новое создали в области компьютерного зрения.
                    Назови мне 5 баб, которые выпустили инди игры.
                    Хоть одну бабу, которая создала физический движок.
                    Ладно, слишком сложно. Хоть половину такой бабы. Хоть четверть! Половинку жопы?
                    Что мешает? Вся информация открыта, можешь — бери и делай.
                    Чувствую что сейчас польется инфа что надо было в машинки играть в детстве, вот тогда…

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

                    Там внизу еще и ПГМнутый нарисовался, про грехи вещает :D

                    ХАБР!.. ХАБР! ХАБР!
                    Как лай больной собаки.


                    1. taujavarob
                      08.09.2016 20:22
                      +1

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


                      «Ну, не верю я, что черномазый на пианино может играть!» (С)


                    1. lair
                      08.09.2016 22:34
                      +1

                      Я и говорю — сексист. Вся информация открыта, а найти лень.


                      Anthropy, Anna
                      Houlden, Sophie
                      Khandaker, Mitu
                      Love, Christine
                      Short, Emily


                      Продолжать?


                      И еще, извините, не могу удержаться: Маргарет Хэмилтон. Инди-игр, правда, не выпускала...


                      1. gugura
                        08.09.2016 23:14
                        -6

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


                        1. lair
                          08.09.2016 23:15
                          +1

                          Пять просили, пять назвал. И да, напомнить, что в правилах написано про виртуалов?


                          1. lair
                            08.09.2016 23:23

                            (впрочем, может я и не прав про виртуалов, бывают и просто люди с избыточно похожей манерой)


                          1. gugura
                            08.09.2016 23:33
                            -6

                            Тема компьютерное зрение была первой, почему пропустил?
                            А знаешь ли ты историю про Марию Кюри? Ее муж сделал «нобелевской лауреаткой» чисто по финансовым соображениям. А про баб, которым мужчины подарили свои изобретения или бабами изобретения были «присвоены».
                            Зайди на ютуб, кто припаивает поломанные ножки к процессору, кто делает вертолет или новую модель двигателя в сарае, кто объясняет работу электронной схемы?
                            Где женщины? В клубах пьяные. Обсуждают у кого толще кошелек и сарделька.

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


                            1. lair
                              08.09.2016 23:46

                              Тема компьютерное зрение была первой, почему пропустил?

                              Потому что лень было гуглить. Вот вам шесть, первая ссылка в гугле по соответствующему запросу.


                              А знаешь ли ты историю про Марию Кюри? Ее муж сделал «нобелевской лауреаткой» чисто по финансовым соображениям.

                              "Муж сделал", ага. То, что не муж премии выдает — это, конечно, мелочи.


                              А про баб, которым мужчины подарили свои изобретения или бабами изобретения были «присвоены».

                              Обратных историй я тоже слышал прилично, надо заметить.


                              Где женщины? В клубах пьяные.

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


                              Вы как котята слепые, не видите что у вас под самым носом. Да еще и утверждаете что этого нет, когда вам показывают.

                              Пока что именно вы отказываетесь признать то, что вам показали в ответ на ваш же запрос. Другое дело, что опыт показывает — к сожалению — что сколько аргументов тут не приводи, толку не будет.


                              По моему теория происхождения человека от обезьяны ошибочна.

                              Ну да, ошибочна. Кстати, а кто вообще эту теорию выдвинул, если не секрет?


                              1. gugura
                                09.09.2016 00:01
                                -7

                                Куча баб со званиями. Что они сделали?
                                Что-то я не слышал ни об одном алгоритме, который разработала баба и который применяет все человечество. Читаю любой white paper — одни мужчины.
                                Ты серьезно пытаешься мне что-то доказать, приводя в пример парочку-другую тех самых котов?
                                Наверно то что женщины равны мужчинам по интеллекту.

                                Что ж, очередной продукт дегенеративных тенденций… Считает себя по уму равным женщинам. Хотя в твоем случае возможно так оно и есть.


                                1. lair
                                  09.09.2016 00:14
                                  +2

                                  Куча баб со званиями. Что они сделали?

                                  Там все написано.


                                  Наверно то что женщины равны мужчинам по интеллекту.

                                  Есть явные и четкие доказательства обратного?


                                  1. gugura
                                    09.09.2016 00:41
                                    -7

                                    Куда четче-то? Просто глаза открываешь и смотришь.
                                    Беспристрастно. Количество, качество, попытки, результаты.
                                    На stackoverflow опрос был, там порядка 6% женщин (или шутников).
                                    Ах да, всегда забываю: если экспериментальные данные противоречат теории, от них нужно избавиться.

                                    Может ты еще в «чистый лист» веришь?
                                    А в господа нашего ИИСУСА?


                                    1. lair
                                      09.09.2016 00:45
                                      +2

                                      Куда четче-то? Просто глаза открываешь и смотришь.

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


                                      На stackoverflow опрос был, там порядка 6% женщин (или шутников).

                                      Что за опрос, какая методика, какие результаты, какие выводы?


                                      1. gugura
                                        09.09.2016 00:52
                                        -4

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

                                        Давай-ка ты по методикам опроса будешь сношать мозги кому-нибудь другому.

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


                                        1. lair
                                          09.09.2016 00:58
                                          +1

                                          Создает человек что-то новое — интеллект есть. Копирует чужое, интеллекта нет.

                                          Понятно. Так меряете? Ну идите и смотрите на женщин-писателей, художников, фотографов, композиторов, сценаристов, режиссеров и так далее.


                                          И еще есть миллионы мужчин, которые за свою жизнь нового не создали ничего. И… что?


                                          Хотя, конечно, мне очень интересно, как из создания нового — то есть, фактически, творческого начала — вы выводите интеллект (который, в общем-то, скорее аналитическое начало).


                                          Давай-ка ты по методикам опроса будешь сношать мозги кому-нибудь другому.

                                          Ага, значит, фактов нет.


                                          А вывод однозначен: половой диморфизм у человека затрагивает мозг.

                                          Затрагивает, конечно. Только пока что нет объективных свидетельств, что эти физиологические различия влияют на то, что разные люди называют интеллектом.


                                          1. gugura
                                            09.09.2016 01:04
                                            -4

                                            «И еще есть миллионы мужчин, которые за свою жизнь нового не создали ничего. И… что?»

                                            Мне тут больше нечего сказать.
                                            Такие вольные операции со множествами бывают при наличии сисек и прочих атрибутов человека усеченного на 3% генома.


                                            1. lair
                                              09.09.2016 01:08
                                              +3

                                              Мне тут больше нечего сказать.

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


                                              (а можно было бы просто согласиться с определением "сексиста", чего уж)


                                              1. gugura
                                                09.09.2016 01:11
                                                -5

                                                А та тьма фактического материала, который я привел уже ничего не стоит.
                                                Так мозг бабы работает, у них вообще в споре которая последней кудахтнула — та выиграла.
                                                Вот тут вообще все разложено http://www.ark.ru/ins/zapoved/zapoved/logika.html


                                                1. lair
                                                  09.09.2016 01:34
                                                  +2

                                                  Никакого фактического материала, подкрепленного ссылками на авторитетные исследования, в ваших комментариях не было.


                                                1. MrShoor
                                                  09.09.2016 04:07
                                                  +3

                                                  Так мозг бабы работает, у них вообще в споре которая последней кудахтнула — та выиграла.
                                                  Вот вы сейчас себя ведете точно так же. Проверьте, возможно вы баба.
                                                  p.s. Я уверен что вы ответите на этот комментарий, ведь вам надо же последним кудахтнуть.


                                          1. gugura
                                            09.09.2016 02:42
                                            -8

                                            Перед сном почитал свою переписку с обезьянкой.

                                            «Ну идите и смотрите на женщин-писателей, художников, фотографов, композиторов, сценаристов, режиссеров»

                                            Приводить примеры «творческих профессий» как признак ума. Это все равно что певичек или танцовщиц. Голосовой ум, почему бы и нет, чтобы самкам не было обидно.

                                            Фантастика — почти все авторы — мужчины, почти все переводчики — женщины. Женскую фантастику отличаю на раз, даже если имя мужское: нет глубины, нет идеи: я пошла туда, сделала то, ой отношеньки! Модель для сборки для статистики.

                                            Из женщин режиссеров вспоминается одна авторша «Зеленого слоника»…

                                            Ух и дремучие дурни на хабре водятся)
                                            Прошу пять минусов минимум, иначе буду недоволен.


                                            1. lair
                                              09.09.2016 13:18
                                              +1

                                              Приводить примеры «творческих профессий» как признак ума.

                                              … но нет. Это вы сказали, что критерий интеллекта — создание нового. Я вам и привел примеры того, где женщины прекрасно могут создавать новое.


                                              Женскую фантастику отличаю на раз, даже если имя мужское:

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


                                              Из женщин режиссеров вспоминается одна авторша «Зеленого слоника»…

                                              Это уже проблемы вашей необразованности.


                                            1. qw1
                                              09.09.2016 15:34

                                              Женскую фантастику отличаю на раз, даже если имя мужское: нет глубины, нет идеи: я пошла туда, сделала то, ой отношеньки!
                                              Лукьяненко — трансвестит ))


                                              1. Tujh
                                                09.09.2016 15:45

                                                Энн Маккефри?
                                                Генри Каттнер? (под его именем публиковалась и его жена, если что)


                                1. Tujh
                                  09.09.2016 08:42

                                  Что-то я не слышал ни об одном алгоритме, который разработала баба и который применяет все человечество. Читаю любой white paper — одни мужчины.

                                  Вот просто сходу вспомнилось:
                                  Хеди Ламарр хорошо известна как актриса, в юности снявшаяся в скандальном фильме с откровенной сексуальной сценой… Но именно она в 1941 году получила патент на секретное военное средство связи, динамически изменявшее частоту вещания, что осложняло перехват противником. В 1962 году эта технология стала использоваться в американских торпедах, а в наши дни на ней основана работа мобильных телефонов и Wi-Fi-устройств.


                                1. webkumo
                                  09.09.2016 10:00

                                  А вы циклами совсем не пользуетесь?


                              1. gugura
                                09.09.2016 00:06
                                -5

                                Вопрос к тебе еще: как часто работу делает один человек за деньги, а другой человек выдает ее за свою?

                                Специально не вставляю слова «мужчина» и «женщина», чтобы твой нервный центр равенства не перевозбудился и не сломал результаты тестового вопроса.


                                1. lair
                                  09.09.2016 00:15

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

                                  Лично я с таким не сталкивался ни разу. Хотя, несомненно, и слышал, что такое бывает.


                                  1. gugura
                                    09.09.2016 00:47
                                    -4

                                    Ну вот а я сталкивался. Знаешь кто из студентов — основные заказчики всяческих рефератов? (прошу прощения, я хотел сказать «дипломных работ»)
                                    Думаю ты уже догадываешься. Источники надежные.


                                    1. lair
                                      09.09.2016 00:52
                                      +1

                                      Не знаю. Но опять-таки, база для выборки какая?


                                      1. saboteur_kiev
                                        09.09.2016 00:59

                                        Зачем вы кормите этого тролля, считающего себя умником?


                                        1. lair
                                          09.09.2016 01:00
                                          +4

                                          Чтобы кто-то, читающий эту переписку, не подумал, что под его утверждениями есть фактическая основа.


                                          1. iqiaqqivik
                                            09.09.2016 08:18

                                            Смею предположить, что если кто-то, читающий эту переписку, подумает, что под его утверждениями есть фактическая основа — этому читателю уже ничем не помочь :)


                                            1. gugura
                                              09.09.2016 13:57
                                              -1

                                              «Среди мужчин гораздо чаще встречаются люди с высокими математическими способностями. По данным американской исследовательницы К. Бенбоу, среди особо одарённых в математике людей на 13 мужчин приходится лишь одна женщина.»

                                              «Исследования, проведенные в Великобритании, выявили связь численного превосходства мужчин среди ученых с интеллектуальными различиями мужчин и женщин. Они продемонстрировали, что для высоких уровней IQ, число мужчин, обладающих таким интеллектом, превосходит аналогичное число женщин. Так среди нескольких тысяч людей, задействованных в исследовании, мужчин с IQ уровня 125, характерного для очень умных людей, было в два раза больше, чем женщин. А мужчин с уровнем 155, что соответствует гениальности, было даже в 5,5 раз больше.»

                                              «Психологи из Эдинбургского университета (Шотландия) оценили интеллектуальный уровень двух с половиной тысяч мужчин и женщин при помощи различных тестов по языку, математике и информатике. В исследовании принимали участие только братья и сестры с целью исключить влияние воспитания и образования. По результатам тестов максимальное и минимальное количество баллов набрали мужчины, женские результаты были близки к средним. В два процента самых развитых вошло в два раза больше мужчин, чем женщин, но и в двух самых худших процентах сохранилось то же соотношение.
                                              Сходные данные были получены разными исследователями. Концепция полового диморфизма Вигена Геодакяна также подтверждает эту теорию: у женщин на графике распределения по умственным способностям преобладают средние значения. Это находит подтверждение и в точных науках: есть много женщин-математиков и физиков, но буквально единицы из них – в числе великих.»

                                              Результаты в жизни:

                                              https://ru.wikipedia.org/wiki/Список_лауреатов_Нобелевской_премии_по_физике
                                              https://ru.wikipedia.org/wiki/Список_лауреатов_Нобелевской_премии_по_химии

                                              https://ru.wikipedia.org/wiki/Список_изобретателей

                                              Философы по алфавиту: 2266
                                              Женщины-философы: 88

                                              http://stackoverflow.com/research/developer-survey-2015
                                              https://grabcad.com/engineers


                                              1. lair
                                                09.09.2016 14:02

                                                Результаты в жизни

                                                Вы правда не понимаете разницы между результатами и способностями?


                                                1. gugura
                                                  09.09.2016 14:17
                                                  -2

                                                  Между интеллектуальными результатами и интеллектуальными способностями разница минимальна.
                                                  Но ты ведь всегда найдешь чем оправдать свою ВЕРУ.


                                                  1. lair
                                                    09.09.2016 14:18

                                                    Между интеллектуальными результатами и интеллектуальными способностями разница минимальна.

                                                    Ой ли? То есть если одного и того же человека учить играть в шахматы или не учить играть в шахматы, он будет одинаково играть в шахматы?


                                                    1. gugura
                                                      09.09.2016 14:50
                                                      -3

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


                                                      1. lair
                                                        09.09.2016 14:51

                                                        В шахматы люди учатся сами играть. Те кому игра интересна.

                                                        Не зная правил? Не имея доступа к доске и фигурам?


                                                        Так вот: бога нет, а самки человека тупы.

                                                        Удивительно насколько прекрасно вы иллюстрируете свой же собственный тезис:


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


                                          1. gugura
                                            09.09.2016 13:51
                                            -1

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

                                            Почему женщины играют в шахматы хуже мужчин

                                            Женские шахматы
                                            Правда ли, что женщины-шахматистки играют хуже мужчин? Если ненадолго забыть о политкорректности и феминистических взглядах и взглянуть на официальные рейтинги ФИДЕ, ответ станет очевиден. Начнем с того, что отдельно мужского рейтинга вообще нет – есть общий рейтинг и отдельно – женский рейтинг.
                                            В первой сотне игроков есть лишь одна женщина – Юдит Полгар из Венгрии. На данный момент она находится на 36-й позиции и проигрывает первому номеру около 100 очков. Второй номер в женском рейтинге проигрывает Юдит целых 70 очков, и в общую сотню уже не попадает. Диапазон рейтингов лучших мужчин-шахматистов 2634-2796, лучших женщин – 2364-2693, причем планку 2600 преодолели лишь две шахматистки. В юниорской двадцатке ситуация похожа: в конце списка есть одна шахматистка, а диапазоны рейтингов — 2566-2776 и 2315-2571.
                                            Очевидно, что лучшие шахматистки если и могут соперничать с мужчинами, то далеко не с самыми сильными. В мужских турнирах женщинам участвовать не запрещено, и многие пользуются такой возможностью, но составить серьезную конкуренцию подавляющее большинство женщин не в силах.
                                            Что говорят ученые
                                            Психологи из Эдинбургского университета (Шотландия) оценили интеллектуальный уровень двух с половиной тысяч мужчин и женщин при помощи различных тестов по языку, математике и информатике. В исследовании принимали участие только братья и сестры с целью исключить влияние воспитания и образования. По результатам тестов максимальное и минимальное количество баллов набрали мужчины, женские результаты были близки к средним. В два процента самых развитых вошло в два раза больше мужчин, чем женщин, но и в двух самых худших процентах сохранилось то же соотношение.
                                            Сходные данные были получены разными исследователями. Концепция полового диморфизма Вигена Геодакяна также подтверждает эту теорию: у женщин на графике распределения по умственным способностям преобладают средние значения. Это находит подтверждение и в точных науках: есть много женщин-математиков и физиков, но буквально единицы из них – в числе великих.


                                            1. lair
                                              09.09.2016 14:01

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

                                              … и что?


                                              (вы помните да, что лучше всех в шахматы играет компьютер)


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

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


                                            1. lair
                                              09.09.2016 14:25

                                              Психологи из Эдинбургского университета (Шотландия) оценили интеллектуальный уровень двух с половиной тысяч мужчин и женщин при помощи различных тестов по языку, математике и информатике.

                                              Да, кстати. А можно ссылку на именно оригинальное исследование? Потому что единственное, которое я могу найти по локальности и результатам — это Deary-Thorpe-Wilson-Starr-Whalley 2002-2003, и (а) там не две с половиной тысячи исследуемых, а больше 80 тысяч (б) нет ограничения на "только братья и сестры" и (ц) это данные 1932 год.


                                      1. gugura
                                        09.09.2016 00:59
                                        -5

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

                                        Да боюсь все что они могут — это подсказать по своей кошачьей породе.


                                        1. lair
                                          09.09.2016 01:06
                                          +1

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

                                          Если вы чего-то не нашли, это не значит, что оно не существует.


                                          Вот где женская тупость проявляется круче всего — они ВАЩЕ не секут в электронике)

                                          Расскажите про это, например, Jeri Ellsworth.


                                          1. gugura
                                            09.09.2016 01:18
                                            -5

                                            Вот эта программа неплохо вычисляет мутанток http://www.pictriev.com/
                                            Без тестостерона нет разума.
                                            Когда его самкам крыс кололи, они лучше начинали ориентироваться в лабиринтах.
                                            Но даже человеческая самка мутантка все равно внутри баба.
                                            Хватит уже, я приоткрыл ваши слепошарые, теперь вы сами по себе.
                                            Хотите в Иисуса верьте, хотите — в равенство женщины и мужчины за исключением пиписек. Мне нет дела.


                                            1. lair
                                              09.09.2016 01:35
                                              +1

                                              Аналогично, ссылку на исследование про тестостерон, пожалуйста.


                                              1. gugura
                                                09.09.2016 01:55
                                                -6

                                                Сам найдешь, не маленький. Ты уже примерно двухсотая обезьянка у меня. Я практически оставил попытки что-то доказать зомбированным идиотам.
                                                Для умного человека достаточно одного примера зашоренности человеческого сознания и неправильного восприятия самок человека. Дураку и тысячи объяснений не помогут.
                                                Я пробую последний раз.
                                                Итак, сотнями вариаций растиражировано по интернету: мужчины совершают автомобильных аварий больше чем женщины.
                                                На ютубе же лежат видео где бабы за рулем ведут себя… как бабы за рулем.
                                                Где правда?
                                                Наверно нужно считать не абсолютные проценты, а количество аварий на час вождения?
                                                Для этого найдем достоверную информацию об общей аварийности в регионе:

                                                «И наконец, если говорить о классификации виновников аварий по гендерному признаку (также представлена впервые), то 69% аварий совершили мужчины.»

                                                Найдем информацию сколько водителей какого пола присутствует на дороге:
                                                «от зорких глаз не скрылся ни один водитель из тысячи. Женщин среди них оказалось 21,4%, то есть каждый пятый московский водитель — она.»

                                                Ничего считать не надо, все уже есть.
                                                21.4% водителей женщин совершают 31% аварий.

                                                Теперь все данные увязаны между собой.

                                                Нам же продолжают писать в сотнях мест что мужчины более аварийны.
                                                Прикол.
                                                А нет, просто вагина на голову у людей натянута…

                                                Я надеюсь теперь ты от меня отвяжешься со своими глупыми вопросами. Я тебе не гугл.


                                                1. MacIn
                                                  09.09.2016 02:49

                                                  Ничего считать не надо, все уже есть.
                                                  21.4% водителей женщин совершают 31% аварий.

                                                  Учитывается ли здесь стаж?

                                                  Нам же продолжают писать в сотнях мест что мужчины более аварийны.

                                                  Еще 50 лет назад провели исследования по этому поводу, которые показали, что женщины-молодые водители в среднем более аварийные участники движения, чем молодые водители-мужчины. Однако с ростом стажа они меняются местами. Связано это с особенностями психики разных полов, которые никто не отменял: женщина хуже привыкает к незнакомой ситуации, требующей быстрой реакции на меняющуюся обстановку. Но привыкнув, женщина водит в среднем аккуратнее.


                                                  1. gugura
                                                    09.09.2016 03:04
                                                    -4

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

                                                    Человек очень неохотно расстается со стереотипами. Вон стаж какой-то ищет…
                                                    — Ну может быть дело в стаже, а? Ну пожалуйста!

                                                    Наслаждайтесь.
                                                    ___________________

                                                    … на протяжение всего полёта Терешкову постоянно тошнило, с недержанием и рвотой…

                                                    «Это потрясающая, мужественная женщина, но ведь она не выполнила ни единого своего задания!» — летчик Марина Попович

                                                    Основной пилот корабля «Восток-6» — Валентина Терешкова, дублеры — Валентина Пономарева и Ирина Соловьева. На двух дублерах настояли медики ввиду «индивидуальных особенностей женского организма».

                                                    Женщины есть женщины: когда накануне старта приехал парикмахер, все трое решили перекраситься. Так Терешкова стала брюнеткой, Пономарева рыжей, а Соловьева блондинкой. Руководители полета схватились за голову: фотографии потенциальных покорительниц космоса в Москве уже ждут публикации, а тут такая перемена. Девушек заставили «смыть красоту».

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

                                                    Вот, например, одно из происшествий во время полета: в положенное время Терешкова не вышла на связь. На Земле заволновались, а потом, по данным телеметрии, обнаружили, что девушка … спит. Сон в неурочное время на орбите является грубым нарушением программы полета, а разбудить с Земли Терешкову не получалось. Тогда подключили Валерия Быковского — между «Востоком-5» и «Востоком-6» существовала прямая радиосвязь. Быковскому и удалось «растолкать» напарницу.

                                                    19 июня 1963 года спускаемый аппарат «Востока-6» благополучно приземлился в Алтайском крае. Но прибывшие к месту посадки спасатели обнаружили, что Терешкова допустила два грубейших нарушения: она стала есть пищу, принесенную местными жителями, а также раздала в качестве сувениров тюбики с космической едой.

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

                                                    Королев, узнав о нарушении, был страшно разгневан. В сердцах он стукнул кулаком по столу и заявил: «Пока я жив, ни одна женщина больше в космос не полетит».

                                                    «Значительное время своего 72-часового полета она не выходила на связь, видимо, из-за нарушенного сознания. Когда связь удавалось восстановить, она сообщала, что «корапь не управляется». При этом в центре управления отчетливо слышали звук «П» в слове «корабль», что указывало на отключение высших когнитивных функций, поскольку именно так Терешкова произносила это слово до того, как попала в Москву и обучилась нормативному произношению.»


                                                    1. saboteur_kiev
                                                      09.09.2016 04:08

                                                      «Вот, например, одно из происшествий во время полета: в положенное время Терешкова не вышла на связь. На Земле заволновались, а потом, по данным телеметрии, обнаружили, что девушка … спит. Сон в неурочное время на орбите является грубым нарушением программы полета»

                                                      1. Аполлон 8 «На трассе «Луна — Земля» астронавты много времени отдыхали: сказывалось нервное напряжение и переутомление. Андерс заснул на 45 минут во время своего дежурства.»
                                                      2. Аполлон-17 «На этот раз никто из астронавтов не увидел ни одной вспышки. Медики на Земле заподозрили, что Шмитт весь эксперимент проспал, сердцебиение у него было слишком медленным для бодрствующего человека»
                                                      3. Второй в истории полет в космос, наш космонавт «Титов»: «В положенное время штаб попытался связаться с космонавтом, но ответа не последовало. Титов не отвечал на запросы, а Королев не выносил неопределенности и неизвестности. „Заснули ваши солдаты и офицеры“, — накинулся он на дежурного по в/ч. Все оказалось просто: заснули не солдаты и офицеры, а космонавт. „

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


                                                    1. lair
                                                      09.09.2016 13:16

                                                      Вы бы хоть приводили ссылки на то, что цитируете. А то последний абзац — это из из Жуковской "Стой, кто ведет? Биология поведения человека и других зверей", по поводу которой (включая этот конкретный абзац) давно уже все сказано.


                                                      1. gugura
                                                        09.09.2016 15:01
                                                        -2

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

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

                                                        Боюсь я слишком сложную фразу завернул. Если что не понятно, катитесь к чертям собачьим, мне веруны уже до жути надоели.


                                                        1. lair
                                                          09.09.2016 15:06

                                                          То есть вы даже не знаете источников той информации, которую цитируете? И что-то еще говорите о ее достоверности?


                                                          1. gugura
                                                            09.09.2016 15:14
                                                            -3

                                                            То есть ты всегда найдешь какую-нибудь мелочь к которой можно прицепиться. И внезапно на основе мелкого спорного момента можно отрицать ВСЕ сказанное собеседником.
                                                            Типичная бабская тупость.
                                                            Поэтому прошу добром, отвяжись, ты ведь все равно ничего не поймешь и никаких выводов не сделаешь.
                                                            Ты тратишь мое время.
                                                            Оно стоит дорого. Заплати, тогда я найду возможность тебе раз за разом объяснять очевидное. Нет — ну так у меня уже есть работа за которую мне платят.


                                                            1. lair
                                                              09.09.2016 15:23

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

                                                              Отсутствие подтвержденных фактов — это мелкий спорный момент? Мило.


                                                              Ты тратишь мое время.

                                                              Не, это ваш личный выбор придти сюда и читать/отвечать на комментарии.


                                                              1. gugura
                                                                09.09.2016 16:21
                                                                -3

                                                                Отсутствие подтвержденных фактов — это мелкий спорный момент? Мило.


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

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

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

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


                                                                1. lair
                                                                  09.09.2016 16:28
                                                                  +1

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

                                                                  Неа. Ничто из этого не является фактом. По порядку:


                                                                  женщины хуже играют в шахматы

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


                                                                  практически ничего не изобрели

                                                                  Упирается в определение "практически ничего".


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

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


                                                    1. MacIn
                                                      09.09.2016 17:17

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

                                                      Совершенно верно!

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

                                                      Человек очень неохотно расстается со стереотипами. Вон стаж какой-то ищет…
                                                      — Ну может быть дело в стаже, а? Ну пожалуйста!

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


                                                1. lair
                                                  09.09.2016 13:13

                                                  Сам найдешь, не маленький.

                                                  Я же говорю, нет фактов-то.


                                                  (в исследовании на пабмеде, если что, говорится только о том, что тестостерон, вводимый крысам, влияет на выбор ориентационной стратегии, и только в определенных условиях)


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

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


                                          1. gugura
                                            09.09.2016 15:06
                                            -1

                                            Кстати я посмотрел канал https://www.youtube.com/user/jeriellsworth/videos
                                            Что-то меня напрягало во всем происходящем.
                                            И только сегодня я понял, там нет ничего кроме копирования.
                                            Она не починила ни одного устройства.


                                            1. lair
                                              09.09.2016 15:12
                                              +1

                                              Не чини то, что не сломано, ага.


                                              (ну и да, типичный пример обесценивания — что бы человек ни делал, это будет не то, что вы цените)


                                              1. gugura
                                                09.09.2016 15:20
                                                -2

                                                Я пытаюсь оценить интеллектуальный уровень этой мутантки. То что есть женщины мутанты можете прочитать в моей статье http://maxpark.com/user/4296643895/content/3693926

                                                Обезьяны хорошо умеют имитировать, бабы очень хорошо умеют болтать и прекрасно запоминают.
                                                Но создает ли эта баба что-то новое? Решает ли сложную проблему?
                                                Я ничего такого не нашел.


                                                1. lair
                                                  09.09.2016 15:25

                                                  Я пытаюсь оценить интеллектуальный уровень этой мутантки. То что есть женщины мутанты можете прочитать в моей статье http://maxpark.com/user/4296643895/content/3693926

                                                  Не "есть женщины мутанты", а "я нашел женщин, которых я считаю мутантами".


                                                  Обезьяны хорошо умеют имитировать, бабы очень хорошо умеют болтать и прекрасно запоминают.
                                                  Но создает ли эта баба что-то новое? Решает ли сложную проблему? Я ничего такого не нашел.

                                                  Если вы чего-то не нашли, это еще не значит, что его не существует.


                                        1. saboteur_kiev
                                          09.09.2016 02:27

                                          Миллионы глупых мужчин, разбирающихся в электронных схемах за 1-2$ в день не являются показателями ума.
                                          Вы сильно путаете ум и увлеченность каким-то конкретным занятием в IT области.


                                          1. gugura
                                            09.09.2016 02:56
                                            -6

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

                                            Мне интересно, что действительно такие простые вещи для вас незаметны? Милиция, пожарные — кто? Инженеры кто? Шахматисты — кто? Ресурсы добывает кто? Охотники — кто? Капитаны и матросы кораблей — кто? Водители грузовиков — кто? Строители — кто? Кто вьет и украшает гнезда аки шалашник? Кто плывет на другие континенты и сажает космические корабли на кометы?

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

                                            Почему это понимали люди сто лет назад, а сейчас даже мысли ни у кого не возникает? Деградация, мать ее…
                                            Скоро забудут таблицу умножения.
                                            А нет, уже…


                                            1. iqiaqqivik
                                              09.09.2016 08:24
                                              +6

                                              Более эпической иллюстрации к ситуации «мне никто не дает» я еще никогда не встречал. Спасибо, скопировал, буду перечитывать с похмелья.


                                              1. gugura
                                                09.09.2016 13:39
                                                -7

                                                Вагину с башки сними, наркоман.
                                                Забавляет аргументация этих недоразвитых.


  1. selivanov_pavel
    07.09.2016 20:24
    +2

    Можно ли давать объектам короткие имена
    НУЖНО.
    argument a1

    Я, конечно, не настоящий сварщик, но по-моему old_dir, current_dir, new_dir даже в пределах пол-экрана читаются гораздо легче, чем dir1, dir2, dir3. Или например label, time понятнее чем просто l, t. ИМХО короткие имена нужны только для общепринятых названий счётчиков: for i, j in ...


    1. s_o_v_a
      07.09.2016 20:31

      Никто не говорит о шифровании имен. У вас три директории, совершенно очевидно что читателю надо дать понять чем они отличаются.

      Примеры с label и time
      label l
      time t
      В пределах пяти строк где имя используется 10 раз в громоздких конструкциях.


      1. selivanov_pavel
        07.09.2016 20:54
        +6

        В пределах пяти строк где имя используется 10 раз в громоздких конструкциях.

        Тем более, если используются в громоздких конструкциях. Громоздкую конструкцию, наполненную a, b, dd, n1, глазами с первого раза очень трудно распарсить. Сравним чиатемость:


        set -e
        label="$2"
        dbname="$3"
        time="$(date +%Y-%m-%d-%H-%M-%S)"
        dir="$backup_dir/$label-$time"
        log="$log_dir/backup-$label-$time.log"
        mkdir "$dir"; cd $dir
        foobar-dump --db="$s" --do-not-eat-much-memory --include-important-data --fuckup-everything=no --comment="$label" &> "$log" 

        и


        set -e
        l="$2"
        s="$3"
        t="$(date +%Y-%m-%d-%H-%M-%S)"
        d="$backup_dir/$l-$t"
        o="$log_dir/backup-$l-$t.log"
        mkdir "$d"; cd $d
        foobar-dump -D "$s" -m -E -X no -c "$l" &> "$o" 


        1. s_o_v_a
          07.09.2016 21:33
          -13

          Смысл мне писать, если вы не читаете или не понимаете мой ответ. Я даже пример дал.
          Монолог дурного бабуина…


          1. nemesis1980
            09.09.2016 03:14

            А вы интересный собеседник…


      1. saboteur_kiev
        08.09.2016 03:34

        А что если через месяц добавят в функцию еще пару строк, через 3 месяца еще пару строк, а через год функция уже на три экрана, а переменные в ней все еще короткие?
        Вы экономите место на винчестере?

        вместо i лучше counter
        вместо t лучше tempTime
        и т.д.


        1. Sirikid
          08.09.2016 04:26

          Вот когда будет на три экрана, тогда и напишу counter вместо i


          1. saboteur_kiev
            09.09.2016 00:14

            А если к тому моменту, как будет три экрана, вы уже смените 4 работы, а тут будет работать человек, которому придется потратить пару часов, чтобы выяснить, что такое i и что его можно безболезненно поменять, потому что оно похоже на l, на t и еще десяток однобуквенных переменных?
            Плюс время затраченное на разрастание до трех экранов всегда сопровождалось замедленным разбирательством что такое i?


  1. VioletGiraffe
    07.09.2016 21:39
    +1

    Много спорных моментов, и автор местами излишне категоричен, но вступление гениально же.


  1. qw1
    08.09.2016 01:48

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


  1. Sixshaman
    08.09.2016 02:57
    +2

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

    Пожалуйста, хватит.


  1. sbnur
    08.09.2016 06:30
    +4

    Большинство преступлений против человечества совершено идеалистами — не спеши в их ряды


  1. ServPonomarev
    08.09.2016 08:38
    -9

    В статье многое правильно, зря чела заминусовали. Но вот если следовать этому пути, то дорога на корпоративный уровень (где все деньги) закрыта. Потому что там формальное следование код-стайлу важнее смысла и пользы


  1. McLotos
    08.09.2016 11:27
    -11

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

    <html>
    <body>
    <? echo "<p>$hello<br>$world</p>"; ?>
    </body>
    </html>
    

    предел их возможностей и потолок навыков.


    1. McLotos
      08.09.2016 12:32
      -5

      о! заминусовали =)
      правда глаза режет? =)


      1. TimsTims
        08.09.2016 14:33
        +5

        > большинство обитателей хабра это школота, которым не интересен идеальный код
        Чтож вы тогда в нашем отстойнике забыли?


    1. s_o_v_a
      08.09.2016 15:15
      -3

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


      1. TimsTims
        08.09.2016 15:31
        +3

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

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

        Поэтому, возможно тот, кто врывается в тусу и говорит, что тут лози — МОЖЕТ БЫТЬ и прав(нужно объяснить свою т.з.), но минусов отхватить в любом случае.

        И да, s_o_v_a, вы меня убиваете!


        1. s_o_v_a
          08.09.2016 16:22
          -5

          Хм… а я вам говорил что уже лет 10 считаю хабр отхожим местом? Вы тут возможно друг с другом все милые и пушистые, потому что боитесь отхватить минусов (плохой костыль).
          Но что толку, если вы все равно ведете себя как обезьяны или как бабы: при любом удобном поводе верещите что вы крутые, а доказать вам это совершенно нечем :)
          Я минусов не боюсь, потому что в этом курятнике мне делать нечего.
          Статью хотелось где-нибудь опубликовать для эксперимента, выбрал хабр за беленький интерфейс :)

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

          Чтобы не быть голословным:
          Пример выше — человек мне пишет: метасообщение «твой код — говно» (завуалировано ставит себя выше меня и больше ему ничего не нужно).
          Ему ставят 10 плюсов.
          Я ему: покажи как делаешь ты (мой интерес чисто технического плана, обезьянья ерунда меня не интересует).
          Мне ставят 10 минусов.

          Это система сделанная идиотами для идиотов и остаться здесь могут только идиоты. Вот почему уровень материалов катастрофически низок. Когда я случайно натыкаюсь в поисковике на статью с хабра по какой-то тематике, я автоматически снижаю уровень доверия к материалу в несколько раз. Давняя привычка. Рунет и так полон убогими компиляциями студентов, а хабр с его системой «надрочи рейтинг», «пустим только после поклона» — механизм привлечения убогих компиляций и школоты.
          Впрочем, возможно это их хлеб…

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

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

          Тут кто-то написал: «заминусовали за комментарии». Нет, человек, ты еще не все понял.
          Моим первым комментариям ставили минусы именно за статью. Этакая месть студентов, Джонни. Не могут люди воспринимать информацию адекватно, примеряют на себя, злятся, выплескивают злость в единственной доступной им форме. Ну а в дальнейшем еще более обозлились, когда увидели что вся эта их ересь с минусами бесполезна.

          Я надеюсь все объяснил, по обезьяньей тематике мне больше сказать нечего.
          По коду — welcome.


          1. webkumo
            08.09.2016 17:03
            +3

            Хм… ну попробую на твоём языке:

            Чувак, ну всё же банально — не общайся на своём, обезьяньем, языке, и тебя будут понимать! Тут не стадо бабуинов, как ты привык, тут думать надо, что пишешь!

            Плаксик, не плач, ну смотри вот комментарий:
            >>Код самописного профайлера — восхитительный пример того, как его разработчик совершает геноциды.

            у него 10 плюсов… почему? Потому что: велосипеды всех достали (знаешь сколько профайлеров создано?), потому что почти в каждом велосипеде наломана куча дров. По твоим есть немало вопросов в комментариях.

            А вот твой комментарий:
            >> Уями можно и столб покрыть, а толку. Покажи как надо, Джон.

            у него 12 минусов, знаешь почему? https://habrahabr.ru/info/help/rules/ Вот список того, чего на ресурсе делать не следует: «Оскорблять других пользователей, не следить за эмоциями.», «Постоянно использовать смайлики, коверкать слова, игнорировать правила русского языка»
            А ещё потому, что аллегория ну совсем не соответствует фразе «покажи как делаешь ты». Обычное быкование из подворотни.

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


            1. McLotos
              08.09.2016 17:34
              -2

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


              1. iqiaqqivik
                08.09.2016 18:03
                -2

                Адекватное поведение в том, чтобы: а) не обращать внимание на карму и б) никогда не писать заметок на хабр.

                Джоэл и Джефф немного подумали над политикой ачивок на StackOverflow: там у контрибьюторов производная всегда положительна, каких бы ультра-взглядов ты ни придерживался. Тут все сделано через жёлудь: «элитный» клуб для несостоявшейся малышни бальзаковского возраста и неспособных овладеть английским языком, все серьезные авторы давно ничего не пишут, только «восторженная молодежь» (за что им искреннее спасибо, кстати).


              1. lair
                08.09.2016 18:16

                заминусовала статью, за что я теперь отхабренный.

                Вообще-то, за заминусованную статью нельзя стать отхабренным.


              1. MrShoor
                08.09.2016 21:22
                +1

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


                1. iqiaqqivik
                  09.09.2016 08:36
                  -2

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

                  Человек же ясно пишет: «опубликовал статью, даже инвайт за нее получил, […] просто заминусовали статью, за что я теперь отхабренный». Сиречь, пришли люди, которые сами пока от горшка два вершка, и наставили минусов в карму (сужу по «отхабренному»), — что полностью подавило любое желание (да и возможность) хоть что-то писать еще.

                  Если вам кажется это моделью адекватного мира, у меня для вас плохие новости: когда-нибудь вы сами столкнетесь с тем, что выполните какую-либо волонтерскую задачу хуже, чем могли бы. На то может быть миллион причин. А вас, к примеру, забанят. Потому что «IMHO минусы — это адекватное поведение».

                  Поэтому вот прямо сейчас я описываю процесс создания «быстрых таблиц» на хуках в Riak’е, но вы лично вряд ли ее прочитаете (хотя, в принципе, мне было бы не впадлу перевести ее на русский и опубликовать) — именно потому, что мне нафиг не вперлось мнение гуру теоретического высера.

                  Не нужно думать, что я обижен на местную публику, или типа того, вовсе нет. Я плюнул, завел еще аккаунт. Когда-нибудь его снова сольют за то, например, что я недолюбливаю golang. Делов-то — заведу еще один. Для резюме, ссылок и приятных бесед у меня есть учетка на SO.

                  Такие дела.


                  1. MrShoor
                    09.09.2016 09:20
                    +1

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

                    Если вам кажется это моделью адекватного мира, у меня для вас плохие новости: когда-нибудь вы сами столкнетесь с тем, что выполните какую-либо волонтерскую задачу хуже, чем могли бы. На то может быть миллион причин. А вас, к примеру, забанят. Потому что «IMHO минусы — это адекватное поведение».
                    Если меня как вы описали забанят — я постараюсь сделать выводы. Мне саморегулирующаяся модель нравится, потому что мне не надо копаться в куче мусорного контента, который начнут тут генерить, если запретить минусы.

                    Когда-нибудь его снова сольют за то, например, что я недолюбливаю golang.
                    Недолюбливать вы можете что угодно, и тут за это не сливают. А сливают за то, что начинаете навязывать свое мнение другим, либо разводите холивар.


                    1. iqiaqqivik
                      09.09.2016 10:07
                      -2

                      Вы здесь зарегистрированы с 2012 года, а я с 2006 https://habrahabr.ru/users/matiouchkine/

                      Не понимаете вы, а не я. Кроме того, вы невнимательно читаете. Гипотетический «я» не боюсь минусов за статью, которые нужны, важны и даже полезны. Статья уползет вниз и мы ее не увидим, тут все отлично, на SO так же. Но здесь есть еще эта пресловутая карма. Которая как раз влияет на возможность публикации и комментирования.

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

                      И еще, вам, полагаю, сто?ит отучиться разговаривать менторским тоном. Это выглядит, как минимум, странно, учитывая сопутствующие факторы.


                      1. lair
                        09.09.2016 11:27
                        +1

                        Которая [карма] как раз влияет на возможность публикации

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


                        1. iqiaqqivik
                          09.09.2016 11:52

                          Видите ли, вопрос ведь не столько в «подождать пару дней», сколько в «а оно мне надо?».

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

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

                          Замечу также, что я активно пишу всякие заметки под CC, активно участвую во всякой открытой разработке и так далее. Я бы с удовольствием контрибьютил и сюда, да я так и делал, впрочем, пока мне не сказали: «нам тут нужно „приятно“, а не „полезно“». Ну ок.


                          1. lair
                            09.09.2016 11:55
                            +1

                            Видите ли, вопрос ведь не столько в «подождать пару дней», сколько в «а оно мне надо?».

                            Ну так если не надо, то… и не надо. Зачем себя мучать-то?


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

                            Мне, в общем-то, кажется, что смысл кармы именно в этом.


                            1. iqiaqqivik
                              09.09.2016 12:08
                              +1

                              > Ну так если не надо, то… и не надо. Зачем себя мучать-то?
                              А никто себя и не мучает. Вы появились в середине треда, который начался с того, что я объяснил, что не так в консерватории. Ad hominem аргументы тут (как и везде) абсолютно неуместны.

                              > Мне, в общем-то, кажется, что смысл кармы именно в этом.
                              Я слышал, что есть люди, которые считают, что большинство всегда право. И им, наверное, здесь очень комфортно. И это прекрасно.

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

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


                              1. lair
                                09.09.2016 12:11

                                Ad hominem аргументы тут (как и везде) абсолютно неуместны.

                                Аргумент ad hominem — это немножко другое, не подменяйте.


                                Понимаете, есть один маленький, очень странный нюанс во всей этой аргументации: чтобы поставить минус в карму, нужно чтобы в собственной карме было достаточно плюсов. А плюсы — это тоже следствие реакции некоего общества. Так что да, местная динамика и правда так устроена, что есть поощряемое и непоощряемое поведение… и мне кажется, что это нормально для общества.


                                1. iqiaqqivik
                                  09.09.2016 12:20
                                  -1

                                  Зависит от того, какие цели преследует общество.

                                  Если цель — теплая, уютная, ламповая и плюшевая атмосфера — безусловно.

                                  Если же на профессиональном ресурсе вам почему-то небезразлично качество статей — то все иначе. Иногда имеет смысл потерпеть. Подумайте, что тут стало бы с каким-нибудь Эйнштейном или, тем паче, Торвальдсом? То-то.


                                  1. lair
                                    09.09.2016 12:24

                                    Если же на профессиональном ресурсе вам почему-то небезразлично качество статей — то все иначе. Иногда имеет смысл потерпеть.

                                    Я вот в этом не уверен. Когда мне нужны статьи без атмосферы — весь интернет к моим услугам, сейчас площадок для собственного высказывания бесконечное множество, я RSS перестал успевать прочитывать.


                                    Подумайте, что тут стало бы с каким-нибудь Эйнштейном или, тем паче, Торвальдсом?

                                    Это бы их остановило?


                                    1. iqiaqqivik
                                      09.09.2016 12:34

                                      В чем вы не уверены? Там дихотомия :)

                                      Вы расписываетесь в том, что пришли за атмосферой. Я же не говорю, что это плохо, или, там, неправильно, простите. Наоборот.

                                      > Это бы их остановило?
                                      Их бы заминусовали по самое незабалуйся.


                                      1. lair
                                        09.09.2016 12:40

                                        В чем вы не уверены? Там дихотомия

                                        В том, что если небезразлично качество статей, надо потерпеть. Собственно, я считаю, что это ложная дихотомия.


                                        Их бы заминусовали по самое незабалуйся.

                                        Их бы это остановило?


                                        1. iqiaqqivik
                                          09.09.2016 12:49

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

                                          >> Их бы заминусовали по самое незабалуйся.
                                          > Их бы это остановило?
                                          Понятия не имею. Но количество полезной информации от них точно бы уменьшило.


                                          1. lair
                                            09.09.2016 12:50
                                            +1

                                            Вы утверждаете, что грубиян никогда ни при каких условиях не способен написать блестящую научную работу?

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


                                          1. webkumo
                                            09.09.2016 13:15
                                            +1

                                            Энштейна с его ОТО поносили во всём научном сообществе достаточно продолжительное время… Куда там хабру с холиворами до тех проблем, с которыми он столкнулся…


                                1. Am0ralist
                                  09.09.2016 12:31

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

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


                                  1. lair
                                    09.09.2016 12:41

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

                                    Знаю. И что?


                                    1. Am0ralist
                                      09.09.2016 12:50
                                      -1

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


                                  1. iqiaqqivik
                                    09.09.2016 12:42

                                    Большинству нравится, когда большинству не перечат :)

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

                                    Не всем людям это одинаково очевидно, к сожалению.


                                    1. Am0ralist
                                      09.09.2016 17:11
                                      -1

                                      Да ладно, вот на гиктаймсе только что наткнуля на комментарий про бесов и злых духов распространяющих порок от пользователя с 7 комментами на гиктаймсе и 11 на хабре, а так же кармой по 9 единиц на обоих ресурсах (которую, как понимаю, заработал на хабре одной статьей с 6 комментами под ней).

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


                                      1. lair
                                        09.09.2016 17:19

                                        так же кармой по 9 единиц на обоих ресурсах (которую, как понимаю, заработал на хабре одной статьей с 6 комментами под ней).

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


                                        1. Am0ralist
                                          09.09.2016 17:36

                                          статья 12 года, до разделения, боюсь где-то там собака покопалась.


                                          1. lair
                                            09.09.2016 17:38

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


                                            1. Am0ralist
                                              09.09.2016 18:22
                                              -1

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


                                  1. MacIn
                                    09.09.2016 17:25
                                    +3

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


                                    1. Am0ralist
                                      09.09.2016 18:08

                                      Мои комментарии в большинстве случаев оценивают нейтрально-положительно, всего три комментария с "-1" на хабре, например. Да-да, я очень оскорбительное хамло.

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

                                      А заминусили в основном не за политику, а за то, что не поддерживаю веру в великий и добрый гугл с ссылками на пруфы в руках (во всяком случае полтора-два десятка минусов на гиктаймсе именно за это).
                                      Менее десятка я получил в холиварах с ГМО (в одном случае — заслужено)

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

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


                                      1. MacIn
                                        09.09.2016 18:18
                                        +2

                                        Или я лично вам когда-то дорогу перешел и не помню?

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

                                        А заминусили в основном не за политику

                                        Мое «по политическим мотивам» написано именно так — в кавычках. Так, на всякий случай, если вы не обратили внимание.

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

                                        Да, мой комментарий вполне нейтрален. Нет, я лично не отношусь к другим как к говну.


                                        1. Am0ralist
                                          09.09.2016 18:30
                                          -1

                                          «А при чем здесь вы? Я разве сказал, что речь о вас?»

                                          Нет, конечно же Вы говорили не обо мне, это же явно видно из построения Ваших фраз:

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

                                          Ну, либо Вам надо поработать над нейтральностью комментариев. Например, не писать в них «ТЫ» в ответе другому человеку, если Вы пишете не о нем.


                                          1. MacIn
                                            09.09.2016 18:43
                                            +1

                                            Это обращение к тому условному человеку, действия которого я критикую, а не к вам. Заметьте — я описываю конкретные действия, которые подвергаю критике, совершаемые условным человеком, и потом обращаюсь к нему, условному. Вы не совершаете эти критикуемые действия? Тогда это обращение не к вам.
                                            Это обычная фигура речи. Представьте себе фразу вида «Мда, идешь ты так по улице, никого не трогаешь, тут раз и окатывают тебя из лужи». Здесь слово «ты» не применяется по отношению к собеседнику, это лишь фигура речи, способ ее разнообразить. Точно так же, как если мы говорим «идешь по улице до конца, поворачиваешь налево, там подходишь к киоску...». Все описывается в настоящем времени, хотя в настоящее время второй человек никуда не идет и не поворачивает, а вовсе стоит и слушает собеседника.

                                            Например, не писать в них «ТЫ» в ответе другому человеку, если Вы пишете не о нем.
                                            Это не был ответ в полном смысле слова, это реплика после ваших слов на заданную ими тему. Поскольку мы общаемся в виде текстовых сообщений, единственный способ показать, что это реплика после и на заданную кем-то тему — офомить ее в виде ответа.


                                    1. gugura
                                      09.09.2016 18:36
                                      -4

                                      А почему я к тебе должен относиться иначе? Почему все руссияне уверены что им все что-то должны?
                                      Ты будешь изощренно оскорблять меня (не нарушая правил сайта, конечно же, ведь ты формально их соблюдаешь), яростно тупить, тратить мое время и конечно же ставить моим комментариям минусы.
                                      А я к тебе относись по доброму? :)
                                      Так вот значит ты неадекватен, как и большинство здесь присутствующих. Будь добр, задавай вопросы вежливо, не желай собеседнику рака, и может быть к тебе тоже отнесутся хорошо. И не нужны будут костыли вроде страха получить минус.

                                      Кстати, русские вообще дикие и злые, на англоязычных форумах я такого говна не встречаю.

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

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

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

                                      Потому хабр — говно. Но как я уже сказал, русскому интернету нужен такой сортир :)


                                      1. MacIn
                                        09.09.2016 19:09
                                        +3

                                        А почему я к тебе должен относиться иначе? Почему все руссияне уверены что им все что-то должны?

                                        Странный пунктик на «руссиянах». Никто никому ничего не должен: норма — нейтральное отношение.

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

                                        Это распространенное искажение: ложное объединение, создание образа врага. Кто-то один пожелал рака, кто-то другой поставил минус. Но вы лепите образ общего врага «они все против меня», отсюда появляются выпады против всего сообщества. Ну оно и понятно — кто минус поставил, не видно, а пнуть его вам хочется. Получается только так — по площадям.

                                        Для очень тупых повторю еще раз: минусовать комментарии начали именно за статью, а не за комментарии.

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

                                        Нормальная соцсеть

                                        Так Хабр — коллективный блог, а не соцсеть.

                                        Потому хабр — говно. Но как я уже сказал, русскому интернету нужен такой сортир :)

                                        За статью, за статью.


                                        1. gugura
                                          09.09.2016 19:39
                                          -3

                                          Без сомнения комментарии с оскорблениями получают больше минусов, так как обезьяны особо чувствительны и не хотят читать о себе ничего плохого.
                                          Однако, я не намерен общаться с недоумками никак иначе.
                                          Если ты тупой, будь добр принять замечание о твоей тупости. Или у вас тут майнд позитив?

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

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


                                          1. MacIn
                                            09.09.2016 20:42
                                            +1

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

                                            Вы продолжаете поддаваться этому же искажению, укладываете все в модель «все враги, все субъективно, миня абижают».
                                            Ваш первый комментарий написан в 13:42. И он же, первый, — осокрбительный, вот он:
                                            Люди которые пишут что значение на некоторых системах может меняться видимо не существуют. Один ты умный, умеешь читать документацию.

                                            Давно считаю хабр отхожим местом.

                                            Вы первым нанесли оскорбление и обижаетесь ответу. Даже несмотря на это, ваши нейтральные комментарии, последовавшие за этим (например, в 14:07), имеют плюсы. Как модель «все враги, я жертва», не трещит?


                                            1. gugura
                                              09.09.2016 20:47
                                              -2

                                              Это первый комментарий? Девочка, проверь очочки.
                                              Признай уже что ты дебил как и большинство местных и разойдемся.


                                              1. Tujh
                                                09.09.2016 20:52

                                                Два пургена этому Д`Артаньяну!


                                              1. MacIn
                                                09.09.2016 21:05
                                                +1

                                                Ах да, это за восьмое.
                                                Тогда тем более вы ошибаетесь: все ранние нейтральные комментарии, за исключением одного — в плюсе. Так что «меня минусуют за статью» тем более не подтверждается. Первый с оскорблением за 7е с вашей стороны — в 17:58:

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

                                                Давно считаю Хабр отхожим местом :)

                                                И даже после этого ваши нейтральные комментарии — в плюсе. Например, рядом:
                                                В «предпросмотре» статья выглядела именно так как я ее и набрал — с правильными отступами везде. Я все проверил. Публикация же сожрала табуляцию в коде.


                                                Пора все ж признать, что дело не в статье и не в призме, через которую вас видят остальные. А в роже, как в старом анекдоте.


                                                1. gugura
                                                  09.09.2016 21:49
                                                  -3

                                                  Комментарий:

                                                  «Ну извини, 5 лет в геймдеве, сейчас по компьютерному зрению — не профессионал.
                                                  Ты статью просто не понял, суть. Ее надо целиком воспринимать: инсталляция забирает время у пользователя. Значит ее не должно быть.»

                                                  — 7 минусов.

                                                  Какая на этот раз у тебя будет отмазка, Маня?
                                                  Триггер «ты не понял» сработал и школота взорвалась анальной болью?

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

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

                                                  Ты целиком информацию воспринимай: хабр — говно. Он был говном и остается говном. Попытки аудитории говна обелить себя, назвать себя полноценными… Гхм…
                                                  Уровень статей — днище.
                                                  Пока я переписывался, я тут несколько осилил.

                                                  «Как я писал свой парсер html»
                                                  «Я на андроид запилил кривобокий шедьюлер!»
                                                  «Как умные люди делают нейронные сети, я вот вам перевел, вы же не умеете по английски»

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

                                                  Кстати, я видел негра, который собрал 3д принтер из запчастей со свалки. Его показывали как феномен.
                                                  Но я не видел ни одной такой женщины…
                                                  Получается негры умнее белых женщин? Хомячок, у тебя должно быть толерантненькое объяснение наготове. Давай. Ваша непредсказуемая тупость бывает любопытной.


                                                  1. MrShoor
                                                    09.09.2016 22:18
                                                    +2

                                                    5 лет в геймдеве? Вы серьезно? Предлагаете письками мерятся, и ожидаете что вас заплюсуют за это?

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

                                                    Кстати, я видел негра, который собрал 3д принтер из запчастей со свалки. Его показывали как феномен.
                                                    Но я не видел ни одной такой женщины…
                                                    Получается негры умнее белых женщин?
                                                    Кстати, я видел женщин, пишущих код, но я ниразу не видел как хабраюзер gugura пишет код. Получается женщины умнее gugura?


                                                    1. gugura
                                                      09.09.2016 22:56
                                                      -4

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

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

                                                      И вот оказалось что в вашем стаде запрещено упоминать о своей работе. Конечно же, маленький, конечно. Ведь кто-то может узнать что ты никто, пустышка, и твои рученьки неимоверно кривые. И вообще мамка только вчера компьютер купила, а сегодня ты решил написать великолепную РПГ для айфона (Правда айфон пока мамка не купила)

                                                      Последний абзац твоего ответа прекрасно рассказал о твоем интеллекте. Опять разом просраны операции со множествами. Вниз посмотри, сиськи не выросли? Ты хоть раз учебник логики открывал? Есть такая наука, если не в курсе.

                                                      Давай посмотрим кто ты есть? Распарси мне этот файл в vector<vec3f ну и прочее http://www.icg.isy.liu.se/candide/candide3.wfm

                                                      Сделаешь это меньшим числом строк, красивее чем я — 1000 рублей твои.
                                                      Нет, ну значит ты школота ипаная и стоишь дешевле чем старый гандон с помойки.
                                                      Как думаешь, самое время обидеться тебе, девочка?


                                                      1. lair
                                                        09.09.2016 22:59
                                                        +1

                                                        И вот оказалось что в вашем стаде запрещено упоминать о своей работе.

                                                        А пацаны-то и не знают.


                                                      1. MacIn
                                                        09.09.2016 23:09

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

                                                        Путем мерянья письками. «5 лет в геймдеве, сейчас по компьютерному зрению» никоим образом не указывает на профессионализм. Может быть ты 5 лет мыл полы «в геймдеве».

                                                        А вообще я программирую с 12 лет

                                                        Позновато начал.

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

                                                        Срази нас наповал.

                                                        Ты хоть раз учебник логики открывал? Есть такая наука, если не в курсе.

                                                        Ты с ней не знаком, судя по всему. Иначе не испугался бы совершенно конкретного и корректного парирования «Кстати, я видел женщин, пишущих код, но я ниразу не видел как хабраюзер gugura пишет код. Получается женщины умнее gugura?».

                                                        красивее чем я

                                                        Красоту будешь субъективно определять?

                                                        Сделаешь это меньшим числом строк

                                                        Если он все решение в строку запишет, боюсь представить, что с тобой случится.


                                                      1. MrShoor
                                                        09.09.2016 23:53

                                                        Давай посмотрим кто ты есть? Распарси мне этот файл в vector<vec3f
                                                        Не хочу в vector. Могу вот так распарисить:

                                                        пойдет?
                                                        Сделаешь это меньшим числом строк, красивее чем я — 1000 рублей твои.
                                                        0 строк кода. Достаточно мало?


                                                        1. gugura
                                                          10.09.2016 00:17
                                                          -2

                                                          Ты обосрался даже не сняв штаны.
                                                          Не считая функции split, 70 строк с отступами и комментариями.

                                                          Попробуй хотя бы улучшить что-то или ошибку найти. На сотку. Тянешь ты на сто рублей или совсем мусор?

                                                          class Candide
                                                          {
                                                          	void read_tokens(ifstream& in, vector<string>& tokens, int required)
                                                          	{
                                                          		tokens.clear();
                                                          
                                                          		string s;
                                                          		do
                                                          		{	getline(in, s);
                                                          		} while(s.empty() || s[0] == '#');
                                                          
                                                          		split(s, tokens);
                                                          		assert(tokens.size() == required);
                                                          	}
                                                          
                                                          	vector<vec3f> vertices;
                                                          	vector<uint16_t> faces;
                                                          	
                                                          	typedef vector<pair<uint16_t, vec3f> > animation_unit;
                                                          
                                                          	vector<animation_unit> animation_units;
                                                          
                                                          public:
                                                          	Candide(ifstream& in)
                                                          	{
                                                          		if (!in.is_open()) throw std::runtime_error("Candide load");
                                                          
                                                          		vector<string> t;
                                                          
                                                          		// VERTEX LIST
                                                          		read_tokens(in, t, 1);
                                                          		
                                                          		for(int i = stoi(t[0]); i > 0; --i)
                                                          		{	read_tokens(in, t, 3);
                                                          			
                                                          			vertices.push_back( vec3f(stof(t[0]), stof(t[1]), stof(t[2]) ) );
                                                          		}
                                                          
                                                          		// FACE LIST
                                                          		read_tokens(in, t, 1);
                                                          
                                                          		for (int i = stoi(t[0]); i > 0; --i)
                                                          		{
                                                          			read_tokens(in, t, 3);
                                                          
                                                          			faces.push_back(stod(t[0]));
                                                          			faces.push_back(stod(t[1]));
                                                          			faces.push_back(stod(t[2]));
                                                          		}
                                                          
                                                          		// ANIMATION UNITS
                                                          		read_tokens(in, t, 1);
                                                          		for (int au = stoi(t[0]); au > 0; --au)
                                                          		{
                                                          			animation_unit u;
                                                          
                                                          			read_tokens(in, t, 1);
                                                          			for (int i = stod(t[0]); i > 0; --i)
                                                          			{
                                                          				read_tokens(in, t, 4);
                                                          
                                                          				u.push_back(make_pair(
                                                          					stoi(t[0]),
                                                          					vec3f(stof(t[1]), stof(t[2]), stof(t[3])
                                                          					)));
                                                          			}
                                                          
                                                          			animation_units.push_back(u);
                                                          		}
                                                          	}
                                                          };


                                                          1. MrShoor
                                                            10.09.2016 00:23
                                                            +1

                                                            Ты обосрался даже не сняв штаны.
                                                            Обосрался тут ты, взяв за основу непонятный формат. Текстовые файлы 3д моделей, которые правятся руками! и имеют вот такие чендж логи:
                                                            # 3.1.1: * Removed faces 61-63-62 and 28-29-30.
                                                            # * Moved vertices 27, 60, 90, 91 to fulfill MPEG-4 requirements
                                                            # of ffp placement.
                                                            # * Replaced faces 31-30-32 and 90-31-30
                                                            # with 90-30-32 and 90-32-31.
                                                            # * Replaced faces 64-65-63 and 91-63-64
                                                            # with 91-65-63 and 91-64-65.

                                                            Без фейспалма читать нельзя.
                                                            Кстати, ноль строк кода, чтобы построить 3д модель — это по твоему плохо. Так?


                                                            1. gugura
                                                              10.09.2016 01:39
                                                              -5

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


                                                              1. MrShoor
                                                                10.09.2016 01:53
                                                                +1

                                                                Лучший парсер тот, которого нет. Вон я тебе скрин рендера 3д модельки из этого файла дал. То есть я вполне воспользовался данными из файла, но без всякого парсинга.

                                                                Какая типичная макака.
                                                                Писать парсер для единичного файла, на который даже спецификации нет — вот где обезьянья работа. Ну и кто макака?


                                                                1. gugura
                                                                  10.09.2016 02:40
                                                                  -6

                                                                  Как же ты ужасно туп, ахаха
                                                                  Заглянул даже в профиль — дельфи в интересах. И пишет статьи по этой кривой поделке!)))))))))))
                                                                  Вот они, пользователи хабра во всей красе!
                                                                  Убей себя, лошара.


                                                      1. stychos
                                                        10.09.2016 16:39
                                                        +1

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

                                                        Это не про нескучные ли обои?


                                                        1. gugura
                                                          11.09.2016 00:10

                                                          Нет, это про рыбалку.


                                                  1. MacIn
                                                    09.09.2016 22:50
                                                    +1

                                                    Какая на этот раз у тебя будет отмазка, Маня?
                                                    Триггер «ты не понял» сработал и школота взорвалась анальной болью?

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

                                                    Каждому комментарию старательно проставлен минус, с упорством дебила.

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

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

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

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

                                                    Ты держишься хорошо, но здесь уже жирновато. В споре с lair было лучше.

                                                    Но я не видел ни одной такой женщины…

                                                    Когда глаза закрываешь, мир пропадает, да?


                          1. MrShoor
                            09.09.2016 19:26

                            Если мне ясно дают понять, что в коллективе меня видеть не хотят, я в этот коллектив не хожу. Более того, я считаю это нормальным естественным для разумного человека поведением.
                            Но почему же вы аж 15 раз заводили виртуалов? Судя по комменту выше. Это разумно?


                            1. iqiaqqivik
                              09.09.2016 20:17

                              Следующую строчку не судьба прочитать?

                              Я хожу в комментарии. Но я больше не пишу статьи. Комментарий — общение с живым человеком. Статья — с коллективом. Я не знаю, как еще проще объяснить.


                              1. webkumo
                                09.09.2016 20:26

                                Вы ошиблись адресом. Комментарии — почти такое же общение с коллективом, разница только в объёме собираемой аудитории.


                              1. MrShoor
                                09.09.2016 20:35

                                Ошибаетесь. Комментарии — это так же общение с коллективом, потому что их читают все. Общение с человеком — это когда вы ему в личку пишете.
                                Так вот, отрицательная карма никак не влияет на общение с человеком. С человеком тут можно общаться даже с read-only аккаунта, у которого кармы вообще нет.


                                1. iqiaqqivik
                                  10.09.2016 07:37
                                  -1

                                  Во-первых, императивы тут не очень уместны. Вы (и два комментатора вокруг) странно трактуете понятие «общение». Вот я вам ответил, а им — нет, с вами я общаюсь, а на них — класть хотел с прибором. То, что каждый волен прочитать мою реплику и что-то ответить не делает из такого сорта переписки — общение.

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


                                  1. MrShoor
                                    10.09.2016 07:43

                                    Да понял я вас. У вас своя точка зрения, у меня своя. Не вижу в этом ничего плохого. Предлагаю на этом и закончить. ;)


                              1. MacIn
                                09.09.2016 20:43

                                Комментарий — общение с живым человеком

                                Вы перепутали с личной почтой.


            1. McLotos
              08.09.2016 17:39

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


            1. s_o_v_a
              08.09.2016 17:42
              -8

              Во первых это ты на своем языке.
              Во вторых, конструктива в твоем посте ноль, очередная макака.
              Так что по коду хотел сказать? Меня интересуют замеры, позволяющие с легкостью делать алгоритмическую оптимизацию под разными системами: windows, linux, android, ios. В моем профайлере меньше 200 строк кода и он позволяет все это делать не напрягаясь, хоть на удаленном устройстве. Это мой основной инструмент оптимизации.
              Предложи мне «не велосипед», делающий все то же самое, но лучше.

              Макаки, вы мне надоели. Как можно быть такими тупыми и агрессивными.


    1. Sixshaman
      08.09.2016 18:19

      Не стоит писать про то, каким должен быть идеальный код, потому что «идеальный» — крайне субъективное понятие. И посты вида «Я считаю именно этот код красивым, а ваше понятие о красоте неправильно» минусуются за дело. Особенно если эти посты написаны в таком брызжущем слюной стиле.

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


  1. iqiaqqivik
    08.09.2016 11:35
    +1

    > Замечание: ограничение на имена файлов 8.3 снято более 20 лет назад.

    Замечание: ограничение на имена файлов 8.3 **появилось** чуть более 30 лет назад и было снято более 20 лет назад. Нормальные люди, впрочем, этого ограничения вовсе не заметили, потому что оно появлялось и исчезало только в нишевой ОС для бухгалтеров.


  1. Magnetic_Air
    08.09.2016 12:52
    +1

    По-моему пример с программистом Джоном некорректен. Как можно складывать затраченное время разных людей (пользователей) и помещать всё это в одну событийную линию?.. Тогда программа должна быть написана минимум 427.8 лет назад. Разные потоки данных проходящие параллельно нельзя складывать. Тоже самое что сложить время выполнения разных потоков программы в один и сказать, что это время выполнения всей программы…


    1. Am0ralist
      08.09.2016 13:52

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

      Пример из жизни:
      При запуске программа автоматически посылала запрос на загрузку данных из БД по всем заявкам за период от дня до нескольких месяцев (до тысячи заявок в день) в зависимости от значения фильтра на момент предыдущего закрытия программы.
      Хотя на самом деле пользователю после запуска нужно было после этого настроить пару фильтров и получить единственную конкретную заявку, ну максимум несколько по одному пациенту.
      Итого, запуск 5-10 минут был нормой (скорость работы запросов — отдельная песня), а программа достаточно постоянно падала, чтоб ее за день раз пять перезапускать приходилось.

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


      1. Magnetic_Air
        09.09.2016 02:04

        Но если это время они сидели на работе, то за это время в итоге заплатят именно деньги за указанное время.

        Речь идёт, всё таки, не о деньгах, «убитых программистом Джоном», а о времени…


        1. Am0ralist
          09.09.2016 12:38

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


  1. laughman
    08.09.2016 12:53
    -2

    Автор молодец

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


  1. Ripoder
    08.09.2016 12:53
    +6

    Очень зацепила агрессивность автора (далее Джонни). По этому отпишу
    1. Джони, скольких людей ты убыл, опубликовав эту статью?
    Если анализировать мир с подобным подходом, то получится следующее:
    каждый день на тебя смотрят люди и тратят свое время. Пусть будет 50 человек по 30 секунд (условно, начиная с 20ти летнего возраста).
    Получается 1500 секунд в день. Пусть, условно, это будет продолжаться еще 30 лет. Получаем 4562 часа, делим на 16 (кстати, ты спишь по 8 часов, Джонни, тебе повезло). Итого, Джонни, ты потратил 285 человеко-дней. Скольких ты убил?

    Каждый день ты тормозишь других людей, глобализацию никто не отменял. Скольких ты убил?
    А сколько времени потратила на тебя твоя мама? Ты убиваешь свою маму! Подумай об этом, Джонни.

    С такой логикой рассуждений — мы убиваем жизнь вокруг нас, которая в свою очередь убивает нас. Спасибо кеп. Действительно отличная жизненная позициция. Следующий раз когда тебя будут медленно обслуживать в Маке скажи менеджеру, что они тебя убивают (я буду смеяться вместе с ними)

    2.

    Ну извини, 5 лет в геймдеве, сейчас по компьютерному зрению — не профессионал.

    Извени, но когда я вижу подобное, мне хочется в очередной раз блевануть (первый раз — во время прочтения коментов, в первую очередь твоих). Нифига себе у тебя мнение о себе. 5 лет опыта уже проффесионал? В плюсах? Пройдя через гейм дев?
    Как правило профессиналы так не кичаться. И уж точно не лажают, обсырая определенные подходы и выкладывая файл который содержит подходы которые они обсырают. Согласись, Джонни, звучит глупо

    Геймдев геймдеву рознь. И багов там очень много. И можно 5 лет фиксить баги и словить звезду. 5 лет опыта -теперь я бог, синьйор и могу все обсырать как захочу. А все остальные ничего не понимают.
    5 лет в геймдеве тоже ни о чем не говорит. Потому что есть очень много сфер и технологий, которые геймдев не затрагивает. Так что извольте не претендовать на истинность с 5тью годами в геймдеве.

    Комьютерное зрение… пойми, Джони, это словосочетание никого уже не пугает лет 5.
    И снова таки, компьютерное зрение компьютерному зрению рознь. Прикручивать openCv к апликушке на андроиде и разрабатывать алгоритмы дополненой реальности это две разные вещи. Первое не впечатляет, а второе не претендует на определяющую часть девелоперской темы.

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

    P.s.
    Ни в коем случае не хотел обидеть людей занимающихся геймдевом и комп. зрением. Плюсую всем, каждому свое.
    Просто Джонни зацепил своим профессионализмом.


    1. gugura
      08.09.2016 23:21
      -2

      «Извени»

      Картина маслом.


      1. Ripoder
        09.09.2016 09:41
        +1

        Бывает, не бери близко к сердцу


  1. lpre
    08.09.2016 12:58
    +4

    А затем я упростил эту функцию, без ущерба ликвидировав дублирование: split

    Вы в курсе, что ваша функция не всегда работает правильно (==«убивает»)?

    Объявление функции допускает использование произвольной строки в качестве delimiters:
    void split(const string& s, std::vector<string>& result, const string& delimiters = " ");

    Например, если я сделаю вызов:
    split("aSaSSaSSSa", result, "SS")
    то результат будет:
    "a", "a", "a", "a"
    вместо ожидаемого:
    "aSa", "a", "Sa"

    Если выложил в интернет — удали.
    Если удалил — сделал добро людям.

    Сделайте доброе дело: удалите ваш код из этой сатьи, пока кто-либо его не скопировал.
    Или хотя бы поправьте и протестируйте перед выкладыванием (да еще с претензией «у меня лучше, чем в Boost»).


    1. bopoh13
      08.09.2016 15:50

      Глубоко копнули. Не поспоришь!


    1. MacIn
      08.09.2016 16:55

      В принципе, произвольная строка может задавать набор разделителей. т.е. «AB» — не разделитель AB, а разделители «A» и «B».
      В случае с SS как цельным разделителем в части aSSSa возикает неоднозначность: разбиения «a», «Sa» и «aS», «a» — верные, если у нас нет дополнительных ограничений.


      1. lpre
        08.09.2016 17:39
        +1

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

        В любом случае, очевидно нарушение автором своих же правил:

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


  1. Sild
    08.09.2016 13:14
    +1

    int i;
    char c;
    byte b;
    string s;
    vector v;
    pointer p;
    argument a1;


    Вы там что курили?


    1. iqiaqqivik
      08.09.2016 13:38
      +2

      Да, вот я тоже, кстати, сразу же заметил; должно же быть консистентно:

      argument a;
      


      :)


  1. TimsTims
    08.09.2016 13:47
    +4

    > Средний мужчина живет 64 года, значит Джон убил примерно 6 целых 68 сотых человека.
    Продолжим логику в том же духе: Джон своим кодом ускорил выполнение кода на 15 минут. Значит Джон родил* примерно 6 целых 68 сотых человека. Поздравляем Джона! Теперь он многодетный отец и мать в одном лице! Если каждый так сделает, то население Земли увеличится на 600 млн человек, а количество многодетных отцов станет 25% Земли!

    *родил — по аналогии, ведь в статье говорится «убил»

    /sarcasm off: просто в статье приводится неверное сравнение, про сохранение времени людей. Сохранив 15минут людям, этот человек не прожил бы дольше, а скорее всего просто занялся бы другим простым делом — включил телевизор, налил чаю или выпил пива, посмотрел котиков итд. Но уж точно не логично говорить про *убил* столько-то людей, ведь в моём пример выше — сохранив им это время, людей больше бы не родилось.


    1. Am0ralist
      08.09.2016 14:00
      +1

      более верным антонимом в данной аналогии был бы: воскресил)

      Так что можно вводить ачивки от плохого к хорошему для разработчиков:
      массовый разработчик
      серийный разработчик
      индивидуальный разработчик
      милосердный разработчик
      святой разработчик
      БОГ!


      1. lpre
        08.09.2016 14:11

        если уж есть БОГ с одной стороны, то должен быть кто-то с другой? :-)


        1. Am0ralist
          08.09.2016 14:18

          Я все же думал, что хватит и разработчика массового поражения.
          Но если так, то, вспоминая библию в плане массовых зачисток…
          Предлагаю, как в математике с ± ?.


      1. TimsTims
        08.09.2016 14:19
        +3

        «Плохой код убивает, хороший код воскрешает»?
        Отличное название под следующую подобную статью!


        1. taujavarob
          08.09.2016 17:22

          Самый страшный грех — это гордыня!


  1. Sirikid
    09.09.2016 04:24
    +1

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


    1. zagayevskiy
      09.09.2016 08:22

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


    1. iqiaqqivik
      09.09.2016 08:53

      А чем хабр так уж прямо отличается от какого-нибудь reddit’а? Элитарностью?


      1. Sirikid
        09.09.2016 18:40

        Хз, я не знаю как на реддите карма работает, здесь такие товарищи обычно в минусе сидят


  1. punkkk
    09.09.2016 12:52

    Историю про Джона уже видел в соц сетях и считаю логику про убийство людей крайне дефективной. Особенно не нравится идея распространения этой, простите за выражение, туфты, и построение на ней каких-то умозаключений и производство выводов.


  1. punkkk
    09.09.2016 12:56

    По теме:
    Крайне не согласен с

    int i;
    char c;
    byte b;
    string s;
    vector v;
    pointer p;
    argument a1;

    Короткие имена ужасны! Читаемость кода обычно снижается, так как некоторые сокращают по принципу: «ну, я же понимаю».


  1. Dudraug
    12.09.2016 12:07

    Возьми в проект огромный boost, занимающий несколько гигабайт места на SSD диске

    ну во-первых про несколько гб это сильное преувеличение. Ыо-вторых велосипедостроение это плохо, а ведь действительно написал один костыл — избежал буста, в след. раз: «А вроде буст и не нужен же сейчас, двайте еще велосипед запилим» и так много раз — код сложнее и костыльнее. В-третьих открой для себя уже bcp. В-четвертых regex — часть stl уже давно.


  1. Dudraug
    12.09.2016 12:13

    int i;
    char c;
    byte b;
    string s;
    vector v;
    pointer p;
    argument a1;


    Как-то я работал над таким проектом, где у объектов были такие именна в функции с парочкой вложенных циклов и ифов. Структура кода не сказать, что была бы сложная, но когда доходишь глазами до нижнего уровня уже забываешь что таакое «i», приходиться возвращаться в начало, а там забываешь откуда ты перешел. Внятное имя решило бы эту проблему.


  1. Killarium
    14.09.2016 12:01

    А нужно лишь придерживаться следовать Codestyle для языка на котором вы пишете.