Come approccerei l'informatica oggi se avessi 18 anni
HTML-код
- Опубликовано: 28 авг 2024
- Clip estratta dalla Live "Software Development at Google (Part 3)": • RIP Edu - Software Dev...
Mr. RIP resources:
● Telegram: mr.rip/t
● RUclips: mr.rip/yt
● Twitch: mr.rip/tw
● Twitter: mr.rip/twitter
● Instagram: mr.rip/ig
● Facebook: mr.rip/fb
● Podcast: mr.rip/podcast
● Blog: mr.rip
● Discord: mr.rip/discord
● Docs: mr.rip/rip-files
● Reddit: / mrrip
● Amazon (affiliate): mr.rip/amazon
● Interactive Brokers (affiliate): mr.rip/ib-yt
● Finpension & Valuepension Referral code (affiliate): MRIPI6
● Support the channel on Ko-fi: ko-fi.com/reti...
Tags: #Google #SoftwareDevelopment #SoftwareEngineering #CareerDevelopment
Il C. Una volta che impari quello, qualsiasi nuovo linguaggio di programmazione ti sembrerà irrilevante e impari ad usarlo nel giro di qualche giorno
beh oddio... sicuramente per quanto riguarda la programmazione procedurale, ma non avendo mai a che fare con la programmazione ad oggetti diventa complesso approcciarsi a quest'ultima. Per non parlare poi di programmazione funzionale e logica, dove cambia drasticamente il modo di risolvere problemi.
Vero che imparando il c, almeno dal lato procedurale, risolvi tutti i problemi. Peccato che se ad un neo programmatore vengono sottoposti puntatori, malloc, ecc. è molto probabile che si demoralizzi e cambi(come successo tante volte).
Vale anche per il c++ ?
Un video con questo titolo, e da parte tua, non può che diventare virale👏🏼🔝
Il C, credetemi, e lo dico da persona che si è approcciata a 16 anni alla programmazione iniziando con il C e con L'assembly: è stata la miglior scelta della mia vita (nell'ambito della programmazione).
Poi, una volta studiati quelli in modo approfondito, passare al resto è molto molto semplice.
studiare l’architettura, studiare i sistemi operativi, capire l’assembly, imparare C, imparare python, studiare le reti.
Vorrei rispondere al ragazzo dando qualche dettaglio in più:
Io personalmente non consiglierei di focalizzarti su un linguaggio, nel senso ci sta C++ ma ci sta C++ come ci sta python, javascript o Go, il punto.è che non devi vedere i linguaggi come fine ultimo, ma come mezzo quindi in una analogia gli attrezzi dentro la cassetta sono i linguaggi, ma quindi cosa imparare?
sicuramente il C++ è un inizio obbligatorio, per poi passare a qualcosa di più astratto e di alto livello, ma al di là del campo di applicazione, consiglio le strategie di applicazione, che sono valide per ogni linguaggio.
Traduco in: studiare i principali pattern di architettura software, tutto ciò che comprenda astrazione software e architettura software, e cosa non meno importante, non sai nessun linguaggio se non produci test automatici per quel linguaggio. Finché non lavori non te ne rendi conto, ma se programmi qualcosa, senza produrre i test, non stai lavorando, sei un hobbista
Attualmente stiamo studiando linguaggio C (triennale di ingegneria informatica a Roma3) è un linguaggio non troppo comodo ma che secondo il professore è il migliore per iniziare, soprattutto perché secondo lui un eventuale passaggio ad un altro linguaggio sarebbe più agevolato e risulterebbe più facile.
Guardo sempre i tuoi video e sono molto utili e interessanti, è bello sentire l’opinione e apprendere l’esperienza di una persona che è nel campo da molti anni.
Grazie Mr.rip
Secondo non e' vero che e' piu' facile passare ad un altro linguaggio semplicemente e' propedeutico a sistemi operativi
Ho fatto anche io la triennale di ing. informatica a Roma Tre e abbiamo studiato come primo linguaggio il C. Ti posso assicurare, dopo qualche anno di esperienza, che ciò che dice il prof è vero. Ovviamente poi dipende sempre dalla persona, da quanto ti piace programmare, quanto sei elastico mentalmente ed da altre mille cose, ma iniziare a programmare in C ti obbliga a dover studiare e implementare le strutture dati fondamentali, ad usare i puntatori e in generale a lavorare abbastanza a basso livello, pur usando un linguaggio ad alto livello. Se conosci C e Java (e i tecnicismi dei relativi paradigmi), secondo me imparare un altro linguaggio significa solo imparare una nuova sintassi. Gli unici problemi che potresti avere sono con la programmazione funzionale, ma li si cambia proprio il modo di pensare ed approcciare la programmazione.
Secondo stackoverflow python è il linguaggio più usato al mondo. Io essendo un pragmatico sceglierei quello che mi da più opportunità di lavoro. quindi python, java, javascript
Javascript può avere mille difetti (in parte gestiti da typescript) ma penso sia un valido linguaggio da tenere in considerazione quando si sceglie "quello da perfezionare", se non altro perché ha una diffusione enorme e il monopolio di un intero settore (sviluppo fe)
ma anche back, fosse per me riscriverei tutto il backend dei miei progetti in node e fanculo c#, php e cgi.
un linguaggio, javascript, sia front che back.
un sogno che si realizza.
Più che altro consiglia C++ perchè mette al primo posto gli algoritmi. Per far funzionare in modo efficiente un algoritmo è meglio usare un linguaggio più vicino all'hardware (soprattutto per capirlo bene)
@@DragoSpiro98 a livello didattico penso che per certi versi sia meglio il contrario: capire bene un algoritmo (per me) significa ignorare tutto ciò che non lo riguarda (tra cui i dettagli delle implementazioni pratiche) per isolare il concetto generale, e per questo un linguaggio pieno di opzioni può essere più deleterio che altro. Se poi si vuole ottimizzare a livello di hardware ovviamente non si scampa da certi linguaggi, ma sono due percorsi di apprendimento paralleli
@@latramanascosta249 No al contrario, per capire il funzionamento di un algoritmo devi capire cosa fa esattamente il computer, come viene gestita la memoria ecc... Se non sai cosa effettivamente è una lista e cosa succede quando viene aggiunto un elemento alla lista (è un esempio), non puoi capire l'algoritmo e soprattutto non puoi essere sicuro della sua complessità (temporale e spaziale)
come mai nei testi di algoritmi non si parla praticamente mai dell'hardware sottostante?
Ciao rip,
ti seguo da un pò , ma mi viene da farti una domanda. Come mai non c'è un video in cui insegni qualcosa di codice? Come mai sono sempre e solo video discorsivi?
@@mr_rip quali sono?
Ripropongo qui una domanda interessante che qualcuno ha fatto sulla chat nel video ma non è stata trattata: cosa ne pensate della Scuola 42 Born to code per imparare a programmare? So che prevede un core curriculum di progetti in C e la possibilitaà di sviluppare altri progetti in altri linguaggi a piacere.
Penso sia la quarta volta che rivedo questo video. Non invecchia mai❤
Condivido abbastanza, io per motivi generazionali ho iniziato con C è assembly x86. Il problema è che oggi qualsiasi applicazione minimamente seria è multilinguaggio, che sia una web app o una roba stand-alone finisci per dover conoscere toolset multipli e quello che ci vuole veramente è il tempo, quello per approfondire il tutto a un livello decente includendo i fondamenti, che esulano da linguaggi e tool. E poi occorre concentrarsi su un dominio applicativo specifico, se no si imparano a fare solo scatole vuote, magari belle a vedersi, ma vuote.
Meglio indicare anche che c++.
Nice tips, come sempre!
Approccio ingegneristico ovviamente :D C'e' anche l'approccio opposto astrarre l'hardware e costruire astrazioni come in Structure and Interpretation of computer programs.
risorse online (a pagamento e non) per approcciarsi da autodidatta alla programmazione?
Nel dubbio vai all'uni
"NoN sErVe l'uNI oRa goOGle AsSuMe AnChE SeNzA lAuReA, iO hO FaTto uN coRsO E sO pIu CoSe dEi lAurEatI GnEgNge !!!111"
2:48 secondo me è quello che hai detto è falso. Un vero programmatore, secondo me, è colui che capisce un minimo di analisi temporale degli algoritmi. Che senso avrebbe saper fare manipolazione bit a bit se poi realizzi un algoritmo che impiega T(n²) per calcolarlo quando in realtà è realizzabile con un tempo addirittura minore?
@@mr_rip 😂
F per le proteine dissociate
Nel dubbio inizio da Fortran
Ho iniziato a scuola con il c++ e l'ho odiavo rispetto a per esempio Java, son passati 3anni e voglio studiare il c kernel level per AV EDR evasion che mi attira moltissimo, non mi piacciono i video giochi ma penso che per iniziare ad apprrociarlo fare un po' di game hacking base ,tra tutti gli altri linguaggi che ho toccato con mano ho trovato carino go
E se ne avessi 24?
Come ti approcceresti invece alla cyber security e come sceglieresti le fonti?
How I would learn to code (if I could start over):
ruclips.net/video/MHPGeQD8TvI/видео.html
ma i linguaggi sotto sotto so tutti uguali con sintassi diversa, la vera curva di apprendimento è la valanga di documentazione di librerie e framework
hey, ma aspetta...io ho 18 anni! (quasi)
Io sono abbastanza in fissa con golang e C++
"C" per cominciare, ma chissà se esiste ancora il Kernighan-Ritchie :)
Ma tutto questo passando sempre da un percorso di studi universitari? Questo è il mio dilemma più grande, a 21 anni seguire dei corsi e imparare i linguaggi o iniziare un percorso in ingegneria informatica?
uno non esclude l'altro, anzi.
il fatto è che dovrai comunque studiare per sempre, non è che se ti laurei in ingegneria sei arrivato in questo settore.
@@DanieleCannova Assolutamente vero, però non vorrei intraprendere una laurea per entrare in questo mondo e poi trovarmi bloccato per più di 3 anni(parlo per esperienze di persone a me vicine) per colpa di un sistema non esattamente al passo con i tempi. Sicuramente bisogna studiare, ma cercando di non sprecare tempo prezioso. Sbaglio?
L'università ha un senso, ma se riesci a starci nei tempi.
Hai "già" 21 anni, se entri ora per fare i 5 anni e consideri 1/2 anni fuori corso (ipotesi) rischi di arrivare nel mondo del lavoro all'alba dei 28 anni, cioè abbastanza tardi.
Fossi in te, gli stessi anni li "investirei" all'estero, o per lavorare direttamente o anche solamente per studiare, almeno a parità di tempo speso ti ritroverai con una lingua in più (l'inglese è fondamentale) e tante possibili porte aperte.
@@VincenzoPetronio Vero, ottimo consiglio.
@@VincenzoPetronio Ecco intendevo questo, grazie del consiglio. Per lavorare direttamente cosa intendi? Entrare in qualche azienda che offre la formazione per poi essere inserito direttamente?
Andate all'Università.
Infatti al poli di Torino una materia d'indirizzo era proprio algoritmi e programmazione avanzata, ci hanno fatto spremere il linguaggio C fino all'osso proprio per le stesse motivazioni che davi tu 💪
Pensa che ora l'hanno cambiata con due corsi: "tecniche di programmazione" e "algoritmi e strutture dati", penso che di base alla fine sia lo stesso (anche perché i prof quelli sono) ma poterlo dividere su due semestri per due esami un po' più piccoli credo che sia decisamente meglio (poi non lo so con precisione perché io ho fatto ancora APA ahah)
@@abzaz0023 ah un collega! 👋
ciao, Elia, sarebbe molto interessante sapere cosa si studiava in questo corso. Attualmente io frequento l'Università di Salerno, e abbiamo fatto Programmazione Strutture Dati dopo Programmazione 1 in C per passare poi alla programmazione OO. Mi chiedevo cosa studiaste voi oltre alle strutture dati!
Il nostro corso di PSD prevede lo studio di vari ADT di contenimento dati, qualche algoritmo di sorting, nozioni sulla O e la complessità, è stato un corso stupendo e vorrei approfondirlo con qualcosa, ecco perchè chiedevo!
@@leopoldotodisco5439 ciao! Guarda ti posso dire quello che era il corso 3/4 anni fa, ora è cambiato...si diciamo che assomiglia non poco al tuo PSD, allocazione dinamica, algoritmi di sorting e complessità, e ricorsione principalmente... c'era molta teoria e molta programmazione, considera che era 12 crediti in un semestre 😳
@@eliabonfardeci2604 Grazie Mille Elia! Ho notato, in realtà, che le nostre università hanno molte analogie! Spero che post Laurea si riveli una buona decisione!
C/c++ e magari applicando qualcosa su arduino
Io ho 18 anni, da un lato mi affascina il mondo del coding ma dall'altro so già che all'università farò ingegneria gestionale e spero di specializzarmi in qualcosa collegato al management/ gestione della produzione. Credete che imparare un linguaggio per me sia un po' tempo "sprecato" o che potrà essermi comunque utile per il percorso che mi auguro di fare?
Oh poi magari capita che finita la triennale mi specializzo in una branca di ingegneria gestionale collegata all'informatica e da lì cambia tutto è chiaro, nella vita non si può mai sapere
A Polito c'è ingegneria gestionale indirizzo informatico (corso molto figo tra l'altro) :)
E poi secondo me al giorno d'oggi sapere scrivere codice anche base è l'equivalente di saper leggere quindi sicuro sarà apprezzato e utile :)
Inoltre (sempre Polito) il corso di informatica e C è obbligatorio per tutte le specializzazioni in ingegneria, un motivo ci sarà...
Se ritieni che la programmazione ti possa appassionare, difficilmente sara' tempo "sprecato". Prova, se poi vedi che proprio non fa per te avrai comunque allargato un po' i tuoi orizzonti. Inoltre, pur non essendo l'ingegneria gestionale il mio campo, so che e' pieno di automation tools che permettono di scrivere scripts per ottenere risultati non facilmente ottenibili attraverso la sola interfaccia grafica. Oppure chissa', magari sarai tu a srivere il prossimo software che rivoluzionera' il settore ;) Rispetto a quanto detto da MrRIP nel tuo caso magari eviterei di iniziare con un liguaggio low level come C/C++ ma piuttosto proprio con il Pyton menzionato all'inizio, che nello scripting la fa (credo) ancora da padrone.
@@MrSuperpitx non è più in C il corso di informatica ma in python..
Impara le basi di Python, tanto per saper programmare qualcosa, è sempre utile. Inoltre, secondo me, una persona non deve chiudersi le porte solo perché sceglie un altro percorso di studio/lavorativo, se decido di studiare giurisprudenza ma mi interessa il mondo dello sviluppo web (è un esempio) perché non dovrei assecondare questo mio interesse? Oltre al lavoro ci sono pure passioni, hobby ecc...