{"action":"created","comment":{"url":"https://api.github.com/repos/dart-lang/site-www/pulls/comments/93141663","pull_request_review_id":13663084,"id":93141663,"diff_hunk":"@@ -0,0 +1,189 @@\n+---\n+layout: guide\n+title: \"Sound Dart FAQ\"\n+description: \"Questions and answers on how and why to write sound Dart code.\"\n+toc: false\n+---\n+\n+This page collects some questions and answers about why and how to\n+write sound Dart code. Be sure to also check out the\n+[Sound Dart Guide](/guides/language/sound-dart) to learn more.\n+\n+### What is \"strong mode\" ? Is it the same as “sound Dart”?\n+\n+“Sound Dart”, “strong mode Dart” and “type safe Dart” are sometimes\n+used interchangeably. Strong mode is Dart’s implementation of a\n+sound type system. With strong mode enabled, Dart is a type safe language.\n+A sound language ensures that static type annotations are actually\n+correct at runtime. Strong mode is an optional mode that you enable in\n+Dart Analyzer, and we encourage you to start using strong mode for your\n+libraries and apps. For more information,\n+see [Sound Dart Guide](/guides/language/sound-dart).\n+\n+### Why did the Dart team build strong mode?\n+\n+New tools in development for the Dart language rely on ahead-of-time (AOT)\n+compilation. AOT compiling benefits significantly from strong type\n+checking that can be performed at compile time. Strong mode enables\n+the Dart team to build tools that make for a better development experience.\n+Also, our developers have told us that they prefer more feedback from\n+their type system, to help them manage larger code bases and better\n+understand their code.\n+\n+### How does strong mode benefit me, the developer?\n+\n+Strong mode helps you find more bugs at compile time, rather than runtime.\n+Also, refactoring tools and code completion work better with strong mode.\n+\n+### How does strong mode benefit my users?\n+\n+Code that is easier to develop, maintain, and debug is ultimately also\n+better for your users. It ensures that you catch more bugs before you ship!\n+In future, sound Dart will allow our compilers to generate smaller,\n+faster code.\n+\n+### Yikes, another mode for Dart! So confusing! Why do I need this?\n+\n+The Dart team is exploring ways of unifying checked mode and\n+strong mode to simplify things in the future.","path":"src/_guides/language/sound-faq.md","position":48,"original_position":48,"commit_id":"d475c91773ea373a6df186a18eb54dcc3383c2ee","original_commit_id":"d475c91773ea373a6df186a18eb54dcc3383c2ee","user":{"login":"filiph","id":919717,"avatar_url":"https://avatars.githubusercontent.com/u/919717?v=3","gravatar_id":"","url":"https://api.github.com/users/filiph","html_url":"https://github.com/filiph","followers_url":"https://api.github.com/users/filiph/followers","following_url":"https://api.github.com/users/filiph/following{/other_user}","gists_url":"https://api.github.com/users/filiph/gists{/gist_id}","starred_url":"https://api.github.com/users/filiph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/filiph/subscriptions","organizations_url":"https://api.github.com/users/filiph/orgs","repos_url":"https://api.github.com/users/filiph/repos","events_url":"https://api.github.com/users/filiph/events{/privacy}","received_events_url":"https://api.github.com/users/filiph/received_events","type":"User","site_admin":false},"body":"In the future, strong mode == only mode. The confusion is only temporary.","created_at":"2016-12-19T23:20:30Z","updated_at":"2016-12-19T23:34:52Z","html_url":"https://github.com/dart-lang/site-www/pull/206#discussion_r93141663","pull_request_url":"https://api.github.com/repos/dart-lang/site-www/pulls/206","_links":{"self":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/comments/93141663"},"html":{"href":"https://github.com/dart-lang/site-www/pull/206#discussion_r93141663"},"pull_request":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/206"}}},"pull_request":{"url":"https://api.github.com/repos/dart-lang/site-www/pulls/206","id":98635951,"html_url":"https://github.com/dart-lang/site-www/pull/206","diff_url":"https://github.com/dart-lang/site-www/pull/206.diff","patch_url":"https://github.com/dart-lang/site-www/pull/206.patch","issue_url":"https://api.github.com/repos/dart-lang/site-www/issues/206","number":206,"state":"open","locked":false,"title":"Adding a sound Dart FAQ","user":{"login":"Sfshaza","id":6293442,"avatar_url":"https://avatars.githubusercontent.com/u/6293442?v=3","gravatar_id":"","url":"https://api.github.com/users/Sfshaza","html_url":"https://github.com/Sfshaza","followers_url":"https://api.github.com/users/Sfshaza/followers","following_url":"https://api.github.com/users/Sfshaza/following{/other_user}","gists_url":"https://api.github.com/users/Sfshaza/gists{/gist_id}","starred_url":"https://api.github.com/users/Sfshaza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sfshaza/subscriptions","organizations_url":"https://api.github.com/users/Sfshaza/orgs","repos_url":"https://api.github.com/users/Sfshaza/repos","events_url":"https://api.github.com/users/Sfshaza/events{/privacy}","received_events_url":"https://api.github.com/users/Sfshaza/received_events","type":"User","site_admin":false},"body":"@filiph, Leaf LGTM'd this when it was in a google doc. Do you mind reviewing this for me?\r\n\r\nStaged: https://sz-www-1.firebaseapp.com/guides/language/sound-faq","created_at":"2016-12-19T20:40:21Z","updated_at":"2016-12-19T23:34:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8a2449354ae34302540dee355fe6db7a12f18bc2","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/dart-lang/site-www/pulls/206/commits","review_comments_url":"https://api.github.com/repos/dart-lang/site-www/pulls/206/comments","review_comment_url":"https://api.github.com/repos/dart-lang/site-www/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dart-lang/site-www/issues/206/comments","statuses_url":"https://api.github.com/repos/dart-lang/site-www/statuses/d475c91773ea373a6df186a18eb54dcc3383c2ee","head":{"label":"dart-lang:sound-faq","ref":"sound-faq","sha":"d475c91773ea373a6df186a18eb54dcc3383c2ee","user":{"login":"dart-lang","id":1609975,"avatar_url":"https://avatars.githubusercontent.com/u/1609975?v=3","gravatar_id":"","url":"https://api.github.com/users/dart-lang","html_url":"https://github.com/dart-lang","followers_url":"https://api.github.com/users/dart-lang/followers","following_url":"https://api.github.com/users/dart-lang/following{/other_user}","gists_url":"https://api.github.com/users/dart-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/dart-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dart-lang/subscriptions","organizations_url":"https://api.github.com/users/dart-lang/orgs","repos_url":"https://api.github.com/users/dart-lang/repos","events_url":"https://api.github.com/users/dart-lang/events{/privacy}","received_events_url":"https://api.github.com/users/dart-lang/received_events","type":"Organization","site_admin":false},"repo":{"id":63089994,"name":"site-www","full_name":"dart-lang/site-www","owner":{"login":"dart-lang","id":1609975,"avatar_url":"https://avatars.githubusercontent.com/u/1609975?v=3","gravatar_id":"","url":"https://api.github.com/users/dart-lang","html_url":"https://github.com/dart-lang","followers_url":"https://api.github.com/users/dart-lang/followers","following_url":"https://api.github.com/users/dart-lang/following{/other_user}","gists_url":"https://api.github.com/users/dart-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/dart-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dart-lang/subscriptions","organizations_url":"https://api.github.com/users/dart-lang/orgs","repos_url":"https://api.github.com/users/dart-lang/repos","events_url":"https://api.github.com/users/dart-lang/events{/privacy}","received_events_url":"https://api.github.com/users/dart-lang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dart-lang/site-www","description":"Source for Dart website","fork":false,"url":"https://api.github.com/repos/dart-lang/site-www","forks_url":"https://api.github.com/repos/dart-lang/site-www/forks","keys_url":"https://api.github.com/repos/dart-lang/site-www/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dart-lang/site-www/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dart-lang/site-www/teams","hooks_url":"https://api.github.com/repos/dart-lang/site-www/hooks","issue_events_url":"https://api.github.com/repos/dart-lang/site-www/issues/events{/number}","events_url":"https://api.github.com/repos/dart-lang/site-www/events","assignees_url":"https://api.github.com/repos/dart-lang/site-www/assignees{/user}","branches_url":"https://api.github.com/repos/dart-lang/site-www/branches{/branch}","tags_url":"https://api.github.com/repos/dart-lang/site-www/tags","blobs_url":"https://api.github.com/repos/dart-lang/site-www/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dart-lang/site-www/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dart-lang/site-www/git/refs{/sha}","trees_url":"https://api.github.com/repos/dart-lang/site-www/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dart-lang/site-www/statuses/{sha}","languages_url":"https://api.github.com/repos/dart-lang/site-www/languages","stargazers_url":"https://api.github.com/repos/dart-lang/site-www/stargazers","contributors_url":"https://api.github.com/repos/dart-lang/site-www/contributors","subscribers_url":"https://api.github.com/repos/dart-lang/site-www/subscribers","subscription_url":"https://api.github.com/repos/dart-lang/site-www/subscription","commits_url":"https://api.github.com/repos/dart-lang/site-www/commits{/sha}","git_commits_url":"https://api.github.com/repos/dart-lang/site-www/git/commits{/sha}","comments_url":"https://api.github.com/repos/dart-lang/site-www/comments{/number}","issue_comment_url":"https://api.github.com/repos/dart-lang/site-www/issues/comments{/number}","contents_url":"https://api.github.com/repos/dart-lang/site-www/contents/{+path}","compare_url":"https://api.github.com/repos/dart-lang/site-www/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dart-lang/site-www/merges","archive_url":"https://api.github.com/repos/dart-lang/site-www/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dart-lang/site-www/downloads","issues_url":"https://api.github.com/repos/dart-lang/site-www/issues{/number}","pulls_url":"https://api.github.com/repos/dart-lang/site-www/pulls{/number}","milestones_url":"https://api.github.com/repos/dart-lang/site-www/milestones{/number}","notifications_url":"https://api.github.com/repos/dart-lang/site-www/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dart-lang/site-www/labels{/name}","releases_url":"https://api.github.com/repos/dart-lang/site-www/releases{/id}","deployments_url":"https://api.github.com/repos/dart-lang/site-www/deployments","created_at":"2016-07-11T17:57:36Z","updated_at":"2016-10-24T09:42:17Z","pushed_at":"2016-12-19T20:40:21Z","git_url":"git://github.com/dart-lang/site-www.git","ssh_url":"git@github.com:dart-lang/site-www.git","clone_url":"https://github.com/dart-lang/site-www.git","svn_url":"https://github.com/dart-lang/site-www","homepage":"https://www.dartlang.org/","size":8941,"stargazers_count":7,"watchers_count":7,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":13,"mirror_url":null,"open_issues_count":87,"forks":13,"open_issues":87,"watchers":7,"default_branch":"master"}},"base":{"label":"dart-lang:master","ref":"master","sha":"92f31dbc12adb86b7c7464f71a2d88f12a9e80f3","user":{"login":"dart-lang","id":1609975,"avatar_url":"https://avatars.githubusercontent.com/u/1609975?v=3","gravatar_id":"","url":"https://api.github.com/users/dart-lang","html_url":"https://github.com/dart-lang","followers_url":"https://api.github.com/users/dart-lang/followers","following_url":"https://api.github.com/users/dart-lang/following{/other_user}","gists_url":"https://api.github.com/users/dart-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/dart-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dart-lang/subscriptions","organizations_url":"https://api.github.com/users/dart-lang/orgs","repos_url":"https://api.github.com/users/dart-lang/repos","events_url":"https://api.github.com/users/dart-lang/events{/privacy}","received_events_url":"https://api.github.com/users/dart-lang/received_events","type":"Organization","site_admin":false},"repo":{"id":63089994,"name":"site-www","full_name":"dart-lang/site-www","owner":{"login":"dart-lang","id":1609975,"avatar_url":"https://avatars.githubusercontent.com/u/1609975?v=3","gravatar_id":"","url":"https://api.github.com/users/dart-lang","html_url":"https://github.com/dart-lang","followers_url":"https://api.github.com/users/dart-lang/followers","following_url":"https://api.github.com/users/dart-lang/following{/other_user}","gists_url":"https://api.github.com/users/dart-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/dart-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dart-lang/subscriptions","organizations_url":"https://api.github.com/users/dart-lang/orgs","repos_url":"https://api.github.com/users/dart-lang/repos","events_url":"https://api.github.com/users/dart-lang/events{/privacy}","received_events_url":"https://api.github.com/users/dart-lang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dart-lang/site-www","description":"Source for Dart website","fork":false,"url":"https://api.github.com/repos/dart-lang/site-www","forks_url":"https://api.github.com/repos/dart-lang/site-www/forks","keys_url":"https://api.github.com/repos/dart-lang/site-www/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dart-lang/site-www/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dart-lang/site-www/teams","hooks_url":"https://api.github.com/repos/dart-lang/site-www/hooks","issue_events_url":"https://api.github.com/repos/dart-lang/site-www/issues/events{/number}","events_url":"https://api.github.com/repos/dart-lang/site-www/events","assignees_url":"https://api.github.com/repos/dart-lang/site-www/assignees{/user}","branches_url":"https://api.github.com/repos/dart-lang/site-www/branches{/branch}","tags_url":"https://api.github.com/repos/dart-lang/site-www/tags","blobs_url":"https://api.github.com/repos/dart-lang/site-www/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dart-lang/site-www/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dart-lang/site-www/git/refs{/sha}","trees_url":"https://api.github.com/repos/dart-lang/site-www/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dart-lang/site-www/statuses/{sha}","languages_url":"https://api.github.com/repos/dart-lang/site-www/languages","stargazers_url":"https://api.github.com/repos/dart-lang/site-www/stargazers","contributors_url":"https://api.github.com/repos/dart-lang/site-www/contributors","subscribers_url":"https://api.github.com/repos/dart-lang/site-www/subscribers","subscription_url":"https://api.github.com/repos/dart-lang/site-www/subscription","commits_url":"https://api.github.com/repos/dart-lang/site-www/commits{/sha}","git_commits_url":"https://api.github.com/repos/dart-lang/site-www/git/commits{/sha}","comments_url":"https://api.github.com/repos/dart-lang/site-www/comments{/number}","issue_comment_url":"https://api.github.com/repos/dart-lang/site-www/issues/comments{/number}","contents_url":"https://api.github.com/repos/dart-lang/site-www/contents/{+path}","compare_url":"https://api.github.com/repos/dart-lang/site-www/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dart-lang/site-www/merges","archive_url":"https://api.github.com/repos/dart-lang/site-www/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dart-lang/site-www/downloads","issues_url":"https://api.github.com/repos/dart-lang/site-www/issues{/number}","pulls_url":"https://api.github.com/repos/dart-lang/site-www/pulls{/number}","milestones_url":"https://api.github.com/repos/dart-lang/site-www/milestones{/number}","notifications_url":"https://api.github.com/repos/dart-lang/site-www/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dart-lang/site-www/labels{/name}","releases_url":"https://api.github.com/repos/dart-lang/site-www/releases{/id}","deployments_url":"https://api.github.com/repos/dart-lang/site-www/deployments","created_at":"2016-07-11T17:57:36Z","updated_at":"2016-10-24T09:42:17Z","pushed_at":"2016-12-19T20:40:21Z","git_url":"git://github.com/dart-lang/site-www.git","ssh_url":"git@github.com:dart-lang/site-www.git","clone_url":"https://github.com/dart-lang/site-www.git","svn_url":"https://github.com/dart-lang/site-www","homepage":"https://www.dartlang.org/","size":8941,"stargazers_count":7,"watchers_count":7,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":13,"mirror_url":null,"open_issues_count":87,"forks":13,"open_issues":87,"watchers":7,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/206"},"html":{"href":"https://github.com/dart-lang/site-www/pull/206"},"issue":{"href":"https://api.github.com/repos/dart-lang/site-www/issues/206"},"comments":{"href":"https://api.github.com/repos/dart-lang/site-www/issues/206/comments"},"review_comments":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/206/comments"},"review_comment":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/206/commits"},"statuses":{"href":"https://api.github.com/repos/dart-lang/site-www/statuses/d475c91773ea373a6df186a18eb54dcc3383c2ee"}}}}
{"actor":{"display_login":"filiph"}}