wenyan icon indicating copy to clipboard operation
wenyan copied to clipboard

English Language "Getting Started" Tutorial

Open 0xvividmirage opened this issue 6 years ago • 9 comments

Would you create a getting started tutorial on how to use this programming language? I find it to be an interesting way to learn Traditional Chinese!

0xvividmirage avatar Dec 20 '19 16:12 0xvividmirage

Learn Traditional Chinese by programming?

IT'S ****ING CRAZY

tinyvan avatar Feb 16 '20 00:02 tinyvan

I started creating a beginner/learning cheatsheet with pinyin and literal English translation. I will publish the .pdf when it is finished. Here is the preview, let me know if you have any comment :) https://twitter.com/alainsaas/status/1232144540590579712 https://twitter.com/alainsaas/status/1232512798934151168

alainsaas avatar Feb 26 '20 04:02 alainsaas

@alainsaas Wow! That's pretty awesome! 👍 Looking forward to it.

antfu avatar Feb 26 '20 06:02 antfu

Here is the full document, it should be enough to learn the language starting with only basic knowledge of Chinese characters :)

https://github.com/alainsaas/wenyan

alainsaas avatar Feb 28 '20 02:02 alainsaas

👍 Very nice! I like the format. May I propose two small suggestions:

  • the green and cyan texts are a bit too bright and hard on the eyes
  • some of the English translations seem slightly inaccurate. The same character in modern and Classical Chinese can mean different things. I'll take a closer look when I have time and suggest some edits if you don't mind :)

Just for reference, I did a literal translation of quicksort from wenyan to English at the request of a journalist a while ago:

I have a technique. Name it "quicksort".                                                    | 吾有一術。名之曰「快排」。
    To utilize it, one must obtain an array, called "A". And thus describes the technique:  | 欲行是術。必先得一列。曰「甲」。乃行是術曰。
    If the length of "A" is not greater than one:                                           | 若「甲」之長不大於一者。
        Thus we get "A".                                                                    | 乃得「甲」也。
    I have three arrays. Name them "head", "body", and "tail".                              | 吾有三列。名之曰「首」。曰「頷」。曰「尾」。
    Take the first of "A". Name it "A1". Put "A1" into "body".                              | 夫「甲」之一。名之曰「甲一」。充「頷」以「甲一」。
    Take the rest of "A". Name it "AA".                                                     | 夫「甲」之其餘。名之曰「甲餘」。
    For each "C" in "AA":                                                                   | 凡「甲餘」中之「丁」。
        If "C" is smaller than "A1":                                                        | 若「丁」小於「甲一」者。
            Put "C" into "head"                                                             | 充「首」以「丁」。
        If not:                                                                             | 若非。
            Put "C" into "tail"                                                             | 充「尾」以「丁」也。
    et cetera.                                                                              | 云云。
    Use "quicksort" on "head". That which was called "head" before, now this is what it is. | 施「快排」於「首」。昔之「首」者。今其是矣。
    Use "quicksort" on "tail". That which was called "tail" before, now this is what it is. | 施「快排」於「尾」。昔之「尾」者。今其是矣。
    Connect "head" and "body" and "tail". Name it "B".                                      | 銜「首」以「頷」以「尾」。名之曰「乙」。
    Thus we get "B".                                                                        | 乃得「乙」。
Such is called the technique of "quicksort".                                                | 是謂「快排」之術也。
                                                                                            |

But overall awesome work, thanks for making this!

LingDong- avatar Feb 28 '20 05:02 LingDong-

Great job! I have some small suggestions as well

  • For the color/theming, maybe we can utilize the colors used in Online IDE and rendering to better match the "wenyan style", you can see the hex value in this file
  • I think an English explanation about 天干地支 would help non-Chinese speakers to understanding the context.

Let me know when you think it's ready, we would love to promote it in our wiki. Thanks! 👍

antfu avatar Feb 28 '20 10:02 antfu

I improved some translations, inspired by yours, LingDong, thanks! And fixed the colors/theming - I admit it looks much better in "wenyan style" :) I don't know enough about "天干地支" to provide an explanation (except that is has to do with that 甲, 乙, 丙, .. = A, B, C, ..).

=> https://github.com/alainsaas/wenyan/blob/master/wenyan-lang%20beginner%20cheatsheet.pdf

Let me know if you have other feedback. And yes feel free to publish it in the wiki. I initially made it because there was no documentation easy to read with pinyin ;)

alainsaas avatar Mar 01 '20 04:03 alainsaas

Looks great! Sorry but some more small improvements:

  • The font weights are not matched, maybe the code font is a little too thin.
  • The line spacings with/without the pinyin do not consist, looks a little misaligned. Adding spacing for lines without pinyin might fix this (or maybe there is better way to handle that in your layout engine) image
  • A green right bracket, maybe you missed that 😄 image
  • For the 天干地支 part, I think it's enough to say it's roughly A, B, C in Classical Chinese

I have linked your documentation in this wiki page. Thanks for the great work!

antfu avatar Mar 01 '20 05:03 antfu

  • I fixed the line spacing (had to add some hidden "回車"..), you are right, it looks better!
  • About the font weights, let me know if you know a better font for wenyan. Thanks for the feedback and for adding it to the wiki!

I will keep improving it :)

alainsaas avatar Mar 01 '20 06:03 alainsaas