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
6686
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
8077
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
6686
А неточность допустить очень просто. Я написал фразу "импульс электрона в атоме водорода в основном состоянии является комплексным числом". Так, если собственное значение эрмитова оператора импульса в комплексном пространстве равно нулю, то это число (ноль) комплексное. Там имелось в виду не нулевое чисто мнимое значение. Я внёс правку в текст. Что касается личности участника нашего форума 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  След.

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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