Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

2024 Participants: Hannah Ackermans * Sara Alsherif * Leonardo Aranda * Brian Arechiga * Jonathan Armoza * Stephanie E. August * Martin Bartelmus * Patsy Baudoin * Liat Berdugo * David Berry * Jason Boyd * Kevin Brock * Evan Buswell * Claire Carroll * John Cayley * Slavica Ceperkovic * Edmond Chang * Sarah Ciston * Lyr Colin * Daniel Cox * Christina Cuneo * Orla Delaney * Pierre Depaz * Ranjodh Singh Dhaliwal * Koundinya Dhulipalla * Samuel DiBella * Craig Dietrich * Quinn Dombrowski * Kevin Driscoll * Lai-Tze Fan * Max Feinstein * Meredith Finkelstein * Leonardo Flores * Cyril Focht * Gwen Foo * Federica Frabetti * Jordan Freitas * Erika FülöP * Sam Goree * Gulsen Guler * Anthony Hay * SHAWNÉ MICHAELAIN HOLLOWAY * Brendan Howell * Minh Hua * Amira Jarmakani * Dennis Jerz * Joey Jones * Ted Kafala * Titaÿna Kauffmann-Will * Darius Kazemi * andrea kim * Joey King * Ryan Leach * cynthia li * Judy Malloy * Zachary Mann * Marian Mazzone * Chris McGuinness * Yasemin Melek * Pablo Miranda Carranza * Jarah Moesch * Matt Nish-Lapidus * Yoehan Oh * Steven Oscherwitz * Stefano Penge * Marta Pérez-Campos * Jan-Christian Petersen * gripp prime * Rita Raley * Nicholas Raphael * Arpita Rathod * Amit Ray * Thorsten Ries * Abby Rinaldi * Mark Sample * Valérie Schafer * Carly Schnitzler * Arthur Schwarz * Lyle Skains * Rory Solomon * Winnie Soon * Harlin/Hayley Steele * Marylyn Tan * Daniel Temkin * Murielle Sandra Tiako Djomatchoua * Anna Tito * Introna Tommie * Fereshteh Toosi * Paige Treebridge * Lee Tusman * Joris J.van Zundert * Annette Vee * Dan Verständig * Yohanna Waliya * Shu Wan * Peggy WEIL * Jacque Wernimont * Katherine Yang * Zach Whalen * Elea Zhong * TengChao Zhou
CCSWG 2024 is coordinated by Lyr Colin (USC), Andrea Kim (USC), Elea Zhong (USC), Zachary Mann (USC), Jeremy Douglass (UCSB), and Mark C. Marino (USC) . Sponsored by the Humanities and Critical Code Studies Lab (USC), and the Digital Arts and Humanities Commons (UCSB).

"hello, [other language(s) than English] world!" (2022 Code Critique)

edited February 2022 in 2022 Code Critiques

Title: "hello, world!"
Author/s: Brian Kernighan
Language/s: several
Years of development: 1978-
Software/hardware requirements (if applicable): multiple depending on the language/s

main( ) {
printf("hello, world");
}

The use of "hello, world!" as a test message was initially described as a code example in Dennis Ritchie and Brian Kernighan's 1978 book The C Programming Language. This simple program followed an earlier Bell Laboratories' internal memorandum written by Brian Kernighan in 1974, titled Programming in C: A Tutorial (see also Wikipedia, online).

The "hello, world!" program is probably one of the simplest programs to write, and often one of the first basic syntaxes to be learned by students and/or coders in several programming languages (eg. Ballerina, BASIC, Batch file, Bash, C, C++, C#, COBOL, Clojure, Dart, Elixir, Ezhil, Fortran, Go, Haskell, Java, JavaScript, Kotlin, Logo, Lua, mq, Objective-C, OCaml, Pascal, Perl, PHP, PowerShell, Prolog, Python, Ruby, Rust, Standard ML, Swift, TI-BASIC, Zig).

Since 1994, Wolfram Roesler and many people around the globe compiled The Hello World Collection, including 603 "hello, world!" programs in several programming languages and in additional 78 human languages. More recently, Geoff Cox and Duncan Shingleton created hallo welt! (hello world!), shown as a projection at BV Gallery, Linz (Austria) in 2008, and as part of AFTER THE NET, at Peninsula Arts Gallery, Plymouth (UK) in 2009, and at Tecnológico de Monterrey, Toluca (México) in 2010. Cox and Shingleton's brilliant codework plays on a communicative act between programmer and computer, by 'looping more than 100 Hello World programs written in different programming languages, alongside a selection of human languages, [and] combining them into a real-time, multilingual, machine-driven confusion of tongues' (Soon and Cox, 2020).

Discussion Questions

  1. While most of the programming languages are based in English, some experiments to decolonize code can involve trying to use other (non-Western) languages?

  2. What could these new code experiments with non-English languages look like?

  3. Do you know of other examples of "hello, world!" programs in other languages than English?

  4. How could the "hello, world!" bring new possibilities to teaching, learning and developing alternative modes of thinking and living that are non-Western?

  5. How could we creatively re-think the "hello, world!" code as non-binary?

Comments

  • This is a good experiment, I agree — I suggest writing (or trying to write) Hello World in non-English languages in Exploratory Programming for the Arts and Humanities, in both editions; the prompt is found in 7.2 in the second edition:

    Trying to have the computer display “Buenos días,” for instance, will reveal whether the programming environment you are using supports accented characters from the Latin alphabet. It seems like it should, at this point in the twenty-first century, but it might not. Trying to have the computer display the greeting “привéт” will reveal whether one’s environment supports Cyrillic. (If you want to do this sort of test this without changing your keyboard layout, you could paste in a Russian word, in Cyrillic, from the Web.) Other characters, including ones from non-Western writing systems, can be tested in this way too. With Unicode support, a wide number of glyphs may be supported, but it may not be equally easy to type all of them. All characters are equa1, no doubt, but you will probably find that some are more equal than others in your system.
  • Roundabout way to think about @diogo_ph22's great question, I think, but @nickm's prompt reminds me of my brief career as a QA Analyst for a web development/marketing company. The company made websites for major corporations which included many features with text fields (from contact us forms to search functions to having custom text added to generated images of products: put your name on a mug!). Part of my job was to break these forms, basically to find ways to cause unanticipated errors. The first step was always to figure out which typographical symbols were supported, to determine which should be supported and which should be added to a custom apology/error message. Throw an & in there. Throw in a ^, a ), etc. But these tests also included é and ñ and other alphabets. I guess what I am saying is that these kinds of exercises are happening all the time, even daily for companies such as Kraft Foods, but that also I was rarely ever thinking, at the time, about what these exercises stood for. They are about defining who the "user" is or can be. And depending on the kind of website, who is reader, participant, citizen, person, et al. is or can be. If your name had a certain unsupported symbol in it, it couldn't be on a mug! ...or an application.

    All of this is implied by @diogo_ph22 and the projects mentioned above, of course. What I find easy to forget is the ubiquity of similar functions.

    I have no new creative solution, but as a pedagogical tool I think it would be an interesting exercise to write a Hello, World! function in an environment that DID support other alphabets and symbols but that did not support something many students might take for granted: for instance, the letter "e." Ask a group of native English speakers to have to work around it, to inhabit that subject position, to look at a system that defines them as outside of it. That might lead to some interesting discussions. (I am sure this is done!)

  • What about hello world for accessiblity. Can we have an audio version of hello world for the visually impaired, a version of hello world (picture?) for people who are dyslexic. I am sort of thinking of @Temkin and piet -https://esoteric.codes/blog/david-morgan-mar

  • In the Yoruba-based Yorlang, Hello World looks like this:sọpé "báwo ni ayé";. I spoke with the creator of Yorlang and others who have designed Indigenous African programming languages for esoteric.codes here; each have a Hello World in the spoken language they've used.

    Can we have an audio version of hello world for the visually impaired

    Perhaps an esolang where, instead of text-to-speech coding, the code just remains as audio and perhaps all input and output too.

    I am sort of thinking of @Temkin and piet

    There is a Piet program that functions as a visual quine, where the word "Hello" and a picture of the world make up the image that serves as source code for the program, created by Kelly Boothby. We could go further, with a pictorial expression of "Hello," (perhaps a waving hand?) as part of the image.

    But this is all dealing with the source code -- the output of this program is still textual (and in this case, English). But we can write Piet programs that output binary data, and so we could have it output an image. Itself, as a quine? Another pictorial representation of the message?

    1. How could we creatively re-think the "hello, world!" code as non-binary?

    There are a few ways to think of non-binary here, but for the moment I'm reading this as being about chance or probabalistic languages (rather than, say, non-binary encodings).

    (In my language Entropy), we can't be sure "Hello, World!" would print. Data corrupts in a way that "Hello, Xorld!" or "Ielmo, Worle!" might print instead.

    But what if we had a chance-based language that worked among many natural languages. Going back to Yorlang, it was created in Nigeria, a country with 525 languages in use. Our program might take all of these languages into account before delivering one version of the message, decided either by chance or probabilistically based on what it determines is the best choice for the user -- or perhaps even building chance composites of these languages with mixed vocabularies.


  • 東芝-パソピア IQ/Toshiba Pasopia IQ MSX CM (1985)
    This doesn't answer directly to the critique questions - a commercial for a Toshiba computer in 1985. The commercial featured Kanji character input.

  • edited February 2022

    Many thanks @onebigear, @Temkin, @meredith, @Zach_Mann and @nickm for your thought-provoking comments, suggestions and further questions! I hope we'll continue this discussion in the (near) future :)

Sign In or Register to comment.