PROBLEMA Programmare nel mondo vero

Cheina

Nuovo Utente
34
2
Buongiorno a tutti.
È da un po che mi chiedo come funzioni la programmazione nel mondo reale.
Mi spiego meglio.
Vorrei imparare a scrivere vere e proprie applicazioni, mentre ora sono solo capace a scrivere script eseguibili nel terminale.
Il linguaggio che sto cercando di imparare attualmente è il phyton, unico problema è che non trovo materiale per andare oltre al semplice script.
Non so da dove incominciare per imparare a fare roba seria, qualcuno può darmi un consiglio?

Inviato da Redmi 4 tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 

icox

Utente Attivo
497
246
Dipende cosa vuoi realizzare, per che piattaforma, che requisiti deve avere, eventuali compatibilita' con sistemi/librerie gia' esistenti...
Diciamo che in generale puoi fare (quasi) qualsiasi cosa con qualsiasi linguaggio, ma se non vuoi complicarti inutilmente la vita e/o "reinventare la ruota" ogni volta ha piu' senso adottare strumenti pensati (e supportati) per certi scopi.

Il primo passo e' sviluppare solide basi che bene o male valgono per tutti i linguaggi; quindi conoscere i costrutti base, saper analizzare algoritmi e loro complessita', capire i pattern di progettazione/sviluppo, avere qualche conoscenza (almeno basilare) su reti e sistemi operativi ecc. A seconda poi di cosa devi realizzare dovrai approfondire uno o piu' argomenti.

Una volta che hai deciso cosa fare vediamo di darti una mano se possibile.

"Roba seria" potrebbe anche essere un script che implementa un'algoritmo cazzutissimo ma che gira solo nel terminale :asd:
 

1nd33d

Utente Attivo
653
279
CPU
Intel i5 3570K @ 4,5Ghz
Dissipatore
Scythe Mugen 2
Scheda Madre
Gigabyte Z77X-UD3H
HDD
Samsung 840 PRO 256GB + Sandisk Ultra 250GB + Sandisk Plus 960GB
RAM
2x8GB Crucial Ballistix Tactical @2000Mhz CL9
GPU
XFX RX480 GTR Black Edition
Audio
Auzentech X-Fi Forte
Monitor
AOC i2369VW
PSU
Seasonic P660
Case
eh?
Periferiche
Razer Naga HEX v2
OS
Windows 10 64bit - Linux Mint 18
E perchè uno script non sarebbe un programma? Spesso lo scripting è usato per implementare logiche anche piuttosto complesse in ambienti molto complessi, magari remoti, a cui si ha accesso solo attraverso terminale. Gran parte delle logiche nei server e nel cloud sono di fatto script o comunque programmi che lavorano senza output evidenti.
Forse tu intendi un programma con interfaccia grafica? In quel caso, anche con python, è sufficiente scegliersi una libreria grafica e usarla. Per esempio PyQt, PyGtk, Tkinter...
 
  • Mi piace
Reazioni: rodhellas

VidRam

Utente Èlite
1,880
342
CPU
AMD Ryzen 5 3500X
Dissipatore
DeepCool Gammaxx 400V2 Blue Ed.
Scheda Madre
Gigabyte b550 DS3H rev 1.0
HDD
NVME Intel 600p 512GB
RAM
2x8GB DDR4 Crucial Ballistix èlite 3200mhz
GPU
Nvidia Geforce RTX 2060 6GB Manli
Audio
Asus Xonar AE
Monitor
AOC G2460V 75hz 1ms + Benq FP 17"
PSU
Evga 500w 80plus white
Case
Golden Field P3
Periferiche
Logitech G413 Red Carbon/ Mionix Avior 7000 / Sennheiser GSP350.
Net
Fibra in rame 100 mb\s
OS
Windows 10 Pro 64bit
Buongiorno a tutti.
È da un po che mi chiedo come funzioni la programmazione nel mondo reale.
Mi spiego meglio.
Vorrei imparare a scrivere vere e proprie applicazioni, mentre ora sono solo capace a scrivere script eseguibili nel terminale.
Il linguaggio che sto cercando di imparare attualmente è il phyton, unico problema è che non trovo materiale per andare oltre al semplice script.
Non so da dove incominciare per imparare a fare roba seria, qualcuno può darmi un consiglio?

Inviato da Redmi 4 tramite App ufficiale di Tom\\\'s Hardware Italia Forum
Se ti può interessare posso passarti un botto di materiale didattico di linguaggio C,C++ e C#.
Per python non so dirti, per JAVA beh..
"Il linguaggio JAVA di Arnold e Gosling"
 

Hobet

Utente Attivo
609
222
CPU
i5 6600k
Dissipatore
AIO H100
Scheda Madre
ASUS z170 Deluxe
HDD
1 WD Blue 1 TB; evo 850 500gb
RAM
Vengeance 4x4
GPU
GTX 1070ti MSI
Audio
Nope
Monitor
MG278Q
Case
750D Corsair
Net
Fastweb 200/30
OS
PucyBuntu
Buongiorno a tutti.
È da un po che mi chiedo come funzioni la programmazione nel mondo reale.
Mi spiego meglio.
Vorrei imparare a scrivere vere e proprie applicazioni, mentre ora sono solo capace a scrivere script eseguibili nel terminale.
Il linguaggio che sto cercando di imparare attualmente è il phyton, unico problema è che non trovo materiale per andare oltre al semplice script.
Non so da dove incominciare per imparare a fare roba seria, qualcuno può darmi un consiglio?

Inviato da Redmi 4 tramite App ufficiale di Tom\\\'s Hardware Italia Forum

Se mi dici in quale ambiente vorresti specializzarti ti potrei dare delle dritte.
 

Cheina

Nuovo Utente
34
2
Se ti può interessare posso passarti un botto di materiale didattico di linguaggio C,C++ e C#.
Per python non so dirti, per JAVA beh..
"Il linguaggio JAVA di Arnold e Gosling"
Grazie, scusa se rispondo solo ora.
Saresti gentilissimo se mi potessi inoltrare il materiale.
Per quel che riguarda il titolo da te consigliato, che argomenti tratta?


Inviato da Redmi 4 tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 

Cheina

Nuovo Utente
34
2
Se mi dici in quale ambiente vorresti specializzarti ti potrei dare delle dritte.
In realtà vorrei imparare un po di tutto al momento, dato che nella mia cartella universitaria molto verrà tralasciato.
Quel che più mi interessa è imparare a usare bene gli strumenti più richiesti nel mondo del lavoro che non vengono trattati nelle università, per poter essere competitivo il giorno in cui dovrò trovare lavoro.
E poi c'è una parte di sfizio personale che mi porta sempre a voler sapere tutto di tutto, ma quella è una malattia incurabile

Inviato da Redmi 4 tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 

Hobet

Utente Attivo
609
222
CPU
i5 6600k
Dissipatore
AIO H100
Scheda Madre
ASUS z170 Deluxe
HDD
1 WD Blue 1 TB; evo 850 500gb
RAM
Vengeance 4x4
GPU
GTX 1070ti MSI
Audio
Nope
Monitor
MG278Q
Case
750D Corsair
Net
Fastweb 200/30
OS
PucyBuntu
In realtà vorrei imparare un po di tutto al momento, dato che nella mia cartella universitaria molto verrà tralasciato.
Quel che più mi interessa è imparare a usare bene gli strumenti più richiesti nel mondo del lavoro che non vengono trattati nelle università, per poter essere competitivo il giorno in cui dovrò trovare lavoro.
E poi c'è una parte di sfizio personale che mi porta sempre a voler sapere tutto di tutto, ma quella è una malattia incurabile

Inviato da Redmi 4 tramite App ufficiale di Tom\\\'s Hardware Italia Forum

Raramente servirà un programmatore che sappia fare "un pò di tutto" secondo il mio modesto parere ti dovresti specializzare in qualche ambito specifico e farti valere in quell'ambito, solo cosi farai carriera il fare un pò di tutto non ti porterà a niente, ti consiglio di farti un pò di mente locale e decidere veramente cosa vuoi fare. Python è un linguaggio cosi come l'italiano ma non vuol dire che da oggi a domani solo perchè so l'italiano posso scrivere poesie e il giorno dopo trattati di pace solo perchè voglio saper fare un pò di tutto. :look:

In ambito lavorativo è fondamentale la pianificazione e tu in questo momento devi pianificare su cosa ti vuoi specializzare, cosi come ho detto python è solo un linguaggio ma se non hai niente da scrivere che ci fai oltre alle solite liste ed HELLO WORLD? omettendo il fatto che tu abbia già studiato le liste e provato a programmare svariati sort solo per il gusto di fare.
 
  • Mi piace
Reazioni: rodhellas

Cheina

Nuovo Utente
34
2
Raramente servirà un programmatore che sappia fare "un pò di tutto" secondo il mio modesto parere ti dovresti specializzare in qualche ambito specifico e farti valere in quell'ambito, solo cosi farai carriera il fare un pò di tutto non ti porterà a niente, ti consiglio di farti un pò di mente locale e decidere veramente cosa vuoi fare. Python è un linguaggio cosi come l'italiano ma non vuol dire che da oggi a domani solo perchè so l'italiano posso scrivere poesie e il giorno dopo trattati di pace solo perchè voglio saper fare un pò di tutto. :look:

In ambito lavorativo è fondamentale la pianificazione e tu in questo momento devi pianificare su cosa ti vuoi specializzare, cosi come ho detto python è solo un linguaggio ma se non hai niente da scrivere che ci fai oltre alle solite liste ed HELLO WORLD? omettendo il fatto che tu abbia già studiato le liste e provato a programmare svariati sort solo per il gusto di fare.
Capisco, però leggendo annunci di lavoro in vari settori viene quasi sempre richiesta la conoscenza di molti linguaggi(PHP, java, javascript, c, c++, c#).
Detto ciò secondo voi in quale conviene di più specializzarsi? A quanto ho letto e sentito, conoscere bene un linguaggio equivale a conoscerli tutti, che ne pensate?

Inviato da Redmi 4 tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 

1nd33d

Utente Attivo
653
279
CPU
Intel i5 3570K @ 4,5Ghz
Dissipatore
Scythe Mugen 2
Scheda Madre
Gigabyte Z77X-UD3H
HDD
Samsung 840 PRO 256GB + Sandisk Ultra 250GB + Sandisk Plus 960GB
RAM
2x8GB Crucial Ballistix Tactical @2000Mhz CL9
GPU
XFX RX480 GTR Black Edition
Audio
Auzentech X-Fi Forte
Monitor
AOC i2369VW
PSU
Seasonic P660
Case
eh?
Periferiche
Razer Naga HEX v2
OS
Windows 10 64bit - Linux Mint 18
Essere bravissimo a programmare di per se non ti favorisce poi così tanto e gli annunci di lavoro sono tra le cose più oscene che possano esistere.
Il programmatore programma, l'informatico fa anche tante altre cose.
Attualmente alle aziende (quelle serie, che sono anche quelle che pagano decentemente) servono bravi informatici, che conoscano le aree di applicazione e che abbiano competenze trasversali da spendere per migliorare i processi interni. Oppure informatici che abbiano competenze specifiche non tanto nei linguaggi quanto in determinati argomenti (per esempio machine learning per data analysis e business intelligence, computer vision in ambito industriale, data warehousing...). In questi casi si riesce anche a fare un po' di carriera e riempire il curriculum di soft skill e altre competenze, così che puoi rivenderti facilmente ad altre aziende per ruoli analoghi o superiori (le più grandi opportunità di carriera provengono dai cambi di lavoro).
I programmatori "puri", bravi o scarsi che siano, molto spesso finiscono nelle società di consulenza o in agenzie interinali e vengono piazzati a lavorare in altre aziende per qualche mese come esterni e hanno meno possibilità di carriera, a meno che non si riesca a entrare nel giro giusto di clienti. Sono figure indispensabili ma spesso e volentieri trattate peggio (dal punto di vista della retribuzione e stabilità del lavoro).
A quanto ho letto e sentito, conoscere bene un linguaggio equivale a conoscerli tutti, che ne pensate?
Non esattamente, più che conoscere bene un linguaggio, è importante saper programmare bene.

Più che specializzarti in un linguaggio, specializzati in qualche argomento e per quegli argomenti impara gli strumenti più adatti.
Reti? Database? Machine learning? Statistica? Web design? devi solo scegliere.
Per quanto riguarda i linguaggi, giusto per non fare figure barbine, assicurati di conoscere a livelli decenti il Java e il C, più un paio di linguaggi a scelta, tipo Python, C#, PHP, Javascript... non serve essere superbravi.
 

Hobet

Utente Attivo
609
222
CPU
i5 6600k
Dissipatore
AIO H100
Scheda Madre
ASUS z170 Deluxe
HDD
1 WD Blue 1 TB; evo 850 500gb
RAM
Vengeance 4x4
GPU
GTX 1070ti MSI
Audio
Nope
Monitor
MG278Q
Case
750D Corsair
Net
Fastweb 200/30
OS
PucyBuntu
Essere bravissimo a programmare di per se non ti favorisce poi così tanto e gli annunci di lavoro sono tra le cose più oscene che possano esistere.
Il programmatore programma, l'informatico fa anche tante altre cose.
Attualmente alle aziende (quelle serie, che sono anche quelle che pagano decentemente) servono bravi informatici, che conoscano le aree di applicazione e che abbiano competenze trasversali da spendere per migliorare i processi interni. Oppure informatici che abbiano competenze specifiche non tanto nei linguaggi quanto in determinati argomenti (per esempio machine learning per data analysis e business intelligence, computer vision in ambito industriale, data warehousing...). In questi casi si riesce anche a fare un po' di carriera e riempire il curriculum di soft skill e altre competenze, così che puoi rivenderti facilmente ad altre aziende per ruoli analoghi o superiori (le più grandi opportunità di carriera provengono dai cambi di lavoro).
I programmatori "puri", bravi o scarsi che siano, molto spesso finiscono nelle società di consulenza o in agenzie interinali e vengono piazzati a lavorare in altre aziende per qualche mese come esterni e hanno meno possibilità di carriera, a meno che non si riesca a entrare nel giro giusto di clienti. Sono figure indispensabili ma spesso e volentieri trattate peggio (dal punto di vista della retribuzione e stabilità del lavoro).

Non esattamente, più che conoscere bene un linguaggio, è importante saper programmare bene.

Più che specializzarti in un linguaggio, specializzati in qualche argomento e per quegli argomenti impara gli strumenti più adatti.
Reti? Database? Machine learning? Statistica? Web design? devi solo scegliere.
Per quanto riguarda i linguaggi, giusto per non fare figure barbine, assicurati di conoscere a livelli decenti il Java e il C, più un paio di linguaggi a scelta, tipo Python, C#, PHP, Javascript... non serve essere superbravi.

Ti ripeto conoscere un linguaggio è inutile se non sai cosa scriverci, riguardo al detto se ne sai uno li sai tutti è rifatto appositamente a questo argomento. Il fatto che essendo solo un linguaggio lo si impara subito, tutti i linguaggi sono uguali, se sai il C/C++ li sai tutti, quello che magari non sai è il pattern design o paradigma e si parla di altro ora. Se un azienda ha bisogno di un network developer che senso ha che tu sappia fare anche game devs?. Quando un azienda cerca un ruolo, vuole il dipendente per quell esatto ruolo non esiste la fantasia a lavoro, sei pagato per fare quello per cui sei assunto non altro, tristemente. Poche sono le aziende che possono permettersi il comportamento delle BIG Tech verso i dipendenti.
 

1nd33d

Utente Attivo
653
279
CPU
Intel i5 3570K @ 4,5Ghz
Dissipatore
Scythe Mugen 2
Scheda Madre
Gigabyte Z77X-UD3H
HDD
Samsung 840 PRO 256GB + Sandisk Ultra 250GB + Sandisk Plus 960GB
RAM
2x8GB Crucial Ballistix Tactical @2000Mhz CL9
GPU
XFX RX480 GTR Black Edition
Audio
Auzentech X-Fi Forte
Monitor
AOC i2369VW
PSU
Seasonic P660
Case
eh?
Periferiche
Razer Naga HEX v2
OS
Windows 10 64bit - Linux Mint 18
Ti ripeto conoscere un linguaggio è inutile se non sai cosa scriverci, riguardo al detto se ne sai uno li sai tutti è rifatto appositamente a questo argomento. Il fatto che essendo solo un linguaggio lo si impara subito, tutti i linguaggi sono uguali, se sai il C/C++ li sai tutti, quello che magari non sai è il pattern design o paradigma e si parla di altro ora. Se un azienda ha bisogno di un network developer che senso ha che tu sappia fare anche game devs?. Quando un azienda cerca un ruolo, vuole il dipendente per quell esatto ruolo non esiste la fantasia a lavoro, sei pagato per fare quello per cui sei assunto non altro, tristemente. Poche sono le aziende che possono permettersi il comportamento delle BIG Tech verso i dipendenti.
Non ho capito cosa dovresti ripetermi :D
Comunque parlo solo per esperienza personale, lavoro (ed è il mio primo lavoro dopo la laurea) in una azienda di medio-grandi dimensioni nel settore dell'elettronica industriale, quindi non strettamente informatica. Lavoro in un team dove vi sono molti programmatori stagisti/interinali: sono giovani e sono bravi e programmano bene (probabilmente meglio di me). I programmatori spesso non li assumono ma li prendono "in prestito" dalle agenzie per il tempo che servono.
Io invece sono stato assunto direttamente, programmo, ma possiedo anche altre competenze (data analysis e machine learning studiata all'università, nozioni di computer vision, image processing...) ed è proprio per la mia polivalenza che sono stato preso (reparto R&D). Ho una discreta libertà operativa, nonchè condizioni contrattuali buone (ho saltato gli odiosi stage + apprendistato di 3 anni). Se non avessi avuto certe competenze, sono sicuro al 100% che sarei finito in qualche azienda di consulenza "body renting" in apprendistato o stage (come la stragrande maggioranza dei miei compagni di corso) con incerte opportunità future, e stavo pure per accettare una di queste...

Quello che dico, che poi non mi sembra nemmeno tanto diverso dal tuo pensiero, è che più che i linguaggi, conviene imparare modi intelligenti e utili per applicarli. Puoi imparare a programmare con un linguaggio a scelta, poi impari i linguaggi che ti servono man mano che affronti nuove problematiche (vi sono alcuni linguaggi che comunque andrebbero sempre conosciuti prima di cercare lavoro, come il Java e il C, tipicamente affrontati nel percorso di studi).
E' vero che le aziende che assumono informatici "creativi" (chiamiamoli così) sono poche e sono per lo più quelle grandi, ma avendone la possibilità, è a queste che bisognerebbe puntare... di programmatori ce ne sono, anche troppi... bisogna distinguersi.
 
Ultima modifica:

Hobet

Utente Attivo
609
222
CPU
i5 6600k
Dissipatore
AIO H100
Scheda Madre
ASUS z170 Deluxe
HDD
1 WD Blue 1 TB; evo 850 500gb
RAM
Vengeance 4x4
GPU
GTX 1070ti MSI
Audio
Nope
Monitor
MG278Q
Case
750D Corsair
Net
Fastweb 200/30
OS
PucyBuntu
Non ho capito cosa dovresti ripetermi :D
Comunque parlo solo per esperienza personale, lavoro (ed è il mio primo lavoro dopo la laurea) in una azienda di medio-grandi dimensioni nel settore dell'elettronica industriale, quindi non strettamente informatica. Lavoro in un team dove vi sono molti programmatori stagisti/interinali: sono giovani e sono bravi e programmano bene (probabilmente meglio di me). I programmatori spesso non li assumono ma li prendono "in prestito" dalle agenzie per il tempo che servono.
Io invece sono stato assunto direttamente, programmo, ma possiedo anche altre competenze (data analysis e machine learning studiata all'università, nozioni di computer vision, image processing...) ed è proprio per la mia polivalenza che sono stato preso (reparto R&D). Ho una discreta libertà operativa, nonchè condizioni contrattuali buone (ho saltato gli odiosi stage + apprendistato di 3 anni). Se non avessi avuto certe competenze, sono sicuro al 100% che sarei finito in qualche azienda di consulenza "body renting" in apprendistato o stage (come la stragrande maggioranza dei miei compagni di corso) con incerte opportunità future, e stavo pure per accettare una di queste...

Quello che dico, che poi non mi sembra nemmeno tanto diverso dal tuo pensiero, è che più che i linguaggi, conviene imparare modi intelligenti e utili per applicarli. Puoi imparare a programmare con un linguaggio a scelta, poi impari i linguaggi che ti servono man mano che affronti nuove problematiche (vi sono alcuni linguaggi che comunque andrebbero sempre conosciuti prima di cercare lavoro, come il Java e il C, tipicamente affrontati nel percorso di studi).
E' vero che le aziende che assumono informatici "creativi" (chiamiamoli così) sono poche e sono per lo più quelle grandi, ma avendone la possibilità, è a queste che bisognerebbe puntare... di programmatori ce ne sono, anche troppi... bisogna distinguersi.

Ho citato male non era per te il quote. Comunque ora cito questo:

di programmatori ce ne sono, anche troppi...

Saper programmare non vuol dire essere programmatori, cosi come saper scrivere non significa essere scrittori. Molti pensano di essere programmatori ma relativamente sono coder, se sanno bene il linguaggio da loro utilizzato, ecco da dove nasce il termine guru nei linguaggi di programmazione.
Es: C guru, C++ guru, Java guru

Una persona che sa programmare perfettamente in quel linguaggio, ma non è un programmatore è un coder.

Se vi interessa comunque vi posto un metodo per diventare C++ guru in 21 giorni e fare carriera funziona. :asd:
 
Ultima modifica:

Cheina

Nuovo Utente
34
2
Ho citato male non era per te il quote. Comunque ora cito questo:



Saper programmare non vuol dire essere programmatori, cosi come saper scrivere non significa essere scrittori. Molti pensano di essere programmatori ma relativamente sono coder, se sanno bene il linguaggio da loro utilizzato, ecco da dove nasce il termine guru nei linguaggi di programmazione.
Es: C guru, C++ guru, Java guru

Una persona che sa programmare perfettamente in quel linguaggio, ma non è un programmatore è un coder.

Se vi interessa comunque vi posto un metodo per diventare C++ guru in 21 giorni e fare carriera funziona. :asd:
Posta posta

Inviato da Redmi 4 tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili