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. Regarding the survey: What's your least favourite of these languages to code in?

Regarding the survey: What's your least favourite of these languages to code in?

Scheduled Pinned Locked Moved The Lounge
csharpjavascriptquestionasp-netdotnet
53 Posts 20 Posters 0 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.
  • M Marc Clifton

    It occurs to me that my least favorite programming language is not actually determined by the language but rather by the coders writing awful code in that language. Even C# fits the "least favorite language" with some of the crap I've seen. I suppose I'm overthinking the question, but it was interesting when I started writing pure JavaScript for some personal projects and discovered I didn't hate it. I still prefer TypeScript, but my loathing of JavaScript was actually because of the code I had to touch that other people wrote. Functions that were a couple thousand lines long. Nested functions. Nested promises. Absurdly complex business logic implemented on the front-end with dozens of nested if-else. The way I was writing Javascript made working with Javascript a pleasant process. Anyways, it's an interesting realization (to me at least) that my dislike of a language is often based on my dislike of the previous coder's code.

    Latest Article:
    Create a Digital Ocean Droplet for .NET Core Web API with a real SSL Certificate on a Domain

    J Offline
    J Offline
    Jeremy Falcon
    wrote on last edited by
    #32

    I love JavaScript despite its haphazard nature. Always have; always will. It will always have a special place in my heart even if WASM replaces it one day. Outside of F# it's one of the few popular languages teaching functional concepts. Despite that... I 1,000% agree. Thar be some script kiddies that give it a bad name. Forget the functional vs OOP paradigm, we're talking folks who don't know the difference between a closure and a catfish but think they're experts because they've seen a document.write once. It's so popular, that just comes with the territory. Any language with as many people using it would have tons of bad code floating around. Btw, I much prefer TS over plain JS these days too.

    Jeremy Falcon

    1 Reply Last reply
    0
    • G Gary R Wheeler

      Agreed. I've never done a serious project where I reached the end and hated the programming language used. There have been a few I hated the development environment. IBM's VisualAge for C++ and Qt Creator are two examples that come to mind. VisualAge stored the visuals and source code in a data base that corrupted itself regularly and was unrecoverable. Qt Creator's build system was incompetent (incontinent as well, but I digress). That said, there are languages or language features I probably wouldn't like:

      • Significant white space: Python and older FORTRAN's
      • Academic languages that are documented using obscure or in-joke vocabulary: functional programming's "monad", for example
      • Languages whose designer hated commonly-used syntax in mainstream languages and decided they were going to fix the problem; := for assignment in Pascal and Ada
      • Syntactic sugar that hides logic: C#, I'm looking at you

      Software Zen: delete this;

      J Offline
      J Offline
      Jeremy Falcon
      wrote on last edited by
      #33

      Gary R. Wheeler wrote:

      they were going to fix the problem; := for assignment in Pascal and Ada

      :laugh: Every time I see that it reminds me of an emoji.

      Jeremy Falcon

      1 Reply Last reply
      0
      • P PIEBALDconsult

        Bah! ∴ U+2234 THEREFORE

        Mircea NeacsuM Offline
        Mircea NeacsuM Offline
        Mircea Neacsu
        wrote on last edited by
        #34

        I get the joke but why not ≔ Seriously now, I think it's a shame the only thing that hasn't changed in 40+ years of programming is the keyboard. We are stuck to the same limited set of characters that our ancestors put on a typewriter. Oops! seems I'm ranting again :laugh:

        Mircea

        P 0 T 3 Replies Last reply
        0
        • Mircea NeacsuM Mircea Neacsu

          I get the joke but why not ≔ Seriously now, I think it's a shame the only thing that hasn't changed in 40+ years of programming is the keyboard. We are stuck to the same limited set of characters that our ancestors put on a typewriter. Oops! seems I'm ranting again :laugh:

          Mircea

          P Online
          P Online
          PIEBALDconsult
          wrote on last edited by
          #35

          I would vote for := , I used Pascal a bit back in the day.

          Mircea Neacsu wrote:

          limited set of characters that our ancestors put on a typewriter

          Yet several languages allow Unicode now. Oh, and don't forget C's trigraphs. :rolleyes:

          T 1 Reply Last reply
          0
          • D Dan Neely

            While I've never used Go and prefer opening brace on it's own style; the only thing I hate worse than Java written in accordance with the Java Style Guide (or WT:elephant: they call it) is Java written as if it was C#.                                                                                             X| X| X| X| X|                         X| X| X| X| X| X|                             X| X| X| X| X| X| X| X| X|               X| X|                             X| X|                X| X| X| X| X| X| X| X| X| X| X| X|           X|                                                X|      X| X| X| X| X| X| X| X| X| X| X| X| X| X|      X|                                                     X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X| X|      X|               X|      X|        &nb

            Greg UtasG Offline
            Greg UtasG Offline
            Greg Utas
            wrote on last edited by
            #36

            I thought Java and C# were mutual wannabes, he says, donning his asbestos suit. :-D

            Robust Services Core | Software Techniques for Lemmings | Articles
            The fox knows many things, but the hedgehog knows one big thing.

            <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
            <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

            E P 2 Replies Last reply
            0
            • Mircea NeacsuM Mircea Neacsu

              I get the joke but why not ≔ Seriously now, I think it's a shame the only thing that hasn't changed in 40+ years of programming is the keyboard. We are stuck to the same limited set of characters that our ancestors put on a typewriter. Oops! seems I'm ranting again :laugh:

              Mircea

              0 Offline
              0 Offline
              0x01AA
              wrote on last edited by
              #37

              Btw. I don't get it.... But "::=" means at least in EBNF something like 'definition'

              Mircea NeacsuM 1 Reply Last reply
              0
              • Greg UtasG Greg Utas

                I thought Java and C# were mutual wannabes, he says, donning his asbestos suit. :-D

                Robust Services Core | Software Techniques for Lemmings | Articles
                The fox knows many things, but the hedgehog knows one big thing.

                E Offline
                E Offline
                englebart
                wrote on last edited by
                #38

                Back in the day that was true… Especially C# 1.0. Very similar to Microsoft J# Which was similar to Java. This happened right after Microsoft and Sun had a big falling out about how Microsoft was “corrupting” Java. If the disagreement had not happened, we likely would not have dotNet which is now multi platform like Sun always intended for Java. Sun/Oracle never would have bothered with templates except that dotNet had it. I just find it fitting that Microsoft also copied the bad ideas from Java a la Silverlight/Applets.

                Greg UtasG 1 Reply Last reply
                0
                • E englebart

                  Back in the day that was true… Especially C# 1.0. Very similar to Microsoft J# Which was similar to Java. This happened right after Microsoft and Sun had a big falling out about how Microsoft was “corrupting” Java. If the disagreement had not happened, we likely would not have dotNet which is now multi platform like Sun always intended for Java. Sun/Oracle never would have bothered with templates except that dotNet had it. I just find it fitting that Microsoft also copied the bad ideas from Java a la Silverlight/Applets.

                  Greg UtasG Offline
                  Greg UtasG Offline
                  Greg Utas
                  wrote on last edited by
                  #39

                  No mention of copying GC? X|

                  Robust Services Core | Software Techniques for Lemmings | Articles
                  The fox knows many things, but the hedgehog knows one big thing.

                  <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                  <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                  L 1 Reply Last reply
                  0
                  • 0 0x01AA

                    Btw. I don't get it.... But "::=" means at least in EBNF something like 'definition'

                    Mircea NeacsuM Offline
                    Mircea NeacsuM Offline
                    Mircea Neacsu
                    wrote on last edited by
                    #40

                    Quote:

                    Btw. I don't get it....

                    Piebald, jokingly, came up with the idea of ∴ (the math sign for "therefore" used in logical proofs) instead of the assignment operator. I proposed (half jokingly) to use ≔ (U+2254), the colon equal sign used by Algol, Pascal and a few other languages.

                    Mircea

                    T 1 Reply Last reply
                    0
                    • Greg UtasG Greg Utas

                      No mention of copying GC? X|

                      Robust Services Core | Software Techniques for Lemmings | Articles
                      The fox knows many things, but the hedgehog knows one big thing.

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

                      Greg Utas wrote:

                      No mention of copying GC? X|

                      That's a bold claim. The Visual Basic language did [garbage collection](https://en.wikipedia.org/wiki/Garbage\_collection\_(computer\_science)#Reference\_counting). Could you explain what you mean by the word "copying"?

                      Greg UtasG 1 Reply Last reply
                      0
                      • L Lost User

                        Greg Utas wrote:

                        No mention of copying GC? X|

                        That's a bold claim. The Visual Basic language did [garbage collection](https://en.wikipedia.org/wiki/Garbage\_collection\_(computer\_science)#Reference\_counting). Could you explain what you mean by the word "copying"?

                        Greg UtasG Offline
                        Greg UtasG Offline
                        Greg Utas
                        wrote on last edited by
                        #42

                        There was a mention of C# copying bad ideas from Java, so I was surprised that GC wasn't mentioned.

                        Robust Services Core | Software Techniques for Lemmings | Articles
                        The fox knows many things, but the hedgehog knows one big thing.

                        <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                        <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                        T 1 Reply Last reply
                        0
                        • Greg UtasG Greg Utas

                          There was a mention of C# copying bad ideas from Java, so I was surprised that GC wasn't mentioned.

                          Robust Services Core | Software Techniques for Lemmings | Articles
                          The fox knows many things, but the hedgehog knows one big thing.

                          T Offline
                          T Offline
                          trønderen
                          wrote on last edited by
                          #43

                          Java didn't invent GC. Lots of other languages have it. Including C#. The fact that Java and C# have a common feature does not prove that C# copied it from Java. Those who know the two GC implementations, and others as well, may identify specific elements in the C# GC handling that was pioneered in Java and not generally known in other GC mechanisms. That is (or might be) copying. But not the basic concept of GC.

                          Greg UtasG 1 Reply Last reply
                          0
                          • Mircea NeacsuM Mircea Neacsu

                            I get the joke but why not ≔ Seriously now, I think it's a shame the only thing that hasn't changed in 40+ years of programming is the keyboard. We are stuck to the same limited set of characters that our ancestors put on a typewriter. Oops! seems I'm ranting again :laugh:

                            Mircea

                            T Offline
                            T Offline
                            trønderen
                            wrote on last edited by
                            #44

                            Mircea Neacsu wrote:

                            We are stuck to the same limited set of characters that our ancestors put on a typewriter.

                            Try APL.

                            Mircea NeacsuM 1 Reply Last reply
                            0
                            • Mircea NeacsuM Mircea Neacsu

                              Quote:

                              Btw. I don't get it....

                              Piebald, jokingly, came up with the idea of ∴ (the math sign for "therefore" used in logical proofs) instead of the assignment operator. I proposed (half jokingly) to use ≔ (U+2254), the colon equal sign used by Algol, Pascal and a few other languages.

                              Mircea

                              T Offline
                              T Offline
                              trønderen
                              wrote on last edited by
                              #45

                              I like things to come in logical order, so my favorite is =: A + B =: C, or "Add A and B. Then store it in C" is far better than C := A + B: "Assign to C ... just wait a second, I have to calculate it first ... Add A and B. I hope you remember what we were going to do with it, as we said a while ago before we started calculating the expression ..." I programmed for a few years in a proprietary language using =:, and came to love it. It also had a half-swap operator: As in many languages, you could carry the result value assigned to C on, so the same value can be assigned to D and E: A+B =: C =: D =: E. Using :=: the old value of C was carried on. So you could e.g. link in a new element at the head of the list by NewElt =: Head :=: NewElt.Next. This comes far more natural when you read the code left to right, rather than skipping back and forth, as you have to when starting the statement with what you will be doing last.

                              Mircea NeacsuM 1 Reply Last reply
                              0
                              • T trønderen

                                Mircea Neacsu wrote:

                                We are stuck to the same limited set of characters that our ancestors put on a typewriter.

                                Try APL.

                                Mircea NeacsuM Offline
                                Mircea NeacsuM Offline
                                Mircea Neacsu
                                wrote on last edited by
                                #46

                                APL is the exception that proves the rule. The one language that wanted to break the mold and do things differently has a following of... sorry can't see anybody around here :) Together with LISP and FORTH, APL proves that revolutionary concepts gain very little traction among lemmings (sorry, I mean no disrespect for the rodents).

                                Mircea

                                T 1 Reply Last reply
                                0
                                • P PIEBALDconsult

                                  I would vote for := , I used Pascal a bit back in the day.

                                  Mircea Neacsu wrote:

                                  limited set of characters that our ancestors put on a typewriter

                                  Yet several languages allow Unicode now. Oh, and don't forget C's trigraphs. :rolleyes:

                                  T Offline
                                  T Offline
                                  trønderen
                                  wrote on last edited by
                                  #47

                                  Don't expect the compiler to interpret the Unicode symbols identically with the digraphs and trigraphs, though. Not even the monographs, such as × for multiplication. I never tested out the limits for legality of unicode characters in e.g. C#. Even 7-bit ISO 646 ("ASCII", for those across the pond) has characters not legal in identifiers. Which characters in the full Unicode set are allowed in identifiers? Checking it out by trial and error takes more time than I am willing to spend!

                                  1 Reply Last reply
                                  0
                                  • Mircea NeacsuM Mircea Neacsu

                                    APL is the exception that proves the rule. The one language that wanted to break the mold and do things differently has a following of... sorry can't see anybody around here :) Together with LISP and FORTH, APL proves that revolutionary concepts gain very little traction among lemmings (sorry, I mean no disrespect for the rodents).

                                    Mircea

                                    T Offline
                                    T Offline
                                    trønderen
                                    wrote on last edited by
                                    #48

                                    Mircea Neacsu wrote:

                                    sorry can't see anybody around here

                                    You can count me as one. I don't have any task where I can use it for some "serious" purpose, but it was fun to play around with. At the moment, I don't have an APL interpreter available (except for one running under DOS, but that's not the thing for me). Buying a commercial one is too expensive for a play toy. And APLs of today have experienced the same feature creep as most other languages, making it a far more messy language than the pure APL I learned in my youth.

                                    1 Reply Last reply
                                    0
                                    • T trønderen

                                      I like things to come in logical order, so my favorite is =: A + B =: C, or "Add A and B. Then store it in C" is far better than C := A + B: "Assign to C ... just wait a second, I have to calculate it first ... Add A and B. I hope you remember what we were going to do with it, as we said a while ago before we started calculating the expression ..." I programmed for a few years in a proprietary language using =:, and came to love it. It also had a half-swap operator: As in many languages, you could carry the result value assigned to C on, so the same value can be assigned to D and E: A+B =: C =: D =: E. Using :=: the old value of C was carried on. So you could e.g. link in a new element at the head of the list by NewElt =: Head :=: NewElt.Next. This comes far more natural when you read the code left to right, rather than skipping back and forth, as you have to when starting the statement with what you will be doing last.

                                      Mircea NeacsuM Offline
                                      Mircea NeacsuM Offline
                                      Mircea Neacsu
                                      wrote on last edited by
                                      #49

                                      Interesting! I've never seen those operators in a general use language but I can see their use. The closest thing I've seen to your =: operator was the verbose:

                                      ADD a TO B GIVING c

                                      As a side note, only the ≕ (U+2255) is currently included in the Unicode standard.

                                      Mircea

                                      1 Reply Last reply
                                      0
                                      • T trønderen

                                        Java didn't invent GC. Lots of other languages have it. Including C#. The fact that Java and C# have a common feature does not prove that C# copied it from Java. Those who know the two GC implementations, and others as well, may identify specific elements in the C# GC handling that was pioneered in Java and not generally known in other GC mechanisms. That is (or might be) copying. But not the basic concept of GC.

                                        Greg UtasG Offline
                                        Greg UtasG Offline
                                        Greg Utas
                                        wrote on last edited by
                                        #50

                                        I wasn't making a statement about which language was the first to have GC.

                                        Robust Services Core | Software Techniques for Lemmings | Articles
                                        The fox knows many things, but the hedgehog knows one big thing.

                                        <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                                        <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                                        1 Reply Last reply
                                        0
                                        • Greg UtasG Greg Utas

                                          I thought Java and C# were mutual wannabes, he says, donning his asbestos suit. :-D

                                          Robust Services Core | Software Techniques for Lemmings | Articles
                                          The fox knows many things, but the hedgehog knows one big thing.

                                          P Online
                                          P Online
                                          PIEBALDconsult
                                          wrote on last edited by
                                          #51

                                          When I was reading the first spec for C# -- circa 1999 -- someone asked me, "isn't that the new Microsoft Java?" I have zero knowledge of Java, but C# is the bee's knees.

                                          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