what's the different with using $scope and explicitly using ctrl as namespace? : <p>We can use <code>$scope</code> as a namespace in angularJS</p>

<p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-js lang-js prettyprint-override"><code>    angular.module('myApp',[])
           .controller("myController", function($scope){
            $scope.info = "Hello";
    })</code></pre>
<pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"&gt;&lt;/script&gt;

&lt;body ng-app="myApp"&gt;
    &lt;div ng-controller="myController"&gt;
         &lt;input type="text" ng-model="info"&gt;
         {{info}}
    &lt;/div&gt;
  &lt;/body&gt;</code></pre>
</div>
</div>
</p>

<p>or we can use <code>this</code> explicitly in <code>controller</code> and use the controller name as namespace in view like:</p>

<p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-js lang-js prettyprint-override"><code>    angular.module('myApp',[])
           .controller("myController", function(){
            this.info = "Hello";
    })</code></pre>
<pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"&gt;&lt;/script&gt;
&lt;body ng-app="myApp"&gt;
    &lt;div ng-controller="myController as ctrl"&gt;
         &lt;input type="text" ng-model="ctrl.info"&gt;
         {{ctrl.info}}
    &lt;/div&gt;
&lt;/body&gt;</code></pre>
</div>
</div>
</p>

<p>My question is what's the difference and what choose to use?   </p>
