Re: Do you believe that the Plain English language is better than Ruby language?
Allan Bowe <[email protected]>
| Newsgroups | gmane.comp.lang.ruby.general |
|---|---|
| Message-ID | <CAPRKfMy_LF+sNiV1mVYvd_85Dpmv6NpS9Qe=Z+YZyTJboWr0yQ@mail.gmail.com> |
What has any of this got to do with Ruby? On Fri, 22 Feb 2019 at 23:44, Quantum Robin <[email protected]> wrote: > > > Em sex, 22 de fev de 2019 17:34, CRAIG JOHNSON <[email protected]> escreveu: > >> I've watched this.... >> >> After doing this stuff for 45 years....this has been amusing, but >> misguided.... >> >> Without significant software (compiler/interpreter) overhead---nat >> language is just a burden. >> >> Tragically---intent may be good, but experience and understanding of the >> real issue of directing electrons about >> silicon traces seems to be shallow... >> >> Programming languages are build to do this right, everytime, clearly and >> unambiguously---natural languages do not share that feature. >> >> thank you. >> >> next please. >> >> cj:) >> > > What are the online resources for learning Plain English? > > What are the forums that are specifically for Plain English learners and Plain > English programmers? > > Who are the people who write in Plain English? > >> On 2/21/2019 12:25 PM, Quantum Robin wrote: >> >> >> >> Em qua, 20 de fev de 2019 13:33, Paul Robinson <[email protected]> >> escreveu: >> >>> On 20 Feb 2019, at 14:35, Quantum Robin <[email protected]> >>> wrote: >>> >>> > I asked to the Gerry Rzeppa, the Grand Negus of the Osmosian Order of >>> Plain English Programmers: >>> >>> >>> Ah, so your only contribution here, "Quantum Robin", is to conduct a >>> flamewar by proxy? Can I ask that you please do not continue to do that? >>> >>> >>> > What could possibly "make collaboration easier" than speaking to a >>> fellow human in the shared natural language used for ordinary conversation? >>> >>> >>> Based on the industry's experience of 70+ years: almost anything else, >>> it turns out! >>> >>> Natural language is inherently loaded with misunderstanding and >>> ambiguity (it's a feature, most humour, irony, poetry and cryptic crossword >>> clues couldn't exist without them!), that results in potentially >>> catastrophic errors in a software engineering context. >>> >>> This is why UML exists, even though we all wish it didn't. It's why >>> automated test suites are an industry norm despite them being expensive to >>> maintain. It's why good specification documents have tables and diagrams >>> rather than stick to natural language, even though based on your argument, >>> they are unnecessary. >>> >>> You seem to try and duck this problem in PE by demanding the programmer >>> defines the language semantics first in order to narrow the scope of >>> ambiguity. >>> >>> One problem with such an approach is that it would require a programmer >>> to cognitively adjust when maintaining two programs written by two authors >>> who have different meanings for the same word more so than they would in >>> other languages. >>> >>> Sure, we have this in Ruby when it comes to class names being the same >>> in two programs with different functionality within them, but this >>> difference is explicit and clear, but for PE to remain truly "natural", >>> such differences must be minimised and implicit. Anything less, and it's no >>> longer a "natural language" approach, after all. >>> >>> "puts" might be an absurdly clunky shorthand for "Put on the screen" to >>> your eyes, but at least it means exactly the same thing in every Ruby >>> program I'm likely to ever have to pick up and maintain. Yet, 'Write >>> "Hello" to the screen' in PE could mean different things if the author of >>> the PE system I find myself in has changed the meaning of 'Write' or >>> 'screen' in a way I had not anticipated. >>> >>> You don't seem to have perceived or encountered such problems yet, and I >>> am going to guess that this might be because the only people to have >>> produced and maintained a significant amount of code in your language seem >>> to be you and your son. >>> >>> Take this into an enterprise code shop and see what they do with it, and >>> you might learn a lot about human nature and problems with the language >>> similar to the ones I have described. >>> >>> What I fear is that PE will fail the "maintainable at team scale" test >>> rather quickly, and worse given the tone of your reply you will find fault >>> in the team rather than in your language. >>> >>> Ironically for a language that seems to be borne out of a desire for >>> empathy with the programmer, you may have designed an environment that is - >>> completely unintentionally - passively hostile to them. >>> >>> >>> > First, we don't "use a subset of English." Rather, we allow the >>> programmer to precisely yet flexibly define whatever subset of English he >>> deems suitable for his application and circumstances. >>> >>> >>> Your rebuttal reduces to "we don't use a subset of English, we make the >>> programmer define a subset of English". >>> >>> You haven't disproved my point, you've just made the whole idea even >>> less attractive. >>> >>> What you've described is what we call in Ruby "meta programming" and >>> those of us who are a certain age spend a lot of time asking colleagues to >>> avoid it. >>> >>> >>> > Except for Plain English, of course, which has the absolute minimum >>> "cognition overhead" >>> >>> >>> Based on your explanations and the source code that I have read, I do >>> not believe this statement to be true beyond the point where a word is >>> parsed at the surface level. Semantic and syntactic cognition seems to be >>> harder in PE than any other programming language I know because as you've >>> explained it, every word is defined differently in every program. >>> >>> >>> > Short answer: Paul does not know Plain English, so he doesn't know >>> what he is talking about. >>> >>> >>> Indeed, my short answer to this response could - if I was going to be as >>> equally insulting and flippant - be something like: Gerry does not know >>> professional software engineering, so he doesn't know what he is talking >>> about. >>> >>> Time to move on... >>> >>> Paul >> >> >> Is Plain English a good programming language to teach basic programming >> techniques? >> >> If not, why the Plain English is not a good programming language to teach >> basic programming techniques? >> >> >>> Unsubscribe: <mailto:[email protected] >>> ?subject=unsubscribe> >>> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk >>> <https://nam01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.ruby-lang.org%2Fcgi-bin%2Fmailman%2Foptions%2Fruby-talk&data=02%7C01%7C%7C4af8363501ff46d6cc4a08d698325d8c%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636863739416964371&sdata=5Tgc3EEoBFmi2ceMAZjm5N00b0ViTW04ioRydLiHYL8%3D&reserved=0> >>> > >>> >> >> Unsubscribe: <mailto:[email protected]?subject=unsubscribe> <[email protected]?subject=unsubscribe><https://nam01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.ruby-lang.org%2Fcgi-bin%2Fmailman%2Foptions%2Fruby-talk&data=02%7C01%7C%7C4af8363501ff46d6cc4a08d698325d8c%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636863739416994386&sdata=5K7KltIJBl0vjbb2ULL9%2FvJcU3NWyBcf3H%2FmjfANAHo%3D&reserved=0> <https://nam01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.ruby-lang.org%2Fcgi-bin%2Fmailman%2Foptions%2Fruby-talk&data=02%7C01%7C%7C4af8363501ff46d6cc4a08d698325d8c%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636863739416994386&sdata=5K7KltIJBl0vjbb2ULL9%2FvJcU3NWyBcf3H%2FmjfANAHo%3D&reserved=0> >> >> -- >> If you can't set a good example, >> be a glaring warning. >> or... >> “Be polite, be professional, but have a plan to kill everybody you meet.” >> General James Mattis, USMC >> >> >> Unsubscribe: <mailto:[email protected]?subject=unsubscribe> >> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk> >> > > Unsubscribe: <mailto:[email protected]?subject=unsubscribe> > <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk> > Unsubscribe: <mailto:[email protected]?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>