Pull to refresh
96
0
Огюст Дюпен @Nulldevice

User

Send message
… Но все же одно но. Маленькая фирма и большая фирма живут по разным законам. Болеют разными болезнями развития. К ним одинаковые методы мотивации не применимы. Вот та политика доверительных взаимоотношений, которую вы описали, применима только к маленькой фирме, где каждый — ключевая фигура. Поэтому маленькие фирмы эффективнее крупных. А в крупной фирме начинают действовать другие процессы. Даже из Гугла, который, наверное, можно считать эталоном доброй воли, и то уходят ключевые люди.
Отличный комментарий про настроение :) Прям родственная душа! :) В карму плюс и в личку приглашение дружить.
Не соглашусь. Допустим, нужно мне к конфигурации 1С прикрутить модуль сканирования ярлыков образцов в торговом зале беспроводным сканером. (Заминусуют сейчас за 1С, ну да Бог с ним!). Так вот, прихожу в одну контору на переговоры — вся комната сидит в чем-то веселом, типа баш.орг, лента.ру, суперджоб.ру :) и так далее. Прихожу в другую — тоже часть людей сидит в инете, но значительно меньшая, и сайты какие-то более тематические — конференция партнеров, сиквел.ру, айдиси.ком, и пр. Счет на оплату моей доработки мне выставят в человеко-часах. То есть за чтение кем-то баш.орг я получается заплачу — а зачем мне это, извините, надо?
Согласен — вообще это форменная глупость, не давать работнику информационной сферы доступ в эту самую информационную сферу.
Извольте. Он, разумеется, содержит допущения. Статистика вообще может данные повернуть и так и этак.
Был составлен и занесен в базу данных 1 миллион случайных ситуаций, которые характеризовались парой (сколько_времени_читал, сколько_времени_заметили)
Ситуация составлялась следующим образом — два массива Programmer[480] и Manager[480], где 480 — это количество минут за 8 часов работы. Изначально массивы пустые, случайным числом от 0 до 480 выбирается, сколько времени читал программист и случайным образом разбрасывается в массив. Случайным образом разбрасываются в массив 10 проходов менеджера. Считается сумма пересечений, когда Programmer[i] > 0 и Manager[i] > 0. Полученная ситуация заносится в базу данных.
Ситуации анализировались так. Для каждого числа «поимок» отбирался такой порог по времени, чтобы в 99% полученных ситуаций программист читал дольше, чем этот порог. График готов.
Может-может, я тоже думал как вы до своего численного эксперимента, но оно именно так, как нарисовано. Объяснение эксперимента напишу ниже.
Тут вижу две проблемы.

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

2) допустим есть список запросов страниц — а как из него понять, сколько времени я провел за их чтением?
Впервые опубликовал в локальной сети МГТУ им. Баумана, как часть сборника "Легенды 10 общежития" для собственного удовольствия и удовольствия своих друзей как набор баек о том, что произошло со мной и людьми вокруг меня за годы учебы. Вообще я не очень тогда хотел, чтобы сие утекло в сеть, но кто-то из моих соседей все-таки опубликовл это на комбатс ру, в чем можно убедиться яндексом. Хм, а гугл даже и не видит...
(1) C++ может и так(NULL) и так(исключение). Например, в микрософтовской реализации это переключается функцией _set_new_mode(int mode).

(2) Да, я тоже себе так и представил, что посылка ассинхронного сообщения - это и есть транзакция. Проблема в другом. Представим, что я - процесс Эрланг. И я хочу зарезервировать место в самолете. Тогда я пишу письма всем (ВСЕМ!) другим процессам: "Дорогие братья и сестры. Я хочу зарезервировать место 345. С получением этого письма, 1) прекратите попытки резервировать место 345. 2) немедленно сообщите мне подтверждение получения письма, потому что если ХОТЯ БЫ ОДИН из вас это не сделает, я не смогу его зарезервировать.

(3) Я вам расскажу как работают РИБ на практике. Мои коллеги немцы пишут мне "Спецификация с которой ты должен работать, уже давно лежит в базе данных. Мы положили ее туда 45 минут назад!". Я уныло нажимаю "обновить". У меня нет спецификации. Где ж она ? Она "едет" на наш узел, и только злодей-админ что-то бормочет про ширину канала обмена. Как это поется "доктор едет-едет сквозь снежную равнину". Узкое место РИБ - обмен данными. Это где-то выше тоже обсуждалось.
(1-2) С - не подмножество C++, так как в С++ неудачные операции выделения памяти вызывают исключение, а не возвращение NULL в указателе (хотя бы поэтому) Если не полиморфизм - то зачем использовать С++ ? ну разве чтобы вместо писать или чтобы декларации переменных можно было делать внутри функции...
(3) Быстрее здесь в узком смысле - программа быстрее, если она закончила равную работу за меньшее количество времени (например, сгенерировала быстрее контнект для отправки удаленному пользователю) Либо
за равное время сделал больше работы (сгенерировала контенты большему количеству удаленных пользователей)
(4) Разные виды языков для эволюции - это просто замечательно. Обратимся от войны к созиданию. Игра в пинг-понг - это хорошо, но есть практический вопрос, который уже частично обсуждался тут - представим есть касса продажи авиабилетов. Пользователи их покупают, указывая в формах номер места, на котором они предпочитали бы лететь. Компьютер в первую очередь должен попробовать продать пользователю именно то место, которое тот попросил, иначе предложить другое. Пользователи хотели бы посмотреть место, зарезервированное компьютером, прежде чем купить. Как это реализовать, используя ассинхронные сообщения и не имея общей памяти - какой шаблон программирования для этого использовать ? Умышленно избегал слов "блокировка таблицы на чтение, блокировка таблицы на запись" - наверное, в функциональных языках своя терминология ?
А давайте сразимся ? Си против Эрланга. Скажем, на примене задачи поиска простых чисел методом решета Эратосфена. Простая задачка. И в ней есть место параллелизму. Например, на 4х-ядерном Intel. Принимаете ?
(1) Си быстрее БЕЗапелляционно. Как разработчик ПО для промышленных контроллеров, это гарантирую. Код на Си практически линейно пропорционален коду на ассемблере по размеру. Код на С++ медленнее по очень простой причине - полиморфизм требует во время исполнения контекстного выбора вызываемой подпрограммы, поскольку сделать этот выбор на этапе компилирования невозможно. Поэтому каждый вызов полиморфного метода - это маленькая задержка.

(2) Си-не объектный язык. Читаем в хотя бы в википедии: "C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie"

(3) вот и отлично что ортогональны, и согласен что ортогональны! Но это как раз и означает, что функциональные языки не придут на смену объектно-ориентированным - у каждого свое назначение. "Мамы разные нужны - мамы разные важны". Функциональным языкам лет не меньше, чем ООП. Еще лет 10 назад я купил книгу про Пролог и программы на нем писал, потому что говорили, что вот, сейчас Lisp и Prolog всех вытеснят, и до искуственного интеллекта рукой подать. Теперь стали говорить, что еще надо 50 лет.

(4) если обратиться к субъективному идеализму, то миф - вообще все, в том числе сам Армстронг. Никто не докажет, что он (Армстронг) существует объективно.
У меня была такая проблема. Решал так вставлял вокруг изменяемых частей уникальные идентификаторы (guid):

<!-- Ldfcpn8Vop6xCJr2wNWi --&gt

...
CHANGED PART HERE
...

<!-- Ldfcpn8Vop6xCJr2wNWi --&gt

guid позволяют однозначно сопоставить старую и новую версию страницы.
...А я все равно за старое ! Расскажу, как я бы это улаживал с контент-райтерами. Я как раз совмещаю часть обязанностей менеджера проекта. Я бы пришел к нему и сказал - слушай, ты отличный парень, как и я. Пойдем выпьем отличного (вписать правильное, но в моем случае натурального кофе с кунжутом и шоколадом). Мы пишем с стобой отличный сайт, и он станет еще лучше, если ты будешь писать свой отличный контент не сразу на наш отличный сайт, а сначала в наш отличный репозиторий....
Все-таки не понятно, почему вы считаете, что функциональные языки - это то, что придет на смену объектно ориентированным. Потому что появится 80-ядерные процессоры и на таких языках будет быстрее считать ? Если бы все определяла скорость приложения, то в эпоху 1-процессорных ЭВМ все бы писали на ассемблере. А ведь не пишут даже на С, который значительно быстрее С++. Премущество ООП в простоте создания и сопровождения бизнес-приложений. Разработчики создают абстрактные объекты, которые выполняют "физические" действия. Например, объект расходный кассовый ордер создать, заполнить, сохранить, распечатать. Важно то, что архитектуру можно расписать, не думая пока о том, как это будет делаться. Вообще я заметил, что многие высококлассные web-разработчики в силу своей специфики не совсем понимают, в чем суть ООП. Дадите кармы - обещаю написать хабратопик, что дает объектно-ориентированный подход, например в PHP :)
Мне показалось, что вопрос звучит следующим образом: "У нас нет организованного процесса разработки и каждый делает,что хочет. Но как сделать так, чтобы при этом у нас все было хорошо ?" IMXO никакой SVN, когда так ведут разработку, не поможет. Есть разработчики, есть процессы, есть инструменты, и нельзя пытаться подменить одно другим. Насколько я понял, кто-то меняет скрипты, за которые отвечает ваша команда. Нужно добиться, чтобы этого без согласования с вами не делали. Не все в жизни решается программами - иногда надо пойти наорать на оппонентов. Да, это неприятно, но иногда необходимо. Если у вас есть PM, поручите это ему - это как раз его работа.
12 ...
17

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity