Если вдруг все резко перестанут качать сериалы, но чиновники при этом не перестанут пилить и брать взятки (а с чего бы им перестать, между сериалами и распилами связи никакой), оставаясь все также безнаказанными — вам не кажется, что одна из сторон в этом случае будет выглядеть, мягко говоря, «лохом»?
Если мне гарантируют, что перестанут брать взятки и пилить, после того как я стану использовать только платный лицензионный контент — обещаю, я так и сделаю. Где бы только найти того, кто гарантирует )
Тем не менее, эти конкретные лица (обычно юр. лица), существуют не сами по себе в вакууме, а внутри и в рамках экономики страны местонахождения. И все что происходит в этой экономике (а также в экономике других стран, входящих в рынок сбыта продукции) — налоги, ВВП, рынок труда, размер и состав потребительской корзины — влияет косвенно на благосостояние этих лиц.
Все взаимосвязано (сказал пробегающий мимо Капитан Очевидность)
Весьма вероятно, что этот «чужой счет» он вернет обратно в экономику стран-производителей софта, когда начнет свои навыки продавать за бугор (через фриланс и аутсорсинг) по демпинговым ценам, если сравнивать со специалистами из развитых стран.
Собственно, яркий пример — Индия и Китай )
Я примерно понимаю ход ваших мыслей для построения аналогии, но если вы хотите ответа на вопрос, почему конкретно я не ворую хлеб в магазинах, в буквальном смысле — я врят ли смогу что-то вразумительное ответить, т.к. это где-то на уровне подсознания. Но попробую:
Во-первых, потому что в магазин я обычно езжу раз в неделю с женой и покупаю сразу полную тележку продуктов. Тележку целиком воровать весьма неудобно, учитывая наличие в магазине всего пары выходов, и на каждом выходе по охраннику :)
Во-вторых, да, у меня есть четкое осознание, что когда я забираю эту тележку продуктов у магазина, то у магазина эти продукты перестают быть. Если копать глубже, то я понимаю, что у каждого продукта есть довольно весомая часть себестоимости, т.е. он стоит каких-то материальных ресурсов даже вне зависимости от типа экономики, чисто физически. Каждая единица продукта, каждый батон хлеба — стоит.
С фильмом, который, например, уже собрал пару своих бюджетов (причем частенько и мои деньги там есть, т.е. в кино я его уже смотрел), и создатели которого не тратят ни копейки на создание конкретно той копии, которую я качаю — у меня не возникает таких мыслей.
А касательно первого пункта — я считаю, что само по себе ограничение законом того, что сделать «легко», но «запрещено», не работает. Если сейчас открыть все двери всех магазинов, убрать всех продавцов и охранников, но оставить закон о краже, то я убежден, что красть станут чаще.
Наказывать — это конечно «здорово», но желательно (и лучше для всего общества) не наказывать, а предотвращать, не создавать соблазна и возможности, либо делая кражу невыгодной. Иначе половина населения будет сидеть в тюрьме, а другая половина — ее кормить и охранять. Именно поэтому, несмотря на наличие вполне конкретных законов, везде замки, турникеты и охранники (это я про материальные товары сейчас).
Если по существу — в данный момент неправ никто. Ни «копирасты», ни «пираты». И те и другие перегибают палку, причем очень сильно, т.к. не существует в данный момент модели, позволяющей им сосуществовать. И если просто победит кто-то один один, неважно кто — будет плохо. Истина где-то посередине. И эту середину нужно искать и создавать, а не выяснять кто прав прямо здесь и сейчас.
Не надоело уже сравнивать материальные и нематериальные ресурсы? Уже который раз вижу подобные комментарии.
На скачивание mp3 или ролика я трачу свой, оплаченный, интернет, и свое, оплаченное, электричество. Неоднократно уже обсуждались модели, когда из этих оплаченных ресурсов можно брать часть на гонорары авторам, сообразно кол-ву и объему скачиваемого.
А вы предлагаете чтобы магазин закупил один батон, а потом предлагал всем желающим рецепт батона по цене его самого, чтобы покупатели могли по рецепту, с использованием своей муки, воды и соли испечь точно такой же (как вот тут рядом в комментах писали). Так что ли?
программирование (и программист) — это чрезмерно размытые термины, в этом проблема.
архитектор сложного приложения или бд — программист, разработчик софта для микроконтроллеров — программист, веб-мастер Вася, сделавший один сайт «Омские шарниры» — тоже программист.
John Resig — программист, и тот, кто «затачивает» 1С для очередного магазина в сотый раз — программист.
по существу — есть должности, которые называются «программист», где творчество практически противопоказано. есть много должностей, где это не так. иногда даже с точностью до наоборот.
«А теперь посмотрим на то, что будет если все ведущие с проекта уйдут.
В этом случае есть 3-4 человека + ПМ работающие над проектом и которые в курсе всего на проекте. Из них 1-2 разработчика осилят и сложную задачу, над которой работал ведущий»
Если 1-2 «обычных» разработчика могут выполнить ту же задачу, что и «ведущий», в сравнимые сроки и с необходимым качеством — то они по факту точно такие же «ведущие», как и тот кто ушел, т.е. обладают примерно те же уровнем компетенции.
Как я понял, в треде идет речь о довольно распространенном случае, когда уровень нескольких главных разработчиков превышает уровень прочих в разы, и другие в принципе не способны выполнить их работу качественно, разве что «квадратно-гнездовым» способом.
Толстые бюджеты компании далеко не всегда связаны с успешностью ее босса/владельца в управлении конкретно этой компанией. Весьма возможно, что это вообще не основной бизнес, и владелец его держит «на вырост» или «попробовать».
foreach ($arr as $key => $value) {...} быстрее, чем reset ($arr); while (list($key, $value) = each ($arr)) {...} для ассоциативных массивов
с экономией 0.00.....1 секунды все понятно, вопрос в другом (немного не по теме):
а что вообще движет людьми, которые до сих пор пишут второй вариант (с reset-while и т.п.)? Встречал таких несколько раз, и не так давно. Это ведь тупо больше кода (и больше языковых конструкций) при аналогичном результате. Привычка из бородатых времен или оплата за кол-во символов? :)
Не совсем понял связь последних двух предложений.
Незаконная пред. деятельность — не только из-за уклонения от налогов может быть, причин разных — куча.
А насчет платить меньше по УСН — обычно те, кто действительно собирается регулярно платить налоги, как раз и делают ИП и платят 6%. А те кто не собирается — 0% всяко меньше 6%, до поры до времени :)
Чтобы систематически несколько лет заниматься пред. деятельностью, быть при этом просто физ.лицом (не ИП), и при этом еще и налог 13% аккуратно платить — надо быть порядочным мазохистом.
1. Любой объект имеет ссылку на объект-прототип (в редких случаях эта ссылка может указывать на null).
2. При доступе к свойству объекта на чтение или на вызов (для методов), если оно не найдено в самом объекте, то ищется в объекте-прототипе, и далее по цепочке.
3. Функция — тоже объект. Числа и строки не являются объектами, но конвертируются в них автоматически в момент вызова методов ('test'.charAt(0) == new String('test').charAt(0))
4. Любой объект явно или неявно создается с помощью конструкции new и функции-конструктора ([1,2,3] == new Array(1,2,3))
5. Любая функция имеет свойство prototype, которое как раз и содержит ссылку на объект, используемый в качестве прототипа при создании новых объектов (см. пункт 4). Таким образом — любая функция является конструктором.
6. Object, Function, Array, RegExp, String, Number и т.д. — это функции.
7. У любого объекта в начале цепочки прототипов стоит Object.prototype (кроме случаев когда у объекта вообще нет прототипа). У самого Object.prototype ссылка на объект-прототип равна null.
Это основные тезисы. Предполагается, что если это понятно, то все остальное вообще вопросов не вызывает, либо можно разобраться самостоятельно.
Можно еще разжевать что любая функция как объект имеет в качестве прототипа Function.prototype, но это и так понятно исходя из пунктов 4 и 6.
P.S. К сожалению, в спецификации JS нет названия для свойства объекта, которое ссылается на прототип (__proto__ в некоторых реализациях), и приходится так и писать — «ссылка на прототип», да еще и начинающим легко спутать со свойством prototype, которая есть у функции. Если бы не эта проблема с терминологией, можно было бы более кратко и емко формулировать мысль.
Такие схемы наверное рисовали многие в процессе изучения JS. Я тоже рисовал :)
Но это все примерно то же самое что для функции f=x/2 чертить табличку значений (x=2, y=1; x=3, y=1.5; ...) Проще говоря — перечислять частные случаи. Намного проще понять саму функцию, чем изучать табличку.
Прототипное наследование JS описывается буквально 3-4 фразами (ну может 5-6), включая даже описание наследования от встроенных конструкторов (Object, Function, Array и т.д.). И не надо никаких стрелочек )
к черту видеоряд, дайте ту нарезку, которая идет с 1:18 по 1:25 в ролике (белый медведь, ПРЕВЕД и отжигающие чуваки в белых халатах), только чтобы минут 10 продолжалась
сейчас всего 7 секунд, а заряд позитива чудовищный :)
Вот это кстати передергивание. Да, сейчас электроэненергия добывается большей частью из угля/нефти и т.д., но это можно изменить, хотя бы теоретически — атомную энергетику и общее развитие науки никто не отменял.
А вот двигатель внутренного сгорания — он уже по определению требует горючих жидких (или газообразных) веществ, и от этого не избавиться никак.
Главное, что мне в нем нравится — почти все задания представляют собой нормальный, вполне практичный код
А вы не могли бы перечислить номера вопросов, код в которых вы считаете «нормальным и вполне практичным»?
Т.е. таким, который действительно можно встретить в реальной жизни, и которые выполняет более-менее реальные задачи.
Я например могу назвать 2 и 7, и то лишь с некоторой натяжкой.
Чтобы знать ответы на эти вопросы, совсем не обязательно быть гуру Javascript. Достаточно прочитать пару подобных статей, которые появляются довольно часто, в том числе и на Хабре, и содержат процентов на 80 одни и те же примеры.
Если мне гарантируют, что перестанут брать взятки и пилить, после того как я стану использовать только платный лицензионный контент — обещаю, я так и сделаю. Где бы только найти того, кто гарантирует )
Все взаимосвязано (сказал пробегающий мимо Капитан Очевидность)
Собственно, яркий пример — Индия и Китай )
Во-первых, потому что в магазин я обычно езжу раз в неделю с женой и покупаю сразу полную тележку продуктов. Тележку целиком воровать весьма неудобно, учитывая наличие в магазине всего пары выходов, и на каждом выходе по охраннику :)
Во-вторых, да, у меня есть четкое осознание, что когда я забираю эту тележку продуктов у магазина, то у магазина эти продукты перестают быть. Если копать глубже, то я понимаю, что у каждого продукта есть довольно весомая часть себестоимости, т.е. он стоит каких-то материальных ресурсов даже вне зависимости от типа экономики, чисто физически. Каждая единица продукта, каждый батон хлеба — стоит.
С фильмом, который, например, уже собрал пару своих бюджетов (причем частенько и мои деньги там есть, т.е. в кино я его уже смотрел), и создатели которого не тратят ни копейки на создание конкретно той копии, которую я качаю — у меня не возникает таких мыслей.
А касательно первого пункта — я считаю, что само по себе ограничение законом того, что сделать «легко», но «запрещено», не работает. Если сейчас открыть все двери всех магазинов, убрать всех продавцов и охранников, но оставить закон о краже, то я убежден, что красть станут чаще.
Наказывать — это конечно «здорово», но желательно (и лучше для всего общества) не наказывать, а предотвращать, не создавать соблазна и возможности, либо делая кражу невыгодной. Иначе половина населения будет сидеть в тюрьме, а другая половина — ее кормить и охранять. Именно поэтому, несмотря на наличие вполне конкретных законов, везде замки, турникеты и охранники (это я про материальные товары сейчас).
Если по существу — в данный момент неправ никто. Ни «копирасты», ни «пираты». И те и другие перегибают палку, причем очень сильно, т.к. не существует в данный момент модели, позволяющей им сосуществовать. И если просто победит кто-то один один, неважно кто — будет плохо. Истина где-то посередине. И эту середину нужно искать и создавать, а не выяснять кто прав прямо здесь и сейчас.
На скачивание mp3 или ролика я трачу свой, оплаченный, интернет, и свое, оплаченное, электричество. Неоднократно уже обсуждались модели, когда из этих оплаченных ресурсов можно брать часть на гонорары авторам, сообразно кол-ву и объему скачиваемого.
А вы предлагаете чтобы магазин закупил один батон, а потом предлагал всем желающим рецепт батона по цене его самого, чтобы покупатели могли по рецепту, с использованием своей муки, воды и соли испечь точно такой же (как вот тут рядом в комментах писали). Так что ли?
архитектор сложного приложения или бд — программист, разработчик софта для микроконтроллеров — программист, веб-мастер Вася, сделавший один сайт «Омские шарниры» — тоже программист.
John Resig — программист, и тот, кто «затачивает» 1С для очередного магазина в сотый раз — программист.
по существу — есть должности, которые называются «программист», где творчество практически противопоказано. есть много должностей, где это не так. иногда даже с точностью до наоборот.
«А теперь посмотрим на то, что будет если все ведущие с проекта уйдут.
В этом случае есть 3-4 человека + ПМ работающие над проектом и которые в курсе всего на проекте. Из них 1-2 разработчика осилят и сложную задачу, над которой работал ведущий»
Если 1-2 «обычных» разработчика могут выполнить ту же задачу, что и «ведущий», в сравнимые сроки и с необходимым качеством — то они по факту точно такие же «ведущие», как и тот кто ушел, т.е. обладают примерно те же уровнем компетенции.
Как я понял, в треде идет речь о довольно распространенном случае, когда уровень нескольких главных разработчиков превышает уровень прочих в разы, и другие в принципе не способны выполнить их работу качественно, разве что «квадратно-гнездовым» способом.
а что вообще движет людьми, которые до сих пор пишут второй вариант (с reset-while и т.п.)? Встречал таких несколько раз, и не так давно. Это ведь тупо больше кода (и больше языковых конструкций) при аналогичном результате. Привычка из бородатых времен или оплата за кол-во символов? :)
Незаконная пред. деятельность — не только из-за уклонения от налогов может быть, причин разных — куча.
А насчет платить меньше по УСН — обычно те, кто действительно собирается регулярно платить налоги, как раз и делают ИП и платят 6%. А те кто не собирается — 0% всяко меньше 6%, до поры до времени :)
Чтобы систематически несколько лет заниматься пред. деятельностью, быть при этом просто физ.лицом (не ИП), и при этом еще и налог 13% аккуратно платить — надо быть порядочным мазохистом.
а то непонятно, ИП и не юр. лицо, и не физ.лицо в обывательском понимании (13% налог и т.п.)
1. Любой объект имеет ссылку на объект-прототип (в редких случаях эта ссылка может указывать на null).
2. При доступе к свойству объекта на чтение или на вызов (для методов), если оно не найдено в самом объекте, то ищется в объекте-прототипе, и далее по цепочке.
3. Функция — тоже объект. Числа и строки не являются объектами, но конвертируются в них автоматически в момент вызова методов ('test'.charAt(0) == new String('test').charAt(0))
4. Любой объект явно или неявно создается с помощью конструкции new и функции-конструктора ([1,2,3] == new Array(1,2,3))
5. Любая функция имеет свойство prototype, которое как раз и содержит ссылку на объект, используемый в качестве прототипа при создании новых объектов (см. пункт 4). Таким образом — любая функция является конструктором.
6. Object, Function, Array, RegExp, String, Number и т.д. — это функции.
7. У любого объекта в начале цепочки прототипов стоит Object.prototype (кроме случаев когда у объекта вообще нет прототипа). У самого Object.prototype ссылка на объект-прототип равна null.
Это основные тезисы. Предполагается, что если это понятно, то все остальное вообще вопросов не вызывает, либо можно разобраться самостоятельно.
Можно еще разжевать что любая функция как объект имеет в качестве прототипа Function.prototype, но это и так понятно исходя из пунктов 4 и 6.
P.S. К сожалению, в спецификации JS нет названия для свойства объекта, которое ссылается на прототип (__proto__ в некоторых реализациях), и приходится так и писать — «ссылка на прототип», да еще и начинающим легко спутать со свойством prototype, которая есть у функции. Если бы не эта проблема с терминологией, можно было бы более кратко и емко формулировать мысль.
Но это все примерно то же самое что для функции f=x/2 чертить табличку значений (x=2, y=1; x=3, y=1.5; ...) Проще говоря — перечислять частные случаи. Намного проще понять саму функцию, чем изучать табличку.
Прототипное наследование JS описывается буквально 3-4 фразами (ну может 5-6), включая даже описание наследования от встроенных конструкторов (Object, Function, Array и т.д.). И не надо никаких стрелочек )
Я бы почитал, кроме шуток.
сейчас всего 7 секунд, а заряд позитива чудовищный :)
А вот двигатель внутренного сгорания — он уже по определению требует горючих жидких (или газообразных) веществ, и от этого не избавиться никак.
Поэтому за электромобилями — будущее.
Да, но это как раз такая ошибка, которая может возникнуть в реальной жизни (по невнимательности например, или при копипасте).
var x = [typeof x, typeof y][1];
typeof typeof x;
(function(x){
delete x;
return x;
})(1);
А вот кому и для чего может понадобиться городить подобные конструкции — для меня загадка :)
Понимание всех перечисленных вами вещей не дает повода ни к написанию подобного кода, ни к желанию разбираться в нем в чужой программе.
Как тест на знание языка эти примеры возможно и подходят, но не стоит называть их «нормальным и практичным» кодом.
А вы не могли бы перечислить номера вопросов, код в которых вы считаете «нормальным и вполне практичным»?
Т.е. таким, который действительно можно встретить в реальной жизни, и которые выполняет более-менее реальные задачи.
Я например могу назвать 2 и 7, и то лишь с некоторой натяжкой.