{"id":213,"date":"2007-03-16T03:32:47","date_gmt":"2007-03-16T01:32:47","guid":{"rendered":"http:\/\/riccardo.raneri.it\/blog\/index.php\/2007\/03\/16\/101-modi-per-dire-hello-world\/"},"modified":"2011-01-07T02:07:38","modified_gmt":"2011-01-07T00:07:38","slug":"101-modi-per-dire-hello-world","status":"publish","type":"post","link":"https:\/\/quadracode.com\/hub\/101-modi-per-dire-hello-world\/","title":{"rendered":"101 modi per dire Hello World"},"content":{"rendered":"<p><img decoding=\"async\" title=\"An Hello World t-shirt\" src=\"http:\/\/riccardo.raneri.it\/blog\/eng\/wp-content\/uploads\/2007\/03\/helloworld.jpg\" alt=\"An Hello World t-shirt\" hspace=\"10\" align=\"left\" \/>&#8220;Hello World&#8221; \u00e9 la frase che storicamente si usa per iniziare ad imparare un nuovo linguaggio di programmazione: creare una prima applicazione che semplicemente scrive sullo schermo &#8220;Hello World&#8221; \u00e9 il punto di partenza per diventare un vero guru \ud83d\ude42<\/p>\n<p>Sembra che la prima applicazione &#8220;Hello World&#8221; fu scritta nel 1966 da <a href=\"http:\/\/en.wikipedia.org\/wiki\/Martin_Richards\" target=\"_blank\"><strong>Martin Richards<\/strong><\/a> (Cambridge University), durante lo sviluppo di <strong>BCPL<\/strong> (<em><strong>B<\/strong>asic <strong>C<\/strong>ombined <strong>P<\/strong>rogramming <strong>L<\/strong>anguage<\/em>).<\/p>\n<p>Qui c&#8217;\u00e9 una lista di 101 applicazioni in 101 diversi linguaggi di programmazione (o di scripting) che fanno una cosa sola: un semplice&#8230; &#8220;Hello World&#8221;. La mia sintassi preferita \u00e9 quella di BrainFuck \ud83d\ude42<\/p>\n<p>PS: una lista *maggiormente* comprensiva si pu\u00f2 trovare a &#8220;<a href=\"http:\/\/www.roesler-ac.de\/wolfram\/hello.htm\" target=\"_blank\">The Hello World Collection<\/a>&#8220;, con pi\u00f9 di 300 diverse applicazioni (e pi\u00f9 di 50 modi per dire &#8220;Hello World&#8221; in linguaggio umano).<\/p>\n<p style=\"text-align: center\"><\/p>\n<p><strong>Da Console<\/strong><\/p>\n<p>* ABAP<\/p>\n<p>write &#8216;Hello World!&#8217;.<\/p>\n<p>* Ada<\/p>\n<p>with Ada.Text_IO;<\/p>\n<p>procedure Hello is<br \/>\nbegin<br \/>\nAda.Text_IO.Put_Line (&#8220;Hello World!&#8221;);<br \/>\nend Hello;<\/p>\n<p>* ALGOL<\/p>\n<p>&#8216;BEGIN&#8217;<br \/>\nOUTSTRING(2,'(&#8216;HELLO, WORLD&#8217;)&#8217;);<br \/>\n&#8216;END&#8217;<\/p>\n<p>* APL<br \/>\n&#8216;Hello, World!&#8217;<\/p>\n<p>* ASP 3.0<\/p>\n<p>&lt;%<br \/>\nResponse.Write(&#8220;Hello, World!&#8221;)<br \/>\n%&gt;<\/p>\n<p>* Assembly<\/p>\n<p>IDEAL<br \/>\nMODEL SMALL<br \/>\nSTACK 100h<br \/>\nDATASEG<br \/>\nHW      DB      &#8220;hello, world&#8221;, 13, 10, &#8216;$&#8217;<br \/>\nCODESEG<br \/>\nBegin:<br \/>\nMOV AX, @data<br \/>\nMOV DS, AX<br \/>\nMOV DX, OFFSET HW<br \/>\nMOV AH, 09H<br \/>\nINT 21H<br \/>\nMOV AX, 4C00H<br \/>\nINT 21H<br \/>\nEND Begin<\/p>\n<p>* awk<\/p>\n<p>BEGIN { print &#8220;Hello World!&#8221; }<\/p>\n<p>* Bash<\/p>\n<p>#!\/bin\/bash<br \/>\necho &#8220;Hello World!&#8221;;<\/p>\n<p>* BASIC<\/p>\n<p>BASIC (traditional):<br \/>\n10 PRINT &#8220;Hello World!&#8221;<br \/>\n20 END<\/p>\n<p>BASIC (modern):<br \/>\nprint &#8220;Hello World!&#8221;<br \/>\n* BasicAlgorytm<\/p>\n<p>%write &#8220;Hello World!&#8221;<\/p>\n<p>* BCPL<br \/>\nGET &#8220;LIBHDR&#8221;<\/p>\n<p>LET START () BE<br \/>\n$(<br \/>\nWRITES (&#8220;Hello World!*N&#8221;)<br \/>\n$)<\/p>\n<p>* BeanShell<br \/>\nprint(&#8220;Hello World!&#8221;);<\/p>\n<p>* Brainfuck<br \/>\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br \/>\n+++++++.+++++++++++++++++++++++++++++.+++++++..+++.&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;.&#8212;&#8212;&#8212;&#8211;<br \/>\n-.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br \/>\n++++++++++++++++++++++++.&#8212;&#8212;&#8211;.+++.&#8212;&#8212;.&#8212;&#8212;&#8211;.&#8212;&#8212;&#8212;&#8211;<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;.<\/p>\n<p>* Linguaggio_C|C<\/p>\n<p>#include &lt;stdio.h&gt;<\/p>\n<p>int main(void)<br \/>\n{<br \/>\nprintf(&#8220;Hello World!\\n&#8221;);<br \/>\nreturn 0;<br \/>\n}<\/p>\n<p>* C++<\/p>\n<p>#include &lt;iostream&gt;<\/p>\n<p>int main()<br \/>\n{<br \/>\nstd::cout &lt;&lt; &#8220;Hello World!\\n&#8221;;<br \/>\n}<\/p>\n<p>* C++|C++\/CLI<\/p>\n<p>int main()<br \/>\n{<br \/>\nSystem::Console::WriteLine(&#8220;Hello World!&#8221;);<br \/>\n}<\/p>\n<p>* C_sharp|C#<\/p>\n<p>class HelloWorldApp<br \/>\n{<br \/>\npublic static void Main()<br \/>\n{<br \/>\nSystem.Console.WriteLine(&#8220;Hello World!&#8221;);<br \/>\n}<br \/>\n}<\/p>\n<p>* COBOL<\/p>\n<p>IDENTIFICATION DIVISION.<br \/>\nPROGRAM-ID.     HELLO-WORLD.<\/p>\n<p>ENVIRONMENT DIVISION.<\/p>\n<p>DATA DIVISION.<\/p>\n<p>PROCEDURE DIVISION.<br \/>\nDISPLAY &#8220;Hello World!&#8221;.<br \/>\nSTOP RUN.<\/p>\n<p>&#8212;-<br \/>\n* Common LISP<br \/>\n(print &#8220;Hello World!&#8221;)<\/p>\n<p>* Delphi<\/p>\n<p>program HelloWorld;<br \/>\n{$APPTYPE CONSOLE}<\/p>\n<p>begin<br \/>\nWriteLn(&#8216;Hello World!&#8217;);<br \/>\nend.<\/p>\n<p>* EASY<\/p>\n<p>module helloworld<br \/>\nprocedure Main<br \/>\ncgiclosebuffer<br \/>\ncgiwriteln(&#8220;content-type: text\/html&#8221;)<br \/>\ncgiwriteln(&#8220;&#8221;)<br \/>\ncgiwriteln(&#8220;Hello World!&#8221;)<br \/>\nendproc<\/p>\n<p>* Eiffel<\/p>\n<p>class HELLO_WORLD<\/p>\n<p>creation<br \/>\nmake<br \/>\nfeature<br \/>\nmake is<br \/>\ndo<br \/>\nio.put_string(&#8220;Hello World!%N&#8221;)<br \/>\nend &#8212; make<br \/>\nend &#8212; class HELLO_WORLD<\/p>\n<p>* Emacs Lisp<\/p>\n<p>(print &#8220;Hello World&#8221;)<\/p>\n<p>* Erlang<\/p>\n<p>-module(Hello).<br \/>\n-export([Hello_World\/0]).<\/p>\n<p>Hello_World() -&gt; io:fwrite(&#8220;Hello World!\\n&#8221;).<\/p>\n<p>* Forth<\/p>\n<p>: Helloforth ( &#8212; ) .&#8221; Hello World!&#8221; ;<\/p>\n<p>* Fortran<\/p>\n<p>PROGRAM HELLO<br \/>\nWRITE(*,10)<br \/>\n10 FORMAT(&#8216;Hello World!&#8217;)<br \/>\nSTOP<br \/>\nEND<\/p>\n<p>* Haskell<\/p>\n<p>main = putStrLn &#8220;Hello World!&#8221;<\/p>\n<p>* IDL<br \/>\nprint,&#8217;Hello World&#8217;<\/p>\n<p>* Io<br \/>\n&#8220;Hello World&#8221; print<\/p>\n<p>* Iptscrae<\/p>\n<p>ON ENTER {<br \/>\n&#8220;Hello &#8221; &#8220;World!&#8221; &amp; SAY<br \/>\n}<\/p>\n<p>* Java<\/p>\n<p>public class Hello {<br \/>\npublic static void main(String[] args) {<br \/>\nSystem.out.println(&#8220;Hello World!&#8221;);<br \/>\n}<br \/>\n}<\/p>\n<p>* JSP<\/p>\n<p>&lt;%<br \/>\nout.println(&#8220;Hello, World!&#8221;);<br \/>\n%&gt;<\/p>\n<p>* riti<\/p>\n<p>print &#8220;Hello World!&#8221;<\/p>\n<p>* Logo<\/p>\n<p>print word &#8220;Hello World!&#8221;<\/p>\n<p>* MATLAB<\/p>\n<p>fprintf(&#8216;Hello, world !&#8217;)<\/p>\n<p>* mircscript<\/p>\n<p>echo Hello World!<\/p>\n<p>* MIXAL<\/p>\n<p>TERM    EQU    19          the MIX console device number<br \/>\nORIG   1000        start address<br \/>\nSTART   OUT    MSG(TERM)   output data at address MSG<br \/>\nHLT                halt execution<br \/>\nMSG     ALF    &#8220;MIXAL&#8221;<br \/>\nALF    &#8221; HELL&#8221;<br \/>\nALF    &#8220;O WOR&#8221;<br \/>\nALF    &#8220;LD   &#8221;<br \/>\nEND    START       end of the program<\/p>\n<p>* MS-DOS Batch<br \/>\n@echo Hello World!<\/p>\n<p>* Natural<\/p>\n<p>WRITE &#8216;Hello World&#8217;<br \/>\n*<br \/>\nEND<br \/>\n* Oberon<br \/>\nMODULE HelloWorld;<br \/>\nIMPORT Write;<br \/>\nBEGIN<br \/>\nWrite.Line(&#8220;Hello World!&#8221;);<br \/>\nEND HelloWorld.<\/p>\n<p>* Objective CAML<br \/>\nlet main () =<br \/>\nprint_endline &#8220;Hello World!&#8221;;;<\/p>\n<p>* Open Programming Language<br \/>\nPROC Hello:<br \/>\nPRINT &#8220;Hello World&#8221;<br \/>\nENDP<\/p>\n<p>* Pascal<br \/>\nprogram Hello;<br \/>\nbegin<br \/>\nWriteln(&#8216;Hello, World!&#8217;);<br \/>\nend.<\/p>\n<p>* Perl<\/p>\n<p>print &#8220;Hello World!\\n&#8221;;<\/p>\n<p>* PHP<\/p>\n<p>&lt;?php<br \/>\necho &#8216;Hello World!&#8217;;<br \/>\n?&gt;<\/p>\n<p>* Pike<br \/>\nint main() {<br \/>\nwrite(&#8220;Hello World!\\n&#8221;);<br \/>\nreturn 0;<br \/>\n}<\/p>\n<p>* PL\/1<\/p>\n<p>Test: procedure options(main);<br \/>\ndeclare My_String char(20) varying init(&#8216;Hello World!&#8217;);<br \/>\nput skip list(My_String);<br \/>\nend Test;<\/p>\n<p>* PL\/SQL<br \/>\nBEGIN<br \/>\nDBMS_OUTPUT.PUT_LINE(&#8216;Hello World!&#8217;);<br \/>\nEND;<\/p>\n<p>* Prolog<\/p>\n<p>?- write(&#8220;Hello World!&#8221;), nl.<\/p>\n<p>* PureBasic<\/p>\n<p>OpenConsole()<br \/>\nPrint(&#8220;Hello World!&#8221;)<br \/>\nCloseConsole()<\/p>\n<p>* Python<\/p>\n<p>print &#8220;Hello World!&#8221;<\/p>\n<p>* REXX<\/p>\n<p>say &#8220;Hello World!&#8221;<\/p>\n<p>* RPL<\/p>\n<p>&lt;&lt; &#8220;Hello World!&#8221; 1 Disp&gt;&gt;<\/p>\n<p>* Ruby<\/p>\n<p>puts &#8220;Hello World!&#8221;<\/p>\n<p>* Scheme<\/p>\n<p>(display &#8220;Hello World!&#8221;)<br \/>\n(newline)<\/p>\n<p>* sed<\/p>\n<p>sed -ne &#8216;1s\/.*\/Hello World!\/p&#8217;<\/p>\n<p>* Seed7<br \/>\n$ include &#8220;seed7_05.s7i&#8221;;<\/p>\n<p>const proc: main is func<br \/>\nbegin<br \/>\nwriteln(&#8220;Hello World!&#8221;);<br \/>\nend func;<\/p>\n<p>* Smalltalk<\/p>\n<p>Transcript show: &#8216;Hello World!&#8217;<\/p>\n<p>* SML<\/p>\n<p>print &#8220;Hello World!\\n&#8221;;<\/p>\n<p>* SNOBOL4<\/p>\n<p>OUTPUT = &#8220;Hello World!&#8221;<br \/>\nEND<\/p>\n<p>* STARLET<\/p>\n<p>RACINE: HELLO_WORLD.<\/p>\n<p>NOTIONS:<br \/>\nHELLO_WORLD : ecrire(&#8220;Hello World!&#8221;).<\/p>\n<p>* SQL<\/p>\n<p>select &#8216;Hello World!&#8217; as message;<\/p>\n<p>for Oracle-Database<\/p>\n<p>select &#8216;Hello World!&#8217; from dual;<\/p>\n<p>for IBM-DB2<\/p>\n<p>select &#8216;Hello World!&#8217; from sysibm.sysdummy1;<\/p>\n<p>for Microsoft SQL Server:<\/p>\n<p>print &#8216;Hello World!&#8217;;<\/p>\n<p>* StarOffice Basic<\/p>\n<p>sub main<br \/>\nprint &#8220;Hello World!&#8221;<br \/>\nend sub<\/p>\n<p>* Tcl<\/p>\n<p>puts &#8220;Hello World!&#8221;<\/p>\n<p>* TI-BASIC<\/p>\n<p>:Disp &#8220;Hello World!&#8221;<\/p>\n<p>* TOM<\/p>\n<p>int<br \/>\nmain Array arguments<br \/>\n{<br \/>\n[[[stdio out] print &#8220;Hello world!&#8221;] nl];<br \/>\n}<\/p>\n<p>* Turing<\/p>\n<p>put &#8220;Hello World!&#8221;<\/p>\n<p>* Unix-Shell<\/p>\n<p>echo &#8216;Hello World!&#8217;<\/p>\n<p>* Visual Basic .Net<\/p>\n<p>Imports System<\/p>\n<p>Module Main<br \/>\nSub Main()<br \/>\nConsole.WriteLine(&#8220;Hello World!&#8221;)<br \/>\nEnd Sub<br \/>\nEnd Module<\/p>\n<p><strong>Grafici<\/strong><\/p>\n<p>* AppleScript<br \/>\ndisplay dialog &#8220;Hello World!&#8221;<\/p>\n<p>* C for GTK+<\/p>\n<p>#include &lt;gtk\/gtk.h&gt;<\/p>\n<p>void hello(GtkWidget* widget, gpointer data)<br \/>\n{<br \/>\ng_print(&#8220;Hello, World!\\n&#8221;);<br \/>\n}<\/p>\n<p>int main(int argc, char** argv)<br \/>\n{<br \/>\nGtkWidget* window;<br \/>\nGtkWidget* button;<\/p>\n<p>gtk_init(&amp;argc, &amp;argv);<\/p>\n<p>window = gtk_window_new(GTK_WINDOW_TOPLEVEL);<br \/>\ngtk_container_set_border_width(GTK_CONTAINER(window), 10);<br \/>\ng_signal_connect(G_OBJECT(window), &#8220;destroy&#8221;,<br \/>\nG_CALLBACK(gtk_main_quit), NULL);<\/p>\n<p>button = gtk_button_new_with_label(&#8220;Hello, World!&#8221;);<br \/>\ng_signal_connect(G_OBJECT(button), &#8220;clicked&#8221;,<br \/>\nG_CALLBACK(hello), NULL);<\/p>\n<p>gtk_container_add(GTK_CONTAINER(window), button);<\/p>\n<p>gtk_widget_show(window);<br \/>\ngtk_widget_show(button);<\/p>\n<p>gtk_main();<\/p>\n<p>return 0;<br \/>\n}<\/p>\n<p>* C++ for FOX<\/p>\n<p>#include &#8220;fx.h&#8221;<\/p>\n<p>int main(int argc,char **argv)<br \/>\n{<br \/>\nFXApp app(&#8220;MyApp&#8221;,&#8221;Me&#8221;);<br \/>\napp.init(argc,argv);<br \/>\napp.create();<br \/>\nFXMessageBox::information(&amp;app,MBOX_OK,&#8221;Message&#8221;,&#8221;Hello World!&#8221;);<br \/>\nreturn app.run();<br \/>\n}<\/p>\n<p>* C++ for GTK+<\/p>\n<p>#include &lt;iostream&gt;<br \/>\n#include &lt;gtkmm\/main.h&gt;<br \/>\n#include &lt;gtkmm\/button.h&gt;<br \/>\n#include &lt;gtkmm\/window.h&gt;<br \/>\nusing namespace std;<\/p>\n<p>class HelloWorld : public Gtk::Window {<br \/>\npublic:<br \/>\nHelloWorld();<br \/>\nvirtual ~HelloWorld();<br \/>\nprotected:<br \/>\nGtk::Button m_button;<br \/>\nvirtual void on_button_clicked();<br \/>\n};<\/p>\n<p>HelloWorld::HelloWorld()<br \/>\n: m_button(&#8220;Hello World!&#8221;) {<br \/>\nset_border_width(10);<br \/>\nm_button.signal_clicked().connect(sigc::mem_fun(*this,<br \/>\n&amp;HelloWorld::on_button_clicked));<br \/>\nadd(m_button);<br \/>\nm_button.show();<br \/>\n}<\/p>\n<p>HelloWorld::~HelloWorld() {}<\/p>\n<p>void HelloWorld::on_button_clicked() {<br \/>\ncout &lt;&lt; &#8220;Hello World!&#8221; &lt;&lt; endl;<br \/>\n}<\/p>\n<p>int main (int argc, char *argv[]) {<br \/>\nGtk::Main kit(argc, argv);<br \/>\nHelloWorld HelloWorld;<br \/>\nGtk::Main::run(HelloWorld);<br \/>\nreturn 0;<br \/>\n}<\/p>\n<p>* C++<\/p>\n<p>#include &lt;qapplication.h&gt;<br \/>\n#include &lt;qpushbutton.h&gt;<\/p>\n<p>int main( int argc, char **argv )<br \/>\n{<br \/>\nQApplication a( argc, argv );<\/p>\n<p>QPushButton Hello( &#8220;Hello world!&#8221;, 0 );<br \/>\nHello.resize( 100, 30 );<\/p>\n<p>a.setMainWidget( &amp;Hello );<br \/>\nHello.show();<br \/>\nreturn a.exec();<br \/>\n}<\/p>\n<p>* C#<br \/>\nnamespace Hello_World<br \/>\n{<br \/>\nusing System;<br \/>\nusing System.Windows.Forms;<\/p>\n<p>public class HelloWorld : Form<br \/>\n{<br \/>\npublic static void Main()<br \/>\n{<br \/>\nApplication.Run(new HelloWorld());<br \/>\n}<br \/>\npublic HelloWorld()<br \/>\n{<br \/>\nthis.Text = &#8220;Hello World !&#8221; ;<br \/>\n}<br \/>\n}<br \/>\n}<\/p>\n<p>* Clarion<br \/>\nprogram<\/p>\n<p>window WINDOW(&#8216;Hello World&#8217;),AT(,,300,200),STATUS,SYSTEM,GRAY,DOUBLE,AUTO<br \/>\nEND<\/p>\n<p>code<\/p>\n<p>open(window)<br \/>\nshow(10,10,&#8217;Hello World&#8217;)<br \/>\naccept<br \/>\nend<br \/>\nclose(window)<\/p>\n<p>* Delphi<br \/>\nprogram HelloWorld;<\/p>\n<p>uses Dialogs;<\/p>\n<p>begin<br \/>\nShowMessage(&#8216;Hello World!&#8217;);<br \/>\nend.<\/p>\n<p>* EASY<\/p>\n<p>module helloworld<br \/>\nprocedure Main<br \/>\nMessage(&#8220;Hello World!&#8221;)<br \/>\nendproc<\/p>\n<p>* Gambas<br \/>\nPUBLIC SUB Form_Enter()<br \/>\nPRINT &#8220;Hello World&#8221;<br \/>\nEND<\/p>\n<p>* Java<\/p>\n<p>import java.awt.Frame;<br \/>\nimport java.awt.Label;<br \/>\nimport java.awt.event.WindowAdapter;<br \/>\nimport java.awt.event.WindowEvent;<\/p>\n<p>public class HelloWorldFenster extends Frame {<\/p>\n<p>public HelloWorldFenster() {<br \/>\nsuper(&#8220;Hello World!&#8221;);<br \/>\nLabel HelloWorldLabel = new Label(&#8220;Hello World!&#8221;);<br \/>\nadd(HelloWorldLabel);<\/p>\n<p>addWindowListener(new WindowAdapter() {<br \/>\npublic void windowClosing(WindowEvent e) {<br \/>\nSystem.exit(0);<br \/>\n}<br \/>\n});<\/p>\n<p>setResizable(false);<br \/>\nsetLocation(350, 320);<br \/>\nsetSize(160, 60);<br \/>\nsetVisible(true);<br \/>\n}<\/p>\n<p>public static void main(String[] args) {<br \/>\nnew HelloWorldFenster();<br \/>\n}<br \/>\n}<br \/>\n* Swing<br \/>\nimport javax.swing.JFrame;<br \/>\nimport javax.swing.JLabel;<\/p>\n<p>public class HelloWorld extends JFrame {<\/p>\n<p>public HelloWorld() {<br \/>\nsuper(&#8220;Hello World!&#8221;);<br \/>\nJLabel HelloWorldLabel = new JLabel(&#8220;Hello World!&#8221;);<br \/>\ngetContentPane().add(HelloWorldLabel);<\/p>\n<p>setDefaultCloseOperation(EXIT_ON_CLOSE);<\/p>\n<p>setResizable(false);<br \/>\nsetLocation(350, 320);<br \/>\nsetSize(160, 60);<br \/>\nsetVisible(true);<br \/>\n}<\/p>\n<p>public static void main(String[] args) {<br \/>\nnew HelloWorld();<br \/>\n}<br \/>\n}<\/p>\n<p>* LISP<br \/>\n(alert &#8220;Hello World!&#8221;)<\/p>\n<p>* PureBasic<br \/>\nMessageRequester(&#8220;&#8221;,&#8221;Hello World&#8221;)<\/p>\n<p>* Tcl\/Tk<br \/>\nlabel .label1 -text &#8220;Hello World&#8221;<br \/>\npack .label1<\/p>\n<p>* Visual Basic .Net<br \/>\nMessageBox.Show(&#8220;Hello World!&#8221;)<\/p>\n<p>* Visual Basic<br \/>\nMsgBox &#8220;Hello World!&#8221;<\/p>\n<p>* Waba \/ SuperWaba<br \/>\nimport waba.ui.*;<br \/>\nimport waba.fx.*;<\/p>\n<p>public class HelloWorld extends MainWindow<br \/>\n{<\/p>\n<p>public void onPaint(Graphics g)<br \/>\n{<br \/>\ng.setColor(0, 0, 0);<br \/>\ng.drawText(&#8220;Hello World!&#8221;, 0, 0);<br \/>\n}<br \/>\n}<\/p>\n<p>* Windows API (in Borland Pascal)<br \/>\nprogram Hello;<br \/>\nuses WinTypes, WinProcs;<br \/>\nconst<br \/>\nszClassName = &#8216;PASCLASS32&#8217;;<br \/>\nfunction WndProc(Window: HWnd; Message, WParam: Word;<br \/>\nLParam: Longint): Longint; export;<br \/>\nvar<br \/>\nLPPaint : TPaintStruct;<br \/>\nTheDC   : HDC;<br \/>\nbegin<br \/>\nWndProc := 0;<br \/>\ncase Message of<br \/>\nwm_Destroy:<br \/>\nbegin<br \/>\nPostQuitMessage(0);<br \/>\nExit;<br \/>\nend;<br \/>\nwm_Paint:<br \/>\nbegin<br \/>\nTheDC := BeginPaint(Window, LPPaint);<br \/>\nTextOut(TheDC, 5, 5, &#8216;hello, world&#8217;, 12);<br \/>\nend;<br \/>\nend;<br \/>\nWndProc := DefWindowProc(Window, Message, WParam, LParam);<br \/>\nend;<br \/>\nprocedure WinMain;<br \/>\nvar<br \/>\nWindow: HWnd;<br \/>\nMessage: TMsg;<br \/>\nconst<br \/>\nWindowClass: TWndClass = (<br \/>\nstyle: 0;<br \/>\nlpfnWndProc: @WndProc;<br \/>\ncbClsExtra: 0;<br \/>\ncbWndExtra: 0;<br \/>\nhInstance: 0;<br \/>\nhIcon: 0;<br \/>\nhCursor: 0;<br \/>\nhbrBackground: 0;<br \/>\nlpszMenuName: szClassName;<br \/>\nlpszClassName: szClassName);<br \/>\nbegin<br \/>\nif HPrevInst = 0 then<br \/>\nbegin<br \/>\nWindowClass.hInstance := HInstance;<br \/>\nWindowClass.hIcon := LoadIcon(0, idi_Application);<br \/>\nWindowClass.hCursor := LoadCursor(0, idc_Arrow);<br \/>\nWindowClass.hbrBackground := GetStockObject(white_Brush);<br \/>\nif not RegisterClass(WindowClass) then<br \/>\nHalt(255);<br \/>\nend;<br \/>\nWindow := CreateWindow(<br \/>\nszClassName,<br \/>\n&#8216;Win32 Pascal Program&#8217;,<br \/>\nws_OverlappedWindow,<br \/>\ncw_UseDefault,<br \/>\ncw_UseDefault,<br \/>\ncw_UseDefault,<br \/>\ncw_UseDefault,<br \/>\n0,<br \/>\n0,<br \/>\nHInstance,<br \/>\nnil);<br \/>\nShowWindow(Window, CmdShow);<br \/>\nUpdateWindow(Window);<br \/>\nwhile GetMessage(Message, 0, 0, 0) do<br \/>\nbegin<br \/>\nTranslateMessage(Message);<br \/>\nDispatchMessage(Message);<br \/>\nend;<br \/>\nHalt(Message.wParam);<br \/>\nend;<br \/>\nbegin<br \/>\nWinMain;<br \/>\nend.<\/p>\n<p>* Windows API (in Borland Turbo Assembler)<br \/>\n.386<br \/>\nLOCALS<br \/>\nJUMPS<br \/>\n.model FLAT, STDCALL<br \/>\nINCLUDE WIN32.INC<br \/>\nL EQU &lt;LARGE&gt;<br \/>\nEXTRN            BeginPaint:PROC<br \/>\nEXTRN            CreateWindowExA:PROC<br \/>\nEXTRN            DefWindowProcA:PROC<br \/>\nEXTRN            DispatchMessageA:PROC<br \/>\nEXTRN            EndPaint:PROC<br \/>\nEXTRN            ExitProcess:PROC<br \/>\nEXTRN            FindWindowA:PROC<br \/>\nEXTRN            GetMessageA:PROC<br \/>\nEXTRN            GetModuleHandleA:PROC<br \/>\nEXTRN            GetStockObject:PROC<br \/>\nEXTRN            InvalidateRect:PROC<br \/>\nEXTRN            LoadCursorA:PROC<br \/>\nEXTRN            LoadIconA:PROC<br \/>\nEXTRN            MessageBeep:PROC<br \/>\nEXTRN            MessageBoxA:PROC<br \/>\nEXTRN            PostQuitMessage:PROC<br \/>\nEXTRN            RegisterClassA:PROC<br \/>\nEXTRN            ShowWindow:PROC<br \/>\nEXTRN            SetWindowPos:PROC<br \/>\nEXTRN            TextOutA:PROC<br \/>\nEXTRN            TranslateMessage:PROC<br \/>\nEXTRN            UpdateWindow:PROC<br \/>\nCreateWindowEx   EQU &lt;CreateWindowExA&gt;<br \/>\nDefWindowProc    EQU &lt;DefWindowProcA&gt;<br \/>\nDispatchMessage  EQU &lt;DispatchMessageA&gt;<br \/>\nFindWindow       EQU &lt;FindWindowA&gt;<br \/>\nGetMessage       EQU &lt;GetMessageA&gt;<br \/>\nGetModuleHandle  EQU &lt;GetModuleHandleA&gt;<br \/>\nLoadCursor       EQU &lt;LoadCursorA&gt;<br \/>\nLoadIcon         EQU &lt;LoadIconA&gt;<br \/>\nMessageBox       EQU &lt;MessageBoxA&gt;<br \/>\nRegisterClass    EQU &lt;RegisterClassA&gt;<br \/>\nTextOut          EQU &lt;TextOutA&gt;<br \/>\n.data<br \/>\nCopyright        DB &#8220;Turbo Assembler 32 &#8211; Hello world&#8221;, 0<br \/>\nNewHWND          DD 0<br \/>\nlpPaint          PAINTSTRUCT &lt;?&gt;<br \/>\nMsg              MSGSTRUCT   &lt;?&gt;<br \/>\nwc               WNDCLASS    &lt;?&gt;<br \/>\nhInst            DD 0<br \/>\nszTitleName      DB &#8220;Win32 Assembly Program&#8221;<br \/>\nZero             DB 0<br \/>\nszAlternate      DB &#8220;(Secondary)&#8221;, 0<br \/>\nszClassName      DB &#8220;ASMCLASS32&#8221;, 0<br \/>\nszHello          DB &#8220;hello, world&#8221;, 0<br \/>\nHelloLength      EQU ($ &#8211; OFFSET szHello) &#8211; 1<br \/>\n.code<br \/>\nBegin:<br \/>\nPUSH    L 0<br \/>\nCALL    GetModuleHandle<br \/>\nMOV     [hInst], EAX<br \/>\nPUSH    L 0<br \/>\nPUSH    OFFSET szClassName<br \/>\nCALL    FindWindow<br \/>\nOR      EAX, EAX<br \/>\nJZ      RegClass<br \/>\nMOV     [Zero], &#8216; &#8216;<br \/>\nRegClass:<br \/>\nMOV     [wc.clsStyle], CS_HREDRAW + CS_VREDRAW + CS_GLOBALCLASS<br \/>\nMOV     [wc.clsLpfnWndProc], OFFSET WndProc<br \/>\nMOV     [wc.clsCbClsExtra], 0<br \/>\nMOV     [wc.clsCbWndExtra], 0<br \/>\nMOV     EAX, [hInst]<br \/>\nMOV     [wc.clsHInstance], EAX<br \/>\nPUSH    L IDI_APPLICATION<br \/>\nPUSH    L 0<br \/>\nCALL    LoadIcon<br \/>\nMOV     [wc.clsHIcon], EAX<br \/>\nPUSH    L IDC_ARROW<br \/>\nPUSH    L 0<br \/>\nCALL    LoadCursor<br \/>\nMOV     [wc.clsHCursor], EAX<br \/>\nMOV     [wc.clsHbrBackground], COLOR_WINDOW + 1<br \/>\nMOV     DWORD PTR [wc.clsLpszMenuName], 0<br \/>\nMOV     DWORD PTR [wc.clsLpszClassName], OFFSET szClassName<br \/>\nPUSH    OFFSET wc<br \/>\nCALL    RegisterClass<br \/>\nPUSH    L 0                      ; lpParam<br \/>\nPUSH    [hInst]                  ; hInstance<br \/>\nPUSH    L 0                      ; menu<br \/>\nPUSH    L 0                      ; parent hwnd<br \/>\nPUSH    L CW_USEDEFAULT          ; height<br \/>\nPUSH    L CW_USEDEFAULT          ; width<br \/>\nPUSH    L CW_USEDEFAULT          ; y<br \/>\nPUSH    L CW_USEDEFAULT          ; x<br \/>\nPUSH    L WS_OVERLAPPEDWINDOW    ; Style<br \/>\nPUSH    OFFSET szTitleName       ; Title string<br \/>\nPUSH    OFFSET szClassName       ; Class name<br \/>\nPUSH    L 0                      ; extra style<br \/>\nCALL    CreateWindowEx<br \/>\nMOV     [NewHWND], EAX<br \/>\nPUSH    L SW_SHOWNORMAL<br \/>\nPUSH    [NewHWND]<br \/>\nCALL    ShowWindow<br \/>\nPUSH    [NewHWND]<br \/>\nCALL    UpdateWindow<br \/>\nMsgLoop:<br \/>\nPUSH    L 0<br \/>\nPUSH    L 0<br \/>\nPUSH    L 0<br \/>\nPUSH    OFFSET Msg<br \/>\nCALL    GetMessage<br \/>\nCMP     AX, 0<br \/>\nJE      EndLoop<br \/>\nPUSH    OFFSET Msg<br \/>\nCALL    TranslateMessage<br \/>\nPUSH    OFFSET Msg<br \/>\nCALL    DispatchMessage<br \/>\nJMP     MsgLoop<br \/>\nEndLoop:<br \/>\nPUSH    [Msg.msWPARAM]<br \/>\nCALL    ExitProcess<br \/>\nWndProc PROC USES EBX EDI ESI, hwnd:DWORD, wmsg:DWORD, wparam:DWORD, lparam:DWORD<br \/>\nLOCAL   TheDC:DWORD<br \/>\nCMP     [wmsg], WM_DESTROY<br \/>\nJE      wmDestroy<br \/>\nCMP     [wmsg], WM_RBUTTONDOWN<br \/>\nJE      wmRButtonDown<br \/>\nCMP     [wmsg], WM_SIZE<br \/>\nJE      wmSize<br \/>\nCMP     [wmsg], WM_CREATE<br \/>\nJE      wmCreate<br \/>\nCMP     [wmsg], WM_LBUTTONDOWN<br \/>\nJE      wmLButtonDown<br \/>\nCMP     [wmsg], WM_PAINT<br \/>\nJE      wmPaint<br \/>\nCMP     [wmsg], WM_GETMINMAXINFO<br \/>\nJE      wmGetMinMaxInfo<br \/>\nJMP     DefWndProc<br \/>\nwmPaint:<br \/>\nPUSH    OFFSET lpPaint<br \/>\nPUSH    [hwnd]<br \/>\nCALL    BeginPaint<br \/>\nMOV     [TheDC], EAX<br \/>\nPUSH    L HelloLength     ; lunghezza stringa<br \/>\nPUSH    OFFSET szHello    ; stringa<br \/>\nPUSH    L 5               ; y<br \/>\nPUSH    L 5               ; x<br \/>\nPUSH    [TheDC]           ; DC<br \/>\nCALL    TextOut<br \/>\nPUSH    OFFSET lpPaint<br \/>\nPUSH    [hwnd]<br \/>\nCALL    EndPaint<br \/>\nMOV     EAX, 0<br \/>\nJMP     Finish<br \/>\nwmCreate:<br \/>\nMOV     EAX, 0<br \/>\nJMP     Finish<br \/>\nDefWndProc:<br \/>\nPUSH    [lparam]<br \/>\nPUSH    [wparam]<br \/>\nPUSH    [wmsg]<br \/>\nPUSH    [hwnd]<br \/>\nCALL    DefWindowProc<br \/>\nJMP     Finish<br \/>\nwmDestroy:<br \/>\nPUSH    L 0<br \/>\nCALL    PostQuitMessage<br \/>\nMOV     EAX, 0<br \/>\nJMP     Finish<br \/>\nwmLButtonDown:<br \/>\nPUSH    L 0<br \/>\nPUSH    L 0<br \/>\nPUSH    [hwnd]<br \/>\nCALL    InvalidateRect    ; ridisegna finestra<br \/>\nMOV     EAX, 0<br \/>\nJMP     Finish<br \/>\nwmRButtonDown:<br \/>\nPUSH    L 0<br \/>\nCALL    MessageBeep<br \/>\nJMP     Finish<br \/>\nwmSize:<br \/>\nMOV     EAX, 0<br \/>\nJMP     Finish<br \/>\nwmGetMinMaxInfo:<br \/>\nMOV     EBX, [lparam]  ; ptr a minmaxinfo struct<br \/>\nMOV     [(MINMAXINFO PTR ebx).mintrackposition_x], 350<br \/>\nMOV     [(MINMAXINFO PTR ebx).mintrackposition_y], 60<br \/>\nMOV     EAX, 0<br \/>\nJMP     Finish<br \/>\nFinish:<br \/>\nRET<br \/>\nWndProc ENDP<br \/>\nPUBLIC WndProc<br \/>\nENDS<br \/>\nEND Begin<br \/>\n; creare questo file HELLO.DEF:<br \/>\nNAME         HELLO<br \/>\nDESCRIPTION &#8216;Assembly Win32 Program&#8217;<br \/>\nCODE         PRELOAD MOVEABLE DISCARDABLE<br \/>\nDATA         PRELOAD MOVEABLE MULTIPLE<br \/>\nEXETYPE      WINDOWS<br \/>\nHEAPSIZE     8192<br \/>\nSTACKSIZE    8192<br \/>\nEXPORTS      WndProc<br \/>\n; fine HELLO.DEF<\/p>\n<p>* Windows API (in C)<br \/>\n#include &lt;windows.h&gt;<\/p>\n<p>LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);<\/p>\n<p>char szClassName[] = &#8220;MainWnd&#8221;;<br \/>\nHINSTANCE hInstance;<\/p>\n<p>int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)<br \/>\n{<br \/>\nHWND hwnd;<br \/>\nMSG msg;<br \/>\nWNDCLASSEX wincl;<\/p>\n<p>hInstance = hInst;<\/p>\n<p>wincl.cbSize = sizeof(WNDCLASSEX);<br \/>\nwincl.cbClsExtra = 0;<br \/>\nwincl.cbWndExtra = 0;<br \/>\nwincl.style = 0;<br \/>\nwincl.hInstance = hInstance;<br \/>\nwincl.lpszClassName = szClassName;<br \/>\nwincl.lpszMenuName = NULL; \/\/No menu<br \/>\nwincl.lpfnWndProc = WindowProcedure;<br \/>\nwincl.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); \/\/Color of the window<br \/>\nwincl.hIcon = LoadIcon(NULL, IDI_APPLICATION); \/\/EXE icon<br \/>\nwincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION); \/\/Small program icon<br \/>\nwincl.hCursor = LoadCursor(NULL, IDC_ARROW); \/\/Cursor<\/p>\n<p>if (!RegisterClassEx(&amp;wincl))<br \/>\nreturn 0;<\/p>\n<p>hwnd = CreateWindowEx(0, \/\/No extended window styles<br \/>\nszClassName, \/\/Class name<br \/>\n&#8220;Window&#8221;, \/\/Window caption<br \/>\nWS_OVERLAPPEDWINDOW &amp; ~WS_MAXIMIZEBOX,<br \/>\nCW_USEDEFAULT, CW_USEDEFAULT, \/\/Let Windows decide the left and top positions of the window<br \/>\n120, 50, \/\/Width and height of the window,<br \/>\nNULL, NULL, hInstance, NULL);<\/p>\n<p>\/\/Make the window visible on the screen<br \/>\nShowWindow(hwnd, nCmdShow);<\/p>\n<p>\/\/Run the message loop<br \/>\nBOOL bRet;<br \/>\nwhile( (bRet = GetMessage( &amp;msg, NULL, 0, 0 )) != 0)<br \/>\n{<br \/>\nif (bRet == -1)<br \/>\n{<br \/>\n\/\/ handle the error and possibly exit<br \/>\n}<br \/>\nelse<br \/>\n{<br \/>\nTranslateMessage(&amp;msg);<br \/>\nDispatchMessage(&amp;msg);<br \/>\n}<br \/>\n}<br \/>\nreturn msg.wParam;<br \/>\n}<\/p>\n<p>LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)<br \/>\n{<br \/>\nPAINTSTRUCT ps;<br \/>\nHDC hdc;<br \/>\nswitch (message)<br \/>\n{<br \/>\ncase WM_PAINT:<br \/>\nhdc = BeginPaint(hwnd, &amp;ps);<br \/>\nTextOut(hdc, 15, 3, &#8220;Hello World!&#8221;, 13);<br \/>\nEndPaint(hwnd, &amp;ps);<br \/>\nbreak;<br \/>\ncase WM_DESTROY:<br \/>\nPostQuitMessage(0);<br \/>\nbreak;<br \/>\ndefault:<br \/>\nreturn DefWindowProc(hwnd, message, wParam, lParam);<br \/>\n}<br \/>\nreturn 0;<br \/>\n}<\/p>\n<p>* X Window<\/p>\n<p>xmessage hello, world!<\/p>\n<p><strong>Grafici  basati su Browser<br \/>\n<\/strong><\/p>\n<p>* Curl(Linguaggi di programmazione)|Curl<br \/>\n{curl  (Version)applet}<br \/>\nHello world<\/p>\n<p>* Java applet<\/p>\n<p>import java.applet.*;<br \/>\nimport java.awt.*;<\/p>\n<p>public class HelloWorld extends Applet {<br \/>\npublic void paint(Graphics g) {<br \/>\ng.drawString(&#8220;Hello World!&#8221;, 100, 50);<br \/>\n}<br \/>\n}<\/p>\n<p>&#8211; HTML code to show Applet in a Browser.<\/p>\n<p>&lt;object classid=&#8221;java:HelloWorld.class&#8221;<br \/>\ncodetype=&#8221;application\/java-vm&#8221;<br \/>\nwidth=&#8221;600&#8243; height=&#8221;100&#8243;&gt;<br \/>\n&lt;\/object&gt;<\/p>\n<p>* JavaScript<\/p>\n<p>&lt;script type=&#8221;text\/javascript&#8221;&gt;<br \/>\nalert(&#8220;Hello World!&#8221;);<br \/>\n&lt;\/script&gt;<\/p>\n<p>* VBScript<\/p>\n<p>&lt;script language=&#8221;VBScript&#8221;&gt;<br \/>\nMsgBox &#8220;Hello World!&#8221;<br \/>\n&lt;\/script&gt;<\/p>\n<p>* XUL<\/p>\n<p>&lt;window xmlns=&#8221;http:\/\/www.mozilla.org\/keymaster\/gatekeeper\/there.is.only.xul&#8221;&gt;<br \/>\n&lt;box align=&#8221;center&#8221;&gt;<br \/>\n&lt;label value=&#8221;Hello World!&#8221; \/&gt;<br \/>\n&lt;\/box&gt;<br \/>\n&lt;\/window&gt;<\/p>\n<p>* XAML<\/p>\n<p>&lt;?Mapping ClrNamespace=&#8221;System&#8221; Assembly=&#8221;mscorlib&#8221; XmlNamespace=&#8221; http:\/\/www.gotdotnet.com\/team\/dbox\/mscorlib\/System&#8221; ?&gt;<br \/>\n&lt;Object xmlns=&#8221; http:\/\/www.gotdotnet.com\/team\/dbox\/mscorlib\/System&#8221; xmlns:def=&#8221;Definition&#8221; def:Class=&#8221;MyApp.Hello&#8221;&gt;<br \/>\n&lt;def:Code&gt;<br \/>\n&lt;![CDATA[<br \/>\nShared Sub Main()<br \/>\n&#8216;{<br \/>\nSystem.Console.WriteLine(&#8220;Hello World!&#8221;)&#8217; ;<br \/>\n&#8216;}<br \/>\nEnd Sub<br \/>\n]]&gt;<br \/>\n&lt;\/def:Code&gt;<br \/>\n&lt;\/Object&gt;<\/p>\n<p><strong>Linguaggi di Markup o di Formattazione<\/strong><\/p>\n<p>* HTML<br \/>\n&lt;!DOCTYPE HTML PUBLIC &#8220;-\/\/W3C\/\/DTD HTML 4.01\/\/EN&#8221; &#8220;http:\/\/www.w3.org\/TR\/html4\/strict.dtd&#8221;&gt;<br \/>\n&lt;html&gt;<br \/>\n&lt;head&gt;<br \/>\n&lt;title&gt;Hello World!&lt;\/title&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&lt;body&gt;<br \/>\n&lt;p&gt;Hello World!&lt;\/p&gt;<br \/>\n&lt;\/body&gt;<br \/>\n&lt;\/html&gt;<\/p>\n<p>* PostScript<\/p>\n<p>\/Courier findfont<br \/>\n24 scalefont<br \/>\nsetfont<br \/>\n100 100 moveto<br \/>\n(Hello World!) show<br \/>\nshowpage<\/p>\n<p>* Rich Text Format<\/p>\n<p>{\\rtf1\\ansi\\deff0<br \/>\n{\\fonttbl {\\f0 Courier New;}}<br \/>\n\\f0\\fs20 Hello World!<br \/>\n}<\/p>\n<p>* TeX<\/p>\n<p>\\font\\HW=cmr10 scaled 3000<br \/>\n\\leftline{\\HW Hello World}<br \/>\n\\bye<\/p>\n<p>* LaTeX<\/p>\n<p>\\documentclass{article}<br \/>\n\\begin{document}<br \/>\nHello World!<br \/>\n\\end{document}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Hello World&#8221; \u00e9 la frase che storicamente si usa per iniziare ad imparare un nuovo linguaggio di programmazione: creare una prima applicazione che semplicemente scrive sullo schermo &#8220;Hello World&#8221; \u00e9 il punto di partenza per diventare un vero guru \ud83d\ude42 Sembra che la prima applicazione &#8220;Hello World&#8221; fu scritta nel 1966 da Martin Richards (Cambridge&hellip; <a class=\"read-more\" href=\"https:\/\/quadracode.com\/hub\/101-modi-per-dire-hello-world\/\">Leggi di pi\u00f9<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":""},"categories":[4],"tags":[],"class_list":["post-213","post","type-post","status-publish","format-standard","hentry","category-siti-web"],"acf":[],"fimg_url":false,"_links":{"self":[{"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/posts\/213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/comments?post=213"}],"version-history":[{"count":2,"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/posts\/213\/revisions"}],"predecessor-version":[{"id":526,"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/posts\/213\/revisions\/526"}],"wp:attachment":[{"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/media?parent=213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/categories?post=213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/tags?post=213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}