[gl-como] OT Java (was: perdita di supporto per macchine a 32 bit)

Pietro "m0nt0" Montorfano monto84@gmail.com
Lun 31 Lug 2017 11:28:45 CEST


On 31/07/2017 09:31, Elena ``of Valhalla'' wrote:
> On 2017-07-31 at 09:08:53 +0200, Pietro "m0nt0" Montorfano wrote:
>> non sono morto ma ero in ferie e il serverino di casa che fa da mail
>> server è rimasto senza corrente :D
> 
> ARGH
> 
>> Concordo su tutto e ammetto la mia ignuranza su tante cose. Su un paio
>> non mi convinci ma è bene se si rimane anche di idee diverse,
>> l'ottimizzazione e la cosa del garbage collector.
>> Ottimizzazione non esiste che java sia al pari di linguaggi compilati e
>> questo lo dimostra il fatto che se vuoi programmare arduino o roba
>> simile lo fai in c/c++.
> 
> o in javascript_, o in python_; ormai anche sui microcontrollori si sta
> passando ad ottimizzare più il consumo di tempo programmatore (costoso)
> più che quello macchina (economico).
> 
> .. _javascript: https://espruino.com
> .. _python: http://micropython.org
> 
> Riguardo a java, beh, quando è uscito Android la programmazione sui
> cellulari veniva ancora chiamata "embedded".
> 
> Ovviamente in tutti questi casi c'è stato bisogno di riscrivere
> l'interprete/la virtual machine, anche se mi risulta soprattutto per
> ridurre (di ordini di grandezza) il consumo di ram più che la velocità
> di esecuzione.
> 
> Tra l'altro, nel caso specifico di Java se googli un po' chi ha fatto
> delle misure si trova che le velocità di esecuzione sono sì più lente
> degli equivalenti programmi in C/C++, ma nella maggior parte dei casi si
> parla di piccole percentuali di differenza, non come altri linguaggi
> (python, ruby...) in cui invece il tradeoff è significativo.

Ok, ma qui si sopperisce al linguaggio con potenza di calcolo. Dai cazz,
io gli atmel li ho programmati in assembly, quando ho usato c per
programmarli era da bottiglia di champagne :D
Non è che non si può fare, si può fare tutto, hanno fatto il freerunner
con la parte telefonica scritta in python porcocane. Poi con qualche
italiano abbiamo fatto un team di sviluppo e abbiamo usato ofono di
intel scritto in c.... beh cambiato tutto.
Anche Android (che a me piace assai) è tutto java e minchia capisci
perchè un top di gamma android ha bisogno di un mostro sotto al naso
rispetto ad un iphone o ad un (mi si spezza il cuore a scriverlo) nokia.
se prendi i primi usciti android contro i primi iphone non c'era
paragone all'interfaccia e alla reattività al tocco. Ora hanno 6Gb di
ram e 4 core e girano benissimo. Vorrei anche vedere che non fosse così :D

>> Per il resto il fatto che il mondo vada verso linguaggi con garbage
>> collection (go/rust) non vuol dire che mi piace come soluzione, fare un
>> free di una variabile non è una cosa disturbante, anzi...
> 
> mah, fare il free di una variabile non sarà disturbante, ma com'è che
> nei programmi scritti in C/C++ continuano ad esserci memory leak?

Quindi usiamo dei linguaggi a gc perchè abbiamo programmatori distratti?

I memory leak in c/c++ si evitano programmando bene e facendosi 2 palle
così con valgrind. :D
Ci sono memory leak? Hai sbagliato (TU programmatore) qualcosa, c'è poco
da fare.

A me è proprio questo che disturba in generale.
Possiamo parlare del sesso degli angeli sui vari linguaggi di
programmazione, ma il problema è sempre il programmatore.
Poi arrivi ad usare e fare cose a "caso" perchè sei capace così o sei
comodo così. Ti parlo di gente che alloca variabili a 4GB in java e la
jvm muore (dentro e fuori), apache che usa troppa memoria e si suicida.
Tutto perchè in tanti non hanno una vaga idea di cosa diamine stiano
chiedendo alla macchina.

Sto generalizzando su tante persone che ho visto e vedo tutt'ora
ovviamente, ma il trend è quello.

Se usi un linguaggio ci sono mille scelte, ma se sei bravo sei bravo in
java, in c o altro. Altrimenti fai scemate in c, java e tutto il resto.
Solo che in c sono molto più evidenti.

Ciao!

Pietro


Maggiori informazioni sulla lista gl-como