Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved first-time experience #34614

Closed
juliohm opened this issue Jan 31, 2020 · 4 comments
Closed

Improved first-time experience #34614

juliohm opened this issue Jan 31, 2020 · 4 comments

Comments

@juliohm
Copy link
Contributor

juliohm commented Jan 31, 2020

The base language could provide simple constructs to improve the first-time experience:

  1. Import Foo as Bar syntax (ImportMacros.jl)
  2. Default fields in structs (Parameters.jl)
  3. More flexible test utilities (TestSetExtension.jl)
  4. Removal of undef keyword in Matrix{Float64}(undef, 3, 3)

I am advising a student who struggled with the undef business that we are used to as more experienced users. He also missed the import VeryLongModuleName as VLMN syntax that is quite natural for people coming from Python. Would it be possible to consider these improvements in next major releases? I understand that some of these issues are already being tracked on GitHub, but I couldn't find a single issue collecting them.

@fredrikekre
Copy link
Member

I understand that some of these issues are already being tracked on GitHub, but I couldn't find a single issue collecting them.

Why do we need to collect issues? I think the separate issues are good enough. (1. #1255, 2. #10146, 3. https://github.com/JuliaLang/julia/issues?q=is%3Aopen+is%3Aissue+label%3Atestsystem, 4. multiple issues and was discussed at length before 1.0).

@juliohm
Copy link
Contributor Author

juliohm commented Jan 31, 2020

The only issue that is not clear to me based on the many previous discussions is the undef issue. The other issues seem quite popular with various likes from the community.

What is the situation with undef? Some people commented on slack that the removal of undef is possible and seen with good eyes.

@fredrikekre
Copy link
Member

See #24595 and issues linked to in there, e.g. #30603

@StefanKarpinski
Copy link
Member

The first two items are on my punch list of quality of life improvements. If you know anyone who has the skills and time to implement them, that would be helpful. There's been discussion of doing a quality of life release and maybe these will get more attention then. In the meantime, the same people who fix compiler bugs, performance issues, scope gripes, and fight compile time latency are the same people who would be implementing these features.

Regarding 3, overhauling the Test stdlib is also a project that I've long had on my ever-expanding todo list, but it's a lot of work and every piece of API we take on is a permanent burden. You'll note that TestSetExtensions is on version 2.0.0, so it's gone through at least one round of breaking API changes which wouldn't be possible if it was a standard library.

Removal of undef is not going to happen. It was discussed and decided. If you don't like it, use zeros(T, dims...) and you'll get zero-initialized arrays.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants