UE e ebook, chiari di IVA

Anche se un libro è un libro in qualsiasi formato esso sia, è la natura stessa del commercio elettronico a necessitare di un'eccezione: una questione di chiarezza

Roma – La Corte di Giustizia dell’Unione Europea ammette che vi è una disparità di trattamento tra libri cartacei e digitali, ma che è giustificata dalla necessità di mantenere uniforme la tassazione del commercio online .

A stabilirlo è la decisione emessa nella Causa 390/15 che in pratica finisce per ricalcare le conclusioni dell’avvocato generale Juliane Kokott emesse sul caso lo scorso settembre , arrivando ad una conclusione però più netta sulle disposizioni europee che impongono l’esclusione degli ebook, in quanto servizio del commercio elettronico, dalla disciplina dell’IVA agevolata prevista per i libri .

Secondo alcuni paesi, tale situazione comporta una vera e propria discriminazione da parte dei sistemi di tassazione nazionale tra libri cartacei e ebook: ai primi, in base alla direttiva 2006/112, gli stati membri possono applicare un’aliquota IVA ridotta, lasciando le pubblicazioni digitali all’aliquota normale, con eccezione dei libri digitali venduti su supporti fisici (come un CD).

Il caso che ha portato i giudici di Lussemburgo a dibattere di tale argomento è quello che vede la Corte Costituzionale polacca rinviare la questione agli organi europei, dopo essere stata chiamata in causa circa la validità delle disposizioni relative alla tassazione del settore degli ebook e alla presunta discriminazione rappresentata da una tassazione più elevata di tali beni rispetto ai libri cartacei. La Corte di Giustizia dell’Unione Europea era intervenuta sulla questione già a marzo 2015 , bocciando le misure con cui Francia e Lussemburgo avevano abbassato la tassazione sugli ebook equiparandola quella dei libri, e già nel 2012 Bruxelles aveva respinto l’abbassamento delle aliquote sugli ebook dei due stessi paesi.

La Polonia, peraltro, era con Italia, Francia e Germania tra i paesi che chiedevano alla Commissione Europea di ripensare alla tassazione dei libri digitali equiparandoli a quelli di carta , all’insegna della logica che ad essere equiparati devono essere i contenuti, e non i mezzi che li veicolano.

Nella recentissima decisione della Corte di Giustizia dell’Unione Europea si legge infatti che non si può parlare di violazione del principio di neutralità fiscale (declinazione del principio della parità di trattamento che impone che situazioni comparabili non siano trattate in maniera diversa) tra il trattamento riservato ai libri digitali rispetto ai libri cartacei perché vi è una motivazione del tutto giustificata per tale decisione.

Per quanto infatti, come già rilevato dall’avvocato generale, l’obiettivo sotteso all’applicazione di un’aliquota IVA ridotta alla fornitura di libri consiste nell’incentivare la lettura, che si tratti di letteratura, di pubblicazioni tecniche, di giornali o di periodici e che pertanto si debba sicuramente constatare “che la fornitura di libri digitali su qualsiasi tipo di supporto fisico, da un lato, e la fornitura di libri digitali per via elettronica, dall’altro, costituiscono situazioni comparabili” rispetto a tale obiettivo, e di conseguenza tali disposizioni “instaurino una differenza di trattamento tra due situazioni peraltro comparabili sotto il profilo dell’obiettivo perseguito dal legislatore dell’Unione”, tale disparità è giustificata e proporzionale.

Come chiarito dal Consiglio e dalla Commissione in risposta ai quesiti della Corte, “l’esclusione dell’applicazione di un’aliquota IVA ridotta alla fornitura di libri digitali per via elettronica (…) va intesa come parte di un sistema particolare di IVA per il commercio elettronico (…) necessario assoggettare i servizi forniti per via elettronica a norme chiare, semplici e uniformi, affinché l’aliquota IVA applicabile a tali servizi potesse essere stabilita con certezza e la gestione di tale imposta da parte dei soggetti passivi e delle amministrazioni fiscali nazionali fosse così facilitata”.

In questa nuova decisione, peraltro, la Corte nega quanto precedentemente affermato nella decisione con cui Francia e Lussemburgo erano state condannare per l’IVA abbassata estesa agli ebook : in quel caso era stata contestata la diversa natura dei prodotti (libri cartacei) rispetto al servizio costituito dalla fornitura di ebook. Ora, invece, si legge nelle conclusioni che “poiché le norme sull’IVA mirano, in linea di principio, a tassare allo stesso modo il consumo di beni e quello di servizi, questa diversa qualificazione non appare determinante”. Insomma, cambiano le motivazioni, ma non il risultato: un libro non è un ebook.

Claudio Tamburrino

La tua email sarà utilizzata per comunicarti se qualcuno risponde al tuo commento e non sarà pubblicato. Dichiari di avere preso visione e di accettare quanto previsto dalla informativa privacy

  • Sam scrive:
    ottimo IDE
    Davvero ottimo IDE. Spero che abbiano risolto il problema delle librerie dei reporting services per winforms (e credo anche asp.net) che non venivano riconosciute nonostante fossero installate correttamente nell'ultima rc della versione 2017
    • xte scrive:
      Re: ottimo IDE
      Non sviluppando e non usando Windows riporto solo un ricordo dei tempi dell'uni: - crea un progetto C/C++ (e già questo è assurdo giacché sono linguaggi diversi anche se orribilmente mescolati da troppi, docenti inclusi) - crea tre file, uno col main(), uno con un header generico ed uno che implementa l'header:main.c --------#include "lib.h"...lib.h ---------void foo()...lib.c -----------void foo()...compila senza problemi, nessun lamento sulla doppia definizione di foo(), invece:main.c --------#include "lib.h"...lib.h ---------#ifndef LIB_Hvoid foo()...#define LIB_H#endiflib.c ---------void foo()...Non compila non mi ricordo con che lamentela...
      • Hopf scrive:
        Re: ottimo IDE
        void foo()...
        Non compila non mi ricordo con che lamentela...forse era STUDIA capra :D
        • xte scrive:
          Re: ottimo IDE
          Veramente la teoria dice che una funzione non può esser definita due volte, onde per cui se non uso la "gabbia" di ifndef il compilatore si troverà due definizioni della stessa funzione, una nell'header ed una nell'implementazione e non dovrebbe piacergli. Visual Studio per ignote ragioni non si faceva problemi con la doppia definizione (solo se in files diversi se ricordo bene) ma non gradiva una classicisimma tecnica di preproXXXXXre per evitarla...Cosa non avrei considerato (che manco l'allora docente considerò giacché neanche lui riuscì a spiegare questo comportamento errato)?
      • gigio scrive:
        Re: ottimo IDE
        void foo()...
        Non compila non mi ricordo con che lamentela......."ti ho sgamato !! sei un talebano dell'open e io non ti faccio compilare, tiè !!"
      • Sam scrive:
        Re: ottimo IDE
        Ti dirò: principalmente sviluppo in C# e gli faccio compilare la libreria DLL . Poi la parte peggiore: la DLL la richiamo all'interno di procedure scritte in Visual FoxPro 9 (già ci sono ancora ERP scritti in questo linguaggio :) utilizzando wwDotNetBridgeComunque mai avuto problemi...
      • programmato re scrive:
        Re: ottimo IDE
        void foo()...
        Non compila non mi ricordo con che lamentela...ti dirà che non trova il prototipo di funzione quando compila il mained è giusto che sia cosìcerto che pur di fare da detrattore di MS uno se le inventa tutte
        • xte scrive:
          Re: ottimo IDE
          Il C++ mooolto tempo fa era un superset del C, vero, mi sembra però che già da anni un certo Stroustrup abbia detto che sono decisamente due linguaggi diversi... Che dici, s'è sbagliato?Quanto alle orribili mescolanze, solo di didattico, trovi inclusioni miscelate di librerie C e C++ (tipo stdlib.h al posto di cstdlib), vecchie trovate d'un tempo (tipo iostrem.h) e tanto altro, e le trovi anche nei libri! Questo senza voler arrivare ai void main o altre banalità :DSui listati: se vuoi prova con gcc, icc, sunpro, ... tutti compileranno il II senza problemi e rifiuteranno il primo. Solo Visual Studio (mi pare la v6, sono un po' vecchio) fa il contrario.
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Il C++ mooolto tempo fa era un superset del C,
            vero, mi sembra però che già da anni un certo
            Stroustrup abbia detto che sono decisamente due
            linguaggi diversi... Che dici, s'è
            sbagliato?Ma infatti non ho detto che non sono diversi ma che hanno delle cose in comune e si differenziano per altre cioè tutte quelle che fa diventare il c++ un linguaggio ad oggetti.Quello che lo rende veramente differente dal c e quello che lo rende veramente potente, a parte le classi, sono i template
            Quanto alle orribili mescolanze, solo di
            didattico, trovi inclusioni miscelate di librerie
            C e C++ (tipo stdlib.h al posto di cstdlib),
            vecchie trovate d'un tempo (tipo iostrem.h) e
            tanto altro, e le trovi anche nei libri! Questo
            senza voler arrivare ai void main o altre
            banalità
            :DSinceramente non le trovo così orribiliA volte usare le librerie c al posto delle librerie c++ rende il programma più veloce
            Sui listati: se vuoi prova con gcc, icc, sunpro,
            ... tutti compileranno il II senza problemi e
            rifiuteranno il primo. Solo Visual Studio (mi
            pare la v6, sono un po' vecchio) fa il
            contrario.rettifico quello che avevo detto prima, non avevo letto bene il programma: anche il secondo dovrebbe compilare, appena posso proverò con vs2015 e gcc
          • xte scrive:
            Re: ottimo IDE

            Sinceramente non le trovo così orribili
            A volte usare le librerie c al posto delle
            librerie c++ rende il programma più veloceHem, la libreria standard C è stata da eoni portata in C++ opportunamente inserita nel namespace std, se hai differenze di performance realmente rilevanti penso che il problema sia più nell'utilizzatore della libreria che non in quest'ultima...
            rettifico quello che avevo detto prima, non avevo
            letto bene il programma: anche il secondo
            dovrebbe compilare, appena posso proverò con
            vs2015 e gccOki, ma il fatto è che il primo non dovrebbe compilare per doppia definizione di foo()... Questo è un esempio banale ma se il compilatore accetta la sovrascrittura di funzioni pensa a che heisenbugs puoi trovare su grosse basi di codice sviluppate nel tempo tra n bipedi diversi...
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: xte

            Sinceramente non le trovo così orribili

            A volte usare le librerie c al posto delle

            librerie c++ rende il programma più veloce
            Hem, la libreria standard C è stata da eoni
            portata in C++ opportunamente inserita nel
            namespace std, Il codice delle librerie c e c++ è diverso in quanto la seconda fa largo uso dei template che non esistono nel c.Una operazione di I/O in c la fai in modo diverso rispetto al c++ perchè il secondo usa le classi per l' I/OPer esempio:in c: printf ("hello worldn");in c++: std::cout realmente rilevanti penso che il problema sia più
            nell'utilizzatore della libreria che non in
            quest'ultima...Ahahahahah...si un altro modo per dire (come il primo): sei tu che non sei capace di programmare.Detto poi da uno che ha affermato di non essere sviluppatore....Io sto parlando di performance testate sul campo, cioè: stesso programma scritto con le librerie c e le librerie c++: il codice effettivo che produce il compilatore è diverso.Le performance rilevate sono diverse. Se hai informazioni diverse per favore portale con esempi allegati.

            rettifico quello che avevo detto prima, non
            avevo

            letto bene il programma: anche il secondo

            dovrebbe compilare, appena posso proverò con

            vs2015 e gcc
            Oki, ma il fatto è che il primo non dovrebbe
            compilare nel primo post dicevi il secondo
            per doppia definizione di foo()...quale doppia definizione di foo() ?
            Questo è un esempio banale ma se il compilatore
            accetta la sovrascrittura di funzioni pensa a che
            heisenbugs puoi trovare su grosse basi di codice
            sviluppate nel tempo tra n bipedi
            diversi...dove la vedi la sovrascrittura di funzioni nel programma ?
          • xte scrive:
            Re: ottimo IDE
            Mi sa che tu non hai proprio manco sviluppato a livello didattico, per lo meno lo spero visto quel che scrivi.Tu hai scritto che non vedi nulla di male a mescolare C e C++ e hai chiesto esempi di orrori, che ho nominato: te ne ho citato alcuni e tu, non riuscendo o non volendo, hai quotato alla $OrganoRiproduttivoDiCanide mescolando quel che ho scritto io con quello che hai scritto tu. Ora, forse non sapendo che dire, tiri in ballo i template che non c'entrano un tubo anziché rispondermi perché il codice portato in cstdlib dovrebbe esser più lento di stdlib.h. Non sei stato manco in grado di leggere, non il codice ma l'italiano del primo posto dove dico che Visual studio compila il primo listato e non il secondo, quando ogni compilatore standard fa l'esatto contrario. Non sembra manco che tu sappia perché si mette la "gabbia" ifndef ne, evidentemente, come funziona un compilatore.Scusa la durezza ma diciamo che opinioni, fatti ecc si discutono pacatamente ma quando fai simili sparate te le cerchi!
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Mi sa che tu non hai proprio manco sviluppato a
            livello didattico, per lo meno lo spero visto
            quel che
            scrivi.Tu invece hai dichiarato di non essere sviluppatore e la tua opinione vale di più a quanto pare Non solo, sei anche in grado di valutare se uno è programmatore professionista o no....sticaxxi !!! sei un genio praticamente !!!
            Tu hai scritto che non vedi nulla di male a
            mescolare C e C++ e hai chiesto esempi di orrori,
            che ho nominato: Tu hai nominato cose senza spiegare perchè sarebbero orrori... E poi hai detto: "solo di didattico"; allora guarda: visto che sei una specie di genio, scendiamo pure nel non-didattico
            te ne ho citato alcuni e tu, non
            riuscendo o non volendo, non riuscendo o non volendo a fare cosa ??
            hai quotato alla
            $OrganoRiproduttivoDiCanide mescolando quel che
            ho scritto io con quello che hai scritto tu. Se hai notato questo, allora la cosa più semplice da fare e dire: "volevo dire altro" e poi spieghi
            Ora,
            forse non sapendo che dire, tiri in ballo i
            template che non c'entrano un tubo anziché
            rispondermi perché il codice portato in cstdlib
            dovrebbe esser più lento di stdlib.h. Ok, ho riletto quello che avevi scritto e ho frainteso; hai notato che la mia risposta non era pertinente, potevi dirlo semplicemente....appena l'hai notatoLo fai ora invece e viene da chiedersi perchè ....
            Non sei
            stato manco in grado di leggere, non il codice ma
            l'italiano del primo posto dove dico che Visual
            studio compila il primo listato e non il secondo ,Si hai ragione, non sono talmente in grado di leggere l'italiano che ho scritto:- Scritto da: programmato re
            - Scritto da: xte


            rettifico quello che avevo detto prima, non

            avevo


            letto bene il programma: anche il secondo


            dovrebbe compilare, appena posso proverò con


            vs2015 e gcc

            Oki, ma il fatto è che il primo non dovrebbe

            compilare

            nel primo post dicevi il secondo .....
            quando ogni compilatore standard fa l'esatto
            contrario. Facciamo così: linka i listati e poi ne parliamo perchè da quello che hai postato, per come li ho interpretati (quindi potrei sbagliare l'interpretazione), a me risulta che dovrebbero compilarli entrambi.
            Non sembra manco che tu sappia perché
            si mette la "gabbia" ifndef ne, evidentemente,
            come funziona un
            compilatore.Ti riferisci a questo ?- Scritto da: panda rossa

            il #define dovrebbe essere scritto subito dopo
            #ifndef per questioni di leggibilita' del
            codice.Si come no, adesso il define e l'ifndef si mette per leggibililtà del codice.Sei perdonato perchè dici che non sei sviluppatore altrimenti ti saresti beccato del c0glione
            Scusa la durezza ma diciamo che opinioni, fatti
            ecc si discutono pacatamente ma quando fai simili
            sparate te le
            cerchi!Ma piantala che tu di programmazione hai detto di non saperne e si vede, al limite si può discutere che ho interpretato male alcune cose che hai scritto e anche di quello si può discutere ma a me pare che il tuo discorso sia solo funzionale a portare certe tesi senza neanche sapere di cosa parli.E il livore della tua risposta lo dimostra.Anche tu questa te la sei cercata !!
          • programmato re scrive:
            Re: ottimo IDE
            Mi quoto perchè è stata cancellata la parte sucessiva della discussione dove sono saltate fuori bene le tue intenzioni- Scritto da: programmato re
            - Scritto da: xte

            Tu hai scritto che non vedi nulla di male a

            mescolare C e C++ e hai chiesto esempi di
            orrori,

            che ho nominato:

            Tu hai nominato cose senza spiegare perchè
            sarebbero orrori...Quindi forza: scendi nel merito e spiega bene <b
            perchè </b
            sarebbero orrori.E ricorda che io ti ho risposto sul linguaggio e tu mi hai contro-risposto tirando in ballo le librerire che invece fanno parte dello standard.

            te ne ho citato alcuni Si, queste:
            solo di didattico, trovi inclusioni miscelate di librerie
            C e C++ Dove trovi "inclusioni miscelate" ? Nel linguaggio ? Nello standard ?O parli di stile di programmazione che non c'entrano nè con l'uno nè con l'altro ?
            (tipo stdlib.h al posto di cstdlib),Si nel c++ stdlib.h diventa cstdlib. Sarebbe questa l'orribile mescolanza ?
            vecchie trovate d'un tempo (tipo iostrem.h) Volevi dire "iostream.h" ? E cosa c'entra col linguaggio c++ ? Ti riferisci a stile di programmazione quindi.
            e tanto altro, e le trovi anche nei libri! Allora riportane qualcun'altra, visto che sono tante e le trovi sui libri.

            hai quotato alla

            $OrganoRiproduttivoDiCanide mescolando quel che

            ho scritto io con quello che hai scritto tu.
            Rettifico: il mio quoting era pertinente. Sei tu che non hai capito e mi devi spiegare piuttosto cosa c'entra questa risposta:- Scritto da: xte

            Sinceramente non le trovo così orribili

            A volte usare le librerie c al posto delle

            librerie c++ rende il programma più veloce
            Hem, la libreria standard C è stata da eoni
            portata in C++ opportunamente inserita nel
            namespace std, se hai differenze di performance
            realmente rilevanti penso che il problema sia più
            nell'utilizzatore della libreria che non in
            quest'ultima...Spiega bene cosa c'entra il fatto che ti dico quale può essere il motivo dell'uso delle librerie c, con la risposta che hai riportato.

            Ora,

            forse non sapendo che dire, tiri in ballo i

            template che non c'entrano un tubo anziché

            rispondermi perché il codice portato in cstdlib

            dovrebbe esser più lento di stdlib.h. No spiega tu dove ho scritto che cstdlib è più lento di stdlib.hDove lo hai letto ?

            Non sei

            stato manco in grado di leggere, non il codice
            ma

            l'italiano Veramente sei tu che non leggi bene ed interpreti a seconda della convenienza, senza contare che non usi la terminologia corretta.


            Oki, <b
            ma il fatto è che il primo non
            dovrebbe


            compilare </b
            Spiega bene per quale motivo "il primo non dovrebbe compilare"

            quando ogni compilatore standard fa l'esatto

            contrario. Non diciamo baggianate. Ma poi cosa è per te un "compilatore standard" ?
            Facciamo così: linka i listati e poi ne parliamo
            perchè da quello che hai postato, per come li ho
            interpretati (quindi potrei sbagliare
            l'interpretazione), a me risulta che dovrebbero
            compilarli
            entrambi.No guarda, non linkare i listati perchè quando lo hai fatto hai dimostrato che poi li cambi a seconda della convenienzaPiuttosto fai copia incolla dei file sul forum e fai copia incolla degli errori di compilazione di gcc e di VS, sia per il primo caso che per il secondoPoi di quello discutiamo

            Scusa la durezza ma diciamo che opinioni, fatti

            ecc si discutono pacatamente ma quando fai
            simili

            sparate te le

            cerchi!Il problema è che tu fai passare le tue opinioni come fatti e di argomenti concreti non ne porti
          • xte scrive:
            Re: ottimo IDE
            Va bene, avanziamo: io ti ho spiegato, con tanto di pseudocodice prima, poi giacché non capivi di listato su paste2, poi giacché continuavi a (dire di) non capire anche guidandoti passo passo. La tua risposta, zappata come la mia (alché sarei curioso del perché lasciare queste) era un lungo sproloquio non potendo più dire altro.Soprassediamo. Tu hai detto che talvota usare "codice C" rende un programma più veloce, io ti ho risposto che C e C++ sono da eoni linguaggi diversi. Oggi dai un'altra chicca mostrando di non sapere manco perché la libreria standard C è stata portata in C++. Hai mostrato di non capire perché iostream.h è un horror al giorno d'oggi. E andiamo avanti.Non dovrei linkare listati perché poi li modifico? Curioso, mi puoi mostrare come faccio a modificare qualcosa postato su paste2 anonimamente? Non mi risulta esista questa possibilità.Ps come ti ho chiesto nella conversazione zappata: sai/hai letto il dragon book? Poi ti faccia la domanda.
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Va bene, avanziamo: io ti ho spiegato, con tanto
            di pseudocodice prima, poi giacché non capivi di
            listato su paste2, poi giacché continuavi a (dire
            di) non capire anche guidandoti passo passo. E infatti tuttora non capisco perchè dici che dà errore.Ti ho chiesto di spiegarlo e continui a non farlo.Ti ho chiesto di postare il codice e gli errori e continui a non farlo.
            La
            tua risposta, zappata come la mia (alché sarei
            curioso del perché lasciare queste) era un lungo
            sproloquio non potendo più dire
            altro.Ancora con questa storia ???Stai dicendo castronerie come al solito per non dire che è una tr0llata bella e buona.Quindi andiamo sul pratico; posta:- i sorgenti c del tuo programma- i messagi di errore di gcc e VS
            Soprassediamo. Tu hai detto che talvota usare
            "codice C" rende un programma più veloce, io ti
            ho risposto che C e C++ sono da eoni linguaggi
            diversi. E io ti ho chiesto di spiegare perchè, cosa che continui a non fare.Invece usi argomenti del tipo:
            era un lungo
            sproloquio non potendo più dire
            altro.- Scritto da: xte
            Mi sa che tu non hai proprio manco sviluppato a
            livello didattico, per lo meno lo spero visto
            quel che
            scrivi.Cioè invece di scendere nel merito, tr0ll1
            Oggi dai un'altra chicca mostrando di
            non sapere manco perché la libreria standard C è
            stata portata in C++. Ah si ? (altra tua tr0llata) E dove hai letto che non so perchè ? Dai riporta le mie parole, una ad una
            Hai mostrato di non capire
            perché iostream.h è un horror al giorno d'oggi. Ah si ? (altra tua tr0llata) Ora ho il fortissimo dubbio che tu abbia proprio problemi di comprensione a livello di lettura del testo scritto in semplicissimo italiano.Perchè se uno scrive:- Scritto da: programmato re
            Volevi dire "iostream.h" ? E cosa c'entra col
            linguaggio c++ ? Ti riferisci a stile di
            programmazione
            quindi.Non si spiega perchè uno commenta:
            Hai mostrato di non capire
            perché iostream.h è un horror al giorno d'oggi. E comunque è da diversi post che ti chiedo di spiegare ma tu non lo fai e usi la tecnica di rigirare la frittata.
            E
            andiamo
            avanti.
            Non dovrei linkare listati perché poi li
            modifico? Curioso, mi puoi mostrare come faccio a
            modificare qualcosa postato su paste2
            anonimamente? Non mi risulta esista questa
            possibilità.Non è uno strumento che uso e quindi non lo so come si fa.Io so solo che l'hai modificato perchè il programma come l'avevi postato la prima volta era aderente allo pseudo codice e dopo qualche giorno invece no.
            Ps come ti ho chiesto nella conversazione
            zappata: sai/hai letto il dragon book? Poi ti
            faccia la
            domanda.Si l'ho letto e tu di domande non ne fai fino a quando rispondi alle mie senza tr0llare e quindi in modo consono, pertinente e con la corretta terminologia, oltre a fornire sorgenti ed errori di compilazione di gcc e VS.Ma tanto non lo farai perchè sai benissimo che ti porterà a fare una f1gur4 di m£rd@ colossale.
          • xte scrive:
            Re: ottimo IDE
            Guarda che non mi stanco mica: il codice l'ho postato su paste2, e non è da me modificabile, quindi spiacente il codice postato sempre quello è, ti ho pure guidato passo passo nella compilazione e ti ho pure spiegato perché c'è una doppia definizione in un caso e non nell'altro. Speri che continuando a scrivere nessuno vada nei post precedenti a guardare?paste2.org/2LBcLB59 come già postato. Vai, compila e rimugina, la spiegazione la sai: lib.c e main.c includo entrambi lib.h pertanto il codice contenuto in lib.h viene inserito due volte dal preproXXXXXre nell'input stream del tokenizer, in questo caso compare per due volte void foo(), il linguaggio non prevede la sovrascrittura di una funzione.Hai bisogno di spiegazioni sul perché iostrem.h non va bene? Ok: dal lontano 1998 quella libreria fu standardizzata come iostrem, senza .h. Molti compilatori recenti la versione pre-standard non l'han manco, su altri non sai che cosa possa contenere. Dal 1998 ad oggi il C++ ha avuto ancora 3 aggiornamenti (nel 2003, nel 2011 e nel 2014), non ti pare sia un pelo brutta pratica scrivere codice così "antico"? Meno importante è l'uso delle altre librerie standard del C, le 25 ufficiali sono ancora parte dello standard C++, per quanto deprecate, il loro uso non dovrebbe dare problemi anche se ovviamente è sconsigliato, l'uso dei namespace globale e std è indefinito per questi headers. Gli standard sono pubblici (iow gratuiti), se li conosco marginalmente io che non sviluppo non dovresti conoscerli ben meglio te che sei "programmato-re"?
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Guarda che non mi stanco mica: Si di tr0llare perchè risposte alle mie domande non ne vedo come c'era da aspettarsi perchè altrimenti faresti una figuraccia.
            il codice l'ho
            postato su paste2, e non è da me modificabile,
            quindi spiacente il codice postato sempre quello
            è, ti ho pure guidato passo passo nella
            compilazione e ti ho pure spiegato perché c'è una
            doppia definizione in un caso e non nell'altro.E io ti avevo già detto e ti ripeto che la doppia definizione non c'è.Adesso poche chiacchiere e posta gli errori del compilatore: di gcc e VS
            Speri che continuando a scrivere nessuno vada nei
            post precedenti a
            guardare?No, anzi me lo auguro così possono constatare che razza di tipo sei
            paste2.org/2LBcLB59 come già postato. Vai,
            compila e rimugina,
            la spiegazione la sai: lib.c
            e main.c includo entrambi lib.h Che è una cosa normale
            pertanto il
            codice contenuto in lib.h
            viene inserito due
            volte dal preproXXXXXre nell'input stream del
            tokenizer, in questo caso compare per due volte
            void foo(), il linguaggio non prevede la
            sovrascrittura di una
            funzione.Quindi la tua tesi sarebbe che hai la funzione foo() "sovrascritta" ?Fammi vedere come fa a risultarti la funzione foo() "sovrascritta" e bada bene: sto parlando della definizione, non della dichiarazione.Quindi poche chiacchiere: posta il comando che dai per la compilazione e il risultato, cioè dove ti risulta la doppia definizione
            Hai bisogno di spiegazioni sul perché iostrem.h
            non va bene? No, ti ho chiesto cosa c'entra col linguaggio e ti ripeto che le librerie non fanno parte del linguaggio ma dello standard.Leggi una buona volta quello che scrivo e sforzati di capire, perchè è banalissimo italianoInoltre ti ho chiesto se, quando tiri in ballo iostream.h (non iostrem.h), ti riferisci allo stile di programmazioneE anche su questo non rispondi.
            Ok: dal lontano 1998 quella libreria
            fu standardizzata come iostrem, senza .h.
            Molti
            compilatori recenti la versione pre-standard non
            l'han manco, Infatti, e allora quale sarebbe il problema ?
            su altri non sai che cosa possa
            contenere. iostream.h non fa parte più dello standard da un pezzo e quindi i compilatori non la supportano piùCerto che se poi uno usa compilatori dell'epoca pre-standard o primo standard o giù di lì, si suppone che se lo fa, abbia buoni motivi per farlo, e comunque questo dimostra che il problema non è del linguaggio e neanche dello standardE dimostra anche che ti stai arrampicando sui vetri.
            Dal 1998 ad oggi il C++ ha avuto
            ancora 3 aggiornamenti (nel 2003, nel 2011 e nel
            2014), non ti pare sia un pelo brutta pratica
            scrivere codice così "antico"? E quindi ri-confermi che ti riferisci allo stile di programmazione che non ha niente a che fare col linguaggio e neppure con lo standard che, come tu stesso hai detto, ha avuto 3 revisioni e aggiungo che è in corso la 4a.Quindi tu da perfetto incompetente mischi i termini e i concetti di: linguaggio, standard e stile di programmazione, dandogli lo stesso significato, per fare risultare le tue tesi più bizzarrePer inciso: iostream.h è la prima libreria di I/O uscita col linguaggio c++ che qualche anno dopo è stata dichiarata obsoleta dallo <b
            standard </b
            e sostituita con <iostream
            I compilatori oggi non supportano più la .h quindi si sta parlando del nulla.
            Meno importante è
            l'uso delle altre librerie standard del C, le 25
            ufficiali sono ancora parte dello standard C++,
            per quanto deprecate, il loro uso non dovrebbe
            dare problemi E allora di cosa stiamo parlando ?? Hai continuato ad insistere sulle "orribili mescolanze" e ora dici che le librerie che hai citato non danno problemi ?
            anche se ovviamente è sconsigliato,Da chi ? Dai migliori medici dentisti ?Hai detto anche tu che le librerie c sono state inserite nello standard c++ come, per esempio, <cstdlib
            e non mi risulta che siano deprecateAdesso dici che è sconsigliato l'uso ?Quello che in realtà è sconsigliato da sempre è sviluppare codice alla "$OrganoRiproduttivoDiCanide", senza nessun criterio, regola e coerenza.
            l'uso dei namespace globale e std è indefinito
            per questi headers. Gli standard sono pubblici
            (iow gratuiti), se li conosco marginalmente io
            che non sviluppo non dovresti conoscerli ben
            meglio te che sei
            "programmato-re"?Ennesima tr0llata !!Detto da uno poi che confonde linguaggio, con standard, con stili di programmazione...e a cui ho dovuto ripetere varie volte che le librerie fanno parte dello standard (questo sconosciuto) e non del linguaggio...Che dire ? Sei semplicemente patetico....Adesso fai una bella review delle domande che ho fatto e rispondi ad ognuna.
          • xte scrive:
            Re: ottimo IDE

            Adesso fai una bella review delle domande che ho
            fatto e rispondi ad ognuna.Agli ordini signor troll. La prima versione (#pragma once come #ifndef) compilano come ci si aspetta, la seconda ovvero senza "include guard" gcc main.c lib.c/tmp/ccXDaYDm.o: nella funzione "foo":lib.c:(.text+0x0): definizione multipla di "foo"/tmp/cclmnC4S.o:main.c:(.text+0x0): definito qui per la prima voltacollect2: error: ld returned 1 exit statusQuanto riguarda VisualStudio, come già detto, non posso postare errori visto che è un errore che scoprii all'università.
            ti ripeto che le librerie non fanno parte del
            linguaggio ma dello standard.Ma davvero, allora il linguaggio cos'è la grammatica? Il compilatore o solo una sua parte?Sul perché iostream.h, includere librerie C ti bastahttp://cs.nyu.edu/courses/fall11/CSCI-GA.2110-003/documents/c++2003std.pdfpagina 734 (706 nel documento) C.2.1 Modifications to headersFor compatibility with the Standard C library, the C + + Standard library provides the 18 C headers (D.5), but their use is deprecated in C++.O dimenticato qualcosa mio caro troll?
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: xte

            Adesso fai una bella review delle domande
            che
            ho

            fatto e rispondi ad ognuna.
            Agli ordini signor troll. Fino ad ora hai dimostrato tu di esserlo, mi spiace.
            La prima versione
            (#pragma once come #ifndef) compilano come ci si
            aspetta, la seconda ovvero senza "include guard"


            gcc main.c lib.c
            /tmp/ccXDaYDm.o: nella funzione "foo":
            lib.c:(.text+0x0): definizione multipla di "foo"
            /tmp/cclmnC4S.o:main.c:(.text+0x0): definito qui
            per la prima
            volta
            collect2: error: ld returned 1 exit statusQuesto errore è impossibile coi sorgenti che hai linkato.Ti avevo chiesto di postare nel forum anche i sorgenti e non lo hai fatto.Il motivo più probabile per cui non lo hai fatto è che stai simulando un errore che esiste solo in certe circostanze, per esempio se hai definito la funzione nel file .h e includi il file .h, in lib.c e main.cIn pratica il linker si trova la definizione (e bada bene: definizione) di uno stesso simbolo in due file oggetto diversi.In altre parole stai barando e non so perchè ma la cosa non mi sorprende.
            Quanto riguarda VisualStudio, come già detto, non
            posso postare errori visto che è un errore che
            scoprii
            all'università.E allora tutto il tuo discorso non vale una cippa, mi spiace.

            ti ripeto che le librerie non fanno parte del

            linguaggio ma dello standard.
            Ma davvero, allora il linguaggio cos'è la
            grammatica? Il compilatore o solo una sua
            parte?Il linguaggio definisce le keyword e la sintassi. Non nascono prima le librerie e poi il linguaggio, così come il compilatore non nasce prima del linguaggio, mi spiace.
            Sul perché iostream.h, includere librerie C ti
            basta
            http://cs.nyu.edu/courses/fall11/CSCI-GA.2110-003/
            pagina 734 (706 nel documento)
            C.2.1 Modifications to headers
            For compatibility with the Standard C library,
            the C + + Standard library provides the 18 C
            headers (D.5), but their use is deprecated in
            C++.E' deprecato l'uso dell'inclusione dei .h (paragrafo D.5) ma non dei file .h portati nel namespace std ovvero degli include con prefisso c e senza h (per esempio <cstdlib
            ), mi spiace.
            O dimenticato qualcosa mio caro troll?Si di postare i sorgenti nel forum, quelli veri però.
          • xte scrive:
            Re: ottimo IDE
            Ok, io (o il mio gcc) baro (bariamo), dimmi, vuoi per caso un video come prova ulteriore? Un gcc lo puoi avere anche tu dopotutto per provare. Per visual studio, scusa se non ti ho portato un esempio attuale, facciamo che quando mi capiterà di tornare all'uni farò una prova, se han ancora VS (e francamente spero di no che insieme ad Windows, IMVHO, a ingegneria informatica manco dovrebbe arrivare in foto) rifarò la prova con tanto di video, just in case.
            Il linguaggio definisce le keyword e la sintassi.Ovvero per te il linguaggio, materialmente, sono i files che definiscono la grammatica? Per carità ha la sua logica, ma è come dire che un'auto è il suo motore: senza il resto non ci fai molto.
            E' deprecato l'uso dell'inclusione dei .h (paragrafo D.5)
            ma non dei file .h portati nel namespace std ovvero degli
            include con prefisso c e senza h (per esempio <cstdlib
            ),
            mi spiace. Ovvero ridici quel che ho detto prima io, mentre sostenevi che non vedi nulla di male in iostream.h, stdlib.h ecc... Per curiosità (supposta dal tuo E' al posto di È) sei su Window? per questo non hai gcc sottomano? Cmq, vuoi che faccia un post più lungo con la copia di quel che ho postato da giorni su paste2? Mi scusino gli altri utenti; ecco qui:File #1 main.c#include "stdlib.h"#include "lib.h"intmain(int argc, char *argv[]){ foo(); return EXIT_SUCCESS;}File #2 lib.h#pragma oncevoid foo();File #3 lib.c#include "stdio.h"void foo(){ printf("ciaon");}Il va mieux comme ça?
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Ok, io (o il mio gcc) baro (bariamo), dimmi, vuoi
            per caso un video come prova ulteriore? Un gcc lo
            puoi avere anche tu dopotutto per provare. Sulla carta l'errore che hai postato non dovrebbe darlo, e neppure al'atto pratico, provato con gcc versione 5.4
            Per
            visual studio, scusa se non ti ho portato un
            esempio attuale, facciamo che quando mi capiterà
            di tornare all'uni farò una prova, se han ancora
            VS (e francamente spero di no che insieme ad
            Windows, IMVHO, a ingegneria informatica manco
            dovrebbe arrivare in foto) VS è considerato il miglior IDE in circolazione e al compilatore c++ e relative librerie ci lavorano i migliori tecnici
            rifarò la prova con
            tanto di video, just in
            case.Come ti pare. Se però uno vuole barare lo fa anche in video, tranquillo

            Il linguaggio definisce le keyword e la
            sintassi.
            Ovvero per te il linguaggio, materialmente, sono
            i files che definiscono la grammatica? Non l'ho deciso io. E' così
            Per carità
            ha la sua logica, ma è come dire che un'auto è il
            suo motore: senza il resto non ci fai
            molto.Non è questione di logica, è così. Punto.Se per te non è così va bene, ma stiamo sempre parlando di opinioni personali di un incompetente che si cercano di fare passare per "verità"Leggiti piuttosto "The C programming language" di K&R: Capitolo 7 - Input and Output (dove si parla delle librerie di I/O).Il capitolo comincia così:"Input and output are not part of the C language itself....ecc ecc"Parlane pure con K&R
            Ovvero ridici quel che ho detto prima io, mentre
            sostenevi che non vedi nulla di male in
            iostream.h, stdlib.h ecc... iostream.h non fa parte della libreria c, era la prima versione della libreria di I/O del c++ sostituita con <iostream
            e non è più supportata da un pezzo dai compilatori. L'avevo anche scritto
            Per curiosità
            (supposta dal tuo E' al posto di È) sei su
            Window? per questo non hai gcc sottomano? Ho scritto che l'ho provato con gcc e l'ho fatto, altrimenti non l'avrei scritto
            Cmq,
            vuoi che faccia un post più lungo con la copia di
            quel che ho postato da giorni su paste2? Mi
            scusino gli altri utenti; ecco
            qui:

            File #1 main.c
            #include "stdlib.h"
            #include "lib.h"

            int
            main(int argc, char *argv[])
            {
            foo();
            return EXIT_SUCCESS;
            }

            File #2 lib.h
            #pragma once
            void foo();

            File #3 lib.c
            #include "stdio.h"
            void foo()
            {
            printf("ciaon");
            }

            Il va mieux comme ça?Analizzando il codice (di questo programma) staticamente, hai una sola dichiarazione di foo (nel main attraverso l'include lib.h) e una sola definizione (in lib.c)Quindi anche se togli il pragma non dovrebbe dare NESSUN errore, MAI.Lo ripeto ancora: siccome insistevi che ti dava errore di DOPPIA DEFINIZIONE di funzione foo, non capendone il motivo, l'ho provato con VS2015 e gcc e ho potuto constatare che NON DA' ERRORE, nè un compilatore nè l'altro, con o senza pragma, come c'era da aspettarsi.Se qualcun altro che legge vuole provare con gcc sarei curioso anche io di capire perchè dà quell'errore che, leggendo il programma, è inspiegabileSe invece il programma non è quello postato allora si spiegaTanti saluti
          • crgvhtrc scrive:
            Re: ottimo IDE



            Quanto alle orribili mescolanze, solo di

            didattico, trovi inclusioni miscelate di
            librerie

            C e C++ (tipo stdlib.h al posto di cstdlib),

            vecchie trovate d'un tempo (tipo iostrem.h) e

            tanto altro, e le trovi anche nei libri! Questo

            senza voler arrivare ai void main o altre

            banalità

            :D

            Sinceramente non le trovo così orribili
            A volte usare le librerie c al posto delle
            librerie c++ rende il programma più veloce

            Mi sono trovato due o tre volte un bug su programmi che avevo in manutenzione per queste mescolanze.Upgrades del sistema operativo che modificavano precedenze e path di default e programmi compilati e funzionanti che improvvisamente falliscono gli import.
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: crgvhtrc




            Quanto alle orribili mescolanze, solo di


            didattico, trovi inclusioni miscelate di

            librerie


            C e C++ (tipo stdlib.h al posto di
            cstdlib),


            vecchie trovate d'un tempo (tipo
            iostrem.h)
            e


            tanto altro, e le trovi anche nei
            libri!
            Questo


            senza voler arrivare ai void main o
            altre


            banalità


            :D



            Sinceramente non le trovo così orribili

            A volte usare le librerie c al posto delle

            librerie c++ rende il programma più veloce





            Mi sono trovato due o tre volte un bug su
            programmi che avevo in manutenzione per queste
            mescolanze.Mescolanze di c e c++ ? Non è che magari chi li ha scritti lo ha fatto male ?
            Upgrades del sistema operativo che modificavano
            precedenze e path di default e programmi
            compilati e funzionanti che improvvisamente
            falliscono gli
            import.E cosa c'entrano le mescolanze di linguaggi ?
          • Hopf scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Sui listati: se vuoi prova con gcc, icc, sunpro,
            ... tutti compileranno il II senza problemi e
            rifiuteranno il primo. Solo Visual Studio (mi
            pare la v6, sono un po' vecchio) fa il
            contrario.E ci stai frantumando i marroni su una cosa che non ricordi bene fatta con un compilatore di 15 anni fa???
          • xte scrive:
            Re: ottimo IDE
            Data l'entità della cosa, la sua banalità si.
          • Hopf scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Data l'entità della cosa, la sua banalità si.e che c'azzecca con l'argomento "visual studio 2017"?
          • xte scrive:
            Re: ottimo IDE
            C'azzecca come esempio per dire com'era, e quindi forse com'è tuttora questo "ottimo IDE"...
          • Hopf scrive:
            Re: ottimo IDE
            - Scritto da: xte
            C'azzecca come esempio per dire com'era, e quindi
            forse com'è tuttora questo "ottimo
            IDE"...se mia nonna aveva le ruote...
        • panda rossa scrive:
          Re: ottimo IDE
          - Scritto da: programmato re

          certo che pur di fare da detrattore di MS uno se
          le inventa
          tutteSe sta grandinando, non puoi dire "che bel sole!" per far smettere di grandinare.Se sta grandinando e imprechi contro il maltempo non sei mica un detrattore.
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: panda rossa
            - Scritto da: programmato re




            certo che pur di fare da detrattore di MS
            uno
            se

            le inventa

            tutte

            Se sta grandinando, non puoi dire "che bel sole!"
            per far smettere di
            grandinare.

            Se sta grandinando e imprechi contro il maltempo
            non sei mica un
            detrattore.Si peccato che si sta dicendo qualcosa di analogo a questo: "15 anni fa grandinava", per poter dire: "governo ladro".
          • ... scrive:
            Re: ottimo IDE
            - Scritto da: programmato re
            Si peccato che si sta dicendo qualcosa di analogo
            a questo: "15 anni fa grandinava", per poter
            dire: "governo ladro".L'articolo parla di un nuovo ide, i commenti parlano di un test di parecchi anni fa basato su rocordo, credo, penso ecc.Cosa pretendi da un pentacre..no?
          • xte scrive:
            Re: ottimo IDE
            Forse vuol essere un banale esempio di come funzionasse un certo prodotto, per farne un altro, nel mondo fisico: se un tal tizio ai tempi di Franco in Spagna o dei Colonnelli in Grecia massacrava oppositori politici del regime ed oggi si presenta come chessò: "consulente per attività di polizia", tu richiamare quel ricordo lo consideri irrilevante, oggi è sicuramente un'altra persona.Per carità, è una libera opinione, evidentemente hai una gran fiducia nel prossimo...
          • Hopf scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Forse vuol essere un banale esempio di come
            funzionasse un certo prodotto, per farne un
            altro, nel mondo fisico: se un tal tizio ai tempi
            di Franco in Spagna o dei Colonnelli in Grecia
            massacrava oppositori politici del regime ed oggi
            si presenta come chessò: "consulente per attività
            di polizia", tu richiamare quel ricordo lo
            consideri irrilevante, oggi è sicuramente
            un'altra
            persona.
            E che c'azzecca con una ide del 2017???
          • xte scrive:
            Re: ottimo IDE
            Hum, dicesi italiano, se non riesci a legger la tua (suppongo) madrelingua non è che posso farci molto... L'esempio mi pare chiaro. prova a rileggerlo, intero, non solo l'ultima parte del post e magari ti risulterà più chiaro...Una possibile descrizione alternativa, meno efficace dell'esempio è: un po' di anni fa questo software ha mostrato d'aver comportamenti a dir poco assurdi, oggi si sarà corretto o sarà peggiorato? Data l'evoluzione di tutti i prodotti di quell'azienda, a mio avviso, per quel poco che vedo no, ovviamente è un'opinione personale. Il problema mostrato allora è un dato di fatto, se magari qualcuno che usa veramente questo software vuol dir la sua non è male, rende un piccolo servizio a tutti no?
          • Hopf scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Una possibile descrizione alternativa, meno
            efficace dell'esempio è: un po' di anni fa questo
            software ha mostrato d'aver comportamenti a dir
            poco assurdiAncora con sta storia di un problema che ti sei INVENTATO tu quindici anni fa,e di cui non hai ancora mostrato uno straccio di prova? :D
            se magari qualcuno che usa veramente questo software
            vuol dir la sua non è male, rende un piccolo
            servizio a tutti
            no?Difficile avere usato veramente un prodotto complesso come visual studio 2017, uscito da meno di una settimana :D
          • xte scrive:
            Re: ottimo IDE
            Mi sono inventato qualcosa senza uno straccio di prova? Ok, su VS sono andato a memoria e non posso in effetti portare screenshot od altro... Posso chiederti per curiosità però che "prove" opposte hai portato tu?Su Visual Studio, si, vabbé, siamo al discorso del post di cui sopra: tu segui la teoria che l'ultima versione, quella non ancora uscita o appena uscita ma non ancora provata risolve tutti i mali del mondo. È una teoria che su Windows gira spesso. Ad ogni versione...Per questo thread direi che posso fermarmi qui, se il "re programmato" avrà qualche altra chicca avanzerò li magari eh!
          • Hopf scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Mi sono inventato qualcosa senza uno straccio di
            prova? Ok, su VS sono andato a memoria e non
            posso in effetti portare screenshot od altro...
            Posso chiederti per curiosità però che "prove"
            opposte hai portato
            tu?Scusa? TU te ne sei uscito con questa ca@@ta pazzesca e IO devo dimostrarti che non è vera???Scivi cento volte alla lavagna: "affermazioni straordinarie richiedono prove straordinarie"...e cerca di capirne il significato! :D
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Mi sono inventato qualcosa senza uno straccio di
            prova? Ok, su VS sono andato a memoria e non
            posso in effetti portare screenshot od altro...
            Posso chiederti per curiosità però che "prove"
            opposte hai portato
            tu?Io ho visto gli asini volare, provami che non è vero.
            Su Visual Studio, si, vabbé, siamo al discorso
            del post di cui sopra: tu segui la teoria che
            l'ultima versione, quella non ancora uscita o
            appena uscita ma non ancora provata risolve tutti
            i mali del mondo. È una teoria che su
            Windows gira spesso. Ad ogni
            versione...Tu invece segui la teoria che MS cambia nome ad un prodotto che invece rimane sempre lo stesso. Pur non avendolo tu mai usato (se non una volta, "ai tempi dell'uni", magari hai rovesciato il caffè sulla tastiera e ti ha dato errore che però adesso non ricordi....) e pur non avendone mai seguito l'evoluzione
            Per questo thread direi che posso fermarmi qui,
            se il "re programmato" "re programmato" ? Se ti riferisci al nick: è il campo "Nome e cognome" del form di PI che inserisce lo spazio dopo 11 caratteriScommetto che pensavi che ero affetto da manie di grandezza, proprio come te, invece la spiegazione è molto banale come vedi
            avrà qualche altra chicca
            avanzerò li magari
            eh!Altra chicca ? Sai che hai una faccia di palta che fa paura ?Se c'è uno qui che tira fuori dal cilindro "chicche", che spaccia per verità, pur non capendone una fava di quello di cui sta parlando, sei proprio tu, buffone.Non ultima questa, secondo cui sono gli altri che devono provare che le str0nz4te che spari non sono vere.Bene, quando avremo scoperto il perchè gcc dà quel fatidico errore scommetto che sulla tua faccia si aggiungerà un ulteriore strato di palta, o di altro materiale dello stesso colore....
      • panda rossa scrive:
        Re: ottimo IDE
        - Scritto da: xte
        Non sviluppando e non usando Windows riporto solo
        un ricordo dei tempi
        dell'uni:
        - crea un progetto C/C++ (e già questo è assurdo
        giacché sono linguaggi diversi anche se
        orribilmente mescolati da troppi, docenti
        inclusi)
        - crea tre file, uno col main(), uno con un
        header generico ed uno che implementa
        l'header:

        main.c --------
        #include "lib.h"
        ...

        lib.h ---------
        void foo()...

        lib.c -----------
        void foo()...

        compila senza problemi, nessun lamento sulla
        doppia definizione di foo(),
        invece:
        main.c --------
        #include "lib.h"
        ...

        lib.h ---------
        #ifndef LIB_H
        void foo()...

        #define LIB_H
        #endifil #define dovrebbe essere scritto subito dopo #ifndef per questioni di leggibilita' del codice.

        lib.c ---------
        void foo()...
        Non compila non mi ricordo con che lamentela...gcc compila benissimo.Non stupisce che questa roba invece non rispetti gli standard.
        • xte scrive:
          Re: ottimo IDE

          il #define dovrebbe essere scritto subito dopo #ifndef per
          questioni di leggibilita' del codice.In genere preferisco in fondo per render chiaro cosa chiude quell'#endif :Dpoi c'è chi preferisce la versione "#endif // SIMBOLO", non so quanto sia leggibilità quanto gusto personale...
          gcc compila benissimo.
          Non stupisce che questa roba invece non rispetti gli standard.Vabbé ma questo è proprio un esempio assurdo, per questo l'ho riportato, non è chessò supportare i bitfield o gestire in maniera strana complicatissime trovate di CPP o puntatori, è una banalità disarmante :D
        • programmato re scrive:
          Re: ottimo IDE
          - Scritto da: panda rossa

          il #define dovrebbe essere scritto subito dopo
          #ifndef per questioni di leggibilita' del
          codice.non per quello ma per altri motivi
          gcc compila benissimo.
          Non stupisce che questa roba invece non rispetti
          gli
          standard.quale "roba" non rispetta gli standard ?
          • Hopf scrive:
            Re: ottimo IDE
            - Scritto da: programmato re
            - Scritto da: panda rossa



            il #define dovrebbe essere scritto subito dopo

            #ifndef per questioni di leggibilita' del

            codice.

            non per quello ma per altri motivi


            gcc compila benissimo.

            Non stupisce che questa roba invece non rispetti

            gli

            standard.

            quale "roba" non rispetta gli standard ?Non lo sa, non ha mai scritto una riga di codice in vita sua...
          • xte scrive:
            Re: ottimo IDE
            In genere il codice lo de-rat-o per metterlo in produzione, di codice mio sviluppo solo per automazione e usi personali, ma a leggervi sembra che voi siate rimasti al print "Hello World" su una qualche shell...Vediamo, sapete come funziona normalmente un compilatore? Sapete che tutti i vari files da compilare vengono, semplifichiamo, preprocessati in un unico "file" da parserizzare? Ora l'implementation file dell'esempio include il suo header, il main file dell'esempio include lo stesso header pertanto il compilatore si trova la funzione foo() definita due volte. Non è difficile no? Ora tanto per esser proprio didattici ho fatto un esempio su paste2.org/2LBcLB59 provatelo poi cercate di capire, tanto per fare qualche variante ho usato #pragma once al posto di definire un simbolo così @Panda rossa non storce il naso per il mio stile :D
          • Hopf scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Vediamo, sapete come funziona normalmente un
            compilatore?Tu si? :D
            Sapete che tutti i vari files da
            compilare vengono, semplifichiamo, preprocessati
            in un unico "file" da parserizzare?Hai l'acXXXXX ai sorgenti di cl.exe per dirlo?E ci stai ancora fracassando i marroni su un problema di quindici anni fa? :D
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: xte
            In genere il codice lo de-rat-o per metterlo in
            produzione, di codice mio sviluppo solo per
            automazione e usi personali, ma a leggervi sembra
            che voi siate rimasti al print "Hello World" su
            una qualche
            shell...Ancora con questa storia ?Ecco un altro che sa due cose e vuol far passare di avere conoscenza o intelligenza superiore al resto della truppa.
            Vediamo, sapete come funziona normalmente un
            compilatore? Si, fa parte del il mio mestiere e allora ?
            Sapete che tutti i vari files da
            compilare vengono, semplifichiamo, preprocessati
            in un unico "file" da parserizzare? Stai parlando del preproXXXXXre ? Perchè se stai parlando di quello ti stai esprimendo male e questo è un motivo per cui poi non ci si capisce, non perchè "gli altri" non capiscono l'italiano.Inoltre sospetto che tu ti esprima in questo modo perchè non sai bene come funziona un compilatore.
            Ora
            l'implementation file dell'esempio include il suo
            header, lib.c ? No, nell'esempio che hai postato non lo include da cui le domande che ho fatto prima. E non lo include neppure nell'esempio al link che hai postato sotto (paste2.org/2LBcLB59: dai corri subito a modificarlo per non fare una figura di mrd@, tanto quello che hai scritto rimane).Ma anche se lo includesse il risultato sarebbe uguale.
            il main file dell'esempio include lo
            stesso header pertanto il compilatore si trova la
            funzione foo() definita due volte. Falso (da cui le domande che ho fatto prima), rileggiti il programma che tu stesso hai fatto.E adesso una piccola lezione di italiano; di solito passo sopra queste cose perchè credo che l'importante sia capirsi, ma in questo caso sarò ben lieto di fare un'eccezione:dichiarazione di funzione: void foo();definizione di funzione: void foo () { printf("hello"); }Prima studia bene la terminologia se vuoi fare il professore mio caro asino.E detto questo ora spiega pure perchè se includo un file .h in un .c e in un differente .c il compilatore si trova una funzione duplicata.Dai, mostra pure le tue fantasiose competenze di non-sviluppatore.
            Non è
            difficile no? Bel coraggio dopo questa figura di m3rd@
            Ora tanto per esser proprio
            didattici ho fatto un esempio su
            paste2.org/2LBcLB59 provatelo poi cercate di
            capire, Eh, non so se riusciamo a capire, sai non è che siamo al tuo livello di intelligenza....per fortuna direi...
            tanto per fare qualche variante ho usato
            #pragma once al posto di definire un simbolo così
            @Panda rossa non storce il naso per il mio stile
            :DNon cambia un caxxo; i tuoi esempi, sia il primo che il secondo, compilano senza problemi con gcc e con VS2015 anche guidando una moto senza maniDai adesso stupisci tutti e prova a dire che in VS2017 non compila, nonostante tu non sia sviluppatore e neanche utente windows / VS.Ciao, ci vediamo alla tua prossima figura di m3rd@.
          • Hopf scrive:
            Re: ottimo IDE
            - Scritto da: programmato re
            Ciao, ci vediamo alla tua prossima figura di
            m3rd@.Sarà presto purtroppo, :( lui ha l'abbonamento alle figure di emme :D
          • xte scrive:
            Re: ottimo IDE
            Allora, sono abbastanza sicuro tu sia un troll con due nik diversi ma poiché per certi tipi di trollate ritengo educativo rispondere: - creati una bella dir e creaci i tre files d'esempio che ho postato su paste2 - compilali con gcc main.c lib.c ed esegui a.out - preprocessa soltanto con gcc -E lib.c main.c
            preprocessato.c e cerca tutte le occorrenze di void foo: troverai solo definizione e chiamata - ora togli #pragma once, ri-preprocessa e toh, compare un void foo di troppo.Ps non sono, come ho detto, uno sviluppatore ma sono un sistemista ovvero qualcuno che si deve occupare di tener in piedi tanto le cose belle quanto quelle meno belle che cert'uni sviluppatori o meglio code monkeys scrivono. Quindi un minimo di linguaggi, neanche troppo minimo, lo vedo e lo devo digerire.
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: xte
            Allora, sono abbastanza sicuro tu sia un troll
            con due nik diversi Ecco, ora si passa alla strategia di screditare il tuo interlocutore facendolo passare per un troll.O sono semplicemente i primi sintomi della paranoia ?Piuttosto chi è il signor "crgvhtrc" ? Quello che voleva dimostrare le "orribili mescolanze di c e c++" con la scusa che:"gli upgrade del sistema operativo mi modificano i path di default".Sei tu ? Perchè se sei tu anche come sistemista dimostri di non capirne un granchè.
            ma poiché per certi tipi di
            trollate ritengo educativo
            rispondere:E preparati allora ad altre figuracce come ti avevo detto.
            - creati una bella dir e creaci i tre files
            d'esempio che ho postato su
            paste2

            - compilali con gcc main.c lib.c ed esegui a.out

            - preprocessa soltanto con gcc -E lib.c main.c

            preprocessato.c
            e cerca tutte le occorrenze di void foo:
            troverai solo definizione e
            chiamataSi e allora ?
            - ora togli #pragma once, ri-preprocessa e toh,
            compare un void foo di
            troppo.Standing ovation: hai dimostrato di non sapere come funziona il preproXXXXXre e quindi un compilatore.Poi vieni a postare robe del tipo:- Scritto da: xte
            Mi sa che tu non hai proprio manco sviluppato a
            livello didattico, per lo meno lo spero visto
            quel che
            scrivi.
            ...
            Non sembra manco che tu sappia perché
            si mette la "gabbia" ifndef ne, evidentemente,
            come funziona un
            compilatore.
            - Scritto da: xte
            Vediamo, sapete come funziona normalmente un
            compilatore? Magari adesso ti aspetti che ti spieghi perchè succede quello, giusto ?Invece visto che ti spacci per una specie di genio e spacci gli altri per incompetenti per me puoi rimanere nella tua arrogante ignoranza.Se e quando succederà che qualcuno te lo spiega capirai la figura di m3rd@ che hai fatto.Se poi penso a tutto il tuo discorso sulla "doppia definizione di foo" mi viene da ridere perchè ora è chiaro che è una cosa che hai visto solo tu (da cui le mie domande in merito)
            Ps non sono, come ho detto, uno sviluppatore E allora non intervenire su cose che non ti competono solo per dimostrare tesi assurde che stanno solo nella tua testa da ignorante, del tipo: - Scritto da: xte
            C'azzecca come esempio per dire com'era, e quindi
            forse com'è tuttora questo "ottimo
            IDE"...Pur di dare contro a qualcosa o a qualcuno per partito preso ci si inventa l'impossibile vero ?
            ma
            sono un sistemista Chi ? Il signor "crgvhtrc" ?
            ovvero qualcuno che si deve
            occupare di tener in piedi tanto le cose belle
            quanto quelle meno belle che cert'uni
            sviluppatori o meglio code monkeys scrivono.Ma pensa a fare bene il tuo lavoro, non come il signor "crgvhtrc", e non rompere le @@ a quelli che fanno altro.
            Quindi un minimo di linguaggi, neanche troppo
            minimo, lo vedo Vedere non vuol dire essere competente come uno che lo fa di mestiere, o tu pensi che sia così ?NO, da quello che hai scritto pensi di esserlo addirittura di più
            e lo devo
            digerire.E pensa che gli altri si devono sorbire le tue str0nxate, vedi tu......------------------------------------------------------------------PS: avevo detto che avevo frainteso delle cose che avevi scritto e rettifico; mi riferisco al discorso delle "orribili mescolanze":- Scritto da: xte
            Quanto alle orribili mescolanze, solo di
            didattico, trovi inclusioni miscelate di librerie
            C e C++ (tipo stdlib.h al posto di cstdlib)In effetti avevo interpretato quello che hai scritto nel miglior modo possibile, cioè il più intelligente ed "elastico"Invece poi mi sono reso conto leggendo il tuo commento: - Scritto da: xte
            Tu hai scritto che non vedi nulla di male a
            mescolare C e C++ e hai chiesto esempi di orrori,
            che ho nominato: te ne ho citato alcuni e tu, non
            riuscendo o non volendo, hai quotato alla
            $OrganoRiproduttivoDiCanide mescolando quel che
            ho scritto io con quello che hai scritto tu. Ora,
            forse non sapendo che dire, tiri in ballo i
            template che non c'entrano un tubo anziché
            rispondermi perché il codice portato in cstdlib
            dovrebbe esser più lento di stdlib.h. che per te le "orribili mescolanze" si riferiscono al fatto che la stdlib.h diventa cstdlib.Quindi l' "orribile mescolanza" sarebbe che una libreria viene rinominata e le funzioni inserite nel namespace std.Semplicemente ridicolo e conferma che sei solo un povero ignorante incompetente che si dà un sacco di arie.E visto che hai fatto tanto il pignolo allora lo faccio anche io e rispondo al tuo commento:- Scritto da: xte
            Quanto alle orribili mescolanze, solo di
            didattico, trovi inclusioni miscelate di librerie
            C e C++ (tipo stdlib.h al posto di cstdlib)Se hai letto bene il mio precedente intervento (precedente a quello tuo qui sopra), si stava parlando del c e c++ che hai definito come: "linguaggi diversi orribilmente mescolati". Ti ho risposto sul linguaggio, le librerie non c'entrano una fava perchè fanno parte dello standard, non del linguaggio. Anche qui: impara bene l'italiano e la terminologia di settore prima parlare di cose che non conosci, perchè poi le persone in buona fede ti rispondono e tu per non fare figure di mrd@ li fai passare per incompetenti e analfabeti mentre invece lo sei tu.Ed ora vedi di rispondere sul perchè il c e c++, intesi come linguaggi, sono orribilmente mescolati.Sono sicuro che non è un problema perchè sei una specie di genio.Ciao, ci vediamo alla tua prossima figura di m3rd@.
          • crgvhtrc scrive:
            Re: ottimo IDE

            Piuttosto chi è il signor "crgvhtrc" ? Quello che
            voleva dimostrare le "orribili mescolanze di c e
            c++" con la scusa
            che:
            "gli upgrade del sistema operativo mi modificano
            i path di default".
            Sei tu ? Perchè se sei tu anche come sistemista
            dimostri di non capirne un
            granchè.
            Trolla meno. la precedenza nelle librerie è sempre stata una fonte di problemi e se non hai mai debuggato a forza di ldd e nm vuol dire che non hai mai sviluppato.
          • programmato re scrive:
            Re: ottimo IDE
            - Scritto da: crgvhtrc

            Piuttosto chi è il signor "crgvhtrc" ?
            Quello
            che

            voleva dimostrare le "orribili mescolanze di
            c
            e

            c++" con la scusa

            che:

            "gli upgrade del sistema operativo mi
            modificano

            i path di default".

            Sei tu ? Perchè se sei tu anche come
            sistemista

            dimostri di non capirne un

            granchè.



            Trolla meno. la precedenza nelle librerie è
            sempre stata una fonte di problemi e se non hai
            mai debuggato a forza di ldd e nm vuol dire che
            non hai mai
            sviluppato.Ma piantala buffone, smettila di rigirare la frittata per cercare di non fare figuracce, tanto si è capito che sei xtePiuttosto signor sistemistone da strapazzo spiega e rispondi qui:- Scritto da: programmato re
            - Scritto da: crgvhtrc



            Mi sono trovato due o tre volte un bug su

            programmi che avevo in manutenzione per queste

            mescolanze.

            Mescolanze di c e c++ ?
            Non è che magari chi li ha scritti lo ha fatto
            male
            ?


            Upgrades del sistema operativo che modificavano

            precedenze e path di default e programmi

            compilati e funzionanti che improvvisamente

            falliscono gli

            import.

            E cosa c'entrano le mescolanze di linguaggi ?
          • xte scrive:
            Re: ottimo IDE
            Prima di tutto non uso altri nic, quindi spiacente siamo persone diverse.Secondo luogo se nessuno mi lart-a continuerò a risponderti a tono tanto, onde per cui ti faccio notare che prima ho fatto un esempio in, diciamo, pseudocodice, poi l'ho spiegato un po' più accuratamente giacché non capivi, poi ho messo il listato su paste2, poi ho fatto la trafila passo-passo, caso mai fossi proprio de-coccio. Ora, avendo evidentemente esaurito i possibili "non capisco" fai un bel post fiume per non arrivare a parare sulla prova della doppia definizione. Anzi, nel punto in cui ti faccio cadere esci con "standing ovation" ecc.Ottimo. La cosa più carina è che non ti sei manco reso conto che il problema più grave non è che VisualStudio "capisse" le ragioni della doppia definizione (cosa IMVHO potenzialmente pericolosa ma che nell'esempio funzionava) quanto il fatto che il secondo esempio non compilasse. Del resto continui a non capire che C e C++ sono linguaggi diversi e quindi includere in C++ una libreria C per il mero fatto che casualmente il compilatore la digerisce non va bene. Che posso dire. Non hai probabilmente mai sviluppato nulla manco per gioco, vuoi trollare e non hai l'accortezza di capire quando sei all'angolo per ritirarti in silenzio.Ps tanto per ridacchiare un po': sai cos'è il dragon book? Se si ocio, che poi ti chiedo di leggere un certo capitolo e riferire :D
Chiudi i commenti