Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Il REDMAGIC Astra Gaming Tablet rappresenta una rivoluzione nel gaming portatile, combinando un display OLED da 9,06 pollici a 165Hz con il potente Snapdragon 8 Elite e un innovativo sistema di raffreddamento Liquid Metal 2.0 in un form factor compatto da 370 grammi. Si posiziona come il tablet gaming più completo della categoria, offrendo un'esperienza di gioco senza compromessi in mobilità.
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2
Dopo un mese di utilizzo intensivo e l'analisi di oltre 50 scatti, l'articolo offre una panoramica approfondita di Nintendo Switch 2. Vengono esaminate le caratteristiche che la definiscono, con un focus sulle nuove funzionalità e un riepilogo dettagliato delle specifiche tecniche che ne determinano le prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-07-2014, 18:52   #1
francolol
Member
 
Iscritto dal: Feb 2014
Messaggi: 142
Basi programmazione

Salve, sono un ragazzo che sta tentando di imparare un pò di programmazione da autodidatta dal momento che nel mio liceo non si studia.
Ho provato a imparare python seguendo dei video di "dubbia" (per me) validità, ma mi sono reso conto che quel linguaggio non può soddisfare alcune delle mie necessità come la programmazione di applicazioni android. Ho iniziato dunque un libro trovato linkato nel forum (Claudio de Sio, Java 5) per, appunto, la programmazione in Java ma mi rendo conto che mi mancano alcuni concetti chiave senza i quali trovo non-logico (o almeno allo stesso modo di python) il linguaggio. In sostanza quello che chiedo è se conoscete qualche guida per chi come me è ignorante o avevate qualche consiglio. Grazie
francolol è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2014, 20:28   #2
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Visto che sei ancora alla linea di partenza comincia da qui: CS unplugged http://www.csunplugged.org (nella colonna a fianco c'è la versione italiana). È un libro usato alle elementari/medie per insegnare informatica senza usare linguaggi di programmazione o computer. È un buon punto di partenza per cominciare ad entrare nella mentalità giusta.

Le basi le puoi imparare usando un linguaggio qualsiasi ma in genere quali interpretati di alto livello come Python sono i migliori per cominciare. Altri linguaggi come Java o C hanno sintassi complesse che possono confondere oppure ti costringono a conoscere dettagli tecnici del funzionamento dei pc.

Anche se il tuo obbiettivo è Android per ora ti consiglio di lasciar perdere Java e continuare con Python. "Pensare da informatico" http://www.python.it/doc/Howtothink/...l-it/index.htm è stato consigliato più volte qui sul forum.

Per concludere. Non forti scrupoli a chiedere aiuto qui sul forum se non capisci qualcosa. E non scoraggiarti se all'inizio non capisci una mazza. Partire non è affatto semplice.
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2014, 00:09   #3
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
Considerando i tool e gli SDK ufficiali forniti da Google e assumendo che tu voglia creare una applicazione completa con 1 singolo linguaggio, per quanto riguarda android puoi usare:

- Java con l'SDK
- C/C++ con l'NDK

il pregio di C e C++ è che sono altamente portabili, praticamente solo Android e il Kindle usano ancora Java nel mondo consumer ad alta diffusione.

è anche possibile invocare codice Java da C/C++ e viceversa ma questo è un altro topic per quando vorrai imparare più di un linguaggio o avrai motivi per farlo.

nota che moltissime delle API ufficiali Android vengono implementate soltanto in Java e il più delle volte vieni comunque forzato ad usare codice Java anche se usi l'NDK.

Consiglierei Java per iniziare, anche se oltre ad Android non userai Java per molto altro, ma ha il pregio di essere un linguaggio popolare nel mondo dell'educazione e ci sono tantissime risorse per questa tecnologia.

Online trovi qualche guida in italiano, moltissime risorse in inglese, sia libri che altro, tutto dipende da cosa cerchi e in che lingua, questo è un corso facile da seguire e buono per chi inizia http://www.html.it/guide/guida-java/ .

Evita linguaggi di scripting come Python, sono inutili ai fini di quello che ti proponi di fare, inoltre questa famiglia di linguaggi è tipicamente una brutta scelta per illustrare concetti quali la forte tipizzazione, o il meccanismo dei tipi in generale, e tutti i concetti accessori come l'overload e le chiamate a funzioni. A meno che Python non ti serva, della parte teorica che Python ti può dare non te ne fai assolutamente nulla e anzi può essere altamente deviante come la "keyword" self in Python che "keyword" non è .

Ultima modifica di Freaxxx : 12-07-2014 alle 00:12.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2014, 07:36   #4
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da francolol Guarda i messaggi
Salve, sono un ragazzo che sta tentando di imparare un pò di programmazione da autodidatta dal momento che nel mio liceo non si studia.
Ho provato a imparare python seguendo dei video di "dubbia" (per me) validità, ma mi sono reso conto che quel linguaggio non può soddisfare alcune delle mie necessità come la programmazione di applicazioni android. Ho iniziato dunque un libro trovato linkato nel forum (Claudio de Sio, Java 5) per, appunto, la programmazione in Java ma mi rendo conto che mi mancano alcuni concetti chiave senza i quali trovo non-logico (o almeno allo stesso modo di python) il linguaggio. In sostanza quello che chiedo è se conoscete qualche guida per chi come me è ignorante o avevate qualche consiglio. Grazie
Utilizza Python, come ti è stato consigliato, e per sviluppare su Android usa Kivy. Con Kivy hai il vantaggio di esportare la tua applicazione anche su iOS, oltre all'intrinseca facilità di sviluppo.

Ma prima fatti le ossa con Python: impara a programmare.
Quote:
Originariamente inviato da VICIUS Guarda i messaggi
Visto che sei ancora alla linea di partenza comincia da qui: CS unplugged http://www.csunplugged.org (nella colonna a fianco c'è la versione italiana). È un libro usato alle elementari/medie per insegnare informatica senza usare linguaggi di programmazione o computer. È un buon punto di partenza per cominciare ad entrare nella mentalità giusta.

Le basi le puoi imparare usando un linguaggio qualsiasi ma in genere quali interpretati di alto livello come Python sono i migliori per cominciare. Altri linguaggi come Java o C hanno sintassi complesse che possono confondere oppure ti costringono a conoscere dettagli tecnici del funzionamento dei pc.

Anche se il tuo obbiettivo è Android per ora ti consiglio di lasciar perdere Java e continuare con Python. "Pensare da informatico" http://www.python.it/doc/Howtothink/...l-it/index.htm è stato consigliato più volte qui sul forum.

Per concludere. Non forti scrupoli a chiedere aiuto qui sul forum se non capisci qualcosa. E non scoraggiarti se all'inizio non capisci una mazza. Partire non è affatto semplice.
Assolutamente d'accordo.
Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
Considerando i tool e gli SDK ufficiali forniti da Google e assumendo che tu voglia creare una applicazione completa con 1 singolo linguaggio, per quanto riguarda android puoi usare:

- Java con l'SDK
- C/C++ con l'NDK

il pregio di C e C++ è che sono altamente portabili, praticamente solo Android e il Kindle usano ancora Java nel mondo consumer ad alta diffusione.

è anche possibile invocare codice Java da C/C++ e viceversa ma questo è un altro topic per quando vorrai imparare più di un linguaggio o avrai motivi per farlo.

nota che moltissime delle API ufficiali Android vengono implementate soltanto in Java e il più delle volte vieni comunque forzato ad usare codice Java anche se usi l'NDK.

Consiglierei Java per iniziare, anche se oltre ad Android non userai Java per molto altro, ma ha il pregio di essere un linguaggio popolare nel mondo dell'educazione e ci sono tantissime risorse per questa tecnologia.

Online trovi qualche guida in italiano, moltissime risorse in inglese, sia libri che altro, tutto dipende da cosa cerchi e in che lingua, questo è un corso facile da seguire e buono per chi inizia http://www.html.it/guide/guida-java/ .
Hai tirato fuori addirittura C++ e NDK. In pratica a chi ha bisogno di una mano hai offerto la corda da mettere al collo.
Quote:
Evita linguaggi di scripting come Python,
Python è un linguaggio. Nato come scripting, ma è abbastanza general purpose ormai.
Quote:
sono inutili ai fini di quello che ti proponi di fare,
Se guardi sopra ho appena fornito una soluzione ai suoi problemi, proprio basata su Python.
Quote:
inoltre questa famiglia di linguaggi è tipicamente una brutta scelta per illustrare concetti quali la forte tipizzazione,
"Casualmente" Python è un linguaggio a forte tipizzazione. Sempre che tu conosca il significa di questo concetto, ovviamente...
Quote:
o il meccanismo dei tipi in generale, e tutti i concetti accessori come l'overload e le chiamate a funzioni.
Quale sarebbero i problemi qui? Esponi pure, perché non è affatto chiaro.
Quote:
A meno che Python non ti serva, della parte teorica che Python ti può dare non te ne fai assolutamente nulla e anzi può essere altamente deviante come la "keyword" self in Python che "keyword" non è .
Che keyword non è, appunto. A questo punto la domanda sorge spontanea: le tue "conoscenze" di Python le hai apprese su Topolino?

Impara a parlare delle cose che conosci, perché altrimenti fai danni. Grossi. Specialmente se cerchi di "aiutare" qualcuno, perché altrimenti coi tuoi "consigli" gli stai dando una mano a scavarsi la fossa.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2014, 14:58   #5
francolol
Member
 
Iscritto dal: Feb 2014
Messaggi: 142
Quote:
Originariamente inviato da VICIUS Guarda i messaggi
Visto che sei ancora alla linea di partenza comincia da qui: CS unplugged http://www.csunplugged.org (nella colonna a fianco c'è la versione italiana). È un libro usato alle elementari/medie per insegnare informatica senza usare linguaggi di programmazione o computer. È un buon punto di partenza per cominciare ad entrare nella mentalità giusta.

Le basi le puoi imparare usando un linguaggio qualsiasi ma in genere quali interpretati di alto livello come Python sono i migliori per cominciare. Altri linguaggi come Java o C hanno sintassi complesse che possono confondere oppure ti costringono a conoscere dettagli tecnici del funzionamento dei pc.

Anche se il tuo obbiettivo è Android per ora ti consiglio di lasciar perdere Java e continuare con Python. "Pensare da informatico" http://www.python.it/doc/Howtothink/...l-it/index.htm è stato consigliato più volte qui sul forum.

Per concludere. Non forti scrupoli a chiedere aiuto qui sul forum se non capisci qualcosa. E non scoraggiarti se all'inizio non capisci una mazza. Partire non è affatto semplice.


Innanzitutto grazie mille per le risposte esaurienti, seguirò il tuo consiglio e mi darò a python ora vedo di leggermi entro oggi il pdf che mi hai postato (che tra l'altro, per lo sguardo a volo che gli ho dato, sono quelle cose proprie base cui, a volte, un neofita manco gli da tanta importanza quindi grazie) e poi ricomincio python credo da 0 in modo da correggere anche eventuali errori appresi dai video. Grazie mille per la disponibilità, se avete guide e qualsiasi cosa possa aiutarmi o ritenete che uno alle prime armi debba conoscere non esitate a postare
francolol è offline   Rispondi citando il messaggio o parte di esso
Old 14-07-2014, 21:32   #6
Hybr1d97
Member
 
L'Avatar di Hybr1d97
 
Iscritto dal: May 2014
Messaggi: 63
Dipende dalle basi che hai. A quanto mi pare di aver capito, la tua esperienza si basa sul semplice "guarda video e fai quello che dicono", ma copiando funzioni a pappagallo non credo che ti renderai mai conto di ciò che fai.

Perciò, apparte il fatto che prima ancora di lavorare su Android dovresti avere almeno delle sufficienti conoscenze di Java per la programmazione e di XML per il layout (anche se può bastare HTML), prima che tu cominci a programmare con Java devi innanzitutto imparare a programmare.
Generalmente si parte senza nessun linguaggio, cerca un po' di famliarizzare con pseudocodifica, partendo dai problemi più semplici, come ad esempio il fattoriale (il fattoriale di n è il prodotto di tutti i numeri da 1 a n), e scomponendoli con i diagrammi di flusso (ad esempio proprio il fattoriale è utile a capire come si comporta il flusso del programma a livello di loop).
Poi fai un po' di stretching mentale, prova ad esempio a fare lo stesso fattoriale non più con le iterazioni ma con le ricorsioni. Insomma, ci sono davvero tante cose da fare per entrare nella prospettiva della programmazione, devi aprire la mente ad un metodo di ragionamento abbastanza complicato per chi è alle prime armi.

Fatto ciò, quando sarai capace almeno di comprendere ordinamenti come bubble-sort (e non a pappagallo!) puoi provare con un linguaggio di programmazione. E, tralasciando quello che tu hai imparato a quanto pare senza criteri, la scelta del primo linguaggio è molto importante.
Io ti consiglierei di iniziare o con C++ o con Java. Con il primo c'è davvero tanto da studiare, hai sia la programmazione procedurale del C sia quella a oggetti di Java, con aggiunte rispetto al primo come le classi, i template, ecc. e rispetto al secondo come la gestione della memoria. E' molto più complicato di Java, ma sappi che ad una maggiore complessità di gestione equivale una più elevata consapevolezza di ciò che si sta facendo.
Altrimenti parti con Java, in cui "everything is an object". Più semplice per chi è alle prime armi, ti toglie il peso della gestione della memoria e altro, ed è il linguaggio che più di tutti ti serve per Android. A te la scelta. Spero di essere stato esaustivo

(Un consiglio: qualunque linguaggio tu scelga, le funzioni basilari, come ad esempio la potenza o la concatenazione di stringhe, prova a riscriverle tu stesso ragionando un pochino. Solo quando ti usciranno potrai allora usare quelle già definite nelle librerie.)

Ultima modifica di Hybr1d97 : 14-07-2014 alle 21:35.
Hybr1d97 è offline   Rispondi citando il messaggio o parte di esso
Old 14-07-2014, 23:07   #7
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
Quote:
Originariamente inviato da Hybr1d97 Guarda i messaggi

Generalmente si parte senza nessun linguaggio, cerca un po' di famliarizzare con pseudocodifica,
Ma perché? Io ho iniziato col BASIC, niente pseudocodice... Partendo senza insegnante è meglio un linguaggio in modo da avere un riscontro diretto della bontà del ragionamento...

Quote:
... tralasciando quello che tu hai imparato a quanto pare senza criteri, la scelta del primo linguaggio è molto importante.
Io ti consiglierei di iniziare o con C++
Devi imparare a guidare, inizia con una Formula 1...
Inoltre la scelta del primo linguaggio non la vedo così fondamentale.

Quote:
o con Java. Con il primo c'è davvero tanto da studiare, hai sia la programmazione procedurale del C sia quella a oggetti di Java, con aggiunte rispetto al primo come le classi, i template, ecc. e rispetto al secondo come la gestione della memoria. E' molto più complicato di Java, ma sappi che ad una maggiore complessità di gestione equivale una più elevata consapevolezza di ciò che si sta facendo.
No, ti dà un sacco di gatte da pelare... il C++ non è fatto per i principianti, è fatto per chi già ha solide basi e sa quello che fa.
Prima di gestirsi la memoria a manina uno dovrebbe capire cosa è la memoria e come funziona...
Quote:
Altrimenti parti con Java, in cui "everything is an object". Più semplice per chi è alle prime armi, ti toglie il peso della gestione della memoria e altro, ed è il linguaggio che più di tutti ti serve per Android. A te la scelta. Spero di essere stato esaustivo
Java non è una cattiva scelta anche se secondo me python è molto meglio, hai meno robaccia che non capisci quando cominci. In ogni caso mi permetto di suggerire l'ottimo "concetti di informatica e fondamenti di Java" di Cay Horstman e Gary Cornell, oppure il libro di Deitel e Deitel "Programmazione Java, Fondamenti"
Quote:
(Un consiglio: qualunque linguaggio tu scelga, le funzioni basilari, come ad esempio la potenza o la concatenazione di stringhe, prova a riscriverle tu stesso ragionando un pochino. Solo quando ti usciranno potrai allora usare quelle già definite nelle librerie.)
Mah, si e no... non concordo al 100% ma non sono cattivi consigli.

Sono più d'accordo con Cesare riguardo python.
Se ti piace un approccio più "vecchia scuola":
http://www.freebasic.net/
http://www.freepascal.org/
http://www.gigamonkeys.com/book/ => http://www.clisp.org/
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 14-07-2014, 23:22   #8
Hybr1d97
Member
 
L'Avatar di Hybr1d97
 
Iscritto dal: May 2014
Messaggi: 63
Se uno vuole imparare a gestire la memoria è ovvio che deve prima studiarsela, infatti c++ lo consiglio proprio perchè spinge a studiarti l'architettura della macchina e da lì capisci parecchie cose. Riguardo il primo linguaggio, nella nostra scuola abbiamo tutti iniziato con C e C++ ed io non ho mai avuto probemi. Ovvio che ci vuole dedizione. Oltretutto sarà pure una formula 1, ma nessuno ti obbliga ad andare a 300. Si parte dalle basi, di semplice comprensione, e per le cose più avanzate ci vuole più studio. Dov'è la novità? È così dappertutto. Non a caso C e C++ li insegnano molto spesso per primi.

Riguardo le funzioni, scrivendoti da solo delle semplici funzioni acquisisci maggiore familiarità col linguaggio e ti alleni anche.
Hybr1d97 è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2014, 05:51   #9
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Se uno deve imparare a camminare non gli si dice di allenarsi per battere Hussein Bolt ai 100 metri.

Python è l'ideale per iniziare e farsi per bene le ossa. Per rompersele c'è sempre tutto il tempo, dopo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2014, 09:34   #10
francolol
Member
 
Iscritto dal: Feb 2014
Messaggi: 142
Sono d'accordo sul fatto di imparare le basi dell'informatica prima della programmazione (anche se questa, in effetti, mi da un'idea di cosa e come io stia facendo, ad esempio con python ho avuto modo di avere soddisfazioni già solo con 4/5 istruzioni che seppur poche mi hanno permesso di creare quelle righe che per me cmq sono un passo avanti). Quello che vi chiedi è dirmi appunto cosa devo imparare come basi, io faccio il liceo classico quindi potrete capire che ad informatica sto a 0. Per ora ho letto il pdf sopra postato( numeri binari, compressione, quick sort ed altri spiegati in modo elementare). Se anche non avete materiale a disposizione anche un elenco di roba che pensate io dovrei conoscere mi andrebbe bene, poi vedrò io di recuperare materiale
__________________
Carbide 300r, Asrock H87 Pro4, I5-4670 + Hyper 212 evo, R9-290 Tri-x, Corsair VengeanceLP
Schermo: LG 23MA53D Mouse & Tastiera: G402 + G910
Mercatino: Feedback positivi: Simpsons
francolol è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2014, 15:45   #11
Hybr1d97
Member
 
L'Avatar di Hybr1d97
 
Iscritto dal: May 2014
Messaggi: 63
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Se uno deve imparare a camminare non gli si dice di allenarsi per battere Hussein Bolt ai 100 metri.
Infatti se noti gli ho detto di passare prima un bel po' di tempo tra pseudocodifica e flowchart che senso ha iniziare subito con un linguaggio di programmazione? Devi prima imparare a ragionare, e farlo sin da subito stando dietro alle regole di sintassi non aiuterà certo. Poi eh, ognuno è libero di far ciò che vuole. Comunque, riguardo al linguaggio, non vedo dove stia tutta sta gran difficoltà di C++ nell'imparare le basi, visto che la sintassi in quel caso è pressochè identica a quella di Java. Al contrario di quanto fai capire, nessuno lo obbliga a studiarsi i contenitori prima ancora di saper usare cin e cout
Hybr1d97 è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2014, 10:31   #12
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
Quote:
Originariamente inviato da francolol Guarda i messaggi
Sono d'accordo sul fatto di imparare le basi dell'informatica prima della programmazione (anche se questa, in effetti, mi da un'idea di cosa e come io stia facendo, ad esempio con python ho avuto modo di avere soddisfazioni già solo con 4/5 istruzioni che seppur poche mi hanno permesso di creare quelle righe che per me cmq sono un passo avanti). Quello che vi chiedi è dirmi appunto cosa devo imparare come basi, io faccio il liceo classico quindi potrete capire che ad informatica sto a 0. Per ora ho letto il pdf sopra postato( numeri binari, compressione, quick sort ed altri spiegati in modo elementare). Se anche non avete materiale a disposizione anche un elenco di roba che pensate io dovrei conoscere mi andrebbe bene, poi vedrò io di recuperare materiale
Se vedi la mia risposta ti ho indicato due libri per Java:
http://books.google.be/books/about/P...YC&redir_esc=y

http://books.google.be/books?id=BWkH...ed=0CB8Q6AEwAA

C++:
http://www.amazon.it/Fondamenti-prog...c%2B%2B+dietel

Python:
http://www.amazon.it/Imparare-Python...mparare+python
http://www.amazon.it/Programmare-Pyt...eywords=python

Comprati uno di questi libri e comincia a studiare.

In generale quello che devi imparare è come esprimere quello che vuoi fare in un linguaggio formale e strutturato, quindi molto meno libero di un linguaggio umano.

Una volta che hai capito come esprimerti in questi linguaggi sei in grado di scrivere programmi -> traduzione in linguaggio formale di algoritmi.
Non è una cosa lunga eh, tipicamente si va di pari passo. Implementare semplici algoritmi è anche una scusa per imparare il linguaggio.
Quello che ti suggeriva Hybr1d97 di scriverti le tue funzioni per stringhe e operazioni matematiche non è una cattiva idea.
Mano mano che vai avanti imparerai gli algoritmi di ordinamento e ricerca e la manipolazione di vettori di dati (Array).
Da li in poi sei esperto abbastanza da addentrarti nei meandri della programmazione senza troppi problemi. Poi cose più avanzate sono l'architettura dei calcolatori, le reti, ecc... ma queste cose richiedono conoscenze accessorie che tipicamente impari all'università.
Se ti interessa la struttura del computer ti posso suggerire due libri:
http://www.amazon.it/Reti-logiche-ca...s=reti+logiche

http://www.amazon.it/Architettura-de...ei+calcolatori

Mentre per le reti:
http://www.amazon.it/Reti-di-calcola...di+calcolatori

Però questi sono argomenti avanzati, aspetta a comprare questi libri di reti e di architettura dei calcolatori.


Se leggi uno di quei libri che ti ho postato arrivi già ad un ottimo livello.
Per qualunque cosa critica posta pure sul forum. Qui si battibecca e si discute animatamente ma è normale, gli informatici/programmatori hanno un caratteraccio in genere
L'aiuto a chi è alle prime armi comunque non lo si nega mai.
Ti suggerisco anche di frequentare i newsgroup del gruppo it.comp.*, li impari tante cose.
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2014, 12:35   #13
Hybr1d97
Member
 
L'Avatar di Hybr1d97
 
Iscritto dal: May 2014
Messaggi: 63
Quote:
Originariamente inviato da ingframin Guarda i messaggi
Una volta che hai capito come esprimerti in questi linguaggi sei in grado di scrivere programmi -> traduzione in linguaggio formale di algoritmi.
Non è una cosa lunga eh, tipicamente si va di pari passo. Implementare semplici algoritmi è anche una scusa per imparare il linguaggio.
Quello che dicevo io.

Ovviamente prima di comprare quei libri sulle architetture fatti un giro su internet e cercati dapprima qualche slide sui sistemi operativi e gestione di processi, memoria, file-system ed I/O, poi trovati qualche pdf non troppo dettagliato che li spieghi un po' meglio. Insomma, cerca delle "introduzioni" a questi argomenti, che sono non poco complessi.
Hybr1d97 è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2014, 13:41   #14
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Utilizza Python, come ti è stato consigliato, e per sviluppare su Android usa Kivy. Con Kivy hai il vantaggio di esportare la tua applicazione anche su iOS, oltre all'intrinseca facilità di sviluppo.

Ma prima fatti le ossa con Python: impara a programmare.

Assolutamente d'accordo.

Hai tirato fuori addirittura C++ e NDK. In pratica a chi ha bisogno di una mano hai offerto la corda da mettere al collo.

Python è un linguaggio. Nato come scripting, ma è abbastanza general purpose ormai.

Se guardi sopra ho appena fornito una soluzione ai suoi problemi, proprio basata su Python.

"Casualmente" Python è un linguaggio a forte tipizzazione. Sempre che tu conosca il significa di questo concetto, ovviamente...

Quale sarebbero i problemi qui? Esponi pure, perché non è affatto chiaro.

Che keyword non è, appunto. A questo punto la domanda sorge spontanea: le tue "conoscenze" di Python le hai apprese su Topolino?

Impara a parlare delle cose che conosci, perché altrimenti fai danni. Grossi. Specialmente se cerchi di "aiutare" qualcuno, perché altrimenti coi tuoi "consigli" gli stai dando una mano a scavarsi la fossa.
confermo quanto detto, la tipizzazione in Python è equivalente a quella che hai in Javascript, è egualmente "forte" .

per il resto, visto che Python è così fortemente tipizzato, mi illustri cosa accade ad una funzione con una interfaccia che accetta il tipo X quando passo il tipo Y ? come in Python posso fare un check a runtime tra 2 istanze o classi di 2 tipi diversi ?

poi vediamo come Python è tipizzato e chi sta aiutando chi.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2014, 15:19   #15
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
confermo quanto detto, la tipizzazione in Python è equivalente a quella che hai in Javascript, è egualmente "forte" .
In Python se provi ad accedere ad un attributo che non esiste viene lanciata una eccezione ed il programma crasha. In JavaScript viene semplicemente ritornato undefined e si continua come niente fosse accaduto. Non mi sembra proprio la stessa cosa.

Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
per il resto, visto che Python è così fortemente tipizzato, mi illustri cosa accade ad una funzione con una interfaccia che accetta il tipo X quando passo il tipo Y ?
Viene lanciata una eccezione. Una volta associato un tipo ad una variabile questo non cambia. Se provi a dividere per 2 una stringa questa non si trasforma magicamente in un numero come può accadere in altri linguaggi come JavaScript.

Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
come in Python posso fare un check a runtime tra 2 istanze o classi di 2 tipi diversi ?
Non è roba che si fa spesso ma non è impossibile. Ci sono funzioni come type(), isinstance() ecc.
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2014, 19:19   #16
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
confermo quanto detto, la tipizzazione in Python è equivalente a quella che hai in Javascript, è egualmente "forte" .

per il resto, visto che Python è così fortemente tipizzato, mi illustri cosa accade ad una funzione con una interfaccia che accetta il tipo X quando passo il tipo Y ? come in Python posso fare un check a runtime tra 2 istanze o classi di 2 tipi diversi ?

poi vediamo come Python è tipizzato e chi sta aiutando chi.
VICIUS ha risposto già a tutto. Per il resto non fai che dimostrare continuamente la tua ignoranza in termini di letteratura informatica e di Python.

T'ho già detto che sarebbe meglio che parlassi di cose che conosci, ma anche a livello di C++ hai dimostrato di essere messo male...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2014, 13:51   #17
van9
Member
 
Iscritto dal: Nov 2012
Messaggi: 126
Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
confermo quanto detto, la tipizzazione in Python è equivalente a quella che hai in Javascript, è egualmente "forte" .

per il resto, visto che Python è così fortemente tipizzato, mi illustri cosa accade ad una funzione con una interfaccia che accetta il tipo X quando passo il tipo Y ? come in Python posso fare un check a runtime tra 2 istanze o classi di 2 tipi diversi ?

poi vediamo come Python è tipizzato e chi sta aiutando chi.
Ma conferma de che, mah. Questo è Javascript (dal minuto 1:20) https://www.destroyallsoftware.com/talks/wat . Me lo passarono dicendo fa ridere. A me fa piangere piuttosto.
Dimostra dunque che Python si comporta a quel modo, oppure ritira quanto detto.


Python è un linguaggio unityped, dotato di latent typing, dynamically (run-time) checked.
Il classico esempio di linguaggio dotato (della maggior parte) di queste caratteristiche è Lisp.
La programmazione in Python poi non si basa propriamente ne' sui tipi ne' sui valori ma sugli oggetti, i tags che li caratterizzano e i protocolli tra i diversi tipi di oggetti (built-in o creati dall'utente che siano).

Segue che quello che hai chiesto non ha molto senso, ad esempio:

def f(x): pass

Le chiamate f(1) e f("") ritornano None e non producono errori, per la descrizione di cui sopra e va bene così.

Il modello a cui ti riferisci te è quello dei linguaggi typed dotati di type system in senso classico, dove questo è si una proprietà sintattica (statica) del linguaggio stesso. Programmando per tipi con il supporto di un sistema di manifest type checking (spesso anche in congiunzione con type inference) puoi si specificare cosa una funzione s'aspetta come argomento, e averne la verifica statica (a compile-time o dove altro sia).
La famiglia ML (SML/OCaml/Haskell/<younameit>) è quella di riferimento qui (essendo i vari C++/Java/C#/etc. dotati di type systems castrati quando non rattoppati e decisamente meno espressivi).

Esempio:

fun f x :int = x;

f 1 ritorna 1, f "" ritorna errore di tipo.


In breve, sei partito male mischiando mele con pere e non puoi aspettarti che gli uni si comportino come gli altri (e viceversa). Prima si studiano modelli e linguaggi e li usano estensivamente sul campo, poi (forse) si possono fare confronti sensati.

Sul fatto che sia o meno adatto ad insegnare o "chi sta aiutando chi" (e-che-vor-dì?), informati sul programma d'insegnamento di grande successo più che decennale di Matthias Felleisen (tra i più noti e rispettati esperti di teoria e linguaggi di programmazione al mondo), sulla storia di MIT, Berkeley et similia e chiedi anche ai tanti che come me hanno imparato con un buon linguaggio dotato di latent typing e dynamic checking (Lisp nel mio caso) e non sembrano aver avuto alcun problema, anzi.


p.s. dimenticavo: ricordati che oltre a contattare ISO/ANSI per quel fatto che tu sai, devi pure avvertire questo signore http://www.stroustrup.com/bs_faq2.html#simple-program http://www.stroustrup.com/compilers.html che ha il sito pieno di esempi di programmi (a detta tua) non abbastanza portabili - good luck with that.

p.s.2 [edit - eliminato inutile paternale fuori posto]
L'informatica è una cosa seria.
https://www.cs.utexas.edu/users/EWD/...x/EWD1036.html
http://www.cs.utexas.edu/users/EWD/O...%20Haskell.pdf

Quote:
It is not only the violin that shapes the violinist, we are all shaped by the tools we train ourselves to use, and in this respect programming languages have a devious influence: they shape our thinking habits. This circumstance makes the choice of first programming language so important.

Ultima modifica di van9 : 17-07-2014 alle 14:21.
van9 è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2014, 22:24   #18
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Notizia fresca:
Python bumps off Java as top learning language

Eight out of the top 10 universities now use Python to introduce programming
Da notare la fonte, non proprio di parte pythonistica.

Tutti pazzi (per Python)? Non credo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2014, 19:34   #19
francolol
Member
 
Iscritto dal: Feb 2014
Messaggi: 142
Rieccomi alla carica!
Inizio col dire che siete stati utilissimi e che ho appena finito il libro consigliatomi (Pensare da informatico), che ho trovato semplice al punto giusto e soprattutto approfondito. Vi chiedo ora se avete altri testi da propormi per rinforzare le conoscenze acquisite soprattutto nell'aggiornamento alla versione 3.4 visto che nell'utilizzo del libro sono stato costretto ad usufruire della 2.7 ove comunque ho trovato errori di sintassi dovuti alla diversa versione del programma(il libro usa la 2.3).
Inoltre vorrei chiedervi qualche manuale sulla creazione di interfacce grafiche con python. Sinceramente sto iniziando a programmare una mia piccola idea( niente di che una semplice web application da usare tra amici) ma prima di iniziare e poi rimandare per mancanza di conoscenze vorrei prima approfndire quest'ultime
Grazie mille di nuovo a tutti
francolol è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2014, 06:55   #20
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da francolol Guarda i messaggi
Rieccomi alla carica!
Inizio col dire che siete stati utilissimi e che ho appena finito il libro consigliatomi (Pensare da informatico), che ho trovato semplice al punto giusto e soprattutto approfondito. Vi chiedo ora se avete altri testi da propormi per rinforzare le conoscenze acquisite soprattutto nell'aggiornamento alla versione 3.4 visto che nell'utilizzo del libro sono stato costretto ad usufruire della 2.7 ove comunque ho trovato errori di sintassi dovuti alla diversa versione del programma(il libro usa la 2.3).
Allora è arrivata l'ora di Learning Python di Lutz.
Quote:
Inoltre vorrei chiedervi qualche manuale sulla creazione di interfacce grafiche con python. Sinceramente sto iniziando a programmare una mia piccola idea( niente di che una semplice web application da usare tra amici) ma prima di iniziare e poi rimandare per mancanza di conoscenze vorrei prima approfndire quest'ultime
Grazie mille di nuovo a tutti
Puoi provare con kivy, e l'applicazione la puoi esportare anche per iOS e Android.

Se invece vuoi cimentarti soltanto col desktop, puoi usare PySide, che un è un wrapper per le Qt, che è dotato anche di QTDesigner per modellare l'interfaccia grafica.

Se vuoi rimanere esclusivamente in ambito Windows puoi usare IronPython e sfruttare le WPF con XAML per realizzare il tutto, ed è personalmente quello che ho fatto tempo fa.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Gigabyte Aero X16 Copilot+ PC: tanta potenza non solo per l'IA Gigabyte Aero X16 Copilot+ PC: tanta potenza non...
vivo X200 FE: il top di gamma si è fatto tascabile? vivo X200 FE: il top di gamma si è fatto ...
2 minuti: il tempo per scorrere le 25 of...
Mini LED TCL: confronto tra le migliori ...
Robot aspirapolvere: questi sono i più a...
Portatile tuttofare Lenovo Core i5/16GB ...
Scende a 99€ il tablet 11" 2,4K con...
Amiga: quali erano i 10 giochi più belli
Driver più sicuri: Microsoft alza...
Ego Power+ ha la giusta accoppiata per l...
Scompiglio nei listini Amazon: prezzi im...
Sotto i 105€ il robot Lefant che lava, a...
Mini proiettori smart in offerta: uno co...
Smartwatch Amazfit in offerta: Balance o...
Windows XP ritorna: ecco come usarlo sub...
Arrow Lake in saldo: Intel taglia i prez...
LG C4 da 55'' a 899€ è il top per...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:11.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v