|
Rank: AiutAmico
Iscritto dal : 6/2/2005 Posts: 7,332
|
Monsee sarà, qualche volta, pure prolisso, ma il suo linguaggio è di una chiarezza rara. Aggiungiamo anche che è dotato di un' indiscussa competenza e di una pazienza infinita. Voi dite quello che volete, io questo 3D l'ho messo tra i preferiti. Bravo, monsee.!!!
|
|
Rank: AiutAmico
Iscritto dal : 10/10/2009 Posts: 1,670
|
pidue ha scritto:Monsee sarà, qualche volta, pure prolisso, ma il suo linguaggio è di una chiarezza rara. Aggiungiamo anche che è dotato di un' indiscussa competenza e di una pazienza infinita............ D'accordo al 100%. Conservo qualche dubbio sulla genuinità dell' interesse di mago30 (come spiegherebbe questo suo interesse così esasperato? sta facendo una tesi, una ricerca ...? ovviamente è anche libero di non spiegare niente), ma la competenza e la pazienza di monsee, dopo questa prova, passeranno davvero alla leggenda.
|
|
Rank: AiutAmico
Iscritto dal : 6/2/2005 Posts: 7,332
|
square ha scritto:pidue ha scritto:Monsee sarà, qualche volta, pure prolisso, ma il suo linguaggio è di una chiarezza rara. Aggiungiamo anche che è dotato di un' indiscussa competenza e di una pazienza infinita............ D'accordo al 100%. Conservo qualche dubbio sulla genuinità dell' interesse di mago30 (come spiegherebbe questo suo interesse così esasperato? sta facendo una tesi, una ricerca ...? ovviamente è anche libero di non spiegare niente), ma la competenza e la pazienza di monsee, dopo questa prova, passeranno davvero alla leggenda. Speriamo che non si impermalosisca nessuno. Coi tempi che corrono...
|
|
Rank: AiutAmico
Iscritto dal : 10/10/2009 Posts: 1,670
|
No, no, i battibecchi avvengono quando ci si sente attaccati o criticati personalmente .. qua nessuno potrebbe adontarsi su una nostra constatazione.
|
|
Rank: AiutAmico
Iscritto dal : 4/5/2005 Posts: 22,971
|
Grazie, Pidue! Grazie Square! (ricever complimenti mi fa solo piacere [perché mi par che sian attestazioni di qualche stima e -magari esagero, ma è perché ci spero- anche di umana simpatia]). In quanto alle ragioni che sembran spingere l'aiutamico Mago30, direi che -ma è solo un'impressione... e può ben essere anche completamente errata- potrebbero anche essere d'ordine, per così dire, "filosofico": ho, infatti, la sensazione che lui cerchi di "definire" (in qualche suo confuso modo) il rapporto fra "il mondo software" (pensato come se fosse composto di "entità" riguardabili quasi come se fossero degli "individui" [insomma, la vecchia, superata "immagine" del Sistema Operativo considerato come "un mondo nel mondo", dentro cui si "muovono" -un po' a simulazione della vita- delle particolari "entità": programmi, exes, files vari, etc...]) e l'Uomo (visto come dotato di una qualche briciola di "interna luce divina", perché creatore e -soprattutto- "vero dominatore" del "mondo software"). La mia impressione è che Mago30 ambisca a poter, alla fine dei giochi, "delineare" una sua teoria filosofica circa il rapporto fra il " mondo software" attuale -e anche futuro- e l'Uomo "dominatore" (dominatore di quel mondo e che lui preferirebbe identificare NON già con la figura specialistica del Programmatore, scarsamente pregna di contenuti filosofici universali, quanto con la figura -filosoficamente e umanamente assai più pregnante- dell'Utente finale [visto, se appena appena ciò fosse possibile, come il vero ed unico "signore", il solo vero "Dominatore" del "mondo informatico"]). A che possa mai servirgli una siffatta "teoria" (la quale sarebbe, comunque, sbagliata), però, non lo riesco assolutamente a immaginare. Un qualche senso pure ce l'avrà, sia chiaro: son io che proprio non ci arrivo.
|
|
Rank: AiutAmico
Iscritto dal : 5/27/2010 Posts: 255
|
monsee e' indubbiamente eccellente nello spiegare e forse ha ragione anche sulle motivazioni anche se puo' forse semplicemente spiegarsi come una semplice curiosita' di apprendere,ad un stato minimo e di base,alcuni elementi sui programmi. Comunque complimenti vivissimi perche' vedo che questa discussione e' prossima al Nobel! :-) Ti volevo chiedere una cosa Monsee rispetto a quello che ti avevo chiesto sui menu' e sulle preferenze dell'utente. Puoi farmi un esempio pratico? Immaginiamo di avere 5 istruzioni,ciascuna corrispondente ad un sottoprogramma. Puoi descrivermi,a partire da un esempio spicciolo di 5 "istruzioni" come puo' un programmatore permettere all'utente di eseguire secondo l'ordine a lui piu' congeniali i diversi sottoprogrammi?
p.s quando diciamo che un processo e' in esecuzione vuol dire che e' eseguito dal S.O il quale a sua volta esegue le istruzioni contenute nei diversi sottoprogrammi? grazie!
|
|
Rank: AiutAmico
Iscritto dal : 4/5/2005 Posts: 22,971
|
mago30 ha scritto:...volevo chiedere una cosa Monsee rispetto a quello che ti avevo chiesto sui menu' e sulle preferenze dell'utente. Puoi farmi un esempio pratico? Immaginiamo di avere 5 istruzioni,ciascuna corrispondente ad un sottoprogramma. Puoi descrivermi,a partire da un esempio spicciolo di 5 "istruzioni" come puo' un programmatore permettere all'utente di eseguire secondo l'ordine a lui piu' congeniali i diversi sottoprogrammi? Diciamo che hai 5 differenti "ordini", magari del medesimo tipo (poniamo si tratti di "movimenti sul terreno"). Puoi imporre un ordine FISSO e sempre identico, tipo: 1) corri per 100 metri verso nord; 2) gettati a terra, rotola su te stesso e poi rialzati; 3) corri per 60 metri verso ovest; 4) fai 30 metri verso sudest a grandi balzi in avanti; 5) mettiti in posizione per fare uno scatto. In questo modo, ti vedremo correre come un matto verso nord, poi gettarti a terra e rotolare, rialzarti di colpo, correre verso ovest, mutar direzione d'improvviso e, balzelloni, andare verso sudest e, infine,... irrigidirti, di colpo, in una posizione "da scattista olimpionico". Oppure, puoi presentar tutte queste azioni indipendentemente (indipendenti fra loro, dunque), senza alcuna "sequenza precisa". Potresti -per esempio- optar per il NON eseguirne una o più d'una. Oppure per eseguirle tutte, ma in un ordine variabile (scelto dall'Utente). Oppure per saltarne comunque qualcuna e, al tempo stesso, eseguirle in un ordine -da te scelto- differente. Ti potremmo vedere, per esempio, all'inizio "congelato" in una posizione "plastica" da scattista (punto 5), dalla quale schizzerai come un lampo verso nord (posizione 1), per poi proseguire a balzelloni verso sudest (posizione 4) e, infine, gettarti a terra d'improvviso, rotolar su te stesso e poi rialzarti (posizione 2). La "posizione 3" del nostro esempio, naturalmente, l'abbiam scartata (ma avremmo anche potuto includerla). Ci sono, nell'esempio appena fatto, cose sulle quali puoi far scelte (attivare oppure no una data "posizione" per esempio), ma ci sono anche scelte che ti restan comunque INTERDETTE: ad esempio, NON puoi scegliere di "rialzarti, poi rotolar su te stesso e, infine, gettarti a terra d'improvviso", giacché, per potere "rialzarsi" è fatto obbligo di trovarsi già a terra... condizione non raggiungibile NELLA FASE TERMINALE di nessuna delle "posizioni" programmate dallo Sviluppatore. Questo, perché sei solo un Utente: se fossi, invece, lo Sviluppatore, potresti creare una nuova "posizione" (la sesta) in modo da poter restare, alla fine dell'azione, steso a terra: ma l'esistenza di questa nuova "posizione" cambierebbe "de facto" le cose e noi non avremmo più dinnanzi la serie di "movimenti sul terreno" che volevam trattare: ne avremo tutta un'altra, nuova e differente (migliore o peggiore, poco conta). mago30 ha scritto:quando diciamo che un processo e' in esecuzione vuol dire che e' eseguito dal S.O il quale a sua volta esegue le istruzioni contenute nei diversi sottoprogrammi? Il Sistema Operativo "legge" le sequenze di ordini presenti nel sottoprogramma (in gergo: "carica il sottoprogramma") e le pone IN ESECUZIONE (ne ricava, cioè, dei sottoprocessi).
|
|
Rank: AiutAmico
Iscritto dal : 5/27/2010 Posts: 255
|
ah ok quindi ogni programma ha un certo numero di istruzioni suddisivibili in blocchi di codice (sottoprogrammi). Ti pongo una serie di domande: 1. il sistema operativo puo' caricare isolatamente solo un sottoprogramma,ovvero puo' estrarre solo la sequenza di comandi che interessa in un dato momento evitando di caricare il resto,quindi solo un pezzo di programma? 2. hai parlato di caricamento degli ordini e poi di esecuzione: per caricamento delle istruzioni di un sottoprogramma cosa intendi? il caricamento che funzione ha esattamente? 3. hai parlato prima di 5 ordini che possono essere eseguite tutte,una parte o nessuna.
Le istruzioni contenute nel programma non devono essere eseguite in maniera sequenziale?
|
|
Rank: AiutAmico
Iscritto dal : 4/5/2005 Posts: 22,971
|
mago30 ha scritto:1. il sistema operativo puo' caricare isolatamente solo un sottoprogramma,ovvero puo' estrarre solo la sequenza di comandi che interessa in un dato momento evitando di caricare il resto,quindi solo un pezzo di programma? Il Sistema Operativo può "leggere" (in soldoni: "capire") soltanto "frasi complete". Se gli dai una "frase incompiuta" non la capisce, la considera errata o irrilevante e non ne fa un bel niente. Il Sistema Operativo, dunque, può "leggere", come minimo, i "sottoprogrammi" (anche quando essi son minuscoli, purché implementati in maniera tale da aver, per il sistema, un compiuto senso). mago30 ha scritto:2. hai parlato di caricamento degli ordini e poi di esecuzione: per caricamento delle istruzioni di un sottoprogramma cosa intendi? il caricamento che funzione ha esattamente? La fase di "caricamento" corrisponde alla lettura e alla decifrazione (alla comprensione effettiva, dunque) degli ordini. Il Sistema Operativo "legge" i files che contengono gli ordini (i sottoprogrammi) e ne ricava quel che deve andare ad eseguire. L'operazione di "lettura su file" è una delle due "operazioni fondamentali" (l'altra è l'operazione "scrittura su file"). Se vuoi averne una visione un pochettino più precisa e tecnica, ti posto questo LINK. mago30 ha scritto:3. hai parlato prima di 5 ordini che possono essere eseguite tutte,una parte o nessuna. Le istruzioni contenute nel programma non devono essere eseguite in maniera sequenziale? Il codice compilato per essere eseguito ha sempre un suo preciso ordine interno di tipo GERARCHICO (e non è detto che la "gerarchia" che conta debba per forza essere di tipo "temporale"). L'esecuzione può avvenire in un dato ordine sequenziale, o in tutta una serie di varianti di tale "ordine", secondo quello che lo Sviluppatore ha previsto, voluto e impostato. Quel che davvero conta, per il funzionamento del Programma, sono le scelte progettuali dello Sviluppatore che lo ha creato.
|
|
Rank: AiutAmico
Iscritto dal : 5/27/2010 Posts: 255
|
il caricamento non implica la RAM il caricamento del sottoprogramma nella RAM?
Inoltre,se abbiamo 10 comandi ognuno corrispondente ad un sottoprogramma,questi saranno scritti in sequenza? Cio' non implica pero' che siano eseguiti dal sistema operativo sequenzialmente? Quindi l'ordine di esecuzione puo' essere variabile? In che modo si impone la variabilita'?
|
|
Rank: AiutAmico
Iscritto dal : 4/5/2005 Posts: 22,971
|
mago30 ha scritto:il caricamento non implica la RAM il caricamento del sottoprogramma nella RAM? La RAM è uno degli hardware coinvolti: ce ne son altri due. Uno (naturalmente) è il Processore. L'altro -ma non viene coinvolto sempre, tutto dipende dalla situazione- è quella parte di Hard Disk che è stata destinata a supportare il lavoro della RAM (in Linux si chiama "Partizione di SWAP", in Windows si chiama "Pagefile" o "file di paging"). Ma la "lettura su file" è indispensabile avvio di ogni operazione di "caricamento", in qualsivoglia ambiente operativo. mago30 ha scritto:Inoltre,se abbiamo 10 comandi ognuno corrispondente ad un sottoprogramma,questi saranno scritti in sequenza? Cio' non implica pero' che siano eseguiti dal sistema operativo sequenzialmente? Tu immagini le cose come se la sola "gerarchia" possibile sia quella "temporale": NON è affatto così. Son molto più frequenti "gerarchizzazioni" differenti da essa e guidate da criteri molto più elastici e complessi. mago30 ha scritto:Quindi l'ordine di esecuzione puo' essere variabile? In che modo si impone la variabilita'? Come t'ho già illustrato: decide (secondo quel che gli conviene progettare. ossia secondo le sue convenienze e preferenze anche personali) unicamente lo Sviluppatore (il Programmatore). L'Utente può solamente percorrer quelle strade che lo Sviluppatore gli ha apprestato a tale fine.
|
|
Rank: AiutAmico
Iscritto dal : 5/27/2010 Posts: 255
|
ok volevo un attimo tirare le fila perche' alcune cose mi sfuggono. Ti chiedo una cortesia: vorrei cercare,per quanto possibile,di trovare un legame di concretezza tra cio' che vedo nei programmi e le istruzioni perche' e' proprio qua che mi blocco per cui ti chiedo di aiutarmi in questo senso. Ogni programma ha un codice pero' occorre considerare i sottoprogrammi per cui consideriamo un sottoprogramma supponendo che solo il sottoprogramma A venga caricato ed eseguito. Il codice del sottoprogramma A conterra' istruzioni,supponiamo 20 istruzioni, che hanno un loro proprio ordine di esecuzione prefissato,stabilito dal programmatore. Nel momento in cui il sottoprogramma entra in esecuzione,qual'e' la prima istruzione che verra' eseguita? Sempre la prima oppure il sistema operativo puo' partire anche dall'ultima (non mi sembra accada questo). Inoltre,in che modo viene chiamato il sottoprogramma,c'e' un comando che lo invoca?
|
|
Rank: AiutAmico
Iscritto dal : 4/5/2005 Posts: 22,971
|
mago30 ha scritto:Nel momento in cui il sottoprogramma entra in esecuzione,qual'e' la prima istruzione che verra' eseguita? Sempre la prima oppure il sistema operativo puo' partire anche dall'ultima (non mi sembra accada questo). Inoltre,in che modo viene chiamato il sottoprogramma,c'e' un comando che lo invoca? Tu scrivi: "la prima istruzione che verrà eseguita". E con PRIMA intendi quella che verrà posta in atto TEMPORALMENTE prima di ogni altra. Ebbene, c'è un'istruzione che vien posta "in essere" prima di ogni altra, in ogni sequenza. Essa sarà, vista con l'occhio grossolano di un Utente, "la prima". Ma NON è detto che essa risulti anche la prima come POSIZIONE nella serie di ordini che compongono il sottoprogramma. NON è (nel senso che può anche accadere, ma non è una cosa necessaria) la prima cosa "in ordine di scrittura" (ordine considerato secondo un occhio umano) quella che vien sempre "caricata" ed eseguita prima. È, invece, quella che (secondo l'occhio del computer) occupa il posto più altro nell'ordine di Gerarchia. Se l'ultima "istruzione" è prioritaria -nell'ambito di quel che si è programmato di fare- in quanto a Gerarchia, verrà sicuramente caricata prima. Insomma, il "senso del Tempo" di un PC e quello mio e tuo NON sempre coincidono e, anche quando sembra lo facciano, non sempre coincidon pienamente. Il "modo in cui vengono chiamati i sottoprogrammi" è tutto nella loro GERARCHIA reciproca. Ciascun sottoprogramma è gerarchicamente collegato ad altri sottoprogrammi. Sicché, il caricarne uno conduce -secondo quelle che son le Gerarchie valide in quell'operazione- a caricarne, dopo, un altro... e così via sino alla fine. E questo appare forse come "fisso" ad una mente umana, ma -spesso- è alquanto elastico (l'aver caricato un certo sottoprogramma conduce, in una data situazione, a caricarne appresso un altro e in una situazione differente a NON caricarne alcun altro e ad interromper l'elaborazione [o a caricare un terzo sottoprogramma differente, se così ha stabilito lo Sviluppatore]). Il punto è che il Sistema non "vede" le cose come le vediamo noi. Un possibile esempio che spero ti possa aiutare a chiarire può essere quello del concetto di "dislivello". Una strada è semplicemente una strada. Questo, se ragioniamo a sole DUE dimensioni (nel solo Piano, insomma). Tuttavia, se la vediamo nello spazio, potremmo avere la sorpresa di percepir la stessa identica strada in due maniere totalmente differenti (anzi, opposte). Se l'imbocchiam dall'alto, vedremo solamente una DISCESA. Se la prendiam dal basso, vedrem la cosa opposta: UNA SALITA. Non ti parrà arbitrario, dunque, se ci pensi, che -a seconda di come il Sistema "imbocca" una serie di ordini- percepisca una serie oppure un'altra (del tutto differente) di Gerarchie da rispettare.
|
|
Rank: AiutAmico
Iscritto dal : 5/27/2010 Posts: 255
|
ah ok pero' considerando sempre un sottoprogramma. Supponiamo 10 istruzioni in ordine numerico. A questo punto,il S.O puo' eseguire per prima l'istruzione numero 5,poi la 9 poi la 4,etc. Come fa a sapere pero' il S.O l'ordine di esecuzione delle istruzioni? Esiste in questo caso una gerarchia prefissata e di che natura? Questa e' la sequenza da me definita: 5-9-4,etc. ? Dopo aver eseguito la prima istruzione (in posizione 5) come fara' il sistema a sapere che dovra' eseguire quella posta in posizione 4 ? Inoltre,per rendersi piu' semplice la vita,perche' gli ordini non vengono eseguiti in sequenza,non capisco. Perche' eseguire per prima una istruzione contenuta nella posizione 5,ovvero la quinta istruzione?
|
|
Rank: AiutAmico
Iscritto dal : 4/5/2005 Posts: 22,971
|
mago30 ha scritto:ah ok pero' considerando sempre un sottoprogramma. Supponiamo 10 istruzioni in ordine numerico. A questo punto,il S.O puo' eseguire per prima l'istruzione numero 5,poi la 9 poi la 4,etc. Come fa a sapere pero' il S.O l'ordine di esecuzione delle istruzioni? Te l'ho già spiegato: a guidare il tutto è il meccanismo "gerarchico" creato in fase di compilazione dal Programmatore/Sviluppatore. mago30 ha scritto:Esiste in questo caso una gerarchia prefissata e di che natura? Esistono alcune "forme canoniche" di riferimento (un po' come esistono in tanti altri campi: nell'arte, per esempio, nella poesia, nel design, etc...), ma. spesso, lo spirito creativo umano PARTE da tali "forme canoniche" stabilite per dare vita a forme nuove, più aderenti a quel che si desidera ottenere e, a conti fatti, spesso più efficaci. Insomma, le "regole" esistono, ma i Programmatori più in gamba e più creativi, aprono strade nuove e ci conducono -almeno, questo è molto spesso il loro sogno- a veder nuovi mondi (non fanno la stessa cosa anche gli artisti?)... mago30 ha scritto:Questa e' la sequenza da me definita: 5-9-4,etc. ? Dopo aver eseguito la prima istruzione (in posizione 5) come fara' il sistema a sapere che dovra' eseguire quella posta in posizione 4 ? Te l'ho già spiegato: tutto è già "programmato" nelle Gerarchie date con la compilazione del codice sorgente. mago30 ha scritto:Inoltre,per rendersi piu' semplice la vita,perche' gli ordini non vengono eseguiti in sequenza,non capisco. Perche' eseguire per prima una istruzione contenuta nella posizione 5,ovvero la quinta istruzione? Qui, c'è una cosa che ti devi sforzare di accettare, un concetto davvero importante, essenziale: la MACCHINA (il PC) non "vede le cose" (e, dunque non "ragiona") nel medesimo modo in cui facciamo NOI umani. La MACCHINA (il PC) non usa affatto la nostra stessa "lingua" (non sarebbe mai capace proprio di CAPIRLA, esattamente come noi non siam capaci di usare efficacemente la sua lingua [che è, di base, il cosiddetto "codice binario"]). TUTTI i Linguaggi di Programmazione sono, in realtà, una sorta di "accettabili compromessi" (accettabili per l'Uomo, intendo, che li trova ragionevolmente efficaci per il proprio lavoro di "scrittura") fra i nostri "linguaggi" (quelli che usiamo "fra persone" normalmente) e il Linguaggio-Macchina (quello che ogni computer usa). Insomma, SBAGLI COMPLETAMENTE se ritieni che per la MACCHINA (il computer) l'ordine "sequenziale" che tu vedi tanto perfetto e rispettabile e "lineare" abbia (rispetto a tutti gli altri "ordini" potenzialmente possibili) qualcosa di speciale.
|
|
Rank: AiutAmico
Iscritto dal : 5/27/2010 Posts: 255
|
ok. quindi nel momento in cui un sottoprogramma entra in esecuzione,supponendo che essa sia costituito da 10 istruzioni poste in file,il S.O puo' eseguirne una sola,due,tutte,etc. Pero' il fatto che lo stesso sottoprogramma preveda che il numero di istruzioni da eseguire sia di volta in volta variabile da cosa dipende? Perche' in una certa condizione il sistema esegue due istruzioni e in un'altra condizione solo tre o ancora tutte ?
|
|
Rank: AiutAmico
Iscritto dal : 4/14/2009 Posts: 2,264
|
Se posso esprimere un parere, per quello che vale, ho la sensazione, Mago30, che senza una minima conoscenza di Programmazione sarà estremamente complicato districare la matassa. Perchè? Secondo me perché è come voler costruire una casa cominciando dal tetto, in questo caso voler costruire una conoscenza ignorando ciò che la sostiene, nonostante Monsee stia facendo veramente l'impossibile per chiarirti la questione. Siccome questo topic, che ho seguito, mi ha incuriosita, ho girovagato un po' in Internet. Ci sono dei papirozzi per me (che ignoro totalmente la materia) complicati sull'argomento, c'è però anche qualcosina di accessibile. Ho trovato una serie di video, ti linko la prima lezione: http://www.youtube.com/watch?v=EgQihnx9u70&feature=relatedL'autore ha un suo canale su YouTube, dove puoi trovare anche tutte le altre lezioni: http://www.youtube.com/user/MegaNico1979Mi piacerebbe tanto se qualche Aiutamico mi dicesse se con questo mio intervento ho toppato di brutto circa il percorso da seguire o se qualcosina di giusto c'è. Non mi offendo, anzi! Ciao :-)
|
|
Rank: AiutAmico
Iscritto dal : 5/27/2010 Posts: 255
|
lo credo anche io. a questo punto forse sarebbe meglio potermi avvalere della vostra e della collaborazione di monsee per domande pratiche,quotidiane. azzurrag hai ragione.
|
|
Rank: AiutAmico
Iscritto dal : 4/5/2005 Posts: 22,971
|
azzurrag ha scritto:Mi piacerebbe tanto se qualche Aiutamico mi dicesse se con questo mio intervento ho toppato di brutto circa il percorso da seguire o se qualcosina di giusto c'è. No, che non hai "toppato". Il punto vero è che si tratta di argomenti per comprender davvero i quali è indispensabile "poter ragionare a un certo livello di conoscenze già acquisite" (parlo di conoscenze specifiche in materia informatica, sia chiaro). L'andare sempre e comunque a "semplificare a tutti i costi l'argomento", in casi come questo, conduce sovente entro vicoli ciechi. Ma vedo che i links che hai postato tu sembrano validi -nonché, per quello che è possibile, felicemente semplici- e son sicuramente più utili (ai fini di una reale comprensione delle cose) di tutto quello che potrei "barbaramente" dire io... Ottimo link, amica mia: me ne congratulo.
|
|
Rank: AiutAmico
Iscritto dal : 4/14/2009 Posts: 2,264
|
OK! Grazie 1000 per la conferma.
Buona giornata a tutti :-)
|
|
Guest |