
Julia v0.7.0 Release Notes - kmisiunas
https://github.com/JuliaLang/julia/blob/master/NEWS.md
======
wallnuss
Important to note that the 0.7 release is not quite done yet and we are
polishing it. So there is no official release candidate yet.

~~~
marmaduke
I don’t use Julia but those language changes would have me worried that
existing code would start behaving differently because of parser changes.

~~~
StefanKarpinski
We're very careful with changes and give thorough deprecation warnings. When
you upgrade and the meaning of something that you're using is going to change
in the following version, you will get a warning to change it now, with
specific detail of the new spelling of that feature. So as long as you don't
skip major versions, you're safe. Corollary: don't skip major versions. Even
if you're upgrading from 0.4 to 0.7, you'll want to upgrade /through/ versions
0.5 and 0.6 instead of skipping them.

Aside: implementing deprecations is often harder than implementing new feature
themselves. We put in the effort because it is absolutely critical that
people's code never just silently change behavior. Syntax and variable scope
deprecations are particularly hard to implement, but all of the changes in 0.7
do have deprecation warnings – some of them with absolutely crazy
implementations that we're very excited to get to delete when we release 1.0.

~~~
arthurcolle
> you'll want to upgrade /through/ versions 0.5 and 0.6 instead of skipping
> them.

god that sounds sooo painful

~~~
StefanKarpinski
It's not so bad really – having done it a few of times on fairly large code
bases. Upgrading a project for a new Julia version is very straightforward:
change the julia version, run your tests, and making any changes that warnings
tell you to make. It's about as difficult as fixing compiler warnings in C –
it's tedious but not hard.

Keep in mind that in the future this statement would be something like: if you
have code that was written for Julia 1.x and want to upgrade to Julia 3.x,
then you should upgrade through Julia 2 instead of just skipping it. This does
not seem terribly unreasonable.

------
rattray
Wow, a bunch of nice features here, named tuples, function argument
destructuring... Also a bunch of syntax/parsing cleanups, hopefully for the
best.

~~~
karmakaze
When I first used named tuples in Swift I thought they'd be so great, no more
_1 _2 or whatever. After using them a while, it gets a bit tiring and litters
with repeated type info. A type alias for a named tuple would help with that.
Any others have similar experiences? Or would they play out differently in
Julia?

~~~
AboutTheWhisles
Wouldn't that just be a struct?

~~~
karmakaze
Like an ad-hoc anonymously typed struct. Only the members are named, so each
time the type is specified it is with the member names, hence just using a
type name is preferred. If it is really just used at one or two call sites and
not propagated all is well, but invariably things tend to expand in use.

~~~
wallnuss
I still don't quite see why you wouldn't just use a named struct, but you can
create a alias for the NamedTuple type

    
    
        const MyAlias = NamedTuple{(:a, :b),Tuple{Int64,Int64}}
        MyAlias((2, 3)) # (a = 2, b = 3)

------
sixbrx
Is there anything in Julia yet or planned, that would allow to specify that
"implementations" (in some sense) of an abstract type must provide certain
method implementations, which would be checked before any attempt to call a
missing function at run time (such as just after all definitions have been
read maybe)? I realize that this issue can be thorny under multiple dispatch
so maybe no solution is practical. But this is one thing from traditional
single-dispatch statically typed OO languages that I really miss.

~~~
3JPLW
Yes, there have been lots of discussions about this — typically referred to as
"formal interfaces." This would be a 2.0 (or later) feature addition, and it's
not yet certain how it would be approached.

[https://github.com/JuliaLang/julia/issues/6975](https://github.com/JuliaLang/julia/issues/6975)

[https://github.com/JuliaLang/julia/issues/5](https://github.com/JuliaLang/julia/issues/5)

------
zmk_
Removing eye() in favour of a new construct is weird after all this time. It
seems to me like v0.7 will break a lot of my current code.

~~~
nalimilan
Existing code won't break as a deprecation is in place. And the replacement is
very simple: Matrix(I, m, n), Matrix{Float64}(I, m, n) or even just I
depending on the use case.

------
yesenadam
That heading gives someone who doesn't already know, absolutely no clue what
it is or why they should click on it.

~~~
make3
when you post a title with a version number next to a project name, people
expect it's a new version. So unless your comment is about not describing what
Julia is a bit more, suivi might be fair, I don't see the issue

~~~
yesenadam
I don't know what 'suivi' means. I was just saying, I didn't know what it
means. If they're trying to attract new people to it, that title seems a bad
choice to me. It seems only insiders understand it. Unfortunately "Julia Lang"
sounds to me like a name. It was confusing. Just trying to help.

~~~
eesmith
That style of posting is not uncommon on HN. Some of the recent examples with
the exact same structure, from
[https://hn.algolia.com/?query=%22release%20notes%22&sort=byD...](https://hn.algolia.com/?query=%22release%20notes%22&sort=byDate&prefix&page=0&dateRange=all&type=story)
are: "GHC 8.4.1 Release Notes", "Gulp v4.0.0 release notes", "Go 1.10 Release
Notes", "Cryptsetup 2.0.0 Release Notes", "MongoDB 3.6 RC release notes",
"Android Studio 3.0 Release Notes", "Tmux 2.6 release notes", and "Django 2.0
release notes".

Did you understand what all of those meant? Probably not. I don't.

But your lack of understanding doesn't make it notable.

~~~
yesenadam
Don't know what all those things are, no, but I know what to expect. With this
I had no idea but wished I did.

Not notable? Luckily it was just a HN comment not a wikipedia page. :-)

~~~
eesmith
Right, but it sounds like you want things to be more predisgested for you than
is typical for HN reader expectations, and stated in a way which sounds
entitled.

That's no doubt why your comment was downvoted.

Tell me, what do you expect from "Go 1.10 Release Notes"? You'll notice that
link it's even less informative than this link to "Julia v0.7.0 Release
Notes".

For future reference, here's how to the information you wanted. First, go to
the link, which you can see is to github. It uses the standard github layout.
On the top is a hierarchical list of names showing "julia" / "NEWS.md". The
"julia" is a hyperlink to the github project page.

Click on that and the top says "The Julia Language: A fresh approach to
technical computing. [https://julialang.org/"](https://julialang.org/"). Lower
down it says "Julia is a high-level, high-performance dynamic language for
technical computing. The main homepage for Julia can be found at
julialang.org." If that is not enough information for you, both URLs take you
to the language page.

Figuring out what you wished for, from the information given, takes less time
then writing your HN comment.

And much less time then it takes to pass on HN cultural norms to new accounts.

~~~
yesenadam
OMG why are people so blind and autistic about this. I thought I was helping,
both the author and other people who came along. Just sounded entitled. Will
try not to make that mistake again. Too many people here unable to take things
in a non-autistic way. Ah sorry. You see yet again I have a lot to learn about
supposed HN cultural norms. (Sorry, am fed up with people picking on me about
this.)

edit: Ahhh hehe I just noticed the title is now "Julia v0.7.0 Release Notes"!
When I commented yesterday it was "Julia Lang v0.7" I think. So I've been
wondering why on earth the comments about 'Release Notes', and the late
commenters must have been wondering why the earlier talk about 'Lang'. So..
there was confusion. That makes more sense of why people were getting weirder
and weirder about this—false assumptions. I learnt something, hopefully the
people lecturing me about not understanding how HN works learnt something too.
Apologies not expected, but that would be lovely. p.s. Yes, the new title is
much much better!

~~~
eesmith
Please do not use "autistic" as a slur. That is unkind and uncalled for.
Autism is a real disease.

The change means that the person who submitted the post was in error. HN
guidelines call for using the original title, with a few exceptions.

The page's title when the posting was made was "Julia v0.7.0 Release Notes",
which you can confirm from this snapshot of 4 days ago:
[https://github.com/JuliaLang/julia/blob/eb94b8c3d8e8ee2294ed...](https://github.com/JuliaLang/julia/blob/eb94b8c3d8e8ee2294ed8f173f89a50523af85cc/NEWS.md)
.

This suggests that you did not even click on the link to learn more about the
project before complaining about the lack of context.

The practice I try to do in situations like this is not to complain about the
problem, but to figure out the solution to my complaint, and post that. For
example, you could have written: "The submitter used the wrong title. It
should be 'Julia v0.7.0 Release Notes'. Julia is a programming language for
technical computing. More at [http://julialang.org/"](http://julialang.org/")

That would be helping. Complaining about such a basic topic is not helping.

