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

Remove comments from console project template #2338

Closed

Conversation

saul
Copy link
Contributor

@saul saul commented Jan 28, 2017

Fixes #2305

@KevinRansom
Copy link
Member

@saul

We kind of like that the templates point new developers to our good friends at fsharp.org. Do you think this necessary?

@vasily-kirichenko
Copy link
Contributor

I like this PR. C# does not have such comments in templates, VB does not either.

@cartermp
Copy link
Contributor

I think this is good, too. I think that referencing FSSF in the Tutorial project (which we do) makes the most sense. The comments in these templates are of no use to anyone once they've created their first project, and they're likely to just view them as an annoying them to delete.

@KevinRansom
Copy link
Member

Well ... I don't wish to bikeshed here or be difficult.

However, fsharp.org is an independent source of excellent fsharp information, it is a place that every fsharp developer should know about it. Pointing it out at the start of creating a new project seems like a fine thing to do. These have been in the templates since at least VS 2013 and no one has ever mentioned it as a problem.

Not every developer creates the tutorial or reads documentation. But pretty much every first time F# developer creates a console app and opens the source file.

I am not inclined to remove this comment, now that the Microsoft and OSS documentation has improved I would be accept a PR to add a link to that page as well, or a PR to improve the text ...

An example of a new .cs tech that provides links to documentation

This is the .cs file for Azure WebJobs ---

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Azure.WebJobs;

namespace WebJob1
{
    // To learn more about Microsoft Azure WebJobs SDK, please see https://go.microsoft.com/fwlink/?LinkID=320976
    class Program
    {
        // Please set the following connection strings in app.config for this WebJob to run:
        // AzureWebJobsDashboard and AzureWebJobsStorage
        static void Main()
        {
            var host = new JobHost();
            // The following code ensures that the WebJob will be running continuously
            host.RunAndBlock();
        }
    }
}

@saul
Copy link
Contributor Author

saul commented Jan 28, 2017

@KevinRansom I'm inclined to agree with @cartermp that the new Tutorial project is far more informative. If we were to keep a link to anything, I think a link to https://docs.microsoft.com/en-us/dotnet/articles/fsharp/ would be best.

It contains links to fsharp.org and useful links to the rest of the F# documentation/beginners guides.

@dsyme
Copy link
Contributor

dsyme commented Jan 29, 2017

We should keep the comments in some form.

We have about 2-3 million (or something like that - no idea of the actual number) C# programmers (and more fresh programmers arriving each year), and many more users of visual studio for other languages

These people

  1. have never tried F#
  2. never heard of http://fsharp.org
  3. have no friends or colleagues who use F#
  4. have no idea what on earth that "0" is
  5. have no idea where to look for more information on any of this.
  6. will at most spend 30 minutes fiddling in the console project getting annoyed
  7. they always create a console project (that's a problem in itself)
  8. will not create a tutorial project unless guided

For these people, our aim is probably to convert 5-10% of them to continue on their learning path.

We just have to take the chance to point these people at something and not optimize material for ourselves. It's the #1 opportunity to give them some information - indeed it's really the on;y chance. Perhaps http://fsharp.org is not right - perhaps the comments aren't right, but we shouldn't just leave it blank.

@saul
Copy link
Contributor Author

saul commented Jan 29, 2017

@dsyme:

have never tried F#
never heard of http://fsharp.org
have no friends or colleagues who use F#

If you're trying to signpost newcomers to more information about F#, I don't think fsharp.org is the one place we should be referring to. A link to the new F# docs would be far more helpful, and maybe even a direct link to a page that links to "F# for C# programmers" and the tutorial page.

have no idea what on earth that "0" is

By that logic, the [<EntryPoint>] and printfn "%A" lines will also need explaining. Not to mention that "let x y = ..." is a syntax completely unfamiliar to non-functional programmers. I don't think the "0" is the confusing part of the console project, and I'd argue that it's probably the least for anyone who's made a console application already.

I completely agree with what you're saying, and in hindsight I was quick to remove all comments. I think the discussion should revolve around what needs explaining in the console application, and what we should be linking to. After a quick Google search, I found that there is no official "F# for C# programmers" doc which I personally find very useful when learning about new languages.

I'll close this PR and suggest that we continue the discussion as to what should be included on #2305.

@saul saul closed this Jan 29, 2017
@dsyme
Copy link
Contributor

dsyme commented Jan 29, 2017

@saul Cool, I like that approach

I don't think fsharp.org is the one place we should be referring to.

agreed

A link to the new F# docs would be far more helpful

Agreed - they are just what's needed for Visual Studio users. We used to link to the old MSDN docs but they became a mess.

maybe even a direct link to a page that links to "F# for C# programmers" and the tutorial page.

That would be great

By that logic, ... also need explaining.

Agreed. I think the basic logic is sound but the content and links are wrong

See you on #2305

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

Successfully merging this pull request may close these issues.

6 participants