Language Processing for Humans with Relation to Programming Languages

Every man has his own language. He should speak it. Programming is similar. If you don’t have a language you like, keep looking. Something out there will have most of what you want out of a language, and maybe one day, someone will invent a similar one that has even more of what you want. But please don’t believe all programming has to be like C.

(A warning to my unwary readers: This is a long post that muses about something most people don’t care about. I don’t blame you for quitting now, but if you want your brain to get some non-math-level-intensive exercise, please do proceed.)

Human language is one of those interesting peculiarities. We all have a unique vocabulary. Even if I say I speak “English”, there’s a good chance we disagree on something. I often use the word “grey” for the color, which older dictionaries will tell you is correct, even though the homonym and synonym “gray” is increasingly becoming more common. Some of you, my dear readers, may think yourself as purists, but this is a bit of a delusion. Let me explain.

Any language being spoken today has evolved over centuries. People from 100 years ago who spoke the language you claim to speak would probably think you were a foreigner, butchering their language. Humans eventually decide to use new words or change the meaning of words. Words like “deprecate” and “alien” have changed meaning. So whenever someone criticizes someone else for spelling a word “wrong” or using it incorrectly, they themselves are the one’s who are ignorant of the fact that there is no standard. Even dictionaries cannot be viewed as a standard because their contents are decided upon by a select group of people who are not always in agreement with the people working on another dictionary. Games like Scrabble might be fun, but they are based on false premises. We have, instead, a set of most common words for our time, and as long as we appeal to these words, we have at least a general idea of what the other person is talking about.

In a way, it would be nice to have a static language – one to which everyone can appeal – but this is an unreasonable request. As soon as you are born, you have experiences that are unique to yourself, and these shape how you view the world and what you think about whenever you hear certain, use, and speak certain words. Over time, these ideas are made more complex by relating them to other experiences. We may consider this “refining”, but in actuality, we have made the definitions of such words more dependent on other experiences, so they are now more complex. For instance, my idea of “existence” is probably different from yours, especially since I have considered its essential characteristics. All of this “refining” or associating new ideas and experiences goes on within our mind, and is thus tied to our experiences alone. We can’t somehow share experience, and even if we could, our brains would analyze it differently.

We each have a way that we enjoy speaking. We each have a set of vocabulary that we enjoy using and a style of speech that is unique to us. Our brains our very unique in this regard. However, there are only so many ways of expressing ideas in any one particular language (at least before expressions become a mouthful). Sometimes new words are introduced and grammar changes, but many times, a number of people speak the same way. That’s nice.

Programming languages have the benefit of being static, should the creator’s of their VMs so desire. This isn’t always the case, and when it isn’t, people may argue fervently over the matter. Programming languages should be static so that there is a standard to which everyone can appeal, but problems with the language, changes in the mentality and methodologies of programmers, and the influences of other languages often result in the standard being changed. Consider C++ for instance. Due to dynamic typing in other languages as well as lambda functions, the latest version of C++ has the “auto” keyword and lambda function capabilities, both of which have been integrated within the existing language rules very well. However, the universal function call syntax (UFCS) does not, and would cause incredible, irreversible breaking changes. The UFCS doesn’t really fix the problem in C++ that it is aimed at (it only creates another one), but it is an example of how such a language may evolve in a way our predecessors would consider pollution.

If a programming language does not evolve, it has a unique way of capturing the mentality of its creator and those who enjoy it most. Everyone wants something a little different out of a language, and programming languages aren’t any different. It makes me wonder how people go about reading the things I write. Programming languages are a lot more basic that human languages and don’t always leave much room for error and flexibility. With that in mind, it’s clear that this has influenced my own ways of using language, as well as a language that I myself have been trying to create.

Every language needs rules, but we are each picky as to which rules must be followed and enforced. I’m curious if it is possible to categorize people based on the types of rules we each like to follow. This is a deeper question than merely asking whether or not someone’s desk is clean – one of the trivial ways to figure out if a person is a J or P type in MBTI. It’s not even just asking if they want it that way, but asking how they would organize it if they had the time, the right desk, and the right room. What would your ideal room look like?

In some ways, picking a programming language has a small way of revealing a piece of one’s mentality about how the world should be organized and it also says something about how that person likes to present and receive information. Some people prefer clarity, emptiness, distinctness, which often comes out as whitespace. Other people need borders and boundaries, which may come out as parentheses, brackets, braces or some special tokens. Where the whitespace and boundaries are differs for each person.

This can be related back to human languages with the fact that, not only do people express ideas in their native tongue differently, but they may also have a language structure that they themselves prefer. For instance, some people prefer particles for identifying parts of speech. Some people prefer declensions. Still others prefer the types of words used. And, of course, in English the structure of the sentence itself is used to indicate the parts of speech.

There’s an underlying hint here: If you haven’t found a language you enjoy, keep looking. Someone may have something you like.

Sometimes it’s hard to justify learning a new language merely because it expresses things the way you want. We often use economic reasons to justify things, but you’ll never get what you want if you always try to justify things economically. Forget the economy. You will never have enough money. In this modern age, we can always squeeze an extra minute in somewhere, right? Ok, so that can be stressful. Let’s put it this way: What would you trade for the ability to express yourself exactly how you want? Sure, only a few people can read it, but with the internet, there are plenty of people out there who can speak whatever bizarre language you happen to learn. *sigh* If you don’t have enough time, I guess that’s ok. English works.

Some parts about language are based, not on our own desire for how to receive information, but on our own creativity for expression. In programming, there are a number of C-style languages, and I wonder how many of these differ from popular languages purely because their creator’s just wanted to have fun doing something unique. Many language decisions are made willy-nilly. That’s how alot of vocabulary gets invented in my family. “It sounded good at the time” is about what the usual excuse boils down to, more or less. Every now and then, it corresponds to what someone else came up with. I recall coming up with ideas for a story of mine in Japanese and I wanted one of the characters to describe another as “Miss Pichipichi” for being excited and vivacious just cause the pronunciation conjured up that idea. Turns out, pichipichi is a Japanese word that means just that. Someone else apparently had the same idea long before I did. I can’t take full credit myself anyways since I first had to learn the Japanese onomatopoetic structure (which is repeating the same two characters) and probably be acquainted with the American English expression “peach”, though even the origin of the usage of “peach” is itself usually intuitive for Americans in situations where it is used.

Given that we humans prefer to have information categorized, it makes me wish I could perform experiments about language creation among people. That’s very difficult in today’s world, and most people would resort to using the same words they grew up with and people will always “correct” each other until everyone is using the same or similar vocabulary. One could summarize this by saying native tongue takes precedence over natural expression.

The global applicability of many languages does aid us in helping to understand each other to some extent. We all are forced, in some ways, to use the same vocabulary to express ideas, and thus we can all garner something about what the other person is saying. However, I feel like in many ways this is greatly deceiving, and we end up thinking our speaker is talking about an elephant when he’s really describing an ocean. Now that I mention it, even the word “really” is peculiar. I often use it to mean “actually” though it also has the connotation of meaning “very much”. One could be verbose in expression, but many words wear out the listener.

~ Categorizing Mental Processing ~

Languages have already been categorized. There are encyclopedias dealing with these topics, so if you are interested in the languages themselves, you are welcome to indulge yourself on those. At the moment, I’m interested in the human mind.

There are different types of personalities. Having already encountered people whose personality type, from a general perspective, is the same as mine, I’m quite convinced we are all very different mentally. We like to receive information differently, and thus, the fact that we are this way is obviously not based solely on our personalities. There are ways that nurturing and experience impact our preferences, but I’m inclined to think (for intuitive reasons) that this affects more of the means of expressions than the actual modes. That is, the mechanisms by which we express things may be handed to us, but no doubt, we control how we prefer to use them. You can give a man a car, but that doesn’t make him want to drive.

I wonder what the extent is of information that can be extracted about a person just based on their ways of expressing things, especially in regard to programming languages. Naturally, the easiest for a person to use would be the one that I believe they would be most inclined towards, assuming a language is equal in capability with other languages (allowing the person to express anything they wish). Maybe some people wouldn’t mind a limited language, but at some point, they might need that power, and I wouldn’t want that to be a limiting factor in determining whether or not someone uses a language. A number of people avoid using Latin because they aren’t scientists and the language itself has been declared as “dead”, even though it is still used in the Catholic Church an a number of scholars. When now-Pope-emeritus Benedict XVI added a word for “taxi”, he was ridiculed by the mainstream news media, even though what he did was, philosophically and linguistically, perfectly fine to do so. On top of that, anyone learning Latin now will be learning it through the lens of their own modern version of their native tongue, which means that the meanings of Latin words technically are not as static as they seem, and they are definitely not as static as that of unmaintained programming languages.

Enough of the musing. Let’s start asking some questions.

What does whitespace say about the human mind? Whitespace is a visual cue, but if it is to be meaningful, it must have some measure. The meanings of letters are determined by both their shape and their width and height. Whitespace can also be measure by its width and height, or at least the area where whitespace is present can have some meaning attributed to it. Whitespace does not necessarily indicate organization, and indeed, one of the common complaints about the programming language of Python is that it depends heavily on whitespace. At the same time, the whitespace greatly simplifies things, removing some visual clutter and making it easier to read and write than other languages. It has been so successful that there are various spin-offs. I’m rather curious as to what it means from the standpoint of human expression. Why should the lack of visual clutter be more helpful to some people than to others? I’ve already stated why it is good (readability, write-ability), but the extent of its effects on different people is interesting.

I imagine there is a spectrum of different people for the influence of things like whitespace, certain letters and characters, and certain constructs on different people. It’s unreasonably to simply lump people together, as in “You’re a whitespace-liker and I’m not”. But it is worth considering the aversion or liking of such a feature as an indicator of the internal mechanisms of the human mind.

The influence of letters and characters (e.g. $, %, <, *, and letters) on the human mind was mentioned in passing, but I think it’s also notable to consider these things in further detail. Some programming languages use the semi-colon for sentence termination, probably partly because this is how C did it, but perhaps because it may resemble the same effect of a period on the human mind. Or perhaps it was chosen at first because it just happened to be the closest character to your little finger on the keyboard. In any case, it seems to have become the de-facto expression termination (i.e. sentence-ending) character for programming. Comments in both programming and written text take more liberty. The hash-tag used in Python and other programming languages may have been chosen because of its blocky size being a unique, easy-to-type visual cue that signals to the programmer he is now reading a comment.

In regular text, parentheses or notes “outside the margin” may be used for comments, depending on the relevance of the note to the rest of the paragraph. In this case, the location of the text and the distance of such a text from the paragraph of reference has some effect on the meaning of that text with regards to the rest of the paragraph. Consider, for instance, the need to expound upon a footnote rather than merely putting a reference and explaining at the end of an article. The size of the note may also have something to do with this, but I have read some very large footnotes, so an author’s preference is also at play here. This speaks both about the author’s preference and the how the author perceives that information as being related to the rest of the text, but since these facts are so intertwined, it’s hard to distinguish them just based on this one piece of evidence. It could also be the author is indecisive about where the information belongs or uses notes as a temporary location for ideas that should later on be incorporated into the main body of text.

With programming languages, the rules are that everything is within the text area. There are no margins by which one can arbitrarily decide what goes in them and how much. That’s a blessing for our analysis in some ways, although it does hide whether or not people would use them and for what reason.

The easiest way of acquiring statistics on this matter would be to ask people about their preferences and why they chose them, but we may not understand ourselves much less what the question is asking for, and it may be easier for the one being questioned to simply pick what they prefer from a list of options. You can’t ask everyone to compose a piece of music they enjoy – some people simply can’t express it or don’t know exactly what it is they like about any particular genre (and of course, we often like more than one). The same is probably true for language. Even though everyone can write, some people may not have the creativity to think of the shapes and letters and spelling and grammatical structures that they would enjoy most, though we could learn (as analyzers) what letters and spelling and grammar their minds were capable of developing on their own. The truth may even be somewhere in between – that if a person were taught some ideas that helped improve their abilities, they might be able to express their “true language” – and thus their inner mind – better.

This was certainly true for me and programming to some extent, though I am limited by what the computer itself can understand. By learning about other languages, I was able to invent means of expression that I personally prefer.

The question now is, how can this be understood and categorized? Everything can be categorized – some ways better, much better, than others. In this case, I’m particularly interested in the aspects of language as they appeal to the human brain. But before I invent some meaningless blarg, let me give an example.

Consider one language whose words are composed of rough-sounding syllables but flow together well. Anyone interested in adding a word to this language will weight different factors that decide what is important when adding to this language. Is flow important? Or is preservation of the sounds important? The things that are considered important are weighed differently by each person, and the underlying reasoning behind these choices that I am most interested in.

The weighting of these factors changes over time, as I can attest to in my own life and experiences. Familiarity plays a huge role as we tend to choose things that are more familiar to us. Ease of use is probably the next most influential, considering that humans seem to be naturally inclined towards doing what is easiest. Another, largely encompassing factor would be natural clarity to the human mind. What does this mean? Let’s have an example!

Consider your own preference for indicating a storage unit. How would you represent storage? A box or a sphere? Or does it merely need to indicate something within the shape (such as a teddy bear inside a parallelogram or triangle)? Familiarity with the box may come first, and then the fact that the box is easy to draw and speak about. Then it comes time to draw the box. How do you draw it? Do you draw a cardboard box with its flaps open? Do you draw a wood crate? Do you draw a futuristic-looking package? Do you draw a simple square or do you make it three-dimensional? Why? The answer to this last question, in my opinion, may very well be what one considers to be the natural clarity – that is, what is easiest for the speaker / presenter (of the idea) to understand.

More could be said about this topic with further research. That branches off into generalities and gets into fuzzy ground that may not reach any conclusions that are any bit more definitive than the ones reached in any other area of psychology.

I’d like to expound on the other sorts of details that effect how people read, write, speak, and listen, so perhaps I’ll update this post later (or write a new one), but this post is already long enough, and hopefully, I’ve got your mental gears spinning on this matter.

~ Conclusion ~

A definitive message in this should be one of encouragement. If you haven’t yet found a language you enjoy, keep looking.

Second, there is no true standard. There are many standards. But let’s not think that abiding by one means we understand the way someone else speaks when they use it. Don’t bash people for not abiding by a standard, but if you want them to abide by it, politely request they do so, remembering all the while they you both speak your own language.

Advertisements

About chronologicaldot

Just a Christ-centered, train-loving, computer geek.
This entry was posted in language, psychology and tagged , , , , , , . Bookmark the permalink.

3 Responses to Language Processing for Humans with Relation to Programming Languages

  1. codeinfig says:

    “””If you don’t have a language you like, keep looking. Something out there will have most of what you want out of a language, and maybe one day, someone will invent a similar one that has even more of what you want.”””

    (maybe “you” will.)

    (you already have, so i mean the more generalized “you.” hey, im proving your next point already…)

    “””I often use the word “grey” for the color, which older dictionaries will tell you is correct, even though the homonym and synonym “gray” is increasingly becoming more common. Some of you, my dear readers, may think yourself as purists, but this is a bit of a delusion. Let me explain.”””

    i already agree.

    “””whenever someone criticizes someone else for spelling a word “wrong” or using it incorrectly, they themselves are the one’s who are ignorant of the fact that there is no standard. Even dictionaries cannot be viewed as a standard because their contents are decided upon by a select group of people who are not always in agreement with the people working on another dictionary.”””

    here, here (deliberately “misspelled”)

    im going to “cut you off” before i continue reading, and say something very simple:

    “language belongs to everyone.”

    its not a monopoly. its not a democracy. its not even a science (well, perhaps sometimes. but you really have to turn it upside down to make it one– look at the most famous attempts to do so, its like theyre trying to deduce the anatomy of the upper gi tract by examining a stool sample. more power to them.)

    language is an art, and compatibility is a virtue. but expressiveness doesnt put compatibility first all the time, because not every step of its “evolution” suits everything. only later on when a language continues to form, do we realize what was going to happen. its a bit like that poor cat– we only know if language truly “fits” by using it bluntly despite all imperfections.

    but i digest: https://www.youtube.com/watch?v=Ij1pZvv9m0g

    “””We have, instead, a set of most common words for our time, and as long as we appeal to these words, we have at least a general idea of what the other person is talking about.”””

    …a rough outline posing as blueprints.

    “””In a way, it would be nice to have a static language – one to which everyone can appeal – but this is an unreasonable request. As soon as you are born, you have experiences that are unique to yourself, and these shape how you view the world and what you think about whenever you hear certain, use, and speak certain words. Over time, these ideas are made more complex by relating them to other experiences. We may consider this “refining”, but in actuality, we have made the definitions of such words more dependent on other experiences, so they are now more complex.”””

    i agree– a static language could be created in one of two ways: predict the future and all eventualities, and equip it with everything it will ever need. (only the highest priests will find themselves able to utter a paragraph in it.) or, keep it simple and have it adapt until its dripping with bloat, then adapt it again to shed its excesses and keep what it needs both. my my, it really is a bit like dna!

    “””my idea of “existence” is probably different from yours, especially since I have considered its essential characteristics. All of this “refining” or associating new ideas and experiences goes on within our mind, and is thus tied to our experiences alone.”””

    its not a variable, its a pointer?

    “””Programming languages have the benefit of being static, should the creator’s of their VMs so desire. This isn’t always the case, and when it isn’t, people may argue fervently over the matter.”””

    i used to argue that freebasic (which made powerful and frequent– and deeply condescending– claims about its compatibility with qbasic) was too much like c to be called “basic.” then a decade later i made a language based on basic and python, which was farther from basic than fb and somehow i was ok with that.

    i dont know what the old me would really think, but when a person from the “qmunity” i respect suggested that i drop “basic” from the name, i did. i couldnt stray that far from who i was, not to accept my own argument (i suggested many times at least half-seriously that freebasic was “free, but not basic”, and i didnt want to be a total hypocrite, even if id changed my overall tack.)

    “””Programming languages should be static so that there is a standard to which everyone can appeal, but problems with the language, changes in the mentality and methodologies of programmers, and the influences of other languages often result in the standard being changed.”””

    i think we should be very careful– as much as we can, in the first place. there are merits in giving new names to new languages. when fig was being developed over the course of a year, i made a couple changes to allow its concepts around arrays and zeroing variables implicitly. any change i made was made with the very serious feeling that it could be sabotage– i never took it lightly. whenever i could, i built new ideas atop existing ones– and tried to make each idea fit any possible ideas to be added later.

    i think people can be very cavalier about that sort of thing, and just break all kinds of stuff. i didnt want to be that way, even while it was very new. “do it right the first time, whenever possible.” knowing it cant be perfect, because im definitely not.

    “””Everyone wants something a little different out of a language, and programming languages aren’t any different. It makes me wonder how people go about reading the things I write. Programming languages are a lot more basic that human languages and don’t always leave much room for error and flexibility. With that in mind, it’s clear that this has influenced my own ways of using language, as well as a language that I myself have been trying to create.”””

    the thing about this is– virtually every computer language you and i will ever talk about are likely to come down to the same turing processes– which chomsky would love if he could find a turings-sort-of-theory of natural language, and hes certainly tried. but with computer languages, we actually have it because all of our languages are 100% compatible with that lower-level base, or they wouldnt run on the same chips. we know its that way because we deliberately did it that way.

    perhaps you could make the same “on the same hardware” comparison with natural language, but it would be a lot harder to find.

    “”””Every language needs rules, but we are each picky as to which rules must be followed and enforced. I’m curious if it is possible to categorize people based on the types of rules we each like to follow.”””

    you could– but for example im more interested in software than hardware. so im going to look for languages that run across lots of different platforms. will i prefer c (which python is implemented in) or will i prefer something interpreted? actually i wrote a compiler (its easier, ive done interpreters before) that translates to an intepreted language.

    i could talk more about this, but lets move forward.

    “””What would your ideal room look like?”””

    ironically, most of it would be very low-level in much of its organization. but the high-level structures would be familiar and expected.

    “””Some people prefer clarity, emptiness, distinctness, which often comes out as whitespace. Other people need borders and boundaries, which may come out as parentheses, brackets, braces or some special tokens. Where the whitespace and boundaries are differs for each person.”””

    when you were evaluating mine, you missed that while inline python is possible, it actually uses pascal-like tokens for command blocks (no indentation is required.)

    this is because i have met too many people turned off by pythons whitespace requirements. i fell in love with that aspect eventually, but i didnt include it in my language because it (really) wasnt written just for “me.” in fact when i tried making one just for me, i couldnt. only when i tried to cater to something more general was i able to create a language that (for me) replaced basic better than python (at least.)

    the whitespace thing turned me off python originally, i and i only found out how wonderful it is through the software platform for the olpc project. i like tokens, because braces require shifting (hate that) and are too easy to mix up when there are many. i dont (ever) expect you to agree, but theres my reason.

    “””not only do people express ideas in their native tongue differently, but they may also have a language structure that they themselves prefer. For instance, some people prefer particles for identifying parts of speech. Some people prefer declensions. Still others prefer the types of words used. And, of course, in English the structure of the sentence itself is used to indicate the parts of speech.”””

    excellent stuff here. you know more about natural languages than i do.

    “””If you haven’t found a language you enjoy, keep looking. Someone may have something you like.”””

    or by all means, do make your own! theres no law that says you cant simply adapt an existing one. it will help you appreciate coding on a much deeper level, and you wont even have to do all the work.

    “””If you don’t have enough time, I guess that’s ok. English works.”””

    (part of the reason it works so well is that it shamelessly steals from any language that passes by, whenever that language has a good idea. khaki– penchant– zeitgeist– arabic, french, german. “mosquito” is from portuguese, which is old latin. and “luggage” was simply coined by the bard himself, lol.)

    “””native tongue takes precedence over natural expression.”””

    you can try painting without some kind of brush and canvas, but most people will think youre nuts if you try. im old fashioned, i use a brush and a canvas to paint. actually i used a mouse and a cga monitor, but either way the tools already existed and were already in my hands.

    “””We all are forced, in some ways, to use the same vocabulary to express ideas, and thus we can all garner something about what the other person is saying. However, I feel like in many ways this is greatly deceiving, and we end up thinking our speaker is talking about an elephant when he’s really describing an ocean. Now that I mention it, even the word “really” is peculiar. I often use it to mean “actually” though it also has the connotation of meaning “very much”. One could be verbose in expression, but many words wear out the listener.”””

    🙂

    “””You can give a man a car, but that doesn’t make him want to drive.”””

    most people do drive, though. and those that dont, dont because it costs too much, or they dont want to pollute, or theyre afraid to, or they can simply *walk next door* instead.

    the industry has spent many years adapting to these things, trying to make cars more affordable (that was a key idea behind the model ts success) or pollute less by being hybrid or electric, or being safer so that people feel safer in them, and if a smart car were any more economical in size and other aspects, people just might drive it next door– some nearly do this anyway.

    this is my feeling about languages, inspired largely by the legacy of basic. programming was– as you describe, only for those interested in the esoterics. the resurgence of “everyone can code” has a very 1960s vibe to it. weve done it before, and we can do it again. and the im happy to discuss the real merits of everyone doing so– its not only for their convenience or careers, but for life in the 21st century whether they choose to write programs each year or not.

    “”””I wonder what the extent is of information that can be extracted about a person just based on their ways of expressing things, especially in regard to programming languages.”””

    tons. after all, you can tell a lot about a man by the way he dresses.

    “””A number of people avoid using Latin because they aren’t scientists and the language itself has been declared as “dead”, even though it is still used in the Catholic Church an a number of scholars.”””

    i find it too tedious. ironically, i have tried to learn portuguese… i even made a localized keyword version of fig called “figueira,” and portuguese is basically vulgar latin.

    “””anyone learning Latin now will be learning it through the lens of their own modern version of their native tongue, which means that the meanings of Latin words technically are not as static as they seem, and they are definitely not as static as that of unmaintained programming languages.”””

    fantastic point.

    “””Whitespace is a visual cue, but if it is to be meaningful, it must have some measure. The meanings of letters are determined by both their shape and their width and height. Whitespace can also be measure by its width and height, or at least the area where whitespace is present can have some meaning attributed to it. Whitespace does not necessarily indicate organization, and indeed, one of the common complaints about the programming language of Python is that it depends heavily on whitespace.”””

    this is more significant to critics than fans, of course. the concept of a language with syntactic whitespace is a nightmare, and an instant turn off until you realize that:

    1. the only meaningful “whitespace” is indent level from the left-hand-side. thats a huge relief right there, its an absolutely terrifying prospect before you realize that.

    2. all indents are signified by a colon at the right end of the previous line.

    3. it only applies to command blocks anyway.

    seriously, people make too much of this. but simply because they do, i have a python-inspired language with pascal-like tokens. and if you love whitespace that much, you can use inline python, too. (it works.)

    “””At the same time, the whitespace greatly simplifies things, removing some visual clutter and making it easier to read and write than other languages. It has been so successful that there are various spin-offs. I’m rather curious as to what it means from the standpoint of human expression. Why should the lack of visual clutter be more helpful to some people than to others?”””

    it means you can keep looking at what counts, rather than get distracted by noise– people who can look at a rats maze of curly braces (ive tried it, but i didnt care for it) and determine structure (easily) are better coders than i am. but i didnt write my language for “better coders,” i wrote it for people that are afraid (or unlikely) to teach themselves python or javascript– both of which are perfectly good languages, despite javascripts curly braces.

    “””it is worth considering the aversion or liking of such a feature as an indicator of the internal mechanisms of the human mind.”””

    and from a design standpoint.

    “””Some programming languages use the semi-colon for sentence termination, probably partly because this is how C did it, but perhaps because it may resemble the same effect of a period on the human mind. Or perhaps it was chosen at first because it just happened to be the closest character to your little finger on the keyboard.”””

    its more visible than a full stop, which is already used in decimal notation. on usa keyboards, it lacks the shifting requirement that basics colon needs (in some european countries this saves you nothing– semicolons on some keyboards require shifting; but c comes from the usa.)

    fig lets you use ; or : or even | between “virtual lines of code” or even none– but newlines are required. in a language with required vloc termination like javascript or c, ploc termination is optional unless the author assigns them new (and perhaps contradictory) meaning.

    “””The hash-tag used in Python and other programming languages may have been chosen because of its blocky size being a unique, easy-to-type visual cue that signals to the programmer he is now reading a comment.”””

    that is exactly why i chose it for fig over the more traditional apostrophe– well, traditional for qbasic, it used to be “REM” for “remark.” because of the way fig works, you can do that too (but this is a coincidence, not by design):

    rem “this works as a comment, but only if you put it in quotes” # because now rem is a variable set to a string.

    “””You can’t ask everyone to compose a piece of music they enjoy – some people simply can’t express it or don’t know exactly what it is they like about any particular genre (and of course, we often like more than one).”””

    and yet think of all the arguments and missed friendships over petty differences regarding such matters. people will vigorously defend their preference even when theyve never considered why they have them– and if you ask, they may make it up on the spot or even admit they dont know the answer!

    “””how can this be understood and categorized? Everything can be categorized – some ways better, much better, than others. In this case, I’m particularly interested in the aspects of language as they appeal to the human brain. But before I invent some meaningless blarg, let me give an example.”””

    just go on wikipedia and look how they do it with tables. i recommend this as a quick place to start– as you create your tables, you may determine a better way. if you dont, just use tables. they do a fine job (with this particular thing) under the circumstances.

    one advantage of using tables is that you dont have to figure out a pure authoritative hierarchy. you can have one table based on things like “by license” and another based on things like whitespace, tokens vs braces, and intepreted vs compiled. start with the factors that you think matter, and if/when you want to go further, cover some you didnt think were important. a table is pretty rigid and only has a dual axis, until you have a stack of them.

    “””this post is already long enough”””

    its got at least one fan for sure– i thoroughly enjoyed it and it made my day.

    “””Don’t bash people for not abiding by a standard, but if you want them to abide by it, politely request they do so, remembering all the while they you both speak your own language.”””

    hear, hear. (spelled “correctly” this time– at least traditionally, in a way that better points to the origins of the phrase.)

    i dont normally run everything through a spellchecker, by the way. i spell fairly well, i make typos occasionally, if i have any doubts i super-t, aspell -a, type the word and see if it returns an asterisk or a suggestion. the way the letters on a qwerty keyboard are arranged, i can “aspell -a” pretty easily without stopping to think about it.

    everyone prefers a language that lets them write their way, without having to look everything up. this goes out the window i think, when people code by cutting and pasting, eh? then you can have a language that is a lot more awful to code in, and people that are willing to (try to) code that way may not even notice how tedious it really is.

    x = “oi” ; ordem ; mais ” ” ; multipor 5 ; impressha

    x = “hi” ; arr ; plus ” ” ; times 5 ; prints

    • True words. Yeah, my analogy of “you can’t make a man drive a car” was sort of a poor spin-off of the “you can bring a horse to water but you can’t make him drink.” The analogy breaks down with more analysis, though I do meet from time to time people who insist on walking for reasons unbeknown to me. *shrug* I don’t suspect many people own a horse these days. lol. One of the critiques of Python whitespace is the fact that you can’t tell what it is. Python treats tabs and spaces differently, and unless your IDE makes them visible (most IDEs I’ve seen don’t, darn it), you can’t tell which is used by just glancing at it. There are ways of checking for sure, but formatting may also get messed up if you are copying code off the internet. “It looked fine” but the website may have been formatted improperly (because tabs are removed in HTML so people resort to other tricks). That’s one of the reasons I chose brackets, even though spaces are so much easier to type. Visually though, I do like borders, so brackets are more descriptive that whitespace, but even more than than is the natural list-of-steps/recipe layout for code, which can be done in most languages quite well and naturally appears in Python code. Concerning categorization, I don’t use Wikipedia (aside from it being unreliable) because it’s not the classification I’m interested in. I’m looking for something more fundamental to the human brain, but yes, Wikipedia is a start. The job would be made so much easier if people were more inquisitive about themselves and more honest about themselves. The introspection would help them at least make some general observations that could be worked with. Otherwise, the stats end up coming from polls and case studies and such. I’m sure lots of information can be garnered from looking at what people chose to write in, how they write, what grammar they use the most, etc. But it’s all interconnected, so it’ll take a bit of untangling to figure out what goes where. analysis={this.init=fn(users){print(disect_minds(users()))}}

      • codeinfig says:

        mine wont do tabs at all. and when i noticed this (i dont know how a tab even got in, but when it did it didnt like it) i thought “oh wait, i can add one line to make it accept tabs.”

        and perhaps someone will do that some day. because i stopped myself and said “wait, do i want people to start using tabs here? do i want to do like python and tell everyone “dont mix tabs and spaces! use an editor that types 4 spaces whenever you hit tab!” or do i just want to not accept tabs?

        because its as simple as using an editor that adds 4 spaces each time you hit tab. or remapping your keyboard.

        or simply disallowing tabs, as python discourages their use. but since whitespace (other than inline python) is optional anyway… i may decide to allow tabs in future versions. right now, im not serving anyone by doing so.

Enter the space and time of my little world... Welcome Earthling.

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s