Qual è il vostro linguaggio di programmazione preferito? Siete d'accordo con me che approcciarsi per la prima volta all'informatica con certi linguaggi non sia modo migliore per affrontare il coding? Commentatemi!
Ormai programmo come autodidatta in c++ da due anni. Personalmente lo trovo fantastico rispetto agli altri, molto più logico. L’unica difficoltà sono le GUI. Cmq 3:38 il risultato è 321 credo
Io sinceramente mi sono approcciato a 2 linguaggi di programmazione: Il C++ con Arduino e il Python per curiosità mia e non so quale scegliere perchè il Python lo adoro per la semplicità di utilizzo, il C++ lo odio per il fatto che gli devo dire io OGNI SINGOLA VARIABILE ma lo amo per la modificabilità che ha
Il C e C++ non te li chiede nessuno? Ma dove cazzo lavori nel burundi? Programmo da molti anni, iniziai con il basic da autodidatta (primi anni '80), poi subito passato al C microsoft MSDOS,Windows e anche Xenix. Poi, salto mortale con il Zortech C++ e poi, dopo qualche anno, microsoft C++ primissima versione. Ho collaborazioni pluriennariennali con molte aziende nel campo del medical imaging e ricerca nell'analisi di immagine, praticamente in tutto il mondo evoluto. Mai successo che abbiano imposto o anche solo proposto l'utilizzo di un linguaggio diverso dal C++. Ho 66 anni ed ancora ci campo col C++.
Sono felice di aver iniziato con C i primi due anni, si sentono i benefici nel mondo del lavoro dove usiamo C++ e Python. Magari è soggettivo, ma secondo me iniziare con C dovrebbe essere la base per tutti
la grande maggioranza dei lavori riguarda sviluppo orientato al mondo web (back o front end) in questi ambiti conoscerlo o meno non porta chissà che benefici, a mio avviso è molto più importante avere solide basi di DSA che sono conoscenze universali e portano benefici a prescindere dal dominio funzionale
Dopo tanti anni di esperienza posso dire che chi sceglie per masochismo inconsapevole di essere un programmatore deve rassegnarsi che è tutto provvisorio. Il consiglio migliore che sento di dare è che questa professione si può fare solo da giovani finché si ha passione ma nel frattempo che si imparano le nuove tecnologie che le mode costringono a studiare, per non diventare obsoleti come il codice, suggerisco di pianificare la fuga. La sfida è abbandonare il settore tecnico (l'ultima ruota) il prima possibile, diventare analisti o project manager anche se è un percorso molto diverso oppure ... una bella pizzeria.
Allora, sono d'accordo sul fatto che ora il C non sia molto usato. Ma chi inizia con il C si ritrova poi molto più facilitato ad imparare altri linguaggi rispetto a chi inizia con linguaggi ad alto livello. Comunque gran bel video complimenti👏👏
Se impari prima la programmazione ad oggetti ed eventi, quella procedurale vien da se. Se fai il contrario quella ad oggetti potresti non assimilarla in modo facile, perchè non si riesce a capire la distinzione tra un oggetto astratto e dovrai prima passare per l idea di vedere un oggetto come una Struct che poi al suo interno ha delle funzioni. Perciò se impari al contrario è più semplice perchè la programmazione procedurale inevitabilmente la si scrive sempre.
Quoto.... Sinceramente non capisco come si faccia ad imparare un linguaggio di alto livello senza fare proprie lle basi di un linguaggio di basso livello .
Ho iniziato a programmare con C, ci ho messo 6 mesi per fare l’esame di programmazione 1. È stato davvero dura, però posso dire che mi è servito a molto per comprendere i linguaggi successivi. Per ciò che richiedevano all’università di informatica ci ho messo molto di meno per studiare un linguaggio completo successivamente, studiare il C mi ha aperto la mente ed è stato un buon inizio secondo il mio modesto parere. Anche se si, oggettivamente è un linguaggio molto vecchio e sicuramente si potrebbe fare a meno di distruggere la psiche di una persona alle prime armi con una tonnellata di roba meccanica.
Fare a meno del C? ma dove vivi? allora butta il telefono e il pc scusa. Quando abbandoneranno la vecchia codebase in C che già funziona per sostituirla con un altra che fa le stesse cose, forse più lentamente (rust) e faranno nuove api così non hai da piangere quando vedi un puntatore.
mia esperienza unive: il primo anno alcuni corsi hanno servito a scremare chi "ci provava tanto per" e magari avevano solo una passione da coltivare come hobby. Il discorso è interessante anche se non è mai facile per uno che inizia da poco visto che questo settore evolve ogni giorno :)
Per quanto riguarda i percorsi scolastici/accademici: io sono sempre più convinto che la scuola/università deve dare i principi di base di una materia, far sviluppare lo spirito critico e le capacità di analisi. All'inizio penso che sia molto formativo cimentarsi con problematiche ostiche, anche se di scarsa applicazione, perché obbligano lo studente ad imparare a ragionare. Poi gli sviluppi di carriera, gli interessi personali, le passioni, sono cose che verranno con il tempo, con l'esperienza. Ognuno ha il suo percorso di vita.
Sono contento che il C venga schifato, così noi sviluppatori firmware possiamo pretendere stipendi maggiori visto che siamo 4 gatti. Ormai ci sono più sviluppatori web che computer.
Io ho 14 anni e sono completamente d’accordo sul fatto che il C e il C++ non debbano essere i linguaggi da far imparare all’inizio. Infatti io prima delle superiori ho imparato Python grazie a video online e ricerche su internet con l’obiettivo di creare un assistente vocale per il mio pc (alla fine dopo 2 mesi ci sono riuscito e funziona anche abbastanza bene)…. adesso che ho iniziato le superiori a scuola ci stanno insegnando il C++ e vedo che molti dei miei compagni di classe sono stati molto in difficoltà già solo al primo anno e molti si sono scoraggiati e vorrebbero cambiare indirizzo o addirittura la scuola. Ad ogni modo bellissimo video! Spero che tu possa iniziare il tuo corso di programmazione il prima possibile😃!
Come studente di informatica posso dire che hai ragione riguardo all’approccio che un Neofita dovrebbe avere nell’ambito della programmazione, ogni linguaggio ha un suo perché, dato dall’esigenza dell’uomo in base ai problemi presenti (altrimenti non esisterebbero) quindi a parer mio dovrebbe essere più creativo un corso come il nostro è dovrebbe stuzzicare quella curiosità in ognuno di noi che hanno approcciato o vogliono approcciare in questo vasto mondo. La programmazione è una vera e propria forma d’arte digitale. Per quanto riguarda il mio linguaggio “preferito” sono il C e C++, sono linguaggi abbastanza complessi inizialmente e dopo ore e ore che litighi con il compilatore arrivi molte volte all’esaurimento, ma allo stesso tempo hai una grande soddisfazione quando inizi a comprenderne la logica e il linguaggio stesso, mi piacciono proprio perché sono affascinato dal calcolatore e vorrei poter fare progetti con dell’hardware un giorno. Ovviamente non denigro il Java e altri linguaggi a me molto cari per altri scopi e di cui voglio approfondirne le potenzialità
Secondo me è importante sceglierselo da solo dopo aver capito i pro e i contro. Io ho scelto il c++ come primo linguaggio perchè mi ha sempre ispirato l'ambito dello sviluppo di videogiochi, quindi anche se è ritenuto uno dei più difficili, non è un qualcosa che mi ha influenzato perchè era il linguaggio che volevo imparare
Finalmente qualcuno che parla bene del Java, è stato il mio primo linguaggio; Lo scelsi perché vlevo imparare a scrivere le mod per minecraft e dopo un po di anni finalmente c'è l'ho fatta! Quando poi sono andato alle superiori e come prima cosa ci hanno fatto imparare il c++ mi sono reso conto di quanto Java mi piacesse di più. Ottimo video, molto interessante ed utile Grazie!
Stessa cosa! Io ho cominciato java per scrivere i plugin di minecraft, ho continuato per un annetto, nel frattempo a scuola abbiamo fatto altri linguaggi, io li ho imparati direi perfettamente (eppure non ho mai studiato nulla), però non ho mai voluto approfondirli come sto facendo con Java e kotlin, quindi sì, direi che è una passione
Il discorso che hai fatto sul C e la ricorsione va bene se affronti l'informatica in da "amatore" o lo studi alla superiori: se vuoi invece diventare un professionista è opportuno conoscere i meccanismi del C che è la base di di quasi tutti i successivi linguaggi di programmazione: è ancora molto usato (C/C++) ed è il più efficiente in termini di velocità e ottimizzazione delle risorse (non sempre hai 4 GB di RAM e processori multicore a 64bit). P.S. La ricorsione è utilizzata nella programmazione: ad es. se devi stabilire il percorso ottimale (navigatori) o nei giochi (scacchi)
Ragazzi vorrei un consiglio. Io faccio tutto un altro tipo di lavoro ..ma oramaii stanco del mio lavoro ho pensato di iniziare a lavorare con il computer... Non ho 20 anni ma 45.. un mio amico mi ha detto di non studiare Java ma si farà qualche corso on line di INTELIGENZA ARTIFICIALE. dicendomi che se mi mettessi a studiare Java e altri linguaggi di programmazione avrei la concorrenza di giovani di 20 anni. Secondo il mio amico se facessi qualche corso di INTELIGENZA ARTIFICIALE partirei allo stesso livello di tutti (dato che A.I è una cosa nuova. Che consiglio mi date?? Grazie
GRAZIE! Ormai sono 4 anni che voglio imparare a programmare e grazie a te sono sempre più certo di voler diventare uno sviluppatore. Comunque il corso sarebbe stupendo.
Io mi trovo in parte in accordo in quanto diciamo che uso python, R e Java con relativi frameworks, però devo dire che in molti settori come l’AI e il problem solving (quello vero, scrittura algoritmi ecc) mi sono tornati utili quei concetti. Prendi la ricorsione, ChatGPT è basato sulla RNN che è una rete di tipo ricorsivo... quando vuoi bucare un pc conoscere C++ è saper scrivere una macro in assembly ti facilita la vita...
Sei stato bravissimo. Il morale del video si può riassumere in: Scegli quello che ti piace, il lavoro lo trovi comunque. Non è necessario studiare a partire da C e C++.
Mi sono ritrovato in tutto quello che hai detto. Ho iniziato a programmare all'università e all'inizio ero molto entusiasta. Poi però ho iniziato il C (oltretutto con un professore che non sapeva spiegare per niente) e sono passato letteralmente ad odiare la programmazione😢
Il c++ e il c sharp non sono usati in molti ambiti, ma per esempio possono essere molto utili per lo sviluppo di videogiochi che richiedono un' alta velocità di calcolo che linguaggi ad alto livello come per esempio il python non sono in grado di offrire
In python si possono tranquillamente sviluppare giochi Indie molto interessanti. Il resto se devi fare competizione a fortnite e giochi simili di sicuro non va bene li bisogna utilizzare engine più sofisticati
La questione con premio allegato a me risulta -21, riguardo al resto, personalmente ho iniziato col vecchissimo QBasic e devo dire che alla fine i linguaggi di programmazione si assomigliano un pò tutti, il for, l'if lo switch (select case in vb) le strutture dati (tipi in vb), la ricorsione e oggi l'oggettizzazione, l'incapsulamento, l'ereditarietà e il polimorfismo sono tutte cose che trovi sia in VB che in C++ o C#, anche i puntatori ci sono quasi dappertutto, magari in VB si usano di meno, ma per interfacciarti con le API di sistema devi usarli per forza, insomma, il mio parere è che non ha molta importanza con cosa si comincia, alla fine tutto tende a convergere. Se dovessi dare un consiglio a un principiante gli direi di iniziare con qualcosa che gli interessa, che possa dargli un risultato immediato, senza per questo doversi imparare tutte le sfaccettature del linguaggio, impari ciò che ti serve quando ti serve e prosegui così. Qualcuno la pensa come me?
La risposta a 3:40 dovrebbe essere -9. Apparte questo, sono in parte d'accordo col tuo discorso. Sono un ragazzo di 16 anni, a breve 17, e quest'anno (3 superiore) mi hanno fatto imparare fin da subito il c++. Non posso dire che sia stata un'esperienza facilissima, ma sicuramente chi apprezza veramente il mondo dell'IT non molla per così poco. Alla fine credo che aver studiato per 9 mesi c++ sia stata un'esperienza, non delle più divertenti ma sicuramente formativa, dato che avendo capito i concetti base dell'informatica riesco ad approcciarmi a diversi linguaggi/ambiti abbastanza facilmente (per ora, dato che mi manca esperienza). Sicuramente far scegliere una strada agli studenti sarebbe bello, tuttavia credo che la scuola voglia formare in modo "full stack" (per rimanere in tema). Scegliere un solo linguaggio di programmazione all'inizio, per quello che vogliamo sia il nostro futuro, secondo me, bloccherebbe un pò la voglia di approcciarci ad altri linguaggi, soprattutto se ostici come nel caso del c++. È una di quelle forzature che però, una volta superate, non rimpiangi, a parer mio ovviamente.
Concordo in pieno! Ai tempi della scuola, non si può essere certi di cosa si farà nella vita, meglio una formazione iniziale "full" e specializzarsi poi.
Alle superiori da me abbiamo iniziato in terza con c++ per fare poi html e fino alla quinta php Nonostante tutto l'amore per la programmazione è rimasto, anzi Dano grazie per aver fatto questo video perché stavo iniziando a dubitare dell'utilità degli anni passati a studiare tutte le librerie e le varie formule Ora torno a studiare Java ❤️
be dovresti tornare a dubitare. Java e altri linguaggi a mio parere hanno solo fatto disastri e i linguaggi come java solo orientati agli aggetti sono fuorvianti ! Se cerchi un po in giro su internet troverai un sacco di cose a riguardo. Io me ne sono accorto da solo, poi ho voluto vedere se qualcuno la pensava come me ed effettivamente molti sostengono questo ! Ma ripeto basta programmare in java e in qualsiasi altro linguaggio che non è solo ad oggetti per capire come java sia progettato e fatto male (come tutti i linguaggi solo ad oggetti) ! Non fraintendere non mi sto riferendo alla tipizzazione , ma all'object oriented.
@@gabrielerusso326java fatto male mi sembra una bestemmia. Il linguaggio da imparare dipende da quello che si vuole fare. Se ci si vuole buttare nella programmazione pura (software engineering per capirci) il meglio è senza alcun dubbio java. Python a oggetti fa letteralmente schifo infatti manca di strumenti fondamentali della programmazione a oggetti quali attributi e metodi privati questo lo puoi anche leggere su libri di una certa rilevanza che affrontano il linguaggio (in generale la forza di python sono le librerie estremamente sofisticate ed intuitive per questo è ottimo nell'ambito di Data Analytics, Machine Learning e Cyber security ovvero campi dove l'obbiettivo non è quello di creare applicazioni ma più che altro risolvere task velocemente). Il C invece è il linguaggio migliore se si cerca l'efficienza e quindi appunto nel contesto di embedded system, video game (anche se spesso si usa C#) e tanto altro. Se non è il primo linguaggio che stai imparando mi butterei su java in quanto nel caso in cui si devono programmare applicazioni complesse (tipo siti web) in cui è fondamentale utilizzare la programmazione a oggetti è il migliore linguaggio (appunto perché se si deve programmare a oggetti è il migliore indiscusso). Se invece non vuoi programmare a oggetti (cosa sconsigliata nel caso in cui devi programmare applicazioni di una certa dimensione) allora ti consiglio Python nel quale con una manciata di righe di codice fai veramente di tutto. Comunque se già conosci la programmazione ad oggetti ti consiglio anche di vederti il libro "Applicare UML e i pattern" di Larman che veramente ti apre la mente e ti fa capire la vera potenza della programmazione a oggetti (accostato a questo scaricati su internet il libro "Design patterns element of reusable object-oriented software" Che presenta i design pattern GOF che sono considerati i più importanti)
Carissimo, dopo essermi approcciato a scuola con il basic, ho preso un libro di C++ e sono rimasto affascinato da questo linguaggio. Il problema è nato quando dovevo usare l’MFC della Microsoft con Visual Studio. Così oltre a studiare il linguaggio dovevo pure imparare ad usare il compilatore. Ho provato a trasferire il mio interesse su Java che non era come le attuali versioni. Alla fine sono passato a Python e le basi le conosco bene, ora vorrei andare su qualcosa di più avanzato. Se ci fosse un corso Python magari con l’utilizzo di librerie Qt sarebbe il massimo. Grazie per la tua professionalità e simpatia.
Sai, io ho iniziato con il Visual Basic, e anche se oggi è considerato molto poco ritengo che questo linguaggio possa essere realmente propedeutico anche alla conoscenza di altri linguaggi in quanto le varie procedure (i cicli iterativi, le strutture if then else ecc) sono immediatamente visualizzabili, senza considerare, ricordo le mie difficoltà, le matrici; inoltre la semplicità con cui si possono vedere i risultati in modo 'carino' attraverso le finestre di windows aiuta molto nella voglia di approfondire. Onestamente tali possibilità non le ho trovato in altri linguaggi ad alto livello; per costruire una finestra in Pyton devi usare librerie esterne non semplici nell'uso che ti fanno rivalutare il senso delle parolacce. Ripeto, le strutture studiate in visual B aiutano comunque per i più coraggiosi ad avvicinarsi in modo più sereno a linguaggi a più basso livello.
@@FalB27 Visual Basic, non VBA (e comunque non ci ho mai fatto caso). Qeull'obbrobriosa sintassi di python invece è veramente scomoda, nei vari copia/incolla bisogna star attenti a come si indenta (visto che non hanno neanche partorito una istruzione end come il basic)
@@florixc per carità, Python è solo un LUA peggiore. Nella sintassi a blocchi ci sarebbe bisogno di una keyword end o done o simili, però trovo ingiustificato l'odio verso Python perché, fatto sta, senza queste keyword Python rimane comunque molto più facile da imparare rispetto a molti altri linguaggi, che è un pro per la target audience del linguaggio. Comunque VBA sta per Visual Basic for Applications e non è nient'altro che Visual Basic 6.0. Dubito che sia cambiato così tanto Visual Basic dopo l'implementazione del .NET
il primo linguaggio che imparai fu C++ al liceo che poi mi aiuto notevolmente nei miei esami universitari, adesso vorrei imparare un linguaggio per iniziare a programmare un gioco ma non so quale conviene, voi cosa mi consigliate? Bellissimo video e continua così
Io sto imparando c/c++ , e lo amo(in self taught) Un consiglio che voglio dare e che ogni volta che imparate qualcosa di nuovo e di esercitarvi con quello che avete imparato risolvendo dei problemi a tema.
Personalmente da persona che ha iniziato più di 10 anni fa col C++ sono d'accordo su quasi tutta la linea, è chiaro poi che in ambiti accademici debbano più o meno fare una scelta comune che vada bene "un po' per tutti" e far partire da quello chiunque faccia il corso perchè altrimenti diventa un macello gestire tutto quanto. Ad oggi direi che secondo me la scelta migliore (ed è quello che faccio con gli studenti che mi capita di avere ogni tanto) per un neofita è quasi sempre partire dal python, che ti permette di non pensare alla gestione manuale della memoria ma allo stesso tempo ha tutto quello che serve per imparare le basi dell'informatica in modo completo arrivando anche a poter implementare cose davvero complesse e imparare concetti avanzati come la programmazione ad oggetti a modo (non ai livelli di come te lo fa fare il java e ha i suoi difetti se usato come linguaggio ad oggetti nudo e crudo, ma per farsi le ossa ha più che il suo perchè anche in questo). Soprattutto il caro vecchio pitone ha il punto di forza che si possono fare tante tante cose anche senza doversi appoggiare a dei framework che poi sono molto semplici da integrare rispetto ad esempio al javascript dove tutto è un po' più complicato e fumoso per chi non è tanto pratico e senza i framework già in partenza non ci si fa molto. Dopo un po' di ossa fatte sul python poi ci si può specializzare in quello che si vuole in modo molto più agile.
Secondo me dici un sacco di fesserie , per chi vuole imparare a programmare consiglio di iniziare col C++ proprio per i puntatori e la sintassi del linguaggio. Nn diciamo fesserie
Penso che bocciare a priori c e c++ non abbia senso. La conoscenza di c++ è super richiesta e nel mondo della sicurezza informatica c è essenziale. Penso che un neofita non possa iniziare da Python per esempio solo perché più intuitivo e facile poiché non avrebbe le basi che invece c o c++ garantiscono. Quando proverà a cambiare linguaggio capirà subito la mancanza di basi universale .
Grazie veramente. Da anni sto guardando tutti i video che trovo sull'argomento e direi che il tuo è finalmente, esaustivo. Iscritto. (vorrei tanto trovare quella tavola diagramma che hai inserito a un certo punto...)
Non ho mai sentito una collezione di cavolate dette tutte insieme! Cerca di fare chiarezza: innanzitutto il C non è un linguaggio di basso livello e figuriamoci il C++ che riprende le strutture del padre, aggiungendo una pseudo-programmazione ad oggetti. Il linguaggio di programmazione a basso livello si chiama ASSEMBLER. Poi negli anni 90 arriva Java, il primo codice totalmente ad oggetti che tutt'oggi è impiegato in svariati ambiti. Da qui in poi nascono tutti i linguaggi da te citati che servono in ambito smartphone e web. praticamente tra un pò ti tolgono la tastiera tanto mica serve più spremere le meningi per arrivare a scrivere software. Ricorda che COBOL è tuttora il linguaggio utilizzato in ambito finanziario con una miriade di programmi adatti al mondo bancario. Ed è ad alto livello! Quindi tu... di cosa stai parlando? Forse di linguaggi per menti bacate? Negli anni 70-80 gli i programmatori italiani erano ricercatissimi per il loro grado di cultura. Oggi non sapete manco come è strutturato un processore! Questa è la verita!
Come punto di partenza ( ma anche di arrivo..) consiglierei Delphi che facilita enormemente la creazione della user interface, usa il Pascal come linguaggio e vi incoraggia ad usare la programmazione ad oggetti. In aggiunta, ha una versione free, che non è poco
A mio avviso non si può trascurare il basso livello per soddisfare la necessità di feedback degli studenti. Diciamolo sinceramente: i ritorni immediati servono principalmente agli studenti svogliati, quelli che non hanno motivazioni intrinseche allo studio e necessitano pertanto di continui stimoli. I linguaggi di basso e alto livello andrebbero studiati in modo parallelo: c'è posto sia per comprendere la macchina sia per avere risultati, e serve sia essere gratificati che studiare con serietà. Grazie del tuo video, l'ho trovato decisamente ben fatto 👏
Questo suggerimento mi serviva, non abbattersi quando non funziona un codice e usare tutti strumenti che esistono per aiutarmi, grazie questo era il video che mi serviva, allora il mio linguaggio preferito è Python perchè mi permette di creare dei bot per Discord e poi è facile da imparare.
Devo dire che avendo iniziato a studiare java dopo il c base, essendo messo in difficoltà dalla nuova struttura del codice, dalla verbosità e la programmazione orientata a oggetti chatgpt mi è servito e tutt'oggi mi molto utile a capire eventuali errori nel codice e magari come semplificarlo o renderlo più compatto
Spero davvero tanto che questo video arriverà a 5000 k Like, perchè un tuo "video corso" sulla programmazione è ciò che ho sempre voluto, anche perché vorrei approciarmi alla programmazione ma non ho mai trovato una persona davvero brava a spiegarla, invece credo che tu saresti perfetto
Io sono del 73 e il mio primo linguaggio di programmazione imparato a scuola è stato il Turbo Pascal, poi passato al GWBasic, Visual Basic, Carnigan & Ritce C, ecc
Ragazzi vorrei un consiglio. Io faccio tutto un altro tipo di lavoro ..ma oramaii stanco del mio lavoro ho pensato di iniziare a lavorare con il computer... Non ho 20 anni ma 45.. un mio amico mi ha detto di non studiare Java ma si farà qualche corso on line di INTELIGENZA ARTIFICIALE. dicendomi che se mi mettessi a studiare Java e altri linguaggi di programmazione avrei la concorrenza di giovani di 20 anni. Secondo il mio amico se facessi qualche corso di INTELIGENZA ARTIFICIALE partirei allo stesso livello di tutti (dato che A.I è una cosa nuova. Qual consiglio mi dai Grazie
@@MrMorotepio sto studiando c come primo linguaggio e mi trovo molto bene, le basi sono semplicissime e in poco tempo puoi già fare dei programmi molto carini
@@antoniobertolini9358 Il problema del C come primo linguaggio è che si rischia di impararlo come se fosse un linguaggio come tutti gli altri, finendo per non utilizzarne tutte le potenzialità uniche. Difficile che uno alle prime armi possa muoversi fluidamente con argomenti come gestione della memoria, puntatori, puntatori di puntatori, puntatori a funzioni ecc ecc. Poi per carità, se uno ce la fa ok, ma non sono argomenti da affrontare in un'approccio didattico alla programmazione.
@@MrMorotepio ho iniziato da pochissimo ma perfortuna conosco come funziona l'aritmetica binaria e quindi riesco a orientarmi con la memoria. Comunque a me interessa il C per avere le basi per usare bene microcontrollori come Arduino ed Esp32 e perfortuna giá con poco riesco a fare il 90% dei programmi che mi possono servire! Poi ovviamente in futuro immagino che mi beccheró degli argomenti ostici di cui al momento ignoro l'esistenza!
Posso dirti che ho iniziato a programmare da qualche mese, iniziando proprio con javascript, poi sono passato a java e ti posso dire anche io lo amo. Lo preferisco a Javascript proprio per il suo ordine e precisione. Sei uno dei pochi che ho sentito pensarla come me
ho 57 anni e nel 1987 ho passato 2 anni a lavorare in C sotto AIX. All'epoca, nell'azienda di informatica per la quale lavoravo, usavo il COBOL ma imparai il C per conto mio, al punto che divenni così bravo che venni spostato nel gruppo di automazione industriale. Rammento un progetto su tutti, un sistema di automazione per la centrale termoelettrica di Fusina. Con il C (e DB sql Informix), oltre a tutto il core gestionale grafico, riuscimmo ad implementare tutti i driver per bilance per i camion, semafori, sbarre e lettori di badge. I driver comunicavano fra loro e con il core tramite un sistema mailbox che io ed il mio capo implementammo. Per farti rendere l'idea, dico solo che all'epoca i cavi (che ci facevamo in casa con il saldatore) erano seriali RS232 e i tempi di risposta dei vai componenti dipendevano dalla lunghezza del cavo, quindi dovevano creare dei loop all'interno dei driver per "perdere tempo" in modo da non perdersi le risposte. A pensarci ora è preistoria ma lo ricordo come uno dei miei periodi più belli ed interessanti.
Iniziai all'università con Java e non esagero dicendo che ho abbandonato la facoltà per colpa sua. Un linguaggio con una curva di apprendimento che è pari a scalare un muro liscio ed oleato alto 20 metri, in nemmeno due lezioni ti riteovavi a fare progetti con 10 package e 200 classi quando a malapena hai capito come inizializzare le variabili. Ora ho ripreso a studiare attraverso un corso di sviluppo software e sono partito da C++, per quanto sia a basso livello mi ha aiutato tantissimo a comprendere le basi della programmazione come cicli, array, strutture, puntatori, ecc. Ahimè ho riniziato anche Java ma mi rincuora il fatto che poi farò python, linguaggio che già ho approfondito da autodidatta e che amo moltissimo.
Concordo. Sono un programmatore vecchio stampo e ho dovuto fare tutta la trafila. Assembler, Pascal, C, C++ ... qualche accenno a VB, per passare a Java all'università. Ora programmo stabilmente in Java da almeno il 15 anni. Nel 2023 auspicherei ad un percorso formativo inverso che parta, ad esempio, da Python, uno dei pochi linguaggi che rispetta realmente il paradigma della programmazione ad oggetti per poi, se si vuole approfondire con passione, arrivare fino al C a ritroso. Non concordo però ad esempio su alcuni concetti. La ricorsività è per me un qualcosa che va comunque studiato cosi come gli alberi. Concetti realmente poco utilizzati. Certo. Ma ad esempio, personalmente, la ricorsività è stata utile in almeno due progetti. Progetti che avevano un problema che per la quasi totalità dei colleghi era impossibile da risolvere semplicemente perchè non sapevano nulla della ricorsività. Perchè, hey, il programmatore deve anche generalizzare i problemi .... e affidarsi al tanto più di x sotto-cicli non ci saranno mai .... non è da programmatore serio (mio modesto parere :D )
Condivido a pieno . Sto studiando C al primo anno . Non mi scoraggiò assolutamente , ma credo sia davvero controproducente . Dare un approccio finalizzato a qualcosa di concreto è il miglior modo da infondere fiducia e far aumentare quell’autostima necessaria sopratutto all’inizio di un qualsiasi piano di studio . Premetto che sono iscritto da circa 1 anni ed ho quasi 57 anni 😉
Sono partito con il basic MS v.2.0 , poi 'assembler a 8bit del 6510, dello z80 ,a salire fino x86. C++ e poi python sono stati la conseguenza. L assembly mi ha aiutato tantissimo per i microcontrollori.
In realtà TypeScript, come superset di JavaScript, introduce la tipizzazione statica, simile a Java, riducendo gli errori. I linter in JavaScript prevengono errori nella stesura del codice, migliorando qualità e produttività. Inoltre, alcune recenti funzionalità di Java, come le espressioni lambda, 'var' per le variabili e le API Stream, sono state ispirate da JavaScript e TypeScript, sottolineando l'innovazione e l'influenza di questi ultimi.
Sei molto giovane, quando si iniziava a programmare si utilizzava l'assembler ed il Fortran. il linguagio C fu l'evoluzione del linguaggio B derivavato dal linguaggio "BCPL" (Basic Combined Programming Language). L'uso di C ha permesso loro di scrivere un sistema operativo portatile, efficiente e flessibile conosciuto come Unix....diciamo il papà di Linux.
allora, sto nell'informatica da sempre e quindi ho passato tutti i periodi di transizione. Il discorso è molto semplice, tutto dipende dall'obiettivo. Si puo essere ottimi programmatori e usare linguaggi di alto livello senza conoscere a fondo l'architettura hardware dei sistemi su cui devono girare questi programmi. Tuttavia se si è appassionati e si vuole scrivere del codice ottimizzato che gira solo su determinate architetture non si può prescindere dal conoscere molto bene l'architettura della "macchina" su cui il codice deve girare , questo discorso vale soprattutto sui sistemi embedded anche se i micro attuali hanno molte piu risorde disponibili rispetto al passato. quando ero ragazzo dovevi scrivere codice di pochi Kbite ....... Inoltrebisogna capire perchè uno fà il programmatore, lo fai perchè è la tua passione o perchè non trovi di meglio ? Facciamo un esempio, se uso python e devo scrivere codice multi thread non è il linguaggio migliore dal momento che non è thread safe e quindi se lo sai fare usi parti di python con richiami al c oppure cerchi di usare i lock o cose simili ma essendo interpretato non stai scrivendo codice ottimizzato. questo è solo un esempio , ma quanti di quelli che programmano oggi hanno la libertà di scegliere il linguaggio o proporre soluzioni alternative se non sei un capo progetto o non lavori in proprio ?
Ciao, sono un laureando magistrale in computer engineering (modo più accattivante per dire ingegneria informatica in inglese), triennale sempre in ingegneria informatica. Nella mia carriera universitaria ho avuto modo di trattare con tutti i linguaggi citati da te eccetto C#, ho programmato in: Assembly, C, C++, Java, Kotlin, Matlab, Python, Go, JavaScript, React... Il mio pensiero è vicino al tuo sotto molto aspetti, specialmente quello del cold start con C++ e dell'implementazione con feedback. Tuttavia, credo che la programmazione a basso livello per chi vuole definirsi un programmatore a tutto tondo sia fondamentale, per vari aspetti sui sistemi operativi, reti, funzionamento del server, trasmissioni internet... Capisco benissimo che sul momento risultano dolorosi e fanno facilmente andare via di testa (segmentation fault :) ) ma a posteriori sono molto contento di "essere stato costretto" a doverli usare. Volevo parlare di questo argomento in una serie di articoli e video sullo studiare ingegneria informatica per il mio blog in costruzione, mi farebbe piacere parlarne con te in caso l'idea ti potesse interessare. 😊 Marco
Ammetto che questo video mi è piaciuto particolarmente. Io studente da liceo scientifico(con latino), mai visto codice negli anni, mi iscrivo in un corso universitario basato su Informatica applicata e data analytics, nome accattivante, prospettiva lavorativa super avanzata! Primo esame del Corso -> programmazione C Letteralmente l'esame è ancora la! secondo scoglio del corso Machine Learning -> basi di python per me inesistenti e non fornite dal corso. Eppure il CDL è stato lanciato come innovativo e senza bisogno di esperienza pregressa, mi lanciano su C a caduta libera sulle liste e di python manco conoscevo la sintassi ahahahhaha Alla fine, piano piano, Python inizi a comprenderlo e digerirlo, ma C, per quanto ammetto sia esteticamente bello e potenzialmente """perfetto""" rimane ancora uno scoglio insormontabile. Devo ammettere che il procedimento inverso di apprendimento funziona meglio e vorrei fare un esempio C lo consideriamo come la grammatica più alta, il parlare correttamente con la giusta consecutio temporum. Python è più simile ad un linguaggio parlato, qualcosa di fluido, qualcosa di colloquiale. Ora riflettiamo come si plasma il parlato in un Bambino Inizia a parlare imparando dai propri genitori (quindi potrebbe imparare anche modi gramaticalmente sbagliati o incompleti) poi imparerà la grammatica più alta e complessa Avrà certamente delle difficoltà a spostarsi da un parlato colloquiale ad un parlato aulico, ma certamente con meno sforzo riuscirà a plasmare meglio i due linguaggi Insegnargli la grammatica prima di iniziar a parlare lo porrà di fronte ad un muro di comprensione troppo alto, ce la farà, ma quando poi dovrà approcciarsi ad un altro linguaggio, cambiare anche totalmente lingua, avrà realmente dei vantaggi? Si, semplicemente ha imparato a try-hardare, sarà più resistente nel gettare la spugna ma questo non gli rende la vita più semplice Secondo me usare C allo start di un corso ti fa sbattere la testa su problemi che non hai mai nenache considerato, Python secondo me è più indicato a muovere i primi passi anche perchè se inverti il sistema di apprendimento, secondo il mio punto di vista, riuscirai a comprendere maggiormente C perchè affonderai le dita su un linguaggio più contorto ma con cognizione di causa, allo stesso tempo risulterà più semplice affinare la sintassi portando quindi le lezioni a spiegarti qualcosa di più profondo sul C rispetto a spendere così tante ore su come funzionano Array, liste, puntatori ecc ecc Affrontare una lunga salita è meno faticoso e più adatta a tutti piuttosto che prendere la via dell'arrampicata. Dopotutto conta soltanto arrivare alla vetta! (mio personale parere
Sono completamente d'accordo con te, io sono partito proprio con il c++, sono uno a cui piace smanettare molto con l'hardware e mi diverto a lavorare a basso livello nei miei progetti, mi affascina studiare e capire il funzionamento a basso livello dei componenti. Per quelli che invece vogliono creare programmi, videogiochi e siti web con interfacce grafiche complesse non c'è assolutamente bisogno che imparino determinate cose, sono sempre stato del parere che si dovrebbe smettere di insegnare i classici c\c++ come primi linguaggi e lasciar scegliere, in base alle preferenze di ognuno, il linguaggio con il quale si vuole partire, se ad esempio il tuo obbiettivo è quello di diventare uno sviluppare web potresti studiare mille altre cose e linguaggi piuttosto che perdere tempo a studiare i puntatori, che probabilmente non userai mai
Mi sono iscritto in ritardo ad informatica e mi sono perso praticamente tutte le lezioni sul C. In un mese scarso mi sono letto l'intero libro sul C, l'ho imparato e l'ho applicato. In un esame successivo mi son fatto in una settimana un esame di programmazione dove ho creato un gestionale in C con oltre 1.000 righe di codice. Sicuramente ci sono argomenti leggermente più complicati, ma personalmente non ho trovato il C così complicato. Anzi... Quando poi ho dovuto studiare il Java, il libro col malloppone di 900 pagine, le prime 400 pagine le ho dovute letteralmente solo sfogliare.
5:21 c'è da dire anche che si stanno sviluppando nuovi linguaggi, come ad esempio VLang, che basandosi su C/C++ portano una sintassi semplice come quella di python / js ma con tempi di esecuzioni a volte perfino più veloci di quelli di C stesso. Questo porta ad una marea di PRO, fra cui, per esempio, avere un linguaggio adattabile sia per lavorare a basso livello che ad alto livello, il tutto sempre con molta "comodità" a livello di sintassi :)
Sono un vecchio vecchio programmatore, ho cominciato quando l'informatica era roba per eletti. Quando internet non esisteva e se ti piantavi su un programma erano cosi amari trovare una soluzione. Linguaggi ne ho usati e ne uso ancora tanti, a 16 anni programmavo in c++, in assembly e peggio ancora in codice macchina puro. Nonostante avessi una ottima padronanza di tutte le difficoltà dei linguaggi a basso livello, l'arrivo di linguaggi piu evoluti è stata una manna. Potevi finalmente usare il tempo per programmare e non per diventare matto a cercare un asterisco mancante che ti faceva crollare tutto. Nonostante questo la conoscenza delle basi dell'informatica mi permette di scrivere programmi solidi e veloci con linguaggi ad alto livello perché sai quello che ci sta dietro. Sono sincero con te, dovendo assumere un nuovo programmatore quello che sa anche c o c++ lo preferisco, anche se non dovrà usarli mai. Ma lo vedo tutti i giorni sul lavoro, quelli con solide basi con linguaggi a basso livello hanno una marcia in più. Ragionano in modo differente. Ma sono comunque d'accordo con te. Se non hai bisogno di diventare un luminare dell'informatica, studia solo il linguaggio che meglio si adatta al tuo progetto. Se invece vuoi fare dell'informatica la tua professione e guadagnare tanto tanto di più, studia tutto.
comunque per l’esercizio che hai proposto l’espressione restituisce la somma degli elementi dell'array e , che sono rispettivamente 3 e 4. L'espressione restituisce la differenza tra e , che sono rispettivamente 2 e 5. teoricamente sostituendo i valori nell’operazione il risultato dovrebbe essere -9, aspetto un riscontro o un parere 😁 le indicano l’espressione dell’esercizio e i valori da considera
Io programmo in java da qualche anno. Non lo faccio per lavoro ma ho integrato programmi di gestione scritti in java come desktop stand-alone con collegamento a database condiviso e applicazioni web che girano su servlet e server annesso nel mio lavoro per pura passione. Condivido pienamente il tuo pensiero su java e ho sbattuto la testa fortemente su C a fondamenti di informatica e i suoi maledetti puntatori..... L'unica pecca è proprio l'utilizzo eccessivo di memoria che ne farebbe un linguaggio completamente inutile se qualche hanno fa.
Io quest'anno sono al terzo anno di istituto tecnico: come primissimo linguaggio di programmazione ni è stato presentato Java e devo dire che l'impatto iniziale è stato abbastanza traumatico. Ora invece, a distanza di 3 mesi, riesco a utilizzarlo abbastanza facilmente
io sinceramente ho solo 2 anni di istituto agrario in cui in sala pc non si andava praticamente mai, ho scoperto molte cose in autonomia a programmare iniziando da python scrivendo inizialmente semplice codice per capire la logica, librerie e tutto quello che appartiene, solo dopo 1 annetto sono passato a C e altri linguaggi anche lato web, negli anni non ho mai lavorato per aziende ma ho fatto diversi lavori in privato, per programmare, se non ci sta passione e smadonnamenti per risolvere errori e calma non si va avanti, come quando ho smadonnato anni fa delle ore per compilare un programma e solo dopo mi sono accorto che il timestamp era fuori sincrono sulla VM
Ho iniziato a studiare C alle superiori e non mi sono trovato male, anche se devo dire che argomenti come i puntatori mi creavano abbastanza difficoltà. Detto ciò ritengo che il programma di studi di informatica che si fa alle scuole sia abbastanza obsoleto e vada rivisto. L'informatica è molto vasta ed è sempre in continuo aggiornamento, bigna insegnare bene non tanto il linguaggio in se ma il modo di ragionare ed approcciarsi ai problemi per sviluppare la capacità di problem solving, dopodiché ci si deve concentrare sul progetto che si vuole realizzare e scegliere il linguaggio di conseguenza
Dopo 15 anni come sviluppatore mi sento di dire che "Dipende" nel mondo dell'informatica e' quasi sempre la risposta giusta. "Dipende" dalle necessita' e da che ambito di sviluppo vuoi raggiungere (Web / Data Analysis / Mobile Development / Videogames / ...) Ogni linguaggio ha i suoi punti di forza, e come per bucare un tavolo serve una punta adatta al legno, per bucare un muro ne serve un altra... e l'informatica evolve cosi' in fretta per cui i programmatori devono spesso imparare nuovi linguaggi e librerie. Python e' molto didattico per i neofiti pero' anche se C e' un "arma a doppio taglio" la comprensione della memoria e le funzioni ricorsive sono realmente delle basi da avere. E' molto importante avere una conoscenza a basso livello della macchina, come anche dei dispositivi e dell'hardware in se... per non parlare delle reti. Alla fine per non cadere nella frustrazione e non demoralizzarsi se qualcosa e' troppo complicato basta variare un po' gli argomenti, con la consapevolezza che tanto sulle basi ci dovrai comunque ritornare prima o poi. io da piccolo ho cominciato vedendo il basic... per poi passare a C++, VB, PHP, C#, Coldfusion, Bash Scripting, Java, Python. Ad oggi non ho un linguaggio preferito, per me sono tutti strumenti diversi e sulla base di quel che "dipende" il da farsi scelgo lo strumento da usare.
Se l'informatico - elettronico è molto richiesto un motivo c'è: perché deve avere a che fare con situazioni difficili che non sempre si risolvono con programmazione ad alto livello. Molti firmware si scrivono in c e c++. Poi il vero lavoro non è fare un software o un sito web (ad esempio con wordpress): è modificare la struttura e/o le funzionalità in base alle esigenze del cliente (e non sempre ci sono tool o plugin belli e pronti)
Il linguaggio è uno strumento scegli quello che ha piu utilità nel contesto in cui vuoi risolvere il tuo problema, quello che fa di un programmatore un buon programmatore è la conoscenza e il problem solving.
Pochi esami mi separano dalla laurea in informatica. Concordo su quello che dici, però secondo me c’è una cosa da chiarire: l’università italiana in generale (non solo informatica) NON ha l’obiettivo di formarti per il mondo del lavoro. Lo scopo dell’università purtroppo é SOLO quello di formare la testa, la mentalità. Con questo intendo dire che l’università dice: ok, vuoi diventare informatico? Io ti do SOLO i mezzi per imparare a ragionare come un’informatico. Sarà poi compito della persona, una volta laureata è formata, aggiornarsi alle ultime tecnologie e usare gli strumenti che riterrà più opportuni in base a quello che dovrà fare volta per volta.
Concordo completamente. Il mio approccio con la programmazione (da autodidatta) è iniziato con C, e sono dovuto passare a Python per apprezzare completamente la bellezza del programmare. Poi all'uni ho avuto modo di avere un ottimo professore per imparare C per bene, ma non lo consiglierei mai come primissimo approccio.
a me invece è stato tutto il contrario ho iniziato con C, dopo un anno java che è diventato il mio preferito e da autodidatta ho studiato python ma non mi piace per nulla
Tutti dicono e pensano che i data scientists sono i più remunerati, ma un realtà un vero programmatore C/C++ guadagna molto di più. Semplice esempio, un programmatore videogiochi è un programmatore C/C++/OpenGL.
io sono un programmatore, 5 anni di ing informatica e poi sviluppatore per il resto della vita lavorativa. All'uni ci fecero usare Java che uso tutt'ora. Al lavoro mi è capitato di dover usare sia C che C++ (ma anche kotlin, python, php, perl, cobol, assembly, PL/SQL, ...). I linguaggi di programmazione sono un po' come le lingue straniere, meglio conoscerne e parlarne fluentemente tante che poche. Detto questo sì, partire con C e C++ è come partire un videogioco a livello difficile, meglio partire da quelli facili da imparare e poi, se ti serve, con quelli più difficili
secondo me da ragazzo di 20 anni che è uscito da poco dalla scuola superiore (tecnico informatico) e che ora sta imparando react con un`azienda della mia zona, ritengo che c e c++ siano ancora da imparare come base però poi spostarsi su java e javascript nel momento più opportuno come ha fatto il nostro professore, che si ha fatto fare un bel po di cose in c/c++ ma in maniera tale da ingranare poi con linguaggi come java poi nel mentre abbiamo imparato html e css, javascript un po più in la e php affiancato a java verso la 4/5 superiore per imparare bene i databese ovviamente avrei voluto imparare meglio javascript con magari react ma so perfettamente che sarebbe stato difficile nel periodo scolastico quindi si ritengo che c/c++ siano necessari ma per far capire bene come si possano creare dei problemi nella programmazione con poco e ovviamente per capire bene come fare il debug del codice che non funziona ecc.. dopo ovviamente questi concetti partire con linguaggi più ad alto livello
Volevo rispondere male, visto certe fregnacce dette, ma proviamo a distillare il succo del discorso, su cui se vuoi sono anche d'accordo con te: far imparare linguaggi come c e c++, per primi, è un errore e garanzia di "perdere" lo studente. Ma, ti prego, NON parlarmi di partire con il JAVASCRIPT per far iniziare un percorso di apprendimento! Ma ti pare che un linguaggio con duck typing, tipizzato dinamicamente, con uno scope delle variabili lessicale possa essere qualcosa con cui far iniziare lapprendimento della progeammazione? C#, java, python va bene, ma te prego..javascript no! Manco ha una standard library! Poi io non capisco su che basi vai a dire che la ricorsione non si usa!!?? Mai lavorato ad un parser? Mai lavorato ad un qualche problema di ottimizzazione? Pensi di venirne fuori a creare un parser per una grammatica l2 senza ricorsione? Auguri.. e poi chiariamo bene una cosa: non te lo dice il dottore, di diventarw programmatore, e se vuoi diventarlo per davvero devi studiare: ricorsione, organizzazione della memoria (vatti a vedere le scelte tecniche fatre sul progetto apache arrow, se non implicano una conoscenza profonda dei meccanismi di gestione della memoria. Oppure il paper dell'autore della varnish cache, per dirne un altro. ) Programmazione ad oggetti, algoritmi e strutture dati (toh, guarda un po'.. quasi tutti gli algoritmi di ricerca sono ricorsivi..), design patterns.. ecco, QUELLI non vengono studiati a sufficienza! E cosi poi ci lamentiamo che aul sito dell'INPS ci sono variabili nominate come pippo e pluto, oppure che la gestione della cache fa talmente pena che ti permette di vedere i dati personali di altri utenti sul portale. Ecco, continuiamo a pensare che la programmaxione debba essere facile (chatgpt per farsi scrivere codice che non si conosce??? Maccheccazz...!) Ma poi non lamentiamoci che il codice che troviamo in giro faccia cag..re.
Ormai è da un paio di anni che studio un paio di linguaggi di programmazione, da solo, e adesso a scuola facciamo delle cose basi ma proprio basi, che per me risultano semplici, ma sinceramente, credo di aver capito che dalla scuola non imparerò molto, quindi continuerò a studiare da solo, che secondo me è la scelta migliore, lo consiglio a chiunque, non solo per la programmazione ma anche in altri settori, soprattutto quelli complicati come quello dell'informatica, dove ci sono tantissimi percorsi, e la scuola ne decide uno e non lo cambia mai, cosa direi pessima. Se però, (esempio) sapete che magari, al terzo anno di scuola superiore studierete Java, se con gli altri linguaggi come C non vi siete trovati bene, con Java non riuscirete comunque a combinare niente, ma se avete già delle solide basi che siete riusciti a imparare perfettamente dopo anni di pratica, imparare Java sarà uno scherzo!
@@GaSkia117 Già, tra l'altro C è vecchissimo e pure difficile da imparare, sinceramente (anche se l'ho imparato qualche anno fa per passare il tempo e non lo ricordo affatto) non lo consiglierei a nessuno, ci sono molte altre alternative migliori, che fanno le stesse cose
@@veddy1674 Io potessi lo dimenticherei per poterlo studiare di nuovo da zero, è un linguaggio che mi è piaciuto imparare e approfondire, anche se sembra che non lo usi più nessuno lo si usa ancora moltissimo per quanto riguarda gli embedded system, quindi da ingegnere informatico può essere utile averlo imparato se vuoi lavorare in quel settore... Poi è molto usato insieme a c++ per i driver di, per esempio, schede video; se lavori su linux sarai costretto ad impararlo per implementare qualche tool o fare qualcosa di particolare. Come ha detto @nFire infine dipende da quello che vuoi fare.... Poi anche java non è tanto più recente (1996)
Ho studiato Pascal e Fortran all'università (ingegneria) e ho bei ricordi. Dopo anni per curiosità, passione e qualche lavoro, ho iniziato a leggere manuali di Python, con cui ho giocato un pò con l'analisi dei dati. Mi son trovato bene tutto sommato. Non sono un programmatore e gli studi precedenti mi sono serviti.
Va contestualizzato questo video. Per chi come me fa ethical hacking, conoscere Python aiuta moltissimo. Conoscere ad esempio Javacript aiuta molto nella fase di exploiting delle vulnerabilità e nel trovare vulnerabilità nascoste. Non sono linguaggi inutili, dipende solo dal ruolo che ricopri 🙂
Con l'evolversi di internet agli inizi degli anni 2000, si era detto che il linguaggio Cobol sarebbe morto, e invece no, è sempre tra noi. Per alcune banche e assicurazioni sarà difficile sbarazzarsene per almeno un po' di anni ancora, visto che tutta la gestione del batch è fatta da programmi in cobol. Certo, il front-end adesso non è più in cobol, ma in Java, però il back-end ha come db il DB2 e per gestirlo ha il cobol abbinato a istruzioni Sql. Ma come mai resistono ancora il Cobol, il DB2, piuttosto che il db Oracle e altri linguaggi? Dalle voci che sento in giro è perché la piattaforma Mainframe (dove alloggiano il Db2 e il Cobol) sia più stabile, più sicura e più veloce.
Questo video è un mucchio di imprecisioni. Io insegno programmazione e vedo che gli studenti che iniziano studiando JS, poi quando messi alla prova sul campo, non ci capiscono una sega. Hanno poi bisogno di ulteriore, molta di più, formazione a differenza di chi ha le basi. Gli mancano le basi e i concetti fondamentali che ti da il C/C++.... Che non sono linguaggi vecchi, anzi vengono ancora ampiamente utilizzati e pagati profumatamente. Questo perchè programmare non significa soltanto scrivere codice, ma significa anche conoscere la macchina e tutto l'ecosistema che sta attorno e anche tutta la questione cybersecurity, e chi fa cybersecurity il basso livello lo conosce bene. Poi non lamentiamoci che abbiamo programmi pieni di bug. JS oltretutto è veramente un pessimo linguaggio.... per vari motivi che non sto ad elencare, che creano parecchia confusione negli studenti (cose tipo a + '2', che se non sai la differenza tra stringhe e numeri vai in panne). Non conosco nessun sviluppatore veramente bravo che non abbia le basi e non capisca un minimo di C/C++. Io comunque inizierei col Pascal, che è molto più facile e insegna le basi per davvero. Lasciate perdere le minchiate, se volete programmare bene imparate le basi. Non dovete diventare dei maghi del C/C++, anche se non fa male, ma semplicemente acquisire il minimo e poi potete approfondire. Potete prima imparare un linguaggio di alto livello come python e poi passare a studiare più nel dettaglio, approccio top down, oppure partire dal basso livello e andare sù, bottom up. In ogni caso non si scappa da capire le basi, a meno che non volete essere pagati poco e fare lavoretti, come installare wordpress. Ormai viviano nell'era in cui nessuno si vuole più impegnare e vogliono tutto facile. Se volete fare qualcosa, nel 90% dei casi, dovete fare i compiti. Punto.
Guarda anni fa ho fatto un corso per programmatore, io ero diplomato in elettronica, e siamo partiti con il linguaggio C , dopo quel corso mi sono detto mai più informatica , mi sa che hai ragione tu è un po come imparare la matematica partendo dagli integrali e derivate , si dovrebbe iniziare con somma ,sottrazione, divisione e moltiplicazione e magari un po di concetto di potenza 2^5 per esempio, si convengo con il tuo discorso.
Il C se fatto male é un linguaggio terribile ahaha, tuttavia se trovi un metodo alla fine ci si rende conto che non é assolutamente difficile come linguaggio, in termini di sintassi.
@@gregorio7738 ho capito ma se io sono diplomato in elettronica non centa nulla con informatica potevano iniziare con il codice Htlm anche se non viene considerato nemmeno un linguaggio di programmazzione inizi ad avere l'idea della differenza tra software ed hardware , mia opinione personale ovviamente.
@@mrheisemberg2 il C è fondamentale per l'elettronica, ovviamente non tutti gli ingegneri elettronici lo usano, in quanto sono focalizzati sull'Hardware, ma se vuoi costruire un sistema Embebbed hai bisogno per forza di cose del C e Assembly
@@gregorio7738 si ma siccome mi ero stufato dell hardware il mio obbiettivo era fare pagine web con contenuti multimediali o adesso creare piccole app. Qundi cosa consigli ? Ciao
@@mrheisemberg2 allora io ti consiglierei di trovare un ambito che ti piaccia più degli altri e specializzarti al massimo; a me personalmente mi piace molto quello che viene definito il back-end si un sistema, quindi ti posso consigliare di studiare come linguaggi di programmazione Java ( + Spring come framework) o Python ( + Django o Flask come framework), poi una volta che hai imparato bene la sintassi del linguaggio passa agli Algoritmi e Strutture Dati che ti consentono di mappare in memoria le informazioni e costruire algoritmo efficaci, poi studia il design dei sistemi distribuiti e i database; concludendo ti consiglio Packt Publishing, dove puoi trovare un casino di libri e videocorsi.
Piccola precisazione da sviluppatore Android: volendo si possono scrivere pezzi di app nativa che richiedono elevatissimi livelli di performance in C++ tramite NDK :) Del resto concordo, a meno che non si è interessati alla parte di hardware puro, partire col C/C++ è come buttarsi la zappa sui piedi
@@darkcggaming si ma cosa c'entra, io non stavo mica parlando di programmazione ad alti o bassi livelli. Sto solo dicendo che Android permette la scrittura di pezzi in C++ per avere ancora più performance in casi eccezionali e su questo non ci piove anche perché l'ho già fatto. Te ne esci con GTK, GUI, Unix... Dovresti imparare ad essere più calmo ed educato, anche perché dici "senza istruzione formale" ma non sai nemmeno con chi stai parlando. Vedi di darti una calmata, piccolo tossico 😂
Più che altro c'è da fare una distinzione tra approccio scientifico e lavorativo. Io parlo da studente di informatica e la vedo come una scienza in tutto e per tutto, essa ha bisogno di essere compresa in toto, indipendentemente da quale sarà poi la propria personale scelta futura. Prendendo l'esempio dei puntatori, per uno "scienziato" dell'informatica è impensabile che non si conosca, almeno a grandi linee, il loro comportamento. Oppure che si ignori completamente i concetti matematici fondamentali dietro il funzionamento di un algoritmo o ancora come un linguaggio (in generarle) riesca a funzionare, inoltre l'informatica NON è solo programmazione. Se ovviamente interessa solo un ambito lavorativo in particolare l'università non è l'unica scelta, esistono moltissimi corsi ad oc per poter imparare un linguaggio più "richiesto" sul mercato del lavoro. Lo scopo dell'università deve essere quello (almeno per gli indirizzi scientifici) di far comprendere i concetti fondanti dietro una scienza, non di formare lavoratori estremamente specializzati in piccoli ambiti inseguendo i capricci di un mondo del lavoro che ci mette ben poco a rendere quelle specifiche conoscenze obsolete.
Sinceramente io da senior software engineer preferisco C++ su tutto, è l'unico linguaggio che ti permette di avere controllo assoluto della memoria ad una difficoltà ribassata
Non sono d'accordo, e ti spiego perché: 1. Dici che il c è difficile e spaventa gli studenti, se uno studente al primo anno di università viene messo in difficoltà dal c non penso abbia scelto il percorso giusto (vedi analisi1/2, fisica1/2, calcolatori, matematica discreta e codici, algebra lineare ecc.) 2. Imparare prima i linguaggi a basso livello fa capire tanto dell'informatica e passare a quelli di alto livello risulta molto semplice, mentre il contrario non è vero, se come dici vuoi avere una scelta sul settore nel quale vuoi lavorare è molto meglio imparare prima il basso livello e successivamente spostarti su quello che preferisci di più tralasciandolo. 3. Il grafico che hai fatto vedere riguardante quanto sono richiesti i vari linguaggi è fuorviante e ti spiego perché: quelle percentuali sono prese dalle offerte di lavoro per "software developer" (o "sviluppatore"), dove ovviamente è molto richiesto lo sviluppo web (quindi i classici html/css, javascript, sql ecc) ma se cerchi "Software Engineer", "Firmware Engineer" o "Embedded SW Engineer" trovi richieste di altro tipo e non sono meno. Per esempio nel grafico non c'è il Matlab, linguaggio odioso lo so, che però è usato tantissimo per Signal processing e algoritmi di automazione.
Sono un programmatore da decenni. Ogni applicazione dovrebbe essere costruita con il linguaggio più adatto. È come cucire un vestito su misura. Quindi bisogna conoscere i materiali per cucire il vestito. Bisogna conoscere molti linguaggi in modo da essere pronti. Per impararli si gioca con essi. Bisogna conoscere le basi di funzionamento del computer ed anche il C. Quelli che utilizziamo oggi ci vogliono Gigabyte di memoria. Quindi non vanno bene su sistemi embedded. Altra cosa imparate la OOP. Vi servirà sempre nella vita. Soprattutto non fate quello che vedo fare: usare un server per fare polling su migliaia di client. Il server fa il lavoro di server. Ascolta mettendo a disposizione uno o più servizi ed i client consumano il servizio collegandosi. Non viceversa. Quindi ogni oggetto deve fare il suo mestiere. Il server fa il laboro del server ed il client fa il lavoro del client. Essere programmatori non significa mettere giù un codice e basta che funziona. È arte come una scultura oppure un bel quadro. Bisogna saper raccogliere le informazioni e tradurle elegantemente in codice. Ma se non conoscete come è fatto un computer, quanta memoria state usando, come caricate la Cpu, se il software è troppo rigido da non sopportare piccole modifiche, se non è modulare sarebbe meglio ricominciare. La programmazione è arte, una sinfonia di suoni ben calibrati. Cordiali saluti
da ingegnere 50enne condivido al 100%. Pensa che io fui costretto a partire col Pascal....Detto questo fino a 40 anni fa l'interfaccia grafica era una percentuale risibile dei software, quindi (inteso anche a livello di produttivita'/feedback) il c andava benissimo. La produttivita' persoale e' importantissima perche il programmatore e' un inventore e deve poter esprimere questa produttivita' nel mondo che lo circonda....che se magari per gli adolescenti di oggi puo essere abbastanza simile, non lo e' per quanto riguarda il mondo del lavoro. Cosi chi vive in un area come Milano votata piu al terziario avra' molto piu mercato per programmazione web/app mobili, ma chi invece vive in areee dove il manifatturiero la fa da padrone, ecco che il PLC e' molto piu richiesto
Io ho iniziato a programmare all'eta di 8 anni con il basic e quando mi sono affacciato a C e C++ non ho riscontrato problemi, gli scogli da superare sono stati Visual C e Visual Basic e la Gestione delle UI , e poi tutto il mondo .Net. Ho programmato per 15 anni in JAVA per applicazioni industriali con Interfacce 2D che 3D e lettura e salvataggio dati da diversi Server Database sql , Dove lavoro oggi il C e C++ è all'ordine del Giorno , ma c'è molto anche Python 3.10
- Sono già fermo ad 1:00 e già si comincia molto male: Il solo fatto che un linguaggio sia "anziano" non significa che il linguaggio in questione sia da evitare e/o altro. Io ad esempio ho cominciato alle superiori col C, e il C è il linguaggio perfetto per cominciare: ti mette di fronte a tutta una serie di concetti importantissimi che serviranno sempre per altri linguaggi di programmazione che si potranno utilizzare in futuro, ed in particolare ti insegna a ragionare in binario per davvero. Il saper ragionare in binario ti torna sempre utile per affrontare alcune tipologie di problemi che una persona che non ha avuto queste basi rischia davvero di non poter comprendere e/o affrontare. Come diceva il mio professore "chi sa programmare in C sa programmare in qualsiasi linguaggio", e questo lo noto con tutti i miei colleghi: coloro che hanno conosciuto il C (e sofferto con lui) sono anche quelli più abili, mentre chi ha cominciato col Java talvolta non è in grado di comprendere il concetto di puntatore. Aggiungo che ad oggi non esiste linguaggio che abbia superato il C e il C++ in termini di efficienza e pulizia di sintassi; - "puntatori e ricorsione": questi sono concetti che ad un certo punto vanno affrontati per forza di cose. E non è mai la prima cosa che si affronta: prima si insegna ad affrontare altro, e una volta che quell'altro è divenuto solido, ecco che possono entrare i puntatori e la ricorsione: i puntatori sono fondamentali da comprendere per tutti quei linguaggi tipo Java che ne fanno un uso silenzioso, mentre la ricorsione... beh ci sono alcuni problemi che solo con la ricorsione possono essere affrontati, ed io ho dovuto usarla per risolvere alcuni problemi particolarmente complicati. Quindi la ricorsione non è vero che viene usata MAI: viene usata poco, questo è vero, ma MAI è falso; (Sono a 2:38 e sinceramente le argomentazioni portate finora mi sembrano alquanto scarse) - 4:53 aspetta un attimo, la conclusione a cui sei arrivato qui è illogica. Il programmatore deve sì utilizzare la logica ed un linguaggio per saper scrivere un algoritmo, ma non è detto che questo linguaggio debba necessariamente semplificarci la vita. Certo sarebbe meglio, ma esiste comunque un rapporto risorse/beneficio (e viene spiegati pochi secondi dopo); - 5:39 thanks to the dick; - 6:57 ok, abbiamo capito, ma perché? Finora le motivazioni sono puramente soggettive; - "python e javascript": python è un linguaggio talmente terribile che se sbagli uno spazio (non un punto e virgola: uno spazio) il programma salta. Javascript... non è un buon linguaggio per cominciare, in quanto non ti mette nelle condizioni di ragionare in binario, cosa fondamentale nel capire perché certe operazioni esistono e cosa vogliono dire. Il giorno in cui uno scriverà if (a & b) non capirà MAI perché nonostante a e b siano truthy il codice entri sempre nell'else e non verrà ritornato errore di sintassi. Non lo capirà mai finché non inizierà a studiare il binario; - 9:20 io tengo colloqui nella mia azienda, e non chiedo mai un vero e proprio linguaggio di programmazione in quanto siamo disposti ad insegnarlo durante lo stage. L'unica cosa che chiedo è di saper strutturare un algoritmo. Poi in base a come va il colloquio cerco sempre di andare più a fondo, e se la persona mi ha studiato il C le faccio una o due domande per capire quanto a fondo si è interessato nell'ambito informatico. Saper risolvere problemi particolari e di basso livello, mi garantisce il fatto che quella persona voglia approfondire sempre di più quando impara qualcosa; - 9:40 "il Java mi piace perché sono un fan delle cose chiare" questo è un ossimoro. Questo è un ossimoro e non c'è altro da dire. Una battuta che si fa tra programmatori Java è "sono a pagina 2 e ancora non ho capito che diamine stai cercando di fare". E lavoro anche in Java, in particolare uso Spring. Java NON è un linguaggio semplice: è un linguaggio terribilmente verboso, e solo con furbizia ed esperienza si può essere in grado di renderlo "semplice e chiaro". Ma anche in quel caso, esisteranno sempre almeno 2 o 3 livelli di astrazione del codice che se uno cerca di studiare che diamine è stato scritto, se quel qualcuno che ha scritto quelle cose non è un visionario (tipo il mio capo), rischia seriamente di perdersi nei meandri dell'astrazione. Lo dico per esperienza personale: sto sviluppando un progetto chiamato "nocode" per la mia azienda, un progetto che dovrebbe permetterci di risparmiare il 60% del codice quando creiamo un nuovo progetto, e per aiutarmi a scriverlo mi sono scritto una libreria molto speciale: quella libreria ha dei livelli di astrazione abbastanza complessi, e se uno che non sono io dovesse mai mettere mano a questo progetto so che perderebbe qualche ora prima di arrivare a capire che sta succedendo (poi so che una volta capito non avrebbe più problemi, ma il problema di base, ovvero i vari livelli di astrazione, restano); - 11:33 fin qui ottima analisi, nulla da dire; - 11:43 "C e C++ descrivono lo stato dell'informatica al giorno d'oggi" è una frase falsa, neanche limitante. C e C++ si imparano per mettere di fronte lo studente (o il neo-programmatore) a tematiche molto importanti che potrebbero ricorrere in futuro per linguaggi anche di più alto livello; - "Tip utili per imparare il codice": questa sezione è oro; Perdonate il papiro, ma sentivo di dover rispondere a tutto
Il tuo consiglio finale (STUDIARE PER PROGETTI) è estremamente prezioso. Purtroppo manca di un dato fondamentale: COME SI CREA UN PROGETTO? Come anche è implicito nell'argomento stesso del tuo video, un metodo di studio "creativo" si scontra con un sistema di istruzione normalmente lineare (perché massificato), che tende a favorire il nozionismo e a sfavorire un approccio esplorativo che è generalmente spontaneo nell'infanzia. Un bambino infatti studia già "per progetti" -- sognando, detto in un altro modo. Il punto del tuo video quindi è: come siamo arrivati all'università? Con l'ansia di un risultato / con la pressa dei genitori e la paura di non avere un lavoro? o perché ci siamo appassionati all'argomento e --esami o no-- ci sguazziamo dentro? Nel secondo caso, la sequenzialità di un corso di studi è un aiuto, un riferimento. Nel primo... hai dato un suggerimento importantissimo, ma potresti sviluppare un po' di più l'argomento perché in realtà cadi nelle paure più profonde di una persona (l'instabilità) e se non mi illumini con una piccola esortazione allora serve qualcosa di ben più convincente :)
Ammetto che ho aperto questo video con un certo livello di ostilità, ed i primi minuti del video non mi hanno fatto cambiare idea. Quando hai cominciato a motivare la scelta di un linguaggio a basso o alto livello mi sono ricreduto. Ad ogni modo penso che l'università di informatica non ha come obbiettivo quello "insegnare a programmare", bensì quello di fornirti una formamentis per poter scegliere cosa fare successivamente. Come ha detto il tuo professore, studiare un linguaggio a basso livello come C ti può farti decidere di evitarlo come la pesta per il resto dei tuoi giorni, e credo che sia giusto insegnarlo anche per questo motivo. Nonostante ciò, credo che il C come viene insegnato di solito i primi anni di università sia alla portata di tutti, e soprattutto ti da un visione sufficiente a capire come funzionano dietro le quinte le cose ad alto livello. Concludo dicendo che l'università non ti insegna ad essere un "programmatore" (per quello ci sono un sacco di corsi online), bensì ti da un assaggio di tutti i concetti generali legati all'ambito dell'informatica, inclusi concetti teorici.
Innanzitutto bellissimo video e complimenti per la qualità! Io sono completamente d'accordo, alle superiori ho fatto 3 anni di C++ e ovviamente le cose basilari sapevo farle, ma non più di tanto.. un po' io che non mi ci mettevo, un po' la prof che a momenti sapeva meno di me, e nonostante la mia passione per l'informatica e il desiderio di imparare a programmare ho mollato tutto.. mi ritrovo ora al primo anno di Università in cui c'è un corso da soli 6 CFU di informatica in cui stiamo studiando Python e devo riconoscere che le basi di C++ mi hanno "spianato" molto la strada rendendo tutto ancora più semplice.. mi è ritornata la voglia di imparare a programmare e spero tanto di farcela!! P.S. Spero in un tuo corso di informatica e prevalentemente su Python Un abbraccio forte ❤️
1) il C è uno dei linguaggi con i costruttori più semplici. Certo, se imparare python per te significa fare due cicli e un if allora sì che è facile, ma ti sfido a dire che le meta classi, le coroutine, generatori, mro e garbage collector siano concetti da neofiti. 2) volete essere informatici o scrivere due programmini del ca**o? Perché sono due cose diverse (non per forza la seconda è da demonizzare, non tutti devono essere informatici). 3) ammesso e non concesso che non sia utilizzato in ambienti lavorativi (e non è proprio così), impararlo ti fornisce delle conoscenze riguardanti l'architettura dei calcolatori, gestione della memoria, cache ecc... che sono utilissime anche per chi usa python seriamente (tra l'altro moltissime librerie utilissime sono scritte in C). 4) la ricorsione si usa eccome, ovviamente dipende dal contesto, gli esercizietti fatti a scuola ovviamente servono solo per imparare. Il problema in generale del tuo ragionamento è che dà troppa importanza al linguaggio e non ai concetti che si porta dietro, molto più importanti.
Occhio che stai mischiando il mondo della scuola con quello accademico: Parli di professori universitari che ti hanno dato consigli e poi ti rivolgi allo studente che per la prima volta inizia a mettere le mani sul codice. Alcune cconsiderazioni: 1)oggi si comincia con il nocode alle elementari se sei fortunato, altrimenti programmazione a blocchi (sketch e similari) alle medie, niente c o c++ 2)al liceo si usa il qbasic o altri set molto più limitati per imparare sistemi e algoritmi, prima di passare a c e asm nelle scuole tecniche se proprio vogliono iniziare un approccio approfondito DOPO aver fatto tutta la teoria necessaria prima 3)a scuola non si impara a programmare, mai. Ed è giusto così, perchè come dici te la programmazione è uno strumento, non il fine. A scuola si impara l'informatica e come si impostano quei problemi che un giorno programmando dovranno risolvere 4)react? seriamente? Voglio proprio vedere un neofita impostare ad esempio docker. 5)che differenza c'è tra c++ e java (oltre l'astrazione) se di complicatezza stiamo parlando? 6)java e javascript nella stessa frase. Leva sto schifo di video dall'internet, per favore.
ehm non so cosa è successo ma io ho scritto il mio percorso di studi ed è stato cancellato il commento, comunque il mio percorso è andato bene i prof hanno modificato il percorso: hanno iniziato dalla programmazione visuale, non si sono soffermati sulle basi di C e mi hanno fatto provare emu8086 che però si deve fare per forza perciò ho sofferto poco, mi manca la parte grafica che ho fatto bene solo con i siti
Confermo, ho iniziato ing Informatica dove non sapevo neanche cosa fosse un computer. Avevo un professore che dava tutto per scontato e con C ho sudato freddo , ci ho messo diverso tempo a impararlo e tipo 4 appelli per passare l’esame…ora comunque odio lo sviluppo hardware 😅 comunque non mi pento troppo di aver iniziato con C perché poi ha avuto i suoi benefici, però mi pento di non aver avuto un professore decente che lo spiegasse bene
Video molto interessante e che mi ha fatto riflettere. Sia come insegnante d'informatica che come appassionato di programmazione sono sia d'accordo che in disaccordo :D Iniziai a studiare il linguaggio C quando ero ancora ipovedente, poi ho ripreso lo studio dopo esser diventato non vedente. Ricordo quanti casini con ambienti di sviluppo che non funzionano con gli screen reader come NVDA (leggono lo schermo e le parole al posto tuo mediante tTS [quello ad esempio dei navigatori satellitari]). Notepad++ accessibilissimo (macro e regex sono fantastiche) mi ha permesso di scrivere HTML, CSS (ovviamente compreso meno per via della sua natura "estetica", anche se la parte strutturale è comunque presente e interessante) e infine JavaScript. Poter toccare con mano delle piccole applicazioni utili anche solo per rendermi più facile il lavoro è stato ed è bellissimo. Aver studiato il C fino a puntatori e un po' le strutture e un accenno di alberi e code, è stato comunque molto utile per comprendere meglio certi concetti. La presenza di uno strumento come ChatGPT è davvero fantastico poi, però a patto di saperlo usare e saper discernere quando ti dice qualcosa di falso e "allucinato". A me piace tantissimo PowerShell che consente tutta una serie di automazioni, permette tramite dll di interfacciarsi con Windows senza dover scrivere un applicazione da zero, davvero comodissimo, multi-piattaforma e Open source. Mi permetto di consigliare la piattaforma w3schools che ho trovato davvero valida per HTML, CSS, JavaScript e PHP, spero sia altrettanto valida per Python. Grazie per il video, è sempre bene ogni tanto fermarsi e riflettere su certi aspetti senza aver pregiudizi.
@@fiko2390 Ho provato tanti IDE/Editor avanzati, e code:blocks non funziona con NVDA, LCC funziona male, Sublime idem ho anche provato VIM che mi affascina tantissimo per via dell'uso "solo con le lettere", ma anche quello da problemi con NVDA. Con Emacs ho avuto problemi nel trovare il File da scaricare. Notepad++ offre ciò che mi serve veramente: macro, regex, apertura di File diversi in istanze diverse, ottime prestazioni, chiusura automatica dei tag quelle poche volte che li scrivo a mano (le macro sono enormemente più comode ed efficienti). Vorrei provare una distro Linux, ma come sono le voci TTS rispetto a quelle Windows? Avrei bisogno di una persona vedente e competente per l'installazione. Lisp non lo conoscevo, ma non comprendo minimamente l'utilità d'impararlo; magari potresti dare maggiori informazioni sui vantaggi nell'apprenderlo. Grazie per le informazioni e buona giornata!
mmm hai detto quello che anche io condivido, io parlo da appassionato di videogames e conosco anche il mondo dello sviluppo dei videogames, precisiamo, quando si parla di linguaggio di sviluppo di alto livello e di basso livello bisogna capire la differenza, proverò a spiegarlo con i videogiochi, lavorare in alto livello vuol dire fare ottimi videogiochi ma lavorare su basso livello ti permette di fare qualsiasi cosa tu vuoi però richiede più tempo e chiaramente molto più lavoro, un esempio è il Team Ninja, sviluppatori che hanno creato titoli come Dead or Alive e Ninja Gaiden, loro lavoravano utilizzando il C++ insieme al linguaggio Assembler e Compiler, non lavoravano quindi tutto con un unico linguaggio, realizzando titoli in questo modo riuscivano ad utilizzare l'hardware nel modo migliore creando giochi che caricavano velocemente con una grafica ed un gameplay un passo avanti rispetto agli altri titoli, insomma per un pochino di generazioni producevano titoli molto avanzati rispetto alla concorrenza tanto che alcuni pensavano che i trailer che mostravano, come quello di Ninja Gaiden per la primissima XBOX, erano solo filmati non il gameplay, non il gioco vero e proprio, vennero smentiti poi all' uscita del videogioco. Il consiglio che vale per qualsiasi programma, perché un videogioco è un software, è utilizzare un linguaggio ad alto livello per iniziare e se proprio dopo sentite l'esigenza di voler fare qualcosa di più imparare anche come utilizzare il linguaggio di basso livello.
Qual è il vostro linguaggio di programmazione preferito? Siete d'accordo con me che approcciarsi per la prima volta all'informatica con certi linguaggi non sia modo migliore per affrontare il coding? Commentatemi!
Ormai programmo come autodidatta in c++ da due anni. Personalmente lo trovo fantastico rispetto agli altri, molto più logico. L’unica difficoltà sono le GUI. Cmq 3:38 il risultato è 321 credo
C++ java
La vorrei LAurea ingegenria inforamtica a me piave il pyhyon se lp studero universita il c anche se o fatto il c
C#, lo sto imparando per programmare videogiochi con Unity
Io sinceramente mi sono approcciato a 2 linguaggi di programmazione: Il C++ con Arduino e il Python per curiosità mia e non so quale scegliere perchè il Python lo adoro per la semplicità di utilizzo, il C++ lo odio per il fatto che gli devo dire io OGNI SINGOLA VARIABILE ma lo amo per la modificabilità che ha
Il C e C++ non te li chiede nessuno? Ma dove cazzo lavori nel burundi? Programmo da molti anni, iniziai con il basic da autodidatta (primi anni '80), poi subito passato al C microsoft MSDOS,Windows e anche Xenix. Poi, salto mortale con il Zortech C++ e poi, dopo qualche anno, microsoft C++ primissima versione. Ho collaborazioni pluriennariennali con molte aziende nel campo del medical imaging e ricerca nell'analisi di immagine, praticamente in tutto il mondo evoluto. Mai successo che abbiano imposto o anche solo proposto l'utilizzo di un linguaggio diverso dal C++. Ho 66 anni ed ancora ci campo col C++.
Sono felice di aver iniziato con C i primi due anni, si sentono i benefici nel mondo del lavoro dove usiamo C++ e Python. Magari è soggettivo, ma secondo me iniziare con C dovrebbe essere la base per tutti
la grande maggioranza dei lavori riguarda sviluppo orientato al mondo web (back o front end) in questi ambiti conoscerlo o meno non porta chissà che benefici, a mio avviso è molto più importante avere solide basi di DSA che sono conoscenze universali e portano benefici a prescindere dal dominio funzionale
@@sharkpyro93 la grande maggioranza ma non tutti, dei miei colleghi ingegneri informatici nessuno è diventato un web developer
@@Andrea-km8si il mercato dice altro ma sicuramente non esiste solo quello quindi ci posso credere
@@sharkpyro93 parlo per ingegneria informatica, non la facoltà di informatica pura
@@Andrea-km8si sicuramente dipende anche dalle qualifiche
Dopo tanti anni di esperienza posso dire che chi sceglie per masochismo inconsapevole di essere un programmatore deve rassegnarsi che è tutto provvisorio.
Il consiglio migliore che sento di dare è che questa professione si può fare solo da giovani finché si ha passione ma nel frattempo che si imparano le nuove tecnologie che le mode costringono a studiare, per non diventare obsoleti come il codice, suggerisco di pianificare la fuga. La sfida è abbandonare il settore tecnico (l'ultima ruota) il prima possibile, diventare analisti o project manager anche se è un percorso molto diverso oppure ... una bella pizzeria.
Oppure apri un'azienda e fai fare tutto agli altri, come me :)
Si servono un filino di 💰 💸 😅@@alessandroburza4568
Allora, sono d'accordo sul fatto che ora il C non sia molto usato. Ma chi inizia con il C si ritrova poi molto più facilitato ad imparare altri linguaggi rispetto a chi inizia con linguaggi ad alto livello. Comunque gran bel video complimenti👏👏
Come dice il detto: se impari il c/c++ puoi imparare tutto
Se impari prima la programmazione ad oggetti ed eventi, quella procedurale vien da se. Se fai il contrario quella ad oggetti potresti non assimilarla in modo facile, perchè non si riesce a capire la distinzione tra un oggetto astratto e dovrai prima passare per l idea di vedere un oggetto come una Struct che poi al suo interno ha delle funzioni. Perciò se impari al contrario è più semplice perchè la programmazione procedurale inevitabilmente la si scrive sempre.
@@neutral2755 non ho trovato difficoltà nel passare dal procedurale all’oggetti. L’importante è un po’ di applicazione
Quoto.... Sinceramente non capisco come si faccia ad imparare un linguaggio di alto livello senza fare proprie lle basi di un linguaggio di basso livello .
se all'università uno si abbatte per qualche puntatore del C allora è meglio se lascia perdere tutto il corso di studi.
Ho iniziato a programmare con C, ci ho messo 6 mesi per fare l’esame di programmazione 1. È stato davvero dura, però posso dire che mi è servito a molto per comprendere i linguaggi successivi.
Per ciò che richiedevano all’università di informatica ci ho messo molto di meno per studiare un linguaggio completo successivamente, studiare il C mi ha aperto la mente ed è stato un buon inizio secondo il mio modesto parere.
Anche se si, oggettivamente è un linguaggio molto vecchio e sicuramente si potrebbe fare a meno di distruggere la psiche di una persona alle prime armi con una tonnellata di roba meccanica.
sono d'accordo con te, il C fa da base, aiuta a formare i giusti processi mentali per poi comprendere tutto il resto
Fare a meno del C? ma dove vivi? allora butta il telefono e il pc scusa.
Quando abbandoneranno la vecchia codebase in C che già funziona per sostituirla con un altra che fa le stesse cose, forse più lentamente (rust)
e faranno nuove api così non hai da piangere quando vedi un puntatore.
mia esperienza unive: il primo anno alcuni corsi hanno servito a scremare chi "ci provava tanto per" e magari avevano solo una passione da coltivare come hobby. Il discorso è interessante anche se non è mai facile per uno che inizia da poco visto che questo settore evolve ogni giorno :)
Per quanto riguarda i percorsi scolastici/accademici: io sono sempre più convinto che la scuola/università deve dare i principi di base di una materia, far sviluppare lo spirito critico e le capacità di analisi. All'inizio penso che sia molto formativo cimentarsi con problematiche ostiche, anche se di scarsa applicazione, perché obbligano lo studente ad imparare a ragionare. Poi gli sviluppi di carriera, gli interessi personali, le passioni, sono cose che verranno con il tempo, con l'esperienza. Ognuno ha il suo percorso di vita.
Sono contento che il C venga schifato, così noi sviluppatori firmware possiamo pretendere stipendi maggiori visto che siamo 4 gatti. Ormai ci sono più sviluppatori web che computer.
Io ho 14 anni e sono completamente d’accordo sul fatto che il C e il C++ non debbano essere i linguaggi da far imparare all’inizio. Infatti io prima delle superiori ho imparato Python grazie a video online e ricerche su internet con l’obiettivo di creare un assistente vocale per il mio pc (alla fine dopo 2 mesi ci sono riuscito e funziona anche abbastanza bene)…. adesso che ho iniziato le superiori a scuola ci stanno insegnando il C++ e vedo che molti dei miei compagni di classe sono stati molto in difficoltà già solo al primo anno e molti si sono scoraggiati e vorrebbero cambiare indirizzo o addirittura la scuola.
Ad ogni modo bellissimo video!
Spero che tu possa iniziare il tuo corso di programmazione il prima possibile😃!
Come studente di informatica posso dire che hai ragione riguardo all’approccio che un Neofita dovrebbe avere nell’ambito della programmazione, ogni linguaggio ha un suo perché, dato dall’esigenza dell’uomo in base ai problemi presenti (altrimenti non esisterebbero) quindi a parer mio dovrebbe essere più creativo un corso come il nostro è dovrebbe stuzzicare quella curiosità in ognuno di noi che hanno approcciato o vogliono approcciare in questo vasto mondo. La programmazione è una vera e propria forma d’arte digitale. Per quanto riguarda il mio linguaggio “preferito” sono il C e C++, sono linguaggi abbastanza complessi inizialmente e dopo ore e ore che litighi con il compilatore arrivi molte volte all’esaurimento, ma allo stesso tempo hai una grande soddisfazione quando inizi a comprenderne la logica e il linguaggio stesso, mi piacciono proprio perché sono affascinato dal calcolatore e vorrei poter fare progetti con dell’hardware un giorno. Ovviamente non denigro il Java e altri linguaggi a me molto cari per altri scopi e di cui voglio approfondirne le potenzialità
Secondo me è importante sceglierselo da solo dopo aver capito i pro e i contro. Io ho scelto il c++ come primo linguaggio perchè mi ha sempre ispirato l'ambito dello sviluppo di videogiochi, quindi anche se è ritenuto uno dei più difficili, non è un qualcosa che mi ha influenzato perchè era il linguaggio che volevo imparare
Io ho fatto anche assembler quello si che è basso livello, no le minchiate sparate in questo video.
infatti qui stanno parlando di stronzate e nessuno parla del lisp ,che è il migliore per gestire .e liste dell asssembly
Finalmente qualcuno che parla bene del Java, è stato il mio primo linguaggio; Lo scelsi perché vlevo imparare a scrivere le mod per minecraft e dopo un po di anni finalmente c'è l'ho fatta!
Quando poi sono andato alle superiori e come prima cosa ci hanno fatto imparare il c++ mi sono reso conto di quanto Java mi piacesse di più.
Ottimo video, molto interessante ed utile Grazie!
Stessa cosa! Io ho cominciato java per scrivere i plugin di minecraft, ho continuato per un annetto, nel frattempo a scuola abbiamo fatto altri linguaggi, io li ho imparati direi perfettamente (eppure non ho mai studiato nulla), però non ho mai voluto approfondirli come sto facendo con Java e kotlin, quindi sì, direi che è una passione
Il discorso che hai fatto sul C e la ricorsione va bene se affronti l'informatica in da "amatore" o lo studi alla superiori: se vuoi invece diventare un professionista è opportuno conoscere i meccanismi del C che è la base di di quasi tutti i successivi linguaggi di programmazione: è ancora molto usato (C/C++) ed è il più efficiente in termini di velocità e ottimizzazione delle risorse (non sempre hai 4 GB di RAM e processori multicore a 64bit).
P.S. La ricorsione è utilizzata nella programmazione: ad es. se devi stabilire il percorso ottimale (navigatori) o nei giochi (scacchi)
Ragazzi vorrei un consiglio. Io faccio tutto un altro tipo di lavoro ..ma oramaii stanco del mio lavoro ho pensato di iniziare a lavorare con il computer... Non ho 20 anni ma 45.. un mio amico mi ha detto di non studiare Java ma si farà qualche corso on line di INTELIGENZA ARTIFICIALE. dicendomi che se mi mettessi a studiare Java e altri linguaggi di programmazione avrei la concorrenza di giovani di 20 anni. Secondo il mio amico se facessi qualche corso di INTELIGENZA ARTIFICIALE partirei allo stesso livello di tutti (dato che A.I è una cosa nuova.
Che consiglio mi date??
Grazie
GRAZIE!
Ormai sono 4 anni che voglio imparare a programmare e grazie a te sono sempre più certo di voler diventare uno sviluppatore.
Comunque il corso sarebbe stupendo.
ma no ti prego, c'è di meglio e rischi di trovarti in schiavitu di consulenza
@@josemanuico5613 confermo, danno stipendi da operaio e vogliono conoscenze da laureato
Io mi trovo in parte in accordo in quanto diciamo che uso python, R e Java con relativi frameworks, però devo dire che in molti settori come l’AI e il problem solving (quello vero, scrittura algoritmi ecc) mi sono tornati utili quei concetti. Prendi la ricorsione, ChatGPT è basato sulla RNN che è una rete di tipo ricorsivo... quando vuoi bucare un pc conoscere C++ è saper scrivere una macro in assembly ti facilita la vita...
Intanto tento di capire 3:41 sarebbe int risultato = 3 + 4 * (2-5)? se è così allora risultato sarebbe -9?
Si, anche a me il risultato viene - 9, dovrebbe essere corretto 😅
Sei stato bravissimo.
Il morale del video si può riassumere in:
Scegli quello che ti piace, il lavoro lo trovi comunque. Non è necessario studiare a partire da C e C++.
Mi sono ritrovato in tutto quello che hai detto. Ho iniziato a programmare all'università e all'inizio ero molto entusiasta. Poi però ho iniziato il C (oltretutto con un professore che non sapeva spiegare per niente) e sono passato letteralmente ad odiare la programmazione😢
Il c++ e il c sharp non sono usati in molti ambiti, ma per esempio possono essere molto utili per lo sviluppo di videogiochi che richiedono un' alta velocità di calcolo che linguaggi ad alto livello come per esempio il python non sono in grado di offrire
In python si possono tranquillamente sviluppare giochi Indie molto interessanti. Il resto se devi fare competizione a fortnite e giochi simili di sicuro non va bene li bisogna utilizzare engine più sofisticati
La questione con premio allegato a me risulta -21, riguardo al resto, personalmente ho iniziato col vecchissimo QBasic e devo dire che alla fine i linguaggi di programmazione si assomigliano un pò tutti, il for, l'if lo switch (select case in vb) le strutture dati (tipi in vb), la ricorsione e oggi l'oggettizzazione, l'incapsulamento, l'ereditarietà e il polimorfismo sono tutte cose che trovi sia in VB che in C++ o C#, anche i puntatori ci sono quasi dappertutto, magari in VB si usano di meno, ma per interfacciarti con le API di sistema devi usarli per forza, insomma, il mio parere è che non ha molta importanza con cosa si comincia, alla fine tutto tende a convergere. Se dovessi dare un consiglio a un principiante gli direi di iniziare con qualcosa che gli interessa, che possa dargli un risultato immediato, senza per questo doversi imparare tutte le sfaccettature del linguaggio, impari ciò che ti serve quando ti serve e prosegui così. Qualcuno la pensa come me?
La risposta a 3:40 dovrebbe essere -9.
Apparte questo, sono in parte d'accordo col tuo discorso. Sono un ragazzo di 16 anni, a breve 17, e quest'anno (3 superiore) mi hanno fatto imparare fin da subito il c++. Non posso dire che sia stata un'esperienza facilissima, ma sicuramente chi apprezza veramente il mondo dell'IT non molla per così poco. Alla fine credo che aver studiato per 9 mesi c++ sia stata un'esperienza, non delle più divertenti ma sicuramente formativa, dato che avendo capito i concetti base dell'informatica riesco ad approcciarmi a diversi linguaggi/ambiti abbastanza facilmente (per ora, dato che mi manca esperienza). Sicuramente far scegliere una strada agli studenti sarebbe bello, tuttavia credo che la scuola voglia formare in modo "full stack" (per rimanere in tema). Scegliere un solo linguaggio di programmazione all'inizio, per quello che vogliamo sia il nostro futuro, secondo me, bloccherebbe un pò la voglia di approcciarci ad altri linguaggi, soprattutto se ostici come nel caso del c++. È una di quelle forzature che però, una volta superate, non rimpiangi, a parer mio ovviamente.
Concordo in pieno! Ai tempi della scuola, non si può essere certi di cosa si farà nella vita, meglio una formazione iniziale "full" e specializzarsi poi.
Alle superiori da me abbiamo iniziato in terza con c++ per fare poi html e fino alla quinta php
Nonostante tutto l'amore per la programmazione è rimasto, anzi Dano grazie per aver fatto questo video perché stavo iniziando a dubitare dell'utilità degli anni passati a studiare tutte le librerie e le varie formule
Ora torno a studiare Java ❤️
be dovresti tornare a dubitare. Java e altri linguaggi a mio parere hanno solo fatto disastri e i linguaggi come java solo orientati agli aggetti sono fuorvianti ! Se cerchi un po in giro su internet troverai un sacco di cose a riguardo. Io me ne sono accorto da solo, poi ho voluto vedere se qualcuno la pensava come me ed effettivamente molti sostengono questo ! Ma ripeto basta programmare in java e in qualsiasi altro linguaggio che non è solo ad oggetti per capire come java sia progettato e fatto male (come tutti i linguaggi solo ad oggetti) ! Non fraintendere non mi sto riferendo alla tipizzazione , ma all'object oriented.
@@mircopal e che cosa consiglieresti tu allora?
Bhe tu le hai fatte in 3 superiore io in 1 😂
@@gabrielerusso326java fatto male mi sembra una bestemmia. Il linguaggio da imparare dipende da quello che si vuole fare. Se ci si vuole buttare nella programmazione pura (software engineering per capirci) il meglio è senza alcun dubbio java. Python a oggetti fa letteralmente schifo infatti manca di strumenti fondamentali della programmazione a oggetti quali attributi e metodi privati questo lo puoi anche leggere su libri di una certa rilevanza che affrontano il linguaggio (in generale la forza di python sono le librerie estremamente sofisticate ed intuitive per questo è ottimo nell'ambito di Data Analytics, Machine Learning e Cyber security ovvero campi dove l'obbiettivo non è quello di creare applicazioni ma più che altro risolvere task velocemente). Il C invece è il linguaggio migliore se si cerca l'efficienza e quindi appunto nel contesto di embedded system, video game (anche se spesso si usa C#) e tanto altro. Se non è il primo linguaggio che stai imparando mi butterei su java in quanto nel caso in cui si devono programmare applicazioni complesse (tipo siti web) in cui è fondamentale utilizzare la programmazione a oggetti è il migliore linguaggio (appunto perché se si deve programmare a oggetti è il migliore indiscusso). Se invece non vuoi programmare a oggetti (cosa sconsigliata nel caso in cui devi programmare applicazioni di una certa dimensione) allora ti consiglio Python nel quale con una manciata di righe di codice fai veramente di tutto. Comunque se già conosci la programmazione ad oggetti ti consiglio anche di vederti il libro "Applicare UML e i pattern" di Larman che veramente ti apre la mente e ti fa capire la vera potenza della programmazione a oggetti (accostato a questo scaricati su internet il libro "Design patterns element of reusable object-oriented software" Che presenta i design pattern GOF che sono considerati i più importanti)
Carissimo, dopo essermi approcciato a scuola con il basic, ho preso un libro di C++ e sono rimasto affascinato da questo linguaggio. Il problema è nato quando dovevo usare l’MFC della Microsoft con Visual Studio. Così oltre a studiare il linguaggio dovevo pure imparare ad usare il compilatore. Ho provato a trasferire il mio interesse su Java che non era come le attuali versioni. Alla fine sono passato a Python e le basi le conosco bene, ora vorrei andare su qualcosa di più avanzato. Se ci fosse un corso Python magari con l’utilizzo di librerie Qt sarebbe il massimo. Grazie per la tua professionalità e simpatia.
Sai, io ho iniziato con il Visual Basic, e anche se oggi è considerato molto poco ritengo che questo linguaggio possa essere realmente propedeutico anche alla conoscenza di altri linguaggi in quanto le varie procedure (i cicli iterativi, le strutture if then else ecc) sono immediatamente visualizzabili, senza considerare, ricordo le mie difficoltà, le matrici; inoltre la semplicità con cui si possono vedere i risultati in modo 'carino' attraverso le finestre di windows aiuta molto nella voglia di approfondire. Onestamente tali possibilità non le ho trovato in altri linguaggi ad alto livello; per costruire una finestra in Pyton devi usare librerie esterne non semplici nell'uso che ti fanno rivalutare il senso delle parolacce. Ripeto, le strutture studiate in visual B aiutano comunque per i più coraggiosi ad avvicinarsi in modo più sereno a linguaggi a più basso livello.
Perché siamo di un'altra generazione!
😂
Come sintassi il visual basic è nettamente superiore al python (che mi sembra parecchio sopravvalutato)
@@florixc non so come fai a definire una sintassi "superiore" quando VBA addirittura è case sensitive.
@@FalB27 Visual Basic, non VBA (e comunque non ci ho mai fatto caso). Qeull'obbrobriosa sintassi di python invece è veramente scomoda, nei vari copia/incolla bisogna star attenti a come si indenta (visto che non hanno neanche partorito una istruzione end come il basic)
@@florixc per carità, Python è solo un LUA peggiore. Nella sintassi a blocchi ci sarebbe bisogno di una keyword end o done o simili, però trovo ingiustificato l'odio verso Python perché, fatto sta, senza queste keyword Python rimane comunque molto più facile da imparare rispetto a molti altri linguaggi, che è un pro per la target audience del linguaggio. Comunque VBA sta per Visual Basic for Applications e non è nient'altro che Visual Basic 6.0. Dubito che sia cambiato così tanto Visual Basic dopo l'implementazione del .NET
il primo linguaggio che imparai fu C++ al liceo che poi mi aiuto notevolmente nei miei esami universitari, adesso vorrei imparare un linguaggio per iniziare a programmare un gioco ma non so quale conviene, voi cosa mi consigliate? Bellissimo video e continua così
ti consiglio C#, C++ e Python
Io sto imparando c/c++ , e lo amo(in self taught)
Un consiglio che voglio dare e che ogni volta che imparate qualcosa di nuovo e di esercitarvi con quello che avete imparato risolvendo dei problemi a tema.
ciao, mi sapresti dire quali fonti utulizzi=? app, canali yt, siti..
@@gurisingh9740 video su yt, stack overflow, e tanto altro
Personalmente da persona che ha iniziato più di 10 anni fa col C++ sono d'accordo su quasi tutta la linea, è chiaro poi che in ambiti accademici debbano più o meno fare una scelta comune che vada bene "un po' per tutti" e far partire da quello chiunque faccia il corso perchè altrimenti diventa un macello gestire tutto quanto. Ad oggi direi che secondo me la scelta migliore (ed è quello che faccio con gli studenti che mi capita di avere ogni tanto) per un neofita è quasi sempre partire dal python, che ti permette di non pensare alla gestione manuale della memoria ma allo stesso tempo ha tutto quello che serve per imparare le basi dell'informatica in modo completo arrivando anche a poter implementare cose davvero complesse e imparare concetti avanzati come la programmazione ad oggetti a modo (non ai livelli di come te lo fa fare il java e ha i suoi difetti se usato come linguaggio ad oggetti nudo e crudo, ma per farsi le ossa ha più che il suo perchè anche in questo). Soprattutto il caro vecchio pitone ha il punto di forza che si possono fare tante tante cose anche senza doversi appoggiare a dei framework che poi sono molto semplici da integrare rispetto ad esempio al javascript dove tutto è un po' più complicato e fumoso per chi non è tanto pratico e senza i framework già in partenza non ci si fa molto. Dopo un po' di ossa fatte sul python poi ci si può specializzare in quello che si vuole in modo molto più agile.
Secondo me dici un sacco di fesserie , per chi vuole imparare a programmare consiglio di iniziare col C++ proprio per i puntatori e la sintassi del linguaggio. Nn diciamo fesserie
Penso che bocciare a priori c e c++ non abbia senso. La conoscenza di c++ è super richiesta e nel mondo della sicurezza informatica c è essenziale. Penso che un neofita non possa iniziare da Python per esempio solo perché più intuitivo e facile poiché non avrebbe le basi che invece c o c++ garantiscono. Quando proverà a cambiare linguaggio capirà subito la mancanza di basi universale .
Minecraft che é stato fatto sia in Java che in C++ be like
HAHAHAH
Ciad gi sviluppatori di minecraft
Davvero 🤨
@@exe345o si bedrock edition in c++ e Java edition in java
@@emiliohdhdhdjr2339 stato primo aver scoperto?
Grazie veramente. Da anni sto guardando tutti i video che trovo sull'argomento e direi che il tuo è finalmente, esaustivo. Iscritto. (vorrei tanto trovare quella tavola diagramma che hai inserito a un certo punto...)
Non ho mai sentito una collezione di cavolate dette tutte insieme! Cerca di fare chiarezza: innanzitutto il C non è un linguaggio di basso livello e figuriamoci il C++ che riprende le strutture del padre, aggiungendo una pseudo-programmazione ad oggetti. Il linguaggio di programmazione a basso livello si chiama ASSEMBLER. Poi negli anni 90 arriva Java, il primo codice totalmente ad oggetti che tutt'oggi è impiegato in svariati ambiti. Da qui in poi nascono tutti i linguaggi da te citati che servono in ambito smartphone e web. praticamente tra un pò ti tolgono la tastiera tanto mica serve più spremere le meningi per arrivare a scrivere software. Ricorda che COBOL è tuttora il linguaggio utilizzato in ambito finanziario con una miriade di programmi adatti al mondo bancario. Ed è ad alto livello! Quindi tu... di cosa stai parlando? Forse di linguaggi per menti bacate? Negli anni 70-80 gli i programmatori italiani erano ricercatissimi per il loro grado di cultura. Oggi non sapete manco come è strutturato un processore! Questa è la verita!
sembri un vecchietto lol
@@rayanking4773 Infatti lo sono!
Come punto di partenza ( ma anche di arrivo..) consiglierei Delphi che facilita enormemente la creazione della user interface, usa il Pascal come linguaggio e vi incoraggia ad usare la programmazione ad oggetti. In aggiunta, ha una versione free, che non è poco
E' esattamente cosi che sono partito io, i miei prof me lo imposero alle medie
A mio avviso non si può trascurare il basso livello per soddisfare la necessità di feedback degli studenti. Diciamolo sinceramente: i ritorni immediati servono principalmente agli studenti svogliati, quelli che non hanno motivazioni intrinseche allo studio e necessitano pertanto di continui stimoli. I linguaggi di basso e alto livello andrebbero studiati in modo parallelo: c'è posto sia per comprendere la macchina sia per avere risultati, e serve sia essere gratificati che studiare con serietà. Grazie del tuo video, l'ho trovato decisamente ben fatto 👏
Questo suggerimento mi serviva, non abbattersi quando non funziona un codice e usare tutti strumenti che esistono per aiutarmi, grazie questo era il video che mi serviva, allora il mio linguaggio preferito è Python perchè mi permette di creare dei bot per Discord e poi è facile da imparare.
Devo dire che avendo iniziato a studiare java dopo il c base, essendo messo in difficoltà dalla nuova struttura del codice, dalla verbosità e la programmazione orientata a oggetti chatgpt mi è servito e tutt'oggi mi molto utile a capire eventuali errori nel codice e magari come semplificarlo o renderlo più compatto
Spero davvero tanto che questo video arriverà a 5000 k Like, perchè un tuo "video corso" sulla programmazione è ciò che ho sempre voluto, anche perché vorrei approciarmi alla programmazione ma non ho mai trovato una persona davvero brava a spiegarla, invece credo che tu saresti perfetto
Io sono del 73 e il mio primo linguaggio di programmazione imparato a scuola è stato il Turbo Pascal, poi passato al GWBasic, Visual Basic, Carnigan & Ritce C, ecc
Ragazzi vorrei un consiglio. Io faccio tutto un altro tipo di lavoro ..ma oramaii stanco del mio lavoro ho pensato di iniziare a lavorare con il computer... Non ho 20 anni ma 45.. un mio amico mi ha detto di non studiare Java ma si farà qualche corso on line di INTELIGENZA ARTIFICIALE. dicendomi che se mi mettessi a studiare Java e altri linguaggi di programmazione avrei la concorrenza di giovani di 20 anni. Secondo il mio amico se facessi qualche corso di INTELIGENZA ARTIFICIALE partirei allo stesso livello di tutti (dato che A.I è una cosa nuova.
Qual consiglio mi dai
Grazie
Iniziare col C non è importante.. è fondamentale
Imparare a programmare in C è fondamentale. Iniziare col C è inutile.
@@MrMorotep dettagli!
@@MrMorotepio sto studiando c come primo linguaggio e mi trovo molto bene, le basi sono semplicissime e in poco tempo puoi già fare dei programmi molto carini
@@antoniobertolini9358
Il problema del C come primo linguaggio è che si rischia di impararlo come se fosse un linguaggio come tutti gli altri, finendo per non utilizzarne tutte le potenzialità uniche.
Difficile che uno alle prime armi possa muoversi fluidamente con argomenti come gestione della memoria, puntatori, puntatori di puntatori, puntatori a funzioni ecc ecc. Poi per carità, se uno ce la fa ok, ma non sono argomenti da affrontare in un'approccio didattico alla programmazione.
@@MrMorotepio ho iniziato da pochissimo ma perfortuna conosco come funziona l'aritmetica binaria e quindi riesco a orientarmi con la memoria. Comunque a me interessa il C per avere le basi per usare bene microcontrollori come Arduino ed Esp32 e perfortuna giá con poco riesco a fare il 90% dei programmi che mi possono servire! Poi ovviamente in futuro immagino che mi beccheró degli argomenti ostici di cui al momento ignoro l'esistenza!
Posso dirti che ho iniziato a programmare da qualche mese, iniziando proprio con javascript, poi sono passato a java e ti posso dire anche io lo amo. Lo preferisco a Javascript proprio per il suo ordine e precisione.
Sei uno dei pochi che ho sentito pensarla come me
Non sono paragonabili. Sono due concetti completamente diversi... Anche se con Typescript ora sono meno lontani
ho 57 anni e nel 1987 ho passato 2 anni a lavorare in C sotto AIX. All'epoca, nell'azienda di informatica per la quale lavoravo, usavo il COBOL ma imparai il C per conto mio, al punto che divenni così bravo che venni spostato nel gruppo di automazione industriale. Rammento un progetto su tutti, un sistema di automazione per la centrale termoelettrica di Fusina.
Con il C (e DB sql Informix), oltre a tutto il core gestionale grafico, riuscimmo ad implementare tutti i driver per bilance per i camion, semafori, sbarre e lettori di badge. I driver comunicavano fra loro e con il core tramite un sistema mailbox che io ed il mio capo implementammo.
Per farti rendere l'idea, dico solo che all'epoca i cavi (che ci facevamo in casa con il saldatore) erano seriali RS232 e i tempi di risposta dei vai componenti dipendevano dalla lunghezza del cavo, quindi dovevano creare dei loop all'interno dei driver per "perdere tempo" in modo da non perdersi le risposte.
A pensarci ora è preistoria ma lo ricordo come uno dei miei periodi più belli ed interessanti.
Iniziai all'università con Java e non esagero dicendo che ho abbandonato la facoltà per colpa sua. Un linguaggio con una curva di apprendimento che è pari a scalare un muro liscio ed oleato alto 20 metri, in nemmeno due lezioni ti riteovavi a fare progetti con 10 package e 200 classi quando a malapena hai capito come inizializzare le variabili.
Ora ho ripreso a studiare attraverso un corso di sviluppo software e sono partito da C++, per quanto sia a basso livello mi ha aiutato tantissimo a comprendere le basi della programmazione come cicli, array, strutture, puntatori, ecc. Ahimè ho riniziato anche Java ma mi rincuora il fatto che poi farò python, linguaggio che già ho approfondito da autodidatta e che amo moltissimo.
Concordo. Sono un programmatore vecchio stampo e ho dovuto fare tutta la trafila. Assembler, Pascal, C, C++ ... qualche accenno a VB, per passare a Java all'università. Ora programmo stabilmente in Java da almeno il 15 anni. Nel 2023 auspicherei ad un percorso formativo inverso che parta, ad esempio, da Python, uno dei pochi linguaggi che rispetta realmente il paradigma della programmazione ad oggetti per poi, se si vuole approfondire con passione, arrivare fino al C a ritroso. Non concordo però ad esempio su alcuni concetti. La ricorsività è per me un qualcosa che va comunque studiato cosi come gli alberi. Concetti realmente poco utilizzati. Certo. Ma ad esempio, personalmente, la ricorsività è stata utile in almeno due progetti. Progetti che avevano un problema che per la quasi totalità dei colleghi era impossibile da risolvere semplicemente perchè non sapevano nulla della ricorsività. Perchè, hey, il programmatore deve anche generalizzare i problemi .... e affidarsi al tanto più di x sotto-cicli non ci saranno mai .... non è da programmatore serio (mio modesto parere :D )
Condivido a pieno . Sto studiando C al primo anno . Non mi scoraggiò assolutamente , ma credo sia davvero controproducente . Dare un approccio finalizzato a qualcosa di concreto è il miglior modo da infondere fiducia e far aumentare quell’autostima necessaria sopratutto all’inizio di un qualsiasi piano di studio . Premetto che sono iscritto da circa 1 anni ed ho quasi 57 anni 😉
Sono partito con il basic MS v.2.0 , poi 'assembler a 8bit del 6510, dello z80 ,a salire fino x86. C++ e poi python sono stati la conseguenza. L assembly mi ha aiutato tantissimo per i microcontrollori.
In realtà TypeScript, come superset di JavaScript, introduce la tipizzazione statica, simile a Java, riducendo gli errori. I linter in JavaScript prevengono errori nella stesura del codice, migliorando qualità e produttività. Inoltre, alcune recenti funzionalità di Java, come le espressioni lambda, 'var' per le variabili e le API Stream, sono state ispirate da JavaScript e TypeScript, sottolineando l'innovazione e l'influenza di questi ultimi.
Sei molto giovane, quando si iniziava a programmare si utilizzava l'assembler ed il Fortran. il linguagio C fu l'evoluzione del linguaggio B derivavato dal linguaggio "BCPL" (Basic Combined Programming Language). L'uso di C ha permesso loro di scrivere un sistema operativo portatile, efficiente e flessibile conosciuto come Unix....diciamo il papà di Linux.
allora, sto nell'informatica da sempre e quindi ho passato tutti i periodi di transizione. Il discorso è molto semplice, tutto dipende dall'obiettivo. Si puo essere ottimi programmatori e usare linguaggi di alto livello senza conoscere a fondo l'architettura hardware dei sistemi su cui devono girare questi programmi. Tuttavia se si è appassionati e si vuole scrivere del codice ottimizzato che gira solo su determinate architetture non si può prescindere dal conoscere molto bene l'architettura della "macchina" su cui il codice deve girare , questo discorso vale soprattutto sui sistemi embedded anche se i micro attuali hanno molte piu risorde disponibili rispetto al passato. quando ero ragazzo dovevi scrivere codice di pochi Kbite ....... Inoltrebisogna capire perchè uno fà il programmatore, lo fai perchè è la tua passione o perchè non trovi di meglio ? Facciamo un esempio, se uso python e devo scrivere codice multi thread non è il linguaggio migliore dal momento che non è thread safe e quindi se lo sai fare usi parti di python con richiami al c oppure cerchi di usare i lock o cose simili ma essendo interpretato non stai scrivendo codice ottimizzato. questo è solo un esempio , ma quanti di quelli che programmano oggi hanno la libertà di scegliere il linguaggio o proporre soluzioni alternative se non sei un capo progetto o non lavori in proprio ?
Ciao, sono un laureando magistrale in computer engineering (modo più accattivante per dire ingegneria informatica in inglese), triennale sempre in ingegneria informatica.
Nella mia carriera universitaria ho avuto modo di trattare con tutti i linguaggi citati da te eccetto C#, ho programmato in: Assembly, C, C++, Java, Kotlin, Matlab, Python, Go, JavaScript, React... Il mio pensiero è vicino al tuo sotto molto aspetti, specialmente quello del cold start con C++ e dell'implementazione con feedback. Tuttavia, credo che la programmazione a basso livello per chi vuole definirsi un programmatore a tutto tondo sia fondamentale, per vari aspetti sui sistemi operativi, reti, funzionamento del server, trasmissioni internet... Capisco benissimo che sul momento risultano dolorosi e fanno facilmente andare via di testa (segmentation fault :) ) ma a posteriori sono molto contento di "essere stato costretto" a doverli usare.
Volevo parlare di questo argomento in una serie di articoli e video sullo studiare ingegneria informatica per il mio blog in costruzione, mi farebbe piacere parlarne con te in caso l'idea ti potesse interessare. 😊
Marco
Ammetto che questo video mi è piaciuto particolarmente.
Io studente da liceo scientifico(con latino), mai visto codice negli anni, mi iscrivo in un corso universitario basato su Informatica applicata e data analytics, nome accattivante, prospettiva lavorativa super avanzata!
Primo esame del Corso -> programmazione C
Letteralmente l'esame è ancora la!
secondo scoglio del corso Machine Learning -> basi di python per me inesistenti e non fornite dal corso.
Eppure il CDL è stato lanciato come innovativo e senza bisogno di esperienza pregressa, mi lanciano su C a caduta libera sulle liste e di python manco conoscevo la sintassi ahahahhaha
Alla fine, piano piano, Python inizi a comprenderlo e digerirlo, ma C, per quanto ammetto sia esteticamente bello e potenzialmente """perfetto""" rimane ancora uno scoglio insormontabile.
Devo ammettere che il procedimento inverso di apprendimento funziona meglio e vorrei fare un esempio
C lo consideriamo come la grammatica più alta, il parlare correttamente con la giusta consecutio temporum.
Python è più simile ad un linguaggio parlato, qualcosa di fluido, qualcosa di colloquiale.
Ora riflettiamo come si plasma il parlato in un Bambino
Inizia a parlare imparando dai propri genitori (quindi potrebbe imparare anche modi gramaticalmente sbagliati o incompleti)
poi imparerà la grammatica più alta e complessa
Avrà certamente delle difficoltà a spostarsi da un parlato colloquiale ad un parlato aulico, ma certamente con meno sforzo riuscirà a plasmare meglio i due linguaggi
Insegnargli la grammatica prima di iniziar a parlare lo porrà di fronte ad un muro di comprensione troppo alto, ce la farà, ma quando poi dovrà approcciarsi ad un altro linguaggio, cambiare anche totalmente lingua, avrà realmente dei vantaggi?
Si, semplicemente ha imparato a try-hardare, sarà più resistente nel gettare la spugna ma questo non gli rende la vita più semplice
Secondo me usare C allo start di un corso ti fa sbattere la testa su problemi che non hai mai nenache considerato, Python secondo me è più indicato a muovere i primi passi anche perchè se inverti il sistema di apprendimento, secondo il mio punto di vista, riuscirai a comprendere maggiormente C perchè affonderai le dita su un linguaggio più contorto ma con cognizione di causa, allo stesso tempo risulterà più semplice affinare la sintassi portando quindi le lezioni a spiegarti qualcosa di più profondo sul C rispetto a spendere così tante ore su come funzionano Array, liste, puntatori ecc ecc
Affrontare una lunga salita è meno faticoso e più adatta a tutti piuttosto che prendere la via dell'arrampicata. Dopotutto conta soltanto arrivare alla vetta!
(mio personale parere
Sono completamente d'accordo con te, io sono partito proprio con il c++, sono uno a cui piace smanettare molto con l'hardware e mi diverto a lavorare a basso livello nei miei progetti, mi affascina studiare e capire il funzionamento a basso livello dei componenti. Per quelli che invece vogliono creare programmi, videogiochi e siti web con interfacce grafiche complesse non c'è assolutamente bisogno che imparino determinate cose, sono sempre stato del parere che si dovrebbe smettere di insegnare i classici c\c++ come primi linguaggi e lasciar scegliere, in base alle preferenze di ognuno, il linguaggio con il quale si vuole partire, se ad esempio il tuo obbiettivo è quello di diventare uno sviluppare web potresti studiare mille altre cose e linguaggi piuttosto che perdere tempo a studiare i puntatori, che probabilmente non userai mai
Mi sono iscritto in ritardo ad informatica e mi sono perso praticamente tutte le lezioni sul C. In un mese scarso mi sono letto l'intero libro sul C, l'ho imparato e l'ho applicato. In un esame successivo mi son fatto in una settimana un esame di programmazione dove ho creato un gestionale in C con oltre 1.000 righe di codice.
Sicuramente ci sono argomenti leggermente più complicati, ma personalmente non ho trovato il C così complicato. Anzi...
Quando poi ho dovuto studiare il Java, il libro col malloppone di 900 pagine, le prime 400 pagine le ho dovute letteralmente solo sfogliare.
5:21 c'è da dire anche che si stanno sviluppando nuovi linguaggi, come ad esempio VLang, che basandosi su C/C++ portano una sintassi semplice come quella di python / js ma con tempi di esecuzioni a volte perfino più veloci di quelli di C stesso. Questo porta ad una marea di PRO, fra cui, per esempio, avere un linguaggio adattabile sia per lavorare a basso livello che ad alto livello, il tutto sempre con molta "comodità" a livello di sintassi :)
se poi vogliamo citare un grande professore "java e phyton sono i linguaggi scelti da chi non sa programmare"
chi l'ha detto ahaha, probabilmente un signore anziano che programma ancora in Pascal
Sono un vecchio vecchio programmatore, ho cominciato quando l'informatica era roba per eletti. Quando internet non esisteva e se ti piantavi su un programma erano cosi amari trovare una soluzione. Linguaggi ne ho usati e ne uso ancora tanti, a 16 anni programmavo in c++, in assembly e peggio ancora in codice macchina puro. Nonostante avessi una ottima padronanza di tutte le difficoltà dei linguaggi a basso livello, l'arrivo di linguaggi piu evoluti è stata una manna. Potevi finalmente usare il tempo per programmare e non per diventare matto a cercare un asterisco mancante che ti faceva crollare tutto. Nonostante questo la conoscenza delle basi dell'informatica mi permette di scrivere programmi solidi e veloci con linguaggi ad alto livello perché sai quello che ci sta dietro. Sono sincero con te, dovendo assumere un nuovo programmatore quello che sa anche c o c++ lo preferisco, anche se non dovrà usarli mai. Ma lo vedo tutti i giorni sul lavoro, quelli con solide basi con linguaggi a basso livello hanno una marcia in più. Ragionano in modo differente. Ma sono comunque d'accordo con te. Se non hai bisogno di diventare un luminare dell'informatica, studia solo il linguaggio che meglio si adatta al tuo progetto. Se invece vuoi fare dell'informatica la tua professione e guadagnare tanto tanto di più, studia tutto.
comunque per l’esercizio che hai proposto l’espressione restituisce la somma degli elementi dell'array e , che sono rispettivamente 3 e 4. L'espressione restituisce la differenza tra e , che sono rispettivamente 2 e 5.
teoricamente sostituendo i valori nell’operazione il risultato dovrebbe essere -9, aspetto un riscontro o un parere 😁
le indicano l’espressione dell’esercizio e i valori da considera
Ho 56 anni. Non so qual'è il mio linguaggio di informatica, ma posso dirti che ho tanta voglia di imparare.
Io programmo in java da qualche anno.
Non lo faccio per lavoro ma ho integrato programmi di gestione scritti in java come desktop stand-alone con collegamento a database condiviso e applicazioni web che girano su servlet e server annesso nel mio lavoro per pura passione.
Condivido pienamente il tuo pensiero su java e ho sbattuto la testa fortemente su C a fondamenti di informatica e i suoi maledetti puntatori.....
L'unica pecca è proprio l'utilizzo eccessivo di memoria che ne farebbe un linguaggio completamente inutile se qualche hanno fa.
Io quest'anno sono al terzo anno di istituto tecnico: come primissimo linguaggio di programmazione ni è stato presentato Java e devo dire che l'impatto iniziale è stato abbastanza traumatico. Ora invece, a distanza di 3 mesi, riesco a utilizzarlo abbastanza facilmente
io sinceramente ho solo 2 anni di istituto agrario in cui in sala pc non si andava praticamente mai, ho scoperto molte cose in autonomia a programmare iniziando da python scrivendo inizialmente semplice codice per capire la logica, librerie e tutto quello che appartiene, solo dopo 1 annetto sono passato a C e altri linguaggi anche lato web, negli anni non ho mai lavorato per aziende ma ho fatto diversi lavori in privato, per programmare, se non ci sta passione e smadonnamenti per risolvere errori e calma non si va avanti, come quando ho smadonnato anni fa delle ore per compilare un programma e solo dopo mi sono accorto che il timestamp era fuori sincrono sulla VM
Ho iniziato a studiare C alle superiori e non mi sono trovato male, anche se devo dire che argomenti come i puntatori mi creavano abbastanza difficoltà.
Detto ciò ritengo che il programma di studi di informatica che si fa alle scuole sia abbastanza obsoleto e vada rivisto.
L'informatica è molto vasta ed è sempre in continuo aggiornamento, bigna insegnare bene non tanto il linguaggio in se ma il modo di ragionare ed approcciarsi ai problemi per sviluppare la capacità di problem solving, dopodiché ci si deve concentrare sul progetto che si vuole realizzare e scegliere il linguaggio di conseguenza
Dopo 15 anni come sviluppatore mi sento di dire che "Dipende" nel mondo dell'informatica e' quasi sempre la risposta giusta. "Dipende" dalle necessita' e da che ambito di sviluppo vuoi raggiungere (Web / Data Analysis / Mobile Development / Videogames / ...)
Ogni linguaggio ha i suoi punti di forza, e come per bucare un tavolo serve una punta adatta al legno, per bucare un muro ne serve un altra... e l'informatica evolve cosi' in fretta per cui i programmatori devono spesso imparare nuovi linguaggi e librerie.
Python e' molto didattico per i neofiti pero' anche se C e' un "arma a doppio taglio" la comprensione della memoria e le funzioni ricorsive sono realmente delle basi da avere.
E' molto importante avere una conoscenza a basso livello della macchina, come anche dei dispositivi e dell'hardware in se... per non parlare delle reti.
Alla fine per non cadere nella frustrazione e non demoralizzarsi se qualcosa e' troppo complicato basta variare un po' gli argomenti, con la consapevolezza che tanto sulle basi ci dovrai comunque ritornare prima o poi.
io da piccolo ho cominciato vedendo il basic... per poi passare a C++, VB, PHP, C#, Coldfusion, Bash Scripting, Java, Python.
Ad oggi non ho un linguaggio preferito, per me sono tutti strumenti diversi e sulla base di quel che "dipende" il da farsi scelgo lo strumento da usare.
Se l'informatico - elettronico è molto richiesto un motivo c'è: perché deve avere a che fare con situazioni difficili che non sempre si risolvono con programmazione ad alto livello.
Molti firmware si scrivono in c e c++.
Poi il vero lavoro non è fare un software o un sito web (ad esempio con wordpress): è modificare la struttura e/o le funzionalità in base alle esigenze del cliente (e non sempre ci sono tool o plugin belli e pronti)
Il linguaggio è uno strumento scegli quello che ha piu utilità nel contesto in cui vuoi risolvere il tuo problema, quello che fa di un programmatore un buon programmatore è la conoscenza e il problem solving.
Pochi esami mi separano dalla laurea in informatica. Concordo su quello che dici, però secondo me c’è una cosa da chiarire: l’università italiana in generale (non solo informatica) NON ha l’obiettivo di formarti per il mondo del lavoro. Lo scopo dell’università purtroppo é SOLO quello di formare la testa, la mentalità. Con questo intendo dire che l’università dice: ok, vuoi diventare informatico? Io ti do SOLO i mezzi per imparare a ragionare come un’informatico. Sarà poi compito della persona, una volta laureata è formata, aggiornarsi alle ultime tecnologie e usare gli strumenti che riterrà più opportuni in base a quello che dovrà fare volta per volta.
Concordo completamente. Il mio approccio con la programmazione (da autodidatta) è iniziato con C, e sono dovuto passare a Python per apprezzare completamente la bellezza del programmare. Poi all'uni ho avuto modo di avere un ottimo professore per imparare C per bene, ma non lo consiglierei mai come primissimo approccio.
a me invece è stato tutto il contrario ho iniziato con C, dopo un anno java che è diventato il mio preferito e da autodidatta ho studiato python ma non mi piace per nulla
Tutti dicono e pensano che i data scientists sono i più remunerati, ma un realtà un vero programmatore C/C++ guadagna molto di più.
Semplice esempio, un programmatore videogiochi è un programmatore C/C++/OpenGL.
io sono un programmatore, 5 anni di ing informatica e poi sviluppatore per il resto della vita lavorativa. All'uni ci fecero usare Java che uso tutt'ora. Al lavoro mi è capitato di dover usare sia C che C++ (ma anche kotlin, python, php, perl, cobol, assembly, PL/SQL, ...). I linguaggi di programmazione sono un po' come le lingue straniere, meglio conoscerne e parlarne fluentemente tante che poche. Detto questo sì, partire con C e C++ è come partire un videogioco a livello difficile, meglio partire da quelli facili da imparare e poi, se ti serve, con quelli più difficili
secondo me da ragazzo di 20 anni che è uscito da poco dalla scuola superiore (tecnico informatico) e che ora sta imparando react con un`azienda della mia zona, ritengo che c e c++ siano ancora da imparare come base però poi spostarsi su java e javascript nel momento più opportuno come ha fatto il nostro professore, che si ha fatto fare un bel po di cose in c/c++ ma in maniera tale da ingranare poi con linguaggi come java poi nel mentre abbiamo imparato html e css, javascript un po più in la e php affiancato a java verso la 4/5 superiore per imparare bene i databese ovviamente avrei voluto imparare meglio javascript con magari react ma so perfettamente che sarebbe stato difficile nel periodo scolastico quindi si ritengo che c/c++ siano necessari ma per far capire bene come si possano creare dei problemi nella programmazione con poco e ovviamente per capire bene come fare il debug del codice che non funziona ecc.. dopo ovviamente questi concetti partire con linguaggi più ad alto livello
Volevo rispondere male, visto certe fregnacce dette, ma proviamo a distillare il succo del discorso, su cui se vuoi sono anche d'accordo con te: far imparare linguaggi come c e c++, per primi, è un errore e garanzia di "perdere" lo studente. Ma, ti prego, NON parlarmi di partire con il JAVASCRIPT per far iniziare un percorso di apprendimento! Ma ti pare che un linguaggio con duck typing, tipizzato dinamicamente, con uno scope delle variabili lessicale possa essere qualcosa con cui far iniziare lapprendimento della progeammazione? C#, java, python va bene, ma te prego..javascript no! Manco ha una standard library!
Poi io non capisco su che basi vai a dire che la ricorsione non si usa!!?? Mai lavorato ad un parser? Mai lavorato ad un qualche problema di ottimizzazione? Pensi di venirne fuori a creare un parser per una grammatica l2 senza ricorsione? Auguri.. e poi chiariamo bene una cosa: non te lo dice il dottore, di diventarw programmatore, e se vuoi diventarlo per davvero devi studiare: ricorsione, organizzazione della memoria (vatti a vedere le scelte tecniche fatre sul progetto apache arrow, se non implicano una conoscenza profonda dei meccanismi di gestione della memoria. Oppure il paper dell'autore della varnish cache, per dirne un altro. ) Programmazione ad oggetti, algoritmi e strutture dati (toh, guarda un po'.. quasi tutti gli algoritmi di ricerca sono ricorsivi..), design patterns.. ecco, QUELLI non vengono studiati a sufficienza! E cosi poi ci lamentiamo che aul sito dell'INPS ci sono variabili nominate come pippo e pluto, oppure che la gestione della cache fa talmente pena che ti permette di vedere i dati personali di altri utenti sul portale. Ecco, continuiamo a pensare che la programmaxione debba essere facile (chatgpt per farsi scrivere codice che non si conosce??? Maccheccazz...!) Ma poi non lamentiamoci che il codice che troviamo in giro faccia cag..re.
Ormai è da un paio di anni che studio un paio di linguaggi di programmazione, da solo, e adesso a scuola facciamo delle cose basi ma proprio basi, che per me risultano semplici, ma sinceramente, credo di aver capito che dalla scuola non imparerò molto, quindi continuerò a studiare da solo, che secondo me è la scelta migliore, lo consiglio a chiunque, non solo per la programmazione ma anche in altri settori, soprattutto quelli complicati come quello dell'informatica, dove ci sono tantissimi percorsi, e la scuola ne decide uno e non lo cambia mai, cosa direi pessima.
Se però, (esempio) sapete che magari, al terzo anno di scuola superiore studierete Java, se con gli altri linguaggi come C non vi siete trovati bene, con Java non riuscirete comunque a combinare niente, ma se avete già delle solide basi che siete riusciti a imparare perfettamente dopo anni di pratica, imparare Java sarà uno scherzo!
è vero java in confronto è una passeggiata
@@GaSkia117 Già, tra l'altro C è vecchissimo e pure difficile da imparare, sinceramente (anche se l'ho imparato qualche anno fa per passare il tempo e non lo ricordo affatto) non lo consiglierei a nessuno, ci sono molte altre alternative migliori, che fanno le stesse cose
@@veddy1674 Io potessi lo dimenticherei per poterlo studiare di nuovo da zero, è un linguaggio che mi è piaciuto imparare e approfondire, anche se sembra che non lo usi più nessuno lo si usa ancora moltissimo per quanto riguarda gli embedded system, quindi da ingegnere informatico può essere utile averlo imparato se vuoi lavorare in quel settore... Poi è molto usato insieme a c++ per i driver di, per esempio, schede video; se lavori su linux sarai costretto ad impararlo per implementare qualche tool o fare qualcosa di particolare. Come ha detto @nFire infine dipende da quello che vuoi fare....
Poi anche java non è tanto più recente (1996)
Ho studiato Pascal e Fortran all'università (ingegneria) e ho bei ricordi. Dopo anni per curiosità, passione e qualche lavoro, ho iniziato a leggere manuali di Python, con cui ho giocato un pò con l'analisi dei dati. Mi son trovato bene tutto sommato. Non sono un programmatore e gli studi precedenti mi sono serviti.
Va contestualizzato questo video. Per chi come me fa ethical hacking, conoscere Python aiuta moltissimo. Conoscere ad esempio Javacript aiuta molto nella fase di exploiting delle vulnerabilità e nel trovare vulnerabilità nascoste.
Non sono linguaggi inutili, dipende solo dal ruolo che ricopri 🙂
Con l'evolversi di internet agli inizi degli anni 2000, si era detto che il linguaggio Cobol
sarebbe morto, e invece no, è sempre tra noi. Per alcune banche e assicurazioni sarà
difficile sbarazzarsene per almeno un po' di anni ancora, visto che tutta la gestione del
batch è fatta da programmi in cobol. Certo, il front-end adesso non è più in cobol, ma in
Java, però il back-end ha come db il DB2 e per gestirlo ha il cobol abbinato a istruzioni Sql.
Ma come mai resistono ancora il Cobol, il DB2, piuttosto che il db Oracle e altri linguaggi? Dalle voci che sento in
giro è perché la piattaforma Mainframe (dove alloggiano il Db2 e il Cobol) sia più stabile, più sicura e più veloce.
Questo video è un mucchio di imprecisioni.
Io insegno programmazione e vedo che gli studenti che iniziano studiando JS, poi quando messi alla prova sul campo, non ci capiscono una sega. Hanno poi bisogno di ulteriore, molta di più, formazione a differenza di chi ha le basi.
Gli mancano le basi e i concetti fondamentali che ti da il C/C++.... Che non sono linguaggi vecchi, anzi vengono ancora ampiamente utilizzati e pagati profumatamente.
Questo perchè programmare non significa soltanto scrivere codice, ma significa anche conoscere la macchina e tutto l'ecosistema che sta attorno e anche tutta la questione cybersecurity, e chi fa cybersecurity il basso livello lo conosce bene. Poi non lamentiamoci che abbiamo programmi pieni di bug.
JS oltretutto è veramente un pessimo linguaggio.... per vari motivi che non sto ad elencare, che creano parecchia confusione negli studenti (cose tipo a + '2', che se non sai la differenza tra stringhe e numeri vai in panne).
Non conosco nessun sviluppatore veramente bravo che non abbia le basi e non capisca un minimo di C/C++.
Io comunque inizierei col Pascal, che è molto più facile e insegna le basi per davvero.
Lasciate perdere le minchiate, se volete programmare bene imparate le basi.
Non dovete diventare dei maghi del C/C++, anche se non fa male, ma semplicemente acquisire il minimo e poi potete approfondire.
Potete prima imparare un linguaggio di alto livello come python e poi passare a studiare più nel dettaglio, approccio top down, oppure partire dal basso livello e andare sù, bottom up.
In ogni caso non si scappa da capire le basi, a meno che non volete essere pagati poco e fare lavoretti, come installare wordpress.
Ormai viviano nell'era in cui nessuno si vuole più impegnare e vogliono tutto facile.
Se volete fare qualcosa, nel 90% dei casi, dovete fare i compiti. Punto.
Poi inizi il terzo superiore indirizzo informatica , la prof ti porta davanti al pc e cosa dice ?…. Aprite turbo pascal.
Risultato teorico dell'espressione
Valore di ptr_ptr + sizeof(tipo di ptr_ptr) * n
Dovrebbe essere
3+4+2+5 = 14
Guarda anni fa ho fatto un corso per programmatore, io ero diplomato in elettronica, e siamo partiti con il linguaggio C , dopo quel corso mi sono detto mai più informatica , mi sa che hai ragione tu è un po come imparare la matematica partendo dagli integrali e derivate , si dovrebbe iniziare con somma ,sottrazione, divisione e moltiplicazione e magari un po di concetto di potenza 2^5 per esempio, si convengo con il tuo discorso.
Il C se fatto male é un linguaggio terribile ahaha, tuttavia se trovi un metodo alla fine ci si rende conto che non é assolutamente difficile come linguaggio, in termini di sintassi.
@@gregorio7738 ho capito ma se io sono diplomato in elettronica non
centa nulla con informatica potevano iniziare con il codice Htlm anche se non viene considerato nemmeno un linguaggio di programmazzione inizi ad avere l'idea della differenza tra software ed hardware , mia opinione personale ovviamente.
@@mrheisemberg2 il C è fondamentale per l'elettronica, ovviamente non tutti gli ingegneri elettronici lo usano, in quanto sono focalizzati sull'Hardware, ma se vuoi costruire un sistema Embebbed hai bisogno per forza di cose del C e Assembly
@@gregorio7738 si ma siccome mi ero stufato dell hardware il mio obbiettivo era fare pagine web con contenuti multimediali o adesso creare piccole app. Qundi cosa consigli ? Ciao
@@mrheisemberg2 allora io ti consiglierei di trovare un ambito che ti piaccia più degli altri e specializzarti al massimo; a me personalmente mi piace molto quello che viene definito il back-end si un sistema, quindi ti posso consigliare di studiare come linguaggi di programmazione Java ( + Spring come framework) o Python ( + Django o Flask come framework), poi una volta che hai imparato bene la sintassi del linguaggio passa agli Algoritmi e Strutture Dati che ti consentono di mappare in memoria le informazioni e costruire algoritmo efficaci, poi studia il design dei sistemi distribuiti e i database; concludendo ti consiglio Packt Publishing, dove puoi trovare un casino di libri e videocorsi.
Piccola precisazione da sviluppatore Android: volendo si possono scrivere pezzi di app nativa che richiedono elevatissimi livelli di performance in C++ tramite NDK :)
Del resto concordo, a meno che non si è interessati alla parte di hardware puro, partire col C/C++ è come buttarsi la zappa sui piedi
@@darkcggaming si ma cosa c'entra, io non stavo mica parlando di programmazione ad alti o bassi livelli. Sto solo dicendo che Android permette la scrittura di pezzi in C++ per avere ancora più performance in casi eccezionali e su questo non ci piove anche perché l'ho già fatto. Te ne esci con GTK, GUI, Unix... Dovresti imparare ad essere più calmo ed educato, anche perché dici "senza istruzione formale" ma non sai nemmeno con chi stai parlando. Vedi di darti una calmata, piccolo tossico 😂
Più che altro c'è da fare una distinzione tra approccio scientifico e lavorativo. Io parlo da studente di informatica e la vedo come una scienza in tutto e per tutto, essa ha bisogno di essere compresa in toto, indipendentemente da quale sarà poi la propria personale scelta futura. Prendendo l'esempio dei puntatori, per uno "scienziato" dell'informatica è impensabile che non si conosca, almeno a grandi linee, il loro comportamento. Oppure che si ignori completamente i concetti matematici fondamentali dietro il funzionamento di un algoritmo o ancora come un linguaggio (in generarle) riesca a funzionare, inoltre l'informatica NON è solo programmazione. Se ovviamente interessa solo un ambito lavorativo in particolare l'università non è l'unica scelta, esistono moltissimi corsi ad oc per poter imparare un linguaggio più "richiesto" sul mercato del lavoro. Lo scopo dell'università deve essere quello (almeno per gli indirizzi scientifici) di far comprendere i concetti fondanti dietro una scienza, non di formare lavoratori estremamente specializzati in piccoli ambiti inseguendo i capricci di un mondo del lavoro che ci mette ben poco a rendere quelle specifiche conoscenze obsolete.
Detto da un ingegnere informatico che programma da quando aveva 12 anni, sono assolutamente convinto che abbia ragione.
Sinceramente io da senior software engineer preferisco C++ su tutto, è l'unico linguaggio che ti permette di avere controllo assoluto della memoria ad una difficoltà ribassata
Non sono d'accordo, e ti spiego perché:
1. Dici che il c è difficile e spaventa gli studenti, se uno studente al primo anno di università viene messo in difficoltà dal c non penso abbia scelto il percorso giusto (vedi analisi1/2, fisica1/2, calcolatori, matematica discreta e codici, algebra lineare ecc.)
2. Imparare prima i linguaggi a basso livello fa capire tanto dell'informatica e passare a quelli di alto livello risulta molto semplice, mentre il contrario non è vero, se come dici vuoi avere una scelta sul settore nel quale vuoi lavorare è molto meglio imparare prima il basso livello e successivamente spostarti su quello che preferisci di più tralasciandolo.
3. Il grafico che hai fatto vedere riguardante quanto sono richiesti i vari linguaggi è fuorviante e ti spiego perché: quelle percentuali sono prese dalle offerte di lavoro per "software developer" (o "sviluppatore"), dove ovviamente è molto richiesto lo sviluppo web (quindi i classici html/css, javascript, sql ecc) ma se cerchi "Software Engineer", "Firmware Engineer" o "Embedded SW Engineer" trovi richieste di altro tipo e non sono meno. Per esempio nel grafico non c'è il Matlab, linguaggio odioso lo so, che però è usato tantissimo per Signal processing e algoritmi di automazione.
Sono un programmatore da decenni. Ogni applicazione dovrebbe essere costruita con il linguaggio più adatto. È come cucire un vestito su misura. Quindi bisogna conoscere i materiali per cucire il vestito. Bisogna conoscere molti linguaggi in modo da essere pronti. Per impararli si gioca con essi. Bisogna conoscere le basi di funzionamento del computer ed anche il C. Quelli che utilizziamo oggi ci vogliono Gigabyte di memoria. Quindi non vanno bene su sistemi embedded. Altra cosa imparate la OOP. Vi servirà sempre nella vita. Soprattutto non fate quello che vedo fare: usare un server per fare polling su migliaia di client. Il server fa il lavoro di server. Ascolta mettendo a disposizione uno o più servizi ed i client consumano il servizio collegandosi. Non viceversa. Quindi ogni oggetto deve fare il suo mestiere. Il server fa il laboro del server ed il client fa il lavoro del client.
Essere programmatori non significa mettere giù un codice e basta che funziona. È arte come una scultura oppure un bel quadro. Bisogna saper raccogliere le informazioni e tradurle elegantemente in codice. Ma se non conoscete come è fatto un computer, quanta memoria state usando, come caricate la Cpu, se il software è troppo rigido da non sopportare piccole modifiche, se non è modulare sarebbe meglio ricominciare. La programmazione è arte, una sinfonia di suoni ben calibrati.
Cordiali saluti
Beh, affermare che la ricorsione non è mai usata mi sembra un po azzardato. Con opportuni provvedimenti non esploderà nulla 👍😁
da ingegnere 50enne condivido al 100%. Pensa che io fui costretto a partire col Pascal....Detto questo fino a 40 anni fa l'interfaccia grafica era una percentuale risibile dei software, quindi (inteso anche a livello di produttivita'/feedback) il c andava benissimo. La produttivita' persoale e' importantissima perche il programmatore e' un inventore e deve poter esprimere questa produttivita' nel mondo che lo circonda....che se magari per gli adolescenti di oggi puo essere abbastanza simile, non lo e' per quanto riguarda il mondo del lavoro. Cosi chi vive in un area come Milano votata piu al terziario avra' molto piu mercato per programmazione web/app mobili, ma chi invece vive in areee dove il manifatturiero la fa da padrone, ecco che il PLC e' molto piu richiesto
Io ho iniziato a programmare all'eta di 8 anni con il basic e quando mi sono affacciato a C e C++ non ho riscontrato problemi, gli scogli da superare sono stati Visual C e Visual Basic e la Gestione delle UI , e poi tutto il mondo .Net.
Ho programmato per 15 anni in JAVA per applicazioni industriali con Interfacce 2D che 3D e lettura e salvataggio dati da diversi Server Database sql , Dove lavoro oggi il C e C++ è all'ordine del Giorno , ma c'è molto anche Python 3.10
- Sono già fermo ad 1:00 e già si comincia molto male: Il solo fatto che un linguaggio sia "anziano" non significa che il linguaggio in questione sia da evitare e/o altro. Io ad esempio ho cominciato alle superiori col C, e il C è il linguaggio perfetto per cominciare: ti mette di fronte a tutta una serie di concetti importantissimi che serviranno sempre per altri linguaggi di programmazione che si potranno utilizzare in futuro, ed in particolare ti insegna a ragionare in binario per davvero. Il saper ragionare in binario ti torna sempre utile per affrontare alcune tipologie di problemi che una persona che non ha avuto queste basi rischia davvero di non poter comprendere e/o affrontare. Come diceva il mio professore "chi sa programmare in C sa programmare in qualsiasi linguaggio", e questo lo noto con tutti i miei colleghi: coloro che hanno conosciuto il C (e sofferto con lui) sono anche quelli più abili, mentre chi ha cominciato col Java talvolta non è in grado di comprendere il concetto di puntatore. Aggiungo che ad oggi non esiste linguaggio che abbia superato il C e il C++ in termini di efficienza e pulizia di sintassi;
- "puntatori e ricorsione": questi sono concetti che ad un certo punto vanno affrontati per forza di cose. E non è mai la prima cosa che si affronta: prima si insegna ad affrontare altro, e una volta che quell'altro è divenuto solido, ecco che possono entrare i puntatori e la ricorsione: i puntatori sono fondamentali da comprendere per tutti quei linguaggi tipo Java che ne fanno un uso silenzioso, mentre la ricorsione... beh ci sono alcuni problemi che solo con la ricorsione possono essere affrontati, ed io ho dovuto usarla per risolvere alcuni problemi particolarmente complicati. Quindi la ricorsione non è vero che viene usata MAI: viene usata poco, questo è vero, ma MAI è falso;
(Sono a 2:38 e sinceramente le argomentazioni portate finora mi sembrano alquanto scarse)
- 4:53 aspetta un attimo, la conclusione a cui sei arrivato qui è illogica. Il programmatore deve sì utilizzare la logica ed un linguaggio per saper scrivere un algoritmo, ma non è detto che questo linguaggio debba necessariamente semplificarci la vita. Certo sarebbe meglio, ma esiste comunque un rapporto risorse/beneficio (e viene spiegati pochi secondi dopo);
- 5:39 thanks to the dick;
- 6:57 ok, abbiamo capito, ma perché? Finora le motivazioni sono puramente soggettive;
- "python e javascript": python è un linguaggio talmente terribile che se sbagli uno spazio (non un punto e virgola: uno spazio) il programma salta. Javascript... non è un buon linguaggio per cominciare, in quanto non ti mette nelle condizioni di ragionare in binario, cosa fondamentale nel capire perché certe operazioni esistono e cosa vogliono dire. Il giorno in cui uno scriverà if (a & b) non capirà MAI perché nonostante a e b siano truthy il codice entri sempre nell'else e non verrà ritornato errore di sintassi. Non lo capirà mai finché non inizierà a studiare il binario;
- 9:20 io tengo colloqui nella mia azienda, e non chiedo mai un vero e proprio linguaggio di programmazione in quanto siamo disposti ad insegnarlo durante lo stage. L'unica cosa che chiedo è di saper strutturare un algoritmo. Poi in base a come va il colloquio cerco sempre di andare più a fondo, e se la persona mi ha studiato il C le faccio una o due domande per capire quanto a fondo si è interessato nell'ambito informatico. Saper risolvere problemi particolari e di basso livello, mi garantisce il fatto che quella persona voglia approfondire sempre di più quando impara qualcosa;
- 9:40 "il Java mi piace perché sono un fan delle cose chiare" questo è un ossimoro. Questo è un ossimoro e non c'è altro da dire. Una battuta che si fa tra programmatori Java è "sono a pagina 2 e ancora non ho capito che diamine stai cercando di fare". E lavoro anche in Java, in particolare uso Spring. Java NON è un linguaggio semplice: è un linguaggio terribilmente verboso, e solo con furbizia ed esperienza si può essere in grado di renderlo "semplice e chiaro". Ma anche in quel caso, esisteranno sempre almeno 2 o 3 livelli di astrazione del codice che se uno cerca di studiare che diamine è stato scritto, se quel qualcuno che ha scritto quelle cose non è un visionario (tipo il mio capo), rischia seriamente di perdersi nei meandri dell'astrazione. Lo dico per esperienza personale: sto sviluppando un progetto chiamato "nocode" per la mia azienda, un progetto che dovrebbe permetterci di risparmiare il 60% del codice quando creiamo un nuovo progetto, e per aiutarmi a scriverlo mi sono scritto una libreria molto speciale: quella libreria ha dei livelli di astrazione abbastanza complessi, e se uno che non sono io dovesse mai mettere mano a questo progetto so che perderebbe qualche ora prima di arrivare a capire che sta succedendo (poi so che una volta capito non avrebbe più problemi, ma il problema di base, ovvero i vari livelli di astrazione, restano);
- 11:33 fin qui ottima analisi, nulla da dire;
- 11:43 "C e C++ descrivono lo stato dell'informatica al giorno d'oggi" è una frase falsa, neanche limitante. C e C++ si imparano per mettere di fronte lo studente (o il neo-programmatore) a tematiche molto importanti che potrebbero ricorrere in futuro per linguaggi anche di più alto livello;
- "Tip utili per imparare il codice": questa sezione è oro;
Perdonate il papiro, ma sentivo di dover rispondere a tutto
Tranquillo, apprezzato ❤
Concordo, alle superiori avevo iniziato con c++.. volevo mollare tutto. Ma per fortuna più avanti ho scoperto js e i framework!!
Il tuo consiglio finale (STUDIARE PER PROGETTI) è estremamente prezioso. Purtroppo manca di un dato fondamentale: COME SI CREA UN PROGETTO? Come anche è implicito nell'argomento stesso del tuo video, un metodo di studio "creativo" si scontra con un sistema di istruzione normalmente lineare (perché massificato), che tende a favorire il nozionismo e a sfavorire un approccio esplorativo che è generalmente spontaneo nell'infanzia. Un bambino infatti studia già "per progetti" -- sognando, detto in un altro modo. Il punto del tuo video quindi è: come siamo arrivati all'università? Con l'ansia di un risultato / con la pressa dei genitori e la paura di non avere un lavoro? o perché ci siamo appassionati all'argomento e --esami o no-- ci sguazziamo dentro? Nel secondo caso, la sequenzialità di un corso di studi è un aiuto, un riferimento. Nel primo... hai dato un suggerimento importantissimo, ma potresti sviluppare un po' di più l'argomento perché in realtà cadi nelle paure più profonde di una persona (l'instabilità) e se non mi illumini con una piccola esortazione allora serve qualcosa di ben più convincente :)
Ammetto che ho aperto questo video con un certo livello di ostilità, ed i primi minuti del video non mi hanno fatto cambiare idea. Quando hai cominciato a motivare la scelta di un linguaggio a basso o alto livello mi sono ricreduto.
Ad ogni modo penso che l'università di informatica non ha come obbiettivo quello "insegnare a programmare", bensì quello di fornirti una formamentis per poter scegliere cosa fare successivamente. Come ha detto il tuo professore, studiare un linguaggio a basso livello come C ti può farti decidere di evitarlo come la pesta per il resto dei tuoi giorni, e credo che sia giusto insegnarlo anche per questo motivo. Nonostante ciò, credo che il C come viene insegnato di solito i primi anni di università sia alla portata di tutti, e soprattutto ti da un visione sufficiente a capire come funzionano dietro le quinte le cose ad alto livello.
Concludo dicendo che l'università non ti insegna ad essere un "programmatore" (per quello ci sono un sacco di corsi online), bensì ti da un assaggio di tutti i concetti generali legati all'ambito dell'informatica, inclusi concetti teorici.
python e se serve C
Innanzitutto bellissimo video e complimenti per la qualità! Io sono completamente d'accordo, alle superiori ho fatto 3 anni di C++ e ovviamente le cose basilari sapevo farle, ma non più di tanto.. un po' io che non mi ci mettevo, un po' la prof che a momenti sapeva meno di me, e nonostante la mia passione per l'informatica e il desiderio di imparare a programmare ho mollato tutto.. mi ritrovo ora al primo anno di Università in cui c'è un corso da soli 6 CFU di informatica in cui stiamo studiando Python e devo riconoscere che le basi di C++ mi hanno "spianato" molto la strada rendendo tutto ancora più semplice.. mi è ritornata la voglia di imparare a programmare e spero tanto di farcela!!
P.S. Spero in un tuo corso di informatica e prevalentemente su Python
Un abbraccio forte ❤️
1) il C è uno dei linguaggi con i costruttori più semplici. Certo, se imparare python per te significa fare due cicli e un if allora sì che è facile, ma ti sfido a dire che le meta classi, le coroutine, generatori, mro e garbage collector siano concetti da neofiti.
2) volete essere informatici o scrivere due programmini del ca**o? Perché sono due cose diverse (non per forza la seconda è da demonizzare, non tutti devono essere informatici).
3) ammesso e non concesso che non sia utilizzato in ambienti lavorativi (e non è proprio così), impararlo ti fornisce delle conoscenze riguardanti l'architettura dei calcolatori, gestione della memoria, cache ecc... che sono utilissime anche per chi usa python seriamente (tra l'altro moltissime librerie utilissime sono scritte in C).
4) la ricorsione si usa eccome, ovviamente dipende dal contesto, gli esercizietti fatti a scuola ovviamente servono solo per imparare.
Il problema in generale del tuo ragionamento è che dà troppa importanza al linguaggio e non ai concetti che si porta dietro, molto più importanti.
Concordo su tutti i punti
Occhio che stai mischiando il mondo della scuola con quello accademico: Parli di professori universitari che ti hanno dato consigli e poi ti rivolgi allo studente che per la prima volta inizia a mettere le mani sul codice. Alcune cconsiderazioni:
1)oggi si comincia con il nocode alle elementari se sei fortunato, altrimenti programmazione a blocchi (sketch e similari) alle medie, niente c o c++
2)al liceo si usa il qbasic o altri set molto più limitati per imparare sistemi e algoritmi, prima di passare a c e asm nelle scuole tecniche se proprio vogliono iniziare un approccio approfondito DOPO aver fatto tutta la teoria necessaria prima
3)a scuola non si impara a programmare, mai. Ed è giusto così, perchè come dici te la programmazione è uno strumento, non il fine. A scuola si impara l'informatica e come si impostano quei problemi che un giorno programmando dovranno risolvere
4)react? seriamente? Voglio proprio vedere un neofita impostare ad esempio docker.
5)che differenza c'è tra c++ e java (oltre l'astrazione) se di complicatezza stiamo parlando?
6)java e javascript nella stessa frase. Leva sto schifo di video dall'internet, per favore.
ehm non so cosa è successo ma io ho scritto il mio percorso di studi ed è stato cancellato il commento, comunque il mio percorso è andato bene i prof hanno modificato il percorso: hanno iniziato dalla programmazione visuale, non si sono soffermati sulle basi di C e mi hanno fatto provare emu8086 che però si deve fare per forza perciò ho sofferto poco, mi manca la parte grafica che ho fatto bene solo con i siti
e i virus non ne abbiamo proprio parlato
Confermo, ho iniziato ing Informatica dove non sapevo neanche cosa fosse un computer. Avevo un professore che dava tutto per scontato e con C ho sudato freddo , ci ho messo diverso tempo a impararlo e tipo 4 appelli per passare l’esame…ora comunque odio lo sviluppo hardware 😅 comunque non mi pento troppo di aver iniziato con C perché poi ha avuto i suoi benefici, però mi pento di non aver avuto un professore decente che lo spiegasse bene
Video molto interessante e che mi ha fatto riflettere.
Sia come insegnante d'informatica che come appassionato di programmazione sono sia d'accordo che in disaccordo :D
Iniziai a studiare il linguaggio C quando ero ancora ipovedente, poi ho ripreso lo studio dopo esser diventato non vedente.
Ricordo quanti casini con ambienti di sviluppo che non funzionano con gli screen reader come NVDA (leggono lo schermo e le parole al posto tuo mediante tTS [quello ad esempio dei navigatori satellitari]).
Notepad++ accessibilissimo (macro e regex sono fantastiche) mi ha permesso di scrivere HTML, CSS (ovviamente compreso meno per via della sua natura "estetica", anche se la parte strutturale è comunque presente e interessante) e infine JavaScript.
Poter toccare con mano delle piccole applicazioni utili anche solo per rendermi più facile il lavoro è stato ed è bellissimo.
Aver studiato il C fino a puntatori e un po' le strutture e un accenno di alberi e code, è stato comunque molto utile per comprendere meglio certi concetti.
La presenza di uno strumento come ChatGPT è davvero fantastico poi, però a patto di saperlo usare e saper discernere quando ti dice qualcosa di falso e "allucinato".
A me piace tantissimo PowerShell che consente tutta una serie di automazioni, permette tramite dll di interfacciarsi con Windows senza dover scrivere un applicazione da zero, davvero comodissimo, multi-piattaforma e Open source.
Mi permetto di consigliare la piattaforma w3schools che ho trovato davvero valida per HTML, CSS, JavaScript e PHP, spero sia altrettanto valida per Python.
Grazie per il video, è sempre bene ogni tanto fermarsi e riflettere su certi aspetti senza aver pregiudizi.
ma perche non ti dai al lisp ed emacs?
@@fiko2390 Ho provato tanti IDE/Editor avanzati, e code:blocks non funziona con NVDA, LCC funziona male, Sublime idem ho anche provato VIM che mi affascina tantissimo per via dell'uso "solo con le lettere", ma anche quello da problemi con NVDA.
Con Emacs ho avuto problemi nel trovare il File da scaricare.
Notepad++ offre ciò che mi serve veramente: macro, regex, apertura di File diversi in istanze diverse, ottime prestazioni, chiusura automatica dei tag quelle poche volte che li scrivo a mano (le macro sono enormemente più comode ed efficienti).
Vorrei provare una distro Linux, ma come sono le voci TTS rispetto a quelle Windows? Avrei bisogno di una persona vedente e competente per l'installazione.
Lisp non lo conoscevo, ma non comprendo minimamente l'utilità d'impararlo; magari potresti dare maggiori informazioni sui vantaggi nell'apprenderlo.
Grazie per le informazioni e buona giornata!
mmm hai detto quello che anche io condivido, io parlo da appassionato di videogames e conosco anche il mondo dello sviluppo dei videogames, precisiamo, quando si parla di linguaggio di sviluppo di alto livello e di basso livello bisogna capire la differenza, proverò a spiegarlo con i videogiochi, lavorare in alto livello vuol dire fare ottimi videogiochi ma lavorare su basso livello ti permette di fare qualsiasi cosa tu vuoi però richiede più tempo e chiaramente molto più lavoro, un esempio è il Team Ninja, sviluppatori che hanno creato titoli come Dead or Alive e Ninja Gaiden, loro lavoravano utilizzando il C++ insieme al linguaggio Assembler e Compiler, non lavoravano quindi tutto con un unico linguaggio, realizzando titoli in questo modo riuscivano ad utilizzare l'hardware nel modo migliore creando giochi che caricavano velocemente con una grafica ed un gameplay un passo avanti rispetto agli altri titoli, insomma per un pochino di generazioni producevano titoli molto avanzati rispetto alla concorrenza tanto che alcuni pensavano che i trailer che mostravano, come quello di Ninja Gaiden per la primissima XBOX, erano solo filmati non il gameplay, non il gioco vero e proprio, vennero smentiti poi all' uscita del videogioco.
Il consiglio che vale per qualsiasi programma, perché un videogioco è un software, è utilizzare un linguaggio ad alto livello per iniziare e se proprio dopo sentite l'esigenza di voler fare qualcosa di più imparare anche come utilizzare il linguaggio di basso livello.
Hai detto una grande verità , ho quasi pensato di abbandonare gli studi all'epoca. Concetti troppo pesanti per uno studente 16-17 anni