<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Chakravarthy's Space : Definition</title><link>http://msmvps.com/blogs/chakravarthy/archive/tags/Definition/default.aspx</link><description>Tags: Definition</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>C# 3.0 - What's New : {Implicit}-Part1</title><link>http://msmvps.com/blogs/chakravarthy/archive/2007/08/24/c-3-0-what-s-new-implicit-part1.aspx</link><pubDate>Fri, 24 Aug 2007 05:33:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1134530</guid><dc:creator>Chakravarthy</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/chakravarthy/rsscomments.aspx?PostID=1134530</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/chakravarthy/commentapi.aspx?PostID=1134530</wfw:comment><comments>http://msmvps.com/blogs/chakravarthy/archive/2007/08/24/c-3-0-what-s-new-implicit-part1.aspx#comments</comments><description>&lt;p&gt;Recent development in my technical life is that, started working out with Orcas Beta 2. So, thought to blog about the latest happenings with C# language. The idea emerged to start a series of posts related to C# new features. This is the first of ever such kind of blogging specific to a topic. 
&lt;p&gt;C# 3.0 has many-a-new features. To start with, let me take a concept of &lt;b&gt;Implicitly Typed Variables&lt;/b&gt;. 
&lt;p&gt;&lt;b&gt;Implicitly Typed Variables&lt;/b&gt; 
&lt;p&gt;In the good old days, the developer has to worry about the type of the variable. Say for instance, whether to use long or double for a counter. Here&amp;nbsp;all that we observe&amp;nbsp;is that the language that is&amp;nbsp;built upon is the type specific.&amp;nbsp;Hence forth the developer is not required to define the type of the variable at the time of declaration, but it is the task of the compiler to decide what type of the object the variable is. All that the developer has to do is that, use the &lt;b&gt;var&lt;/b&gt; keyword while declaring the variable, similar to that of JScript or Visual Basic style. Hey!!! Stop!!!!! don&amp;#39;t get confuse with the type of &lt;strong&gt;VAR&lt;/strong&gt; variables declared at&amp;nbsp;JScript or Visual basic.&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s first discuss the difference between VAR variables at JScript and VAR variables of C#&lt;/p&gt;
&lt;table class="" cellspacing="0" cellpadding="2"&gt;

&lt;tr&gt;
&lt;td class="" align="middle"&gt;&lt;font size="2"&gt;VAR JScript&lt;/font&gt;&lt;/td&gt;
&lt;td class="" align="middle"&gt;&lt;font size="2"&gt;VAR C#&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;This is of no type&lt;/font&gt;&lt;/td&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;The type of the variable is defined by the value declared and decided at the compile time&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;Technically have no type. Can consider of limited types, namely, string literal, numeric, boolean &lt;/font&gt;&lt;/td&gt;
&lt;td class=""&gt;Type agnostic, have specific predefined formats&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;Type conversion is coercion&lt;/font&gt;&lt;/td&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;Type casting is simple and handled by CLR&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;No mechanism for parsing&lt;/font&gt;&lt;/td&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;explicit functions for parsing to specific type&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Now, let us see the difference between the language specific VAR of VisualBasic 6.0&amp;nbsp;and C# 3.0&lt;/p&gt;
&lt;table class="" cellspacing="0" cellpadding="2"&gt;

&lt;tr&gt;
&lt;td class="" align="middle"&gt;&lt;font size="2"&gt;VAR in VB (but not .NET)&lt;/font&gt;&lt;/td&gt;
&lt;td class="" align="middle"&gt;&lt;font size="2"&gt;VAR in C# 3.0&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;By definition, these are Variant &lt;/font&gt;&lt;/td&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;Type of the variable is defined at the compile time&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;Could be any allowed type from with in the known types of the language&lt;/font&gt;&lt;/td&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;Type is decided by the value associated with the variable&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;Largest among all the known&amp;nbsp;data tydpes&lt;/font&gt;&lt;/td&gt;
&lt;td class=""&gt;&lt;font size="2"&gt;Size depends on the type of the&amp;nbsp;value initialised&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;To summarize, the variables declared in C# 3.0 are type specific, &lt;strong&gt;thou&lt;/strong&gt; used the key word &lt;strong&gt;VAR&lt;/strong&gt;, during the declaration. Thus, we can conclude that the compiler is the responsible point to decide the type of the variable. Hence we can say with&amp;nbsp;comfort that, the variables from C# 3.0 are &lt;strong&gt;Implicitly Typed&lt;/strong&gt; variables. &lt;/p&gt;
&lt;p&gt;Some examples as mentioned below.&lt;/p&gt;&lt;pre class="code"&gt;            &lt;span&gt;var&lt;/span&gt; vIntVal = 10; &lt;span&gt;// This will be the System.Int32 type
&lt;/span&gt;            &lt;span&gt;var&lt;/span&gt; vLongVal = 10000000000; &lt;span&gt;// This will be the System.Int64 type
&lt;/span&gt;            &lt;span&gt;var&lt;/span&gt; vDoubleVal = 10.0; &lt;span&gt;// This will be the System.Double type
&lt;/span&gt;            &lt;span&gt;var&lt;/span&gt; vFloatVal = 10.0f; &lt;span&gt;// This will be the System.Single type
&lt;/span&gt;            &lt;span&gt;float&lt;/span&gt; vFlVal = 10.0f; &lt;span&gt;// Thou defined using float key word, but inherits from Struct System.Single 
&lt;/span&gt;            &lt;span&gt;var&lt;/span&gt; vStrVal = &lt;span&gt;&amp;quot;String Value &amp;quot;&lt;/span&gt;;  &lt;span&gt;// This will be the System.String type
&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;So, from the above declarations, it is pretty clear that the variable is defined by the value associated during the declaration. The type is not just limited to the kind of data types as explained above, but you can extend this to any type of the variable that you use while writing code for iterations, similar such as &lt;strong&gt;&lt;font color="#0000ff"&gt;foreach&lt;/font&gt;&lt;/strong&gt;. Below is the example for other known types.&lt;/p&gt;&lt;pre class="code"&gt;            &lt;span&gt;foreach&lt;/span&gt; (&lt;span&gt;var&lt;/span&gt; vTable &lt;span&gt;in&lt;/span&gt; ds.Tables) &lt;span&gt;// Implicitly declared a variable of Data Table Type
&lt;/span&gt;            {
                &lt;span&gt;foreach&lt;/span&gt; (&lt;span&gt;var&lt;/span&gt; vRow &lt;span&gt;in&lt;/span&gt; ((&lt;span&gt;DataTable&lt;/span&gt;) vTable).Rows) &lt;span&gt;// Implicit declaration of DataRow variable
&lt;/span&gt;                {

                }
            }
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;By using such, one can extend any extent. The limit is the imagination of the developer. What do you say?&lt;/p&gt;
&lt;p&gt;Source: &lt;/p&gt;
&lt;p&gt;1) &lt;a title="http://cobdev.cob.isu.edu/psb/jscript/306.htm" href="http://cobdev.cob.isu.edu/psb/jscript/306.htm"&gt;http://cobdev.cob.isu.edu/psb/jscript/306.htm&lt;/a&gt;&amp;nbsp;for JScript&lt;br /&gt;2) &lt;a title="http://www.1sayfa.com/1024/diger/vb/ch07.htm" href="http://www.1sayfa.com/1024/diger/vb/ch07.htm"&gt;http://www.1sayfa.com/1024/diger/vb/ch07.htm&lt;/a&gt;&amp;nbsp;for Visual Basic 6.0 Datatypes&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:80c6bbbe-a3e3-4b04-813c-476e8089f26c" style="PADDING-RIGHT:0px;DISPLAY:inline;PADDING-LEFT:0px;PADDING-BOTTOM:0px;MARGIN:0px;PADDING-TOP:0px;"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/CSharp" rel="tag"&gt;CSharp&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/3.0" rel="tag"&gt;3.0&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Code" rel="tag"&gt;Code&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Tips" rel="tag"&gt;Tips&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Implicit" rel="tag"&gt;Implicit&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1134530" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/chakravarthy/archive/tags/C_2300_+3.0/default.aspx">C# 3.0</category><category domain="http://msmvps.com/blogs/chakravarthy/archive/tags/Definition/default.aspx">Definition</category><category domain="http://msmvps.com/blogs/chakravarthy/archive/tags/First/default.aspx">First</category><category domain="http://msmvps.com/blogs/chakravarthy/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/chakravarthy/archive/tags/Code/default.aspx">Code</category></item><item><title>PaaS or SaaS</title><link>http://msmvps.com/blogs/chakravarthy/archive/2007/07/26/paas-or-saas.aspx</link><pubDate>Thu, 26 Jul 2007 12:37:52 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1058897</guid><dc:creator>Chakravarthy</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/chakravarthy/rsscomments.aspx?PostID=1058897</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/chakravarthy/commentapi.aspx?PostID=1058897</wfw:comment><comments>http://msmvps.com/blogs/chakravarthy/archive/2007/07/26/paas-or-saas.aspx#comments</comments><description>&lt;p&gt;There is a big debate going on with these two buzz words. Before we get to the point of this post, let&amp;#39;s first examine what they are... and what they mean by to the development force.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;SaaS&lt;/strong&gt; : By definition it goes like this, Software As A Service. In the good olden days, we are used to think the application as whole system and all the modules have to function only with in. But as the technology evolved and the new horizons are leading the development process to newer levels, we got a new dimension as &amp;quot;Web Service&amp;quot;. This concept then further raise the functionality&amp;nbsp;of the individual modules&amp;nbsp;belonging to&amp;nbsp;the big application turn&amp;nbsp;into smaller parts of reusable components by other applications as well. Resulting the module as a service altogether for any and every consumer application.&lt;/p&gt; &lt;p&gt;This left the architects to view their application in smaller, exportable as well as consumable by different vendors or applications. This led to the concept of designing every application to foresee the reusability and come up with a kind of an architecture, so that every module inside the application is targeted as service. Hence the concept of &amp;quot;Software as a Service&amp;quot;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;PaaS&lt;/strong&gt; : By definition it goes like this,&amp;nbsp;Platform As A Service. In the recent&amp;nbsp;days, the paradigm of application switched over from an individual&amp;nbsp;point of&amp;nbsp;a specialized vertical to the combination&amp;nbsp;with the external functionality as well.&amp;nbsp;As mentioned above, the applications started consuming the Services from external world and expanding their domain functionality. The industry is not just satisfied there with. &lt;/p&gt; &lt;p&gt;Some thing more wanted and flexibility with in the application brought the idea of &amp;quot;Platform neutral&amp;quot; into limelight. Resulting that the application concept attain the new veneer. The architects started visualizing the need&amp;nbsp;for the application&amp;nbsp;platform, as a&amp;nbsp;whole,&amp;nbsp;to be flexible enough to work as a service. Leading to the new scope of web availability to every anonymous user.&lt;/p&gt; &lt;p&gt;-------------------------------------------&lt;/p&gt; &lt;p&gt;This is my first post that ever&amp;nbsp;made me to think very deeply and came out of my&amp;nbsp;own words... How is this ?&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:7074559e-ee89-4c24-a4aa-f309fb6bebc1" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/SaaS" rel="tag"&gt;SaaS&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/paaS" rel="tag"&gt;paaS&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:2e1df5d7-8fe4-440c-b8fc-6b55a0c50154" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PaaS" rel="tag"&gt;PaaS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SaaS" rel="tag"&gt;SaaS&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1058897" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/chakravarthy/archive/tags/Definition/default.aspx">Definition</category><category domain="http://msmvps.com/blogs/chakravarthy/archive/tags/PaaS/default.aspx">PaaS</category><category domain="http://msmvps.com/blogs/chakravarthy/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://msmvps.com/blogs/chakravarthy/archive/tags/First/default.aspx">First</category></item></channel></rss>