Newsgroup: it.lavoro.informatica
Titolo: java typedef



Ho un programma (non reale,e' un esempio) che usa un vector<T>







c++ ----

	using v_t=std::vector<int>;

	using t_t=v_t::value_type; //t_t e' un int

	t_t f(v_t&) { ...}

---



Quello che si vuole e' scrivere l'equivalente in java tenendo conto che 

se un giorno volessi cambiare il parametro di v_t in c++ e' facile,basta 

mettere la nuova definizione (ad esempio using v_t=std::vector<long>)

ed f cosi come e' scritta andrebbe ancora bene.



--- java

	class v_t extends Vector<int> { };



//java non ha i typedef - occorre usare l'ereditarieta

// non solo, occorrerebbe anche ridefinire i costruttori se Vector non 

avesse un costruttore di default



	int f(v_t v) {  ...  }



Cosi funziona ma se un giorno volessi cambiare il parametro di Vector mi 

tocca modificare f

Se in un programma semplice e' facile farlo in un programma complesso 

composto da molte classi cercare le sostituzioni potrebbe rilevarsi un 

incubo.

Ed allora ecco un'altra soluzione



	class t_t extends Integer { };

	class v_t extends Vector<t_t> { .... };

	t_t f(v_t) {  .... }



Peccato che non funzioni in quanto Integer e' final

OK,3 tentativo:



	class t_t {

		//tutti i metodi pubblici di Integer

		private Integer m_v;

	};



Certo che non e' che sia il massimo

Un modo piu elegante non esiste ?








 Un modo piu elegante non esiste ?



si esiste.






 



Ok,spiega




 Ok,spiega



l'educazione? manco per favore. 


Il 17/03/19 11:51, rootkit ha scritto:


Come non detto

Almeno fino a prova contraria non esiste un modo piu elegante




 Almeno fino a prova contraria non esiste un modo piu elegante



No, no, ti sbagli. Non esiste PER TE un modo piu` elegante. Ma dove cazzo credi di stare? In un tribunale in cui si dimostri, definitivamente, se qualcosa si possa o non si possa fare in Java? :D LOL... coglione.



public interface SomeService<T> {

    void doSomethingWithItems(List<T> items);

    T getSomeThing();

}



public class ServiceForStrings implements SomeService<Integer> {

    @Override

    public void doSomethingWithItems(List<Integer> items) {

        ...

    }



    @Override

    public Integer getSomeThing() {

        ...

    }

}




 Peccato che non funzioni in quanto Integer e' final



grazie mi hai appena spiagato perche' final e' molto piu' importante di quanto pensassi: perche' evita che coglioni come facciamo fuggire tutto il resto del team.


 public class ServiceForStrings



Ovviamente era "forIntegers"...


 grazie mi hai appena spiagato perche' final e' molto piu' importante di quanto pensassi: perche' evita che coglioni come facciamo fuggire tutto il resto del team.



...perche`, l'estensione di Vector? :D




 grazie mi hai appena spiagato perche' final e' molto piu' importante di quanto pensassi: perche' evita che coglioni come facciamo fuggire tutto il resto del team.



P.S.: il motivo per cui puo` spudoratamente creare codice di merda come quello e` proprio perche` non lavora in team. Se lo facesse, prenderebbe sonore bastonate sulle orecchie nelle code review.


Azz, in effetti proporrò a Brian Goetz di rompere la retrocompatibilità e dichiarare final anche Vector. Tanto chi vuoi sia tanto scemo da estenderla?


è un esempio di quello che fai e dei problemi che risolvi facendo guadagnare milioni ai tuoi clienti?


 elegante



ahahah, mi fai compassione ma non abbastanza. studia, asino.


 



E questo sarebbe un modo elegante ?

Forse le e'  ma e' anche alquanto verboso


Il 17/03/19 15:39, rootkit ha scritto:


E perche mai ?

A me di java non frega piu di tanto

Chiedo

Se non vuoi rispondere non farlo,mica te l'ha consigliato il dottore.




 



No, io lavoro prevalentemente in  c++ non in java




 farlo,mica te l'ha consigliato il dottore.



manfatti coso mica ti sto rispondendo.

se non te ne frega più di tanto allora non chiedere, mica te l'ha 

consigliato il dottore.


 Forse le e'  ma e' anche alquanto verboso



Verboso un par de palle. E` un'interfaccia implementata da una classe. Che cazzo ci trovi di verboso lo sai solo tu.


 A me di java non frega piu di tanto



Oh, si` che te ne frega, invece. Altrimenti non avresti infognato questo ng di merdate come Java vs C++ per settimane, arrampicandoti sugli specchi per difendere punti indifendibili.

Renditi conto che di Java parli solo tu, qui dentro, eh? :)

La verita` e` che hai trovato l'ennesima cagatella del C++ che ti causa erezione, e stai mascherando da genuina curiosita` un "e adesso, grandoni, fatemi vedere come la fate questa bellezza in Java!" . Ti conosciamo mascherina. Peccato che ti stai sparando ancora una volta nelle palle.


 No, io lavoro prevalentemente in  c++ non in java



Lascia perdere Java, allora, che prendi bastonate sulle orecchie. 




     class v_t extends Vector<int> { };



Magari Integer, visto che 'int' non e' una classe.

Beh, certo che pensare di utilizzare i cazzi del C++ in Java, 

esattamente come viceversa, non si va molto lontano.

Ad esempio, ti sei accorto che Integer e' final, allora, se proprio ti 

dovesse servire, usa Number, da cui discendono tutte le classi numeriche 

e ovviamente non e' final. Per cui:

class v_t<T extends Number) extends Vector<T>

ancora piu' generico:

class v_t<T extends Object) extends Vector<T>

ancora piu' generico:

class v_t<T extends Object) implements Collection<T>


 class v_t<T extends Object) implements Collection<T>



Sei serio? :D





A parte il refuso, corrige:

  class v_t<T extends Object> implements Collection<T>

Certo che son serio. L'intento e' di fargli fare un altro benchmark! :-)


> No, io lavoro prevalentemente in  c++ non in java



quindi era una domanda per imparare Java.

sei OT, è it.lavoro.informatica qui.


 Certo che son serio. L'intento e' di fargli fare un altro benchmark! :-)



Ma allora sei masochista! :)




 



Una parte di java,semmai

Non e' che non ne so proprio niente




 class v_t<T extends Object) implements Collection<T>





Object non mi piace,e' troppo generico

Number potrebbe essere una idea


Il 18/03/19 03:40, Dr.UgoGagliardelli ha scritto:


Non e' per un benchmark

Ero capito per caso ad una post qui:

https://stackoverflow.com/questions/1195206/is-there-a-java-equivalent-or-methodology-for-the-typedef-keyword-in-c






Quindi volevo togliermi questa curiosita




 Non e' che non ne so proprio niente 



ma non abbastanza per criticare e questo è evidente.


 



Dipende su cosa

Su java ho fatto solo benchmarks in quanto qualcuno mi ha rotto le 

scatole che sia performante come (o piu) di c++.

Finora mi spiace ma non e' cosi

Naturalmente arriveranno i soliti a scrivere che non e' vero,che i 

benchmarks non sono corretti (ma non hanno mai detto dove),ecc..

Fino a prova contraria e' cosi


 scatole che sia performante come (o piu) di c++.



E difatti, in molti contesti, e` vero, come ti e` stato dimostrato postandoti i risultati di un benchmark sul multithreading che hai bellamente ignorato. 



Tranquillo, nessuno si aspetta onesta` intellettuale da te. 


 Ero capito per caso ad una post qui:



Lasciamo perdere l'italiano che, si sa, non e` il tuo forte. 



La verita` e` che "typedef", in C++, e` un'eredita` del C, ma (come molta roba ereditata per necessita` dal C, vedi i puntatori) sporca il linguaggio. 



Hanno assolutamente senso in C, dove e` l'unico modo di definire un tipo, ma non in C++, specialmente nel caso citato da te. Bisognerebbe invece usare le classi, dal momento che in C++ esistono, esattamente come si farebbe in Java.



C e C++ ti consentono di scrivere: 



typedef int customer_id_t;

typedef int order_number_t;

....

    customer_id_t cid = 123;

    order_number_t ono = cid;



Cosa fondamentalmente sbagliata. Un "customer id" ed un "order number" sono due concetti di dominio completamente diversi, non assegnabili.



Se invece hai una classe che rappresenta un customer id e una classe che rappresenta un order number (anche se semplici wrapper attorno a tipi primitivi), avrai una netta separazione tra i due.



Per esempio, se nel mio sistema gli id dei clienti sono interi, preferisco definire una mappa come: 



Map<CustomerId, Customer> customerMap;



invece che:  



Map<Integer, Customer> customerIdToCustomerMap;



anche se quel CustomerId e` solo un wrapper attorno ad un intero (se si usano annotazioni Lombok come @Data, per esempio, scrivere un wrapper del genere e` banale).



Ma no! Solo per far divertire te! :-)


 Number potrebbe essere una idea

E' l'idea introdotta coi generics, java 1.2 o 1.3 chi si ricorda, 

comunque una ventina di anni fa.


Il 19/03/19 02:14, 4ndre4 ha scritto:


Non e' che i typedef  (o gli using in c++ moderno) siano sbagliati

Dipende dal contesto in cui li vuoi usare

Possono essere utili o no,dipende.

Nel caso descritto da te e' corretto quello che hai proposto.

PS:

Anni fa proprio su questo avevo proposto al comitato  i new using per 

avere tipi differenti

Un bel using len_t=new int;

L'idea viene da Ada.

In generale applicabile e qualunque oggetto ed evita di farsi una classe 

wrapper

Oggi e' possibile fare questo giochetto solo per i tipi integral di base 

(si usa l'enum class)






Il 19/03/19 06:28, Dr.UgoGagliardelli ha scritto:


Va bene, ma avevo dimenticato una cosa

L'esempio era fatto su Integer ma in generale per qualunque classe final





E' corretto perche' un linguaggio OO *deve*. Poi che in C++ tra classe e 

'typedef struct' non ci sia una gran differenza e che il cast funzioni 

praticamente su qualsiasi cosa, e' un altro paio di maniche.

In Java non e' mai possibile senza una gerarchia che lo permetta, ed e' 

un gran bel vantaggio. Tra l'altro il linguaggio Java ti mette a 

disposizione gli operatori che ti permettono di non cadere nell'equivoco.




 Possono essere utili o no,dipende.



Come al solito non capisci un cazzo di quel che gli altri scrivono. 


 class Coglioni extends v_t<Coglione> {...}



Coglioni coglioni = new Coglioni();

coglioni.add(enoquick);







Ma anche no. In Java qualsiasi classe final di sicuro estende o 

implementa un supertipo non final: Integer estende Number, String 

implementa CharSequence tutte le classi estendono obligatoriamente 

Object che quindi puo' essere utilizzato come wildcard di qualsiasi 

altra cosa, nel senso che un cast a Object funziona sempre senza per 

questo perdere l'origine. Ad esempio:



Object o = "";

o.getClass() => java.lang.String

(o instanceof String) => true

String.class.isInstance(o) => true

o.getClass().isAssignableFrom(String.class) => true

String s = o.getClass().getSuperclass().equals(String.class)

	?(String)o:null;

String s = (String)o;

String s = String.class.cast(o);



Gran parte di sta roba in C++ me la sogno.



A rigor di logica sarebbe:

coglioni.addAll(enoquick);

perche' e' di piu'! :-D


 Gran parte di sta roba in C++ me la sogno.



Continua a sognare allora in quanto e' proprio solo un  tuo sogno.

Non si fa cosi ma ci sono altri modi per sapere proprieta  di una classe

Alcuni a runtime (dynamic cast o con RTTI),altri a  compile time 

(
https://en.cppreference.com/w/cpp/header/type_traits
)

Mentre java e' solo a runtime






Il 19/03/19 09:05, 4ndre4 ha scritto:


vedo che sei ritornato a fare lo stronzo

Non ne puoi fare a meno




 



Come ho gia scritto c++ ne ha ben piu di uno come cast, sta al 

programmatore saperli usarli nel contesto in cui si trova.


 vedo che sei ritornato a fare lo stronzo



Vedo che sei rimasto lo stesso coglione.


 IL fatto che con strutture di basso livello in java non ci si puo andare



Che cazzo vuol dire? :D


Il 19/03/19 12:42, 4ndre4 ha scritto:



 



Interfacciati con qualunque dispositivo hw direttamente oppure con un 

api posix (sempre direttamente)

Quindi niente JNI

Poi fammi sapere




Il 19/03/19 09:01, 4ndre4 ha scritto:


Ma certo, continua cosi

Quando non si sa piu come controbattere ecco che si ritorna a fare il 

solito stronzo.

Poi cosa ci sia di male ad avere un modo per un sinonimo di un tipo lo 

sai solo tu.


 

Neanche da te se e' per quello.






 Neanche da te se e' per quello.



Da me hai SOLO onesta` intellettuale. Non ci provare.


 Interfacciati con qualunque dispositivo hw direttamente



Java non e` nato per questo, imbecille. Lo vedi che avevo ragione io? Lo vedi che torni sulla stessa ossessione anti-Java ogni volta che ne hai l'occasione? Hai iniziato il thread mascherandolo da genuina curiosita`, ma in realta` puntavi all'ennesima invettiva contro Java. Sei un coglione :)


 sai solo tu.



Ti e` stato gia` spiegato in un messaggio piu` su. Vattelo a studiare.






 



Alla grande




 



Aspetta che ora vado in bagno che mi sta venendo una erezione (battuta 

ovviamente)



A te fara questo effetto ma a me le erezioni me le fanno venire il 

gentil sesso non certo un linguaggio di programmazione.



Quindi la tua bella illazione (prove non ne hai quindi e' illazione) 

tientela per te

Le cause per diffamazione che dovrei metaforicamente fare contro di te 

stanno tendendo ad infinito


 



Altra illazione


 



Ma no,rispiega bene di nuovo che non e' proprio chiaro


Il 19/03/19 17:03, 4ndre4 ha scritto:


Avevo sbagliato:



  pow(stronzo,2)




 cosa,glielo devi dire



Questo vorrebbe solo significare che il C++ e' un linguaggio da duri? 

con buona pace dell OO programming? e buona pace della qualita' del 

software?




 Mentre java e' solo a runtime



Mi risulta che non sia vero. In che senso solo a runtime?

A meno di grossolani sfondoni, possibili in qualsiasi linguaggio, in 

genere in Java se passa la compilazione passa alche il runtime. 

Soprattutto se non vengono ignorati i warning del compilatore.




 Ma no,rispiega bene di nuovo che non e' proprio chiaro



Lo so che non ti e` chiaro, perche` non hai MAI lavorato su un sistema enterprise in vita tua.




 Altra illazione



Illazione? Sul primo punto e` evidente da questo thread. Sul secondo, vuoi che facciamo un sondaggio qui dentro per capire quanti ti ritengono un coglione? Non ti conviene.


 Tra l'altro OMP non e' neanche ufficialmente supportato da java

a

Spiega il concetto di "supportato da Java". Dai, genio. Va` come si spara nelle palle un'altra volta. Dlin! Dlin!




On Wednesday, 20 March 2019 02:00:16 UTC, enoquick  wrote:



[CUT sulla montagna di cazzate]



Renditi conto di una cosa: sei un uomo di mezz'eta` che si veste da Superman, sale su un balcone di un quarto piano e annuncia a tutti "Guardate! Ora volo!"

I passanti, sgomenti, ti urlano "Ma che fai? Guarda che ti schianti?"

E tu, che vai avanti per la tua strada (cit.), rispondi "Ma che dite?? Guardate come volo!"

Ti lanci, ti libri per mezzo millisecondo nell'aria, e poi precipiti e ti schianti sulla veranda del primo piano.

La gente ride e ti dice che sei un coglione. 

Ma tu niente, te ne freghi e vai avanti per la tua strada (cit.), risali al quarto piano e vieni fuori sul balcone, questa volta vestito da Batman. "Guardate! Volo!"

E i passanti, di nuovo: "a cojone! Guarda che ti schianti!"

E tu: "Perche` mi diffamate? Vedrete come volo!"

Ti lanci, ti libri per mezzo millisecondo nell'aria (peraltro non sapendo che Batman non vola) e poi precipiti e ti schianti sulla veranda del primo piano. 

La gente ride e ti dice che sei un coglione. 

Ma tu niente, te ne freghi e vai avanti per la tua strada (cit.), risali al quarto piano e vieni fuori sul balcone, questa volta vestito da Spiderman. "Guardate! Volo!"

E i passanti, di nuovo: "a cojone! Guarda che ti schianti n'antra vorta!"

E tu: "Ancora che mi diffamate? Solo insulti ricevo da voi!"



Ecco... continua tu.


Il 20/03/19 02:20, 4ndre4 ha scritto:



 



L'ho gia spiegato genio

Hai pure tagliato


 





Altra illazione

Il numero ... (tanto sai cosa e')


 



Mi risulta,ma posso sbagliare,che quello che hai scritto non sia risolto 

a compile time.




 



Illazione



Ben tre in un post

Vai avanti cosi che superi te stesso




 Cosi vediamo un po quanto non e' sicuro 



è una battuta? basta dire "undefined behavior" che _è insito nella natura stessa del linguaggio_. 



robe da matti - nel 2019 poi.



https://wiki.sei.cmu.edu/confluence/plugins/servlet/mobile?contentId=88046465#content/view/88046682




https://www.sei.cmu.edu/news-events/news/article.cfm?assetid=495412



L'ho gia spiegato genio 



No, tu non spieghi niente. Tu spari solo cagate senza alcun supporto. 

Che cosa significa "supportato da Java"? Rispondi, genio.


 typedef è dannoso



mai sentito parlare di typedef-based type-checking? lo implementiamo negli automatic tools da una vita... Mah.


 decantata non sicurezza di c++



Non me ne frega un cazzo di farti esempietti, dovresti averlo capito. Vuoi un esempio? Fattelo dare da Stroustrup. E` lui che ha parlato di gambe che partono. 



Poi, illazioni? Sono certezze. Certezze che non riuscirai mai a smantellare, dal momento che ti guardi bene dal rivelare alcunche` su di te: nome e cognome, che lavoro fai, che tipo di software realizzi. Tipico di chi ha molto da perdere ;)


 Sono capaci tutti cosi



Sai che questo e` il perfetto riassunto del tuo modus operandi qui dentro, vero?


 



Liberissimo di ridere sulle tue disgrazie. D'altra parte, se ridi tu

perchè non dovremmo farlo noi?

Siccome ti comporti esattamente come ti hanno più volte descritto, è 

probabile che tu non abbia contezza dei tuoi atteggiamenti.

Cambia poco, ma quella che ti sei guadagnato non è una reputazione della

quale vantarsi.

Adesso continua pure a ridere.




 quale vantarsi.



Rendiamoci conto che lo spumeggiante ha avuto l'ardire di paragonarsi a Einstein.


Il 21/03/19 02:16, 4ndre4 ha scritto:


Tralascio di rispondere  a tutte le altre cazzate che hai scritto,il 

solito attacco alla persona invece che hai fatti.

https://www.openmp.org/resources/openmp-compilers-tools/






Ci leggi java ?




 



"undefined behavior"  qualunque compilatore decente gli intercetta

Basta abilitare i warnings che ovviamente qualunque programmatore c++ fa



Il 21/03/19 02:48, 4ndre4 ha scritto:


Ma davvero ?

Ma tu sai interpretare il senso delle frasi ?




Il 21/03/19 02:40, Madame Damentami ha scritto:


Non preoccuparti,non ho bisogno di persone del tuo stampo per continuare 

a ridere.




Il 21/03/19 02:28, 4ndre4 ha scritto:


dopo di te


 



Altro attacco alla persona




 



No, e' un linguaggio che permette di sporcasi le mani (aka accedere ed 

elaborare strutture a basso livello) quando si vuole.


 Ci leggi java ?



Le cazzate, come sempre, le stai scrivendo tu. Rispondi alla domanda: 

Che cosa significa "supportato da Java"?

Questi giochetti da quattro soldi falli con chi puoi raggirare, non con esperti della materia. OpenMP e` una libreria per C, C++, e Fortran. Non e` Java a non supportare OpenMP; e` OpenMP a non essere progettata per essere interfacciata direttamente da Java. Sono due concetti diversi che si mischiano nella tua mente da minus habens.




 Basta abilitare i warnings che ovviamente qualunque programmatore c++ fa



Certo, senno` gli partono le gambe (Stroustrup docet)


 Altro attacco alla persona



Nessun attacco. Si tratta di credibilita`. Dai qualche credenziale: come ti chiami? Dove lavori? Che software sviluppi? Basta fare il leoncino da tastiera.




 



Preoccuparmi? Io? E di cosa dovrei preoccuparmi?

Di un fanatico mentalmente instabile come te? No, proprio non hai

capito. Ma anche questa non è una novità.




 solito attacco alla persona invece che hai fatti.



Eh, allora sei recidivo! Vediamo se trovi l'errore.





-- 

The three most dangerous things in the world are a programmer with a 

soldering iron, a hardware type with a program patch and a user with an 

idea.


 Ma tu sai interpretare il senso delle frasi ?



Io, eh? :)




 elaborare strutture a basso livello) quando si vuole.



E tagliarsi via gambe.


Il 21/03/19 09:14, 4ndre4 ha scritto:


E' la stessa cosa




 



Ma non mi ci metto neanche a a discutere le sue cazzate


 



Mica detto

Se non abilita i warnings non significa per forza che scrivera codice 

che andra in crash o produrra risultati errati dovuti a qualche 

"undefined behavior"


Il 21/03/19 09:18, 4ndre4 ha scritto:


Ma devo pure rispondere ad un  pirla simile ?




Il 21/03/19 09:19, 4ndre4 ha scritto:


Si tu




Il 21/03/19 09:18, Madame Damentami ha scritto:


Ma vai a rompere i marroni a qualcun altro




 





Se si va a basso livello occorre accettarne i rischi

Che fai, non ci vai mai ?





Non hai capito un cazzo, come al solito. Ah, questo non è

un attacco alla persona (?!) come ti piacerebbe far credere

per piagnucolare. Sono fatti.










Il 21/03/19 09:52, Madame Damentami ha scritto:


Ma va a rompere i marroni a qualcun altro




 E' la stessa cosa



Nella tua testa malata, forse. 




 "undefined behavior"



E difatti non e` questo che ho detto, Mr Logical Fallacies.




Il 21/03/19 10:11, 4ndre4 ha scritto:


Volevi una risposta e l'ho data

Pensa quello che vuoi


 



Spiega allora

Cosa significava ?


 Volevi una risposta e l'ho data



Volevo una risposta? :D LOL :) Imbecille, da te non ci si aspetta risposte. 


 Ei pirlotto



Hey, coglione, leggi qua: 



"In computer programming, undefined behavior (UB) is the result of executing computer code whose behavior is not prescribed by the language specification"



Se non e` "prescribed" nella "language specification", ti ci voglio vedere a scrivere un compilatore in grado di identificare tutti gli undefined behaviour., 



Io non ti spiego un cazzo. Questo ng non e` il tuo corso di recupero scolastico. Trova libri, trova link, siediti, leggi, studia e impara. Nessuno e` tenuto a spiegarti niente. Come ti e` stato gia` detto, non ti si risponde perche` si vuol intavolare una discussione tecnica con te; ti si risponde per smentire le puttanate che scrivi in ogni messaggio.


 Che fai, non ci vai mai ?



https://golang.org/




Vai, vai a studiare, COGLIONE.


Il 21/03/19 13:03, 4ndre4 ha scritto:


 > Spiega il concetto di "supportato da Java"





Questa l'hai scritta tu

Ti ho risposto e basta




Il 21/03/19 13:07, 4ndre4 ha scritto:


Ei pirlotto

A parte le operazioni aritmetiche,fammi vedere qualcosa di codice

Un esperto di C++ come te (parole tue) non dovrebbe avere nessun 

problema invece che scrivere le tue belle scemenze copiate da chissa 

dove e chissa per quale linguaggio




Il 21/03/19 13:09, 4ndre4 ha scritto:


Con Go ci fai un bel driver di un OS ?

O uno strato JNI ?



Oh come si sta infilando nell'ennesimo merdone.

Fare questo lavoro per 6 mesi e perdersi Objective C e Go.



  ngw


fammi vedere qualcosa di codice



 Con Go ci fai un bel driver di un OS ?



Ci fai molto di piu`, ci fai tool come Docker e Kubernetes - alcuni degli strumenti piu` usati oggi, e che tu vedi solo col binocolo perche` col cazzo che la tua competenza verra` mai richiesta persino nel piu` scrauso posto di lavoro dove vengono usati. Oggi, nella stragrande maggioranza dei contesti in cui C++ veniva storicamente usato, il C++ non serve piu`. Sorry!


 Ti ho risposto e basta



E hai scritto una stronzata, come al solito. "Supportato da Java" significa una cosa; "supporta Java" significa un'altra cosa. Il tuo problema fondamentale e` che hai problemi con l'itaGLiano.


 ovviamente qualunque programmatore c++ fa 



non hai la minima idea di cosa sto parlando. 

non sei un esperto di C++ (o di C, o di low level/system programming, o che altro) come vorresti far credere.

e poca roba è più inutilmente e noiosamente triste dei finti guru online.


 responsabilita sua 



è da ritardati perseverare nello sbagliatissimo "trust the programmer". 


Il 21/03/19 18:12, 4ndre4 ha scritto:


Hai capito il senso,non  fare lo gnorri




Il 21/03/19 18:10, 4ndre4 ha scritto:


Pirlottino bello, ma mi vuoi venire ad insegnare  a me gli UB

Vengo dal c, so benissimo cosa sono.

Il fatto e' come al solito hai postato una emerita puttanata presa da 

chissa dove e generica

Invece io voglio codice c++ alle condizioni che ti ho postato

Non lo vuoi fare ?

Suppongo due cose

Scrivi a vanvera e c++ non lo conosci proprio




Il 21/03/19 18:22, cpascoshi ha scritto:


Si, nei hai idea tu

Come se non sapessi cosa sono gli UB




Il 21/03/19 18:59, cpascoshi ha scritto:


c++ e' ragionevolmente sicuro,basta conoscerlo

cosa che dubito di te






Il 21/03/19 18:10, 4ndre4 ha scritto:


Rispondi alla domanda invece che divagare pirlotto bello




 Hai capito il senso,non  fare lo gnorri



Il senso l'hai capito solo tu, demente. Impara ad esprimerti in italiano.




 Il fatto e' come al solito hai postato una emerita puttanata 



Senti, troll coglione, vedi di darci un taglio. Quello che parla a vanvera, l'incompetente, quello che spara emerite puttanate, puntualmente rincalzato da tutti, sei tu, non io. Il tuo giochetto non funziona. Datti una regolata. 


 Rispondi alla domanda 



Ti ho risposto. La tua domanda era sull'andare a basso livello (con il tuo solito italiano da ritardato). E pirlotto ci chiami tuo padre, tuo nonno o tuo fratello.


 Come se non sapessi cosa sono gli UB 



non lo sai. è evidente.


 cosa che dubito



i tuoi dubbi sono dimostrabilmente irrilevanti.


 c++ e' ragionevolmente sicuro,basta conoscerlo



Non e` l'opinione che ha Stroustrup, inventore del linguaggio. Sara` che tu conosci il C++ meglio di lui. Non che lo dubiti eh? Viste le perle che scodelli qui dentro e altrove, dalle quali si deduce la tua profonda competenza in materia. 


 elaborare strutture a basso livello) quando si vuole.



Quindi avevo capito bene.

Con buona pace dell OO programming e buona pace della qualita' del software.


 Con buona pace dell OO programming e buona pace della qualita' del software.



Sbaglio o il genio raccontava di non scrivere mezzo test?



  ngw



beh lui sa bene cosa sono gli undefined behaviour: è la caratteristica 

principale dei suoi programmi.



appunto. trust the programmer.





E' ormai comprovato che non comprende quello che legge.



  ngw



Non sbagli. D'altra parte se apprezza lo sporcasi le mani con un 

linguaggio, perche' non sporcarsele anche con programmi non testati?

Scommetto che non si salva neanche i sorgenti, roba da mammoni che hanno 

paura di sporcarsi le mani!


 paura di sporcarsi le mani!



Li zippera`. Con suffissi "_old", "_oldold", "_oldoldold". Ovviamente non sapra` neanche cos'e` un version control system. Lui non scrive test perche` "sa quello che fa". E questo la dice lunga su quanto questa persona sappia di sviluppo software e quale esperienza professionale abbia.


Il 22/03/19 01:32, 4ndre4 ha scritto:


To Mr Pirlotto          From  OpenMP community





Dear Mr Pirlotto, i'm sorry but java is not supported from our community

We consider java a language that does not deserve consideration on our part.

Many of our computer scientists find it poorly efficient in everything

And then it's a language for young ladies, real men use something else


 



Anche tu,posta qualcosa di utile

Per me ho gia preso il cacciavite


Il 22/03/19 08:41, rootkit ha scritto:


Trovane uno




Il 22/03/19 03:19, cpascoshi ha scritto:


using pint_t=std::unique_ptr<int>;

void f(pint_t&&,int);

int f();

f(pint_t(new int{}),f());





Trova il problema,poi ne possiamo discutere








Il 22/03/19 01:37, 4ndre4 ha scritto:


Capo:  Andrea,mi serve che tu interfacci questa dll nel nostro 

stramegafigo applicativo java



Andrea:  OK capo, pero uso Go



Capo: Ok Andrea,ma con Go puoi scrivere uno strato JNI ?





Andrea: No Capo,pero ci si fa dei bei  tool come Docker e Kubernetes



Capo: Andrea, sei fuori di testa o mi vuoi prendere per il culo ?



Andrea: no capo, il fatto e' che non ne so una mazza



Capo:  va bene Andrea, ma so che su un certo ng ti atteggi da tuttologo 

sia in C che in C++



Andrea: lo so capo, ma mica vuoi che la dia vinta a quel coglione ?



Capo: capito Andrea, mi sa che chiamero il "coglione" per quella dll 

visto che da quello che ho letto ci sa fare.

E forse ti do anche un bel calcio nel didietro (leggasi licenziamento) 

per avermi preso per i fondelli






Il 22/03/19 11:28, Dr.UgoGagliardelli ha scritto:


Mi meraviglio di te dottore che ti metti a fare insinuazioni di codesta 

rilevanza

Devo supporre che ti vuoi mettere sullo stesso piano del pirlotto.

Comunque difficilmente scrivo test,li fanno altri.

Una buona regola e' che non sia chi ha fatto il programma (o le classi) 

a fare anche il regression test

Se nelle vostre aziende fate da lavapavimenti in su pensateci bene





Oh ok, metti che andava in vacanza e all'improvviso un libro.

Ma no, è tornato ignorante come una merda, tutto bene.

Nesquik, se l'informatica fosse un dinosauro lui sarebbe un meteorite. Di feci.



  ngw


 Se nelle vostre aziende fate da lavapavimenti in su pensateci bene



Vuoi dire che da te chi lava i pavimenti a tempo perso fa anche i test?






il problema sei tu. non sai di cosa parli. quello che posti pensando sia "interessante", lascia totalmente indifferenti. una pantomima chiassosa, niente altro. fattene una ragione e passa avanti.


java is not supported from our community



"Java is not supported" != "Java does not support"



COGLIONE. Impara l'italiano.


 Anche tu,posta qualcosa di utile



Gia` fatto. Il problema e` che non hai le capacita` cerebrali.


 Trovane uno



Non fai test, come pensi di scoprirli?




 Andrea:  OK capo, pero uso Go



Il mio capo mi ha appena dato un aumento di stipendio. Due in un anno. La tua telenovela non rispecchia la realta` ;)


 COGLIONE. Impara l'italiano. 



severo ma giusto cit.


 appunto. trust the programmer. 



"""

Additional Principles for C11



At the WG 14 meeting in London, England, in June, 2007, the original principles and the principles that were used for C99 were reviewed, and the following observations were added, not in any particular order:



12. Trust the programmer, as a goal, is outdated in respect to the security and safety programming communities. While it should not be totally disregarded as a facet of the spirit of C, the C11 version of the C Standard should take into account that programmers need the ability to check their work.

"""



che va visto nell'ottica dell'aggiunto:

 "(f) Make support for safety and security demonstrable"





outdated. come gli enocosi, i luc, gli azimuth etc


 



oddio, indifferenti, centinaia di risposte ad ogni suo intervento!!


 Per me ho gia preso il cacciavite



Da questi discorsi e confronti a me viene il sospetto che l'informatica 

non sia quindi una scienza ESATTA come la matematica su cui si fonda, 

giusto?





Aggiungerei anche l'inglese.






 Vero.



Ma nel modo più assoluto, i test automatizzati sono appunto automatizzazioni, e sono fondamentali innanzitutto per la qualità del codice.

Quindi la buona regola "non sia chi ha fatto il programma (o le classi) a fare anche il regression test" rientra nel secchio delle "troiate illeggibili" del fesso, che ovviamente non ha mai scritto un test in vita sua (come dimostrato nelle precedenti puntate) ma ovviamente si ritiene un esperto.



Green red refactor nemmeno sa cos'è, se per avere stato rosso devi aspettare anche solo un'ora (e son molto buono) significa che probabilmente in un mese riesci a chiudere un "ciao mondo" se sei fortunato.

Gli unici test che vengono fatti senza lo sviluppatore RESPONSABILE (<- parolina magica) del codice sono solo e unicamente acceptance tests MANUALI, ovvero l'ultimo centimetro prima di andare in produczione

Test di cui lo sviluppatore deve SEMPRE essere responsabile sono innanzitutto gli unit test per validare il singolo pezzo, e i test funzionali che validano come le diverse parti del codice si integrano insieme

Scritti dallo sviluppatore eventualmente insieme ad altre parti del business sono test funzionali, di integrazione, simulazioni e stories (difficilmente tutti insieme - una selezione). Il codice poi è nel repository ed è lo sviluppatore responsabile per farli girare

Altri test vengono fatti spesso dallo sviluppatore ma eventualmente in realtà molto grandi da figure specifiche, come un devops o un esperto di sicurezza. Tipicamente si usano tool. Performance e penetration tests sono i primi che mi vengono in mente

Il QA è eventualmente esterno. Scenarios per esempio, alpha/beta, roba cosí. Noi abbiamo un team filippino e uno estone che prova *manualmente* le cose seguendo scenari predefiniti.



Il cazzaro ovviamente tutto questo *non lo sa*, è il classico pirla che sarebbe stato un mediocre assoluto nel 1995 e manda in giro cod_new_20190326.zip (perchè il suo ego vuole scrivere in inglese senza saperlo, come tutti sappiamo) con i sorgenti e fa il classico test *ad occhiometro*, con il naming nel codice in spanglish.

Sicuramente se gli buchi la mail (la password è probabilmente p455w0rd) e cerchi "in locale funzionava" trovi più testo che nei due libri di Guerra e Pace.



  ngw



Direi che è un misto di fastidio e noia, di certo non interesse. Difficilmente supererebbe un colloquio per uno stage in qualsiasi realtà semiseria.



  ngw


sembri il Cara.



la "matematica" non è una scienza, è logica. le matematiche sono più o meno consistenti, non "esatte".



"scienza esatta" è una roba che si usava dire una vita fa. fondamentalmente, e per gli addetti ai lavori, una stronzata.


Il 26/03/19 03:22, 4ndre4 ha scritto:


Non dirlo a me ma alla OpenMP community




Il 26/03/19 03:29, 4ndre4 ha scritto:


rispecchia le tue risposte




 Non dirlo a me ma alla OpenMP community



No, lo dico a te, perche` sei tu che traduci con "Java does not support" un "Java is not supported". 




 rispecchia le tue risposte



No, rispecchia la tua INTERPRETAZIONE delle mie risposte. E dal momento che sei un fesso, fai un po' tu.




 a fare anche il regression test



SQUAAAALCH! E con quest'altro merdone pestato hai inchiodato una volta per tutte la bara della tua incompetenza.



La gente come te non dovrebbe scrivere software. Il bello e` che poi accusi gli altri di diffamarti quando ti dicono che sei incompetente. 


 Il cazzaro ovviamente tutto questo *non lo sa*, è il classico pirla che sarebbe stato un mediocre assoluto nel 1995 e manda in giro cod_new_20190326.zip



LOL :) Lui e` uno che non scrive test perche` usa un linguaggio cazzuto, in cui devi sapere cosa fai. Mica lava per terra (?) lui. Poi magari perde due giorni a capire perche` una fopen() si fotte per un buffer overflow, ma vuoi mettere con l'essere il piu` cazzuto di tutti?


[...]should take into account that programmers need the ability to check their 



In quest'ottica, allo "spumeggiante" basterebbe leggere questo: 



https://www.typemock.com/importance-of-unit-testing-in-c/




Ovviamente, lo "spumeggiante" non conosce ne` Boost.Test, ne` CppUnit, tanto per citarne due. 




Il 26/03/19 07:26, 4ndre4 ha scritto:


quanti dettagli inutili

ancora con questa storia

E adesso che sai che openMP community  non supporta java che dici ?

le hai sparate cosi grosse sul fatto che java e' un must con openMP

Tanto must che non e' neanche supportato




Il 26/03/19 09:16, 4ndre4 ha scritto:


Pensa a quello che non conosci tu invece che fare insinuazioni di bassa 

lega




Il 26/03/19 07:26, 4ndre4 ha scritto:


quel discorso e' piu o meno quello che ti avevo chiesto io

Hai risposto con un no ma si possono fare ..






Il 26/03/19 09:09, 4ndre4 ha scritto:


un buffer overflow ?

se ti arrabatti ancora con queste cose

Solo un pirla puo arrabattarsi per un buffer overflow

In c++ poi non ne parliamo,occorre essere grandi pirlotti per procurare 

un buffer overflow








 



La gente come te dovrebbe stare a casa invece che fare insinuazioni 

campate in aria




Il 26/03/19 03:28, 4ndre4 ha scritto:


E' una tua illazione




 



Non e' interessante

E' una banalita

Ma se non  sai trovare il problema allora non mi rompere i ciufoli 

atteggiandoti da esperto




 E adesso che sai che openMP community  non supporta java che dici ?



Ma non me ne frega un cazzo. Il punto non era quello. Io ti avevo chiesto di spiegare "Java does not support" e non il "OpenMP does not support Java", perche` il secondo me lo aspetto eccome, visto che e` una libreria nata per C/C++. 



Vedi, il tuo problema e` che non comprendi i concetti piu` elementari.


 invece che fare insinuazioni di bassa lega



Quali insinuazioni? Aho`, a scemo! Sveja! Lo hai detto tu che non scrivi unit test. Ed e` per questo che non conosci e non hai mai usato suite di test C++. Non sono insinuazioni, sono deduzioni. 




 quel discorso e' piu o meno quello che ti avevo chiesto io



*Quel discorso* sono le tue solite puttanate. Si stava parlando di basso livello, non, nello specifico di scrittura di driver. 



Vedi, il tuo problema e` sempre lo stesso: hai torto, ma anziche` ammettere che hai torto, cominci a tirare fuori argomenti sempre piu` "stretti" pur di avere ragione. Tu dici che uno non sa suonare il piano; quello ti dimostra che lo sa suonare, e allora, per svicolartela, cominci a chiedere "eh, ma lo sai fare con una mano sola?"; ti dimostra che lo sa fare. Continui "eh, ma lo sai fare solo con un dito?"; ti dimostra che lo sa fare. Continui "eh, ma lo sai fare saltando su una gamba?"... e cosi` via. Alla fine il vaffanculo te lo stai chiamando, eh?


 se ti arrabatti ancora con queste cose



No, sei tu che "ti arrabatti con quelle cose", visto che usi linguaggi inerentemente non sicuri e non fai alcun test. Io mi sono tolto il rischio di quei problemi dalle spalle da un pezzo. COGLIONE.


 campate in aria



Cioe` stare a casa sarebbe l'alternativa ad insinuare? E chi insinua da casa, allora? :D



Te l'ho detto: nessuna insinuazione, ti sputtani da solo. 


 E' una tua illazione



Nessuna illazione. Tu non fai test e lo sai bene :)




 Non e' interessante



già.


Il 26/03/19 13:47, 4ndre4 ha scritto:


mai scritto che non scrivo test unit




Il 26/03/19 13:51, 4ndre4 ha scritto:


ma che scrittura di driver

era per uno strato JNI,cioe codice di basso livello con linguaggi non 

sicuri come il c




Il 26/03/19 13:54, 4ndre4 ha scritto:


Non mi arrabatto per niente

in C++ uso vector mica gli array nativi




 



E' un modo di dire,ma non comprendi neanche questo


Il 26/03/19 13:45, 4ndre4 ha scritto:


Non te ne frega una mazza forse adesso

Mi hai propugnato lunghi sproloqui sulla superiorita di java con openMP

L'unico preprocessore openMP per java che ho trovato e' omp4j ed e' pure 

buggato




 mai scritto che non scrivo test unit



Test unit, eh? 


 era per uno strato JNI



Coglione, ti sono stati citati Docker e Kubernetes. Vatteli a studiare, invece di continuare a scrivere imbecillita`.




 E' un modo di dire,ma non comprendi neanche questo



Per te sono tutti "modi di dire" eh? Sfumature del linguaggio, spumeggiamenti.


 Non te ne frega una mazza forse adesso



No, non me ne e` mai fregata una mazza. Il punto, che tu non hai mai compreso dall'inizio era spiegare "Java does not support OpenMP" e non "OpenMP does not support Java". Il tuo cervello inverte i concetti e poi da` la colpa all'interlocutore. Sei un cretino. Io non ti ho MAI propugnato alcuno sproloquio sulla superiorita` di Java. Non ci provare, troll idiota che non sei altro. Sei TU che ti sei fissato sulla superiorita` del C++ rispetto a Java. Io non ho MAI - e ripeto MAI - propugnato la superiorita` di Java rispetto a nessun altro linguaggio. Ti sei incaponito nel voler confrontare le prestazioni in ambito multithreading e ti ho postato un benchmark - uno serio - in cui vieni smentito. Ovviamente per te e` difficile da digerire e allora via con il TUO solito sproloquio di cazzate.


 in C++ uso vector mica gli array nativi



std::vector::operator[] (senza dimenticarsi di std::string)  è presente a tutt'oggi nelle code base di mezzo mondo, nonchè segnalato nei secure coding standards del CERT, SEI etc. da sempre. 



non saperlo/dimenticarsene/non segnalarlo come hai fatto sull'onda del sentimento e della saccenza ("io uso blablabla mica blablabli"), prova quanto detto finora e la dice lunga sulla presunta esperienza che vanti. è esattamente così che si hanno i buffer overflow - da decenni.

c.v.d.



come vedi, mi è bastata una tua frase. who's your daddy now?



C++ è inerentemente insicuro. ancora di più nelle mani di certi esaltati.


segnalato nei secure coding standards del CERT, SEI etc. da sempre. 



ma si`, ma tanto e` incapace di comprendere concetti basilari. Sopratutto, gli manca esperienza. Basterebbe leggere quali linguaggi menziona OWASP, quando si parla di buffer overflow.



CERT? OWASP?



Ma così lo fate entrare in un loop e non ne esce più!




 Ma così lo fate entrare in un loop



no problem comunque. nella sua religione/linguaggio preferito, un loop infinito senza behaviors osservabili non produce bottom, ma... <rullo di tamburi...ta-daaaa> è undefined behavior.



-nulla è per caso-


 non ne esce più! 



SEI perfida.


Il 27/03/19 02:02, 4ndre4 ha scritto:


e chi se ne frega

avevo appuntato su scrivere uno strato JNI




Il 27/03/19 03:53, cpascoshi ha scritto:


Mai sentito parlare di at() ?



Mai sento parlare di assert() ?



Nei mie programmi uso sia l'uno che l'altro




 avevo appuntato su scrivere uno strato JNI



No, idiota, si parlava di "basso livello". Come al solito, svicoli come ti fa piu` comodo. 




 Nei mie programmi uso sia l'uno che l'altro



Chissa` che bella merda. Uno che non scrive unit test, stai certo scrive codice di merda. Uno che non applica TDD, stai certo scrive classi lunghe mezzo chilometro. Sarebbe bello analizzare la complessita` ciclomatica dei tuoi metodi. Sai le risate.


 Nei mie programmi 



non sai di cosa parli cit., dimostrato per l'ennesima qui sopra. e la chiudo qui perchè non solo sei un saccente incompetente, ma mò m'aggio pur rutt'o'cazz cu sti strunzat e cìppiuppù e "nei miei programmi"-e-stu'cazz. cia'


 Chissa` che bella merda. 



per me questo non scrive un cazzo che non siano sti posts del cazzo con i suoi "bench" e indovinelli e esempiucci della minkia presi a giro e su stackoverflow. mi associo a chi diceva di lasciarlo a blaterare nel vuoto, visto che è pure un fallito cronico quando tenta di creare provocazioni.



cioè, ha rotto il cazzo frignando "C++11" e io uso C++ILMEGLIODELMONDOMONDIAL0 in ogni post di merda, e poi assert(). 

assert()? Mavaffanculo


 



A parte le insinuazioni non esiste correlazione tra usare at() ed 

assert() con i test,TDD,le classi lungheghe  mezzo chilometro (notare il 

sintax error,mi sa che l'italiano non lo conosci,ecc..)




 



lo sai tu


(notare il sintax error,mi sa che l'italiano non lo conosci,ecc..)



Detto da uno che scrive "sintax error", "stuzzichini" per "stecchini", e "se sapresti" e` veramente il colmo. 




Il 27/03/19 14:39, 4ndre4 ha scritto:


pirlotto,avevo scritto questo:



Con Go ci fai un bel driver di un OS ?

O uno strato JNI ?



Chi sarebbe lo svicolatore ?






 assert()? Mavaffanculo



LOL :)

Ma e` un suo classico. Non sa un cazzo di niente. Si erge ad esperto. Poi cominci a scavare e cade tutto. 


 O uno strato JNI ?



Ti ho gia` risposto, viscido paraculo. Vatti a rileggere i messaggi.


 





prendi il culo me ed io prendo per i fondelli te




 anche java ha assert,ammesso che qualcuno di voi lo usi



Le assert nel codice di produzione, eh? Sei un genio.


Il 27/03/19 16:59, 4ndre4 ha scritto:


mai sentito parlare di

g++ -DNDEBUG ..





genio ?




Il 27/03/19 16:57, 4ndre4 ha scritto:


viscido paraculo te la devo postare la frase con cui hai risposto ?



 > Ci fai molto di piu`, ci fai tool come Docker e Kubernetes ...







E chi se ne frega,come ti avevo gia risposto.

Se ti occorre fare un strato JNI che cavolo ha a che fare Go con il 

saper fare dei bei tool come  Docker e Kubernetes ?

Solo tu sai la risposta

Ora hai capito il senso del post  tra il tuo capo e te o ti devo fare il 

disegnino ?














Il 27/03/19 16:41, cpascoshi ha scritto:


dopo di te che mi vien da ridere




Il 27/03/19 09:41, Madame Damentami ha scritto:


prenditela con il amichetto che spara perle come queste:



assert? nel 2019?? ASSERT??? vai a studiarti static_assert immediatamente.



Ma tu non sai neanche di cosa si tratta

Eppure scrivi sproloqui






 prendi il culo me ed io prendo per i fondelli te



Tu prendere per i fondelli me? Ne sei sicuro? :D


 saper fare dei bei tool come  Docker e Kubernetes ?



Idiota, la domanda originale era riguardante "il basso livello", non gli strati JNI. Lo strato JNI lo hai tirato fuori tu come ennesimo svicolamento. Si stava parlando del market share progressivamente rubato al C++ negli anni da altri linguaggi, ma tu sei troppo scemo e incompetente per capirlo. Ti attacchi a driver e JNI perche` non capisci un cazzo di una minchia di niente.




 g++ -DNDEBUG ..



mai sentito parlare di unit test, idiota?


 g++ -DNDEBUG .. 



fffermi tutti che questa non s'era mai sentita prima. l'intero mondo considera C++ inerentemente insicuro. poi arrivi tu che dici no, perchè "sai quel che fai".



e infatti che fai. dici che usi assert() per fare bound checking a runtime, assert chiama abort, e a quel punto sei uscito all'host con il programma terminato; o in alternativa, hai intercettato con un handler il segnale e sarcazzo-cosa-ci-fai da lì. 



cioè ricapitolando tu implementi manualmente il bound checking a runtime, con assert() che è notorio termina il programma. siccome non scrivi tests automatici perchè sei pure testimone di geova e t'avessa fa mal, lanci il programma e lo testi a mano. se non scoppia abort() e ti ritrovi al prompt della shell, testing superato.



ultimo ma non ultimo. il tutto sopra ovviamente in produzione scompare una volta scomparsa -DNDEBUG. 



da cui dovremmo evincere che C++ è safe. e nelle tue mani poi acor di più...





Ma per caso sei spastico?


 mai sentito parlare di unit test, idiota? 



no vabbè hai capito questo che va facendo? sto qui manco i programmini per il lotto ha mai completato.


 qualcuno di voi lo usi



bestia ignorante che pensa che se se chiameno ugualo so l'istessa cosa.



assert in java lancia una exception. indovina un pò a proposito di che stevemo parlanno... testing.



studia, animale, che sai 'na sega di niente altro che java e cplusplus.



https://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html




http://wiki.c2.com/?CodingJavaUnitExceptionTests



> con un handler il segnale e 



oh che nessuno s'azzardi a suggerire che in C così facendo il testing blablabla. adda schiattà nella sua GNUranza .


Il 27/03/19 18:36, 4ndre4 ha scritto:


stai saltando di palo in  frasca,IDIOTA



studia g++ e scopri come fa -DNDEBUG coglione






Il 27/03/19 18:53, cpascoshi ha scritto:


coglioncello,assert serve per fare test all'interno del codice

Non che sostituisca gli unit test ma aiuta

Poi avevo solo risposto al pirlotto ad una sua domanda

Inoltre si possono fare assert pilotate per opportuni ambiti e/o non 

disabilitarli in produzione,non e' un obbligo.

Dopo la bella perla su static_assert e' meglio che stai zitto,qualunque 

programmatore c++ decente sa a cosa serve static_assert e che e' 

valutata a compile time










Il 27/03/19 19:18, cpascoshi ha scritto:


hai scoperto l'acqua calda

Mai asserito il contrario

Ma al resto non rispondi ?

La bella perla di static_assert la vogliamo nascondere ?




 



La sai una cosa ?

MI sto stancando a che fare con degli idioti




Il 27/03/19 18:35, 4ndre4 ha scritto:


No,la domanda era su quello

Infatti mi hai risposto a quella domanda non ad un post risalente chissa 

a dove




 studia g++ e scopri come fa -DNDEBUG coglione



https://it.wikipedia.org/wiki/Proiezione_(psicologia)


"La proiezione è un meccanismo di difesa arcaico e primitivo che consiste nello spostare sentimenti o caratteristiche propri, o parti del Sé, su altri oggetti o persone."


 Non che sostituisca gli unit test ma aiuta



Aiuta se non fai (come nel tuo caso) unit test.


 MI sto stancando a che fare con degli idioti



"Mi sto stancando a che fare". 



Ti stai stancando di te stesso.




 No,la domanda era su quello



No, la domanda era su come vai "a basso livello" (la tua domanda era: che fai? Non ci vai mai?) e la risposta ti e` stata data, viscido paraculo svicolatore che non sei altro :)


Il 28/03/19 04:01, 4ndre4 ha scritto:


E ti avevo fatto degli esempietti

Ora,visto che hai capito,rifaccio la domanda

Se devi scrivere uno strato JNI od un driver per un OS lo fai in GO o 

usi qualcosa d'altro ?

E se si cosa ?

Ricordati cosa ti chiese il capo.




Il 27/03/19 18:36, 4ndre4 ha scritto:


E che cosa ha a che fare lo Unit Test con il disabilitare gli assert lo 

sai solo tu,caro pirlotto.

In fondo ho solo risposto alla tua domanda




 



E tu sei idiota che fa domande idiote caro il mio "esperto" c++ ?


Il 28/03/19 03:59, 4ndre4 ha scritto:


Vuoi che te lo scriva grosso ?

ILLAZIONI




 



Pirlotto,mettiti il cuore in pace

c++ e' superiore a java e non solo come velocita del codice prodotto ma 

anche come flessibilita

Ci puoi fare di tutto,con java no,ti devi appoggiare all'esterno oppure 

alcune cose sono impossibili.

Sul multithreading ti avevo gia risposto e piu di una volta

Quando postero i benchmark sul multithreading omp poi vedrai,quelli 

reali non le cazzate che posti tu.

Non ti preoccupare,so gia cosa risponderai ma tu continua pure ad 

usarlo,in fondo delle performance ti preoccuperai poco in pratica per 

cui va bene cosi






 alcune cose sono impossibili.



Ti ricordo che quell' 'appoggiare all'esterno' come dici tu, fa parte 

del linguaggio. Il modificatore 'native' questo fa.


 Se devi scrivere uno strato JNI od un driver per un OS lo fai in GO 



No, non uso Go per scrivere un driver, usero` probabilmente C e assembly. E questo cosa implicherebbe sull'uso di Go vs. C++? Vedi, il problema e` che tu sei un coglione incompetente. La tua domanda e` irrilevante. E` l'ennesimo svicolamento in cui ti rifugi quando vieni messo all'angolo. La questione era "C++ e` ancora cosi` fondamentale per lo sviluppo di basso livello?" e la risposta e` "No, non lo e`, perche` esistono linguaggi, come Go, che sostituiscono sia C che C++ per certi compiti; vedi nel caso di Docker e Kubernetes (e molto altro), ambiti per i quali C e C++ sarebbero stati i linguaggi eletti, fino a pchi anni fa". Come ti e` stato gia` detto, concetti piu` elevati di una scoreggia, non arrivi a comprenderli. Non ti sforzare. Le informazioni ti vengono date. I link ti vengono forniti. Esiste Google. Vai a studiare.


 E che cosa ha a che fare lo Unit Test con il disabilitare gli assert 



Tieni, studia:



http://alexott.net/en/cpp/CppTestingIntro.html



 conseguenza ?



Ti ci voglio vedere a intercettare un NPE e "adeguarti di conseguenza".


 ILLAZIONI



Tu non scrivi test. Nessuna illazione. Hai classi con metodi lunghi un chilometro. Nessuna illazione. Hai almeno 3 o 4 livelli di if annidati in un metodo. Nessuna illazione. Hai classi con piu` metodi pubblici e piu` responsabilita` della singola che dovrebbero avere. Nessuna illazione. Ora vai a guardare il tuo codice e ci troverai tutto cio` che ho descritto. 

Tu non sei in grado di assicurare che ogni tua classe funzioni, se non eseguendo un test manuale, fallace e soggetto ad errori. Nessuna illazione.

E guarda che non sono un mago, eh? Mi basta leggere quello che scrivi. 


 anche come flessibilita



Non e` vero. Te lo dice uno che conosce bene e usa sia C++ che Java. Hai scritto l'ennesima cazzata. Fidati.


 del linguaggio. Il modificatore 'native' questo fa.



Non si puo` veramente pensare di intavolare una discussione tecnica sul perche` si sbaglia, con un coglione colossale, di una colossale incompetenza, come enoquick. Gli si puo` solo rispondere con pernacchie, perche` e` tutto cio` che comprende. E dire che, in passato, gli e` stato anche detto che, se devi scrivere un sistema enterprise, con certe caratteristiche, la scelta del C++ e` assolutamente ridicola, mentre optare per Java, con tutto l'ecosistema che Java si porta dietro, e` assolutamente sensata.

Il suo problema e` che non ha mai visto un cazzo. E` confinato nella sua piccola cantina, dove gioca a fare il piccolo programmatore, tra alambicchi e storte fumanti, per vedere se riesce a spaccare un bit in 4. Un coglione.



E` il solito cretino, con pochissima esperienza, e pochissima competenza, che crede di dover avere una toolbox con un solo tool all'interno, che puo` usare sia per aprire la birra, che per girare la pasta, che per sturare il cesso. Mi ricorda quel magistrale Carcarlo Pravettoni impersonato da un fantastico Paolo Hendel, capo di una fabbrica in cui, un giorno prima, negli altoforni si impastava il panettone, e il giorno dopo il cemento. Solo che quello era un personaggio paradossale di fantasia. Enoquick esiste davvero (sigh).




riprendo un po il discorso dei typedef (incarnati nella keyword using da 

c++11)



Prendiamo questo semplice codice c++ tanto per fare la vedere la 

comodita dei typedef

IL codice e' molto semplice,anche per chi poco conosce c++ e' facile da 

comprendere



#include <iostream>

#include <vector>



using vector_type=std::vector<long>;

using scalar_type=vector_type::value_type;



static scalar_type calc(const vector_type& m) {

	scalar_type sum={};

	for (auto& v : m)

		sum += v;

	return sum;

}



int main() {

	vector_type v{1,2,3,4};

	auto sum = calc(v);

  	std::cout << sum << std::endl;

}





Il codice fa semplicemente la somma dei valori di un container (vector) 

tramite una funzione calc e stampa il risultato su stdout

Ora se un bel giorno volessi cambiare il tipo base di vector mi basta 

sostituire long con il tipo da me voluto (ES: int oppure anche una 

classe come safe 

(
https://www.boost.org/doc/libs/develop/libs/safe_numerics/doc/html/index.html
)) 



Va bene qualsiasi classe basta che supporti operator <<,operator += ed 

abbia il costruttore di default



Ora passiamo a java con una prima versione

import java.util.*;



class Main {







	private static class MyVector extends Vector<Long> {

	};





	static Long calc(MyVector v) {

		Long sum=new Long(0);

		for (int i=0; i < v.size();++i)

			sum += v.get(i);

		return sum;

	}



	public  static void main(String[] args) {

		MyVector v=new MyVector();

		v.add(new Long(1));

		v.add(new Long(2));

		v.add(new Long(3));

		v.add(new Long(4));

		Long sum=calc(v);

	 	System.out.println(sum);

	}

}



A parte l'uso della ereditarieta che non e' sempre fattibile l'uso di 

Long e' duplicato 7 volte nel codice

Quello che si vuole fare e' ridurre l'impatto ai cambiamenti di Long il 

minimo possibile

Ok,ecco una seconda versione:

import java.util.*;



class Main {



	private static class MyInt {

		public MyInt() { m_l=0;}

		public MyInt(long l) { m_l=l;}

		void add(MyInt v) { m_l += v.m_l;}

		@Override

		public String toString() { return new Long(m_l).toString();}

		private long m_l;

	}



	private static class MyVector extends Vector<MyInt> {

	};





	static MyInt calc(MyVector v) {

		MyInt sum=new MyInt();

		for (int i=0; i < v.size();++i)

			sum.add(v.get(i));

		return sum;

	}



	public  static void main(String[] args) {

		MyVector v=new MyVector();

		v.add(new MyInt(1));

		v.add(new MyInt(2));

		v.add(new MyInt(3));

		v.add(new MyInt(4));

		MyInt sum=calc(v);

	 	System.out.println(sum.base());

	}

}





Ora va gia meglio,quasi

I problemi di questo codice (ereditarieta a parte) e' che la classe 

MyInt debba implementare i metodi che ci servono e che sono gli stessi 

di Long

Purtroppo non si puo riusare += in quanto java non supporta operator OP 

(con OP +,+=,-,-=,ecc..)

A parte questo il tipo long/Long e' usato ancora 3 volte (nella classe 

MyInt)

Insomma,sembra che i typedef siano utili dopo tutto

Ora lascio la parola a chi conosce java meglio di me














Il 31/03/19 10:38, enoquick ha scritto:


errata corrige



  System.out.println(sum);


 riprendo un po il discorso dei typedef 



ma vai a fare in culo.


 a chi conosce java meglio di me



cioè anche il mio cane.



import java.util.Arrays;

import java.util.List;



public class Main {

    public static void main(String argv[]) {

        List<Long> list = Arrays.asList(1L,2L,3L,4L,5L);

        Long sum = list.stream().mapToLong(v -> v).sum();

    }

}



anzi, voglio proprio strafare:



Long sum = list.stream().mapToLong(Long::longValue).sum();


 Long sum = list.stream().mapToLong(Long::longValue).sum();



Occhio che cosi` gli mandi in pappa il cervello.



che cafone


Il 31/03/19 12:06, rootkit ha scritto:


Sbagliato,Long lo hai usato 2 volte invece che 1 volta

calc() andrebbe lasciata cosi come proprio per fare capire il tipo di 

ritorno








Il 31/03/19 12:17, rootkit ha scritto:


sbagliato.Long lo hai usato 2 volte,in piu hai usato LongValue che e' 

proprio di Long






Il 31/03/19 13:04, 4ndre4 ha scritto:


il tuo cervello che va in pappa




Il 31/03/19 14:42, enoquick ha scritto:


In piu usi mapToLong che e' proprio di Long




 il tuo cervello che va in pappa



La proiezione è un meccanismo di difesa arcaico e primitivo che consiste nello spostare sentimenti o caratteristiche propri, o parti del Sé, su altri oggetti o persone.



https://it.wikipedia.org/wiki/Proiezione_(psicologia)



Il 31/03/19 14:48, 4ndre4 ha scritto:


ti continua a scriverlo che un gg riuscirai a capirlo (parafrasando 

Einstein)




 ti continua a scriverlo



Tu continua a leggerlo, e magari un giorno capirai di cosa soffri.




 In piu usi mapToLong che e' proprio di Long



Vedi di darci un taglio con le stronzate, buffone incompetente.



public interface Sum {

    Number perform(Number... numbers);

}



public class SumImpl implements Sum {

    @Override

    public Number perform(Number... numbers) {

        Optional<Number> number = Arrays.stream(numbers).reduce(binaryOperator());

        if (number.isPresent()) {

            return number.get();

        }

        throw new IllegalArgumentException();

    }



    // sostituisce il meccanismo di operator overloading del C++

    private BinaryOperator<Number> binaryOperator() {

        return (a, b) -> {

            if (a instanceof Long) {

                return a.longValue() + b.longValue();

            }

            if (a instanceof Double) {

                return a.doubleValue() + b.doubleValue();

            }

            ...

            throw new IllegalArgumentException();

        };

    }

}



....

        Number sumOfLongs = new SumImpl().perform(1L, 2L, 3L, 4L);

        Number sumOfDouble = new SumImpl().perform(1.4, 2.2, 3.1, 4.2);



        System.out.println(sumOfLongs);

        System.out.println(sumOfDouble);


 proprio di Long





questo il Long non lo usa mai, somma qualsiasi numero sia presente sullo 

stream fottendosene che sia long, double, int o che cazzo ti pare. in due 

righe.



import java.math.BigDecimal;

import java.util.stream.Stream;



public class Main {

    public static void main(String argv[]) {

        Stream<Number> s = Stream.of(1L,2,3L,4L,54, 30.6, new 

BigDecimal(70.4322));

        Number i = s.reduce(0, (n, n2)

                -> new BigDecimal(n.toString()).add(new 

BigDecimal(n2.toString())));

        System.out.println(i);

    }

}






[CUT]





Ti capita mai di leggere il manifesto dei NG in cui scrivi?


Il 31/03/19 15:40, 4ndre4 ha scritto:


E bravo il nostro pirlotto che ha fatto vedere un po di codice



#include <iostream>

#include <initializer_list>

#include <algorithm>





template <typename T>

T compute(const std::initializer_list<T>& list) {

	T sum={};

	std::for_each(list.begin(),list.end(),[&sum](const T& v) { sum += v;});

	return sum;

}



int main() {

	auto sum_long = compute({1L,2L,3L,4L});

	auto sum_dbl = compute({1.2,2.2,3.2,4.3});

  	std::cout << sum_long << std::endl;

  	std::cout << sum_dbl << std::endl;



}





Questo e' l'equivalente di quello che hai scritto ma molto piu coinciso

Il duck typing in java,questo sconosciuto ma ovvio in C++






 Questo e' l'equivalente di quello che hai scritto



Ma 'sti cazzi. Molto piu` incomprensibile, vorrai dire. Il giorno che impararei cos'e` la programmazione orientata agli oggetti, verra` sempre troppo tardi. 


 



Ti ho fatto la somma di un container in 2 righe usando una lambda

Anche java ha le lambda se ricordo bene per cui dovresti sapere come 

funzionano



Se non sai cosa fa std::for_each rivolgiti qui:

https://en.cppreference.com/w/cpp/algorithm/for_each




Per quanto riguarda "programmazione ad oggetti" e' programmazione ad 

oggetti

Solo che e' quella di tipo orizzontale al contrario della classica che 

e' verticale.

Non c'e scritto da nessuna parte che e' obbligatorio usare la verticale 

o che la verticale sia meglio della orizzontale

In realta servono tutti e due a seconda delle esigenze

Poi che la tua versione sia piu leggibile e manutenibile e' da vedere








 Ma quale figura,ti avevo scritto un esempio semplice semplice



Un esempio semplice semplice che, come ti e` stato detto mille volte, non riflette nessun caso concreto. Hai fatto l'ennesima figura di merda. Il problema e` che tu non hai abbastanza cultura informatica per capire quel che ti viene detto. Ti focalizzi su delle cazzate e cominci a spaccare il capello su quattro fesserie. In un linguaggio orientato agli oggetti, si usano classi ed oggetti. Masturbarsi sulla somma di una sequenza di numeri e` da idioti quale sei. E anche su quello sei stato massacrato. Vuoi costruire un servizio, in un'applicazione reale, che sia generico rispetto al tipo del dato? Si usano classi template o generics. Punto. Il resto sono cazzate da language jihadist idiota quale sei.




 



Me lo vieni dire a me di usare i generics quando c++ e' stato tra i 

primi se non il primo ad aprire un vero e proprio mondo sulla 

programmazione ad oggetti orizzontale ?

(Non che prima non si conoscessero i generics,sia chiaro)


 Me lo vieni dire a me di usare i generics[...]



Si`, lo vengo a dire a te, e te lo dico perche`, ancora una volta, dimostri di non saper costruire un'applicazione, dimostri di attaccarti a delle stupidaggini senza alcun valore, dimostri che ti mancano le basi.


 



Fare esempi,non stupidaggini.


 si fa una idea su queste cose



su it.lavoro.informatica? come no aspettavano tutti Il Maestro... rolz


 generics,sia chiaro)



ci mancherebbe pure. 


 elemento ad una function ? 



map in LISP? 1958. dici che qui hanno bisogno che tu insegni anche questo con i tuoi esempiucci (in C++, tra l'altro)?


...ma soprattutto, ma che cazzo vuoi con "Me lo vieni dire a me"? ma chi cazzo pensi di essere, l'economista controfigura(dimmerda) di Stepanov?

sul serio, ma che cazzo voj da sto ng??


 Fare esempi



Gia` fatti. Vai a studiare, imbecille.


 > programmazione ad oggetti orizzontale ? 



La famosa "HOOP", Horizontal Object Oriented Programming, che il C++ ha introdotto. Niente, di fare la figura dello scemo proprio non puo` fare a meno :)


 Insomma,sembra che i typedef siano utili dopo tutto



Utili forse per gente come te, dannosi in taluni casi.



Non proprio. Long eredita longValue da Number, esattamente come tutti i 

tipi che estendono Number.




 tipi che estendono Number.



Ma si`, e` il solito esempietto del menga con cui si spara nei piedi.



Notato che non scrive mai una classe? Sara` il solito scalzacane che usa il C++ come "C con classi" creando metodi lunghi un chilometro (2-300 righe) con 4-5 livelli di 'if' annidati. 



Ad uno che non scrive mai una classe, come fai a spiegare che tutto cio` che ti serve, per poter avere codice flessibile, e` una interfaccia generica e implementazioni multiple?  


Il 01/04/19 12:21, 4ndre4 ha scritto:


L'header  fixed.h contiene o no una classe,caro pirlotto?

Vai pure avanti a sparare cazzate








Il 01/04/19 11:03, cpascoshi ha scritto:


Ma certo,map in list

Intanto tirato giu con 2 righe di codice

Il pirlotto con non so quante righe,visto che disprezzi cosi tanto c++




 Vai pure avanti a sparare cazzate





 



Vai avanti cosi che finirai per crederci


 Notato che non scrive mai una classe?



Eh, e allora cosa c'entra fixed.h? :D


 Ma certo,map in list



map in LISP!! COGLIONE!! Non list! Non sai veramente un cazzo! :D Sei incredibile.


Il 01/04/19 13:59, 4ndre4 ha scritto:


fixed.h e' un header che contiene una classe template (essendo template 

non e' obbligatorio il body,sai lo affermo  per eventuali "esperti")

per cui e' tutta autocontenuta

Trovami un metodo lungo 1 KM,ma mi bastano 100m




Il 01/04/19 14:15, 4ndre4 ha scritto:


Errata corrige:

Lisp




 Ma certo,map in list



AHAHAHAHAHAHAHAHAHAHAHAHAHAH, spettacolo :-D



  ngw


 fixed.h e' un header che contiene una classe template[...]



E (di nuovo) cosa c'entra con quanto ho scritto? :D


 AHAHAHAHAHAHAHAHAHAHAHAHAHAH, spettacolo :-D



:D

Ma certo!....



Niente, non gliela fa.






Il 01/04/19 23:34, 4ndre4 ha scritto:




Il 01/04/19 23:36, 4ndre4 ha scritto:


di nuovo ?

Ho fatto la errata corrige




On Tuesday, 2 April 2019 13:26:04 UTC+1, enoquick  wrote:



[...]

La differenza tra "scrivere" ed "usare" la sai? 



Ti do` un compitino: scrivi una classe che calcoli un codice a partire dal nome e cognome di una persona: per esempio prime tre lettere del nome e prime tre lettere del cognome, piu` una lettera che indica il giorno di nascita 1 -> A, 2 -> B, 3 -> C, ecc... 

Dai che e` facile. Dimmi come lo scrivi del codice del genere. 


Il 02/04/19 07:02, 4ndre4 ha scritto:


Pirlotto bello

In c++ non sono obbligato a fare classi

Se un problema lo si risolve facilmente con una function perche fare una 

classe ?

Altra cosa pirlotto bello

Una classe non computa ,una classe offre servizi

Sono i metodi della classe che computano,non la classe



class date {

	...

	bool empty()const;

};



class person {

	public:

		using string_t=std:.string;

		explicit person(string_t&& surname,string_t&& name,date&& birthdate)

			[[expects: surname.size() >= 3]]

			[[expects: name.size() >= 3]]

			[[expects: !birthdate.empty() ]];

		const string_t& code()const

			[[ensure audit r : r.size() == 7 ]];

	private:

		// ...

};



Eccoti la tua bella classe,l' implementazione la lascio a te

Non mi abbasso a simili banalita per soddisfare il tuo ego personale

Se vuoi vedere una vera classe e non simili banalita leggiti fixed.h

La puoi trovare in java vs c++ heap seq

PS:

gia che ero in vena,ti ho fatto vedere un po di futuro






 gia che ero in vena,ti ho fatto vedere un po di futuro



HAHAHAHAHAH... col C++? :D Sei sicuro sicuro sicuro? :)




 



si, c++20


 si, c++20



Che e` futuro PER TE, non per il resto del mondo, dove quei costrutti esistono da molto, molto tempo. LOL :) Patetico buffone incompetente.


 Che e` futuro PER TE



è un coglione. Floyd (1967) e Hoare(1969), per lui sono il futuro. 

che altro vuoi aggiungere. 



ci manca solo il Cara che dice "chicazzosòstidue è tutta fuffa" e il cottolengo è al completo


 



facile

char* p=nullptr;

assert(p);








 assert(p);



Stronzata. Non e` quello di cui sto parlando. Sei il solito coglione che non sa un cazzo e straparla.


 assert(p); 



così lo intercetti nelle CHIAPPE mentre torni all'host. 



Non ne sai una cazzo non ne indovini una manco per sbaglio. machecazzo


 Testato con benchmark



Hahahahahaha certamente i tuoi "benchmarks"! Lolle...


 Non ne sai una cazzo non ne indovini una manco per sbaglio. machecazzo



Non sa veramente un cazzo di niente.


>> Una classe non computa ,una classe offre servizi



E' un punto di vista. Ad esempio java.lang.Math offre servizi 

computazionali, fa solo esclusivamente dei conti,





Siete pignoli pero'. Se vuole sventagliare degli assert con dei colpi di 

doppietta, che faccia. Quando si sara' stancato li andra' a cercare.


Il 05/04/19 05:03, cpascoshi ha scritto:


fai una assert che ti lanci una exception ed e' come in java quando 

intercetti un NPE






Il 05/04/19 06:24, Dr.UgoGagliardelli ha scritto:


Gi assert sono un palliativo per la contract programming non esistendo 

fino a c++17 i contracts

Da C++20 assert (la macro) sara obsoleta




 



Lo sai tu


 intercetti un NPE



Ma sei imbecille o che cosa? Ma veramente pensi di scrivere cose intelligenti? 

Ma intercettare cosa! Ti si sta dicendo che difficilmente riuscirai a fare alcunche` di utile, intercettando un NPE e tu rispondi con le assert?

SEI UN COGLIONE!!!




 Da C++20 assert (la macro) sara obsoleta



E secondo te quello sarebbe il futuro?


 Posso desumere  che tu non sappia neanche cosa sia la contract programming



Ma smettila, idiota! Pensi davvero di venire ad insegnare, tu a me, cosa sia il design by contract? Guarda che il principio di sostituzione di Liskov e` qualcosa che chiedo in tutte le interview di senior developers che faccio. Tu mi sapresti rispondere? Eccolo che va a googlare.


Il 05/04/19 07:29, 4ndre4 ha scritto:


Io uso la contract programming da una vita con ottime soddisfazioni.

Ti faccio notare che la contract programmi non e' un sostituto dei test 

ma un supporto ai test

Eiffel e' stato tra i primi,se non il primo,ad implementare la contract 

programming.

Era l'inizio degli anni 90

Ora l'hanno aggiunta (finalmente) a c++20.

Sa la  ritieni una stronzata (come avevi scritto in un altro post) 

scrivi una bella letterina al comitato c++  spiegandogli le tue motivazioni.




Il 05/04/19 07:28, 4ndre4 ha scritto:


Davvero ?

Ed in java cosa fai quando succede un NPE ?

Tutto quello che puo succedere lo puoi replicare in c++




 neanche cosa sia la contract programming



Guarda. Per l'ennesima volta: non sai un cazzo. Stai qua che piangi perchè il "tuo" C++20 un giorno ti darà la dbc.

Te pensa che i tuoi odiatissimi "javisti" sono fottuti decenni che la usano. Vai a studiare JML ( e ESC).

Ma tu vedi che cazzone


 Ti faccio notare [...]



Ma cosa vuoi far notare tu? Tu vuoi far notare a me? Hai una montagna di libri da studiare e vuoi far notare tu la roba agli altri?



Viscido paraculo, io non ho mai affermato che il "contract programming" e` una stronzata. Ho affermato che quello che scrivi TU e` una stronzata. Chiaro?


Il 05/04/19 07:31, 4ndre4 ha scritto:


Tu stesso, quando ti ho fatto vedere una classe person hai scritto una 

bella esclamazione

Che cosa e' quella merda ?

Inoltre in altro post,tanto per dare addito alla mia supposizione,hai 

scritto

E quello sarebbe il futuro ?

Quindi ho supposto (mi scusi tanto grande Re tuttologo) che non la 

conoscessi.



PS

il principio di sostituzione di Liskov lo conosco anch' io

Ma non e' la contract programming,ne e' una conseguenza



Quando una classe base ha determinate proprieta le deve avere anche la 

classe da cui eredita,logico

La contract programming serve per descrivere queste proprieta






 Davvero ?



Davvero, cosa, cretino? Quando "succede" un NPE (manco la terminologia tecnica conosci, sei una vera merda informatica), c'e` ben poco che tu possa fare per recuperare. E` meglio che lasci tutto crashare, senti a me. COGLIONE.


 il principio di sostituzione di Liskov lo conosco anch' io



Si`, sto cazzo conosci tu.


 



Pirlotto bello

Se vuoi ti posso anche fare una piccola dimostrazione



Wikipedia quando scrive

"Un esempio di violazione del principio di sostituzione di Liskov"

fa l'esempio di un quadrato e di un rettangolo





class rectangle {

	public:

		rectangle(int x={},int y={});

		void  x(int);

		void y(int);

		int  x()const;

		int y()const;

		int area()const;

	...

};



class square : public rectangle {

	public:

	square(int x={}) : rectangle(x,x) {}

};

Questa classe square infrange il principio di Liskov per via dei due 

metodi setter x e y

Ma se facciamo la classe rectangle in questo modo



class rectangle {

	public:

		rectangle(int x={},int y={});

		int  x()const;

		int y()const;

		int area()const;

};







class square : public rectangle {

	public:

		square(int x={}) : rectangle(x,x) {}



};



Quindi senza metodi setter x e y non ci sono problemi

Un quadrato e' un rettangolo senza violare il principio.





Poi si possono impostare metodi setter x e y in square senza violare il 

principio ma e' una grossa stiratura (e la lascio a te come esercizio)



PS

Se tu sai non significa che altri non sappiano quello che sai tu

E so non sai fai piu bella figura ad ammetterlo che a spacciarti per 

tuttologo

Mi stupisco sempre di piu,tra un piatto e l'altro non solo studi ma pure 

intervisti.


















Il 05/04/19 07:44, cpascoshi ha scritto:


Veramente la CP la applico da decenni e non solo in c++

Quindi non mi venire a scrivere le tue solite 4 cagatine




 



ma certo

Il grande tuttologo ha sentenziato

Peccato che mai nessuna spiegazione tecnica sia mai stata data (sulla CP)






Il 05/04/19 07:52, 4ndre4 ha scritto:


Lasci crashare ?

Bene

Allora non serve neanche l'assert  (tanto era solo a fine di testing)

Ma mettiti a posto



 Se tu sai non significa che altri non sappiano quello che sai tu



Sei tu che stai affermando che gli altri non conoscano il contract programming. E tu confermi, in ogni post che scrivi, di non sapere un cazzo.


 Peccato che mai nessuna spiegazione tecnica sia mai stata data (sulla CP)



Perche` non ho devo darti nessuna spiegazione tecnica. Le spiegazioni costano. Iscriviti ad un corso. Guarda che, qui dentro, nessuno ti DEVE niente. 


 Ma mettiti a posto



Certo che non serve l'assert ... LOL :D L'assert l'hai tirata fuori tu, COGLIONE!


 > Se tu sai non significa che altri non sappiano quello che sai tu



Aspe`, 'sta frase non significa un cazzo come al solito.

Bah. La tua confusione non e` solo informatica.


 



Io non affermo un bel niente

Io non faccio illazioni come fai tu

Io ho solo supposto




Il 05/04/19 09:14, 4ndre4 ha scritto:


Cerca di comprendere il significato allora




Il 05/04/19 09:04, 4ndre4 ha scritto:


Pirlotto bello,io non devo studiare la CP

La conosco gia,la uso con proficuo da anni




Il 05/04/19 09:05, 4ndre4 ha scritto:


Volevi o no il fare qualcosa con un NPE ?

Ecco qualcosa




 





Dove ?




 



Figuriamoci,le solite 4 cagatine che poi pure conosco gia




 Io non affermo un bel niente



Finalmente hai scritto una cosa giusta.


 La conosco gia,la uso con proficuo da anni



"La uso con proficuo". Tutto dire.




 Volevi o no il fare qualcosa con un NPE ?



No. Ti ho semplicemente detto che, in un'applicazione reale, cioe` quelle che tu non vedi neanche col binocolo, c'e' poco che tu possa fare per gestire un NPE. Che cazzo c'entrano gli assert? Guarda, smetto di dirti che sei un idiota, perche` e` evidente che sei un minus habens e non mi va di sparare sulla Croce Rossa.



Su it.lavoro.informatica.




 Figuriamoci,le solite 4 cagatine che poi pure conosco gia



Col cazzo. Tu non fai unit test. Vai a studiare, capra.





Proficuo dev'essere un suo collega, o forse il barista sotto casa.


 Veramente la CP la applico da decenni



ti faccio letteralmente a pezzi quando e come voglio in tema di specifiche e verifiche formali. non hai speranze.

non. hai. speranze. 






 le tue solite 4 cagatine



N*O*N C*O*N*T*I*G*U*O*U*S A*R*R*A*Y*S,

motherfucker, Do You Speak It???


 Proficuo dev'essere un suo collega, 



Proficuo! a cuccia!

Proficuo, fai l'atomo!

Proficuo ACCHIAPPA i BRANCHS!!!





Povero Proficuo :(((


 doppietta, che faccia. 



Per la verità si è partiti dal fatto che ha rotto i coglioni con la sua incapacità e ignoranza, nel tentativo di ribaltare la realtà: C++ è insicuro. Punto.



Per usarlo in sicurezza non basta la conoscenza perfetta della pragmatica del linguaggio, dello standard, della implementazione in uso, e di un'altra serie di "accessori". Occorre di fatto sempre un tool di static analysis.



Poi arriva 'no stronzo co du'assert e la sua teoria degli atomi che con du' scuregge componi qualsiasi sinfonia (cacofonica).



È il minimo. Io dal vivo gli avrei già sputato nell'occhio non-biglia-di-vetro


 Per la verità si è partiti dal fatto che ha rotto i coglioni con la sua incapacità e ignoranza, nel tentativo di ribaltare la realtà: C++ è insicuro. Punto.



Fosse solo il C++. Non ne ingarra una. Scrive stronzate se parla di programmazione. Scrive stronzate se parla di economia. Scrive stronzate se parla di politica (vedi la storia della fondazione dell'UE e dell'apologia del fascismo che andrebbe abolita). Scrive stronzate, comunque e sempre.


On Saturday, 6 April 2019 01:04:07 UTC+1, cpascoshi  wrote:



PS

Anni fa, in un gruppo, scriveva: 



"esprimo solo il mio pensiero e visto che di informatica qualcosina conosco, credo che sia un pensiero abbastanza autorevole"



Sguinzaglio i cani?


 Sguinzaglio i cani? 



che lo riducano in atomi.


 Fosse solo il C++. 



adesso vuol pure farci credere che quello che dice di fare con assert, ricondurrebbe lucidamente ed in modo preciso ad una forma di design software. 

ovviamente non gli credo. perchè è evidente che non ne è in grado.


 





Non ti piace la parola ?

Affari tuoi





http://www.treccani.it/vocabolario/proficuo/






Impara il significato pirlotto bello




 doppietta, che faccia. Quando si sara' stancato li andra' a cercare.







Non si tratta di sventagliare assert

La assert e' usata come fosse una CP (un po rudimentale certo)

ma per ora fino a quando c++ 20 non sara realta e' cosi




Il 06/04/19 01:22, 4ndre4 ha scritto:


Non preoccuparti che tu mi segui a  ruota

Tanto cosa occorre rispondere ad un tipo cosi siffatto




Il 06/04/19 01:35, 4ndre4 ha scritto:


Anche i gatti


Il 05/04/19 12:08, 4ndre4 ha scritto:


Forse non hai capito che me ne fotte poco degli assert per verificare un 

pointer (anche se in c++ sarebbe ben piu utile che in java nella fase di 

testing,almeno il tester rileva subito dove sta il problema)

Ho solo fatto un esempio su tua richiesta




 ma per ora fino a quando c++ 20 non sara realta e' cosi



lo aspetti come il Messia

ma non sarai salvato

resterai in ogni caso inculato


Il 05/04/19 16:09, cpascoshi ha scritto:


Vai a discutere con il pirlotto, se questo e' il livello a cui arrivi




Il 06/04/19 07:54, cpascoshi ha scritto:


La aspetto dagli anni 90

Lo so che la retrospettiva piacevole non e' altro che una semplice 

riflessione dell' io

IL pirlotto lo rinfaccia quasi ad ogni post




 Affari tuoi



La parola mi piace moltissimo. Sei tu che ne fai un uso di merda. Non proficuo, direi. Perche`, vedi, grandissimo imbecille ignorante, in italiano esistono gli aggettivi (e.g. "proficuo") ed esistono i sostantivi (e.g. "profitto"). Si dice "la uso con profitto", non "la uso con proficuo", grandissima CAPRA.



Ti vanti di essere andato all'universita`? A te bisogna far ripetere le elementari.



Continua a sognare.


 Forse non hai capito che me ne fotte poco degli assert[...]



Forse (dico forse, eh?) non hai capito che gli assert li hai tirati fuori tu. Si parlava di altro. Due discutono di fisica nucleare, tu salti nella discussione con "e allora il buco del culo?"... quei due ribattono che il buco del culo non c'entra niente e tu rispondi "forse non avete capito che non me ne fotte del buco del culo".



Continua a renderti ridicolo. 




Il 06/04/19 08:35, 4ndre4 ha scritto:


Pirlotto bello,e' perfettamente corretta la frase

Ma pensala come vuoi che non ne ho assolutamente voglia di far aprire un 

  lungo interminabile dibattito.





ma se vuoi un cambio di frase

"la uso in modo proficuo" cosi sei accontentato








 



Pirlotto bello,la storia degli assert era nata in quanto c++ ritenuto 

linguaggio non sicuro

Qualcuno fece  una domanda a cui risposi

Tutto li

Quindi nessuna discussione di fisica nucleare in cui il sottoscritto si 

e' messo in mezzo




 Impara il significato pirlotto bello



rotfl, è un aggettivo e lo usi come sostantivo. dai su, non puoi essere 

così cretino da insistere... 




Il 06/04/19 09:19, rootkit ha scritto:


Ma si,era tanto per non accontentare il pirlotto bello

Se lui si attacca alle strutture atomo che non esistono,che conosco 3 

concetti del C (aspetto di sapere quali siano cosi posto un 4 concetto 

che conosco) e tutte le altre arrampicate sugli specchi che ha fatto, 

questo e' il minimo che  mi e' dovuto.




 in quanto c++ ritenuto linguaggio non sicuro



C++ è insicuro. di fatto, non ritenuto. è di fatto molto molto dispendioso utilizzarlo in sicurezza per l'inerente obsolescenza e complessità che investono la definizione stessa del linguaggio, la necessità di analisi statica sempre a  prescindere, etc.

è lo stato ufficiale delle cose e dopo decenni di finta sordità(...) è nelle linee guida ufficiali. 

chiunque asserisce diversamente è un fottuto cazzaro e deve levarsi dai coglioni, perchè l'Informatica è una cosa seria. "tolleranza zero" cit.


 e' perfettamente corretta la frase



Non esiste nessun lungo, interminabile "dibattito" con te. Non c'e` spazio per il dibattito. E` come dicono le regole della lingua italiana e basta: si dice "in modo proficuo", non "con proficuo", CAPRA.



Devi imparare a dire "si`, hai ragione, ho sbagliato", perche` ormai sei un ometto.


 e' messo in mezzo



Si parlava di catturare dei NPE, demente. Gli assert non c'entrano una minchia. 


Il 06/04/19 09:52, 4ndre4 ha scritto:


Quando lo farai tu,ti seguiro a ruota




 La aspetto dagli anni 90



come già detto non salverà. quanto previsto è obsoleto e poco espressivo rispetto alle possibilità che si hanno altrove. basta vedere il lavoro e le pubblicazioni di persone come Gary T.Leavens, o cosa usiamo nella industry con successo. 



sicuramente il fatto che si abandoneranno le macro (diocane. siamo qui a parlarne nel 2019, eh) e che (spero) copriranno tutta la std:: sarà buono. l'error handling ancora basato sulle eccezioni per le precondizioni è imbarazzante. ma questo è quello che tocca a non poter fare l'encoding di quanto necessario nel type system stesso[*]. 

chi s'accontenta d'aspettare, indietro resta.



[*] Robin Milner. ML, 1973. da ridere/piangere, come si preferisce.


 questo e' il minimo che  mi e' dovuto.



Nessuna arrampicata. Sono tutte cose che hai provato tu stesso sul campo. 

Le "strutture atomo" non esistono. Di C sai quanto un calzolaio sa di fisica nucleare, e sulla cultura generale e la grammatica italiana e` meglio stendere un velo pietoso. 

Ormai sono convinto che hai dei seri problemi psicologici e a te non e` "dovuto" un bel niente.




 Quando lo farai tu,ti seguiro a ruota



Perche`, le due cose sono dipendenti? Finora, nel ribatterti, non ho commesso sbagli. Per cui non c'e` niente per cui io debba chiedere scusa. Tu, invece, sei in scivolata costante su una montagna di puttanate, da ANNI, generando la valanga piu` devastante nella storia dell'umanita`. Ormai, che tu chieda scusa, non e` piu` sufficiente. L'unico modo che hai per recuperare e` sperare che la terra ti si apra sotto i piedi, tu venga inghiottito e trascorrano quei 3 secondi fatidici dopo il quali il mondo si sia dimenticato di te. Spero che tutti questi congiuntivi non ti abbiano fatto ubriacare.


 





A biglie ci giocavo da piccolo ma il nulla del nulla eccolo qua come 

esperto c++ di static_assert


 così cretino da insistere... 



ehm...


Il 06/04/19 09:36, cpascoshi ha scritto:


Te l'ho scritto da un'altra parte

Buttati su linguaggi piu alla tua portata.

C++ e' sicuro quanto basta,ne di piu ne di meno.

Non serve un linguaggio che faccia da mamma, ma un linguaggio potente 

dove il programmatore puo fare qualunque cosa ed in modo efficiente.

Inoltre non e' quella bestia nera che vuoi far credere,occorre imparalo 

e saperlo usare.




 100%,affermazione sua)



Coglione, tu non fai test, per cui non puoi esprimerti in merito. 

Quando si scrive una classe, lo unit test di quella classe DEVE coprire TUTTI i path di quella classe. 

Il test coverage di ogni classe DEVE essere il 100%. 

Che non corrisponde a dire che il test coverage dell'intera applicazione debba essere il 100%. 

Chiaro, pirlone?


Il 06/04/19 09:53, 4ndre4 ha scritto:


Pirlotto,vuoi catturare un NPE ?



Ci sono tre  modi



1) metti il programma sotto debugger ed intercetti



2) fai una assert particolare che ti lancia una eccezione

    poi aggiungi una  istruzione assert(p)



3) fai una if e decidi tu che fare



    if (p)

	//faccio una cosa

else

	// faccio altro per nullptr

;





Cosa e' che non c'entra una minchia l'assert ?


 ridere/piangere, come si preferisce. 



sempre a proposito dei "bei tiemp e 'na vota", i modules saltano anche questo giro (20++). bei tempi quando scrivevo tools usando namespaces e functions in modo "non convenzionale", e pensavo prima o poi arriveranno i '70 e anche c e c++ avranno la programmazione modulare. see...


 e saperlo usare.



Che e` come dire che una sega elettrica e` sicura quanto basta, occorre imparare ad usarla. Peccato che possa ancora scivolare dalle mani del piu` bravo boscaiolo del mondo e tirargli via una gamba. Se esistono tool che ti consentono di tagliare alberi come e meglio di una pericolosa sega elettrica, ma aggiungendo la protezione delle gambe, continuare a insistere che "la sega elettrica senza protezioni va benissimo, basta saperla usare", e` da coglioni del tuo calibro. Cioe` grossi coglioni. 



Vedi? E` inutile cercare di intavolare discussioni tecniche con te e cercare di spiegarti della roba. Non hai ne` i mezzi culturali, ne` i mezzi intellettivi, ne` l'esperienza per capire certe cose. Bisognerebbe prenderti da zero e spiegarti i concetti coi disegni.

Questo ne, pero`, non e` il tuo corso di recupero scolastico. 




 3) fai una if e decidi tu che fare



LOL :D



Non si puo` neanche cominciare a dire quanto tu non capisca un cazzo di programmazione, quella seria, fatta su applicazioni reali, in un contesto professionale. Sei veramente imbarazzante :)


Il 06/04/19 09:56, cpascoshi ha scritto:


Le macro non saranno abbandonate in quanto utili in qualche contesto e 

la libreria std gia oggi non e' costruita con macro per funzionalita 

pubbliche (per quel che ricordo solo gli header C)

Ma l' ultima parola sta agli implementatori delle lib std.

Lo std non obbliga ad usare le macro per implementare la lib std

Le precondizioni (ma piu correttamente tutta la CP) attualmente sono 

basate su assert la quale e' customizzable dall'utente come vuole (puo 

crearsi le proprie macro assert come desidera)

static_assert esiste gia per la CP a compile time.

Da c++20 esiste ufficialmente tutto un meccanismo di CP

Sta agli implementatori dei compilatori deciderne il comportamento (o i 

comportamenti) in  caso di failure,non e' un problema di linguaggio 

quindi.


 C++ e' sicuro quanto basta,ne di piu ne di meno.



per fortuna sei solo un cazzaro senza mestiere, se davvero tu mettessi le 

mani sul codice serio saresti un pericolo pubblico. 


 se questo e' il livello a cui arrivi



"ma dai ma dove vai con quel pallone/array_non_contiguo! non fare così torna qui! giochiamo!"


 



Caro pirlotto,pensala come vuoi

Intanto fammi "trollare" un po sulle strutture atomo




 





E' arrivato il tuttologo insultatore


Il 06/04/19 10:23, cpascoshi ha scritto:


Vuoi dire che i moduli (keyword modules) non sarano implementati in c++20 ?

A me sembrava il contrario ma non e' che mi sia interessato piu di tanto 

su questo aspetto.




 





Ma se ti ho appena risposto




Il 06/04/19 10:40, rootkit ha scritto:


Peccato che le mani sul codice ce lo butto

E di pirlate ne ho viste parecchie su codice scritto da altri

E non e' una questione di linguaggio (il codice che ho letto era scritto 

in java,c,c++ perl,ed altri linguaggi)

Un programmatore cane rimane un cane,qualunque linguaggio tu li dia in mano.




Il 06/04/19 10:26, 4ndre4 ha scritto:


Vediamo un po

Tu hai affermato che un NPE non la intercetti neanche

Bene

Poi hai affermato che vuoi intercettare una NPE e ti ho risposto



Sentiamo un po

Quali sarebbero gli altri modi che voi esperti di progettazione sw 

professionale usereste per intercettare una NPE?

La domanda e' ovviamente retorica in quanto tu stesso hai affermato che 

una NPE non la intercetti

Quindi ti contraddici pure

Ma sono proprio curioso di conoscere questi modi professionali






 





Il solito "reductio ad personam"




 



Su ILI non ho mai postato test



la relazione "poiche su ILI non ha mai postato test allora non fa test"

e' semplicemente una illazione

Infatti potrebbe essere vero o falso.




 mestiere,



è un fottuto mongospastico del cazzo. degno esemplare di una vasta specie di cerebrolesi autoincensanti che rovinano quotidianamente l'Informatica tutta.

sembra uno di quei merdaioli ladri ignoranti amministratori di condominio ladri che non negano tutto, pure la phessa della madre.



ahem.


 Tesi: 



Hahahahaha sto fijo de na mignotta è troppo forte ma da dove cazzo esce??!! è uno spasso sto fesso davvero ci crede ch'è figo :O

Lo sapevo che si meritava l'apertura di un thread personale non mi sbaglio mai biawawawahaha


Il 06/04/19 11:33, cpascoshi ha scritto:


Aspetta che ti seguo con le risate




 Semplice



Eh già! Ma allora com'è che poi non capisci un cazzo, manco gli array non contigui?! Fosse che fosse che 6 1 cogl1 ?!


 



esperto bello

Gli array non contigui sono una invenzione del pirlotto

Io ho scritto possibili implementazioni di quello che il pirlotto 

considera array non contiguo

Di piu non posso fare




ma stai zitto coglione


 



Ma non scrivere neanche pirla se non sei capace di spiegare quello che 

scrivi




 Gli array non contigui sono una invenzione del pirlotto



Ma che porcanadonna dici COSA PORCAMADONNA DICI CAPRA COSA CAZZO DICI

ma ancora non hai capito un cazzo 



gli array non contigui esistono o addirittura predatano la creazione del FORTRAN (1957), come prodotto di operazioni di slicing



Ma come te lo devo dire che sei tutto scemo. CRETINO taci quando parlo io che non hai ne' arte ne' parte per rispondermi TACI CRETINO TACI CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA cit.


 parecchie su codice scritto da altri 



manfatti è come dico io tu lavori sulla merda dove mettono le mani cani e 

porci, mica su progetti seri insieme a gente con le palle. 


 Prendiamo una struttura qualunque considerata atomo



LOL :D Cioe` la tua tesi contiene l'ipotesi? :D 



Ipotesi: i triangoli non esistono

Tesi: prendiamo una struttura definita triangolo



Bestia, quando - come nel tuo caso - si gioca che non degli enormi massi, si finisce per essere schiacciati. Non scomodare la matematica. Sei una formica. Ti cade addosso e ti spiattella. 


 E' arrivato il tuttologo insultatore



Cioe`, fammi capire, io ti smerdo platealmente sul test coverage e tu rispondi che l'uva e` acerba?


 Ma se ti ho appena risposto



Io non ti ho fatto nessuna domanda. Le domande che io ti faccio sono SOLO retoriche.


 Un programmatore cane rimane un cane,qualunque linguaggio tu li dia in mano.



E tu lo sai bene.


 Tu hai affermato che un NPE non la intercetti neanche



Falso.


zitto.

coglione.


 basate su assert 



Ma sei scemo? 

Ma di che parli? 

Ma l'italiano no, eh?

Ma "attualmente sono basate" cosa? 



Ma non rispondere che è meglio va


i "linguaggi con mamma". ma che asino ciuccigno, ma che asino.



ma che cerebroleso del menga. uguale a quei mentecatti ignoranti presuntuosi del cazzo che in passato si opponevano all'utilizzo di un lint per sopperire alle carenze del type system del C. "Basta il linguaggio" - spastico uguale e preciso. 



nel mondo reale creiamo proposals, tools, libraries per l'ownership, l'enforcing di modelli e policies/guidelines, static analisys aggiuntiva ad integrazione della (insufficiente) type safety. 



Stroustrup, e gli altri supportano e divulgano questi lavori, nella speranza di limitare bugs e danni *onnipresenti* nelle code bases C++ da sempre.



e sto merdaiolo se la tira, lui e la mamma che chissà che cazzo gli avrà fatto da piccolo per rivederla ossessivamente nei linguaggi di programmazione...



e in più si permette di dubitare dello scritto altrui - stostronzo.



non sai un cazzo di niente. se per caso sul serio lavori in ambito informatico, ritirati per sempre. levati dai coglioni. spa-ri-sci



Studia cretinoquick studia e non permetterti di rispondere agli altri con le tue puttanate. 

Studia studia *studiaaa*. 



Ascolta Stroustrup, Dos Reis, il sottoscritto e gli altri qui presenti che gentilmente ti stanno erudendo, invece di pensare di saperne più di tutti. 

CRETINO. BUFFONE. BU-FFO-NE





"""

A brief introduction to C++’s model for type- and resource-safety



Bjarne Stroustrup (Morgan Stanley)

Herb Sutter (Microsoft)

Gabriel Dos Reis (Microsoft)



Abstract



You can write C++ programs that are statically type safe and have no resource leaks. You can do that 

simply, without loss of performance, and without limiting C++’s expressive power. This model for type-

and resource-safe C++ has been implemented using a combination of ISO standard C++ language 

facilities, static analysis, and a tiny support library (written in ISO standard C++). This supports the 

general thesis that garbage collection is neither necessary nor sufficient for quality software. This paper 

describes the techniques used to eliminate dangling pointers and to ensure resource safety. Other 

aspects – also necessary for safe and effective use of C++ – have conventional solutions so they are 

mentioned only briefly here.



The techniques and facilities presented are supported by the Core C++ Guidelines [Stroustrup,2015] and 

enforced by a static analysis tool for those [Sutter,2015].

"""



http://www.stroustrup.com/resource-model.pdf




Altra figura-dimmerda che hai fatto a rispondermi, bravo enoquick bravo. sei bravissimo. CUGGHIUNE



Studia capra *studia* CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA CAPRA  cit.


 Aspetta 



Il 06/04/19 12:24, cpascoshi ha scritto:


fammi una implementazione in c di questa struttura (quella che usa il 

FORTRAN) e ti dimostero che non e' un array




Il 06/04/19 16:34, 4ndre4 ha scritto:


Tu non smerdi una beata fava

Fai solo insinuazioni.




Il 06/04/19 16:27, 4ndre4 ha scritto:


Pirlotto bello,va a studiare matematica





Ipotesi:

Un'ipotesi (dal greco antico ὑπόθεσις hypothesis, composto da hypo, 

"sotto" e thesis, "posizione", ovvero supposizione) è la premessa 

sottesa ad un ragionamento o a una dimostrazione.



Tesi – enunciato, o una proposizione, di cui si vuole accertare la 

validità tramite una dimostrazione, a partire da un'ipotesi e da assiomi



Teorema: una tesi validata




 





Stai vaneggiando,tu non sai neanche cosa sia la CP




 



Sono pirlate,non domande




Il 06/04/19 14:53, rootkit ha scritto:


Questa e' un altra bella illazione (oramai il conto tende ad infinito)

Non esiste correlazione tra correggere programmi altrui con fare o non 

fare nuovi progetti.




Il 06/04/19 16:43, 4ndre4 ha scritto:


Pirlotto, non esiste una classe fatta da me con un metodo di 200 righe

Con 5/6 if annidate non ne parliamo

Quando ne vedrai (il che e' impossibile) allora potrai alzare il tuo 

ditino del c.. e indicando pronunciare la frase "vedete ? ecco un pirla 

che scrive metodi di 200 righe"



Presa da Scarface,film di Brian De Palma del 1983








Il 06/04/19 16:43, 4ndre4 ha scritto:


No. Ti ho semplicemente detto che, in un'applicazione reale, cioe` 

quelle che tu non vedi neanche col binocolo, c'e' poco che tu possa fare 

per gestire un NPE





Nella frase intendevi niente visto che ti ho messo una bella assert




 fammi una implementazione in c di questa struttura



ma che cazzo c'entra il C? :D 



Sei veramente un demente senza speranze.


 Fai solo insinuazioni.



Io (e altri qui dentro) ti ho smerdato alla grande. Ma un grosso aiuto, lo ammetto, ce lo hai dato tu. Sei triste. Molto triste.


 va a studiare matematica



Gia` fatto. Taci, bestia.


 Sono pirlate,non domande



Sono domande retoriche. Le pirlate le scrivi tu. Sono domande retoriche tese a dimostrare quanto tu non capisca UNA MAZZA di niente. Vergognati.


 Questa e' un altra bella illazione (oramai il conto tende ad infinito)



No, no, ci ha preso benissimo. 



Hai mai giocato a Indovina Chi? Se tu continui ad offrire indizi, post dopo post, che portano dritti al vecchio calvo e sdentato, non e` che te ne puoi uscire con "ehi! Sono illazioni! Io potrei essere la tipa gnocca rossa!"


 Quando ne vedrai



Certo che esiste, coglione, e lo sappiamo bene entrambi. Esistono tue classi con metodi lunghi quanto un braccio, esistono molti livelli di if annidati nei metodi, con una complessita` cognitiva enorme. Lo sappiamo benissimo entrambi. Da un lato, comunque, potresti aver ragione nel dire che "non esistono tue classi"; solo perche` tu NON SCRIVI classi, non lo sai fare e lo hai dimostrato. 



Il paragone tra te e Scarface non rende. Sarebbe piu` appropriato con... hummm.. fammi pensare... Gatto Silvestro?


 Nella frase intendevi niente visto che ti ho messo una bella assert



Non hai capito un cazzo come al solito, bestia. Non chiedermi di continuare a spiegarmi cosa intendevo. Non hai le competenze e la cultura informatica per capire la risposta. Sorry.


 fare nuovi progetti.



esiste la correlazione fra correggere programmi altrui e lavorare su 

progetti a criticità nulla, in team sconclusionati e senza metodo, con 

alta rotazione di programmatori svogliati che lasciano (spesso di 

proposito) merda ai posteri.



situazioni che possono capitare a tutti per carità, ma che solitamente un 

professionista sfancula a tempo zero e comunque non se ne va a giro a 

vantarsene come fosse una cosa ganza a dimostrazione che si è all'altezza 

di lavorare su codice critico.



poi capisco che fixare bug altrui dia quella sensazione di superiorità 

relativa e che ciò gonfi in modo abnorme la tua autostima. però insomma 

specialmente ad una certa età uno dovrebbe dovrebbe capitalizzare meglio 

l'esperienza, se ce l'ha ovviamente.






Il 07/04/19 00:26, 4ndre4 ha scritto:


Se fossi un po meno capra del tui amico sai che i compilatori FORTRAN di 

oggi sono fatti per lo piu  in C ?

Credevi che li facessero in java ?




 





Vergognati tu, non sei capace a fare,dicosi una,discussione seria su 

qualche argomento

L'unica cosa che sai fare sono delle grosse pirlate,illazioni ed insulti




 



Nessuno si sta vantando qui

Preferisco di gran lunga fare progetti che correggere le schifezze fatte 

da altri

Ma comunque capita, e' lavoro



 





Fammene vedere una



Il 07/04/19 00:41, 4ndre4 ha scritto:


Allora bestia

Deciditi un po

Un NPE lo intercetti o no ?

E so lo intercetti quali sono questi strumenti che voi "esperti" di 

progetti usate ?




 Credevi che li facessero in java ?



LOL :) 



Io mi sto scompisciando a pensare il livello di conversazioni tecniche che tu possa mai avere con quei quattro imbecilli che lavorano con te e che (parole tue) ti tollerano. Semmai, poi, certa gente esista. Io credo che te li sia persino inventati.  Non credo vi possa mai essere nessuno cosi` santo da poter collaborare con un colossale cretino spumeggiante di cretinita` come te. Sarebbero botte, occhi al cielo, bestemmie tutti i giorni. I vaffanculo e le porte sbattute non si conterebbero.


 qualche argomento



"La proiezione è un meccanismo di difesa arcaico e primitivo che consiste nello spostare sentimenti o caratteristiche propri, o parti del Sé, su altri oggetti o persone."



https://it.wikipedia.org/wiki/Proiezione_(psicologia)



 Fammene vedere una



Ne vedi tutti i giorni. 


 Un NPE lo intercetti o no ?



Taci, fanfarone merdaiolo.


 e' semplicemente una illazione



Mah. Piu' che un'illazione e' una tua affermazione a chiare lettere. Non 

hai forse affermato che i test non li fai tu perche' li fanno altri? 

(probabilmente perche' non si fidano, mi vien da dire)




 (probabilmente perche' non si fidano, mi vien da dire)



Sara` una di quelle attivita` di basso livello a cui lui non scende. Tipo i "branchs". 




 non voglio targliarmi le gambeeeeee 



Dov'è la tua risposta al paper postato, a Stroustrup, Sutter, Dos Reis, me, i presenti nell'ng e il resto dei normodotati mondiale?



Eh che c'è ti sei ficcato la lingua in culo? 




 . Tipo i "branchs". 



Proficuo! i branchs acchiapp i branchs! Muahahahaha


Il 07/04/19 09:07, Dr.UgoGagliardelli ha scritto:


Non proprio,la frase era leggermente differente




 Non proprio,la frase era leggermente differente



allora dì chiaramente come stanno le cose.

altrimenti continua a dire le cose a mezzo ma non frignare se tutti gli 

altri arrivano alla stessa conclusione.


 Non proprio,la frase era leggermente differente



Enoquick: "Ehi, ragazzi, ho conosciuto una bionda mozzafiato!"



Amici di enoquick che lo tollerano: "Davvero? (tu? Strano)...insomma, te la da`?"



Enoquick: "Ha detto che difficilmente me la da`, piuttosto la da` ad altri"



Amici di enoquick che lo tollerano: "Ah... (ecco)... quindi ha detto che non te la da`"



Enoquick: "E` una vostra illazione, lei ha detto qualcosa di leggermente differente!"




 Non proprio,la frase era leggermente differente



sicuro di saper dare una risposta chiara, o hai "bisogno della mamma" come per scrivere i tests? c _ _ _ _ _ _ ...


Il 07/04/19 14:29, rootkit ha scritto:


Avevo gia risposto e chiaramente





L'ho solo tradotta in italiano, compito non facile quando ci puoi 

trovare dei termini inventati.

In ogni caso, questo e' esattamente cio' che si e' percepito.


 Avevo gia risposto e chiaramente



ok, quindi la conclusione a cui si è arrivati è quella giusta.


 Semmai, poi, certa gente esista.



Ipotizzi la sindrome dell' amico immaginario?

Magari e' proprio lui che si chiama Proficuo!

:-)






 :-)



Eh, non ci crederai, ma e` il cane di ciccio!!

A volte, la vita...



Da notare che a enoquick piace usare spesso la metafora del tribunale. Avvocato della difesa di qua` e di la`, ma ignora del tutto il concetto di reticenza...




 Avevo gia risposto e chiaramente



Nah, tu non sei mai chiaro, a parte quando scrivi cazzate. Quelle, si`, sono belle chiare. Su cosa tu faccia o non faccia non ti sbottoni. perche` sai bene che appena lo fai ti attiri addosso una valanga di risate. 



Gli unit test, per tua informazione, non sono un'attivita` compatibile con l'avverbio "difficilmente". O li fai o non li fai. O li fai regolarmente, o non li fai. Non e` che scrivi uno unit test ogni 100 classi :D ... e, soprattutto, non te li scrivono di certo gli altri. Anche perche` bisognerebbe scrivere software in maniera test-driven il piu` possibile, il che vuol dire che i test diventano parte integrante dello sviluppo. Tutta roba che ovviamente tu ignori bellamente, perche` lavori coi char e le strutture atomo. Mica perdi tempo tu! LOL :D


 



Gatto Silvestro è simpatico. Anoquick è solo spumeggiante.



-- 

The three most dangerous things in the world are a programmer with a 

soldering iron, a hardware type with a program patch and a user with an 

idea.


Il 08/04/19 00:00, rootkit ha scritto:


Io non so a quale conclusione tu sia arrivato




Il 07/04/19 23:51, Dr.UgoGagliardelli ha scritto:


 > Comunque difficilmente scrivo test,li fanno altri.



Enoquick 25 marzo





Non mi sembra che sia scritto  in giapponese








 Io non so a quale conclusione tu sia arrivato



Quella a cui sono arrivati tutti: che tu non fai unit test.


 Non mi sembra che sia scritto  in giapponese



"Gli unit test, per tua informazione, non sono un'attivita` compatibile con l'avverbio "difficilmente". O li fai o non li fai. O li fai regolarmente, o non li fai. Non e` che scrivi uno unit test ogni 100 classi :D ... e, soprattutto, non te li scrivono di certo gli altri. Anche perche` bisognerebbe scrivere software in maniera test-driven il piu` possibile, il che vuol dire che i test diventano parte integrante dello sviluppo. Tutta roba che ovviamente tu ignori bellamente, perche` lavori coi char e le strutture atomo. Mica perdi tempo tu! LOL :D"



4ndre4 - 8 aprile, ore 08:06