# Nullables (Deprecated?)

**URL:** <https://discourse.julialang.org/t/nullables-deprecated/10089>\
**Category:** General Usage\
**Created:** [March 31, 2018, 6:29pm UTC](https://discourse.julialang.org/t/nullables-deprecated/10089 "2018-03-31T18:29:10Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![iwelch](https://avatars.discourse-cdn.com/v4/letter/i/8c91f0/32.png) [@iwelch](https://discourse.julialang.org/u/iwelch)\
**Post date:** [March 31, 2018, 6:29pm UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/1 "2018-03-31T18:29:10Z")

</div>

I am reading systematically from start to end through the current 0.6.2 manual. section 14.4 is about Nullable objects.

Has a decision been made about the fate of Nullable? is it replaced by Missing?

(If so, maybe add a short blip to the 0.6.2 manual that notes this.)

regards,

/iaw

---

<div class="post-metadata">

**Author:** ![dfdx](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dfdx/32/120_2.png) [@dfdx](https://discourse.julialang.org/u/dfdx)\
**Post date:** [March 31, 2018, 7:03pm UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/2 "2018-03-31T19:03:55Z")

</div>

Can’t find any “official” explanation, but latest build of Julia 0.7 has both - `nothing::Nothing` and `missing::Missing` values.

It has also been discussed several times that now small unions like `Union{T, Nothing}` or `Union{T, Missing}` are reasonably fast and may be used instead of `Nullable{T}`.

---

<div class="post-metadata">

**Author:** ![nalimilan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nalimilan/32/147_2.png) [@nalimilan](https://discourse.julialang.org/u/nalimilan)\
**Post date:** [March 31, 2018, 7:51pm UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/4 "2018-03-31T19:51:02Z")

</div>

It’s been deprecated in Julia 0.7, but it still exists in 0.6, so the 0.6 manual cannot say it’s deprecated. See [NEWS.md](https://github.com/JuliaLang/julia/blob/025a9ee3ed1484e8682b5e209ef357a43169181e/NEWS.md) about the deprecation.

---

<div class="post-metadata">

**Author:** ![iwelch](https://avatars.discourse-cdn.com/v4/letter/i/8c91f0/32.png) [@iwelch](https://discourse.julialang.org/u/iwelch)\
**Post date:** [March 31, 2018, 8:11pm UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/5 "2018-03-31T20:11:24Z")

</div>

thanks, n.

the 0.6.2 manual should not state that it is deprecated, but it should state

```nohighlight
NOTE: Nullables are marked for deprecation in Julia >0.7 in favor of Missing

```

---

<div class="post-metadata">

**Author:** ![nalimilan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nalimilan/32/147_2.png) [@nalimilan](https://discourse.julialang.org/u/nalimilan)\
**Post date:** [March 31, 2018, 9:59pm UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/6 "2018-03-31T21:59:21Z")

</div>

Why not read the 0.7 manual if you’re interested in Julia 0.7?

---

<div class="post-metadata">

**Author:** ![iwelch](https://avatars.discourse-cdn.com/v4/letter/i/8c91f0/32.png) [@iwelch](https://discourse.julialang.org/u/iwelch)\
**Post date:** [March 31, 2018, 10:16pm UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/7 "2018-03-31T22:16:20Z")

</div>

it’s not for me. I know this now.

instead, it’s for someone else who is coming to julia today. they see that 0.6.2 is the stable system, and start learning it. except when 1.0 comes around, they will have to unlearn again what they just learned. if they had seen such a note, they may have said to themselves “skip this chapter and spend the time experiment on the next one instead.”

---

<div class="post-metadata">

**Author:** ![nalimilan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nalimilan/32/147_2.png) [@nalimilan](https://discourse.julialang.org/u/nalimilan)\
**Post date:** [April 1, 2018, 9:35am UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/8 "2018-04-01T09:35:22Z")

</div>

But then why do this for `Nullable` and not for the dozens of deprecations mentioned in NEWS.md? And most deprecations (including for `Nullable`) do not work on 0.6, so mentioning them would just confuse newcomers. At this point to only solution to this problem is to release 0.7.

---

<div class="post-metadata">

**Author:** ![iwelch](https://avatars.discourse-cdn.com/v4/letter/i/8c91f0/32.png) [@iwelch](https://discourse.julialang.org/u/iwelch)\
**Post date:** [April 1, 2018, 3:40pm UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/9 "2018-04-01T15:40:06Z")

</div>

I think we should indeed plunk down a tiny note like this for major removals everywhere. This is not just for 0.6.2. It will also be the case in the future, \>1.0, when major aspects are deprecated. Not a big write—just a boilerplate sentence with a warning icon. done.

([novice] users are not encouraged to use/read 0.7.)

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [April 1, 2018, 4:02pm UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/10 "2018-04-01T16:02:26Z")

</div>

> [@iwelch](#):
>
> ([novice] users are not encouraged to use/read 0.7.)

I am not so sure, never seen this anywhere, except for the self-explanatory labels “stable” and “unstable”. No one is discouraged either. I don’t think that the line between “user” and “developer” is so clearcut for the community which uses `v0.*` releases.

However, if someone would rather ignore the work-in-progress nature of Julia, they should not worry about deprecations either. When `v0.7` is released, users will have time to update their code. Until then, forward-looking deprecations are just a distraction for them.

---

<div class="post-metadata">

**Author:** ![iwelch](https://avatars.discourse-cdn.com/v4/letter/i/8c91f0/32.png) [@iwelch](https://discourse.julialang.org/u/iwelch)\
**Post date:** [April 1, 2018, 7:09pm UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/11 "2018-04-01T19:09:26Z")

</div>

**0.6.2 is the current release.** [Download Julia](https://julialang.org/downloads/)

and for the nightly builds,

```nohighlight
These are bleeding-edge binaries of the latest version of Julia under development,
which you can use to get a preview of the latest work. The nightly builds are for 
developer previews and not intended for normal use. You can expect many 
packages not to work with this version. Most users are advised to use the latest 
official release version of Julia.

```

I think this qualifies as `([novice] users are not encouraged to use/read 0.7.)`

for existing code, I would not worry about deprecations. for new code, a blip on the docs for ephemeral features would be a helpful shoutout. (and, without your help, tamas, I would have given up a while ago…)

regards,

/iaw

---

<div class="post-metadata">

**Author:** ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)\
**Post date:** [April 1, 2018, 7:38pm UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/12 "2018-04-01T19:38:39Z")

</div>

The nature of 0.7 is rather special as after that there will be no breaking changes until 2.0. The release of 0.7 is imminent, so at this point it would definitely be worth familiarizing yourself with its [documentation](https://docs.julialang.org/en/latest/) somewhat. If you are still using 0.6 I would recommend writing only 0.6, 0.7 cross compatible code using [Compat.jl](https://github.com/JuliaLang/Compat.jl) and abandoning 0.6 altogether as soon as 0.7 is officially released.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [April 4, 2018, 1:57am UTC](https://discourse.julialang.org/t/nullables-deprecated/10089/13 "2018-04-04T01:57:31Z")

</div>

To check re this topic:  
Continuing the discussion from [Missing data and NamedTuple compatibility](https://discourse.julialang.org/t/missing-data-and-namedtuple-compatibility/8136/84).
