Обновить
4
0
Руслан@cheremin

Пользователь

Отправить сообщение
А с чего вы решили, что обезьяны не задумываются о своей судьбе? И альтернативный вопрос: а с чего вы решили, что люди действительно задумываются о своей судьбе, а не просто тасуют в своей голове несколько чужих мыслей "о своей судьбе"?
Простите, но вы "стали придерживаться" этой мысли потому, что у вас есть рабочая модель работы мозга, основанная на принципах квантовой механики, позволяющая объяснить феномены, не имеющие объяснения иным способом? Или просто работа мозга для вас — мистика, и квантовая механика — мистика, и на основании этой очевидной схожести ваш мозг решил, что они просто обязаны быть связанными?

Это не только подколка для вас лично, это еще и наглядный пример того, что большинство "загадок феномена сознания" возникают просто от того, что кто-то однажды увидел в этом загадку, а 100500 человек после него тупо цитируют его слова, не попытавшись в них разобраться. Именно так примитивно и работает мозг, и ничего супер загадочного в такой его работе нет.
Послушать, Володя, просто послушать )
Увы, но нет. Зато придут люди из моей команды
Ну да, я сначала тоже с циклами начал экспериментировать. Но там слишком много вариантов получается — и чтобы их грокнуть, чтобы построить какую-то вменяемую модель, нужно было лезть в дизасм или исходники JVM. А мне лень — я хотел простое объяснение для конкретного примера. Потому что общая идея что ссылка живет не до завершения метода, а насколько JVM мозгов хватит — она давно известна, как раз из дискуссий по ранней финализации, на которую Алексей ссылается. И вопрос был лишь в том, чем два отличаются от трех. И — неожиданно — оказалось, что два отличаются от трех ровно на один.
Ну интересно же было разобраться! А потом уж что, сидеть на этом знании как Кащей над злате? ;)
Задача №2
Регулярка не учитывает контекст — например, применив ее сюда
String stringLiteral = " /* this is not a comment but a string literal */ ";

будем немного расстроены результатом.

P.S. Вместо пробела можно использовать unicode escape типа \uXXXX, например.
Не могу удержаться -- задача №4
Очевидно, что java переиспользует слоты переменных на стеке (в регистрах), когда можно понять, что переменная дальше по коду функции не используется. В обоих случаях аллоцированные массивы перестают быть нужными сразу после вычисления их длины для передачи в println() — поэтому, в идеале, в обоих случаях максимальное необходимое количество памяти не превышает размера одного массива. Почему в одном случае все-таки вылетает исключение?
Я могу предположить, что есть некоторое количество слотов на стеке, ниже которого нет смысла оптимизировать (тем более, что main вызывается лишь однажды, поэтому о реальной оптимизации C1/C2 речь, скорее всего, не идет — почти наверняка тут мы работаем в интерпретируемом режиме). Методом научного тыка можно обнаружить, что вот такой код
public static void main( final String[] args ) {
		{
			final byte[] bytes = new byte[SIZE];
			System.out.println( bytes.length );
		}

		final byte[] a = {}; // <=== !!!

		final byte[] bytes = new byte[SIZE];
		System.out.println( bytes.length );

		System.out.println( "I allocated memory successfully" );
	}

выполняется без ошибок. В то время, как вот такой
public static void main( final String[] args ) {
		final byte[] a = {};
		{
			final byte[] bytes = new byte[SIZE];
			System.out.println( bytes.length );
		}



		final byte[] bytes = new byte[SIZE];
		System.out.println( bytes.length );

		System.out.println( "I allocated memory successfully" );
	}

Падает с OOM.

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

P.S. Любопытно, что вот такой код
public static void main( final String[] args ) {
		{
			final byte[] bytes = new byte[SIZE];
			System.out.println( bytes.length );
		}                       
		int a = 0;   // <== constant

		final byte[] bytes = new byte[SIZE];
		System.out.println( bytes.length );

		System.out.println( "I allocated memory successfully" );
	}

Падает с OOM, но если заменить a= 0; на a=args.length — то выполняется успешно. Опять же, можно предположить, что константная переменная просто заменяется на свое значение, без реального размещения ее на стеке, а переменная с хоть сколь либо динамическим значением все-таки размещается — и вытесняет со стека размещенный там byte[]
А вы и предыдущий комментатор зачем-то уводите дискуссию в сторону и пытаетесь поведать, что искусство — это нечто большее, чем то, что мы обсуждаем

… и, кстати, насколько я понял вашего второго собеседника, он вам пытался сказать следующее: что да, социально-культурное восприятие произведений искусства и их создателей — очень сложная штука. Но специалисты все-таки могут разделить в творчестве, скажем, Малевича его талант как живописца, и его талант как (говоря современным языком) перформера/PRщика. То есть та крайняя субъективность искусства, на которую вы напираете — она существует лишь в сознании дилетантов (не в оскорбительном смысле, а просто в значении «не специалисты»), потому что дилетанты воспринимают произведение искусства _только_ как единое целое, и не способны расчленить его на художественную составляющую (которую можно сравнивать между разными авторами), и историко-социально-культурную составляющую — которую сравнивать уже гораздо сложнее.
Изначально разговор зашел о склонности, и о возможности проверки, влияют или не влияют на конкретно склонность (предрасположенность, талант) к рисованию какие-то врожденные факторы. А вы и предыдущий комментатор зачем-то уводите дискуссию в сторону и пытаетесь поведать, что искусство — это нечто большее, чем то, что мы обсуждаем


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

Искусство — не спорт, объективных методов оценки и сравнения нет, нет шкалы, нет единиц и инструментов измерения.


Я здесь вижу, что это как раз вы уводите дискуссию от исходной темы. Искусство субъективно, в этом его смысл. Но мастерство — более-менее объективно. В художественных вузах, как и в консерваториях, есть набор навыков, которым они обучают — вполне измеримый и оцениваемый. Конечно, элемент субъективности там есть, но в статье, на которую я ссылался, говорится (как я понял) не о том, что «до уровня Малевича один ученик дошел в 22 раза быстрее, чем другой», а о том, что какую-то сложную музыкальную композицию один научился играть в 22 раза быстрее, чем другой — и эта разница плюс-минус сохранялась на протяжении обучения. Возможно, это вызвано генетикой, возможно — особенностями личной истории, возможно — ошибками эксперимента. Но если вынести за скобки ошибку эксперимента, то обнаруженный эффект как раз говорит о том, что склонность/талант таки существует, и по величине весьма заметен. Генетический он, или нет — это остается вопросом, да.
Во-первых, давайте отделим мух от котлет: есть мастерство, а есть гениальность. Мастерство — это (в основном) про высокий уровень владения техникой — «как делать». Гениальность — это, в основном, про удачный выбор задачи — «что делать/зачем делать». Это, условно, две оси задающие пространство творчества. Они не вполне независимы, понятно (без достаточно хорошего владения предметной областью вам сложно будет как увидеть действительно важную, стоящую задачу, так и решить ее), но достаточно самостоятельны. И говоря про 10 000 часов мы говорим в первую очередь о мастерстве, а не о гениальности. В лучшем случае мы говорим о мастерстве как предпосылке гениальности, но не более.

И это несколько упрощает дальнейшие рассуждения. Потому что гениальность — вы правы — измерять и сравнивать нелегко. А вот мастерство вполне себе можно сравнивать. Владение техникой-то — чего ж не сравнить-то? Берете, скажем, нормы мастера спорта — вот вам и пример достаточно объективного измерения уровня мастерства. Первый разряд, кмс, мс, мсмк — хоть обсравнивайтесь. Места на конкурсах, положение в рейтинге Эло — достаточно критериев.

Вы, конечно, правы насчет того, что полное описание начальных условий для человека очень сложное. Но это вовсе не значит, что сравнивать людей с разной личной историей некорректно. Как раз таки наоборот — ваша постановка эксперимента была бы полностью бессмысленна, потому что какая область применимости у такого результата? Какие реальные предсказания он поможет делать? Вопросы, которые чаще всего стоят в реальности:
  • У нас есть 100 будущих учеников (школы, института, т.п.). и нам нужно распределить усилия преподавателей оптимальным образом. Имеет ли смысл определять «склонность» учеников к какому-то предмету _на момент начала занятий_ (и не важно, имеет ли эта склонность генетическое происхождение, или связана с особенностями личной истории), и фокусировать их на их же способностях, или имеет смысл учить всех одинаково?
  • Я — будущий студент. У меня явная склонность к математике и физике, но я знаю, что востребованы профессии юриста и экономиста. Что разумнее — прицеливаться стать _хорошим_ юристом/экономистом только за счет прилежания, или продолжать заниматься математикой и физикой с прицелом стать _выдающимся_ математиком/физиком?

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

Может быть, все же генетически закладываются некие физиологические параметры мозга (размер, количество нейронов, в конце концов), которые в дальнейшем просто определяют, насколько «умным и талантливым» в целом сможет быть человек, а не насколько круто он сможет рисовать?


Ответ на этот вопрос разумнее искать в неврлогии/нейрофизиологии — ведь примерные функции и гранулярность этих функций разных отделов головного мозга уже более-менее вырисовываются. Конечно, в мозгу нет специальной области ответственной за то, чтобы быть гениальным художником, точно так же как нет и специального модуля математических вычислений. Но в мозгу есть области распознавания образов, области зрительно-пространственного планирования, моторной координации, и т.п. Если у человека они чуть лучше развиты — за счет генетики, или за счет личной истории — его шансы быть хорошим художником выше. Или фотографом. Или дизайнером. Или критиком/историком искусства. Или вообще танцором-перформером. А может быть и математиком — за счет использования развитой зрительно-пространственной координации для выдающегося пространственного воображения :)
— Если вдруг вашу душу перфекциониста это не устроит, и вы будете настаивать на совсем-совсем чистом эксперименте — то я попрошу вас привести пример хоть одного совсем-совсем чистого эксперимента в нашей реальности. Такого эксперимента, где на измеряемую систему не влияет вообще ничего, кроме прямо исследуемого явления. Потому что, насколько мне известно, таких экспериментов не существует.
Насчет точности «проверено на себе и детях» вы, конечно, хорошо прошлись. Но при этом ваша вера в «реализовать невозможно» — она почти так же смешна. Зачем _знать_ изначальный «уровень одаренности», когда можно просто исследовать вариацию? То, что нужно показать — это что при (плюс-минус) одинаковых начальных данных и (плюс-минус) одинаковом объеме прилагаемых усилий и (плюс-минус) одинаковых условиях результат достаточно сильно различается. Если при начальных данных/усилиях/условиях примерно одинаковых конечный результат отличается на порядки — значит, очевидно, есть еще какой-то фактор, не имеющий отношения к «10 000 часов». Наследственный ли он это еще надо выяснять, но он будет явно похож на то, что люди подразумевают по «одаренностью». Если же результат отличается незначительно — значит гипотеза о существовании «одаренности» имеет низкую вероятность. Вот исходное исследование, на котором возник мем 10 000 часов — как раз и показало, что разница незначительна. К сожалению, это было всего одно исследование — а мем растиражирован до невозможности. Другие исследования — показывают, что «одаренность» в каком-то смысле все-таки есть, и оказывает очень даже заметное влияние (в статье по ссылке говорится о разнице в скорости в 22 раза — больше, чем на порядок). Так что вопрос, мягко говоря, не закрыт
В целом да, вы правы. Но тогда задача, которую ставит автор (не дублировать само описание состояния — поля) — не решаема, потому что билдер принципиально имеет другое состояние. Но на практике-то мы все знаем, что в половине случаев состояние вообще совпадает полностью, и все отличие в мутабельности/иммутабельности, еще в половине от оставшейся половины, опять же, состояние совпадает, и разница в дополнительных проверках, которые делает билдер, да более удобном API — fluent, специальные группы методов под конкретные паттерны использования, и т.п. И остается не так уж много случаев, когда билдер реально какую-то нетривиальную логику реализует, и нетривиальное состояние имеет. Поэтому мысль как-то упростить работу с наиболее частым случаем недурна — хотя, увы, я для джавы не вижу хорошей реализации

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

Рассуждения об истинном смысле каких-то шаблонов мне кажутся не очень осмысленными, потому что шаблон — это только идея.
Например, по вашему же описанию «какая-то дополнительная логика создания» вполне себе вписывается в тот метод, что я описываю. «Отдельное состояние» — нет, но это нужно реже. Если я навешу на свой иммутабельный объект два интерфейса — Builder, в который вынесу все fluent withXXX() методы, и ReadableXXX где только на чтение доступ, то я смогу передавать свой объект в методы, которые принимают только Builder, и знать не знают, как он внутри устроен. С точки зрения таких методов — мой объект будет натуральным построителем, так ведь?
Если не ставить вопрос об эффективности (==количестве мусора), то лучшая реализация билдера, которую я видел — в joda-time. Там сами доменные объекты (и изменяемые реализации, и неизменяемые) предоставляют методы типа A.withXXX(newValue) -> A. При этом изменяемые реализации возвращают this, а неизменяемые — новый экземпляр объекта с измененным полем. Отличный подход, кмк. Единственный его недостаток в том, что на каждое свойство создается новый объект (для неизменяемых реализаций), но и то, в горячем коде если нормально отработает inliner и escape analyzer, то бОльшая часть этих объектов должна быть скаляризована.
Насколько я понимаю (и по воспоминаниям о своем собственном опыте): когда рассчитываешь столкновения исходя из импульсов очень важно, чтобы столкновения оставались «моментальными» — т.е. два тела, которые на предыдущем шаге не соприкасались, на этом шаге соприкасаются — на следующем шаге они должны уже снова перестать соприкасаться. Потому что если вы на текущем шаге симуляции обработали столкновение тел, поправили их импульсы, но с этими импульсами тела не успели разойтись до следующего шага, то вы получаете на следующем шагу ситуацию, когда у вас два тела по координатам сталкиваются, а по импульсам — расходятся (вы же их «отразили» на предыдущем шаге). С точки зрения импульсного подхода _эту_ ситуацию уже сложновато корректно разрулить (она просто нефизическая). В идеальном мире такого просто не должно возникать. Но в реальной симуляции с конечными шагами по времени, со внешними силами (например, гравитацией) — эта ситуация возникает часто. Поэтому, видимо, минимальный импульс был введен для того, чтобы (почти)наверняка развести тела которые сталкиваются с малой передачей импульса.
Если под решением вы подразумеваете «принял таблетку — и сразу все прошло» — то такое маловероятно. Можно посмотреть на пример медицины (физиологии), где прогресс несколько опережает прогресс в нейро- и психо- науках — но волшебных таблеток таки нет, и не предвидится. Потому что дело не в том, что мы не понимаем, что происходит, а в том, что происходящее слишком сложно и многофакторно, чтобы им можно было эффективно управлять извне.

Для более понятного примера возьмите погоду — все физические законы давно понятны, однако дальше чем на неделю прогноз затруднен, да и с контролем некоторые сложности )
>Очень просто, вспомните истории когда людям приходилось становиться каннибалами для того, чтобы выжить. Это было полезно для них в смысле выживания, но это никак не могло положительно повлиять на психику.

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

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

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

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

>, может быть полезным на определенных стадиях общественного развития.

Я не очень понял — как вы разделяете «положительное влияние на личность» от «полезного влияния на личность»? По-моему, тут попахивает каким-то догматическим подходом, в духе «это плохо потому что плохо, даже если это полезно»

В самом деле — какое именно логическое построение приводит вас к мысли, что влияние на личность должно быть отрицательным? Мне интересно, потому что я не могу такого построения себе представить. По-сути вы говорите, что неявная и малоосознаваемая культурная установка (на отвращение ко всему, что напоминает о смерти) несет личности какую-то пользу? Типа меньше знаешь крепче спишь — это на пользу личности идет?
>Такие вещи неминуемо вносят вклад в формирование личности, причем не в лучшем плане.

А вы в этом — уверены? Откуда это «неминуемо»? Попробуйте объяснить, каким образом в ходе естественного отбора в структуре психики могли появиться области, «неминуемо» травмируемые зрелищем смерти или внутренних органов?

Проблема не с психикой как таковой, а с социальной адаптацией — поскольку в современной культуре смерть-кровь-кишки все-таки довольно таки табуированная вещь, и близкое с ней знакомство несколько конфликтует с этим табу.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность