2009-09-04 16 views
36

Ruby on Rails è diventato un nuovo volto competitivo nel settore della programmazione dei server, insieme a php, asp.net, jsp, python e pochi altri. Ma il rubino è usato per qualsiasi binario di BESIDES? Deve tutto il suo successo al framework delle rotaie? Altre domande qui sono etichettate ruby-on-rails di ruby. Tuttavia, suppongo che PHP non venga utilizzato per molto al di fuori del roba del server,cos'è il rubino utilizzato per le guide di BESIDES?

pensieri?

+1

Simile a http://stackoverflow.com/questions/150638/ruby-off-the- rotaie –

risposta

59

In primo luogo, PHP è stato costruito per essere un linguaggio server, prima di tutto. Questo è uno dei motivi principali per cui di solito non viene utilizzato per qualcosa di diverso dalle applicazioni web: non è progettato per questo e quindi non può corrispondere ai requisiti di, ad esempio, un'applicazione desktop con script.

Ruby è stato progettato come linguaggio di scripting per uso generico e pertanto ha un ampio supporto per numerose applicazioni diverse. È stato utilizzato su tutta la linea per tutto, dalle applicazioni Web, ai server Web stessi, alle librerie di grafici intelligenti, ai motori di riconoscimento delle immagini, ai server di database con thread, alle utilità di sistema di basso livello. Ha un ampio spettro di utilizzo durante l'elaborazione.

Rails ha sicuramente aumentato la popolarità di Ruby di una quantità enorme, lo ha portato alla ribalta dei linguaggi di scripting, generando oltre 40 libri, 18 conferenze, distribuzione con quasi tutti i principali sistemi operativi e 7 diverse implementazioni per l'avvio !

Per cominciare, tutti gli interni di Rails sono scritti in Ruby stesso, ma tutti i Rubygems, le librerie, gli snippet o qualsiasi altra cosa utilizzata dagli sviluppatori di Rails è scritto anche in Ruby, ed è molto probabilmente costruito per funzionare fuori dallo stack di Rails.

Detto questo, il framework web popolare non è il motivo perché Ruby è popolare. Certo, ha contribuito a portare l'attenzione tanto necessaria al linguaggio, ma non è il motivo per cui le persone lo usano giorno per giorno. Viene utilizzato per tutto, dalle applicazioni Web alle applicazioni GUI desktop, grazie alla sua sintassi semplice ed elegante, alla sua libreria standard pulita, ragionevole e completa, a un ampio ecosistema di codice di comunità, supporto e toolchain.

Ruby è utilizzato perché oscilla.

+3

ottima risposta. potrebbe ottenere un punteggio migliore se inizi con il secondo paragrafo: "In primo luogo, PHP ..." – austinfromboston

+38

Penso che tu sia un po 'confuso qui. Rails assolutamente * è * perché Ruby è popolare. Senza Rails Ruby avrebbe una mera frazione dell'adozione che fa oggi. Certamente non la metà, e probabilmente una mera frazione della metà. Negare questo è fanboi-ismo. Come è il tuo finale fiorire "perché oscilla". –

+2

Molte gemme hanno estensioni native scritte in C. –

5

Attività di scripting.

Ad esempio, una volta ho usato Ruby per raschiare il contenuto di un intero sito Web (centinaia di pagine) in un file separato da virgole. Lo ha fatto per migrare il sito Web statico di html di qualcuno a uno dinamico, basato su database. Appena inserito il csv. Farlo a mano sarebbe stato impossibile.

+0

Anche farlo con Python sarebbe stato un gioco da ragazzi. – James

2

Viene utilizzato per scrivere tutti i tipi di applicazioni. Spesso usato per scrivere piccole applicazioni di script come Python.

Partenza ruby forge.

1

LessCSS e Webgen. Anche se non ci fosse il ROR, quei due sarebbero abbastanza per giustificare l'esistenza di Ruby nel mio libro.

2

Applicazioni Web, script, alcuni giochi, qualsiasi cosa tu possa pensare. Un mio amico stava lavorando a un compilatore di ruby ​​su as3: D

1

Vari scenari di test. WATIR e RSPEC come esempi.

3

Viene utilizzato come base per DSL. È perfetto per questo scopo poiché la sua grammatica è così flessibile.Per esempio c'è una marca di ricambio chiamata Rake.

5

Shoes è un toolkit GUI multipiattaforma scritto in Ruby.

13

Ruby era davvero un linguaggio boutique prima che Rails uscisse. Riempie lo stesso bisogno di Perl e Python. Nello spazio di scripting, Perl regna sovrano con Python guadagnando molta popolarità negli ultimi 10 anni. Ruby è stato usato con parsimonia o sentito parlare di persone che scrivono programmi Perl e Python. Quando è uscito Rails era molto interessante per le persone che facevano sviluppo web (tipicamente in PHP), quindi molti programmatori web hanno scelto Ruby mentre altri non vedevano alcun motivo per passare dai loro confortevoli ambienti Perl e Python.

La maggior parte delle persone lo usa ancora solo per Rails ma la sua maggiore esposizione ha portato a un maggior numero di persone che lo utilizzano "fuori dall'ambiente naturale" per attività non web. La maggior parte dei posti ha già molti programmi scritti in Perl o Python e non vedo alcun motivo per cambiare. La maggior parte delle distribuzioni Linux vengono fornite con Perl e Python preinstallate ma non Ruby. Ruby inoltre non ha tanti moduli di terze parti disponibili.

+1

Vedo molto il reclamo "Ruby non ha copertura di CPAN", ma raramente vedo esempi di ciò che specificamente non è disponibile. Presenterei (da un punto di pregiudizio generale-Ruby-non-just-Rails) che probabilmente non c'è bisogno di molto, se non del tutto. –

+0

Risposta più precisa su questa pagina. – xyres

+0

Questa è la risposta migliore e più breve. Nell'uso quotidiano, Ruby è un analogo a Python. Perl è ... fuori ai margini ora. Cerca persone con occhi selvaggi, parlando velocemente e agitando le braccia. Quelli sono programmatori Perl. – James

5

Come altri hanno già detto, script generale. Il motivo Lo preferisco per lo scripting generale (su Python) è semplice: regex in linea. Il supporto regex di Python è sfortunatamente scomodo e, per gli script, le regex di solito sono piuttosto importanti.

Non penso nemmeno di dover menzionare il motivo per cui batte Perl.

+5

L'ironia è appena si afferma "Non penso nemmeno di dover menzionare il motivo per cui batte Perl", quindi, in realtà sì, da quando l'hai inventato. –

+8

Bene, @ $% #. (Non stavo giurando - rispondevo solo in Perl.) – Chuck

+2

Vedi? Io davvero no. –

5

Può anche essere utilizzato per lo scripting sia standalone (con un interprete) che in molti altri programmi. Google Sketchup (da modellazione 3D) viene in mente ...

21

Bio Medicina

Jules J. Berman, PhD, MD ha scritto un 378 page book su come utilizzare ruby ​​per risolvere i compiti di calcolo più comuni nel campo della biomedicina. Per quanto ne so, questo libro non parla di Rails.

+1

+ 1-Che è molto utile..grazie – RubyDubee

+3

Capitolo 16. Immettere Ruby On Rails (Livello 4) 16.1. Contesto 16.2. Installazione di Ruby On Rails 16.3. Passo dopo passo Ruby On Rails Esempio 16.4. ROR. – jmorc

+0

Un capitolo completo su Ruby on Rails. – Surya

14

Ma il rubino è utilizzato per le guide di BESIDES?

Oh mio Dio sì. Guarda su RubyForge, che precede Rails e il vecchio ancora RAA per esempi di cose non Rails. Al lavoro, oltre alle inevitabili applicazioni Intranet basate su Rails, utilizzo ActiveRecord standalone per il lavoro di database, backup programmati, analisi XML, download FTP, analisi CSV, manipolazione delle cartelle di lavoro di Excel e praticamente qualsiasi altro lavoro di scripting ad hoc che si presenta. Ma sono vecchio - ho iniziato a giocare con Ruby prima che Rails fosse una mela nell'occhio dello DHH.

A casa, ho fatto un sacco di cose strane, alcune con successo, altre meno. Tutti, tuttavia, erano divertenti e pochissimi erano legati a Rails.

Ha tutto il suo successo nel telaio rotaie?

No. Alcuni, ma non tutti. È anche vero che Rails deve molto del suo successo a Ruby, senza il quale sarebbe una bestia diversa.

Rails ha indubbiamente aumentato l'accettazione di Ruby, portandolo a una sorta di massa critica in cui una percentuale abbastanza grande di sviluppatori - indipendentemente dalla loro opinione - ora ha sentito parlare della lingua e ha qualche idea di cose per cui può essere usato.

E sì, si scaglia.

3

Rubystein - Wolfenstein game clone utilizzando la libreria Gosu :)

2

The Metasploit framework è stato scritto in Ruby e modules per esso sono anche scritte in Ruby. Questo è diventato un metodo comunemente utilizzato per scrivere gli exploit di sicurezza e per la ricerca sulla sicurezza.

7

Tutti provisioning ampiamente utilizzato (automazione) strumenti come Puppet, Chef, Capistrano sono scritti in Ruby. La scelta della lingua non è casuale, ad esempio Chef sta usando Ruby anche per tutte le istruzioni di configurazione perché la lingua è espressiva, semplice e facilmente leggibile. Puppet ha il proprio DSL (Domain Specific Language) che è stato progettato per essere accessibile agli amministratori di sistema. Ruby rende più facile interpretare un tale linguaggio di configurazione.

Vagrant - lo strumento per la creazione e il test delle immagini di sistema è scritto in Ruby. Bundler sarebbe un altro esempio di una bella applicazione Ruby per la gestione delle dipendenze gem.

Metasploit framework viene utilizzato per testare i problemi di sicurezza e aiuta con i test di penetrazione. È stato completamente riscritto in Ruby (precedentemente scritto in Perl) nel 2007.

Uno strumento di imballaggio fpm che semplifica il processo di creazione dei pacchetti (deb, rpm, gem, moduli python, pacchetti nodo, pera, ...) è scritto anche in Ruby.

Ruby è un linguaggio di scripting generale (a differenza di php) che può essere utilizzato per la scrittura di script. Puoi scrivere semplici parser di file di testo con espressioni regolari in pochissime righe senza la necessità di google, perché la sintassi è semplice e facile da imparare.

Ruby on Rails è decisamente più popolare e ha portato molta attenzione al linguaggio Ruby (che è ottimo) ma ci sono molte altre applicazioni e sicuramente ne emergeranno di nuove.