Migliore risposta
In tutta onestà, se stai cercando di eseguire scripting lato server di livello semplice / medio, allora dovresti andare per PhP. È uno dei migliori script per server che ci siano, Hands Down! È la lingua lato server più popolare di sempre!
Se stai cercando di gestire carichi immensi come Facebook o Google, dovresti esaminare Python Scripting. O anche utilizzando la programmazione C sul lato server.
Ecco una serie di linguaggi lato server comunemente usati
CGI / Perl
Perl esiste da più tempo dello stesso World Wide Web. La versione 1 fu rilasciata il 18 dicembre 1987, un decennio prima ancora che le altre lingue trattate in questo articolo fossero concepite! Se sei nuovo in queste cose, probabilmente ti starai chiedendo come potesse essere esistito un linguaggio di sviluppo Web lato server prima del Web stesso. Vedi, Perl non è stato creato come linguaggio di sviluppo Web. Perl è, infatti, un linguaggio di scripting multiuso che è stato progettato per gestire attività che implicano molta manipolazione del testo. Perl è molto bravo a destreggiarsi tra pezzi di testo da varie fonti e combinarli per formare documenti completi, che è esattamente ciò che è coinvolto nello sviluppo Web lato server. Nel decennio e mezzo dalla sua creazione, Perl è stato ampliato per mezzo di moduli , pezzi di funzionalità a volte complesse che possono essere inserite nel linguaggio per adattarsi a vari scopi specializzati. Uno di questi scopi è la creazione di contenuto Web dinamico tramite Common Gateway Interface (CGI) supportato dalla stragrande maggioranza dei server Web. CGI è un mezzo standard con cui il software del server Web può trasferire la richiesta di un browser per una pagina Web a qualsiasi programma. A dire il vero, i programmi CGI possono essere (e sono stati, a volte) scritti in C / C ++ se necessario. Con la sua comoda gestione del testo, tuttavia, Perl è sempre stato più adatto al lavoro, e ora che Perl viene fornito con il modulo CGI.pm integrato, la maggior parte dei dettagli essenziali sulla gestione di cose come linvio di moduli HTML vengono gestiti per te. Come vantaggio finale, la Comprehensive Perl Archive Network (CPAN) è stata fondata per fornire una fonte centralizzata per moduli aggiuntivi, script di esempio e, in alcuni casi, completamente ha sviluppato applicazioni Web. Oggi, le versioni di Perl sono disponibili gratuitamente su tutti i principali sistemi operativi (dal mainstream Windows alla più oscura variante Unix), e se vuoi fargli fare qualcosa di complicato, è probabile che qualcuno abbia già scritto un modulo per semplificarti il lavoro . Lunico svantaggio di questo linguaggio è che, poiché non è stato creato appositamente per lo sviluppo Web, non è stato ottimizzato per la velocità, la scalabilità o la facilità duso in unimpostazione di server Web. Esistono linguaggi molto più facili da imparare che possono fare altrettanto nellarena dello sviluppo Web, ma Perl ti consentirà anche di fare molto di più del semplice sviluppo Web, se necessario. Vantaggi:
- Una lingua matura con oltre un decennio di storia, è meno probabile che tu incorra in bug in Perl rispetto a in qualsiasi altra lingua lato server.
- È GRATUITO, anche se un buon libro per mostrarti le corde potrebbe farti tornare indietro.
- La maggior parte dei buoni host Web supportano Perl, quindi probabilmente non dovrai pagare un extra per lhosting.
- Una vasta rete di sviluppatori Perl dedicati in tutto il mondo è a tua disposizione. Non solo risponderanno alle tue domande su innumerevoli gruppi di discussione e mailing list Perl, ma larchivio CPAN (tra gli altri) ti fornirà molti esempi su cui lavorare.
Svantaggi:
- Sebbene esistano alcune opzioni per migliorare la situazione, Perl non si adatta particolarmente bene ai server occupati. Se stai cercando di creare unapplicazione Web in grado di raccogliere molti risultati in un breve lasso di tempo, potresti voler cercare altrove.
- Perl è noto per avere cinque modi diversi di eseguire anche il cosa più semplice, che può rendere difficile lapprendimento dal lavoro di altri se non usano lo stesso metodo a cui sei abituato. Inoltre, gli sviluppatori Perl sono noti per trovare il modo più breve per scrivere un determinato programma, quindi potresti essere sorpreso di guardare uno script di esempio solo per scoprire che uno script completo per il carrello degli acquisti di e-commerce è stato scritto in tre righe di codice, la maggior parte delle quali è scarabocchio e backslash.
- Perl è ottimizzato per la piattaforma Unix su cui è stato creato, quindi se ti aspetti di lavorare su un server Windows, probabilmente hai scelte migliori in termini di prestazioni.
- Perl è un software Open Source, il che significa che non esiste un supporto formale per esso.Nonostante lenorme community di supporto a tua disposizione, se qualcosa va storto, lunica persona su cui puoi davvero contare sei te stesso.
Target Developer : La maggior parte degli sviluppatori Web che ancora oggi lavorano con Perl tendono ad essere amministratori e utenti Unix che utilizzano Perl anche in altre aree del proprio sistema. Per persone come queste, Perl è uno strumento confortante “vai ovunque, fai qualsiasi cosa” su cui puoi sempre fare affidamento. Se sei uno sviluppatore inesperto che deve affrontare il compito di mantenere un sito originariamente scritto in Perl, prendi un paio di buoni libri e preparati ad aggiungere un strumento davvero potente per il tuo arsenale.
ASP
Prima di andare oltre, tolgo qualcosa di mezzo ai puristi là fuori. Microsoft Active Server Pages (ASP) non è una lingua. Piuttosto, ASP è un framework che consente di combinare uno dei numerosi linguaggi di scripting (VBScript e JavaScript sono le scelte più popolari) con un set espandibile di software componenti . Questi componenti vengono trattati come oggetti dal linguaggio di scripting scelto quando viene utilizzato come parte del framework ASP. In sostanza, la potenza di ASP risiede nella sua capacità di combinare linguaggi di scripting relativamente semplici come VBScript e JavaScript con potenti componenti software normalmente utilizzati dagli sviluppatori C / C ++. Ok, questo è il discorso di vendita di Microsoft. Ora vediamo i fatti: per tutti gli scopi pratici, ASP potrebbe anche essere un linguaggio. Hai semplicemente una scelta tra la scrittura di VBScript ASP o JavaScript ASP. Poiché la maggior parte del codice di esempio è scritto in VBScript, la tua scelta è quasi fatta per te. Pertanto, ASP è generalmente considerato un linguaggio per lo sviluppo di siti Web dinamici utilizzando VBScript e sotto questo ombrello eccelle. ASP è facile da imparare, abbastanza potente per la maggior parte dello sviluppo Web lato server tradizionale e abbastanza buono dal punto di vista delle prestazioni. ASP è strettamente collegato al sistema operativo Windows (la maggior parte dei componenti software su cui ASP si basa per la sua funzionalità sono specifici di Windows) e al software del server Web Microsoft Internet Information Services. Per questi motivi, non è né pratico né desiderabile eseguire un sito Web basato su ASP su qualcosa che non sia un server basato su Windows. Se stai configurando il tuo server Web, significa che devi investire in una copia di Windows 2000 Server (sebbene gran parte di ASP venga eseguito su Windows 2000 Professional, IIS non è scalabile su quella piattaforma). Se stai pagando per lhosting Web, significa pagare per un server basato su Windows, che di solito è più costoso. In qualunque modo la guardi, ASP ti costerà soldi per funzionare. Esistono versioni di ASP che possono essere eseguite su un server Apache in esecuzione sotto Linux, ma a meno che tu non abbia lobiettivo specifico di spostare un sito Web ASP esistente su un Server Linux, non ha molto senso. Unaltra preoccupazione per gli sviluppatori ASP è la natura relativamente limitata dei componenti forniti in bundle con ASP. Se tutto ciò di cui hai bisogno per la tua applicazione è la connettività del database, un motore di ricerca, i servizi di gestione della posta elettronica, lelaborazione di base dei moduli e il monitoraggio delle sessioni, allora ASP andrà benissimo. Qualsiasi funzionalità meno comune, tuttavia, di solito richiede linstallazione di componenti software aggiuntivi sul server. Ci sono molte aziende là fuori che producono componenti da utilizzare con ASP che generano file PDF, interagiscono con server FTP, gestiscono caricamenti di file binari e molte altre cose. Sfortunatamente, questi componenti, come ASP, tendono ad essere soluzioni commerciali che ti costeranno denaro. Il vantaggio di tutto questo è che ASP è una tecnologia molto ben supportata, con tutto il sostegno della comunità di sviluppo Microsoft dietro di essa. MSDN , Microsoft Development Network fornisce una vasta gamma di articoli tecnici e materiale di riferimento per gli sviluppatori ASP e il personale di supporto Microsoft esaminerà volentieri eventuali problemi durante le attività di sviluppo (per un prezzo). Se in qualsiasi momento hai assolutamente bisogno di una risposta a una domanda, puoi stare certo che ci sarà qualcuno il cui compito è darti la risposta. Vantaggi:
- Abbastanza facile da imparare, sebbene sia necessaria la programmazione.
- Integrato in Windows 2000 Server – nessun problema di installazione.
- Supporto professionale disponibile.
Svantaggi:
- Non è gratuito (a meno che tu non stia già utilizzando un server Windows)
- La funzionalità specializzata potrebbe richiedere lacquisto di componenti commerciali o lo sviluppo da solo in C / C ++ o Visual Basic.
- Se sei abituato alla sintassi in stile C (condivisa da C / C ++, Java, Perl, PHP, ecc.), potresti trovare difficile affrontare le idiosincrasie di VBScript.
Sviluppatore di destinazione: Se hai sviluppato qualsiasi sviluppo con VBScript o Visual Basic o hai sviluppato oggetti COM in Windows prima, questa è sicuramente la piattaforma di sviluppo Web che fa per te. Inoltre, ASP è amichevole per i non programmatori quanto un linguaggio di programmazione può ottenere (ma se davvero odi la programmazione, dai unocchiata a Cold Fusion, in seguito). Se ti senti a tuo agio con Windows per la tua piattaforma server Web e puoi permetterti i costi coinvolti, o se lazienda per cui lavori richiede semplicemente il livello di supporto che Microsoft può fornire, allora ASP è unottima tecnologia da imparare. Cold Fusion Per il progettista Web che non ha mai scritto un programma prima, la scelta della piattaforma di sviluppo Web lato server può essere temuta. In qualunque modo tu vada, ti trovi di fronte a un grande e malvagio linguaggio di programmazione da imparare e la tua testa inizia a farti male … Creato originariamente da Allaire nel 1995 e recentemente acquistato da Macromedia , Cold Fusion è stato progettato per essere diverso. Invece di un linguaggio di scripting, Cold Fusion ti offre una serie di tag da imparare. Sì, tag, proprio come quei tag HTML che hai imparato a conoscere e ad amare! Prendiamo lesempio della pubblicazione di informazioni archiviate in un database sul Web. Con la maggior parte dei linguaggi lato server, devi aggiungere codice al tuo Pagina Web per uscire dalla modalità HTML, connettersi al database, richiedere le voci dal database che si desidera visualizzare ed elaborare i risultati inviati dal database per visualizzarli come parte della pagina Web. In Cold Fusion, questo lattività comune viene eseguita con due tag: un tag
- Estremamente facile da imparare – nessuna programmazione richiesta!
- Potente e molto scalabile (lultima versione supporta il clustering di server sia software che hardware).
- Supporto professionale di Macromedia.
- Cross platform.
Svantaggi:
- Costoso da impostare crea il tuo server: Cold Fusion Server Professional 5.0 costa $ 1.295
- Ai programmatori potrebbero non piacere i metodi di sviluppo basati su tag.
Sviluppatore di destinazione: Web designer che sono a proprio agio con lHTML ma devono aggiungere competenze lato server al loro repertorio senza dover imparare un linguaggio di programmazione. Dal punto di vista dello sviluppatore medio, imparare Cold Fusion è proprio come imparare alcuni nuovi tag. È probabile che anche i non progettisti si appassionino alla pulizia della programmazione lato server con i tag, quindi se sei stanco di eseguire il debug degli script lato server, Cold Fusion potrebbe valere la pena dare unocchiata!
PHP
Un relativamente nuovo arrivato nellarena di sviluppo lato server, PHP ha ottenuto un ampio seguito tra i programmatori con il suo sintassi familiare e libreria di funzioni completa. Inoltre, la sua sintassi relativamente semplice e il prezzo basso (è gratuito!) Lo hanno reso unalternativa interessante allASP di Microsoft per i nuovi sviluppatori. PHP è stato soprannominato da alcuni “Perl killer” nel mondo dello scripting lato server. Ai fini dello sviluppo Web, PHP può fare quasi tutto ciò che Perl può fare, e di solito lo fa in modo più semplice e veloce. A differenza di Perl, che di solito viene eseguito come un programma CGI invocato dal server Web per gestire ogni richiesta di pagina, PHP può integrarsi con il server Web in modo che funzioni in modo molto più efficiente.PHP è un linguaggio estremamente capace, con una vasta gamma di funzioni integrate per fare qualsiasi cosa, dal tracciamento delle sessioni utente alla generazione di grafica dinamica e persino file PDF al volo! Nessun modulo da installare, nessun componente aggiuntivo commerciale da acquistare … PHP gestisce tutto da solo! In effetti, quasi lunico punto debole di PHP è che è relativamente difficile espandere il linguaggio per aggiungere funzionalità non standard che non sono gestite dalle sue funzioni integrate. Fare questo richiede una conoscenza della programmazione C / C ++ e non è per i deboli di cuore! Fortunatamente, dovresti creare unapplicazione Web molto esoterica per richiedere funzionalità che non sono già integrate in PHP. PHP è un software open source gratuito, multipiattaforma. Si integra con tutti i principali server Web su tutti i principali sistemi operativi. Questo è un grande vantaggio per gli sviluppatori con un budget limitato, perché possono configurare un server Web completo basato su Linux con supporto PHP e non pagare un centesimo per il software! Lo svantaggio di questo, ovviamente, è che non esiste un supporto formale per eventuali problemi che potresti incontrare con PHP. Inoltre, poiché PHP è una tecnologia così nuova e attivamente sviluppata, ci sono ancora bug occasionali trovati nelle ultime versioni. Non lasciare che questi problemi ti scoraggino, però: PHP ha una comunità di utenti estremamente attiva (un ampio segmento della quale può essere trovato nei nostri Forum di SitePoint !) che è sempre pronto ad aiutarti con qualsiasi ostacolo, e le attuali versioni di PHP sono abbastanza stabili e affidabili. Vantaggi:
- Abbastanza facile da imparare, soprattutto per sviluppatori con esperienza in C / C ++, Java o Perl.
- Comunità di utenti attiva pronta a darti una mano per iniziare.
- Tutto è integrato direttamente nella lingua.
- È gratis!
- Multipiattaforma .
Svantaggi:
- Questo linguaggio è stato progettato per essere facile da programmare, il che purtroppo lo rende un po meno amichevole per i non programmatori.
Sviluppatore target: Sviluppatori web con un budget che amano programmazione semplice (ad esempio JavaScript) o non importa imparare come. PHP offre una grande potenza con una struttura del codice relativamente semplice, ma potrebbe non essere adatto ad applicazioni di fascia molto alta che non sono supportate dalle funzionalità integrate di PHP.
Java
Java è probabilmente la piattaforma più potente per lo sviluppo Web lato server oggi. Dai piccoli programmi Java (Servlet) che gestiscono le richieste di pagine Web a JavaServer Pages (JSP) che combinano HTML con tag personalizzati e codice Java, e persino fino a Enterprise JavaBeans (EJB), componenti software con capacità sofisticate per trasportare le informazioni senza problemi tra server e reti per ospitare applicazioni distribuite, Java è davvero una tecnologia calda. Uno sviluppatore Web Java esperto può facilmente ottenere stipendi superiori a US $ 100.000 / anno. Come ci si potrebbe aspettare, cè una ragione per questo: Java non è facile da imparare! A differenza dei linguaggi di scripting come Perl, ASP e PHP, Java è un vero e proprio linguaggio di programmazione in grado di scrivere grandi programmi! Qualcuno con una piccola esperienza di programmazione potrebbe aspettarsi di acquisire una conoscenza operativa del linguaggio Java in un mese o due con laiuto di un buon libro, e in un altro mese sarebbe probabilmente in grado di acquisire le basi della semplice programmazione lato server con Java. Ora, se sei interessato a fare carriera nella programmazione lato server, potrebbe non sembrare molto, ma se vuoi solo che qualcosa funzioni rapidamente, un linguaggio più semplice come PHP può farti funzionare in una settimana o Di meno! Java è rinomato per la sua filosofia WORA (Write One, Run Anywhere), e infatti Java può essere eseguito su tutti i principali server Web e tutti i principali sistemi operativi. Le applicazioni Web Java possono anche essere raggruppate in file .WAR (Web Application Archive) standard che possono essere installati su qualsiasi server Web abilitato per Java, indipendentemente dalla piattaforma. I creatori di Java hanno pianificato che questo meccanismo venisse utilizzato per distribuire applicazioni Web commerciali da utilizzare su server Web Java; tuttavia, nella mia esperienza, le applicazioni Web Java tendono ad essere soluzioni personalizzate a problemi complessi, piuttosto che soluzioni vendibili che è possibile acquistare online. Molti fornitori diversi producono plug-in che consentono ai server Web come Apache e IIS di eseguire applicazioni Web Java e, sebbene la maggior parte di essi sia gratuita per uso e sviluppo personale, la maggior parte deve essere pagata prima di poterli utilizzare per servire uno spot Sito web. Vantaggi:
- Estremamente potente e scalabile.
- Multipiattaforma.
- La maggior parte dei plug-in per server Java è gratuita per scopi personali e di sviluppo.
Svantaggi:
- Java richiede molto lavoro per imparare.Non iniziare nemmeno se non vuoi davvero imparare la programmazione orientata agli oggetti.
- La maggior parte dei plugin per server Java deve essere pagata se devono essere utilizzati per ospitare un sito Web commerciale.
Sviluppatore target: Sviluppatori seri che desiderano il massimo in termini di potenza, flessibilità e scalabilità per le loro applicazioni Web e non si preoccupano di pagare per questo in sudore, lacrime e tempo di sviluppo. Riepilogo In questo articolo, abbiamo esaminato le caratteristiche, i vantaggi e gli svantaggi relativi di tutte le principali opzioni di sviluppo lato server oggi disponibili:
- Perl : un linguaggio maturo e multipiattaforma che può essere difficile da capire
- ASP : il potente framework Microsoft basato su Windows
- Cold Fusion : una potente opzione basata su tag per i non programmatori
- PHP : unalternativa open source multipiattaforma con molte funzionalità incorporate
- Java : il massimo in termini di potenza e flessibilità, per programmatori seri
Saluti
Risposta
PHP è solo un linguaggio di scripting lato server. Qualsiasi linguaggio di programmazione può essere utilizzato come alternativa purché sia disponibile un software server che lo supporti. È possibile utilizzare Python per Django, JavaScript per Node.JS, ASP .Net per IIS, Java per Tomcat, Php per Apache e molti altri. Non lho ancora usato.
Il mio preferito è ASP .net MVC, perché posso usare il potente Visual Studio per scrivere codice e posso usare C #. Non mi piace php solo perché non ha un ottimo IDE (probabilmente non ne ho mai avuto uno) potente come Visual Studio e per la maggior parte php è ancora procedurale. Ho codificato in linguaggi orientati agli oggetti nella maggior parte della mia carriera e lo scripting in uno procedurale sembra troppo arcaico per me. Odio persino JS per questo, ma almeno jQuery è lì per risolvere la maggior parte dei miei problemi.
È solo una mia sensazione che php manchi della struttura necessaria per un grande progetto. Sì, lo so facebook usa php, ma è fortemente personalizzato e hanno ingegneri di talento per creare il proprio framework e IDE. Ho anche provato framework come CodeIgniter e CakePHP. Sebbene siano certamente migliori dello scrivere codice php grezzo, non possono confrontare il lusso di scrivere codice C #.