4925 Letture

Runnable, codice pronto all'uso per ogni programmatore

Nel 2004 il CEO di Amazon, Jeff Bezos, impose a tutti i programmatori nelle fila della sua azienda, una regola basilare: tutto il codice sviluppato avrebbe dovuto essere condiviso con gli altri ingegneri della società in modo tale da favorire il riutilizzo di quanto già prodotto ed evitare di svolgere più volte lo stesso lavoro.
Un approccio simile viene adottato anche dagli ingegneri di Google.

A Yash Kumar, ex dipendente di Amazon, è venuta in mente l'idea di portare all'esterno tutto il lavoro di sviluppo che si svolge in seno ad una realtà aziendale. Runnable, progetto appena varato, viene proposto come "lo YouTube del codice". Qualunque programmatore, infatti, può ricercare porzioni di codice interessanti, sviluppate con vari linguaggi, pensate per svolgere determinati compiti.

L'idea alla base di Runnable è quella di favorire lo sviluppo di nuovi progetti consentendo un "riciclo immediato" del codice già messo a punto da terzi. Secondo Kumar, ormai, per la realizzazione di alcune soluzioni per il web, buona parte del lavoro si ridurrebbe ad un'opera di "incollaggio" di prozioni di codice differenti che sempre più di frequente sono in comune con altri prodotto già realizzati.


In Runnable si trovano pezzi di codice PHP, Node.js, Python, JavaScript, ASP.NET e Ruby on Rail oltre ad alcuni framework direttamente correlati. Al momento sono circa 1.000 i codici scaricabili dal sito ma Kumar conta di decuplicare tale valore rapidamente, nel giro di qualche mese.

  1. Avatar
    enzom83
    11/10/2013 17:51:16
    Secondo me, si tratta di un'idea geniale! Dopotutto, durante lo sviluppo di un software, si presentano molto spesso gli stessi problemi, quindi non avrebbe alcun senso perdere tempo a scrivere ed ottimizzare una funzionalità specifica che possibilmente è stata già ottimizzata da qualcun altro (si pensi, per esempio, agli algoritmi di ordinamento, oppure ai vari filtri applicabili alle immagini digitali, o ancora alle politiche di gestione di una coda, ecc.). Un principio analogo è stato colto in passato da chi ha introdotto i ben noti design pattern, che rappresentano "una soluzione progettuale generale di un problema ricorrente". La difficoltà nella progettazione e nello sviluppo di un software non è soltanto rappresentata dall'implementazione di una singola funzione, ma anche l'organizzazione di tutte le funzionalità richieste: il software deve funzionare correttamente, cioè deve fornire il servizio per cui è stato realizzato, ma il codice implementato dovrebbe assicurare una semplice manutenzione per correggere eventuali bug e/o per migliorare la scalabilità o semplificare eventuali modifiche, ed evitando soprattutto il cosiddetto spaghetti code. Pertanto, il "copia e incolla" del codice di una specifica funzione non è un problema, a patto di conoscere il servizio offerto da essa, per poterla utilizzare correttamente... Un servizio come Runnable potrebbe: da un lato consentire ai programmatori esperti di scrivere funzioni specifiche e ottimizzate, dall'altro permettere agli sviluppatori delle applicazioni di concentrarsi principalmente sulla business logic che rende effettivamente operativa un'applicazione, strutturandone il codice in modo che sia di facile manutenzione per i motivi appena esposti. Inoltre, un servizio del genere potrebbe permettere ai programmatori di collaborare tra loro nell'implementazione delle funzioni, altri potrebbero testarne il funzionamento, altri ancora potrebbero descrivere le varie porzioni di codice: uno sviluppo collaborativo di tali funzioni porterebbe allo sviluppo di codice altamente affidabile! Oltretutto, gli utilizzatori delle funzioni potrebbero essere avvisati in tempo reale in caso di correzione di eventuali bug presenti in una funzione, permettendo una più rapida correzione degli errori nelle applicazioni...
  2. Avatar
    miki_l
    04/10/2013 20:47:19
    "buona parte del lavoro si ridurrebbe ad un'opera di "incollaggio" di prozioni di codice differenti" :disapprovato: :disapprovato: :disapprovato: ....edvidentemente chi fa un'affermazione del gnerere non è un progorammatore operativo. Certa gente dovrebbe provare a fare qualcosa , magari anche semplicissima, in modo da rendersi conto che la cosa è estremamente più complicate di quello che pensa. Purtoppo spesso certa gente è a capo di società di software... :aiuto:
Runnable, codice pronto all'uso per ogni programmatore - IlSoftware.it