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. Is a programming language's aesthetics important?

Is a programming language's aesthetics important?

Scheduled Pinned Locked Moved The Lounge
questioncsharpjavascripthtmlvisual-studio
27 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

    Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

    Latest Articles:
    Proxy class for TypeScript/Intellisense DOM manipulation

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

    I'm reasonably tolerant when it comes to language aesthetics. Any modern, structured language would be fine. For many years, I worked in a proprietary language with keywords instead of braces, and with types and return values on the right:

    IF...THEN...ELSE...ENDIF;

    [FOR | WHILE] DO...ENDDO;

    DCL [INIT ];

    DCL PROC() RETURNS IS BLOCK...ENDBLOCK;

    It also had pointers, constness, strong typing, and various things that were innovative for a language designed around 1977. In the mid-1990s, it evolved to include object orientation. Had it been made publicly available from the outset, it would probably have displaced C. Q1. Type safety, object orientation, tuples, templates (or at least generics). For what I'm doing, I need pointers and no garbage collection. Any high-level constructs (e.g., for threading) will probably be wrong or just get in the way. Q2. Aesthetics, sure. But the unaesthetic language beats the paternalistic language every time, where paternalism means the language precluding something that you need to be able to do because the language designers thought they knew better. Q3. C++, not so much because I find it aesthetic, but because I don't find it paternalistic. There are certainly things I dislike about it, but they don't center around aesthetics.

    Robust Services Core | Software Techniques for Lemmings | Articles

    <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>

    S D 2 Replies Last reply
    0
    • M Marc Clifton

      Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

      Latest Articles:
      Proxy class for TypeScript/Intellisense DOM manipulation

      J Offline
      J Offline
      Jon McKee
      wrote on last edited by
      #3

      I love thinking about random stuff like this :thumbsup: 1) As long as the language's syntax is easy for my eyes to parse quickly after learning it, I'm cool with it. The only languages I really don't enjoy are the ones that use keywords for structural information. It makes them harder to read in my opinion because there's no categorical distinction between functional and structural elements.

      public class Example
      public property Info as string
      end class

      dim specificExample as Example

      is way harder to parse than

      public class Example
      {
      public string Info { get; set; }
      }

      Example specificExample;

      in my opinion. It gets downright silly when you start adding more complexity like manually-implemented properties, methods, etc. 2) Yes, for practical reasons. If a language is difficult to read it will take longer to maintain and be more prone to developer error. 3) C#, F#, Typescript, and C++ come to mind as languages I've enjoyed working in. I will say though C++'s types have never made sense to me. Why, in a language designed to read left-to-right, does the type read right-to-left?

      int const * * const example; //constant pointer to a pointer to a constant integer

      EDIT: Typo in the VB code :sigh: EDIT2: Removed the specificity of #3's example given the comment.

      E 1 Reply Last reply
      0
      • M Marc Clifton

        Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

        Latest Articles:
        Proxy class for TypeScript/Intellisense DOM manipulation

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

        About left-to-right-ness, I agree, but I don't completely like what C# is up to. I don't like that the array-thingy goes on the right: the opposite side of where everything goes (list-of-T, pointer-to-T etc, but T-fo-yarra). Since it works that way but actually the "array-ness" *does* compose by "stick an extra pair of brackets on the left side of the existing list of brackets" (`T[][,]` is an array of 2D arrays of T not the other way around), it's even worse: the outer level of "array-ness" is stuck somewhere in the *middle* of the type. I don't like Go, but the brackets go on the left of the type, and I like that.

        1 Reply Last reply
        0
        • M Marc Clifton

          Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

          Latest Articles:
          Proxy class for TypeScript/Intellisense DOM manipulation

          R Offline
          R Offline
          Ravi Bhavnani
          wrote on last edited by
          #5

          :thumbsup: I use C# because it enables me to write better code faster. /ravi

          My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

          1 Reply Last reply
          0
          • M Marc Clifton

            Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

            Latest Articles:
            Proxy class for TypeScript/Intellisense DOM manipulation

            C Offline
            C Offline
            CodeWraith
            wrote on last edited by
            #6

            Assembly code on a RISC processor. What you see is what you get.

            I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

            1 Reply Last reply
            0
            • M Marc Clifton

              Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

              Latest Articles:
              Proxy class for TypeScript/Intellisense DOM manipulation

              A Offline
              A Offline
              Amarnath S
              wrote on last edited by
              #7

              My favorite FORTRAN qualifies for a number of these.

              1 Reply Last reply
              0
              • M Marc Clifton

                Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

                Latest Articles:
                Proxy class for TypeScript/Intellisense DOM manipulation

                G Offline
                G Offline
                Gary R Wheeler
                wrote on last edited by
                #8

                Q1: Languages whose design allow for an improved developer experience. One of my favorite things about C# is editing in Visual Studio. Syntax highlighting, IntelliSense, refactoring, are all fantastic. I find I make better choices for identifier names when it costs so little to use and change them as needed. Elements that are used most often have the simplest expression. For example, C and its derivatives use { and } to denote the beginning and ending of logical blocks. Languages like BASIC, FORTRAN, Pascal, and Ada that use if then ... else ... end if and similar keywords take longer to read. Languages that don't require separate declaration and definition for a body of code. While having the separation is a convenience for library and API designers, that imposes a burden on everyone else. You have to ensure that the declaration and definition are kept synchronized. If they become dissociated, either the compile fails (Ada) or the link fails (C and C++), often with less-than-useful diagnostics. Languages without restrictions on the naming of identifiers. Go's use of case to indicate visibility is vile, because it forces the language designer's naming convention on the language user. Free form languages, where white space is not significant. Q2: Yes, but it's not the primary concern. First concern is tooling for the target environment. We have embedded components where the language is dictated by the target (C or assembly language). Q3: C#, C++, and C. Like you, for the reasons mentioned in the answer to Q1. My primary product uses a mix of the three languages. C# in the UI, C++ in some Windows services, and C in embedded hardware. The language similarities let us share code for interfaces and such, even when the compilers and target environments aren't all that similar.

                Software Zen: delete this;

                1 Reply Last reply
                0
                • M Marc Clifton

                  Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

                  Latest Articles:
                  Proxy class for TypeScript/Intellisense DOM manipulation

                  T Offline
                  T Offline
                  theoldfool
                  wrote on last edited by
                  #9

                  I don't do any collaborative or Web projects any more. I mostly do SLJ's. So, libraries are more important to me than aesthetics. Mostly, I do C# and Python now. Some C-like on the Arduino. I agree with most choices I see here... except FORTRAN, used that in the 60's. There were 2 choices: FORTRAN and Assembler. I would retire, but I never commented my code. :zzz:

                  If you can keep your head while those about you are losing theirs, perhaps you don't understand the situation.

                  Greg UtasG 1 Reply Last reply
                  0
                  • T theoldfool

                    I don't do any collaborative or Web projects any more. I mostly do SLJ's. So, libraries are more important to me than aesthetics. Mostly, I do C# and Python now. Some C-like on the Arduino. I agree with most choices I see here... except FORTRAN, used that in the 60's. There were 2 choices: FORTRAN and Assembler. I would retire, but I never commented my code. :zzz:

                    If you can keep your head while those about you are losing theirs, perhaps you don't understand the situation.

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

                    theoldfool wrote:

                    I would retire, but I never commented my code.

                    :laugh: Job security! (Or indentured servitude.)

                    Robust Services Core | Software Techniques for Lemmings | Articles

                    <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
                    • M Marc Clifton

                      Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

                      Latest Articles:
                      Proxy class for TypeScript/Intellisense DOM manipulation

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

                      Obviousness (is that a word?) is my #1. So: Javascript is near the bottom of the heap. C# (pre v6 ish) and VBScript (of all things) are near the top. The recent additions to C# where the language is becoming the proverbial kitchen sink are depressing to me. Some are great. Some seem to be there to solve very edge case issues that I worry will generate more confusion and pain for new developers than they will help those experts who choose to use them.

                      cheers Chris Maunder

                      N T 2 Replies Last reply
                      0
                      • C Chris Maunder

                        Obviousness (is that a word?) is my #1. So: Javascript is near the bottom of the heap. C# (pre v6 ish) and VBScript (of all things) are near the top. The recent additions to C# where the language is becoming the proverbial kitchen sink are depressing to me. Some are great. Some seem to be there to solve very edge case issues that I worry will generate more confusion and pain for new developers than they will help those experts who choose to use them.

                        cheers Chris Maunder

                        N Offline
                        N Offline
                        Nelek
                        wrote on last edited by
                        #12

                        Chris Maunder wrote:

                        Some are great. Some seem to be there to solve very edge case issues that I worry will generate more confusion and pain for new developers than they will help those experts who choose to use them.

                        +1 Late changes in C# reminds me a quote of (I think) Woody Allen: Two people get married to solve problems that you don't have living alone.

                        M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

                        1 Reply Last reply
                        0
                        • C Chris Maunder

                          Obviousness (is that a word?) is my #1. So: Javascript is near the bottom of the heap. C# (pre v6 ish) and VBScript (of all things) are near the top. The recent additions to C# where the language is becoming the proverbial kitchen sink are depressing to me. Some are great. Some seem to be there to solve very edge case issues that I worry will generate more confusion and pain for new developers than they will help those experts who choose to use them.

                          cheers Chris Maunder

                          T Offline
                          T Offline
                          theoldfool
                          wrote on last edited by
                          #13

                          :thumbsup:

                          If you can keep your head while those about you are losing theirs, perhaps you don't understand the situation.

                          1 Reply Last reply
                          0
                          • M Marc Clifton

                            Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

                            Latest Articles:
                            Proxy class for TypeScript/Intellisense DOM manipulation

                            S Offline
                            S Offline
                            Stuart Dootson
                            wrote on last edited by
                            #14

                            Marc Clifton wrote:

                            What makes a language aesthetically pleasing?

                            Features that allow me to express the ideas I have with succinct, clear mechanisms.

                            Marc Clifton wrote:

                            Is that something that should be considered when choosing a programming language (assuming you have choice)?

                            Yes, because it's not just aesthetics - it's ergonomics! And an ergonomic language puts less friction in your way.

                            Marc Clifton wrote:

                            What languages do you find aesthetically pleasing to work in and why?

                            [Rust](https://www.rust-lang.org/), [Haskell](https://www.haskell.org/), or [F#](https://en.wikipedia.org/wiki/F\_Sharp\_(programming\_language)) if you insist on a .NET language - the features that I enjoy are generally enabled by a strong, static (but inferred) type system (algebraic types, pattern matching, partial application in Haskell and F#) I'm not keen on Go either - but for different reasons than yourself, I suspect. I work in C++ on a daily basis (quite happily), and parts of Go just bug me...

                            Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

                            1 Reply Last reply
                            0
                            • Greg UtasG Greg Utas

                              I'm reasonably tolerant when it comes to language aesthetics. Any modern, structured language would be fine. For many years, I worked in a proprietary language with keywords instead of braces, and with types and return values on the right:

                              IF...THEN...ELSE...ENDIF;

                              [FOR | WHILE] DO...ENDDO;

                              DCL [INIT ];

                              DCL PROC() RETURNS IS BLOCK...ENDBLOCK;

                              It also had pointers, constness, strong typing, and various things that were innovative for a language designed around 1977. In the mid-1990s, it evolved to include object orientation. Had it been made publicly available from the outset, it would probably have displaced C. Q1. Type safety, object orientation, tuples, templates (or at least generics). For what I'm doing, I need pointers and no garbage collection. Any high-level constructs (e.g., for threading) will probably be wrong or just get in the way. Q2. Aesthetics, sure. But the unaesthetic language beats the paternalistic language every time, where paternalism means the language precluding something that you need to be able to do because the language designers thought they knew better. Q3. C++, not so much because I find it aesthetic, but because I don't find it paternalistic. There are certainly things I dislike about it, but they don't center around aesthetics.

                              Robust Services Core | Software Techniques for Lemmings | Articles

                              S Offline
                              S Offline
                              Stuart Dootson
                              wrote on last edited by
                              #15

                              Greg Utas wrote:

                              Had it been made publicly available from the outset, it would probably have displaced C.

                              Hmmm - it sounds similar to [Ada](https://en.wikipedia.org/wiki/Ada\_(programming\_language)), so I suspect C would have survived as 'language of choice'...

                              Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

                              Greg UtasG 1 Reply Last reply
                              0
                              • S Stuart Dootson

                                Greg Utas wrote:

                                Had it been made publicly available from the outset, it would probably have displaced C.

                                Hmmm - it sounds similar to [Ada](https://en.wikipedia.org/wiki/Ada\_(programming\_language)), so I suspect C would have survived as 'language of choice'...

                                Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

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

                                Sure, no different than VHS vs Betamax. But it was a competitive advantage in that our major competitor used C. It was mature several years before Ada and wasn't a kitchen sink language. It could also have come with an O/S suitable for large, embedded systems, and a version control and build system that was also advanced for its time, and synchronized for multi-site development by the late 1980s.

                                Robust Services Core | Software Techniques for Lemmings | Articles

                                <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'm reasonably tolerant when it comes to language aesthetics. Any modern, structured language would be fine. For many years, I worked in a proprietary language with keywords instead of braces, and with types and return values on the right:

                                  IF...THEN...ELSE...ENDIF;

                                  [FOR | WHILE] DO...ENDDO;

                                  DCL [INIT ];

                                  DCL PROC() RETURNS IS BLOCK...ENDBLOCK;

                                  It also had pointers, constness, strong typing, and various things that were innovative for a language designed around 1977. In the mid-1990s, it evolved to include object orientation. Had it been made publicly available from the outset, it would probably have displaced C. Q1. Type safety, object orientation, tuples, templates (or at least generics). For what I'm doing, I need pointers and no garbage collection. Any high-level constructs (e.g., for threading) will probably be wrong or just get in the way. Q2. Aesthetics, sure. But the unaesthetic language beats the paternalistic language every time, where paternalism means the language precluding something that you need to be able to do because the language designers thought they knew better. Q3. C++, not so much because I find it aesthetic, but because I don't find it paternalistic. There are certainly things I dislike about it, but they don't center around aesthetics.

                                  Robust Services Core | Software Techniques for Lemmings | Articles

                                  D Offline
                                  D Offline
                                  Dan Neely
                                  wrote on last edited by
                                  #17

                                  Greg Utas wrote:

                                  Had it been made publicly available from the outset, it would probably have displaced C.

                                  More likely, it would be ignored because it is insufficiently C-like. This criticism occurs in spite of the fact that C has not yet been inventedpopularized.

                                  Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                                  1 Reply Last reply
                                  0
                                  • M Marc Clifton

                                    Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

                                    Latest Articles:
                                    Proxy class for TypeScript/Intellisense DOM manipulation

                                    B Offline
                                    B Offline
                                    Bruce Patin
                                    wrote on last edited by
                                    #18

                                    Do you know any French? The adjectives are on the right. It's a matter of getting used to it. But I do prefer types on the left, mainly because it is a standard in a few important languages, and therefore easier to read.

                                    1 Reply Last reply
                                    0
                                    • M Marc Clifton

                                      Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

                                      Latest Articles:
                                      Proxy class for TypeScript/Intellisense DOM manipulation

                                      W Offline
                                      W Offline
                                      W Balboos GHB
                                      wrote on last edited by
                                      #19

                                      It could be construed that Q1 and Q2 answers were written to come up with your favorite as the choice. Or not. How about taking a different tack: At first glance, the language should be intimidating. Something that will scare off the kode-kitties on the one hand and impress management on the other. Return coding to a priesthood for the elite. Perhaps the best way to choose languages is to cull the heard. **Therefore "C" - especially with inline asm { } blocks - is a thing of beauty - and thus a joy forever.
                                      **

                                      Ravings en masse^

                                      "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                                      "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                                      1 Reply Last reply
                                      0
                                      • M Marc Clifton

                                        Based on my rant on the Insider News[^] I realized, this is an interesting question (well, at least for me!) What makes a language aesthetically pleasing? Is that something that should be considered when choosing a programming language (assuming you have choice)? What languages do you find aesthetically pleasing to work in and why? My answers: Q1: No pointers, no &, type safety, left-to-right readability, meaning that types are on the left, not the right, return types are on the left, not the right, expressiveness in how things are returned -- tuples, for example, are cool when used judiciously, as are ref types (ok, that's almost like a pointer.) Expressiveness in conditionals, loops, support for functional programming style, and must support reflection (ok, that's not exactly a language feature but is related to how the compiler treats the human-readable code.) Q2: YES! Q3: C#!!! For the reasons stated in the answer to Q1

                                        Latest Articles:
                                        Proxy class for TypeScript/Intellisense DOM manipulation

                                        P Offline
                                        P Offline
                                        Peter Adam
                                        wrote on last edited by
                                        #20

                                        Yes. Almost anything passes that is not like C (there you go, Python), or the other UNIX-hell-spawn, bash & alike (there you go, NSIS / PowerShell / ...).

                                        1 Reply Last reply
                                        0
                                        • J Jon McKee

                                          I love thinking about random stuff like this :thumbsup: 1) As long as the language's syntax is easy for my eyes to parse quickly after learning it, I'm cool with it. The only languages I really don't enjoy are the ones that use keywords for structural information. It makes them harder to read in my opinion because there's no categorical distinction between functional and structural elements.

                                          public class Example
                                          public property Info as string
                                          end class

                                          dim specificExample as Example

                                          is way harder to parse than

                                          public class Example
                                          {
                                          public string Info { get; set; }
                                          }

                                          Example specificExample;

                                          in my opinion. It gets downright silly when you start adding more complexity like manually-implemented properties, methods, etc. 2) Yes, for practical reasons. If a language is difficult to read it will take longer to maintain and be more prone to developer error. 3) C#, F#, Typescript, and C++ come to mind as languages I've enjoyed working in. I will say though C++'s types have never made sense to me. Why, in a language designed to read left-to-right, does the type read right-to-left?

                                          int const * * const example; //constant pointer to a pointer to a constant integer

                                          EDIT: Typo in the VB code :sigh: EDIT2: Removed the specificity of #3's example given the comment.

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

                                          In C and C++, you have a type and you have a variable. Period. All of the pointer or reference nonsense is part of the type. Reference is just a hidden pointer that MUST be initialized. I think you meant "const int" based on the comment.

                                          J 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