Programmazione in c++

di il
22 risposte

22 Risposte - Pagina 2

  • Re: Programmazione in c++

    Vedi @wrugg25, hai sbagliato approccio con il tizio
    Ai bassi profili, non si deve spiegare, si deve ordinare.
    Sono solo la versione moderna degli antichi schiavi
    E gli schiavi, come dice il nomr, vanno schiavizzati
  • Re: Programmazione in c++

    Anche io critico l'itis informatico: non facciamo quasi niente e lo ripassiamo troppo. Ma la nostra prof(probabilmente l'unica al mondo) ci insegna ad avere uno stile rigoroso (commenti everywhere) e saper bene la teoria. L'80 % dei nostri compiti sono fatti su foglio di carta.. Anche se questo lo trovo abbastanza scomodo. Sara' per questo che ho l'insufficienza? xD
    Eppure da bravo gnomo inventivo faccio programmi che i miei compagni sanno solo immaginare (anche abbastanza semplici, sono loro che non hanno voglia di studiare informatica)
    Non ci fa studiare neanche le costanti del C++ assieme ai file, li facciamo entrambi nel C, e non sono riuscito a convincerla a fare le SFML al posto di allegro per lo stesso motivo, non abbiamo fatto e non faremo le classi in C++. Le faremo solo in java l'anno prossimo.. Anche se io continuo a lottare per farle in C++.
  • Re: Programmazione in c++

    wrugg25 ha scritto:


    Devid1910 ha scritto:


    ci insegna ad avere uno stile rigoroso (commenti everywhere)
    Fosse abbastanza... io in tutti voi dell'ITIS ho riscontrato sempre e solo un problema: magari commentate ogni riga, ma di fatto non sapete scrivere il codice.
    Non so se sia il tuo caso, ovviamente... ma tutti quelli che ho incontrato io scrivevano codice illegibile, poco ottimizzato ed irragionevolmente cervellotico (indimenticabile per me la volta che ridussi le oltre 300 righe di codice scritte da uno di questi "geni" a circa 90 funzionalmente equivalenti, ma decisamente più ottimizzate e leggibili)

    Devid1910 ha scritto:


    L'80 % dei nostri compiti sono fatti su foglio di carta..
    Tutti gli studenti odiano questo approccio, ma posso assicurarti che non è sbagliato: non avere davanti l'interfaccia di un IDE spesso "costringe" lo studente a ragionare sul codice prima di scriverlo, cosa che molti altrimenti non farebbero ("tanto, poi compilo e se non va bene lo correggo"... ).

    Devid1910 ha scritto:


    non abbiamo fatto e non faremo le classi in C++. Le faremo solo in java l'anno prossimo..
    MEGLIO.
    MEGLIO.
    MEGLIO.

    Lo studente quadratico medio, quando gli viene proposto il C++, crede di aver di fronte "un C con le classi", mentre di fatto il C++ è molto di più, e il supporto al paradigma OO è solo una delle tantissime caratteristiche di questo linguaggio... caratteristiche che nessuno studente dell'ITIS (e neanche gran parte degli universitari, purtroppo) potrebbe mai comprendere (una volta provai a proporre ad un paio di individui un po' di ragionamenti sulla programmazione generica... bene, in quell'occasione capii davvero il significato di "barriera linguistica").
    Studiatela su Java, l'OOP, che è meglio...

    Non ci fa solo mettere commenti, ma ci fa scrivere righe di codice ottimizzate e pulite. Qualche esempio:
    niente schifezze del tipo "void main(void) {..
    1 solo return per ogni funzione(almeno 1 per ogni programma)
    niente cin e cout nel main, solo funzioni/procedure(anche se questo lo trovo scorretto)
    commenti come //sezione dichiarativa e //sezione esecutiva, descrizione di variabili e compreso di analisi per il main(scopo, dati con quasi tutte le variabili e interazione I/O) e stessa cosa per OGNI SINGOLA PROCEDURA ç.ç
    E dato che facciamo i "furbetti", l'analisi del main dobbiamo farla prima di tutto il programma e lei la deve visualizzare e annotarsi su un foglio chi l'ha fatta vedere prima di tutto il compito. Chi la fa dopo, si becca un 2.
    non ci fa usare neanche l'interfaccia grafica, per noi solo konsole di slackware... pena 1 compito a sorpresa. E GUAI A CHI USA WINDOWS(almeno a scuola), pena nota sul registro(per non aver ascoltato la prof) con tanto di un bel 2 al posto del voto migliore.
    E ultimo degli esempi, sicuramente non per importanza.. Non ci ha spiegato il goto. Che si sappia, solo una persona l'ha utilizzato tanto, tanto tempo fa. Ora ha 22 anni ed e' in quarta. Non passa l'esame a settembre di informatica. (E non sto scherzando)
    //Anche a me non piace lo spaghetti code tranquilli, niente goto per me

    wrugg25 ha scritto:


    Tutti gli studenti odiano questo approccio, ma posso assicurarti che non è sbagliato: non avere davanti l'interfaccia di un IDE spesso "costringe" lo studente a ragionare sul codice prima di scriverlo, cosa che molti altrimenti non farebbero ("tanto, poi compilo e se non va bene lo correggo"... ).

    IDE?? Quale parola oscena sono costretto a leggere! Se non usiamo Emacs (e compilare dalla konsole, anche con la LIM, quando usiamo slax in pennina con geany, GUAI a chi usa il tasto compila) stessa pena di chi non usa la konsole.
    E ovviamente io uso Code::Blocks con il saggio tasto "compila". Solo a casa, altrimenti vengo bruciato vivo.

    Ovviamente non ci sono solo queste dritte, e trovo un po' troppo scomodo fare tutte queste cose. E infatti ho 4 come media.. unica materia insufficente, e anche la mia preferita ma da dopodomani inizio a recuperare con qualche bell'8 o 7
  • Re: Programmazione in c++

    wrugg25 ha scritto:



    Con tutto il rispetto, quello che hai elencato è solo il 10% (e fatto pure in maniera a mio avviso non del tutto adeguata) di ciò che servirebbe... invece di darvi tutti 'sti imperativi categorici, potrebbero anzitutto provare ad insegnarvi a scrivere del codice "scorrevole", che possa essere letto come si leggono dei periodi scritti in lingua italiana: acquisita questa abitudine (che in verità non è sempre valida nè sempre preferibile ad altri approcci, ma senz'altro è una buona base di partenza), molte "regole" seguono in maniera quasi automatica.
    Cosa intendi?

    wrugg25 ha scritto:


    Devid1910 ha scritto:


    IDE?? Quale parola oscena sono costretto a leggere! Se non usiamo Emacs (e compilare dalla konsole, anche con la LIM, quando usiamo slax in pennina con geany, GUAI a chi usa il tasto compila) stessa pena di chi non usa la konsole.
    E ovviamente io uso Code::Blocks con il saggio tasto "compila". Solo a casa, altrimenti vengo bruciato vivo.
    Aiuto...
    Vorrei commentare questa cosa profondamente stupida che vi fanno fare, ma veramente non ho parole... dico solo che questa cosa è l'immagine perfetta degli ITIS italiani: vi insegnano a compilare come si faceva nel 1975, così quando per lavoro vi troverete davanti ad un IDE (e succederà: quando possibile, i grossi progetti si fanno in ambienti che ne permettano una gestione quanto agevole) e del codice che non riuscirete a capire (e come potreste mai? Invece di spiegarvi ciò che serviva per capirlo, vi hanno fatto perdere tempo a lanciare il make di GCC! ), potrete rendervi conto che forse sarebbe stato meglio fare un Liceo Scientifico e poi iscriversi ad ingegneria informatica (o analoghe facoltà) presso un buon ateneo...
    Sono stato a un licieo scientifico per 3 mesi. Pessima scelta, lo studio difficile non fa per me.
    Non so che vuol dire "make di GCC", in ogni caso compiliamo usando "g++ prova .cpp -o prova", e ultimamente anche con -Wall e -pedantic
    Io uso un'IDE, non mi trovo disorientato davanti ad esso. E' molto piu' comodo e Code::Blocks e' fantastico Per l'esperienza di lavoro, a luglio dovro' fare 2 settimane di lavoro ad un applicazione al CRS4 (Search on Internet), io e altri 3 amici. (Il perche' e' una lunga storia, non c'entra quasi niente con la scuola, e' una storiella abbastanza complicata). Piu' o meno, vedro' come funziona un ambiente di lavoro serio. E potro' vedere un supercomputer!
  • Re: Programmazione in c++

    Ma perche' e' cosi' conveniente studiare all'universita'? Voglio dire, non sarebbe la stessa cosa di travolgersi con una montagna di libri? Io sono ancora indeciso se farla.. Certo, immagino che si studi molto di piu' di quello che si farebbe normalmente a casa spendendo anni a leggere libri, ma pensare al duro lavoro che c'e' dietro.. Conosco certi amici (si stanno attualmente laureando in informatica) con un'intelligenza sovraumana, e non hanno paura dello studio. Solo al primo esame(uno di essi) ha studiato ogni giorno 6 ore, e ha preso per un pelo la sufficienza al primo esame. Mi scoraggia davvero tanto...
  • Re: Programmazione in c++

    Aggiungo che l'università ti obbliga ad acquisire un certo insieme di conoscenze (poi puoi dimenticare tutto dopo l'esame, ma quello è un altro discorso), mentre l'autodidatta, per quanta buona volontà possa metterci, non studierà mai in maniera rigorosa argomenti utili ma che non gli piacciono.

    Oltre a ciò, volevo ribadire in un certo senso quanto detto da wrugg qualche post fa, ovvero: c'è poco da vantarsi a non usare mai cin e cout nel main, non usare mai void main(void), mettere sempre solo un return per funzione, usare rigorosamente editor semplici e (chissà perché) linux; il mondo reale non funziona così, può capitare di scrivere direttamente delle istruzioni nel main, se l'alternativa è usare una marea di chiamate a funzioni che fanno poco niente, e la fase di compilazione dovrebbe essere solo una noiosa e scocciante routine, non un argomento di studio, e così via.

    Spesso la programmazione si basa su un compromesso tra programmazione strutturata, prestazioni, tempo a disposizione per lo sviluppo e codice di partenza (perché spesso ti ritroverai a dover modificare, o perlomeno integrare, codice già esistente). Un bravo programmatore, piuttosto che inpuntarsi su uno di questi aspetti (in questo caso la programmazione strutturata), dovrebbe avere un idea delle implicazioni di tutte e quattro e dovrebbe saper trovare il miglior compromesso (che spesso non è univoco, e in tal caso deve sbilanciarsi verso una delle possibili soluzioni assumendosene la responsabilità).

    P.S.: il C++, come già detto, è un linguaggio molto potente ma molto complesso. In particolare, non costringe, né mai lo costringerà, il programmatore a usare il paradigma ad oggetti, ma anzi lo stesso Stroustrup consiglia di mescolare, anche nello stesso programma, diversi paradigmi in modo tale da anteporre al rigore la comprensibilità del codice e la rappresentazione intuitiva dei concetti presenti nel programma. Java invece, oltre ad essere più ad alto livello (per cui puoi focalizzarti meglio sulla comprensione del paradigma, tralasciando i dettagli), si basa maggiormente sulla programmazione ad oggetti; nelle ultime versioni, tuttavia, sono stati introdotti i costrutti necessari per supportare altri paradigmi, perché ci si è accorti che un approccio più simile al c++ può essere migliore in molti contesti.
  • Re: Programmazione in c++

    Rispondo un po' in ritardo...
    Grazie a entrambi, mi avete convinto, appena finisco il tecnico inizio l'universita'. Questo dilemma mi perseguitava da qualche anno
  • Re: Programmazione in c++

    Informatica, senza dubbio.
    Mi piacerebbe avere anche le informazioni che da' la laurea in ingegneria ingormatica, ma purtroppo devo scegliere tra una delle due, e a me piace piu' la parte software.
Devi accedere o registrarti per scrivere nel forum
22 risposte