2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3, 4, 5  След.
 
 Про NULL, etc (из http://dxdy.ru/topic96783.html)
Сообщение28.06.2015, 21:03 
Заслуженный участник


27/04/09
28128

(Оффтоп)

Denis Russkih в сообщении #1031767 писал(а):
Конечно есть! Лично я всегда ищу там лулзы. :)
Не стану напоминать, что и они бывают разной действенности, и аргумент снова в силе.

мат-ламер в сообщении #1031786 писал(а):
придираться по мелочам
Это не по мелочам, и про NULL вы тоже ерунду написали. Угадайте почему.

 Профиль  
                  
 
 Re: О модерировании форумных дискуссий на научном уровне
Сообщение28.06.2015, 21:27 
Заслуженный участник
Аватара пользователя


30/01/09
6742
arseniiv в сообщении #1031935 писал(а):
про NULL вы тоже ерунду написали. Угадайте почему.

Не имею понятия. Зависит от языка. Я имел в виду язык SQL. Завадая запрос к базе, и получая ответ NULL, делаем вывод, что запрос ничего не нашёл. Если получаем ответ 0, то это значит, что получили единственный ответ и он равен нулю.
arseniiv в сообщении #1031935 писал(а):
Это не по мелочам

Я тут не готов спорить. Надо смотреть конкретно, на что желания никакого нет. Просто я хотел сказать, что надо быть терпимее. Если понятно о чём человек говорит, то можно сделать и скидку, учитывая, что собеседник не профессиональный физик. Вот тут недавно один физик подсчитал, что импульс электрона в атоме водорода в основном состоянии является комплексным числом (не нулевым мнимым). Ну тут я не понял в принципе. И никто у него не спросил, а что собственно он имел в виду. Правда нашли к чему придраться (и явно было к чему), и тему снесли в пургаторий. Так может надо было начать с того, а что он понимает под импульсом? И как он это подсчитал? Дело конечно не в этом. Я хотел сказать, что физики промеж собой допускают некую вольность речи. А если кто-то из нефизиков что-то не так скажет, то тут держись.

 Профиль  
                  
 
 Re: О модерировании форумных дискуссий на научном уровне
Сообщение28.06.2015, 21:33 
Заслуженный участник
Аватара пользователя


18/01/13
12044
Казань
мат-ламер

(Оффтоп)

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

 Профиль  
                  
 
 Re: О модерировании форумных дискуссий на научном уровне
Сообщение28.06.2015, 21:41 
Заслуженный участник


27/04/09
28128
мат-ламер в сообщении #1031940 писал(а):
Не имею понятия. Зависит от языка. Я имел в виду язык SQL.
Ага, вот именно! И есть как минимум ещё один язык, ассоциирующийся с таким (регистрозависимым, иначе их станет гора-аздо больше, что всё только ухудшит) написанием: C (и C++). И уже он показывает одну из проблем: не всякая переменная может хранить NULL (или даже вообще значение с семантикой «пустого значения» в каком-нибудь другом языке), и приведение типов, в том числе неявное, разумеется, не рассматривается. Другая проблема в том, что NULL — это всё-таки значение. А неопределённая математическая штуковина не имеет значения. Да, нам бывает удобно имитировать это NULL’ом, но чем полнее имитация, тем хуже становятся свойства системы, его содержащей. Доходит (как раз в SQL, хотя не этим семейством языков едины) до того, что NULL портит рефлексивность равенства! Так что приведение в пример разницы между NULL и 0 — это хуже, чем неприведение никаких примеров вообще, потому что отражает совсем не то, но спутать, и потом долго путать и дальше, позволяет легко.

мат-ламер в сообщении #1031940 писал(а):
Просто я хотел сказать, что надо быть терпимее. Если понятно о чём человек говорит, то можно сделать и скидку, учитывая, что собеседник не профессиональный физик.
Думаю, вы понимаете, что где-то должна быть граница, чтобы не уйти в $-\infty$. А будь она в наличии, обязательно найдутся недовольные тем, что она не ниже. (Это раз, а два в том, что недовольные найдутся и тем, что она не выше — и почему приоритетнее первые, я не вижу. Например, из уважения к читателю никакой их асимметрии не вытекает, а право человека поболтать в компании уважаемых им людей говорит в пользу вторых, ибо закон экономии речевых усилий.)

-- Вс июн 28, 2015 23:44:17 --

(…а экономить речевые усилия не получится, если их экономят рядом совершенно неправильно. Придётся, чтобы не смешать в кучу разное, отказываться от оптимизации. Потому это в пользу вторых.)

 Профиль  
                  
 
 Re: О модерировании форумных дискуссий на научном уровне
Сообщение28.06.2015, 21:51 
Заслуженный участник
Аватара пользователя


20/08/14
8126
arseniiv

(Оффтоп)

Для неинициализированной переменной обнуляемого логического типа
$bool?\  p = null$
выражение $(p == true)$ равно $false$, но $(p != false)$ равно $true$. То есть значение $p$ не истинно, но верно, что оно не ложно. Выражение $(p == false)$ равно $false$, но $(p != true)$ равно $true$. То есть значение $p$ не ложно, но верно, что оно не истинно.
А выражения типа $if (p)$ вообще вызывают исключение.

Третий путь найден. Архитекторы C# постигли дзен.

 Профиль  
                  
 
 Re: О модерировании форумных дискуссий на научном уровне
Сообщение28.06.2015, 21:54 
Заслуженный участник
Аватара пользователя


30/01/09
6742
А неточность допустить очень просто. Я написал фразу "импульс электрона в атоме водорода в основном состоянии является комплексным числом". Так, если собственное значение эрмитова оператора импульса в комплексном пространстве равно нулю, то это число (ноль) комплексное. Там имелось в виду не нулевое чисто мнимое значение. Я внёс правку в текст. Что касается личности участника нашего форума magogi, то я в отличие от некоторых, картотеку (пусть в голове) на форумчан не держу. И что он из себя представляет, меня как-то не волнует в принципе.

 Профиль  
                  
 
 Re: О модерировании форумных дискуссий на научном уровне
Сообщение28.06.2015, 22:14 
Заслуженный участник


27/04/09
28128

(Null? Null!)

Anton_Peplov в сообщении #1031949 писал(а):
Третий путь найден. Архитекторы C# постигли дзен.
Ну, не они первые придумали поднятие операций из T в T?. Да и дзен, кстати, бывает разный. :-) Например, вы не сможете сказать if p ..., если p :: Maybe Bool, потому что значения у p могут быть такие: Just True, Just False, Nothing — и никаких просто True и False, хотя можно определить обобщённые логические операции, которые бы работали и для Bool, и для Maybe Bool тем самым способом как в .NET, но зачем? :roll: В Ceylon тоже интересно поступили: Null со значением null и без атрибутов — не подтип Object, чьи подтипы — все определяемые нами, так что объединение T? ≡ T|Null — заведомо не подтип T, и Bool? нельзя засунуть в if точно так же — хотя в данном случае значениями Bool? являются уже «не поднятые» true, falsenull).

(Оффтоп)

arseniiv в сообщении #1031961 писал(а):
Да и дзен, кстати, бывает разный.
Но доказать этого нельзя, как невычислимо и сравнение дзенов на равенство. :shock:

 Профиль  
                  
 
 Re: О модерировании форумных дискуссий на научном уровне
Сообщение29.06.2015, 01:01 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
мат-ламер в сообщении #1031940 писал(а):
arseniiv в сообщении #1031935 писал(а):
про NULL вы тоже ерунду написали. Угадайте почему.

Не имею понятия. Зависит от языка. Я имел в виду язык SQL. Завадая запрос к базе, и получая ответ NULL, делаем вывод, что запрос ничего не нашёл. Если получаем ответ 0, то это значит, что получили единственный ответ и он равен нулю.
Да нет же! Если запрос ничего не нашел, мы получаем no data found, курсор в состоянии closed или там со свойством notfound = true или что там вашим сервером СУБД для таких случаев предусмотрено. Если вы пишете
Код:
select column1
from my_table
where column2 = 'abc'


и получаете null, значит, у вас найдена в таблице 1 строка, где в поле column2 стоит значение 'abc', а в поле column1 - null (отсутствие значения). И ситуация простая, только пока вы работаете с числами, а как только вы переходите к строкам, начинается развлекуха, потому что стандарт ANSI SQL требует различать пустую строку и null, и некоторые таки различают (postgres), а некоторые (oracle) - нет. И не потому, что они злые нонконформисты от природы, а потому, что задолго до появления стандарта одни СУБД разрабатывались на языках, где были строки С-типа (как в языке С, заканчивающиеся двоичным нулем и не могущие этот двоичный ноль содержать в середине), а другие - на языках со строками паскалевского типа (где длина строки указывалась в нулевом символе строки). А потом, когда уже приняли стандарты, поздно было пить боржоми, обратная совместимость была дороже.

-- 29.06.2015, 02:43 --

мат-ламер в сообщении #1031940 писал(а):
Я имел в виду язык SQL.
Нет, кстати, такого языка - SQL :mrgreen:
Ну то есть он конечно есть, но есть стандарт (его обычно называют ANSI SQL) и есть энное количество конкретных СУБД, каждая со своей реализацией стандарта. При том, что у каждой из них в документации написано, что они на 100% поддерживают стандарт, на самом деле к вопросу поддержки разработчики подходят настолько творчески, что даже SQL-92 у них порой несовместим. Фирменная "фишка" Oracle, например, которую упоминают ораклоненавистники в каждом холиваре - оракл до сих пор не понимает ключевое слово except, ему minus подавай, хотя казалось бы - 23 года прошло. И с обработкой null значений точно такая же ерунда. Если не хочешь сюрпризов - читай документацию по своей СУБД, а не стандарт (поэтому стандарт никто и не читает). А если вы аналогию приводите с null значениями, то указывайте вашу СУБД и версию, потому что у вашего собеседника ваша аналогия легко может выдать противоположный результат.

 Профиль  
                  
 
 Re: О модерировании форумных дискуссий на научном уровне
Сообщение29.06.2015, 02:28 


01/12/14
255
Someone в сообщении #1031774 писал(а):
Где именно? Дайте точную ссылку.


Чуть выше... post1025041.html#p1025041
Кстати, и в СТО получают "парадоксы", создавая вложенные системы...

-- 29.06.2015, 03:47 --

мат-ламер в сообщении #1031786 писал(а):
На данном форуме очень любят придираться по мелочам и показать, какие они умные. Программист конечно бы тут не оговорился, поскольку знает, что NULL и 0 вещи совершенно разные.


Вряд ли тут есть смысл применять разделение на 0 и NULL. Кинетическая энергия, как и скорость, - относительная вещь, и можно сказать, что у отдельного тела её вообще нет. Кстати, в случае существования лишь двух объектов, движущихся относительно друг друга, законы сохранения энергии и импульса не работают: в результате взаимодействия, скорость может упасть... Спасение для закона - лишь в том, что сохраняется их общая энергия относительно системы... Координатная сетка - чистая выдумка. Другие тела в реальности существуют, но каждое из них может быть добавлено в эту ситуацию... И возникает соображение: неужели, закон сохранения энергии, как и энтропия, имеет статистический характер?

 Профиль  
                  
 
 Re: О модерировании форумных дискуссий на научном уровне
Сообщение29.06.2015, 04:17 


01/12/14
255
arseniiv в сообщении #1031935 писал(а):
Это не по мелочам


Не по мелочам, а по глупости. Идея, которую он высказал, не имеет отношения к физике (в которой есть нормальная формула, дающая T=0 при v=0), а имеет отношение к способам восприятия реальности, и она способствует возникновению ошибок (вроде "парадоксов" в СТО).

 Профиль  
                  
 
 Re: Про NULL, etc (из http://dxdy.ru/topic96783.html)
Сообщение29.06.2015, 12:14 
Админ форума
Аватара пользователя


19/03/10
8952
 i  Отрезано от темы «О модерировании форумных дискуссий на научном уровне»

 Профиль  
                  
 
 Re: О модерировании форумных дискуссий на научном уровне
Сообщение29.06.2015, 12:23 


08/05/08
593
мат-ламер в сообщении #1031940 писал(а):
Не имею понятия. Зависит от языка. Я имел в виду язык SQL. Завадая запрос к базе, и получая ответ NULL, делаем вывод, что запрос ничего не нашёл. Если получаем ответ 0, то это значит, что получили единственный ответ и он равен нулю. .

Вы сейчас о чем? Всю жизнь работаю с ораклом и select null from dual (самый простой пример) вполне себе чего-то возвращает и это что-то как раз null

 Профиль  
                  
 
 Re: Про NULL, etc (из http://dxdy.ru/topic96783.html)
Сообщение29.06.2015, 14:18 


11/12/14
893
И опять видимо имелся ввиду LEFT JOIN

 Профиль  
                  
 
 Re: Про NULL, etc (из http://dxdy.ru/topic96783.html)
Сообщение29.06.2015, 14:28 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
LEFT JOIN тут никуда особо не приткнешь (ну или поясните вашу мысль). У null в классической физике вообще нет аналогий, это скорее к квантовой механике ближе. Если я все правильно помню, то если частица находится в суперпозиции состояний, то это значит, что она как бы имеет все состояния сразу (или вообще без "как бы"), можно условно предложить, что никакого состояния у нее нет вообще и обозначить такое состояние null.

(Оффтоп)

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

 Профиль  
                  
 
 Re: Про NULL, etc (из http://dxdy.ru/topic96783.html)
Сообщение29.06.2015, 15:08 


11/12/14
893
rockclimber в сообщении #1032102 писал(а):
LEFT JOIN тут никуда особо не приткнешь (ну или поясните вашу мысль).


Да в общем то самое на что мат-ламер напирает, при этом опять споткнувшись о то же самое в самой же фразе.
NULL вернется в LEFT/RIGHT JOIN-ах в запросе в случае отсутствия записей для джойна.
Т.е. что то такое о чём он говорит есть, но выразился неуклюже, и получил порцию помидоров.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу 1, 2, 3, 4, 5  След.

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: KKashlakov


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group