Нулата е числова стойност. Това е определено с точни математически свойства. (Можете да правите аритметика върху него...)
NULL означава липса на каквато и да е стойност. Не можете да направите нищо с него, освен да го тествате.
Празното място не е дефинирано. Това означава различни неща в различен контекст за различните хора. Например:
- Някой може да има предвид стойност на низ с нулева дължина:т.е. такава без знаци в нея (
''
). - Някой може да означава стойност на низ с дължина, различна от нула, състояща се само от непечатащи се знаци (SPACE, TAB и т.н.). Или може би се състои само от един символ SPACE.
- В някои контексти (където символът и низът са различни типове) някой може да има предвид стойност на знаци, които не се отпечатват.
- Някой може дори да има предвид „всичко, което не се показва, когато го отпечатате или покажете“.
Въпросът е, че "празно" няма нито едно добре дефинирано значение. Поне не в (родната) английска ИТ терминология. Вероятно е най-добре да го избягвате ... ако искате други ИТ специалисти да разберат какво имате предвид . (И ако някой друг използва термина и това не е очевидно от контекста, помолете го да каже какво точно има предвид!)
Не можем да кажем нищо общо смислено за това как са представени ZERO / NULL / BLANK, колко памет заемат или нещо подобно. Всичко, което можем да кажем, е, че те са представени по различен начин един от друг .... и че действителното представяне е зависимо от изпълнението и контекста .