From b4fceac8cf3ece1f121cdb16ecd5a14d035d55a2 Mon Sep 17 00:00:00 2001 From: thatHexa Date: Thu, 16 Feb 2017 21:14:07 +0200 Subject: [PATCH 1/5] Fixed REAMDE.md (in README_nolist.md) --- README_nolist.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README_nolist.md b/README_nolist.md index 4c18cb3b..21216897 100644 --- a/README_nolist.md +++ b/README_nolist.md @@ -3,12 +3,12 @@ Hello, World! Hello world in every programming language. -Inspired by [Helloworldcollection.de](http://helloworldcollection.de/) +Inspired by [The Hello World Collection](https://helloworldcollection.github.io/) As I watch the collection expand, this project has blown up more than I ever thought possible. Thanks to everyone who continues to contribute, new languages are created every day! Make sure to see CONTRIBUTING.md for instructions on contributing to the project! -Spin-Off project smartly suggested and implemented by @zenware +Spin-Off project smartly suggested and implemented by @zenware Meet [FizzBuzz](https://github.com/zenware/FizzBuzz) the evolution of [hello-world](https://github.com/leachim6/hello-world) From 141cab89dedca05567fb7e1642730bea0110160d Mon Sep 17 00:00:00 2001 From: thatHexa Date: Thu, 16 Feb 2017 21:32:08 +0200 Subject: [PATCH 2/5] Updated list_langs (now in python) and executed it --- README.md | 1010 ++++++++++++++++++++++++------------------------- list_langs.py | 25 ++ list_langs.rb | 13 - 3 files changed, 522 insertions(+), 526 deletions(-) create mode 100755 list_langs.py delete mode 100644 list_langs.rb diff --git a/README.md b/README.md index db2877a9..5c1b38ac 100644 --- a/README.md +++ b/README.md @@ -3,525 +3,509 @@ Hello, World! Hello world in every programming language. -Inspired by [Helloworldcollection.de](http://helloworldcollection.de/) +Inspired by [The Hello World Collection](https://helloworldcollection.github.io/) As I watch the collection expand, this project has blown up more than I ever thought possible. Thanks to everyone who continues to contribute, new languages are created every day! Make sure to see CONTRIBUTING.md for instructions on contributing to the project! -Spin-Off project smartly suggested and implemented by @zenware +Spin-Off project smartly suggested and implemented by @zenware Meet [FizzBuzz](https://github.com/zenware/FizzBuzz) the evolution of [hello-world](https://github.com/leachim6/hello-world) ### This repository currently contains "Hello World" programs in the following languages: -* Assembler Intel -* Amos -* Assembler 6502appleii -* Assembler Nasm Freebsd -* Actionscript2 -* Assembler Z80 Ti83calculator -* Aiml -* Assembler Mips -* Acronym -* Amiga E -* Algol68 -* Ante -* Aime -* Apl -* Apc -* Assembler Masm Dos -* Assembler Tms9900 Ti99 4a -* Ash -* Aheui -* Assembler Fasm Dos -* Abap -* Alda -* Acs -* Awk -* Autoit -* Actionscript3 -* Acpi -* Assembler Z80 Knightos -* Assembler Lc 3 -* Algol60 -* Acidic -* Android -* Actionscript -* Assembler Vax Ultrix -* Arena -* Assembler Nasm Linux -* Assembler Nasm Linux64 -* Actionscript Flashmx -* Alaguf -* Assembler Masm Win64 -* Algol W -* Assembler M68000 Amigaos -* Abc -* Assembler 6502 -* Arduino -* Angular -* Asp -* Alore -* Arnoldc -* Advpl -* Aeolbonn -* Angelscript -* Assembler 6502c64 -* Assembler Z80 Zxspectrum -* Assembler Atari2600 -* Assembler Masm Win32 -* Assembler Dcpu16 -* Antlang -* Assembler Mmix -* Assembler Tasm Dos -* Algae -* Autohotkey -* Agda -* Ada -* Assembler 8048 Videopac -* Assembler 6809vectrex -* Applescript -* Argh -* Assembler Ibm360 -* Aeolbonn -* Objectstar -* Ocaml -* Ook -* Oberon 2 -* Objc -* Obix -* Openlaszlo -* Oz -* Opa -* Objective J -* Ooc -* Obj -* Octave -* Orc -* Omgrofl -* Oraclesql -* Oberon -* Jsoniq -* Java -* Julia -* Jai -* Json -* Jsx -* Jsf*ck -* Jess -* Javascript -* Jade -* Jason -* Jasmin -* J -* Ebuild -* Elixir -* Eiffel -* Eoool -* Elixir -* Hello Html -* Emmental -* Emacslisp -* Emoticon -* Erlang Hw -* Emojicode -* 4test -* 1c Enterprise -* 4gl -* 4thdimension -* 2b -* 0815 -* ~english -* Ratfor -* Rexx -* Rebol -* Roco -* Reason -* R -* Roy -* React -* Radixal -* Racket -* Rust -* Ruby -* Recurse -* Richtea -* Readlink -* Restructuredtext -* Verbose -* V -* Visualbasicscript -* Vrml -* Vms -* Visualbasic -* Vala -* Vi -* Verilog -* Vimscript -* Virgil -* Verbosefuck -* Vhdl -* Vbnet -* Verve -* Visualfoxpro -* Sil -* Smil -* Supercollider -* Swift -* Schwift -* Sql -* Snowman -* Spoon -* Sendstuff -* Scilab -* Sal -* S Algol -* Stanza -* Simpl+ -* Scala -* Self -* Subleq -* Sparql -* Stuck -* Scheme -* Sed -* Sml -* Soupscript -* Svg -* Shell -* Semicolon -* Scratch -* Sacred -* Streem -* Slashes -* Simula -* Shakespeare -* Smalltalk -* Squirrel -* Shen -* Hello -* Systemtap -* Smali -* Sas -* Standard Ml -* Sather -* Clipper -* Clean -* Crystal -* Continuesequation -* Cobol -* Clisp -* Cor -* Csharp -* Chicken -* Coldfusion -* Csh -* Clojure -* Coconut -* Cool -* C -* Centura -* Common Lisp -* Chapel -* Cil -* Css -* Ceylon -* Cat -* Clips -* Cheddar -* Cypherneo4j -* Coffeescript -* Cgi -* Caml -* Casio Basic -* Clipper -* C++ -* Chef -* Cardinal -* Hello World -* Turing -* Tk -* Tao Presentations -* Tcsh -* Tapebagel -* Images -* Turing -* Thp -* Tri -* Telephone -* Trumpscript -* Thue -* Trollscript -* Typescript -* Ttcn3 -* Tsql -* Tex -* Tibasic -* Tcl -* Plain Text -* Logs -* Hooks -* Refs -* Fetch Head -* Orig Head -* Description -* Packed Refs -* Index -* Head -* Info -* Commit Editmsg -* Branches -* Config -* Objects -* Io -* Incal -* Icon -* Il -* Islisp -* Ibm1401 -* Idl -* Ici -* Irc -* Iscom -* Icedcoffeescript -* Ioke -* Ink -* Indec -* Inform -* Idris -* Intercal -* Qwerty -* Quartzcomposer -* Qu -* Quakec -* Qugord -* Qbasic -* Qore -* Wml -* Wheat -* Whitespace -* Wsh -* Whenever -* Whirl -* Wren -* Wolframlanguage -* Higher Subleq -* Hypertalk -* Haskell -* Hop -* Homespring -* Haxe -* Hodor -* Hex -* Hq9+ -* Hollow -* Hy -* Hexish -* Hack -* Html -* Xl -* Xquery -* Xul -* Xrf -* Xlogo -* Xbase++ -* X D -* Xbase -* Xml -* Xslt -* Xpl0 -* Kiml -* Kotlin -* Ksh -* Kotlin -* Kipple -* Karel -* K -* Perl -* Polynomial -* Plsql -* Picat -* Postgresql -* Hello World -* Parenthetic -* Please Porige Hot -* Perl6 -* Postscript Page -* Pharo -* Python3 -* Pig -* Potigol -* Purescript -* Purebasic -* Pbwin -* Perseus -* Powershell -* Posxml -* Postscript -* Pony -* Pizza -* Python -* Perl -* Processing -* Pawn -* Piet -* Prolog -* Pb -* Pascal -* Pit -* Php -* Pike -* Pyret -* Pluvo -* Node -* Nu -* Nice -* Nxc -* Neko -* Nemerle -* Novice -* Nimrod -* Newtonscript -* Nodejs -* Nit -* Dtrace -* Dna Sharp -* Dart -* Dis -* Dc -* Dcl -* Dylan -* D -* Dogescript -* Dogo -* Dd Dd -* Dup -* Dos -* Dna# -* Dyvil -* Delphi -* Db2 -* Divzeros -* Delphi -* Dark -* Drive In Window -* Ubercode -* Ubiquity -* Unicomal -* Umajin -* Unlambda -* Lolpython -* Llvm -* Lolcode -* Lola -* Linux X86 -* Logical -* Labyrinth -* Lazyk -* Lisaac -* Lsl -* Livescript -* Leszek -* Latex -* Lisp -* Lua -* Logo -* Limbo -* Lnusp -* Blc -* Beta -* Beatnik -* Burlesque -* Boo -* Bitbitjump -* Brainf Ck -* B -* Brainloller -* Bennugd -* Bash -* Batsh -* Basic -* Bcpl -* Bit -* Battlestar -* Brzrk -* Befunge -* Blitz3d -* Brainf Ck 2d -* Blub -* Byter -* Batch -* Broccoli -* Zimbu -* Zombie -* Zsh -* Zim -* Zonnon -* Zbd -* Zepto -* Zetaplex -* Yolang -* Y -* Yaml -* M4 -* Mercury -* Matlab -* Moonscript -* Modula 3 -* Modula 2 -* Mathematica Online -* Move -* Morsecode -* Maxscript -* Meq -* Mumps -* Mouse -* Macsyma -* Mel -* Mozart -* Mongo -* Malbolge -* Mysql -* Mushcode -* Muf -* Mirc -* Mmmm() -* Magic -* Markdown -* Ferite -* Fancy -* Fortran -* Fourier -* False -* Fsharp -* Fish -* Focal -* Forobj -* Forth -* Fob -* Falcon -* Fortran77 -* Fjoelnir -* Factor -* Fortob -* Fog -* Foo -* Fantom -* Gosu -* Green Marl -* Golfscript -* Gosu -* Glass -* Googleappscript -* Grin -* Gri -* Gammaplex -* Geojson -* Golo -* Gibberish -* Go -* Groovy -* Gentzen -* Gasoil -* Gridscript -* Gecho +* 0815 +* 1c Enterprise +* 2b +* 4gl +* 4test +* 4thdimension +* ~english +* Abap +* Abc +* Acidic +* Acpi +* Acronym +* Acs +* Actionscript +* Actionscript2 +* Actionscript3 +* Actionscript Flashmx +* Ada +* Advpl +* Aeolbonn +* Aeolbonn +* Agda +* Aheui +* Aime +* Aiml +* Alaguf +* Alda +* Algae +* Algol W +* Algol60 +* Algol68 +* Alore +* Amiga E +* Amos +* Android +* Angelscript +* Angular +* Ante +* Antlang +* Apc +* Apl +* Applescript +* Arduino +* Arena +* Argh +* Arnoldc +* Ash +* Asp +* Assembler 6502 +* Assembler 6502appleii +* Assembler 6502c64 +* Assembler 6809vectrex +* Assembler 8048 Videopac +* Assembler Atari2600 +* Assembler Dcpu16 +* Assembler Fasm Dos +* Assembler Ibm360 +* Assembler Intel +* Assembler Lc 3 +* Assembler M68000 Amigaos +* Assembler Masm Dos +* Assembler Masm Win32 +* Assembler Masm Win64 +* Assembler Mips +* Assembler Mmix +* Assembler Nasm Freebsd +* Assembler Nasm Linux +* Assembler Nasm Linux64 +* Assembler Tasm Dos +* Assembler Tms9900 Ti99 4a +* Assembler Vax Ultrix +* Assembler Z80 Knightos +* Assembler Z80 Ti83calculator +* Assembler Z80 Zxspectrum +* Autohotkey +* Autoit +* Awk +* B +* Bash +* Basic +* Batch +* Batsh +* Battlestar +* Bcpl +* Beatnik +* Befunge +* Bennugd +* Beta +* Bit +* Bitbitjump +* Blc +* Blitz3d +* Blub +* Boo +* Brainf Ck 2d +* Brainf Ck +* Brainloller +* Broccoli +* Brzrk +* Burlesque +* Byter +* C++ +* C +* Caml +* Cardinal +* Casio Basic +* Cat +* Centura +* Ceylon +* Cgi +* Chapel +* Cheddar +* Chef +* Chicken +* Cil +* Clean +* Clipper +* Clipper +* Clips +* Clisp +* Clojure +* Cobol +* Coconut +* Coffeescript +* Coldfusion +* Common Lisp +* Continuesequation +* Cool +* Cor +* Crystal +* Csh +* Csharp +* Css +* Cypherneo4j +* Hello World +* D +* Dark +* Dart +* Db2 +* Dc +* Dcl +* Dd Dd +* Delphi +* Delphi +* Dis +* Divzeros +* Dna# +* Dna Sharp +* Dogescript +* Dogo +* Dos +* Drive In Window +* Dtrace +* Dup +* Dylan +* Dyvil +* Ebuild +* Eiffel +* Elixir +* Elixir +* Emacslisp +* Emmental +* Emojicode +* Emoticon +* Eoool +* Erlang Hw +* Hello Html +* Factor +* Falcon +* False +* Fancy +* Fantom +* Ferite +* Fish +* Fjoelnir +* Fob +* Focal +* Fog +* Foo +* Forobj +* Forth +* Fortob +* Fortran +* Fortran77 +* Fourier +* Fsharp +* Gammaplex +* Gasoil +* Gecho +* Gentzen +* Geojson +* Gibberish +* Glass +* Go +* Golfscript +* Golo +* Googleappscript +* Gosu +* Gosu +* Green Marl +* Gri +* Gridscript +* Grin +* Groovy +* Hack +* Haskell +* Haxe +* Hex +* Hexish +* Higher Subleq +* Hodor +* Hollow +* Homespring +* Hop +* Hq9+ +* Html +* Hy +* Hypertalk +* Ibm1401 +* Icedcoffeescript +* Ici +* Icon +* Idl +* Idris +* Il +* Incal +* Indec +* Inform +* Ink +* Intercal +* Io +* Ioke +* Irc +* Iscom +* Islisp +* J +* Jade +* Jai +* Jasmin +* Jason +* Java +* Javascript +* Jess +* Jsf*ck +* Json +* Jsoniq +* Jsx +* Julia +* K +* Karel +* Kiml +* Kipple +* Kotlin +* Kotlin +* Ksh +* Labyrinth +* Latex +* Lazyk +* Leszek +* Limbo +* Linux X86 +* Lisaac +* Lisp +* Livescript +* Llvm +* Lnusp +* Logical +* Logo +* Lola +* Lolcode +* Lolpython +* Lsl +* Lua +* M4 +* Macsyma +* Magic +* Malbolge +* Markdown +* Mathematica Online +* Matlab +* Maxscript +* Mel +* Meq +* Mercury +* Mirc +* Mmmm() +* Modula 2 +* Modula 3 +* Mongo +* Moonscript +* Morsecode +* Mouse +* Move +* Mozart +* Muf +* Mumps +* Mushcode +* Mysql +* Neko +* Nemerle +* Newtonscript +* Nice +* Nimrod +* Nit +* Node +* Nodejs +* Novice +* Nu +* Nxc +* Oberon 2 +* Oberon +* Obix +* Obj +* Objc +* Objective J +* Objectstar +* Ocaml +* Octave +* Omgrofl +* Ooc +* Ook +* Opa +* Openlaszlo +* Oraclesql +* Orc +* Oz +* Hello World +* Parenthetic +* Pascal +* Pawn +* Pb +* Pbwin +* Perl +* Perl +* Perl6 +* Perseus +* Pharo +* Php +* Picat +* Piet +* Pig +* Pike +* Pit +* Pizza +* Please Porige Hot +* Plsql +* Pluvo +* Polynomial +* Pony +* Postgresql +* Postscript +* Postscript Page +* Posxml +* Potigol +* Powershell +* Processing +* Prolog +* Purebasic +* Purescript +* Pyret +* Python +* Python3 +* Qbasic +* Qore +* Qu +* Quakec +* Quartzcomposer +* Qugord +* Qwerty +* R +* Racket +* Radixal +* Ratfor +* React +* Reason +* Rebol +* Recurse +* Restructuredtext +* Rexx +* Richtea +* Roco +* Roy +* Ruby +* Rust +* Hello +* S Algol +* Sacred +* Sal +* Sas +* Sather +* Scala +* Scheme +* Schwift +* Scilab +* Scratch +* Sed +* Self +* Semicolon +* Sendstuff +* Shakespeare +* Shell +* Shen +* Sil +* Simpl+ +* Simula +* Slashes +* Smali +* Smalltalk +* Smil +* Sml +* Snowman +* Soupscript +* Sparql +* Spoon +* Sql +* Squirrel +* Standard Ml +* Stanza +* Streem +* Stuck +* Subleq +* Supercollider +* Svg +* Swift +* Systemtap +* Plain Text +* Tao Presentations +* Tapebagel +* Tcl +* Tcsh +* Telephone +* Tex +* Thp +* Thue +* Tibasic +* Tk +* Tri +* Trollscript +* Trumpscript +* Tsql +* Ttcn3 +* Turing +* Turing +* Typescript +* Ubercode +* Ubiquity +* Umajin +* Unicomal +* Unlambda +* V +* Vala +* Vbnet +* Verbose +* Verbosefuck +* Verilog +* Verve +* Vhdl +* Vi +* Vimscript +* Virgil +* Visualbasic +* Visualbasicscript +* Visualfoxpro +* Vms +* Vrml +* Wheat +* Whenever +* Whirl +* Whitespace +* Wml +* Wolframlanguage +* Wren +* Wsh +* X D +* Xbase++ +* Xbase +* Xl +* Xlogo +* Xml +* Xpl0 +* Xquery +* Xrf +* Xslt +* Xul +* Y +* Yaml +* Yolang +* Zbd +* Zepto +* Zetaplex +* Zim +* Zimbu +* Zombie +* Zonnon +* Zsh diff --git a/list_langs.py b/list_langs.py new file mode 100755 index 00000000..6d3df7d4 --- /dev/null +++ b/list_langs.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python + +import os + +readme = open('README.md', 'w') + +# Copy template to README +with open('README_nolist.md', 'r') as temp: + for line in temp: + readme.write(line) + +# Write title +readme.write('\n### This repository currently contains "Hello World" programs in the following languages:\n') + +# List the available languages +for dir in os.listdir('.'): + if not (dir == '.' or dir == '..' or dir[0] == '.' or os.path.isfile(dir)): + for file in os.listdir(dir): + if os.path.isfile(f"{dir}/{file}"): + lang = '' + for str in file[0:(len(file) if file.find('.') == -1 else file.find('.'))].replace('-', ' ').replace('_', ' ').split(): + lang += str.capitalize() + ' ' + readme.write('* ' + lang[:-1] + '\n') # Cut trailing space + +readme.close() diff --git a/list_langs.rb b/list_langs.rb deleted file mode 100644 index 5e1e0b83..00000000 --- a/list_langs.rb +++ /dev/null @@ -1,13 +0,0 @@ -Dir.foreach "." do |odir| - next if odir == "." or odir == ".." or not File.directory?(odir) - Dir.foreach odir do |dir| - next if dir == "." or dir == ".." - currdirname = "" - dir.split(".")[0].gsub("-", " ").gsub("_", " ").split(" ").each do |str| - currdirname << str.capitalize + " " - end - currdirname.chomp(currdirname[-1]) - puts "* #{currdirname}" - end -end - From 1462b3e0ba9a4aaf6c14a6bf0a90c4df6d62c795 Mon Sep 17 00:00:00 2001 From: thatHexa Date: Thu, 16 Feb 2017 21:37:15 +0200 Subject: [PATCH 3/5] Update CONTRIBUTING.md and removed genreadme.sh (list_langs.py update the README file itself) --- CONTRIBUTING.md | 3 ++- genreadme.sh | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) delete mode 100755 genreadme.sh diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c0f7d8e1..5a190eb6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,6 +4,7 @@ Contributing When adding new "Hello World" programs, please name the file according to the language it was written in, don't abbreviate the language name too much (so use "JavaScript", not "JS") but don't make it TOO long (so use "CSS" not "Cascading Style Sheets". Use hyphens ("-") as word seperators, and only use a single dot (for seperating the filename from the extension). For exmaple, a "Hello World" program in Objective C should be named "Objective-C.m, and the one in HTML should be named HTML.html. Use -```./genreadme.sh +```bash +./list_langs.py ``` for updating the list of languages in `README.md` (make sure you are in the repository's root directory when invoking those commands). diff --git a/genreadme.sh b/genreadme.sh deleted file mode 100755 index 5ca67988..00000000 --- a/genreadme.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -cat README_nolist.md > README.md; echo >> README.md; echo '### This repository currently contains "Hello World" programs in the following languages:' >> README.md; ruby list_langs.rb >> README.md From da10fed9998124a023a2e41ef335498d2fec7f57 Mon Sep 17 00:00:00 2001 From: thatHexa Date: Thu, 16 Feb 2017 21:38:59 +0200 Subject: [PATCH 4/5] Fixed grammatical mistake in CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5a190eb6..0ffbd83d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,4 +7,4 @@ Use ```bash ./list_langs.py ``` -for updating the list of languages in `README.md` (make sure you are in the repository's root directory when invoking those commands). +for updating the list of languages in `README.md` (make sure you are in the repository's root directory when running the script). From b1a1b6a7c079455f14baa801dc6feaa41a3fd51c Mon Sep 17 00:00:00 2001 From: thatHexa Date: Thu, 16 Feb 2017 21:43:25 +0200 Subject: [PATCH 5/5] Added warning about python 3.6- to CONTRIBUTING.md --- CONTRIBUTING.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0ffbd83d..dc93cc82 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,4 +7,5 @@ Use ```bash ./list_langs.py ``` -for updating the list of languages in `README.md` (make sure you are in the repository's root directory when running the script). +for updating the list of languages in `README.md` (make sure you are in the repository's root directory when running the script). +**NOTE THAT THIS SCRIPT MUST BE EXECUTED ON PYTHON 3.6+!** If your default isn't 3.6+, use `python3 list_langs.py`.