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

New developers can learn .NET by building, running and debugging Simple Apps #5473

Closed
5 tasks
Tracked by #5465
cartermp opened this issue Oct 28, 2020 · 4 comments
Closed
5 tasks
Tracked by #5465
Labels
bulk-closed Epic Groups multiple user stories. Can be grouped under a theme. Priority:2 Work that is important, but not critical for the release

Comments

@cartermp
Copy link
Contributor

cartermp commented Oct 28, 2020

Summary

Simple Apps are .NET apps with the following properties:

  • C# files that are top-level programs / F# scripts
  • Modern language features that emphasize less code to accomplish a task are emphasized
  • No project file required
  • Loadable by all .NET tooling (CLI, VSCode, Visual Studio)
  • Output executable is a single binary that is next to the source file in the user's directory

A Simple App is a starting point for developers who are learning .NET. As their app's capabilities grow, they can do things like add a project file to support their development needs.

User Stories

User Stories under this Epic:

@cartermp cartermp added the Epic Groups multiple user stories. Can be grouped under a theme. label Oct 28, 2020
@shanselman shanselman changed the title New developers can easily find and run their output of their simple app New developers can easily find and run their output of their Simple App Oct 28, 2020
@cartermp cartermp changed the title New developers can easily find and run their output of their Simple App New developers can learn .NET by building, running and debugging Simple Apps Oct 28, 2020
@IntegerMan
Copy link

I'd love to see some consideration of error messages as part of this effort. Compiler errors are scary for new developers. Even things that you think should be intuitive like "Not all code paths return a value" are overwhelming for someone just starting out writing methods. Compiler errors are naturally a bit scary and part of how they're presented in Visual Studio pushes that new developer mindset into panic mode, which makes them less able to reason about the error.

I'd love to see some form of wording improvements alongside some actual plain text description of common errors such as casting issues, using a variable that's been defined but not initialized, array index out of bounds, not all code paths returning a value, incorrect return type from a method, etc.

In an ideal world I'd be able to see a small two paragraph beginner friendly explanation in Visual Studio with an image of bad code (code not returning a value, for example) and fixed code to illustrate the type of the error it was. Not something specific to the user's code, just some less terrifying stuff to help new developers be less terrified of what they're encountering and less intimidated by output built for expert users.

@shanselman shanselman added the Priority:2 Work that is important, but not critical for the release label Jan 23, 2021
@rgwood
Copy link

rgwood commented Feb 7, 2021

I love this proposal and I hope it makes it for .NET 6!

One thing to add: as described, Simple Apps seem like they will also be popular for scripting purposes and ad-hoc coding. The potential audience is much broader than just “developers who are learning .NET.”

I could see myself using a Simple App in CI pipelines, to replace Python/Bash/PowerShell scripts. Similarly, I could see myself using a Simple App for one-off exploratory development (instead of creating yet another console app with a csproj).

@teo-tsirpanis
Copy link
Contributor

Related: dotnet/sdk#12328

@mairaw
Copy link
Contributor

mairaw commented May 26, 2023

Bulk closing .NET 6 epics and user stories. If you think this issue was closed in error, please reopen the issue and update it accordingly.

@mairaw mairaw closed this as completed May 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bulk-closed Epic Groups multiple user stories. Can be grouped under a theme. Priority:2 Work that is important, but not critical for the release
Projects
None yet
Development

No branches or pull requests

6 participants