Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. C# vs. JavaScript/Typescript dyslexia

C# vs. JavaScript/Typescript dyslexia

Scheduled Pinned Locked Moved The Lounge
javascriptcsharpvisual-studiocom
25 Posts 16 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Richard DeemingR Richard Deeming

    Yes, variables declared using let[^] and const[^] behave differently to those declared using var. The MDN documentation does a pretty good job of explaining the difference. :)


    "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

    F Offline
    F Offline
    Forogar
    wrote on last edited by
    #12

    It's all about the scope.

    - I would love to change the world, but they won’t give me the source code.

    1 Reply Last reply
    0
    • R rnbergren

      used to do this all the dang time. I don't write Javascript anymore unless I have too. hasn't happened in over a year! Yay me. But I switch between Powershell, SQL, C# etc... I sometimes forget how to comment in the language I am in at the time. It seems strange to me. I can write code quite well switching around. But I cannot remember how to comment in Powershell vs SQL vs C#. The Brain it is strange.

      To err is human to really elephant it up you need a computer

      J Offline
      J Offline
      jsc42
      wrote on last edited by
      #13

      rnbergren wrote:

      I sometimes forget how to comment in the language I am

      Most folks I know don't know how to comment in any language; or, if they do know how, they don't use that ability.

      R 1 Reply Last reply
      0
      • J jsc42

        rnbergren wrote:

        I sometimes forget how to comment in the language I am

        Most folks I know don't know how to comment in any language; or, if they do know how, they don't use that ability.

        R Offline
        R Offline
        rnbergren
        wrote on last edited by
        #14

        Just like Turn Signals on Cars

        To err is human to really elephant it up you need a computer

        1 Reply Last reply
        0
        • P PIEBALDconsult

          Do one language and do it well.

          M Offline
          M Offline
          Marc Clifton
          wrote on last edited by
          #15

          PIEBALDconsult wrote:

          Do one language and do it well.

          I can do both :) And both are continual "doing it better" experiences. That never ends, no matter how many years I've done development. Not only because of course the language features evolve.

          Latest Articles:
          Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

          1 Reply Last reply
          0
          • Richard DeemingR Richard Deeming

            Marc Clifton wrote:

            JS: let s = Foo = `${foo}`;

            Or, if you get the quotes in the right place:

            let s = `Foo = ${foo}`;

            :)

            Marc Clifton wrote:

            C#: braces are on separate lines JS: opening brace is on the same line.

            Actually, in C#, braces can be on the same line, a different line, or whatever you call the abomination of a formatting style that @OriginalGriff prefers. :-D JS mostly doesn't care. It's only an issue with things like return { ... };, where putting the opening brace on a new line confuses the parser into thinking it's two statements with a missing semicolon after return.


            "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

            M Offline
            M Offline
            Marc Clifton
            wrote on last edited by
            #16

            Richard Deeming wrote:

            Or, if you get the quotes in the right place:

            Oops. :-\

            Richard Deeming wrote:

            Actually, in C#, braces can be on the same line, a different line,

            Well yes, but ever since C++ I've used the separate line style.

            Richard Deeming wrote:

            JS mostly doesn't care. It's only an issue with things like return { ... };

            I believe return ({...}); also helps that? I know in some cases I have to put the object {} in parens so as not to confuse JS.

            Latest Articles:
            Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

            1 Reply Last reply
            0
            • R rnbergren

              used to do this all the dang time. I don't write Javascript anymore unless I have too. hasn't happened in over a year! Yay me. But I switch between Powershell, SQL, C# etc... I sometimes forget how to comment in the language I am in at the time. It seems strange to me. I can write code quite well switching around. But I cannot remember how to comment in Powershell vs SQL vs C#. The Brain it is strange.

              To err is human to really elephant it up you need a computer

              M Offline
              M Offline
              Marc Clifton
              wrote on last edited by
              #17

              rnbergren wrote:

              I sometimes forget how to comment in the language

              Comments? What are those and when did that feature get introduced? ;)

              Latest Articles:
              Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

              1 Reply Last reply
              0
              • M Marc Clifton

                C#: var foo = "foo"; JS: let foo = "foo"; or: let foo = 'foo'; C#: var s = $"Foo = {foo}"; JS: let s = Foo = `${foo}`; C#: int Fnc(string a) TS: fnc(a: string): number C#: braces are on separate lines JS: opening brace is on the same line. C#: if (!String.IsNullOrEmpty(foo)) JS: if (foo) C#: Reverse(foo); JS: this.reverse(foo); or even worse: this.reverse(this.foo); Half the time I wrote the wrong syntax for the wrong language. :rolleyes:

                Latest Articles:
                Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

                R Offline
                R Offline
                raddevus
                wrote on last edited by
                #18

                This is a good post and I feel the same way about it. Also, don't you _HATE_ the backticks used in JS string interpolation? C# interpolation is actually nice and clean.

                1 Reply Last reply
                0
                • M Marc Clifton

                  C#: var foo = "foo"; JS: let foo = "foo"; or: let foo = 'foo'; C#: var s = $"Foo = {foo}"; JS: let s = Foo = `${foo}`; C#: int Fnc(string a) TS: fnc(a: string): number C#: braces are on separate lines JS: opening brace is on the same line. C#: if (!String.IsNullOrEmpty(foo)) JS: if (foo) C#: Reverse(foo); JS: this.reverse(foo); or even worse: this.reverse(this.foo); Half the time I wrote the wrong syntax for the wrong language. :rolleyes:

                  Latest Articles:
                  Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

                  M Offline
                  M Offline
                  markrlondon
                  wrote on last edited by
                  #19

                  Marc Clifton wrote:

                  C# vs. JavaScript/Typescript dyslexia

                  I find this in general. A great number of modern languages use the C/C++-style syntax and so differences can get confusing. Java, Kotlin, Rust, D, etc. all suffer from/contribute to it.

                  1 Reply Last reply
                  0
                  • M Marc Clifton

                    C#: var foo = "foo"; JS: let foo = "foo"; or: let foo = 'foo'; C#: var s = $"Foo = {foo}"; JS: let s = Foo = `${foo}`; C#: int Fnc(string a) TS: fnc(a: string): number C#: braces are on separate lines JS: opening brace is on the same line. C#: if (!String.IsNullOrEmpty(foo)) JS: if (foo) C#: Reverse(foo); JS: this.reverse(foo); or even worse: this.reverse(this.foo); Half the time I wrote the wrong syntax for the wrong language. :rolleyes:

                    Latest Articles:
                    Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

                    L Offline
                    L Offline
                    Lost User
                    wrote on last edited by
                    #20

                    Marc Clifton wrote:

                    Half the time I wrote the wrong syntax for the wrong language. :rolleyes:

                    Don't write both.

                    Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

                    1 Reply Last reply
                    0
                    • M Marc Clifton

                      C#: var foo = "foo"; JS: let foo = "foo"; or: let foo = 'foo'; C#: var s = $"Foo = {foo}"; JS: let s = Foo = `${foo}`; C#: int Fnc(string a) TS: fnc(a: string): number C#: braces are on separate lines JS: opening brace is on the same line. C#: if (!String.IsNullOrEmpty(foo)) JS: if (foo) C#: Reverse(foo); JS: this.reverse(foo); or even worse: this.reverse(this.foo); Half the time I wrote the wrong syntax for the wrong language. :rolleyes:

                      Latest Articles:
                      Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

                      T Offline
                      T Offline
                      the Kris
                      wrote on last edited by
                      #21

                      Marc Clifton wrote:

                      C#: if (!String.IsNullOrEmpty(foo)) JS: if (foo)

                      Those two are not the same. Consider foo = "0";

                      1 Reply Last reply
                      0
                      • M Marc Clifton

                        C#: var foo = "foo"; JS: let foo = "foo"; or: let foo = 'foo'; C#: var s = $"Foo = {foo}"; JS: let s = Foo = `${foo}`; C#: int Fnc(string a) TS: fnc(a: string): number C#: braces are on separate lines JS: opening brace is on the same line. C#: if (!String.IsNullOrEmpty(foo)) JS: if (foo) C#: Reverse(foo); JS: this.reverse(foo); or even worse: this.reverse(this.foo); Half the time I wrote the wrong syntax for the wrong language. :rolleyes:

                        Latest Articles:
                        Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

                        D Offline
                        D Offline
                        den2k88
                        wrote on last edited by
                        #22

                        I sometimes still type 'Dim i as Long' in C. VB is the computer science equivalent to Saigon.

                        GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++*      Weapons extension: ma- k++ F+2 X

                        1 Reply Last reply
                        0
                        • L Lost User

                          There was a time when i could write Univac assembler code with only minimal reference to the OS reference manual. Modern languages are now so feature rich you need the SDK reference almost every few lines. Or maybe I am just not very good at it.

                          S Offline
                          S Offline
                          Slow Eddie
                          wrote on last edited by
                          #23

                          And there are new languages coming out every day!

                          Wear your mask! the life you save may be your own.

                          1 Reply Last reply
                          0
                          • M Marc Clifton

                            C#: var foo = "foo"; JS: let foo = "foo"; or: let foo = 'foo'; C#: var s = $"Foo = {foo}"; JS: let s = Foo = `${foo}`; C#: int Fnc(string a) TS: fnc(a: string): number C#: braces are on separate lines JS: opening brace is on the same line. C#: if (!String.IsNullOrEmpty(foo)) JS: if (foo) C#: Reverse(foo); JS: this.reverse(foo); or even worse: this.reverse(this.foo); Half the time I wrote the wrong syntax for the wrong language. :rolleyes:

                            Latest Articles:
                            Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

                            M Offline
                            M Offline
                            michaelbarb
                            wrote on last edited by
                            #24

                            It is a mental discipline of learning how to forget. I have only half way mastered it.

                            So many years of programming I have forgotten more languages than I know.

                            1 Reply Last reply
                            0
                            • M Marc Clifton

                              C#: var foo = "foo"; JS: let foo = "foo"; or: let foo = 'foo'; C#: var s = $"Foo = {foo}"; JS: let s = Foo = `${foo}`; C#: int Fnc(string a) TS: fnc(a: string): number C#: braces are on separate lines JS: opening brace is on the same line. C#: if (!String.IsNullOrEmpty(foo)) JS: if (foo) C#: Reverse(foo); JS: this.reverse(foo); or even worse: this.reverse(this.foo); Half the time I wrote the wrong syntax for the wrong language. :rolleyes:

                              Latest Articles:
                              Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

                              C Offline
                              C Offline
                              Chris Maunder
                              wrote on last edited by
                              #25

                              Yes! I've been going through exactly this all week.

                              cheers Chris Maunder

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups