The idea behind the state of Imperative languagesCan bottom-up architectures be effectively programmed in...

Run a command that requires sudo after a time has passed

Ethernet cable only works in certain positions

"Cheaper by the dozen" phrase origin?

Is layered encryption more secure than long passwords?

Headless horseman claims new head

Prove that a cyclic group with only one generator can have at most 2 elements

Found a major flaw in paper from home university – to which I would like to return

The totem pole can be grouped into

What is the Guild Die for?

Why don't hotels offer (at least) 1 kitchen bookable by any guest?

Would life expectancy increase if we replaced healthy organs with artificial ones?

Why are energy weapons seen as more acceptable in children's shows than guns that fire bullets?

Is the "hot network questions" element on Stack Overflow a dark pattern?

Smooth Density Histogram with probability areas

Should corporate security training be tailored based on a users' job role?

Which was the first story to feature space elevators?

Why do most space probes survive for far longer than they were designed for?

Can a planet be tidally unlocked?

Does an increasing sequence of reals converge if the difference of consecutive terms approaches zero?

Taking an academic pseudonym?

Diagram in Tikz environment

If an area is covered in both Ball Bearings and Caltrops, does the creature need to move at half speed or quarter speed to avoid both their effects?

Negotiating 1-year delay to my Assistant Professor Offer

Why Third 'Reich'? Why is 'reich' not translated when 'third' is? What is the English synonym of reich?



The idea behind the state of Imperative languages


Can bottom-up architectures be effectively programmed in top-down paradigms?Isn't Functional Programming just Imperative Programming in disguise?What problems of procedural programming does OOP solve in practice?Why are functional languages Turing complete?Computer Scientific term for languages outside the Logic Programming paradigmCan we do everything in imperative languages with a functional language if it does not allow for a 'state'?How does a language abstract away from underlying byte machines?What does it mean that HDLs “explicitly include the notion of time”?Design considerations for a language to support automatic parallelizationHow is it that programs can be identified with partial functions for programming language semantics?













2












$begingroup$


I was reading about programming paradigms and I have a question about the state when speaking about Imperative languages. What does it mean to change the program's state? Is it just an abstract idea? I know that C is in the Imperative paradigm (In fact in the Procedural paradigm), so it has a state, but I don't understand how it is expressed in language. Is there a special space in memory that contain 1 or 0? But then, what 0 and 1 represent?



If for example we have:



int x = 5;
printf("%d,5);


How the state will be affected by each line? Also, why Functional languages does not have one and what is the impact of having one.



As you can see, I'm a bit confused about the idea behind the state. I think that a small example make a bit clear.



I also read the previous thread from the second site, but it didn't help me to understand.










share|cite|improve this question









New contributor




vesii is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$

















    2












    $begingroup$


    I was reading about programming paradigms and I have a question about the state when speaking about Imperative languages. What does it mean to change the program's state? Is it just an abstract idea? I know that C is in the Imperative paradigm (In fact in the Procedural paradigm), so it has a state, but I don't understand how it is expressed in language. Is there a special space in memory that contain 1 or 0? But then, what 0 and 1 represent?



    If for example we have:



    int x = 5;
    printf("%d,5);


    How the state will be affected by each line? Also, why Functional languages does not have one and what is the impact of having one.



    As you can see, I'm a bit confused about the idea behind the state. I think that a small example make a bit clear.



    I also read the previous thread from the second site, but it didn't help me to understand.










    share|cite|improve this question









    New contributor




    vesii is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$















      2












      2








      2





      $begingroup$


      I was reading about programming paradigms and I have a question about the state when speaking about Imperative languages. What does it mean to change the program's state? Is it just an abstract idea? I know that C is in the Imperative paradigm (In fact in the Procedural paradigm), so it has a state, but I don't understand how it is expressed in language. Is there a special space in memory that contain 1 or 0? But then, what 0 and 1 represent?



      If for example we have:



      int x = 5;
      printf("%d,5);


      How the state will be affected by each line? Also, why Functional languages does not have one and what is the impact of having one.



      As you can see, I'm a bit confused about the idea behind the state. I think that a small example make a bit clear.



      I also read the previous thread from the second site, but it didn't help me to understand.










      share|cite|improve this question









      New contributor




      vesii is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      I was reading about programming paradigms and I have a question about the state when speaking about Imperative languages. What does it mean to change the program's state? Is it just an abstract idea? I know that C is in the Imperative paradigm (In fact in the Procedural paradigm), so it has a state, but I don't understand how it is expressed in language. Is there a special space in memory that contain 1 or 0? But then, what 0 and 1 represent?



      If for example we have:



      int x = 5;
      printf("%d,5);


      How the state will be affected by each line? Also, why Functional languages does not have one and what is the impact of having one.



      As you can see, I'm a bit confused about the idea behind the state. I think that a small example make a bit clear.



      I also read the previous thread from the second site, but it didn't help me to understand.







      programming-languages programming-paradigms imperative-programming






      share|cite|improve this question









      New contributor




      vesii is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|cite|improve this question









      New contributor




      vesii is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|cite|improve this question




      share|cite|improve this question








      edited 4 hours ago







      vesii













      New contributor




      vesii is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 4 hours ago









      vesiivesii

      1133




      1133




      New contributor




      vesii is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      vesii is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      vesii is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          4












          $begingroup$

          The simplest kind of state is the configuration of memory. In C this memory is accessed through variables (and arrays and pointers, but let us ignore those), so the state is the values of variables.



          For example, suppose we have variables x and y whose values are 23 and 42 respectively (and no other variables). Then we could write the state as
          $$[x mapsto 23, y mapsto 42]$$
          If we run the program



          x = 1 + y


          the state will change to $[x mapsto 43, y mapsto 42]$. When we declare a local variable, the state will be extended temporarily with that variable.



          There are many other kinds of state, such as:




          • in an object-oriented language each object has its own state, namely the values of its attributes

          • a finite state automaton has states, obviously


          In general, there is going to be a set $S$ of all possible states. For instance, 1 GB of memory corresponds to $S$ with $2^{2^{30}}$ elements because that's how many states there are for 1 GB of memory. A program which uses state and computes a value of type $A$ can then be thought of as a function $S to A times S$: it takes the initial state $s in S$ and returns a pair $(a, s')$ where $a$ is the computed value and $s'$ the final state.



          It is not true that functional languages have no state! The pure functional languages such as Haskell and do not have built-in state, but other functional languages do have state. For instance OCaml and SML both have references, which are just mutable memory locations, so they have state. Racket and Scheme have state as well, and they are functional languages.



          Perhaps a clarification is in order: a language is functional if functions are values, which means that we can do with functions whatever we can do with other values (pass them around, make arrays of functions, etc.). For some reason people often confuse pure and functional languages.






          share|cite|improve this answer









          $endgroup$













          • $begingroup$
            Great answer, thank you!
            $endgroup$
            – vesii
            3 hours ago











          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "419"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          vesii is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f104565%2fthe-idea-behind-the-state-of-imperative-languages%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          4












          $begingroup$

          The simplest kind of state is the configuration of memory. In C this memory is accessed through variables (and arrays and pointers, but let us ignore those), so the state is the values of variables.



          For example, suppose we have variables x and y whose values are 23 and 42 respectively (and no other variables). Then we could write the state as
          $$[x mapsto 23, y mapsto 42]$$
          If we run the program



          x = 1 + y


          the state will change to $[x mapsto 43, y mapsto 42]$. When we declare a local variable, the state will be extended temporarily with that variable.



          There are many other kinds of state, such as:




          • in an object-oriented language each object has its own state, namely the values of its attributes

          • a finite state automaton has states, obviously


          In general, there is going to be a set $S$ of all possible states. For instance, 1 GB of memory corresponds to $S$ with $2^{2^{30}}$ elements because that's how many states there are for 1 GB of memory. A program which uses state and computes a value of type $A$ can then be thought of as a function $S to A times S$: it takes the initial state $s in S$ and returns a pair $(a, s')$ where $a$ is the computed value and $s'$ the final state.



          It is not true that functional languages have no state! The pure functional languages such as Haskell and do not have built-in state, but other functional languages do have state. For instance OCaml and SML both have references, which are just mutable memory locations, so they have state. Racket and Scheme have state as well, and they are functional languages.



          Perhaps a clarification is in order: a language is functional if functions are values, which means that we can do with functions whatever we can do with other values (pass them around, make arrays of functions, etc.). For some reason people often confuse pure and functional languages.






          share|cite|improve this answer









          $endgroup$













          • $begingroup$
            Great answer, thank you!
            $endgroup$
            – vesii
            3 hours ago
















          4












          $begingroup$

          The simplest kind of state is the configuration of memory. In C this memory is accessed through variables (and arrays and pointers, but let us ignore those), so the state is the values of variables.



          For example, suppose we have variables x and y whose values are 23 and 42 respectively (and no other variables). Then we could write the state as
          $$[x mapsto 23, y mapsto 42]$$
          If we run the program



          x = 1 + y


          the state will change to $[x mapsto 43, y mapsto 42]$. When we declare a local variable, the state will be extended temporarily with that variable.



          There are many other kinds of state, such as:




          • in an object-oriented language each object has its own state, namely the values of its attributes

          • a finite state automaton has states, obviously


          In general, there is going to be a set $S$ of all possible states. For instance, 1 GB of memory corresponds to $S$ with $2^{2^{30}}$ elements because that's how many states there are for 1 GB of memory. A program which uses state and computes a value of type $A$ can then be thought of as a function $S to A times S$: it takes the initial state $s in S$ and returns a pair $(a, s')$ where $a$ is the computed value and $s'$ the final state.



          It is not true that functional languages have no state! The pure functional languages such as Haskell and do not have built-in state, but other functional languages do have state. For instance OCaml and SML both have references, which are just mutable memory locations, so they have state. Racket and Scheme have state as well, and they are functional languages.



          Perhaps a clarification is in order: a language is functional if functions are values, which means that we can do with functions whatever we can do with other values (pass them around, make arrays of functions, etc.). For some reason people often confuse pure and functional languages.






          share|cite|improve this answer









          $endgroup$













          • $begingroup$
            Great answer, thank you!
            $endgroup$
            – vesii
            3 hours ago














          4












          4








          4





          $begingroup$

          The simplest kind of state is the configuration of memory. In C this memory is accessed through variables (and arrays and pointers, but let us ignore those), so the state is the values of variables.



          For example, suppose we have variables x and y whose values are 23 and 42 respectively (and no other variables). Then we could write the state as
          $$[x mapsto 23, y mapsto 42]$$
          If we run the program



          x = 1 + y


          the state will change to $[x mapsto 43, y mapsto 42]$. When we declare a local variable, the state will be extended temporarily with that variable.



          There are many other kinds of state, such as:




          • in an object-oriented language each object has its own state, namely the values of its attributes

          • a finite state automaton has states, obviously


          In general, there is going to be a set $S$ of all possible states. For instance, 1 GB of memory corresponds to $S$ with $2^{2^{30}}$ elements because that's how many states there are for 1 GB of memory. A program which uses state and computes a value of type $A$ can then be thought of as a function $S to A times S$: it takes the initial state $s in S$ and returns a pair $(a, s')$ where $a$ is the computed value and $s'$ the final state.



          It is not true that functional languages have no state! The pure functional languages such as Haskell and do not have built-in state, but other functional languages do have state. For instance OCaml and SML both have references, which are just mutable memory locations, so they have state. Racket and Scheme have state as well, and they are functional languages.



          Perhaps a clarification is in order: a language is functional if functions are values, which means that we can do with functions whatever we can do with other values (pass them around, make arrays of functions, etc.). For some reason people often confuse pure and functional languages.






          share|cite|improve this answer









          $endgroup$



          The simplest kind of state is the configuration of memory. In C this memory is accessed through variables (and arrays and pointers, but let us ignore those), so the state is the values of variables.



          For example, suppose we have variables x and y whose values are 23 and 42 respectively (and no other variables). Then we could write the state as
          $$[x mapsto 23, y mapsto 42]$$
          If we run the program



          x = 1 + y


          the state will change to $[x mapsto 43, y mapsto 42]$. When we declare a local variable, the state will be extended temporarily with that variable.



          There are many other kinds of state, such as:




          • in an object-oriented language each object has its own state, namely the values of its attributes

          • a finite state automaton has states, obviously


          In general, there is going to be a set $S$ of all possible states. For instance, 1 GB of memory corresponds to $S$ with $2^{2^{30}}$ elements because that's how many states there are for 1 GB of memory. A program which uses state and computes a value of type $A$ can then be thought of as a function $S to A times S$: it takes the initial state $s in S$ and returns a pair $(a, s')$ where $a$ is the computed value and $s'$ the final state.



          It is not true that functional languages have no state! The pure functional languages such as Haskell and do not have built-in state, but other functional languages do have state. For instance OCaml and SML both have references, which are just mutable memory locations, so they have state. Racket and Scheme have state as well, and they are functional languages.



          Perhaps a clarification is in order: a language is functional if functions are values, which means that we can do with functions whatever we can do with other values (pass them around, make arrays of functions, etc.). For some reason people often confuse pure and functional languages.







          share|cite|improve this answer












          share|cite|improve this answer



          share|cite|improve this answer










          answered 3 hours ago









          Andrej BauerAndrej Bauer

          20.1k14585




          20.1k14585












          • $begingroup$
            Great answer, thank you!
            $endgroup$
            – vesii
            3 hours ago


















          • $begingroup$
            Great answer, thank you!
            $endgroup$
            – vesii
            3 hours ago
















          $begingroup$
          Great answer, thank you!
          $endgroup$
          – vesii
          3 hours ago




          $begingroup$
          Great answer, thank you!
          $endgroup$
          – vesii
          3 hours ago










          vesii is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          vesii is a new contributor. Be nice, and check out our Code of Conduct.













          vesii is a new contributor. Be nice, and check out our Code of Conduct.












          vesii is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Computer Science Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f104565%2fthe-idea-behind-the-state-of-imperative-languages%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Anexo:Material bélico de la Fuerza Aérea de Chile Índice Aeronaves Defensa...

          Always On Availability groups resolving state after failover - Remote harden of transaction...

          update json value to null Announcing the arrival of Valued Associate #679: Cesar Manara ...