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.
  • 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
    • E englebart

      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 Offline
      J Offline
      Jon McKee
      wrote on last edited by
      #22

      :confused: Y-yea? I'm aware of that and confused on why you would think I wasn't. Also "const int" is the same thing as "int const." Try it. I prefer "int const" because it's more consistent with how the rest of the type is read. EDIT: Ohh, I think I get the confusion? I specified variable declarations because it's the simplest scenario. Method parameters, returns, etc are all still using a type the same way basically (blueprinting some region of data) so I tend to think of them in the same vein. My bad if that was confusing.

      E 1 Reply Last reply
      0
      • J Jon McKee

        :confused: Y-yea? I'm aware of that and confused on why you would think I wasn't. Also "const int" is the same thing as "int const." Try it. I prefer "int const" because it's more consistent with how the rest of the type is read. EDIT: Ohh, I think I get the confusion? I specified variable declarations because it's the simplest scenario. Method parameters, returns, etc are all still using a type the same way basically (blueprinting some region of data) so I tend to think of them in the same vein. My bad if that was confusing.

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

        You were talking about why is it right to left for declarations. I am pointing out that I parse those left to right as Type, variable. const int **, example. // gcc takes this. Really const? const int const x; I guess if you are reading more right to left for declarations, then your int const is the same as my const int. Reminds me of a friend who was an Arabic speaker as his primary language. He would always read ">" as "less than" when speaking English, but never missed the correct logic.

        J 1 Reply Last reply
        0
        • E englebart

          You were talking about why is it right to left for declarations. I am pointing out that I parse those left to right as Type, variable. const int **, example. // gcc takes this. Really const? const int const x; I guess if you are reading more right to left for declarations, then your int const is the same as my const int. Reminds me of a friend who was an Arabic speaker as his primary language. He would always read ">" as "less than" when speaking English, but never missed the correct logic.

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

          Ah, I get what you mean! On the gcc thing, const is an idempotent modifier so letting it apply multiple times doesn't cause issues. This works too: const const int const const x = 5; Good for triggering a mild existential crisis in an OCD developer :laugh:

          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

            M Offline
            M Offline
            Member_14852385
            wrote on last edited by
            #25

            When I read a program, I looking for variable names. It makes a lot easier to find then if they are first and not second. What type a variable is is a secondary concern.

            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
              rjmoses
              wrote on last edited by
              #26

              For sure, for sure, aesthetics is important. IMO, a language must balance brevity with clarity of understanding. The simple parameter I use is that I must be able to look at a section of code and "grok" it in a few seconds. That means I must understand the explicit intent of the author and the methodology used to implement that intent as well as all the implicit mechanisms used. Aesthetics is an essential part of achieving that understanding. This is why I am against such things as lambdas--it's just to easy to miss what is going on. The plethora of languages nowadays should tell us something about the state of software development. (I'm still trying to figure out what that "something" is.)

              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
                BotReject
                wrote on last edited by
                #27

                Good question! Java and, dare I admit it JavaScript (without fancy add-ons), are my favourite programming languages, though I quite like traditional (i.e. non-MS) C++ too. I think the reason why I prefer Java is precisely because I do find it aesthetically pleasing. I used to code in C# but over time it morphed into something I found aesthetically displeasing, so I stopped using it. I think you hit the nail on the head - but aesthetics are of course a personal thing and not everyone will agree on which language is the most aesthetic.

                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