Skip to content

use 👋🌍 as a "Hello World!" greeting #89

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

joeskeen
Copy link
Contributor

@thbwd
Copy link
Member

thbwd commented Dec 19, 2021

I think #91 originally was only concerned with the example on the front-page, i.e. emojicode.org. While I'm fine with changing that, I feel it can be confusing for newcomers if we print emojis in the tutorial right away. Then the code is just a wall of emojis. However, there's nothing wrong with adding "emoji" as a "language" to the other sections (More Greetings, Internationalizing Our Greeter) of the tutorial.

>!H You must have installed Emojicode to run the following commands.
>!H See [Installing Emojicode](install.html) if you haven’t already.
> !H You must have installed Emojicode to run the following commands.
> !H See [Installing Emojicode](install.html) if you haven’t already.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dwt
Copy link

dwt commented Dec 19, 2021

looks great!

@dwt
Copy link

dwt commented Dec 20, 2021

@thbwd yes, the front page example is what triggered me, but I have to say that I'm impressed even more if you consider changing all the other example code too.

I have to admit that I didn't even think about internationalization at first, but I fully support the argument that 👋🌎 is much more international than 'hello world' and therefore gives the project an even bigger international appeal.

Regarding the Wall of emojis I would argue two front:

  1. If the example is too complex, as in too many emojis, I would dare ask if that perhaps points to an underlying problem with the way the example is formulated, or perhaps how the language is currently structured. Coming from Python, I would have expected the minimal example to be just 🖨🔤👋🌎🔤 (One could argue that the rest of the example has kind of java-esque feel of:
class Greeter {
    public static void main(String[] args) {
        System.out.println("Hello World")
    }
}
  1. Regarding the wall of emojis: I actually think that replacing Hello World by 👋🌎 makes the example both more succinct as well as more accessible as it doesn't detract the reader with latin characters from he power that full emojis gives. I also think that capitalising on the power of emoji to not have to dol10n and i18n to support a worldwide audience is a good thing to push and capitalise on early. (That may require more changes in the supporting text though)
  2. In that spirit, maybe it is worthwhile thinking about using emojis in even more places of the language description?

(Sorry about the off by one)

@thbwd
Copy link
Member

thbwd commented Dec 20, 2021

My argument was that it's harder for people to recognize the string in the code sample if there are only emojis. Printing "Hello world" makes this very clear. It's not about counting emojis or brevity. A tutorial should be as clear as possible.

I'm not sure I get what you're suggesting in 2./3. (#87 related?) but maybe you can illustrate with an example.

@dwt
Copy link

dwt commented Dec 27, 2021

@thbwd Well, I can only reiterate that having a non emoji string in a language that is called emoji code (and that for example allows the file extension to be an emoji), going back to the String 'Hello World' instead of 👋🌍 is a jarring and entirely preventable context switch.

To try and go to a boring argument: If you strive for ultimate clarity of tutorials, I can only recommend that you specify the language so it allows alternative international alternative spellings for all the language constructs so the tutorials can be provided in at least English, but ultimately in the local language of each user. Then later on you can start replacing constructs by their emoji alternatives to drive home the advantages that made you guys choose to build emoji code.

In german that could be:

programm_start block_beginnt
    ausgabe_auf_standardausgabe("Hallo Welt!")
block_ended

or in english

programm_starts block_starts
    print_to_standard_out("Hello world!")
block_ends

I'm curious to hear how you guys argue that this wouldn't be much more clear than the emoji version. Then later you can introduce replacement of tokens by their emojis for … whatever your particular reason is to prefer them, I guess?

I can only guess what they where (for you) but in the meantime, I would say that you are really missing out bay not using 👋🌍 instead of the boring 'hello world'.

@dwt
Copy link

dwt commented Dec 28, 2021

Maybe to add a compromise, how about going this route (conceptual code following):

var helloWorld = "👋🌎"
console.log(helloWorld)

That would achieve the clarity you want (albeit at the cost of a variable) while additionally demonstrating how to declare a variable, and still achieving the desired outcome of outputting emoji.

I still think it is a shame to the lord, to forego the chance to have a program that is entirely composed of emoji.

@joeskeen
Copy link
Contributor Author

@thbwd did we ever decide what should be done with this?

@joeskeen
Copy link
Contributor Author

I wonder if something like this may be a good compromise?

image

That way you not only get the all-emoji experience, but it makes it clearer what the code means, as you can start to see what a string literal looks like in Emojicode.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants