11 ms·
Hello world in every programming language
- scriptproof 14y agoOne page list, more languages: http://www.scriptol.com/programming/hello-world.php http://www.scriptol.com/programming/hello-world.php (and older)
- tome 14y agoThe Python 3 version works in Python 2 as well. They may as well unify them.
- BasDirks 14y agoI am not quite sure why the Haskell program needs a module statement.
- mtrn 14y agoWhile Hello World is nice, something a bit more involved could give you more insight. Among many people, Amit Singh (of MacFuse and Mac OS X Internals fame) did this with the Towers of Hanoi: http://www.kernelthread.com/projects/hanoi/ http://www.kernelthread.com/projects/hanoi/ (111 Hanoi implementations total).
- objclxt 14y agoOne of my favourites is 99 Bottles, with just under 1,500 implementations: http://99-bottles-of-beer.net/abc.html http://99-bottles-of-beer.net/abc.html - some are inspiring, but others are just plain funny.
- nrkn 14y agoI manage a repo that has the bare bones of a roguelike in many languages. It's a little more involved than a Hello World in that it needs to handle input, output, state etc. I could always use more languages if anybody wants to pitch in. https://github.com/nrkn/SimpleRL https://github.com/nrkn/SimpleRL
- doktrin 14y agoWhy is Morse code included? I'm not being flippant, but rather genuinely curious as to whether there's some basis for it being considered a "programming" language or precursor thereof. This isn't to confuse Morse code with reMorse : http://esolangs.org/wiki/ReMorse http://esolangs.org/wiki/ReMorse
- mtrn 14y agoI started to read Code: The Hidden Language of Computer Hardware and Software by Charles Petzold two days ago - and he starts with morse code (and braille). You're right, it's no programming language (just an encoding) - but seemingly near conceptually to a language (for Petzold, anyway - yay it's got 0's and 1's, too).
- pmjordan 14y agoDoes the book really focus on Morse code having 0s and 1s? Isn't it technically a ternary encoding as opposed to a binary (0/1) one? The gaps between letters are pretty significant.
- mkopinsky 14y agoThis is what I found funny about Gmail Tap 28 days ago. They managed to take Morse Code - a tertiary encoding with only one input button - and "simplify" it by having three buttons.
- cloudwalking 14y agoWe simplified the default Android keyboard from ~28 keys to 3. We didn't simplify Morse Code.
- mkopinsky 14y agoYou complexified Morse code, is the point! Once you're doing Morse code, you may as well make the entire keyboard be one key!
- erode 14y agoMissing F#. printfn "Hello World"
- evincarofautumn 14y agoSubmit a pull request.
- silvestrov 14y agoMissing too an example written in RPG: http://en.wikipedia.org/wiki/IBM_RPG http://en.wikipedia.org/wiki/IBM_RPG I'm not going to submit a pull request, fortunately I've never had to write anything in that language.
- evincarofautumn 14y agoA friend of mine had a course in RPG in his CS curriculum. He tells me it was…not pleasant, but not as bad as it might look.
- Groxx 14y agoAnother very large set of hello worlds: http://rosettacode.org/wiki/Hello_world http://rosettacode.org/wiki/Hello_world
- luzon 14y agonode.js is not a programming language.
- aoprisan 14y agoseriously, what's next? Hello World in all PHP frameworks?
- furyofantares 14y ago'Hello World' is not possible in javascript without support from whatever hosts it. The language itself has no support for input or output. The site does have one filed only under 'javascript' implemented with alert(), but that's really javascript as it exists in browsers.
- eurleif 14y agoYou could say the same about C. Sure, the C standard library is specified along with the language, but it's still a library, not a set of language features. You could have C without the stdlib. So does that mean an example in C with an alternative IO library would be ok, but not a similar example in Python? I don't think whether IO is built into a language is really the important question. If people are interested in seeing how IO works with different frameworks, those examples should be there. But if people just want to see what a language's basic syntax looks like, not the specifics of emitting IO in various frameworks, there should be one example per language, even for languages which lack built-in IO.
- tzaman 14y agoNot very useful
- rll 14y agoTechnically Hello World in PHP is just: Hello World The one they have with <?php print("Hello World"); ?> is also an opcode longer than using <?php echo "Hello World"; ?> because off the FREE on the return value from the print. But a file just containing the string: Hello World and nothing else will generate the same opcodes as the echo version so they are equivalent and you might as well use the shorter form. A file without an opening <?php tag is still a perfectly valid PHP program.
- deleted 14y ago[deleted]
- lhnz 14y agoWhere do you learn such in depth information about PHP. The source code?
- rll 14y agoIt helps if you wrote a good chunk of it. But one way that is easier than diving into the source code is to just dump the opcodes using vld (see pecl.vld). I have a little wrapper shell script /usr/local/bin/vld: #!/bin/sh -e exec php -dvld.active=1 -d vld.execute=0 "$@" Then for the hello world program with the print() call: % vld hello1.php Finding entry points Branch analysis from position: 0 Return found filename: /tmp/hello1.php function name: (null) number of ops: 3 compiled vars: none line # * op fetch ext return operands --------------------------------------------------------------------------------- 2 0 > PRINT ~0 'Hello+World' 1 FREE ~0 4 2 > RETURN 1 branch: # 0; line: 2- 4; sop: 0; eop: 2 path #1: 0, vs. the one that just contains the string: Hello World % vld hello2.php Finding entry points Branch analysis from position: 0 Return found filename: /tmp/hello2.php function name: (null) number of ops: 2 compiled vars: none line # * op fetch ext return operands --------------------------------------------------------------------------------- 2 0 > ECHO 'Hello+World%0A' 1 > RETURN 1 branch: # 0; line: 2- 2; sop: 0; eop: 1 path #1: 0,
- quink 14y agoMUMPS was left out. Like usual :P w "Hello World",!
- chris_wot 14y agoEverything I've ever heard about MUMPS says that it's awful. Is this true?
- btwrto 14y agoIt's a language that predates C. Maybe some the things that you take for granted are not there, and some syntax is weird, and order of evaluation is strict left-to-right. (i.e. "'x+1=2+3" first computes 'not x', i.e. 0 or 1 if x=1 or x=0 respectively, then adds 1 to the result, then compares that result to 2, then adds 3 to that result, giving either 3 or 4 as a final answer). but if you write controlled, sensible code, then it's actually not. certainly never my language of choice but it it's not just still used due to inertia... it's pretty fast, it makes database interaction easy, it's pretty easy to understand if the code isn't doing something awful like assuming variables and relying on hidden state. (which you can do, yes.) if you're talking about the Daily WTF articles, then no it's not nearly as bad as those articles would imply. I worked for a company that is probably featured in one, but not all, of those articles... we had good tools, good coding standards/dev process, a good internal API/libraries that do quite a lot, and sensible people. Under these circumstances it was not bad--I'd actually grown quite fond of it. (No codebase of a large old company will be WTF-free but this isn't language-specific. I don't think any actual code from those Daily WTF articles actually comes from that company...) Also, "A Case of the MUMPS" gets many things wrong. 'Scope of IF and FOR is "remainder of current line."' Nope. That's what 'do' is for. Note that ';' comments out everything to the right on the same line. for i=1:1:100 do ; equivalent to 'for(int i=1;i<101; i++) { }', with the lines below indented with a period serving as the body of the brackets . write !,"line 1 of code block, iteration "_i . write !,"line 2 of code block, iteration "_i . write !,"line 3 of code block, iteration "_i write !,"Done with loop" ; this gets executed after the for loop Note that I'd actually write this as 'f i=1:1:100 d' and 'w "string"' in place of "for i=1:1:100 do" and 'write "string"'. It's just as easy to read if you know the language, especially if you have nice syntax highlighting, and easier to write. Which brings me to... 'To edit the code stored in the “database”, developers needed to use the internally-created text editor.' Not in our case, and this makes me wonder how long ago this guy's experience was. in our case, the vendor provided an IDE and we also had our own, written in C#, which is actually my favorite IDE from any language.
- asjo 14y agoCOMAL 80 is missing. Too bad I don't remember anything of it :-)
- trin_ 14y agoim not sure but that should just be: 10 PRINT "Hello World"
- baddox 14y agoThe Rosetta Code is a much more interesting and useful site along the same lines. http://rosettacode.org/wiki/Rosetta_Code http://rosettacode.org/wiki/Rosetta_Code
- gtani 14y agoThere's probably a lot more cheats and cookbooks, but: http://pleac.sourceforge.net/ http://pleac.sourceforge.net/ http://hyperpolyglot.org/ http://hyperpolyglot.org/
- drucken 14y agoLargest collection "Hello world" in programming languages (441 at last count): http://www.roesler-ac.de/wolfram/hello.htm http://www.roesler-ac.de/wolfram/hello.htm It even has BCPL and LabVIEW!
- simonbarker87 14y agoLabVIEW is missing - can git support it? Update: And I don't see Processing either
- reitzensteinm 14y agoI remember reading that the Malbolge author was 'working' on a Hello World program, and thought that was awesome. Now I see why: https://github.com/leachim6/hello-world/blob/master/m/malbolge.mbg https://github.com/leachim6/hello-world/blob/master/m/malbol... I wonder if it was written by hand; that would be impressive. Doesn't look like it would be too hard to hand roll a little compiler for it.
- shalmanese 14y agoIt was created using a genetic algorithm IIRC.
- tomjen3 14y agoAt least the first one wasn't made by hand. It was created by a stochastic beam search program written it Common Lisp. And if I recall correctly, it took years to do.
- reitzensteinm 14y agoOK, rereading the specs, I completely take back what I said about handrolling a compiler not being difficult. Damn.
- chris_wot 14y agoI think my head just exploded.
- ushi 14y agoThis repo is out of date. There are 9 months old pull requests open. Here is a fork: https://github.com/c00kiemon5ter/hello-world https://github.com/c00kiemon5ter/hello-world
- knowtheory 14y agoof course, it doesn't explain how to build and/or run any of them :P
- zackzackzack 14y agoI note a suspicious lack of DCPU-16.
- jiganet 14y agoHello world in PostScript: /Times-Roman findfont 12 scalefont newpath 200 200 moveto (Hello World) show closepath Showpage Use this in gs on Linux or y gswin32 on windows
- jiganet 14y agoHello world in PostScript: /Times-Roman findfont 12 scalefont newpath 200 200 moveto (Hello World) show closepath Showpage Use this in gs on Linux or y gswin32 on windows
- franze 14y agowell, certainly not every programming language. i.e.: i'm one of the most senior ACT3 programmers worldwide. (well, there were only about a dozen or so people) it was a programming language used extensively at the national austria press agency. it was - at it's time (around 2001) - for more advanced as PHP 4. the hello world would have looked something like this <!--%'hello world'--> (the <!-- --> was a relict from ACT2 ...) yes it was an abomination, but it worked, and it was fast. ok, anyway, ARC is missing, too. I think the claim "every programming language" is a) wrong and b) not really feasible.
- bmelton 14y agoIt's a work in progress, with the goal of getting every programming language in there. Submit a pull request for ACT3 and you'll have one less language's absence to notice.
- franze 14y agowill do. still "every programming language" - it's not really feasible. does anyone know how many company/cooperation internal programming language are supposed to exist? is there even a way to estimate it?
- albertzeyer 14y ago"every programming language" is an infinite set. Every programming language where an interpreter/compiler was implemented once is maybe better. But, when you consider that most programmers have at one point invented their own language, or languages (I cannot really count how much toy languages I have created at some point), it is still way too much and impossible to get them all. Maybe more restrictive would be to take languages which at least 2 people have used at one point. But even then... The point I'm trying to make is: "Every programming language" will always be wrong.
- joshbaptiste 14y agoI prefer the FizzBuzz examples as it also displays the simple looping constructs of the languages http://rosettacode.org/wiki/FizzBuzz http://rosettacode.org/wiki/FizzBuzz Edit: Grr it is missing one of my favorite JVM.next() languages of the week Kotlin, I will have to update it.
- jfoutz 14y agoNo love for intercal? http://en.wikipedia.org/wiki/INTERCAL http://en.wikipedia.org/wiki/INTERCAL Hmm. piet is missing too. http://www.retas.de/thomas/computer/programs/useless/piet/index.html http://www.retas.de/thomas/computer/programs/useless/piet/in...
- goggles99 14y agoWhere is the PL/I?