Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
Programmazione e linguaggi
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet
Precedente :: Successivo  
Autore Messaggio
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 10467
Residenza: Tokelau

MessaggioInviato: 28 Dic 2012 10:34    Oggetto: Rispondi citando

spacexplorer, vacci piano. Ho semplificato al massimo, rispondendo ad un utente che mi chiedeva se Java era simile al C. Non ho mai inteso dire che Java e C++ siano la stessa cosa, se leggi bene quello che ho scritto vedrai.

E comunque nell'ambito dell'OOP, Java e C++ sono molto più vicini tra loro genealogicamente di quanto possa sembrare, tanto che l'evoluzione di ognuno dei due linguaggi è sempre in qualche modo stata influenzata dall'altro.
Top
Profilo Invia messaggio privato HomePage
spacexplorer
Dio minore
Dio minore


Registrato: 08/10/09 10:22
Messaggi: 610

MessaggioInviato: 28 Dic 2012 13:44    Oggetto: Rispondi citando

Ho scritto "sbottando" non tanto come accusa diretta nei tuoi confronti,
diciamo che, non per ZN, a causa dell'ambiente italico di questi tempi
mi stò irrancidendo significativamente...

Java e C++ hanno una concezione OOP "vicina", ok, il Java è un pelo più
pulito anche se le sue "curiosità" le ha, ma sono pensati con intenti
*completamente* diversi. Non importa che scrivi le classi allo stesso modo:
il paradigma di Java e quindi il motivo per cui puoi scegliere Java è del
tutto diverso dal C++. Se scegli il C++ 99/100 vuoi fare un'applicazione
standalone, computational-intensive, pensata per "far tutto in casa dal
ferro all'automobile"; se scegli il Java 99/100 vuoi fare un'applicazione
"di rete", "grossa", destinata ad essere usata da applicazioni terze
magari una componente di qualche infrastruttura multitier embedded. Il fatto
che Java e C++ abbiano una sintassi piuttosto simile ed una altrettanto
simile visione dell'OOP non ha alcuna rilevanza né DEVE AVER alcuna
rilevanza nella scelta del linguaggio!

Un linguaggio lo scegli per la sua comodità, dalla libreria standard alla
sintassi, per le sue performance ecc pensare di avvicinarsi ad un linguaggio
perché è simile ad uno che già si conosce è una moda moderna che porta a
*scribacchiare mostri* non applicazioni, è alla base delle scelte di troppi
di "insegnare a programmare" in C "perché è la base" (di che? Dell'OS che
usi? Al ragazzino delle superiori o alla matricola vuoi insegnare a scrivere
un OS? Vicino alla macchina? Allora perché non usi l'assembly?) di scrivere
spazzatura in PHP (diffuso a detta di molti per simile al C, trova tu la
somiglianza...) ecc.

Simili idee IMO vanno lart-ate con estrema cura!
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 10467
Residenza: Tokelau

MessaggioInviato: 28 Dic 2012 17:50    Oggetto: Rispondi citando

capisco e pure condivido a grandi linee tutto quello che dici ma ti ripeto: ad una persona che non sa niente di Java e ti chiede 'ma è simile al C?' come puoi rispondere?

Poi volendo chiacchierare si potrebbe andare avanti per anni, ma tra quelli (come il sottoscritto) che pensano che non per forza si debba scrivere OO e che a volte per quanto buono sia il compilatore magari un paio di funzioni scritte in ASM le metto comunque perché -dati alla mano- il mio codice è più veloce... beh, sai, si finisce in una guerra di religione. E non ne ho interesse, quindi non dirmi se non sei d'accordo con me Wink

Ciao
Top
Profilo Invia messaggio privato HomePage
spacexplorer
Dio minore
Dio minore


Registrato: 08/10/09 10:22
Messaggi: 610

MessaggioInviato: 28 Dic 2012 18:07    Oggetto: Rispondi citando

Sono daccordo Wink salvo sulla risposta! La mia sarebbe: "no, è completamente
diverso, è simile come sintassi, ovvero è simile come una Lamborghini
assomiglia ad una Panda: han entrambe il volante, il cambio, le ruote ecc. Se
vuoi vedere qualcosa a tema programmazione prova Python, guarda Programming
in Python 3 di Mark Summerfield, se lo trovi "difficile" leggi Think Python di
Allen Downey, torna al primo e poi leggi The Python Standard Library by Example
di Doug Hellmann. A questo punto puoi giocare con un dcvs, consiglio bazaar ma
anche mercurial e git non son male. Impara un minimo di Vim e sarai pronto per
risolvere qualche problema semplice".

Giusto per evitare la guerra di religione tento un preload, se va in hit son
due post in meno Very Happy "Certo, così ci vogliono anni, si spaventa e scompare!"
se c'è veramente l'interesse questa IMO è Una Strada™®© altrimenti si evita
frustrazioni e problemi per tutti, per diventare programmatori ci vogliono
almeno 10 anni, salvo casi geniali straordinari quindi meglio saper subito
che non tutto si fa schioccando le dita USA-style!

Del resto se l'ambiente è giusto vuoi che non attirino le magie di vim, dai
digraphs al testo "che appare e scompare (dd, yy, G, gg, ecc)" ImageMagick
dal terminale, nmap, byobu, tcpdump con la password dell'ftp di turno (si,
nel 2012, senza 's' davanti o dietro), i giochini con Asterisk, watch dentro
terminator ecc? Wink
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 10467
Residenza: Tokelau

MessaggioInviato: 28 Dic 2012 21:25    Oggetto: Rispondi citando

Giuro non l'avrei detto ma inizi a starmi simpatico Twisted Evil ... sarà stato "tento il preload... etc" che mi sa di lettura dell'architecture reference manual dell'ARMv5... Razz

Comunque ti ringrazio per i consigli, quando vorrò imparare Python li seguirò.

Tornando in topic, ti sembrerà una provocazione ma in un sondaggio anche un programmatore alle prime armi conta un voto, e quindi non prendertela, alla fine se milioni di persone usano un certo linguaggio non vuole dire che sia intrisecamente 'migliore', no?

E alcune automobili sono più o meno simili le une alle altre. A quale linguaggio trovi che Java somigli? Cool
Top
Profilo Invia messaggio privato HomePage
spacexplorer
Dio minore
Dio minore


Registrato: 08/10/09 10:22
Messaggi: 610

MessaggioInviato: 28 Dic 2012 23:02    Oggetto: Rispondi citando

Ti deludo: le mie conoscenze di assembly sono iper-minime, l'avevo iniziato
a guardare taaanto tempo fa all'inizio del corso di Calcolatori, ma roba non
molto più complessa di un Hello World x86 e sparc (un Sun Fire v210 dismesso),
il preload con speranza di cache hit viene da li Smile l'ho ripreso con alcuni
in tempi recenti leggendo alcuni articoli di LinuxPro, letto solo perché
l'abbonamento on-line era iper-economico (sono orfano di H&C e Linux&c mi sa
che stà facendo la stessa fine, sigh)...

I libri del post di prima a dire il vero son più adatti a chi inizia a
programmare, se già lo fai IMO è interessante solo The Python Standard Library
by Example, al massimo Programming Python di Mark Lutz che cmq è "didattico"...

Sul sondaggio: certo, però lasciami togliere il sassolino di rilevare come
"il sondaggista" riveli il suo background Smile il sassolone della sfuriata
è proprio perché la diffusione di certi linguaggi è dovuta IMO a certi
comportamenti, a partire dalle università per carità, ma è un danno per tutti.
Senza voler esagerare guardando certi datacenter: OVH, Aruba &c bé credo che
il 50% dell'energia e del ferro impiegati sia per "overhead" di "siti" scritti
coi piedi in php a se anche sali di livello mostri come WebSphere o anche
applicazioni standalone come Eclipse sono ottimi esempi di progetti
sicuramente complessi, sicuramente scritti da Programmatori... Ma cavolo, son
dei bloat di codice insostenibili!

È vero che puoi scrivere belle cose in linguaggi osceni e orrori in linguaggi
"stupendi" però noto un certo trend: il 100% di ciò che vedo scritto in php è
spazzatura o quasi, un 70% di quel che trovo in Java gli va dietro, solo un
20% di quel che trovo in Python o Ruby è scritto da cani, qualcosa vorrà dire
e non certo che Python o Ruby non sono adatti per compiti "seri" visto che
YouTube gira su Python insieme all'infrastruttura di streaming della BBC ed un
po' di altre cose "leggere", su Ruby Rails è un buon esempio di qualcosa non
proprio "piccolo"... Se si spinge verso un certo modo di ragionare, l'opposto
di quel che trovi in ambito Microsoft per capirci, ci troviamo meglio tutti Smile

Su Java... Come somiglianza a livello sintattico sicuramente il C++ è molto
vicino, come paradigma non saprei, allargandomi molto potrei dire che Perl6
con Parrot ha un'implementazione simile ma il paradigma è comunque diverso:
Java non è stato pensato come linguaggio ma come piattaforma, "framework" o
"unix 2.0" come preferisci, ad ogni modo una piattaforma che comprende il
linguaggio ma anche un sistema di packaging e di runtime che intende rendere
inutili i package system, il concetto di installazione, di programma ecc.

Java vuol dire una piattaforma "sistema operativo" dove scrivere un programma
è solo implementare un algoritmo senza preoccuparsi di sistemi di distribuzione
update, ecc, è la piattaforma che gestisce le dipendenze, usa l'hw che c'ha
sotto, quale che esso sia (32/64 bit, little o big endian ecc) è il paradigma
di UNIX trasportato a livello di singolo software "modernizzato", distribuito
in rete (vedi l'uso dei nomi di dominio rovesciati nei package) ecc.
purtroppo il marketing della SUN non ha mai spinto il concetto, Gosling&c han
deciso di assomigliare al C++ volutamente per "agevolare" la transazione nel
Nuovo Mondo® e ottenuto il risultato di buttar perle ai porci giacché la
risposta è stata: "ok, piglio Java, mi do una letta alla sua sintassi e
'programmo' come già faccio in C++". Il risultato lo conosciamo...

È uno dei miei chiodi fissi che se avessero scelto una sintassi stile Python
avrebbero impiegato molto più tempo a crescere ma sarebbe nato lo UNIX 2.0
che Gosling voleva, avrebbe dato una bella cosa al prezzo di dar un po' d'olio
al criceto e capire come e perché funziona ad un certo modo... Purtroppo non
è successo ed un'altra pietra miliare dell'IT è più o meno finita... Vedi le
OpenGL (Irix, SGI, i più manco san cosa siano anche se OpenGL "le conoscono")
vedi lo ZFS e tanti altri...

Vabbé prima o poi imparerò la sintesi Sad
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 20:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 29 Dic 2012 11:45    Oggetto: Rispondi citando

Ma come fai a dire che il 100% del codice php fa schifo?
Diciamo che se ti fermi a joomla o simili...
Ci sono piattaforme (purtroppo qui in italia stanno venendo fuori di recente) enterprise scritte in php perchè meglio non c'è!
Ovviamente bisogna rinunciare ad alcune cose che hanno altre tecnologie, però si può farne a meno se completi il sistema con java,c++ o altra roba.
Top
Profilo Invia messaggio privato
spacexplorer
Dio minore
Dio minore


Registrato: 08/10/09 10:22
Messaggi: 610

MessaggioInviato: 29 Dic 2012 12:19    Oggetto: Rispondi citando

Linkamene una, sinora non né ho viste... Non parlo tanto di qualità intrinseca
del codice quanto di gestibilità, leggibilità, modificabilità dello stesso, il
php è estremamente inadatto in tal senso. Questo poi fa anche si che chi lo
sceglie in massima parte lo fa perché non ha già competenze di suo ed il
cocktail è servito... È come quelli che ancora usano subversion o scrivono
applicazioni cartografiche professionali in Delphi, non è che non si possa fare
ma è come fare una casa di paglia e fango...

Sul fare a meno di qualcosa mi domando perché dovrei usare un linguaggio
con un interprete che quanto a performance lasciamo perdere, lo stesso
Lerdorf disse che se avesse immaginato il successo di php avrebbe cercato
di farlo meno peggio e per di più devo "completarlo" con altri linguaggi
perché lui non mi basta? Youtube è scritto in Python che butta fuori roba
web (html/js/css ecc) non ha bisogno di essere completato da nulla, idem
l'infrastruttura della BBC, il portale della NASA (e afferenti) perché mi
dovrei far del male col php?
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 20:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 29 Dic 2012 15:22    Oggetto: Rispondi citando

Guarda, io ora sto lavorando su una di quelle.
Non posso linkarla semplicemente perchè non è disponibile come piattaforma per il pubblico ma è stata sviluppata internamente per l'uso interno.
Alcune parte, è vero, non sono scritte da dio però la maggior parte dei componenti sì.

Poi parlando con colleghi che hanno più esperienza di me è venuto fuori che alcune parti di backend bancari li stanno riscrivendo in php perchè più leggero rispetto ad altri mostri come .net o java e in certi casi (macchine meno recenti) può essere importante. Non tirare fuori cobol per favore perchè se si parla di backend web è meglio che quello resti nel cassetto.

Sull'uso di linguaggi misti: sai, non esiste il linguaggio che da solo può far tutto e bene; alcuni parti di un sistema complesso vanno scritte in un linguaggio ed altre no.

Dove sono io l'intera piattaforma (anche se non l'ho ancora vista tutta perchè sono lì da poco) è basta su php,java,c,c++ e c/c++.
Fa un po' te. La parte php si occupa delle cose più "web" ma anche delle transazioni e pensa che il dbms è mysql per tutto. Alla faccia del dbms poco professionale.
Si muovono un sacco di soldi eppure si son scelti php e mysql.

Php può esser compilato, quelli di facebook hanno rilasciato tempo fa un compilatore preparato da loro. Non c'è solo quello però.

Per la mantenibilità/leggibilità: un pattern è uguale per tutti.
Se scrivo un Chain-of-responsibility pattern bene lo posso fare in c++,in java, in ruby o in qualunque altro linguaggio; se lo scrivo male idem.
Mantenerlo in php è come mantenerlo in java.

Poi alcuni linguaggi permettono certi virtuosismi mentre altri no; a volte questi servono a coprire dei limiti del linguaggio mentre altri restano nell'ambito dello stile di programmazione.

Per esempio in php l'ereditarietà è singola ma tramite alcuni virtuosismi puoi implementare il mixin (simulando quindi la multipla).
Non supporta l'overload però tramite il magic method "__call" la puoi implementare.
Perchè non supporta questa cosa? Perchè il linguaggio non è tipizzato quindi anche se l'overload è comodo, non è necessario.

Gli stessi discorsi li possiamo fare per tutti gli altri linguaggi.
Java come php non supporta l'ereditarietà multipla ma ultimamente vedo che la gente si sbatte per simularla anche lì perchè cazzo, a volte il mixin serve!

Poi php non è il top ma non lo è nessun linguaggio in senso assoluto.

Ci sono mostri, hai ragione ma io li ho visti indipendentemente dalla tecnologia.
Robe come magento sono pesantissime (visto anche l'eav a livello totale) però openbravo è un buon prodotto.
Joomla fa schifo (anche se con l'ultima major un po' è migliorato) però altri concorrenti (drupal per esempio) no.
Ci sono cms infami scritti in java, per peso e funzionalità (e anche proprio come codice) ma altri no.
Insomma, c'è di tutto in tutti i casi!
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 20:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 29 Dic 2012 15:25    Oggetto: Rispondi citando

Aggiungo che è vero che spesso capita di trovare gente che sceglie un linguaggio perchè simile a qualcosa che già conosce però non è sempre così.
Tornando al mio caso avrebbero potuto lasciar stare php ma evidentemente hanno ritenuto che per determinate parti fosse migliore lui di altri...
Top
Profilo Invia messaggio privato
spacexplorer
Dio minore
Dio minore


Registrato: 08/10/09 10:22
Messaggi: 610

MessaggioInviato: 01 Gen 2013 21:52    Oggetto: Rispondi citando

Hola e buon anno Smile
Rientrato rispondo velocemente: hai scelto un pessimo esempio di codice
"enterprise" a meno che il termine non si riferisca all'omonima astronave
sempre presa da emergenze critiche Very Happy l'informatica gestionale è la peggiore
in tutti i sensi, è quella dove il PM ed in genere il management privo di
competenze tecniche si crede Dio e comanda a bacchetta, dove c'è più assurda
burocrazia che design. Il Cobol che citi è un buon esempio: un po' di tempo
fa un'enorme banca italica cercava programmatori Cobol per trovare un modo di
tirar fuori in maniera umana archivi di transazioni degli ultimi 10 anni e
passarli ad un "software" meno ingestibile... Che io sappia la cosa finì con
l'emulare una stampante seriale (si, non parallela) con dall'altro capo del
filo un programmino che caricava "le stampe" (delle transazioni) dal vecchio
mostro al nuovo.

La sola scelta di PHP+MySQL per uso d'archivio finanziario mi fa bollare il
progetto come spazzatura! Il codice potrà anche essere stupendo, preso come
singolo listato, ma la scelta tecnologica grida al classico consulente in
giacca e cravatta, sempre profumato e pronto a volare altrove ai primi
problemi.

Scusa la franchezza, magari è un progetto che t'ha preso, dove sei entrato da
poco ecc ma ti posso assicurare che le rogne future saranno significative, si
solo per la scelta di php+MySQL!

Su Openbravo come OpenERP, al di la del loro codice che non ho mai esplorato
oltre lo sguardo veloce ai tarball di turno, IMO sono mastodonti di scarsa
utilità: non sono male per quel che ho visto sinora ma non sono quel che io
classifico "buoni prodotti". Sarà che bollo l'intera mania USA del tutto
matematicizzato (con modelli assai discutibili per di più) con lo stile dei
comparti stagni peggio di ITIL ecc come utile solo a chi non sa lavorare e
si nasconde dietro uno strumento ma francamente se devo pianificare qualcosa
sono io che decido, l'ERP è uno strumento, non è lui che dice come vanno le
cose!
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 10467
Residenza: Tokelau

MessaggioInviato: 02 Gen 2013 13:59    Oggetto: Rispondi citando

Su tutto questo discorso vorrei solo aggiungere che spesso la scelta del linguaggio di programmazione, come dell'ambiente e a volte del sistema operativo e/o del database, è fatta da persone non sufficientemente competenti o che non hanno richiesto il supporto di persone competenti e/o che non hanno neanche potuto scegliere davvero perché "dall'alto" hanno imposto che il sistema/DB/ambiente/etc dovesse essere 'quello per forza' e non si discute.
In due parole... tra come si dovrebbe fare e come poi si fa davvero spesso purtroppo c'è una grande differenza Confused

Per quanto mi riguarda PHP è quello che uso quando devo buttare una paginetta dinamica su uno dei vari siti di hosting Apache. Non so se davvero avrei alternative, comunque... Razz
Top
Profilo Invia messaggio privato HomePage
zero
Dio maturo
Dio maturo


Registrato: 22/03/08 17:34
Messaggi: 1261

MessaggioInviato: 23 Gen 2013 19:55    Oggetto: Rispondi citando

ZapoTeX ha scritto:
Java (che sembra stravincere il sondaggio) me ne parlano tutti bene, ma non ho mai imparato. Se e' simile al C magari provo.

Ancora devo vedere una applicazione java che sia ben fatta. E di annetti ne ho.
Per le applicazioni web, secondo me, presto sara' bandito. Troppe falle. Consigliano tutti di disabilitare il plugin.
Per le altre applicazioni ha senso usarlo (forse) solo se ti serve distribuirla per piu' OS. Altrimenti...

Nel caso non si fosse capito... non sopporto java!

(ma chi lo ama e' liberissimo di usarlo)
Top
Profilo Invia messaggio privato
dany88
Dio maturo
Dio maturo


Registrato: 12/02/09 11:14
Messaggi: 1300

MessaggioInviato: 24 Gen 2013 09:27    Oggetto: Rispondi citando

visto il successo su tiobe, aggiungerei objective-c, il mio preferito Very Happy
Top
Profilo Invia messaggio privato
andreaziffer
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 30/06/05 13:12
Messaggi: 131
Residenza: Firenze, Italia

MessaggioInviato: 24 Gen 2013 10:18    Oggetto: Rispondi citando

Io ricordo fortran, cobol, pl1....
Top
Profilo Invia messaggio privato Yahoo
{utente anonimo}
Ospite





MessaggioInviato: 24 Gen 2013 12:48    Oggetto: Rispondi citando

Quanti scienziati della domenica...
Top
Fenicio
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 25/02/10 08:45
Messaggi: 84

MessaggioInviato: 25 Gen 2013 08:37    Oggetto: Rispondi citando

zero ha scritto:
ZapoTeX ha scritto:
Java (che sembra stravincere il sondaggio) me ne parlano tutti bene, ma non ho mai imparato. Se e' simile al C magari provo.

Ancora devo vedere una applicazione java che sia ben fatta. E di annetti ne ho.
Per le applicazioni web, secondo me, presto sara' bandito. Troppe falle. Consigliano tutti di disabilitare il plugin.
Per le altre applicazioni ha senso usarlo (forse) solo se ti serve distribuirla per piu' OS. Altrimenti...

Nel caso non si fosse capito... non sopporto java!

(ma chi lo ama e' liberissimo di usarlo)


siamo in 2
Top
Profilo Invia messaggio privato
{utente anonimo}
Ospite





MessaggioInviato: 25 Gen 2013 10:31    Oggetto: Rispondi citando

Perché python non è in lista? :)
Top
Stx
Dio minore
Dio minore


Registrato: 07/07/08 13:38
Messaggi: 730
Residenza: In coda sulla Tangenziale Est

MessaggioInviato: 25 Gen 2013 14:51    Oggetto: Rispondi citando

Old Perche' il LISP non e' in lista?? Old
Top
Profilo Invia messaggio privato
dany88
Dio maturo
Dio maturo


Registrato: 12/02/09 11:14
Messaggi: 1300

MessaggioInviato: 28 Gen 2013 20:15    Oggetto: Rispondi

spacexplorer ha scritto:
Hola e buon anno Smile
La sola scelta di PHP+MySQL per uso d'archivio finanziario mi fa bollare il
progetto come spazzatura!


bhè, sicuramente se si usa php "puro e semplice", un qualsiasi progetto che diventa grande e aumenta di complessità, diventa invevitabilmente boilerplate, ma usando un framework come Zend, credo proprio si possa mantenere un buon livello di leggibilità\struttura, che permette a progetti anche abbastanza complessi di essere manutenibili, ovviamente si fa un compromesso con le prestazioni, ma è un altro discorso.
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet Tutti i fusi orari sono GMT + 1 ora
Vai a 1, 2  Successivo
Pagina 1 di 2

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi