DOMANDA Linguaggi più concreti

Salve ragazzi ultimamente vedevo un po di linguggi e gli unici che mi hanno dato un po di soddisfazioni sono stati visual basic ed excell. In poco tempo e con molta facilità si riescono a fare programmini utili. Ora sto cercando di imparare java e html e onestamente li vedo fini a loro stessi, ci vedo poco di concreto. Per creare ad esempio un programma-cassa, quelli che in genere hanno i negozi, come si fa?
 

gronag

Utente Èlite
18,107
6,075
Hardware Utente
Lo studio procede per gradi, non puoi pretendere che un bambino si metta a correre prima di aver imparato a camminare :asd:
L'HTML non è un linguaggio di programmazione, è il linguaggio standard per la creazione di siti Web (insieme ad altri linguaggi, come Javascript e PHP, che ne estendono le potenzialità) :sisi:
In particolare, come ho già avuto modo di dire spesso su questo e su altri Forum, l'HTML si occupa del contenuto di una pagina Web mentre i fogli di stile CSS si occupano del "layout" della pagina stessa.
Java, poi, introduce una nuova metodologia (paradigma), denominata OOP (programmazione orientata agli oggetti), che, a partire dal concetto di "sistema", stravolge, in un certo senso, la "vecchia" nozione di programmazione strutturata :asd:
Mentre la programmazione strutturata si focalizza sulla divisione del problema in sottoproblemi, la OOP si concentra maggiormente sui dati (oggetti), al centro c'è sempre il "sistema" da analizzare.
Si tratta, in fin dei conti, di "creare" un modello del sistema, che possa essere utilizzato efficacemente sia nella fase di analisi che in quella di progettazione, ancor prima che nella fase di programmazione.
Non esiste una teoria che possa aiutarti a capire quali sono gli oggetti di un sistema, è un "senso" che dovrai sviluppare con lo studio e l'applicazione graduale dei concetti acquisiti ;)

http://www.brescianet.com/appunti/riservata/ManualePraticoJava.pdf :sisi:
 
  • Mi piace
Reactions: recursio

Andretti60

Utente Èlite
3,714
2,497
Hardware Utente
...
Java, poi, introduce una nuova metodologia (paradigma), denominata OOP (programmazione orientata agli oggetti), che, a partire dal concetto di "sistema", stravolge, in un certo senso, la "vecchia" nozione di programmazione strutturata :asd:
Mentre la programmazione strutturata si focalizza sulla divisione del problema in sottoproblemi, la OOP si concentra maggiormente sui dati (oggetti), al centro c'è sempre il "sistema" da analizzare.
...
Se permetti :)

OOP non e' stato introdotto in Java, in effetti venne introdotto agli albori della programmazione (anni 50 e 60) per diventare poi tra i principali paradigmi di programmazione avanzata (ossia dove la programmazione strutturata perde importanza. Purtroppo, devo aggiungere, perche' a volte si vede OOP usato dove non ha alcun senso.

Capisco che stai cercando di semplificare, ma non e' corretto dire che OOP si concentra sui "dati" (anche se "principalmente") infatti in OOP dati e metodi si fondono insieme proprio nella definizione di "oggetto". Mentre nella programmazione strutturata si definivano i "dati" e poi qualche funzione per operare su di loro (per esempio il dato "double" e la funzione cos() per calcolarne il coseno), in OOP si definisce un "oggetto" che ingloba SIA il dato che le funzioni, che si possono perfino riscrivere con un altro significato. Per esempio, e' possibile redifinire l'operatore + (piu') tra oggetti, operatore che in linguaggi strutturati ha senso solo tra operandi aritmetici. Non solo, ma gli oggetti possono derivare da altri oggetti, per cui ne ampliano le caratteristiche, sono due oggetti diversi ma possono operare tra loro.
Per esempio, possiamo scrivere cose come
C:
QualcheOggetto a, b, c;
a = new QualcheOggetto(qualcheValore);
b = d; // d e' un altro oggetto del cui tipo QualcheOggetto deriva
c = a + b;
In altre parole, i "dati", a differenza di quello che dici tu, in OOP finiscono con il "perdere" la loro importanza. Nell'esempio sopra riportato, le variabili 'a' e 'b' sono di tipo QualcheOggetto, ma 'b' necessariamente non lo e' nemmeno (purche 'd' lo implementi). I dati quindi in OOP perdono la rigidita' che hanno in altri paradigmi, per venire sostituiti da "oggetti" che nascondono al loro interno come i dati vengano rappresentati e operati. Quella e' proprio una delle piu' potenti caratteristiche di OOP: potere definire degli oggetti e operare tra loro, ma come i "dati" siano poi rappresentati non ha alcuna importanza. Non ha nemmeno importanza da "dove" vengano, posso scrivere una oggetto "base" e poi derivarne altri che leggano i dati da tastiera, da documento, da database, da internet. La potenza di questa caratteristica era ben conosciuta dai programmatori in C che finivano con il definire il tutto come il tipo (void *) che permetteva (senza alcuna restrizione, con gli inconvenienti del caso) di assegnare puntatori di qualsiasi tipo si voleva (e io ero uno di quelli)

NOTA per gli addetti ai lavori: in questa mia digressione ho volutamente usato la parola "oggetto" invece che la parole "classe" perche' volevo essere generico. In realta' sono due concetti diversi e formalmente avrei dovuto usare il termine "classe".
 

BAT00cent

Utente Attivo
1,006
440
Hardware Utente
Costruttiva per costruttiva, AVVISO AI NEOFITI DI JAVA:
evitate di usare il libro in PDF precedentemente linkato perché è obsoleto (era buono all'epoca in cui uscì nel 2001), Java è cambiato in maniera profonda e drastica. Programmatore avvisato non è mezzo ma tutto salvato.
 

clessidra

Utente Attivo
460
97
Hardware Utente
CPU
VIA C3
Scheda Video
Ati Rage
Sistema Operativo
linux - Red Hat 1.1
Per curiosità, Java, attualmente versione 11.x, possiede un componente di tipo iconview, quello che permetterebbe di creare per esempio un file explorer (con vista a icone)?
 
Ultima modifica:

BAT00cent

Utente Attivo
1,006
440
Hardware Utente
Non sono sicuro di aver capito la domanda, se intendi un componente grafico ad albero che rappresenta directory/cartelle con icone allora in Swing c'è il componente JTree, nel più moderno JavaFX c'è TreeView. Cerca oonline per esempi pratici
 

clessidra

Utente Attivo
460
97
Hardware Utente
CPU
VIA C3
Scheda Video
Ati Rage
Sistema Operativo
linux - Red Hat 1.1
Non sono sicuro di aver capito la domanda, se intendi un componente grafico ad albero che rappresenta directory/cartelle con icone allora in Swing c'è il componente JTree, nel più moderno JavaFX c'è TreeView. Cerca oonline per esempi pratici
No ad albero, ma a vista icone, per esempio come nel primo riquadro, quello in alto a sinistra, della foto che allego:
CopyQ.nnS892.png
 

Entra

oppure Accedi utilizzando