Piattaforma

Sono sicuramente di parte, ma quando leggo certi articoli mi viene da pensare che Windows è la piattaforma più friendly Piattaformache ci sia. I miglioramenti apportati con il rilascio dei prodotti 2008 sono notevoli:

Building Great AJAX Applications from Scratch Using ASP.NET 3.5 and Visual Studio 2008 (devo ammettere che AJAX non mi piace, ma vedere questa demo me lo ha fatto apprezzare un po')

ASP.NET MVC Preview 2 (Model View Controller + ASP.Net = mix esplosivo). Qui c'è uno screencast molto carino ad opera di Scott Handelman; qui un tutorial abbastanza completo anche se potrebbe essere datato (ASP.NET MVC è ancora in beta)

IIS 7 - Il "solito" ScottGu parla dei nuovi benefici qui, qui e qui. La feature che vale il prezzo del prodotto (tipica espressione americana) è l'integrazione a livello più basso di ASP.Net; per intenderci si può scrivere un HttpModule per intercettare ad esempio applicazioni PHP (esempio: scrivere un Url rewriter in C# per applicazioni PHP)

ADO.Net Entity Framework (in dirittura di arrivo) descrivibile come (Hibernate+++++). Una rivoluzione Coopernicana all'accesso ai dati derivato dalle ceneri di WinFS e ObjectSpaces (e per cui c'è del mio! ) Ne parla Mike Pizzo, architetto, in questo podcast di Hanselman

Ed infine Visual Studio 2008 ed il Runtime 3.5 e le LINQ, altro piccolo ingrediente della rivoluzione di cui sopra. C'è tantissimo materiale a riguardo, i Linq provider abbondano per cui non mi spreco in link banali; ma vorrei segnalare un post di Miguel de Icaza in cui parla di Matt Warren e del percorso lungo e tortuoso necessario per arrivare al Runtime 3.5. Il consiglio, per chi è appassionato di linguaggi di alto livello come Java, è di dare un'occhiata a Visual C# 2008 Express.

Sinceramente, data la mia microscopica esperienza basata su qualche lettura e qualche piccola tentata "modifica" di WordPress precocemente abbandonata, ho l'impressione che l'equivalente stack LAMP sia abbastanza indietro. Se interessa posso spendere due parole anche su questo. Per una volta, ha ragione Steve Ballmer .

-quack

P.S. nel mio piccolo, ho avuto la fortuna spacciata di lavorare sia a fianco di Mike che di Matt

Potrebbero interessarti anche:
Commenti (30):
1. gino
venerdì 7 marzo 2008 alle 9:29 PM - unknown unknown unknown
   

forse hai avuto problemi con wordpress(che ricordo a tutti essere uno dei tanti applicativi scritto in php!) perchè conosci poco il linguaggio

figurati che io ho problemi con iis e asp.net(diciamo che non ci ho capito una mazza) ma ammetto che sono io ignorante in questo campo però non mi metto a dire che iis e asp sono difficili da installare

ps per uno che inizia da zero che cosa consigli per partire con una serie di tutorial per scrivere pagine in asp/asp.net? (premetto che dispongo di una licenza di winserver 2003 (e tra poco me ne arriva una 2008) datami dalla scuola e quindi posso sbizzarrirmi con vmware)

   
2. zakk
venerdì 7 marzo 2008 alle 9:44 PM - unknown unknown unknown
   

concordo sostanzialmente con gino. io non conosco più di tanto tutta la piattaforma .NET e quelle poche volte che mi è toccato modificare qualche linea di codice VB o C# ho sempre pensato di trovarmi davanti a un'immonda schifezza (soprattutto per il C#). A parte la sintassi, di -NET mi ha sempre fatto specie l'eccessiva complessità.

Il PHP invece mi sembra chiarissimo. se devo mettere su un webserver in due secondi su windows scarico xampp e vivo felice.

al di là degli slogan, quello che conta è l'esperienza su una certa piattaforma, e l'abitudine ad usare un paradigma di sviluppo piuttosto che un altro.

peace&love!

   
3. Paperino
venerdì 7 marzo 2008 alle 10:34 PM - unknown unknown unknown
   

@gino e zakk:

non si tratta di dimistichezza con il linguaggio, ma si tratta di paradigma che definirei antiquato.

PHP (4.x) somiglia molto al vecchio ASP. HTML e codice miscelati pericolosamente in un'unica pagina. In alcuni casi è molto comodo, ma quando l'applicazione si fa più complessa occorrono soluzioni più adatte. ASP.Net 1.0, permettendo entrambi gli approcci (oltre al summenzionato code behind, utile se non si vuole rilasciare un prodotto ASP.Net come opensource; oppure la possibilità di compilare, e quindi maggiori prestazioni), era già una "generazione" più avanti rispetto a ASP/PHP. La differenza radicale poi che c'è tra .Net 3.5 e .Net 1.0 mi permette di dire che la distanza tra le due piattaforme aumenta con velocità crescente. Per questo mi sento di affermare che lo stack LAMP è abbastanza 'indietro' (per gino: non vuol dire che è "difficile" da installare). Se può servire a qualcosa si consideri il seguente esempio: se voglio fare rewrite di una URL in PHP/Apache devo installare (tramite accesso al sistema) un plugin apache di terze parti (mod_rewrite) che consente di giocare con le URL usando le espressioni regolari. Se volessi fare la stessissima cosa in Asp.Net, mi basterebbe scrivere un modulo HTTP (va benissimo un qualsiasi linguaggio di alto livello: C#/VB/Pascal/ecc.) che dal punto di vista del deployment è identico a quello di una pagina web; la differenza di flessibilità (RegEx vs. Linguaggio di Programmazione) è elevata.

A parte la sintassi, di -NET mi ha sempre fatto specie l'eccessiva complessità.

.Net non è un linguaggio ma un runtime; teoricamente si può programmare in .Net usando qualsiasi linguaggio si preferisca. E teoricamente persino in PHP!

al di là degli slogan, quello che conta è l'esperienza su una certa piattaforma, e l'abitudine ad usare un paradigma di sviluppo piuttosto che un altro.

Conta molto anche quello che offre "gratuitamente" la piattaforma. In media si scrivono sei righe di codice al giorno: fai un'analisi di cosa di può fare in 6 righe di Assembler/C++/C#/PHP/Linq/RoR e confronta la differenza di produttività.

ps per uno che inizia da zero che cosa consigli per partire con una serie di tutorial per scrivere pagine in asp/asp.net? (premetto che dispongo di una licenza di winserver 2003 (e tra poco me ne arriva una 2008)

Non occorre nessuna licenza server per giocare con asp.Net; Visual Studio contiene al suo interno un piccolo webserver integrato (piccolo ma potente! Vi ci gira pure il mio blog!). La versione Express è gratuita e contiene diversi svariati tutorial al suo interno. Consiglio vivamente di provare le LINQ, sarebbe utile a capire dove sta la differenza di cui sto parlando in questo post.

Magari se sono in vena (come disse l'ago) provo a scrivere due parole in un post.

   
4. zakk
venerdì 7 marzo 2008 alle 11:54 PM - unknown unknown unknown
   

mod_rewrite credo sia installato di default su apache, non vedo quale sia la differenza rispetto al tuo "modulo HTTP". per quanto riguardo la complessità io preferisco di gran lunga le regex, avendo programmato per un po' di tempo in perl. ancora una volta questione di gusti.

Riformulo l'altra frase: "mi ha sempre fatto specie l'eccessiva complessità del runtime di .NET"

   
5. zakk
venerdì 7 marzo 2008 alle 11:57 PM - unknown unknown unknown
   

...quella stessa eccessiva complessità che è il marchio di fabbrica di casa Microsoft. Avete mai provato a scrivere un'applicazione 3D che visualizza un triangolo su Linux e su Windows in OpenGL?!?

(non uso pensare a Direct3D)

   
6. Paperino
sabato 8 marzo 2008 alle 12:14 AM - unknown unknown unknown
   

mod_rewrite credo sia installato di default su apache, non vedo quale sia la differenza rispetto al tuo "modulo HTTP".

Io dubito sia installato di default (anche se è di default su quasi tutti i siti di hosting che ho visto in giro, ma ciò non cambia la sostanza). La differenza è che, se hai bisogno di installare un modulo Apache, hai bisogno di un account di amministrazione. Il modulo http x .Net si "installa" (termine inappropriato) via FTP come qualsiasi pagina Web. Qualsiasi utente FTP può farlo

per quanto riguardo la complessità io preferisco di gran lunga le regex, avendo programmato per un po' di tempo in perl. ancora una volta questione di gusti.

Mmm, confondi complessità con completezza. Le regex sono disponibili "nativamente" anche in C#. Ancora una volta questione di libertà di scelta, anche scegliere una regex laddove funzioni bene. Mod_rewrite non offre altro, un http module offre un intero linguaggio. E String.Replace allo stesso tempo può essere estremamente più semplice di una RegEx

(non uso pensare a Direct3D)

Hai mai provato a sparare un video su una superficie tridimensionale con meno di 50 righe di Java? Con DirectX e C# ad esempio si può fare ed è stato pure fatto. Conosco il personaggio in questione e mi assicura che si è trattato davvero di poca fatica.

Chiaro che se prendi le DirectX tutte insieme (triangoli, vertex coders, pixel shaders) non ne esci vivo. Ma se prendi solo quello che ti serve (VMR9) riesci a fare cose sbalorditive con davvero pochissimo codice. In questo credo che la piattaforma MS abbia un vantaggio notevole, non si spiegherebbe altrimenti la quantità di codice disponibile persino in VB (che è accessibile persino ai tabaccai)

   
7. Scrooge McDuck
sabato 8 marzo 2008 alle 12:23 AM - unknown unknown unknown
   

Nessuno ti impedisce di usare le regex dentro .NET

Questione di flessibilità, che è cosa ben diversa dai gusti personali e non è per niente soggettiva.

Riguardo all'imparare asp/asp.net concordo con il papero, Visual Studio è più che sufficiente, se lo accoppi ad un buon manuale puoi iniziare tranquillamente e senza fatica alcuna.

Tra l'altro contenendo anche delle funzioni di debug hai la vita molto facilitata.

Riguardo alla complessità del runtime non ho capito a cosa ci si riferisce.

A tirar su IIS per far girare un'applicazione in ASP.NET ci si mette sì e no 30 secondi se è già tutto pronto e installato (IIS e il .net framework in quest'ordine, ai tempi avevo perso un bel po' di tempo prima di scoprire che se installavi IIS su XP dopo aver già installato il .net framework dovevi reinstallarlo altrimenti non funzionava una cippa, suppongo sia lo stesso con 2003 server ma non ho mai controllato).

   
8. Paperino
sabato 8 marzo 2008 alle 12:32 AM - unknown unknown unknown
   

@Scrooge:

suppongo sia lo stesso con 2003 server ma non ho mai controllato

Asp.Net per IIS6.0 era implementato tramite filtro ISAPI (simile come concetto a mod_rewrite per intenderci). Se si installa IIS dopo .Net basta ri-registrare il filtro lanciando aspnet_issreg.exe che fa parte di .Net

Credo che con IIS7.0 le cose siano cambiate un po', in quanto .Net è diventato un vero e proprio "componente" di sistema.

   
9. zakk
sabato 8 marzo 2008 alle 2:12 AM - unknown unknown unknown
   

riguardo a mod_rewrite: usare un intero linguaggio per riscrivere un URL non mi sembra una gran trovata. le regular expressions servono proprio a quello (a manipolare stringhe di testo). io la vedo così: la completezza qui non serve (e con tutta probabilità a livello di performance è una cattiva scelta)

riguardo al 3d: io avevo in mente lo stesso codice opengl (un triangolo fisso) scritto per Linux e per Windows. Di codice platform dependent ci saranno 50 righe a farla grande su Linux e almeno 300 su Windows. Tra DEVMODE, PIXELFORMATDESCRIPTOR, CreateWindowEx e altre amenità varie.

   
10. Paperino
sabato 8 marzo 2008 alle 2:35 AM - unknown unknown unknown
   

@zakk:

continui a non afferrare il concetto. Volendo puoi scrivere mod_rewrite in .Net e cioé puoi scrivere un HTTPModule che legge un file di configurazione contenente RegEx e reagisca di conseguenza. Anzi è stato già fatto (questo è solo un esempio ma c'è quest'altro HttpModule che addirittura usa la stessa identica sintassi di configurazione di mod_rewrite). La stessa cosa non si può fare in PHP. Per scrivere mod_rewrite bisogna interfacciarsi con Apache a più basso livello usando API di basso livello (immagino in C/C++). Per fare un paragone è come se per ottenere la stessa funzionalità su LAMP devi scrivere un device driver (in questo caso l'ha scritto qualcun altro) mentre su ASP.Net puoi scrivere un applicativo.

Continui ad insistere che le RegEx sono potenti abbastanza ma ci sono casi abbastanza semplici in cui una grammatica regolare non funziona più e ci vuole qualche altro tipo di appiglio (ad esempio un banale String.Split and compare).

In quanto a performance mi vuoi spiegare come fa una piattaforma basata su linguaggio interpretato (PHP) a competere con una basata su linguaggi compilati?

Tra DEVMODE, PIXELFORMATDESCRIPTOR, CreateWindowEx e altre amenità varie.

Un buon framework consente di mascherare tutta una serie di complessità non necessarie. Per cui se occorrono 300 righe di C per far apparire un triangolo, ti posso dire che allo stesso modo bastano 50 righe di C# per fare un cubo ruotante con un video diverso su ogni faccia. C'è una piattaforma equivalente basata su LAMP, a parte la bistrattata Mono (*)? Non mi sembra...

(*) è curioso che in genere chi parla molto male di Mono sia gente che non abbia mai scritto in vita sua una rga di codice

   
11. ilSilente
sabato 8 marzo 2008 alle 8:55 PM - unknown unknown unknown
   

Perché AJAX non ti piace?

   
12. zakk
domenica 9 marzo 2008 alle 1:30 AM - unknown unknown unknown
   

Il concetto l'afferro. Così come afferro la diversità tra l'approccio della piattaforma .NET e quella della piattaforma LAMP. Solo che l'approccio .NET non mi sembra niente di sconvolgente rispetto al mod_rewrite che fa il suo lavoro più che egregiamente.

Magari il "modulo HTTP" è più pratico ma non mi sento di dire che LAMP è "abbastanza indietro".

(considerazione mia, magari è una cavolato, non conosco a fondo l'argomento) E poi la gestione degli URL è qualcosa che fa parte degli internals del webserver. Non so quanto bene faccia (in termini di prestazioni e di sicurezza) spiatterlarla in faccia all'utente.

-------------------------------------------------

Riguardo alla questione 3D scrivi: "Un buon framework consente di mascherare tutta una serie di complessità non necessarie."

Dunque vorresti dire che Microsoft/Windows/Visual C++ non forniscono un buon framework per programmare con OpenGL (o anche Direct3D) in C++?!? Migliaia di giochi e applicazioni grafiche professionali usano un __cattivo__ framework?

   
13. Paperino
domenica 9 marzo 2008 alle 4:19 AM - unknown unknown unknown
   

@ilSilente:

in generale non mi piace Javascript per le poche garanzie che offre: secondo me è ottimo quando si ha un certo controllo sul client (ad esempio Outlook Web Access, l'applicazione che ha lanciato AJAX, è un ottimo esempio ma funziona perfettamente solo su IE). Quando le incompatibilità del client cominciano ad entrare in gioco le cose si possono complicare troppo in maniera non necessaria. Poi sono un po' prevenuto anche per l'uso scellerato di cui spesso si fa: ho visto un sacco di piattaforme usare AJAX per postare i commenti e non mi sembra - opinione opinabile - una buona idea.

@zakk:

Quello del mod_rewrite è solo un esempio. Penso che .Net sia avanti in quanto è un framework, pensato per avere una ottima learning curve e non solo un linguaggio. Per contro PHP è solo un linguaggio e quella di non permettere la separazione tra logica e visualizzazione mi sembra una lacuna molto importante. Per questo ho affermato che PHP è "indietro" rispetto ad ASP.Net, perché questo modo di creare siti dinamici è per lo meno antiquato. Ruby on Rails sembra molto promettente, ma da una lettura superficiale sembra un po troppo specializzato nell'implementare il pattern MVC, che ora è disponibile come add-on anche per ASP.Net

E poi la gestione degli URL è qualcosa che fa parte degli internals del webserver. Non so quanto bene faccia (in termini di prestazioni e di sicurezza) spiatterlarla in faccia all'utente.

Non è assolutamente spiattellata. Nel mio piccolo esempio ho avuto necessità, per avere delle URL "dinamiche", di farlo; con LAMP mi sarei dovuto affidare a quello che offre mod_rewrite (che può essere abbastanza o no), con .Net ho scritto esattamente quello di cui ho avuto bisogno anche facendo uso parziale di RegEx.

Migliaia di giochi e applicazioni grafiche professionali usano un __cattivo__ framework?

Personalmente non definirei OpenGL/Direct3D un framework ma un set di API a cui aggiungerei che un buon framework non va considerato assolutamente in antitesi ad un set di API. Le API per necessità devono essere complete in quanto di devono permettere di descrivere dettagliatamente quello che vuoi fare; se oltre alle API hai un buon framework, hai la possibilità di mascherare alcuni aspetti complessi che ad un certo tipo di programmatore (il tabaccaio che vuole scrivere il programma per il lotto) potrebbero e dovrebbero non interessare. Ad esempio, per fare un Hello World per Windows in C occorrono più o meno un centinaio di righe (creazione della finestra, creazione della message pump, gestione degli eventi, allocazione, deallocazione). Per fare la stessa cosa in C# (buon framework) le righe si riducono a 5; questo non vuol dire che le restanti 95 siano inutili. Cosa definisce la bontà di un framework? Secondo alcuni, me compreso, è fondamentale la learning curve. Buoni framework sono stati TurboVision (qualcuno lo conosce?) e OWL di Borland e lo stesso VB(*) che ha permesso anche ai più smaliziati di scrivere applicazioni Windows; le MFC invece non mi sono mai piaciute in quanto non nascondevano una bella cippa. Non credo che sia una coincidenza se l'architetto di C# (e di parte di .Net) sia l'inventore del Turbo Pascal (altra botta di nostalgia).

(*) credo che VB sia stato uno dei punti di svolta che ha dato popolarità alla piattaforma win16/32

   
14. ilSilente
domenica 9 marzo 2008 alle 7:37 PM - unknown unknown unknown
   

@Papero: il effetti la tua opinione è opinabile, anche se credo d'aver capito cosa intendi

OFF TOPIC:

Vorrei farti notare che quando usi:

Something

e lato CSS scrivi:

a:hover { color:blue; }

Gecko colora anche le ancore, non solo i link. Il risultato è che quando un commento manca del link al sito dell'autore, ogni paragrafo si evidenzia quando si fa mouse-over

   
15. ilSilente
domenica 9 marzo 2008 alle 7:40 PM - unknown unknown unknown
   

...oops... mi chiedo quali tag siano usabili nei commenti :D. Nel mio precedente commento il "Something" era circondato da un 'A NAME'.

   
16. Paperino
domenica 9 marzo 2008 alle 7:46 PM - unknown unknown unknown
   

Azz, avevo appena sistemato il baco segnalato da Sirus e ne e' apparso subito un altro

Conservazione della somma algebrica.

I tag permessi (aggiungero' presto una legenda) sono:

a@href,b,i,u,blockquote,p,br,hr

dove a@href vuol dire che con il tag A l'unico attributo permesso e' href. Per questo e' stato strippato. Oggi pomeriggio do' un'occhiata al CSS. Grazie della segnalation.

UPDATE: fixed. Yaeah!

   
17. FDG
martedì 11 marzo 2008 alle 11:45 AM - unknown unknown unknown
   

Scusate, ma è mia impressione o si sta seguendo un approccio di comparazione puntuale tra i diversi strumenti assolutamente avulsa da qualsiasi contesto? A questo punto vi suggerisco di contattare un fanatico di ruby on rails così potrete rendere la scazzottata ancora più vivace

   
18. Paperino
martedì 11 marzo 2008 alle 5:03 PM - unknown unknown unknown
   

No no, il contesto c'è eccome. Quello storico se non si era capito.

   
19. FDG
martedì 11 marzo 2008 alle 5:15 PM - unknown unknown unknown
   

ehm... quello soggettivo...

Dai, trovate un fanatico di ruby on rails e fatevi questa bella scazzottata.

   
20. Paperino
martedì 11 marzo 2008 alle 5:31 PM - unknown unknown unknown
   

Perché dici ció?

Penso che il delta tra PHP 1.x e PHP 5.x, come pure quello tra ASP e ASP3.5, sia oggettivamente misurabile. Sbaglio?

P.S. Ho dato un'occhiata a Ruby on Rails (che è un framework per douchebags e quindi ci sto alla larga ): d'istinto non mi sembra un framework ma quasi un'applicazione con un evoluto linguaggio di scripting. Almeno fino a quando capisco come si possa fare il binding con un qualcosa che non è una semplice tabella (esempio: JOIN). Ma mi son fermato solo alla parte 1 del tutorial. Nel frattempo sfogliavo le pagine del numero di Marzo di MSDN magazine.

   
21. FDG
mercoledì 12 marzo 2008 alle 11:38 AM - unknown unknown unknown
   

Dico che per confidenza maggiore con gli strumenti che utilizzi hai preferito una soluzione piuttosto che un'altra. Insomma, come faccio io quando uso TCL/TK per sviluppare applicazioni con GUI, vista la mia confidenza col TCL e col toolkit TK. Possono avere tutti i difetti di questo mondo, ma visto che li conosco molto bene e riesco a sfruttarli fino in fondo, non è affatto strano per me sceglierli come strumenti di sviluppo. E penso di sapere anche quando non sceglierli.

Detto questo, visto che devo scegliere anche io una piattaforma di blogging, anche se non conosco php, la mia scelta è ricaduta su wordpress per una serie di considerazioni che riguardano il risultato finale, cioè la piattaforma di blogging.

Nota (che è in un certo senso una risposta a quanto scritto da Atwood): visto che io ho un mac, non posso scegliere nulla che si basi su .NET. Java si (ho avuto a che fare per un po di tempo con pebble), php si, Ruby si...

   
22. FDG
mercoledì 12 marzo 2008 alle 11:43 AM - unknown unknown unknown
   

A scanso di equivoci: non posso usare .NET per impossibilità pratica, mica per scelta ideologica (per scoprire se si scrivono minchiate basta poco: riscrivere le proprie argomentazioni invertendo i ruoli così da scoprire se ci si sta implicitamente dando del "douchbag"... ma precisamente che vuol dire?).

   
23. Paperino
mercoledì 12 marzo 2008 alle 7:29 PM - unknown unknown unknown
   

@FDG:

Un paio di precisazioni:

1) le mie considerazioni si riferivano allo stack LAMP; non ad altri tool disponibili per *nix e certamente non a chi li usa. Ti faccio una domanda giusto per chiarire il punto: prima di ASP/PHP CGI era quello che andava più di moda per creare siti dinamici. Tutto quello che si può fare con ASP.Net 3.5 si può fare in CGI a patto di spendere tonnellate di codice in più. Il fatto che la fuori ci sia qualcuno che possa implementare pazientemente Wordpress in CGI non implica che CGI e PHP siano "comparabili": è innegabile che PHP è un (?) passo avanti a CGI. Stessa cosa per ASP.Net. Significa che chi usa PHP deve buttare tutto via e passare ad ASP.Net? Assolutamente no, non c'era nessuna implicazione in tale senso. Si tratta di usare il tool giusto per il lavoro giusto e quanto il tool sia avanzato è solo una delle tante variabili

2) Ruby e douchebag: la mia, e immagino quella di Jeff, è una battuta. La parola ha lo stesso significato dispregiativo di jerk e deriva dal fatto che lo sviluppatore dietro RoR si comporti come un jerk (mandando a fanc*lo senza giri di parole chi critica il suo framework, gettando disprezzo senza mezze misure su chi lavora sulla piattaforma "concorrente", ecc.); la conclusione amara di Jeff è che se l'attitudine di DHH è quella di generalizzare, allora generalizzando alla stessa maniera si può dedurre che RoR è stato pensato per le teste di cippa. In realtà non penso che sia così, il mio parere tecnico, per quanto basato su una misera pagina di tutorial, è contenuto nel commento precedente.

3) Wordpress: WP è un'ottima piattaforma, più volte ho preso in considerazione di spostare questo blog sulla loro versione hostata. Mi hanno bloccato un paio di limitazioni (alcune delle quali dipendenti sia dal design di WP che dalla piattaforma che hanno scelto) che sicuramente al 99.9% dei loro utenti interessano davvero poco e per questo sono il prodotto di blogging migliore che c'è. Ho pensato anche di hostare WP da me e lì sono entrate in gioco altre limitazioni, oltre al fatto odiosissimo che essendo WP la piattaforma più diffusa che c'è, bisogna avere cura di aggiornare prontamente quando viene scovato un baco di sicurezza, ennesima non necessaria dimostrazione che "attaccare" piattaforme non popolari è considerata una perdita di tempo; a differenza di Windows un aggiornamento non è semplice se consideri che spesso va fatto in "remoto" e il concetto di "aggiornamento automatico" purtroppo per le WebApp non esiste. A questo punto avrei pure l'occasione per essere molto, estremamente cattivo verso i "colleghi", ma sinceramente mi interessa poco fare teatro: faccio prima a scrivere la mia piattaforma, un paio di settimane di lavoro (un'ora al giorno) e soddisfa al 100% le mie estremamente vincolanti esigenze.

4) *nix e .Net: hai pensato di provare Mono? Certo sono una versione "indietro" rispetto a .Net, ma almeno per esplorare i concetti interessanti (uno fra tutti il code behind) va più che bene e dal punto di vista tecnico Icaza gode davvero della mia stima, vedasi quello che hanno fatto con moonlight

5) considerazione tendenzialmente off-topic: probabile che certe feature, di nuovo il code-behind ovvero la possibilità di sviluppare applicazioni Web senza dover rilasciare codice, in un mondo open-source siano davvero poco interessanti (di nuovo: il rifermiento è unicamente a LAMP). Sarei tentato di pensare che sia per motivi "politici" e se fosse vero sarebbe davvero triste. Tu che dici, possibile che nessuno in PHP abbia pensato che questa possa essere una feature molto richiesta?

6) non sto implicitamente dando douchebag a nessuno. Vedi punto 1). Al massimo, se qualcuno usasse impropriamente CGI nell'era di PHP/ASP/Ruby, penserei che è un po naif.

   
24. Paperino
mercoledì 12 marzo 2008 alle 7:45 PM - unknown unknown unknown
   

P.S. come non concordare con la conclusione di Jeff:

Show the world what you can do in your programming environment of choice.

   
25. FDG
giovedì 13 marzo 2008 alle 12:07 PM - unknown unknown unknown
   

1) ...

Faccio presente che al di la delle valutazioni sul merito delle tecnologie (che comunque correttamente non devono esser fatte in senso assoluto) conta parecchio la confidenza con queste. Cioè, per chiunque è problematico lavorare con una tecnologia che non si conosce o che si conosce solo superficialmente. Ad esempio, l'update dello stack LAMP per il corretto funzionamento dell'applicazione wordpress per te è un problema. Dubito che tu conosca soluzioni nate per semplificare queste problematiche di amministrazione. Magari non hai proprio l'interesse ad approfondire l'argomento. Non c'è nulla di male in questo. Anzi, non vedo perché tu ti debba per forza occupare di cose che a te non interessa esplorare.

Secondo me, visto che siamo tutti un po naif, siamo tutti un po condizionati da questa ricerca del gusto che ci piace anche quando dovremmo essere solo razionali. E questo non è un male... anzi...

2) ...

Sono condizionato dall'impressione che Atwood abbia anche lui qualche sentimento irrazionale che lo spinge ad esprimere certe opinioni. Personalmente lo preferisco quando si limita a parlare di strumenti, tecnologie, della propria esperienza...

4) ...

Mono... non è il runtime che conta ma il framework. Sviluppare per mono vuol dire sviluppare... per quale framework?

   
26. kEsoNNo
giovedì 13 marzo 2008 alle 8:12 PM - unknown unknown unknown
   

@l'ultimo commento di Paperino, punto 5:

certo che ci hanno pensato, in fondo a questo articolo una breve panoramica:

www.icosaedro.it/.../obfuscator-bash

Si parla principalmente di offuscatori, ma ci sono anche i "compilatori".

ionCube è molto usato da prodotti commerciali importanti, come Plesk della SWSoft.

   
27. Paperino
giovedì 13 marzo 2008 alle 9:30 PM - unknown unknown unknown
   

@FDG

Ad esempio, l'update dello stack LAMP per il corretto funzionamento dell'applicazione wordpress per te è un problema.

Il problema non è l'update di LAMP, ma dell'applicazione stessa. Ormai le piattaforme possono essere considerate "robuste"; le applicazioni purtroppo non sempre hanno la stessa qualità. Un update di WP (ma di qualsiasi applicazione WEB) richiede una serie di passi piuttosto "manuali" e di solito abbastanza "rischiosi"; si pensi a quando c'è bisogno di fare l'update del DB e cosa succederebbe se lo script non funziona, ecc. Insomma non è la migliore delle situazioni possibili. Questo solo per tornare all'esempio di WordPress. La considerazione generale secondo me resta oggettiva e poco condizionata dalla piattaforma. Nella mia vita lavorativa recente non ho fatto altro che scrivere framework/API, quando guardo un framework tendo a guardarlo e giudicarlo con occhi diversi. Tutto qui.

Il post di Atwood non mi sembrava così emotivo, anzi sembrava che seguisse un filo abbastanza logico. Poi magari è solo la mia impressione.

Mono e framework: secondo me dovremmo metterci d'accordo sulla nomenclatura, perché mono a me sembra un framework (RUNTIME + librerie di sistema) che nella versione corrente sembrerebbe "allineato" con .Net 2.0; se per framework ti riferisci anche all'IDE, non saprei davvero, ma sono sicuro che ci sono un paio di IDE che sono cross-platform. In passato ho usato ad esempio SharpDevelop su un piccolo portatile che non avrebbe retto l'impatto di VS.

@kEsoNNo:

grazie per il link, tornano utili. Ma quando parlavo di PHP non mi riferivo al "linguaggio" ma al team che ci lavora; il fatto che offuscatori e compilatori siano disponibili via terze parti non è esattamente la stessa cosa (ad esempio: sono compatibili con tutte le librerie PHP? Quanto sono fedeli i compilatori alle specifiche del linguaggio? ecc.)

   
28. kEsoNNo
venerdì 14 marzo 2008 alle 1:17 AM - unknown unknown unknown
   

Non conosco l'organigramma del team PHP, ma tra le soluzioni proposte una (bcompiler) è presente nel repository ufficiale PECL ed è sviluppata da Alan Knowles che è un contributor regolare della piattaforma, mentre un'altra (Zend Encoder) è sviluppata dalla Zend che è la società che attualmente partecipa più attivamente al core del linguaggio.

Rivedrei la tua lettura in un'altra ottica: il code behind è una caratteristica si molto richiesta, ma da un target più "enterprise", cui (almeno in origine) PHP non pretendeva di rivolgersi (infatti, come molti software opensource, nasce come progetto amatoriale).

Sorta la necessità, coloro che con il PHP ci guadagnano (vedi Zend e ionCube) hanno proposto le loro soluzioni.

Sul funzionamento di queste soluzioni non mi so pronunciare, ma per come è strutturato il linguaggio le vedo come una forzatura. Non dimentichiamo che è pur sempre un linguaggio interpretato e con una tipizzazione "allegra"

   
29. Paperino
venerdì 14 marzo 2008 alle 1:45 AM - unknown unknown unknown
   

@kEsoNNo:

 

Rivedrei la tua lettura in un'altra ottica: il code behind è una caratteristica si molto richiesta, ma da un target più "enterprise", cui (almeno in origine) PHP non pretendeva di rivolgersi (infatti, come molti software opensource, nasce come progetto amatoriale).

 

Su un paio di cose non concordo o vorrei precisare.

1. non credo che il code behind sia una feature enterprise ma credo che sia molto più utile alle piccole-medie software house che consegnano poi l'applicazione web al cliente e - giustamente - non vogliono consegnare anche il codice

2. il code behind è solo una delle feature che io vedo come innovative nella progressione tra ASP ad ASP.Net 3.5; di mezzo c'è un runtime compilato, un framework molto completo (parser XML, librerie di rete, ecc.), un layer di persistenza fichissimo e molti punti di integrazione con il server IIS sottostante. Insomma si vede che c'è un'unica regia (a differenza ad esempio della estrema modularità di LAMP che ha i suoi pro ed i suoi contro) e che l'investimento nella tecnologia è stato molto significativo.

Grazie sinceramente per le tue precisazioni (e sorrido a quei blogger che nascono imparati e non abilitano i commenti; quando potranno mai arrichirsi? )

   
30. FDG
lunedì 17 marzo 2008 alle 11:25 AM - unknown unknown unknown
   

@Paperino

> Il problema non è l'update di LAMP, ma dell'applicazione stessa

Esistono tool fatti a posta per semplificare l'aggiornamento di WordPress.

> RUNTIME + librerie di sistema

Si, non intendo l'IDE, per quanto abbia una sua rilevante importanza.

Per chiarirti, per me vorrebbe dire trovare un sostituto a Java+JDK, J2EE, EJB 3.0, JSF+Seam, JBoss, Eclipse e così via. Mentre mi pare che per mono venga parecchio pubblicizzato lo sviluppo per GTK+, che non mi interessa.

   
Lascia un commento:
Commento: (clicca su questo link per gli smiley supportati; regole di ingaggio per i commenti)
(opzionale, per il Gravatar)