Vai al contenuto

PHP vs Ruby vs Python. Quale linguaggio di programmazione scegliere?

Esistono molti linguaggi di programmazione e ognuno funziona per fare dei compiti specifici e unici. Ogni linguaggio ha un unico insieme di parole chiave e una speciale sintassi per organizzare i comandi. In questo articolo daremo un’occhiata a tre linguaggi molto popolari: PHP, Ruby, Python. Vedremo come funzionano, quali sono le differenze e dove vengono principalmente utilizzati.

PHP: I più popolari linguaggio di scripting per il Web

PHP (Hypertext Preprocessor) è un linguaggio di scripting lato server progettato da Rasmus Lerdorf. Rappresenta un potente strumento per creare siti web dinamici e interattivi. E’ veloce, flessibile, e ampiamente usato sul web: da un semplice blog ai siti più dinamici e interattivi.

Vantaggi di PHP

  • E’ un software libero rilasciato sotto la licenza PHP
  • Facile da imparare (curva di apprendimento minima)
  • Esiste una vasta comunità di utenti e sviluppatori
  • Fornisce un ampio supporto ai principali database
  • Offre gran numero di estensioni disponibili
  • Permette l’esecuzione di codice in ambienti ristretti
  • Offre gestione delle sessioni native ed estensione API
  • Un’ottima alternativa alla principale concorrenza: Microsoft ASP (Active Server Pages)
  • Può essere implementato sulla maggior parte dei server web
  • Funziona su quasi ogni sistema operativo e/o piattaforma

Svantaggi di PHP

  • Non adatto per le applicazioni desktop
  • La gestione degli errori  non è al top
  • Parametri di configurazione globali possono cambiare la semantica del linguaggio, complicando la distribuzione e portabilità
  • Generalmente considerato meno sicuro rispetto agli altri linguaggi di programmazione

Chi utilizza PHP?

Popolarità

Secondo Wikipedia, fino al gennaio 2013, PHP è stato installato su oltre 240 milioni di siti web (39% di quelle campionate) e 2,1 milioni di server web.

Sintassi

Uno script PHP inizia con <?php e finisce con ?> L’estensione predefinita per i file PHP è “. php“. Un file PHP di solito contiene tag HTML e codice di scripting PHP.

<?php
//PHP code goes here
echo("hello world!");
?>

 Ruby: Linguaggio di programmazione ad oggetti interpretato

Ruby funziona grazie a Ruby on Rails o semplicemente Rails, full-stack framework open source per applicazioni web. Si tratta di un linguaggio dinamico, orientato agli oggetti e sviluppato da Yukihiro Matsumoto in Giappone. E’ stato influenzato da Perl, Eiffel e Smalltalk. Possiede un sistema dinamico per la gestione automatica della memoria.

I vantaggi di Ruby

  • Open-Source
  • Sintassi flessibile
  • Funziona su piattaforme multiple
  • Può essere incorporato nel linguaggio Hypertext Markup Language (HTML)
  • E’ un linguaggio ad alto livello (VHLL)
  • Offre l’ncapsulamento dei metodi di dati all’interno degli oggetti
  • Offre una programmazione orientata agli oggetti pura
  • Tecniche molto avanzate di manipolazione e gestione del testo e delle stringhe
  • Può essere facilmente collegato a DB2, MySQL, Oracle e Sybase
  • Programmi scritti in Ruby sono scalabili e facilmente mantenibili
  • Ha una sintassi pulita e semplice che consente al nuovo sviluppatore per imparare ruby molto rapidamente e facilmente
  • Capacità di scrivere applicazioni multi-threaded con una semplice API
  • Offre una classe array avanzata
  • In grado di scrivere librerie esterne in Ruby o C
  • Permette di riservare delle “parole” da utilizzare come identificatore affinché il parser non percepisca un’ambiguità
  • Caratteristiche avanzate di sicurezza
  • Presenza di un debugger

Svantaggi di Ruby

  • Imparare Ruby può essere difficile
  • Mancano risorse informative e didattiche
  • Tempo di esecuzione più lento (tempo di CPU) rispetto ad altri linguaggi di programmazione
  • Lo sviluppo e gli aggiornamenti sono più lenti

Chi utilizza Ruby?

Popolarità

Secondo il sito ufficiale, Ruby si è classificato tra i primi 10 su linguaggi di programmazione più diffusi in tutto il mondo (indice TIOBE). Gran parte della crescita è attribuita alla popolarità del software scritto in Ruby, in particolare al framework web Ruby on Rails.

Sintassi

Tutti i file di Ruby hanno l’estensione “. rb“. Usando l’interprete di Ruby disponibile in /usr/bin, è possibile eseguire il codice Ruby.

#!/usr/bin/ruby -w
puts "Put something here"

 Python: Linguaggio di programmazione General Purpose

Python è un linguaggio di programmazione di alto livello ampiamente usato dai programmatori di esprimere concetti con meno linee di codice. E’ stato concepito alla fine del 1980 ed è stato realizzato da Guido van Rossum.

Il codice Python ricorda molto lo “pseudo-codice”, proprio come tutti i linguaggi di scripting. Il design elegante e le regole di sintassi di questo linguaggio di programmazione rendono abbastanza leggibile il codice anche tra i programmatori di altri linguaggi in un team di sviluppo. Esso supporta diversi modi per costruire le strutture e gli elementi dei programmi, compresa la programmazione orientata agli oggetti e la programmazione funzionale.

I vantaggi di Python

  • Facile e veloce da imparare
  • Viene eseguito in diversi sistemi e piattaforme
  • Sintassi leggibile e organizzata
  • Offre funzionalità dinamiche di prototipazione rapida e semantica
  • Grande sostegno della comunità
  • Semplice creazione di applicazioni tramite test e import di funzioni fondamentali
  • Riusabilità attraverso pacchetti implementati accuratamente e moduli
  • Orientato agli oggetti

Svantaggi di Python

  • In realtà non fa un lavoro multi-processor/multi-core molto bene
  • Piccola comunità di sviluppatori Python rispetto ad altri linguaggi, come Java
  • L’assenza di un punto di supporto commerciale, essendo un progetto Open Source (anche se questa situazione sta cambiando)
  • Limitazioni all’accesso Database
  • Più lento di altri linguaggi come Java

Chi usa Python?

Popolarità

Secondo Wikipedia, dal 2008, Python si è costantemente classificato tra i primi otto linguaggi di programmazione più popolari, come misurato dall’indice TIOBE Index. E’ il terzo linguaggio più popolare la cui sintassi grammaticale non è prevalentemente basata su C, come ad esempio C++, C#, Objective-C o Java.

Sintassi

Se si avvia l’interprete python senza passare alcun file di script  come primo parametro, appare il seguente messaggio:

$ python
Python 2.4.3 (#1, Nov 11 2010, 13:34:43)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

A questo punto, si può digitale a destra le prompo Python (>>>) il comando e digitare Invio per confermare:

>>> print "Ciao mondo!";

Dal mondo del lavoro

Jobs Tractor ha analizzato più di 45.000 inserzioni di lavoro pubblicizzati su Twitter nel corso degli ultimi 12 mesi e i risultati sono i seguenti:

  • PHP – 8.238
  • Ruby – 2.937
  • Python – 1.587

PHP ha indubbiamente le statistiche più elevate, ma ricordate di non usare le statistiche come base per l’apprendimento o l’utilizzo di un linguaggio di programmazione.

Quindi, qual è il miglior linguaggio di programmazione da imparare ed usare?

La risposta che avrete dalla maggior parte dei programmatori è: “Si può fare di tutto con tutti loro” . Tutti quindi rappresentano buone opzioni. Dipende sempre da cosa si vuole realizzare.

Per imparare un linguaggio di programmazione, la scelta migliore è quella di iniziare a utilizzare un framework built-in per i vostri progetti. In sostanza, un framework web vi rende più facile lo sviluppo della vostra applicazione. La maggior parte dei siti hanno un insieme comune di funzionalità (come la gestione di sessioni e la convalida dei dati) e un framework è qualcosa che aiuta a non riscrivere tutti questi controlli ogni volta che si crea un sito web.

Se avete deciso, ad esempio, di imparare PHP, sappiate che da tempo sono presenti sul web dei framework built-in già pronti per essere utilizzati: SymphonyYii PHP Framework, ZendCakePHP. Per Python, ci sono i framework Django e CherryPy, che vi forniscono un buon “kit di attrezzi”. Se scegliete la strada di Ruby, dato che la lingua è più “giovane”, ci sarà meno supporto, ma il punto di partenza è Rails.

C’è da considerare inoltre che la rete e le comunità di sviluppatori, offrono già dei framework CMS chiavi in mano. Quelli più popolari scritti in PHP, ad esempio, sono WordPressJoomla e Drupal e per ciascun CMS le comunità di sviluppo hanno sviluppato un sacco di plugin. È anche possibile scrivere nuovi plugin, con qualche giorno di pazienza e basandosi sui vari tutorial disponibili in rete. Esistono altri framework CMS più potenti rispetto a quelli open source citati, magari con meno bugs, ma utilizzando quelli popolari si aumenta le probabilità di trovare un’assistenza rapida o un plugin di cui potreste avere bisogno.

Quindi, prima di scegliere il linguaggio di programmazione, è importante valutare il miglior supporto tecnico che potreste ricevere qualora si presentasse un problema con il vostro codice.

  • PHP è il miglior linguaggio per la creazione di pagine HTML
  • Python è un linguaggio di programmazione general purpose. Può essere utilizzato per sviluppare praticamente qualsiasi cosa, da applicazioni web, crawler, demoni e applicazioni GUI per desktop.
  • Ruby è migliore per creare applicazioni web per gestire dati rapidamente in modo che è possibile concentrarsi sulla funzionalità piuttosto che sulle operazioni delle query: INSERT, UPDATE e DELETE