PDA

View Full Version : Studiare C++ o studiare C# ?


tony666
14-01-2011, 23:57
Ciao a tutti ho bisogno di un consiglio da voi che sicuramente avete esperienza nel settore.

Non conosco per niente c e c++ ma sto facendo un corso completo di java a cui seguirà uno di j2ee ed è la prima volta che approccio un vero e proprio linguaggio di programmazione.

In più ho quasi concluso un altro corso di progettista web in cui ho approfondito le mie conoscenze di xhtml/css e ho imparato a programmare in asp/vbscript, ado, sql etc...

Solo che ho scoperto che asp è morto (e in effetti lo capisco pure) perchè è subentrato asp.net

Adesso potrei fare un corso di asp.net (con qualche cenno base di C#) oppure uno di C# o uno di C++ e siccome sono convinto di riuscire a studiare Asp.net per conto mio, pensavo di fare proprio il corso di C# e mi chiedevo:

Una volta completata la formazione in java mi risulterà più facile l'approccio al C?
E soprattutto, se faccio il corso di C# sarò in grado poi di imparare da solo il c++ o mi conviene fare il contrario, ossia fare un corso di c++ per poi studiare da solo il c#?

Darker
15-01-2011, 00:20
Ciao a tutti ho bisogno di un consiglio da voi che sicuramente avete esperienza nel settore.

Non conosco per niente c e c++ ma sto facendo un corso completo di java a cui seguirà uno di j2ee ed è la prima volta che approccio un vero e proprio linguaggio di programmazione.

In più ho quasi concluso un altro corso di progettista web in cui ho approfondito le mie conoscenze di xhtml/css e ho imparato a programmare in asp/vbscript, ado, sql etc...

Solo che ho scoperto che asp è morto (e in effetti lo capisco pure) perchè è subentrato asp.net

Adesso potrei fare un corso di asp.net (con qualche cenno base di C#) oppure uno di C# o uno di C++ e siccome sono convinto di riuscire a studiare Asp.net per conto mio, pensavo di fare proprio il corso di C# e mi chiedevo:

Una volta completata la formazione in java mi risulterà più facile l'approccio al C?
E soprattutto, se faccio il corso di C# sarò in grado poi di imparare da solo il c++ o mi conviene fare il contrario, ossia fare un corso di c++ per poi studiare da solo il c#?

Bhe, dipende da cosa vuoi fare. Di sicuro se conosci java è più facile imparare c# rispetto a c++. Più che altro mi chiedo qual'è il senso di conoscere tutti quei linguaggi. Imho sarebbe più opportuno impararne benissimo uno soltanto :)

dojolab
15-01-2011, 08:24
Bhe, dipende da cosa vuoi fare. Di sicuro se conosci java è più facile imparare c# rispetto a c++. Più che altro mi chiedo qual'è il senso di conoscere tutti quei linguaggi. Imho sarebbe più opportuno impararne benissimo uno soltanto :)

Concordo, dato che con Java copri il 90 % del mercato (tra Web, Mobile e Standalone) io mi butterei su un altro linguaggio tipo Python o C++. :D

Darker
15-01-2011, 13:06
Concordo, dato che con Java copri il 90 % del mercato (tra Web, Mobile e Standalone) io mi butterei su un altro linguaggio tipo Python o C++. :D

Bhe, 90%: magari! :)

dojolab
15-01-2011, 13:23
Bhe, 90%: magari! :)

E' vero, il 95 % ;).

Considerato che è multipiattaforma, basta una JVM per far girare un qualsiasi "programma" e esiste una JVM (ufficiale o non) per qualsiasi OS al mondo.

Ci sviluppi Web, Standalone, Embedded, servizi client-server, rdbms (?), videogiochi (ci sono due esempi di giochi di successo in Java).

Insomma... avendo già fatto Java, che permette tutto ciò, C# mi sembra 'sacrificato' alla piattaforma (considerato Mono che fa ancora abbastanza schifo). Andrei di Python (lo vedo nel futuro) o C++ (ancora molto usato).

Altrimenti sui dbms a palla :D

Tommo
15-01-2011, 13:32
Più che altro mi chiedo qual'è il senso di conoscere tutti quei linguaggi. Imho sarebbe più opportuno impararne benissimo uno soltanto :)

:doh:

Conoscere più linguaggi e paradigmi è sicuramente il modo migliore per passare da scimmiazza telescrivente a programmatore vero, non ci sono dubbi :D
Vedere le cose da un'altro punto di vista insomma, magari più approfondito.

Comunque quoto che imparare C# ti servirebbe poco, proprio perchè è estremamente simile a Java e ti troveresti solo a imparare altre implementazioni degli stessi concetti.
Per me se vuoi approfondire l'informatica in generale, C++ is the way... si può dire che una volta che sai quello sai tutti i linguaggi ante 2000 :D

dojolab
15-01-2011, 13:35
:doh:

Conoscere più linguaggi e paradigmi è sicuramente il modo migliore per passare da scimmiazza telescrivente a programmatore vero, non ci sono dubbi :D
Vedere le cose da un'altro punto di vista insomma, magari più approfondito.

Concordo.


Comunque quoto che imparare C# ti servirebbe poco, proprio perchè è estremamente simile a Java e ti troveresti solo a imparare altre implementazioni degli stessi concetti.
Per me se vuoi approfondire l'informatica in generale, C++ is the way... si può dire che una volta che sai quello sai tutti i linguaggi ante 2000 :D

Inoltre coprirebbe queri "ruoli" in cui Java non è prettamente indicato :D

tony666
15-01-2011, 13:54
Capisco. Diciamo che dal punto di vista "lavorativo" il mio settore sarà più che altro il web development, almeno all'inizio, e con le jsp dovrei poter arrivare a fare belle cose.

Per quanto come dice tommo conoscere più linguaggi è utile per avere diversi punti di vista, e per mio diletto/passione vorrei imparare più cose possibili, per poterle poi in futuro mettere in collegamento e realizzare progetti sotto più fronti, oltre che aprirmi numerose nuove possibilità di lavoro.

Per ora ho un pò di conoscenze non troppo avanzate di Visual Basic 6 che avevo imparato 7 anni fa e vbscript che sto rispulciando adesso, ma mi ha sempre affascinato il c++

Cmq sentivo tutti parlare molto bene del framework microsoft, e per fare siti di e-commerce ad esempio l'asp.net mi sembra la soluzione migliore da adottare al momento, soprattutto nel caso uno non abbia intenzione di imparare il php.

Per mia sfortuna ho studiato l'asp, ma sto iniziando a migrare verso asp.net e non trovo particolari difficoltà.

Ora se mi dite che le cose che posso fare con Asp.net/C# le posso fare anche con java e jsp allora non li butto altri soldi per un corso del genere, ma piuttosto mi faccio quello di c++ come dite voi.

Per quanto riguarda python, non ho la minima idea di cosa sia e a cosa serva...

kyxzme
15-01-2011, 14:10
Web developer con Java?
Molti qua saranno javisti, fan di java, fanjava, etc
Java per il web development NON funziona, da Napoli a Londra passando per Roma / Bologna / Milano, se vuoi metterti a fare il Webdeveloper evita .NET e Java, troverai il 5% di offerte di lavoro per entrambe e il restante 95% coperte da PHP(1), R/ROR(2), Python/Django(3)

C'è pure da dire che la pesantezza di Java a fronte di tutti i lavaggi del cervello che potrebbero farti è reale pure per quel che riguarda il web, semmai trovassi qualcuno che usa Java per il web ti accorgerai che è una persona involuta

Di contro, se vuoi tentare la sorte puoi metterti sul .NET, il .NET è ben pagato, ne trovi poche, ma se la fortuna ti bacia quelle poche offerte che trovi sono ben pagate

dojolab
15-01-2011, 14:11
Cmq sentivo tutti parlare molto bene del framework microsoft, e per fare siti di e-commerce ad esempio l'asp.net mi sembra la soluzione migliore da adottare al momento, soprattutto nel caso uno non abbia intenzione di imparare il php.

Per mia sfortuna ho studiato l'asp, ma sto iniziando a migrare verso asp.net e non trovo particolari difficoltà.

Puoi farli anche con Perl volendo.
JSP ti va benissimo.


Ora se mi dite che le cose che posso fare con Asp.net/C# le posso fare anche con java e jsp allora non li butto altri soldi per un corso del genere, ma piuttosto mi faccio quello di c++ come dite voi.

Strus2, Spring, Hibernate.
Cercati questi tre termini su Google, capirai che non ti serve approfondire un linguaggio MS dipendente.


Per quanto riguarda python, non ho la minima idea di cosa sia e a cosa serva...

GMail e YouTube possono essere un banale esempio di cosa si possa realizzare in Python!

Darker
15-01-2011, 15:20
:doh:

Conoscere più linguaggi e paradigmi è sicuramente il modo migliore per passare da scimmiazza telescrivente a programmatore vero, non ci sono dubbi :D
Vedere le cose da un'altro punto di vista insomma, magari più approfondito.


Francamente non capisco il nesso tra conoscere più linguaggi e il passaggio da "telescrivente a programmatore vero". Una persona può essere un programmatore vero anche solo programmando in php, purchè sappia dove sta mettendo le mani.

Il fatto è questo: se bisogna farlo per cultura personale, allora tanto vale cominciare da assembly: certo, non si troverà lavoro come sviluppatore assembly (a meno di non avere competenze anche in altri campi...), ma ciò che impari vale su tutta la linea; se invece si studia (come suppongo) per trovare lavoro, allora imho è inutile conoscere tutta sta roba: si sceglie un linguaggio (sulla base dei propri gusti e sulla base dell'offerta lavorativa) e si punta su quello. Dato che tony666 sta seguendo un corso su java a cui seguirà uno su jee, tanto vale continuare con Strus2, Spring ed Hibernate, come dojolab insiste.

Per il resto, almeno per quella che è stata la mia esperienza universitaria e poi lavorativa, un corso non è assolutamente sufficiente per imparare un linguaggio: al più ti dà un pò di basi. Per poter conoscere qualcora, a mio parere, c'è bisogno di lavorarci seriamente e per un bel pò di tempo

tomminno
15-01-2011, 15:29
:doh:

Conoscere più linguaggi e paradigmi è sicuramente il modo migliore per passare da scimmiazza telescrivente a programmatore vero, non ci sono dubbi :D
Vedere le cose da un'altro punto di vista insomma, magari più approfondito.


Ehm dipende dal livello di conoscenza. Un livello di conoscenza veramente approfondito richiede anni di lavoro continuato con quel particolare linguaggio.
Non basta leggere su un libro di J2EE per pensare di conoscerlo. Va messo in pratica e dato che la materia è così ampia ci potresti passare un'intera carriera lavorativa, senza dare spazio ad altro.


Per me se vuoi approfondire l'informatica in generale, C++ is the way... si può dire che una volta che sai quello sai tutti i linguaggi ante 2000 :D

Prima di conoscere il linguaggio C++ gli ci vorranno anni di pratica. E anni gli ci vorranno pure per avere dimestichezza con tutte le librerie .NET, così come anni gli ci vorranno per imparare tutte le ramificazioni di Java.
Un linguaggio non è solo la sintassi è anche sapere come e cosa utilizzare nel contesto giusto.

tomminno
15-01-2011, 15:35
Per mia sfortuna ho studiato l'asp, ma sto iniziando a migrare verso asp.net e non trovo particolari difficoltà.


Se non stai incontrando particolari difficoltà allora vuol dire che non stai usando Asp.Net come si deve. Sono 2 modi di approcciare al problema completamente differenti. Se applichi Asp ad Asp.Net (si può fare benissimo) hai appena creato un mostro inusabile e molto molto old style.
Già solo una strutturazione di un applicativo a 3 livelli comporta che non puoi applicare il modello asp su asp.net. Per non parlare del binding dei controlli concetto completamente estraneo ad asp.


Ora se mi dite che le cose che posso fare con Asp.net/C# le posso fare anche con java e jsp allora non li butto altri soldi per un corso del genere, ma piuttosto mi faccio quello di c++ come dite voi.


Puoi fare le stesse cose come con tutti gli altri linguaggi web oriented, Java ha quel qualcosa in più per quanto riguarda l'ambito enterprise, essendo di fatto l'unico a fornire strumenti per tale settore.

Tommo
15-01-2011, 16:10
Ehm dipende dal livello di conoscenza. Un livello di conoscenza veramente approfondito richiede anni di lavoro continuato con quel particolare linguaggio.

Il livello di conoscenza non deve essere particolarmente approfondito, basta mettere in moto il cervello... per il resto c'è la documentazione.

Conoscere e saper usare (non a livelli elevatissimi per carità) altri linguaggi ed ambienti ti obbliga a seguire altri modi di pensare, e questo inevitabilmente ti porta ad avere idee che si possono riciclare in tutti gli altri linguaggi che conosci.
Si può programmare OOP in C come si può fare un gioco in Java o robe Data Parallel in C#, basta avere chiaro il problema che si vuole risolvere.
I linguaggi non sono compartimenti stagni, sono diversi modi per risolvere gli stessi problemi...

C++ lo consigliavo perchè anche se è il più difficile (lo uso da 6 anni e ancora scopro roba) è un linguaggio multiparadigma in cui puoi applicare praticamente tutto, e non ponendo vincoli espliciti obbliga a prendere molte più decisioni di linguaggi più "guidati" tipo Java.
Almeno io ho imparato C++ per primo, e non ho avuto nessuna difficoltà a diventare produttivo in tanti altri linguaggi "più semplici" :read:


*

Come sopra; un linguaggio è un modo per risolvere problemi, conoscendone parecchi si riesce ad astrarre quello che si fa ad un livello superiore all'incollare pezzi di Java e PHP seguendo un manuale, qualità che reputo fondalmentale in un "programmatore vero".

Se poi uno studia per trovare lavoro alla fine tutto il discorso è inutile, tanto nel 99% dei lavori cercano proprio delle code monkeys :D

Darker
15-01-2011, 16:47
lo uso da 6 anni e ancora scopro roba

E' quello che intendevo :)

Lo usi per programmare e ancora scopri roba. Immagina dopo un corso quanto c'è da scoprire...

pabloski
15-01-2011, 18:30
mmm ma non è meglio c# nel tuo caso? trattandosi di un'attività indirizzata allo sviluppo web, c++ ti porterebbe via un mare di tempo ( e credimi c++ è un oceano con noi poveracci immersi dentro :D )

c# da parte sua prende molte idee da java, quindi imparare c# conoscendo java ti risulterà facile

c# è usato tantissimo in asp.net, altra cosa importante

per il tuo lavoro, studiare c# ti porta un utile immediato, c++ no

dal canto suo c++ è un'estensione "verso l'alto" di c e c#, java e company sono stati creati per lo stesso scopo e cioè creare una cosa simile al C ma più potente, versatile e umanamente utilizzabile di C

in questo senso concetti come i templates di c++ ( che sono tra le cose più complesse ) li ritrovi come generics in c# e java....i generics sono meno flessibili e potenti e per questo penso che studiare prima questi ultimi aiuta poi nella comprensione dei templates.....voglio dire che java->c#->c++ è un percorso graduale che ti evita il trauma del primo impatto con c++

infine non dare per scontato che c# e java implichino minori conoscenze e capacità per essere padroneggiati rispetto a c++, implicano solo meno mal di testa

chiaramente chi padroneggia c++ padroneggia l'universo informatico

tomminno
15-01-2011, 19:00
Il livello di conoscenza non deve essere particolarmente approfondito, basta mettere in moto il cervello... per il resto c'è la documentazione.


Eh insomma.
Ad esempio in C# asp.net e wpf non sono proprio identici per impararli entrambi ci vuole un bel pò.

Prova a lavorare su un progetto con un linguaggio/libreria nuova, vedrai che al secondo progetto trovi subito che si poteva impiegare meglio di come avevi realizzato il primo.
L'esperienza fa la conoscenza.


Conoscere e saper usare (non a livelli elevatissimi per carità) altri linguaggi ed ambienti ti obbliga a seguire altri modi di pensare, e questo inevitabilmente ti porta ad avere idee che si possono riciclare in tutti gli altri linguaggi che conosci.


Secondo me è vero solo in parte, di ogni linguaggio userai le peculiarità che lo contraddistinguono e che mal si addicono ad un altro.
Non vedo molto riusabile in Java il paradigma IDisposable del .Net. Nè tantomeno trovo applicabile al mondo .Net il metodo di procedere proprio dei framework Java molto incentrati su configurazioni xml.


Si può programmare OOP in C come si può fare un gioco in Java o robe Data Parallel in C#, basta avere chiaro il problema che si vuole risolvere.
I linguaggi non sono compartimenti stagni, sono diversi modi per risolvere gli stessi problemi...


Anch'io vengo dal C++ e principalmente vedo in quelli che sono nati direttamente con linguaggi managed che ignorano completamente l'importanza di rilasciare le risorse, tanto c'è il GC...


Come sopra; un linguaggio è un modo per risolvere problemi, conoscendone parecchi si riesce ad astrarre quello che si fa ad un livello superiore all'incollare pezzi di Java e PHP seguendo un manuale, qualità che reputo fondalmentale in un "programmatore vero".


Pensa un pò a quanto tempo ti porta via in Java imparare ad usare Eclipse e Netbeans, Spring e Struts, Jax e Axis. Perchè lavorando in Java ti troverai continuamente a che fare con progetti che usano un misto delle varie possibilità.
Mettici anche l'imparare a dovere un altro linguaggio con tutte le sue peculiarità e non vai molto lontano se parliamo di un livello professionale.


Se poi uno studia per trovare lavoro alla fine tutto il discorso è inutile, tanto nel 99% dei lavori cercano proprio delle code monkeys :D

Ah beh se per questo sono ricercatissimi gli indiani, che producono tali schifezze che probabilmente nemmeno un ragazzino delle superiori riuscirebbe a fare. Ormai ho esperienza da vendere sull'argomento.

tony666
15-01-2011, 19:20
mmm ma non è meglio c# nel tuo caso? trattandosi di un'attività indirizzata allo sviluppo web, c++ ti porterebbe via un mare di tempo ( e credimi c++ è un oceano con noi poveracci immersi dentro :D )

c# da parte sua prende molte idee da java, quindi imparare c# conoscendo java ti risulterà facile

c# è usato tantissimo in asp.net, altra cosa importante



Eh appunto. Infatti mi sa che opterò per questa opzione, più utile nel breve periodo per quanto mi riguarda.

Il punto è che entro quest'estate avrò concluso lo studio di java, webmaster e asp, e potrei infilarci nello stesso tempo asp.net/C#
E poi devo inziare a trovare lavori, e a seconda di quello che troverò inzierò a fare esperienza

E poi più in là vedro se ho tempo e denaro per ampliare il discorso con c++, ma sarebbe solo per mia cultura personale e avrei abbastanza tempo da dedicargli (diciamo dai miei attuali 25 anni fino ai 40 abbondanti).

dojolab
15-01-2011, 19:29
Web developer con Java?
Molti qua saranno javisti, fan di java, fanjava, etc
Java per il web development NON funziona, da Napoli a Londra passando per Roma / Bologna / Milano, se vuoi metterti a fare il Webdeveloper evita .NET e Java, troverai il 5% di offerte di lavoro per entrambe e il restante 95% coperte da PHP(1), R/ROR(2), Python/Django(3)


Nulla da dire, .net però ha aumentato la sua quota di mercato.


C'è pure da dire che la pesantezza di Java a fronte di tutti i lavaggi del cervello che potrebbero farti è reale pure per quel che riguarda il web, semmai trovassi qualcuno che usa Java per il web ti accorgerai che è una persona involuta

Prego? Pesantezza? Involuzione?
Ah già, meglio PHP5! ... No words. Python piuttosto, tutta la vita.


Di contro, se vuoi tentare la sorte puoi metterti sul .NET, il .NET è ben pagato, ne trovi poche, ma se la fortuna ti bacia quelle poche offerte che trovi sono ben pagate

Sinceramente pagano di più in altri ambienti.
.NET è quello MENO pagato in assoluto, almeno qui al Nord.

MEMon
16-01-2011, 13:31
Web developer con Java?
Molti qua saranno javisti, fan di java, fanjava, etc
Java per il web development NON funziona, da Napoli a Londra passando per Roma / Bologna / Milano, se vuoi metterti a fare il Webdeveloper evita .NET e Java, troverai il 5% di offerte di lavoro per entrambe e il restante 95% coperte da PHP(1), R/ROR(2), Python/Django(3)

Concordo su questo, per il web development c'è così tanta scelta che scegliere java forse non è il massimo.


C'è pure da dire che la pesantezza di Java a fronte di tutti i lavaggi del cervello che potrebbero farti è reale pure per quel che riguarda il web, semmai trovassi qualcuno che usa Java per il web ti accorgerai che è una persona involuta

Java non è pesante in ambito desktop come non lo è in ambito web, non più di altre soluzioni equivalenti. (Per applicazioni desktop poi ci sarebbe da parlarne parecchio visto che per certi versi è anche più perfomante di altri linguaggi considerati "veloci").
Ormai a chi ripete queste cose non posso fare altro che abbozzare con un: AGGIORNATI.

pabloski
16-01-2011, 13:37
Concordo su questo, per il web development c'è così tanta scelta che scegliere java forse non è il massimo.


è importante valutare il tipo di progetto che si va a fare...un grosso progetto web se non lo fai in java o c# allora significa che sei pronto ad affrontare un mucchio di problemi

molti diranno che facebook è fatto in php ed è vero, ma facebook ha apportato modifiche sostanziali a php fino a creare un proprio compilatore php


Java non è pesante in ambito desktop come non lo è in ambito web, non più di altre soluzioni equivalenti. (Per applicazioni desktop poi ci sarebbe da parlarne parecchio visto che per certi versi è anche più perfomante di altri linguaggi considerati "veloci").
Ormai a chi ripete queste cose non posso fare altro che abbozzare con un: AGGIORNATI.

java non è ovviamente pesante e basta fare qualche prova per vederlo....molti si riferiscono al fatto che la jvm impiega un bel pò di tempo per avviarsi e purtroppo questo è vero....in ambito web questo è irrilevante, visto che tomcat sta lì e non è che devi riavviarlo per ogni richiesta

se parliamo di linguaggi per il web, hai ragione sul fatto che java è il più performante

onestamente io ho sempre realizzato progetti web di certe dimensioni in java, lasciando php e a volte python per progetti medi/piccoli

dojolab
16-01-2011, 19:08
è importante valutare il tipo di progetto che si va a fare...un grosso progetto web se non lo fai in java o c# allora significa che sei pronto ad affrontare un mucchio di problemi

molti diranno che facebook è fatto in php ed è vero, ma facebook ha apportato modifiche sostanziali a php fino a creare un proprio compilatore php



Vero.


java non è ovviamente pesante e basta fare qualche prova per vederlo....molti si riferiscono al fatto che la jvm impiega un bel pò di tempo per avviarsi e purtroppo questo è vero....in ambito web questo è irrilevante, visto che tomcat sta lì e non è che devi riavviarlo per ogni richiesta


Ni, le JSP vengono ri-compilate e ri-caricate in memoria SE subiscono delle modifiche al sorgente; in quel caso potremmo avere un problema di 'pesantezza' legato alla SINGOLA request.


se parliamo di linguaggi per il web, hai ragione sul fatto che java è il più performante

onestamente io ho sempre realizzato progetti web di certe dimensioni in java, lasciando php e a volte python per progetti medi/piccoli

Io ho usato PHP per progetti molto grossi, lamentandomi della produttività del linguaggio ma MAI delle prestazioni, anzi. Tutto dipende dalla macchina che ci metti sotto e dalle configurazioni che vai ad adottare. Poi essendo una Web App con un rDBMS sotto... anche dal DBMS scelto e dalle procedure implementate (insomma, entrano in gioco parecchie variabili).

Per quanto riguarda Java io lo conosco (di base) e lo uso per sviluppare piccoli S/W gestionali che tramite tecnologia SOAP dialogano con App Web poste su Serve remoti/locali; lo trovo ottimo per questo.

Ci ho pensato a realizzare qualche app web in Java, forse lo farò, forse no.
Per ora uso PHP; magari migrerò a Python o Ruby per il Web, chi lo sa!

pabloski
16-01-2011, 19:28
Ni, le JSP vengono ri-compilate e ri-caricate in memoria SE subiscono delle modifiche al sorgente; in quel caso potremmo avere un problema di 'pesantezza' legato alla SINGOLA request.


vabbè ma le modifiche ai sorgenti non avvengono di continuo


Io ho usato PHP per progetti molto grossi, lamentandomi della produttività del linguaggio ma MAI delle prestazioni, anzi. Tutto dipende dalla macchina che ci metti sotto e dalle configurazioni che vai ad adottare. Poi essendo una Web App con un rDBMS sotto... anche dal DBMS scelto e dalle procedure implementate (insomma, entrano in gioco parecchie variabili).


questo nel caso delle web applications che muovono molti dati e nulla più, ma ovviamente il discorso non è applicabile a tutte quelle applicazioni che invece fanno molti calcoli

personalmente uso spesso php con eaccelerator e dei risultati non mi posso certo lamentare ma java ha ancora un margine di vantaggio quando si tratta di fare molti conti

poi c'è il discorso della manutenibilità del codice e lì php non ti offre moltissimo....con i package java puoi mantenere un grosso progetto bello ordinato, ma devo ammettere che sono uno di quelli che in php fa pochissimo uso di classi e quindi l'incasinamento deriva anche da questo


Ci ho pensato a realizzare qualche app web in Java, forse lo farò, forse no.
Per ora uso PHP; magari migrerò a Python o Ruby per il Web, chi lo sa!

penso che sia un'ottima esperienza creare applicazioni web in java almeno per capire in cosa java ti può aiutare

ruby l'ho provato tempo fa e mi ha scoraggiato il fatto che come performance fosse dietro anche a php....non so se e quanto è migliorato negli ultimi 2 anni, però penso che python sia una scelta migliore soprattutto se usato in congiunzione con psyco o parrot

dojolab
16-01-2011, 19:35
vabbè ma le modifiche ai sorgenti non avvengono di continuo

Questo è strettamente legato al cliente :D.


questo nel caso delle web applications che muovono molti dati e nulla più, ma ovviamente il discorso non è applicabile a tutte quelle applicazioni che invece fanno molti calcoli

Dipende sempre che "dati" e che "calcoli" intendi; se è qualcosa che si può immagazzinare in un DBMS, interrogarlo ed elaborarlo con esso sarebbe l'ideale. Lasci fare tutto al DBMS.


personalmente uso spesso php con eaccelerator e dei risultati non mi posso certo lamentare ma java ha ancora un margine di vantaggio quando si tratta di fare molti conti

Mai usato eaccellerator.
Sto usando da poco LightTPD notando un filo di performance in più rispetto ad Apache sulle VPS, ma niente di così netto e marcato.


poi c'è il discorso della manutenibilità del codice e lì php non ti offre moltissimo....con i package java puoi mantenere un grosso progetto bello ordinato, ma devo ammettere che sono uno di quelli che in php fa pochissimo uso di classi e quindi l'incasinamento deriva anche da questo

No, è un problema di PHP.
Anche usando Classi, usando Framework MVC (CodeIgniter stile ROR in primis)... con progetti grossi ti ritrovi progetti parecchio disordinati.



penso che sia un'ottima esperienza creare applicazioni web in java almeno per capire in cosa java ti può aiutare

Lo farò, devo ancora capire alcune cose (le JSP, le Servlet) se usare GlassFish o Tomcat (avendo in NetBeans GlassFish); capire le differenze, ecc. insomma ho molta docs da leggermi.


ruby l'ho provato tempo fa e mi ha scoraggiato il fatto che come performance fosse dietro anche a php....non so se e quanto è migliorato negli ultimi 2 anni, però penso che python sia una scelta migliore soprattutto se usato in congiunzione con psyco o parrot

Io Ruby l ho provato e mi è sembrata una brutta copia di Python.
ROR non l ho provato e non saprei dire; Python è un ottimo linguaggio, ma partire da 0 per sviluppare Web App e abbandonare PHP mi sembra un pò una follia, lavorativamente parlando.

pabloski
16-01-2011, 19:48
Dipende sempre che "dati" e che "calcoli" intendi; se è qualcosa che si può immagazzinare in un DBMS, interrogarlo ed elaborarlo con esso sarebbe l'ideale. Lasci fare tutto al DBMS.


nel caso della maggioranza delle webapp non ci sono calcoli eccessivi da fare, tipo grosse quantità di calcoli fp

in questo caso java non sarebbe così indispensabile, però rimane il problema dell'organizzazione e della manutenibilità che php proprio non riesce a risolvere


Mai usato eaccellerator.
Sto usando da poco LightTPD notando un filo di performance in più rispetto ad Apache sulle VPS, ma niente di così netto e marcato.


con eaccelerator, apc e similari si ottiene un buon miglioramento che in situazioni di carico elevato può fare un bel pò di differenza



Io Ruby l ho provato e mi è sembrata una brutta copia di Python.
ROR non l ho provato e non saprei dire; Python è un ottimo linguaggio, ma partire da 0 per sviluppare Web App e abbandonare PHP mi sembra un pò una follia, lavorativamente parlando.

ruby è un ottimo linguaggio per applicazioni web però è sulle performance che non mi ha mai convinto e io sono un fanatico della velocità :D

Tommo
16-01-2011, 20:29
Ma infatti se è possibile usare Java completo con questa semplicità, perchè la gente si ostina a usare PHP?
Ormai è una questione di dominio di nicchia mi sa.

Esistono servlet fatte in C++?