Una collezione di Hello World

In questo articolo, troverai una collezione di “Hello World” in molti linguaggi di programmazione.
Un modo simpatico per avere una primissima impressione su un linguaggio o per confrontarlo con altri.

Hello WorldCi tengo a scrivere che non è una buona idea misurare qualunque paramentro di un linguaggio basandosi su come viene scritto un “Hello World”, questo articolo ha per lo più lo scopo di suscitare curiosità. Magari poi, incuriosito da qualche linguaggio deciderai di approfondirlo :)

Nei paragrafi seguenti mostrerò il minimo codice necessario per stampare il classico “Ciao mondo” in alcuni dei miei linguaggi preferiti, e per ogni linguaggio lascerò un mio commento e magari un link al sito ufficiale/documentazione.

Senza ulteriori indugi, cominciamo con la carrellata di saluti !

 

Hello World collection

Per una lista più completa puoi visitare questo sito, che ha raccolto dcine e decine di linguaggi, anche quelli più improponibili : http://www.roesler-ac.de/wolfram/hello.htm

Di seguito riporto alcuni di quelli che ho provato di persona, ma la lista potrebbe essere davvero lunghissima ! Ci sono più linguaggi di quanti non si sia pensati a credere, e probabilmente anche molti più di quelli che occorrono nella realtà.

C

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  puts("Hello World");
  return EXIT_SUCCESS;
}

C è un linguaggio procedurale immortale, sulla cui sintassi si è creato un vero e proprio ecosistema di linguaggi. Oggi viene ancora usato in molti progetti, anche se si tende ad utilizzare linguaggi che offorno una maggiore velocità di sviluppo. Se ben programmato, genera programmi ad altissima efficienza, per questo è usato per lo più in casi in cui è richiesto molto controllo su quello che succede nel sistema.

Nota : Sebbene si pensi che i programmi scritti in C siano automagicamente più efficienti, questo è per lo più falso. I programmi scritti in C possono essere molto efficienti, se programmati da qualcuno molto esperto e con esperienza nell’ottimizzazione. La maggior parte dei programmatori non sono poi così esperti in ottimizzazione, e linguaggi come Java che offrono librerie molto generose e il Garbage Collector producono di media programmi più efficienti di quelli fatti in C (male).

C++

#include <iostream.h>

using namespace std;
int main()
{
    cout << "Hello World" << endl;
    return 0;
}

C++ è un linguaggio orientato agli oggetti che usa come base il C (come è evidente dal nome). La gestione della memoria è lasciata al programmaore, con tutti i pregi e i difetti.
Molto potente, scelta quasi obligata per alcuni tipi di sviluppo (specialmente per software che richiede accesso a basso livello alla memoria o all’HW), molto usato per software che lavorano in ambito grafico (ma non solo).

C#

class HelloWorld
{
    static void Main()
    {
        System.Console.WriteLine("Hello World!");
    }
}

C# è un linguaggio fortemente orientato agli ogetti con sintassi basata su C, coniato in casa Microsoft per il .NET Framework, è potente e più semplice di C++ come sintassi. Personalmente lo trovo molto più sopportabile di C++ che invece incita all’omicisio/suicidio in quanto a sintassi squisitamente ed inutilmente complicata (senza contare la gestione delle istanze)

Vb.NET

Imports System.Console

Class HelloWorld

    Public Shared Sub Main()
        WriteLine("Hello world!")
    End Sub

End Class

VB.NET è uno dei miei linguaggi preferiti, è basato sul .NET Framework, è fortemente orientato agli oggetti e la sintassi (che non è simil-C) è facile ed amichevole.
A livello di performance è identico a tutti gli altri linguaggi basati sul .NET Framework come ad esempio C#.

VB Script

MsgBox "Hello World"

Un linguaggio di scripting con sintassi basata su quella di VB. Utile in alcuni contesti, di solito ha un utilizzo molto marginale.

Java

class HelloWorld {
  static public void main( String args[] ) {
    System.out.println( "Hello World!" );
  }
}

Java è il mio secondo linguaggio preferito, ha una sintassi simile a quella di C per i costruitti, ed è forse il principe dei linguaggi orientati agli oggetti.
Vi è una diffusa opinione che Java produca programmi poco performanti, ma di solito non è vero, se non per casi particolari.
Esistono infatti ambiti in cui Java non è la scelta migliore in quanto a performance, ad esempio programmi di calcolo scientifico o software per l’elaborazione 3D (o comunque grafica pesante).

Per la maggior parte dei casi comuni rappresenta un otimo tradeoff tra velocità di sviluppo, seplicità e performance. In molti casi è addirittura diventato uno standard in quanto a stabilità e scalabilità.

Javascript

<html>
<body>
<script language="JavaScript" type="text/javascript">
// Hello World in JavaScript
document.write('Hello World');
</script>
</body>
</html>

Javascript è passato alla storia come linguaggio di scripting lato client per rendere le applicazioni web più dinamice. Successivamente, con il massiccio utilizzo di AJAX è diventato molto di più, ed è parte fondamentale del frontend delle webapp di mezzo mondo. Ancora più recentemente ha fatto il salto, e con sistemi come Node.Js ha invaso la programmazione lato server fornendo un unico linguaggio per entrambi i lati dello sviluppo web.

Ruby

puts "Hello World!"

Mi sembra semplice, e Ruby on Rails rende lo sviluppo veloce e affidabile. Non ho abbastanza esperienza per commentare ulteriormente su questo linguaggio.

Python

print("Hello World")

Python mi attira molto, ho iniziato a seguirlo anni fa, sfortunatamente non ancora avuto modo di sfruttarlo in un progetto reale.
Tuttavia la sintassi è intuitiva e semplice, ha caratteristiche interessanti ed altre che personalmente trovo irritanti. Per citarne alcune :
L’indentazione ha significato, ed è l’unico modo per fare quello che in altri linguaggi si fa con le closure. Mi piace il codice ben indentato, ma obbligarmi a indentare cose che non vorrei mi irrita un pochino, senza contare la mole enorme di errori facili da commettere per aver dimenticato un TAB.Le variabili non sono tipizzate, è una caratteritica che va abbastanza di moda, ma personalmente trovo che sia pericolosa perchè lascia al povero tapino di turno il compito di ricordarsi ogni tipo di ogni variabile, perchè sbagliare è facile e può portare a risultati strani (ad esempio fare una moltiplicazione su 2 stringhe con dentro numeri produce questo : “2” + “2” = “22” o “2” * “2” = “2222”)

PHP

<?php
  // Hello World in PHP
  echo 'Hello World';
?>

PHP è un linguaggio molto usato per la produzione del backend delle web application, ma non solo. Ha una sintassi basata si quella di C ed è abbastanza veloce da programmare.
Alcune caratteristiche sono : Variabili non tipizzate e parsing delle stesse all’interno di stringhe realizzato nativamente.

Your turn !

A voi la parola adesso, quale linguaggio vi stuzzica di più ?

 

Computer geek e appassionato di elettronica dall'infanzia. Nel tempo libero oltre a realizzare progetti inutili ma entusiasmanti mi dedico ai videogiochi, rigorosamente su pc. Condivido su questo blog e su youtube i miei interessi nella speranza di entusiasmare tutti i matti come me.

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Verifica anti-spam *