4 ms·
I think it is very unfortunate that we use the same work "language" for human languages and computer languages. They are nothing alike, except you can write the
by captainmuon 9y ago
I think it is very unfortunate that we use the same work "language" for human languages and computer languages. They are nothing alike, except you can write them in textual form and they have some kind of "grammar". It's a bit silly, but if you can't say "I love you", it is not a language to me.
I would rather say, programming is like designing an intricate mechanism, such as a mechanical clock. Some people have compared it to carpentry, or engineering.
- masmullin 9y ago> if you can't say "I love you", it is not a language to me. void declareEmotion( bool isInLoveWith ) { if( isInLoveWith ) { printf("I love you\n"); else printf("I'm sorry, this isn't working out...\n"); } }
- oerpli 9y agoIn the native dialect of western Austria you can't say "I love you". Some form of "I like you" is as high as the emotions get there.
- waivek 9y agoWhile I don't agree with OP, I don't think this is a valid argument. One can say "I love you" in a subset of formal Sanskrit which obey's Panini's grammar and rules.
- captainmuon 9y agoI don't understand - Sanskrit is a human language (albeit a dead one). Whereas, you could "write" programs by arranging little pieces of would with symbols on them on a board. You could punch hole cards for a mechanical loom, or you could solder electronic components together. None of that involves communicating with other people. I think a better analogy than language would be a mathematical calculus - i.e. the way you can write down certain symbols, and manipulate them using certain rules, and you have certain guarantees about the result. Another analogy would be a "kit" of standardized/conventional elements for construction, e.g. I-beams, windows, tiles, 2x4s, doors, cable channels, ... . You arrange these things, and if you do it properly, you get something meaningful and useful like a house.
- notreallythough 9y agoIt's a series of tools and components required to fit certain related theories? In carpentry you have many standardized off-the-shelf tools and components (hammers, nails, windows, tiles, dimensional lumber) and you have an almost endless number of ways to combine them. You can also create your own tools and components (which is harder). You also have some pre-determined guidelines that are meant to protect/regulate things so that they're safer and easier for a wider audience to live with, maintain, and edit (building codes). Any of this stuff will work together as long as you stick to the constraints of individual objects as they fit into the laws of physics (a component can only bear X load in Y configuration). The concept of "properly" is a bit varied. I can build a house with mud and straw and it's a "proper" house in some parts of the world... but it might kill me in an earthquake. This might be due to a pre-determined assessment of earthquake risk, or it might be because of limited knowledge and resources available (very common in coding, and often OK in small scale scenarios).
- waivek 9y agoWriting a program is different from the concept of what a programming language is. A programming language has an underlying grammar/rules. Through Panini's work, a subset of Sanskrit can also be expressed through rules. This link on grammar might also interest you- https://en.wikipedia.org/wiki/Formal_grammar https://en.wikipedia.org/wiki/Formal_grammar
- conner_bw 9y ago> if you can't say "I love you", it is not a language to me Japanese don't say "I love you" (winky face) [1] https://www.quora.com/Do-Japanese-people-say-I-love-you-to-people-who-they-love https://www.quora.com/Do-Japanese-people-say-I-love-you-to-p... [2] https://answers.yahoo.com/question/index?qid=20090222081745AAWudoV https://answers.yahoo.com/question/index?qid=20090222081745A... [3] https://www.youtube.com/watch?v=azLpKvKBdHE https://www.youtube.com/watch?v=azLpKvKBdHE