UFFICIALE Imparare a Programmare

Andretti60

Utente Èlite
6,440
5,091
Oh per bacco, 1994! Sempre attuale?
Sempre attuale. Mancano ovviamente gli ultimi aggiornamenti tipo C99, ma il nucleo del linguaggio e' sempre quello.
Se sei interessato sapere perche' una variabile dichiarata char* in un file e la stessa dichiarata extern char[] in un altro non funziona, e' il libro per te. Impagabili gli ultimi capitoli, che mostrano le domande fatte durante i colloqui di lavoro (veramente il non plus ultra degli esercizi di programmazione)
L'autore ha scritto il compilatore del linguaggio C per (la allora) Sun Microsystem
 
  • Mi piace
Reazioni: nostyn e Mursey

nostyn

Nuovo Utente
5
0
Se sei interessato sapere perche' una variabile dichiarata char* in un file e la stessa dichiarata extern char[] in un altro non funziona, e' il libro per te. Impagabili gli ultimi capitoli, che mostrano le domande fatte durante i colloqui di lavoro (veramente il non plus ultra degli esercizi di programmazione)
Molto interessante, allora sicuramente gli daro' un occhiata! Per quanto riguarda il C++, testi completi da consigliare in lingua Italiana?
 
U

Utente 125751

Ospite
Molto interessante, allora sicuramente gli daro' un occhiata! Per quanto riguarda il C++, testi completi da consigliare in lingua Italiana?

Andare sui libri in italiano non è una cosa ideale.
Se proprio vuoi c'è: Pensare in C++ , che è la traduzione libro "Thinking in C++" di Bruce Eckel.
 

Marco Galassi

Nuovo Utente
141
6
Non sò programmare e vorrei imparare un linguaggio di alto livello per mia passione.
Sono appassionato di informatica e preferirei acquistare un libro di Python valido e consigliato con esercizi.
Ci sono anche manuali in rete, ma sono non recenti e non sono specifici come un libro: sono molto sintetici, spiegano bene la teoria, ma non sono pragmatico non avendo un manuale completo.
Grazie.
 

BAT

Moderatore
Staff Forum
Utente Èlite
22,923
11,563
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
Il test che usano a Roma "La Sapienza" a Ingegneria Informatica è
Concetti di informatica e fondamenti di Python
non è richiesto nessun prerequisito particolare né conoscenza pregressa,
l'ho avuto a disposizione per qualche giorno, è dettagliatissimo (pure troppo!) e include una marea di esercizi
 

fabio93

Utente Attivo
609
173
CPU
AMD Ryzen 5 2400G
Dissipatore
Arctic Alpine64 Plus
Scheda Madre
Gigabyte GA-AX370-Gaming 3
HDD
Crucial MX500 250 GB, Crucial BX500 240 GB
RAM
G.Skill F4-3200C14D-16GFX FlareX 16 GB
Monitor
HP 2010i
PSU
Corsair TX550M
Case
Sharkoon M25-W
Periferiche
Magicforce 68, Logitech G203
OS
Windows 10 Pro, Fedora 31
@nostyn Per quanto riguarda la conoscenza delle strutture dati e degli algoritmi, che è fondamentale, potresti iniziare con questo libro, in italiano:
Su YouTube trovi anche le lezioni dell'intero corso di Algoritmi e Strutture Dati del prof. Montresor http://cricca.disi.unitn.it/montresor/teaching/asd/materiale/video/

Lo step successivo potrebbe essere lo studio del paradigma Object Oriented, che è uno dei principali, se non il più influente, oggi, e quindi di un linguaggio come Java, C# o anche C++ (ma in realtà qualunque linguaggio moderno lo supporta), che è la naturale evoluzione del C, più complesso dei primi due da padroneggiare. Lo studio del paradigma OO parte dai concetti basilari di astrazione dati, oggetto e classe, uniti alla nozione di ereditarietà e polimorfismo, e prosegue (astraendo ancora) arrivando a dei principi di modellazione come quelli SOLID, e ai design pattern, che sono dei modelli, degli schemi ricorrenti, codificati per la prima volta in questo famoso libro, prendendo spunto dal mondo dell'architettura, che si possono usare per risolvere determinati problemi. È un argomento molto affascinante se ti piace la programmazione.
Per l'OO puoi cominciare a dare un'occhiata su wikipedia. Questo è un articolo accademico (in inglese) ancora oggi fonte di lezioni univarsitarie. Per cose più pratiche ti consiglio siti come https://www.geeksforgeeks.org/, dove trovi tanti esempi utili, o il nostrano https://www.html.it/, a volte semplicistico, ma in italiano e utile per una rapida panoramica sui vari argomenti.
 
Ultima modifica:

Harvey4

Utente Attivo
743
271
CPU
Intel i5-661
Dissipatore
Intel Stock
Scheda Madre
Asus P7H55-M
HDD
SSD Samsung 860 EVO 500gb + HDD WDC WD10EARS 1tb
RAM
Corsair 6gb DDR3 CMX6GX3M3A1600C9
GPU
Asus GeForce GTX 750-TI (OC-2GD5 Dual Fan Cooling)
Audio
Integrata
Monitor
Samsung S22D390H/LS22D390
PSU
be quiet! System Power 9 400W ATX
Case
Acer :)
OS
Windows 10 Pro
ciao a tutti,
chiede un amico che vuole imparare a programmare da 0 e per 0 intendo che sa giusto accendere il pc e andare a fare una ricerca su google, cosa posso consigliarli come primo approccio, cioè per avere una cultura generale degli aspetti fondamentali, ed in seguito magari seguirlo io passo passo.
 

Mursey

Super Moderatore
Staff Forum
Utente Èlite
8,230
5,659
ciao a tutti,
chiede un amico che vuole imparare a programmare da 0 e per 0 intendo che sa giusto accendere il pc e andare a fare una ricerca su google, cosa posso consigliarli come primo approccio, cioè per avere una cultura generale degli aspetti fondamentali, ed in seguito magari seguirlo io passo passo.
Potrebbe cominciare con i link che si trovano nel primo post.
 

Harvey4

Utente Attivo
743
271
CPU
Intel i5-661
Dissipatore
Intel Stock
Scheda Madre
Asus P7H55-M
HDD
SSD Samsung 860 EVO 500gb + HDD WDC WD10EARS 1tb
RAM
Corsair 6gb DDR3 CMX6GX3M3A1600C9
GPU
Asus GeForce GTX 750-TI (OC-2GD5 Dual Fan Cooling)
Audio
Integrata
Monitor
Samsung S22D390H/LS22D390
PSU
be quiet! System Power 9 400W ATX
Case
Acer :)
OS
Windows 10 Pro
intendi questi?
]
 
  • Mi piace
Reazioni: Mursey

End222

Utente Èlite
3,559
396
si va bè non basta leggere un libro va fatta anche un pò di pratica.
So che esiste anche il C++ m anon so che differenze ci sono.
 

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,546
12,933
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11
ciao a tutti,
chiede un amico che vuole imparare a programmare da 0 e per 0 intendo che sa giusto accendere il pc e andare a fare una ricerca su google, cosa posso consigliarli come primo approccio, cioè per avere una cultura generale degli aspetti fondamentali, ed in seguito magari seguirlo io passo passo.
Si parte sempre da C, facendo così ha un'infarinatura BASE del mondo della programmazione.
Poi.....
Dipende cosa vuole imparare a programmare.
Quali sono i suoi target?
WEB: html,+css+javascript -----> bootstrap4 + jquery + php + mysql
SERVER: nodejs/php/perl/python/java
DESKTOP: c++/html+js+css+electronjs/java/python

Si potrebbe andare avanti all'infinito,proprio come lo sono i linguaggi di programmazione ed il loro utilizzo
 

CancaroMan

Nuovo Utente
40
2
CPU
I5 4690k
Scheda Madre
Gigabyte GA-Z97x gaming 7
HDD
Seagate barracuda 1tb
RAM
Kingston HyperX 8 gb ddr3
GPU
Palit GeForce GTX 980 JetStream
Monitor
BenQ XL2411Z
PSU
Energon 750w
Case
Aerocool xPredator x3
Periferiche
Sistema 2.1 Edifier S730
OS
Windows 10 pro 64 bit

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,853
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Si parte sempre da C, facendo così ha un'infarinatura BASE del mondo della programmazione.

E' un pò forzata come affermazione secondo me...
Sembra non ci sia scelta che iniziare dal C per imparare, in realtà il linguaggio è solo uno strumento; la parte importante è entrare nella logica, nella giusta mentalità. Poi concordo che passare da C possa portare ad acquisire altre competenze, ma può avvenire anche in un secondo momento.

Dipende cosa vuole imparare a programmare.
Quali sono i suoi target?
WEB: html,+css+javascript -----> bootstrap4 + jquery + php + mysql
SERVER: nodejs/php/perl/python/java
DESKTOP: c++/html+js+css+electronjs/java/python

Che vuol dire la distinzione Web, da quella Server? Front-end e back-end, semmai.
Ad ogni modo HTML, JS, CSS per lo sviluppo desktop... meh. PHP forse è ancora una tappa obbligata, almeno conoscerlo un minimo (poi se lo si utilizza poco, meglio).

e MinGW è un ambiente unix per Windows.

Non si è espresso benissimo, ma MinGw è il porting di GCC per Windows.
 
  • Mi piace
Reazioni: Andretti60

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili