<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Olaf Minkowicz</title>
    <description>The latest articles on Forem by Olaf Minkowicz (@rooktko).</description>
    <link>https://forem.com/rooktko</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F232084%2F1e8a52dd-8f0a-4ec5-976f-76364fd0e774.jpg</url>
      <title>Forem: Olaf Minkowicz</title>
      <link>https://forem.com/rooktko</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rooktko"/>
    <language>en</language>
    <item>
      <title>The Misconception of Functional Programming in JavaScript</title>
      <dc:creator>Olaf Minkowicz</dc:creator>
      <pubDate>Fri, 03 Jan 2020 02:51:59 +0000</pubDate>
      <link>https://forem.com/rooktko/the-misconception-of-functional-programming-in-javascript-35cc</link>
      <guid>https://forem.com/rooktko/the-misconception-of-functional-programming-in-javascript-35cc</guid>
      <description>&lt;p&gt;The term functional programming gets thrown about when developers talk about it in the context of JavaScript and it seems to a term that is very much understood by junior developers. This article is a breakdown of the term itself, how it’s used in JavaScript and how it’s being applied in popular frameworks such as React.&lt;/p&gt;

&lt;p&gt;Functional programming, the term has been around since the 1930s and has its origins in lambda calculus. That specific term, “functional programming”, refers to a programming paradigm (classification of programming languages regarding their features and architecture) that refers to the consistent evaluation of mathematical computational models and functions that avoid changing state and mutable data.&lt;/p&gt;

&lt;p&gt;Now while JavaScript can be classified as a functional programming language and has the capabilities to be written in that specific structure it supports multiple different programming paradigms and is classified under several. With the introduction of classes in ECMAScript 2015 more individuals start debating overusing object-oriented programming vs functional programming. Now while we have the syntactic sugar of classes it does NOT introduce any new object-oriented inheritance models to JavaScript. Classes are just a thin layer of paint on top of JavaScript’s prototype inheritance. &lt;/p&gt;

&lt;p&gt;In React you can have functional components and class components. Before the introduction of React hooks, only class components had state and functional (stateless) components that could be classified as being written in a functional programming model. Now with hooks, you can use state in functional components and it’s up in the air if you could consider them written in a functional programming architecture now that state is being used in them. The whole point of the functional programming paradigm is avoiding changing state while evaluating functions, with the addition of hooks letting you change state it is void of that.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>functional</category>
    </item>
    <item>
      <title>Passing parameters with modifiers in C#</title>
      <dc:creator>Olaf Minkowicz</dc:creator>
      <pubDate>Wed, 02 Oct 2019 23:42:14 +0000</pubDate>
      <link>https://forem.com/rooktko/passing-parameters-with-modifiers-in-c-57ll</link>
      <guid>https://forem.com/rooktko/passing-parameters-with-modifiers-in-c-57ll</guid>
      <description>&lt;p&gt;A parameter is a variable that holds some sort of value that is passed as information into a function, procedure or method. Function, procedure, and method can be used as synonymous terms as they are named differently in different computer languages. (Guidelines, 2019)&lt;/p&gt;

&lt;p&gt;If you do not want to change the value of the arguments you are passing into a method you will “pass by value”. This way the initial arguments passed into the method as it’s parameters will not have their values changed even if they are modified in the body of the method. If you want to change the value of the arguments you are passing into your method and have them persist within your working environment you will then have them “pass by reference”. &lt;/p&gt;

&lt;p&gt;There are several ways you can pass parameters in a method.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter Modifier&lt;/th&gt;
&lt;th&gt;Passed By&lt;/th&gt;
&lt;th&gt;Explicitly Assigned Before&lt;/th&gt;
&lt;th&gt;Variables Changed Within&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;Value&lt;/td&gt;
&lt;td&gt;Going In&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ref&lt;/td&gt;
&lt;td&gt;Reference&lt;/td&gt;
&lt;td&gt;Going out&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;out&lt;/td&gt;
&lt;td&gt;Reference&lt;/td&gt;
&lt;td&gt;Going out&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;in&lt;/td&gt;
&lt;td&gt;Reference&lt;/td&gt;
&lt;td&gt;Going in&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;params&lt;/td&gt;
&lt;td&gt;Reference&lt;/td&gt;
&lt;td&gt;Going out&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;When we say that the parameter is passed by the value we mean that a copy of that value is passed to the method. You can “pass by value” a value data type or a reference data type parameter and that parameter being passed will be an independent reference to the original value or reference type. (Albahari &amp;amp; Albahari, 2010) The copy that is being passed holds a different memory location than the original value.&lt;/p&gt;

&lt;p&gt;It should be also noted that a parameter can be passed by reference or by value regardless of the parameter type, being value or reference. (Albahari &amp;amp; Albahari, 2006)&lt;/p&gt;

&lt;p&gt;Don’t confuse passing by reference or passing by value with reference or value types. Below is a quick overview guide for value types and reference types. It is not a complete reference to all value and reference types but an overview to give a reminder and give context to the keywords we are using. (Wenzel, et al., 2019)&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Value Type&lt;/th&gt;
&lt;th&gt;Reference Type&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;bool&lt;/td&gt;
&lt;td&gt;Class&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;byte&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;char&lt;/td&gt;
&lt;td&gt;Delegate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;decimal&lt;/td&gt;
&lt;td&gt;Dymanic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;double&lt;/td&gt;
&lt;td&gt;Object&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;enum&lt;/td&gt;
&lt;td&gt;Array&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Passing a value into a method with no modifier
&lt;/h2&gt;

&lt;p&gt;By default, in C# passing parameters through methods is done by value, which is the most common way of passing parameters in methods. (Albahari &amp;amp; Albahari, 2010)&lt;/p&gt;

&lt;h3&gt;
  
  
  Default modifier
&lt;/h3&gt;

&lt;p&gt;The initial value that we pass into the method will never have its original value changed, as shown below in the snippet of code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;Main&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;8&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//items is asisgned 8&lt;/span&gt;
    &lt;span class="nf"&gt;itemsInStock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Items to add to stock : {0}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="c1"&gt;//the variable items does not have its value changed&lt;/span&gt;
    &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ReadLine&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;itemsInStock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;totalStock&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;50&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;items&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;totalStock&lt;/span&gt; &lt;span class="p"&gt;+&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"new items available in Stock : {0}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="c1"&gt;//items has its variable changed within the scope&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your output will be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;New items available in Stock: 58&lt;br&gt;
Items to add to stock : 8&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Passing values into a method with modifiers:
&lt;/h3&gt;

&lt;p&gt;When you pass a parameter by reference it allows you to change the value of that passed parameter into the method while having it persist in the environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reference parameters: ref modifier
&lt;/h2&gt;

&lt;p&gt;When using the ref modifier, it specifies that the parameter being passed into the method is being passed by reference and not by value. This means that the values passed in as a parameter with the ref modifier have the same corresponding memory location and their values, if changed, will persist in the scope outside of the method.&lt;/p&gt;

&lt;p&gt;Before passing an argument with the ref modifier you must explicitly initialize it. The ref modifier is required both in writing and calling the method. (Data, 2001)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;Main&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;8&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//items is asisgned 8&lt;/span&gt;
    &lt;span class="nf"&gt;itemsInStock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;ref&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Items to add to stock : {0}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="c1"&gt;//the variable items has its value changed&lt;/span&gt;
    &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ReadLine&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;itemsInStock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;ref&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;totalStock&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;50&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;items&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;totalStock&lt;/span&gt; &lt;span class="p"&gt;+&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"new items available in Stock : {0}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="c1"&gt;//items has its variable changed within the scope&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your output will be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;New items available in Stock: 58&lt;br&gt;
Items to add to stock : 58&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Output parameter: out modifier
&lt;/h2&gt;

&lt;p&gt;An out modifier is like a ref modifier in that it does not create a new storage location in memory for the passed argument. It is different from the ref modifier because you do not need to initialize the variable before it is passed. It also needs to be declared in the method definition and when calling the method.&lt;/p&gt;

&lt;p&gt;The main purpose of using the out modifier is to be used when you have a need to have multiple return values. (Data, 2001)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;Main&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;8&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//items is assigned 8&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;apple&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;orange&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nf"&gt;itemsInStock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;out&lt;/span&gt; &lt;span class="n"&gt;apple&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;out&lt;/span&gt; &lt;span class="n"&gt;orange&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Items to add to stock : {0}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="c1"&gt;//the variable items has its value changed&lt;/span&gt;

    &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ReadLine&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;itemsInStock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;out&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;apple&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;out&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;orange&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;apple&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="n"&gt;orange&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;totalStock&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;50&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="n"&gt;items&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;totalStock&lt;/span&gt; &lt;span class="p"&gt;+&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"New items available in Stock : {0}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="c1"&gt;//items has its variable changed within the scope&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your output will be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;New items available in Stock: 58&lt;br&gt;
Items to add to stock : 8&lt;br&gt;
We have 5 apples and 10 oranges.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  In parameters: in modifier
&lt;/h2&gt;

&lt;p&gt;If you want to pass a parameter by reference read-only into a method with the intent of not copying the value but also not wanting to change the value you will need to use the in modifier. The only reason for using the in modifier would be for use in high-performance scenarios because passing an argument is constant and doesn’t depend on the size of the value. (Tepliakov, 2018) &lt;/p&gt;

&lt;h2&gt;
  
  
  Parameter array: params modifier
&lt;/h2&gt;

&lt;p&gt;A parameter declared with a params modifier takes any variable number of arguments separated by commas or an array. You may also choose to specific no arguments which will result in the length of the params parameter list as 0. (Data, 2001) Its primary use is as a shorthand to input as many parameters you would like with no need to specify the use of an array.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A parameter passed by a ref modifier corresponds to the actual memory location of that value and if changed will persist outside the method scope/&lt;/li&gt;
&lt;li&gt;The out modifier should be used when you need to have multiple return values.&lt;/li&gt;
&lt;li&gt;The in modifier references the memory location of the parameter like the ref modifier but it will not allow the arguments passed to be changed. &lt;/li&gt;
&lt;li&gt;The params modifier takes any number of parameters passed onto it separated by commas, an array or none. It is useful as shorthand and when you do not know the specificity of an array length.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;p&gt;Albahari, J., &amp;amp; Albahari, B. (2006). &lt;em&gt;C# 4.0 IN A NUTSHELL The Definitive Reference.&lt;/em&gt; Sebastopol: O'Reilly Media, Inc.&lt;/p&gt;

&lt;p&gt;Albahari, J., &amp;amp; Albahari, B. (2010). &lt;em&gt;C# 4.0 Pocket Reference.&lt;/em&gt; Sebastopol, CA, USA: O'Reilly Media. Retrieved October 1, 2019&lt;/p&gt;

&lt;p&gt;Data, L. o.-i.-P. (2001). &lt;em&gt;Microsoft C# Language Specifications.&lt;/em&gt; Redmond: Microsoft Press.&lt;/p&gt;

&lt;p&gt;Guidelines, V. V. (2019, October 1). &lt;em&gt;Definitions of Words with Special Meanings.&lt;/em&gt; Retrieved from U.S. Election Assistance Commission: &lt;a href="https://web.archive.org/web/20121208084203/http://www.eac.gov/vvsg/glossary.aspx"&gt;Online&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tepliakov, S. (2018, March 7). &lt;em&gt;The ‘in’-modifier and the readonly structs in C#.&lt;/em&gt; Retrieved from Microsoft Premier Developer: &lt;a href="https://devblogs.microsoft.com/premier-developer/the-in-modifier-and-the-readonly-structs-in-c/"&gt;Online&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wenzel, M., Wagner, B., A, A., Latham, L., Schonning, N., Hoffman, M., &amp;amp; B, M. (2019, October 1). &lt;em&gt;Reference types (C# Reference).&lt;/em&gt; Retrieved from Microsoft Documentation : &lt;a href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/reference-types"&gt;Online&lt;/a&gt;&lt;/p&gt;

</description>
      <category>csharp</category>
      <category>dotnet</category>
    </item>
    <item>
      <title>ECMA Who? ECMA What? You should get that checked out!</title>
      <dc:creator>Olaf Minkowicz</dc:creator>
      <pubDate>Fri, 27 Sep 2019 13:49:33 +0000</pubDate>
      <link>https://forem.com/rooktko/ecma-who-ecma-what-you-should-get-that-checked-out-2l1i</link>
      <guid>https://forem.com/rooktko/ecma-who-ecma-what-you-should-get-that-checked-out-2l1i</guid>
      <description>&lt;h1&gt;
  
  
  &lt;strong&gt;What is ECMAScript, ECMA-262, and JavaScript?&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/10bdAP4IOmoN7G/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/10bdAP4IOmoN7G/giphy.gif" alt="Javascript isn't that hard guys!"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ECMAScript&lt;/strong&gt; is the standardized scripting-language procedures and specifications by the (European Computer Manufacturers Association) ECMA International. The best-known implementation of these scripting-language standards and procedures is JavaScript, JScript, and ActionScript. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JavaScript&lt;/strong&gt; is the scripting language, which was created within ten days, developed by Brendan Eich for Netscape. It was originally named Mocha, then renamed LiveScript and finally to JavaScript. The prefix Java makes it seem like it has some type of relation to Java the interpreted programming language, but it does not. JavaScript and Java are two different languages.[&lt;a href="https://www.crockford.com/javascript/javascript.html"&gt;1&lt;/a&gt;]&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;JScript&lt;/strong&gt; is Microsoft’s implementation of ECMAScript but could be described more efficiently as a dialect of ECMAScript.[&lt;a href="https://docs.microsoft.com/en-us/previous-versions//hbxc2t98(v=vs.85)"&gt;2&lt;/a&gt;]&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;ActionScript&lt;/strong&gt; is another dialect of ECMAScript that was originally developed by Macromedia Inc. for Macromedia Flash before it got acquired by Adobe and became Adobe Flash; later changed to be known as Adobe Animate.[&lt;a href="https://helpx.adobe.com/animate/kb/flash_is_now_animate_cc.html"&gt;3&lt;/a&gt;]&lt;/p&gt;




&lt;p&gt;One of the most popular supersets of JavaScript would be Microsoft own open-source language &lt;strong&gt;TypeScript&lt;/strong&gt;. Typescript transcompiles to JavaScript. What that means is that it takes its current source code and produces the source code in a different language like in this instance JavaScript. Why use it then? Well, as its name states, it has static typing as well as other features. Typescript has a more object-oriented programming approach compared to JavaScript. &lt;/p&gt;




&lt;p&gt;There’s always confusion between ECMAScript, JavaScript, and the technical standard language specification ECMA-262. This snippet from an interview with InfoWorld and Brendan Eich should give some insight to it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;InfoWorld: What’s the difference between ECMAScript and JavaScript, or are they one and the same?&lt;br&gt;
Eich: ECMAScript is the standards name for the language. Its number is ECMA-262 and it’s a name that the standards body came up with because they couldn’t get anybody to donate a trademark that was agreeable to all parties. So there’s an issue with marketing the programming languages.&lt;br&gt;
JavaScript would have been the ideal name because that’s what everyone called it and that’s what the books call it. Microsoft couldn’t get a license from Sun so they called their implementation JScript. So ECMA wanted to call it something and they couldn’t get anybody to donate or they couldn’t get everybody to agree to a donation of the trademark, so they ended up inventing ECMAScript, which sounds a little like a skin disease. Nobody really wants it.&lt;br&gt;
And so you have this funny [situation] where you have a standard with a funny name or number and then various implementations that have trade names. And the trade names don’t have a huge value, except JavaScript is the common name. It’s in all the books, it’s what people say. [&lt;a href="https://www.infoworld.com/article/2653798/javascript-creator-ponders-past--future.html"&gt;4&lt;/a&gt;]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/EeBiJUEHxCOA0/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/EeBiJUEHxCOA0/giphy.gif" alt="Mind Blow - See you next time!"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.crockford.com/javascript/javascript.html"&gt;1&lt;/a&gt;     D. Crockford, "JavaScript: The World's Most Misunderstood Programming Language," 2001. [Online].&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.microsoft.com/en-us/previous-versions//hbxc2t98(v=vs.85)"&gt;2&lt;/a&gt; "JScript (ECMAScript3)," 23 October 2011. [Online].&lt;/p&gt;

&lt;p&gt;&lt;a href="https://helpx.adobe.com/animate/kb/flash_is_now_animate_cc.html"&gt;3&lt;/a&gt;     "Where is Flash Professional?," 8 May 2019. [Online]. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.infoworld.com/article/2653798/javascript-creator-ponders-past--future.html"&gt;4&lt;/a&gt;     P. Krill, "JavaScript creator ponders past, future," InfoWorld, 23 June 2008. [Online]. &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
