n° 219
Novembre 2017
Dicembre 11, 2017, 01:24:03 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


* Messaggi recenti
Messaggi recenti
Pagine: 1 [2] 3 4   Vai giù
  Stampa  
Autore Discussione: Quale linguaggio per iniziare a programmare ?  (Letto 36971 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Jenie_net
Jr. Member
**

Karma: +0/-0
Scollegato Scollegato

Messaggi: 235

0
Mostra profilo
« Risposta #15 inserita:: Ottobre 04, 2004, 05:24:59 »

buonasera.
Il mio caloroso saluto verso i miei cari amici.

Volevo intervenire in merito,giusto per dire la mia.
Il mio iter di linguaggi è il seguente.

   -------------------------> tempo

  C/C++ ----->VB  ------>
  ----------------------> JAVA/C# ----->VC++
  ASM   ----->DELPHI---->

1°chapter.
Il c/c++ e l\'asm andrebbero studiati in due corsi in
parallelo.Gettando così solidissime basi.Per non parlare del fatto che imparando due linguaggi parallelamente
abitui la tua mente ad essere versatile.Inoltre questa
tecnica del parallelismo ti ritorna utile nella vita da informatico.
Es.Sei un libero professionista,hai tre progetti su cui lavorare,tutti e tre in un linguaggio diverso.Come Fai?
Ti assicuro che ogni volta il tuo cervello deve abituarsi al \"cambio\" di linguaggio e situazione...salvare i dati del progetto precedente,recuperare quelli
che avevi immagazzinato dell\'altro per poi dimenticarti tutto e riprendere il terzo....quindi se
inizi questo lavoro di push e pop ogni volta...ti rimarrà più semplice poi.(ora torniamo a noi)

2°chapter
-Proseguire poi con un linguaggio a scelta tra delphi e VB.
Essi sono due linguaggi differentissimi sotto il profilo reale ma molto simili nella facilità di apprendimento ed anche un po nella sintassi.

2°-->A
Con il VB ti potrà sembrare all\'inizio di poter creare l\'impossibile.Con il tempo inizierai a sopperire e a risentire un approccio \"veramente\" oop e la \"pochezza\"
con la quale gli ingegneroni microsoft produssero tale prodotto.

2°-->B
Con il delphi potrai \"gustare\" ciò che le teste borland hanno prodotto.E cioè una \"piattaforma\" in grado di far volatilizzare i difetti del VB perndendone solo i lati migliori.Delphi denominato infatti VB KILLER ha molti pregi.Uno dei quali è la compatibilità nel tempo,senza tralasciare che il compilatore è velocissimo...(almeno fino alla 7),e crea eseguibili veramente piccoli.
Diciamo che per l\'85% delle applicazioni desktop VB di meno,o Delphi di più ti permettono di cavartela senza traumi(si fa per dire senza...) o cmq discretamente.

3°chapter
Se poi il tuo range di applicazioni è più orientato verso internet o cmq vuoi restare aggiornato con i tempi,è opportuno che tu impara java o un linguaggio .net unito a qualche linguaggio di script(PHP con java , asp con .net o ancora perl o python).

4°chapter
Se poi le tue applicazioni sono di ambito ingegneristico o scientifico o che cmq vadano a fondo nel tuo sistema operativo....o la tua voglia di programmatore vuole fare un\'esperienza veramente diversa allora puoi imparare il VC++.Con quel \"coso\" puoi toccare le vette o rinunciare subito.Perchè \"domarlo\" è una bella sfida.


Ciao!

Jenie_net
Registrato

\"Sa chi sa che non sa ma non sa chi sa che sa\"  
filosofo greco
Roberto Allegra
Global Moderator
Hero Member
*****

Karma: +50/-1
Scollegato Scollegato

Messaggi: 2102



Mostra profilo WWW
« Risposta #16 inserita:: Ottobre 04, 2004, 06:17:25 »

Citazione

Ci tenevo sottolinearlo.. sai... anche per chi legge.. che non si faccia una cattiva idea..  


Hai fatto bene: poteva essere interpretata in maniera ambigua...  Felice


Citazione

Anch\'io sarei del motto.. sbatti il muso col C..
Però mi accorgo che al giorno d\'oggi si stanno perdendo sempre più i legami con i linguaggi madre. [...] Si vanno a rompere i legami con il concreto.



Vero. Infatti, una sana concezione della programmazione prevede anche l\'ASM (almeno sulle basi!) e, soprattutto il C.
Io continuo a sostenere che chi non ha programmato ALMENO in C, non è, semplicemente, un programmatore. Punto. E\' uno script kiddie, forse.
Per questo mi accanisco a indicare C/C++ come via, in maniera da imparare almeno un linguaggio di \"medio livello\" (qualcuno potrebbe scannarmi per definire il C di \"medio livello\").

Citazione

Abbandonando questo discorso un pò filosofico..
(mi piacerebbe sentire il parere di M.A.W.)


Giusto! Piacerebbe anche a me (spero che veda la discussione).
Ricordandogli che l\'approccio dovrebbe essere UMANO (ovvero orientato a un normale essere umano Sorriso ), mi piacerebbe vedere a che posto metterebbe Prolog e LISP.

Citazione

Ops... non vedo più ne pascal ne Delphi... se la prenderà Sal?  


Non dopo che gli avrò fatto visita col software dell\'Ipnorospo! Sorriso
Registrato

I moderatori invitano tutti gli utenti a prendere visione del REGOLAMENTO e a rispettarlo.
mgx
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 4


Mostra profilo
« Risposta #17 inserita:: Ottobre 05, 2004, 10:01:09 »

grazie dei consigli! mi avete effettivamente chiarito le idee sui vari linguaggi e confuse su che strada prendere.
alla fine credo che studierò il VB a scuola(per forza). a casa mi farò prima il C# per poi passare o al delphi o testarmi sull assembly. dopodichè dal C# al C++...
secondo voi può essere minimamente giusto come percorso? tempo necessario al giorno e per finere il mio iter(mettendo come ipotesi che io mi impegni seriamente(quando inizio una cosa di solito la faccio bene))?
ancora grazie a tutti
Registrato
Memole
Full Member
***

Karma: +0/-0
Scollegato Scollegato

Messaggi: 553

156623314
Mostra profilo
« Risposta #18 inserita:: Ottobre 06, 2004, 09:11:16 »

Caro mgx..  
credo che i tempi siano mooooolto relativi per imparare un linguaggio.

Sappi che c\'è chi dice  che per \"imparare\" realmente il visual C++ servano mediamente 1 anno e mezzo intensivo.
Ma questo rimane sempre relativo.
Rispondi a me se riesci: Quando un programmatore può dire di conoscere un linguaggio?

Potrei risponderti 2 settimane, potrei dirti 2 giorni, potrei dirti mai..

Occhiolino  Afferrato il concetto?
Non ti mettere dei paletti e lascia che il cammino venga da sè.
Registrato

Matteo

Enjoy your mind  
Mqaximo
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 18


Mostra profilo
« Risposta #19 inserita:: Ottobre 06, 2004, 09:15:52 »

Ciao Mgx!

Sinceramente non so cosa consigliarti e non posso dire che un linguaggio è meglio di un altro o che un altro linguaggio è più facile di un altro però ti posso raccontare la mia esperienza e poi sarai tu stesso a trarne le dovute conclusioni.

Anche io ho iniziato a programmare sulla base di input dati a scuola e ti devo dire la verità, non è moltissimo tempo che programmo quindi non me la sento di definirmi un guru.
In compenso mi sono tolto parecchie soddisfazioni.
Ho iniziato a programmare circa 4 anni fa quando in terzo ragioneria superiore ci hanno avvicinato al Pascal.
Da subito è scoccata una certa affinità tra me e la programmazione e mi ci sono buttato a capofitto.. n\'altro poco mi studiavo pure la parte grafica Linguaccia
L\'anno successivo, invece, ci hanno fatto fare Visual basic (da molte soddisfazioni perchè ti permette di avere un programma immediatamente funzionante e ti permette di gestire l\'interfaccia grafica come se il programma lo stessi disegnando su carta per non parlare della grande potenza del linguaggio (non ai livelli di C ma quasi)).
In quinto ho studiato le basi di dati e quindi l\'SQL, un campo totalmente nuovo e che a prima vista mi sembrò una cosa barbosa e lenta ma poi.. si è rivelato utilissimo!
Al primo anno di Università Poi mi hanno chiesto di imparare Java e lì mi son fermato a livello didattico (tralasciando l\'html che è un passaggio doveroso).

Morale della favola?

Pascal = serve per l\'\"acquisizione della mentalità algoritmica\" che è la cosa più importante in assoluto perchè se non risolvi prima il problema inventando o mettendo a punto un metodo, una funzione o un sistema che lo possa risolvere.. puoi sapere tutti i linguaggi di programmazione ma.. non ti servono a nulla!

Visual Basic = Applicazione della mentalità algoritmica a programmi di tipo visuali con la gestione automatica del codice relativo al making degli \"oggetti visuali\" e grandi soddisfazioni immediate.
I programmi creati funzionano solo sotto windows.

SQL = Inizialmente pensavo che non servisse a nulla comunque lo imparai lo stesso.. ora mi rendo conto che è stata una santissima cosa! (Vedi PHP)

Java = è stata la svolta! Un linguaggio molto versatile ma veramente molto potente con una sintassi molto semplice e allo stesso tempo molto completa. Quì mi sono reso conto di cosa avveniva effettivamente e cosa ci stava alla base di tutti i linguaggi di programmazione che ho fatto fino ad allora: Applicazione della solita mentalità algoritmica associata ad uno sviluppo da ZERO da una pagina bianca a creare tramite codice oggetti grafici, gestione di eventi, interlacciamento con database e strutture dati.. insomma un altro mondo! Veramente il TOP!
Certo è che non è un \"learning language\" cioè non è stato pensato come un linguaggio per apprendere la programmazione da zero ma se si vuole iniziare a programmare almeno via console senza iniziare pesantemente con la gestione della grafica, è molto più semplice dei linguaggi precedenti (certo la facilità di creazione della grafica di Visual Basic te la sogni!) ma a livello di codice... non ce n\'è per NESSUNO!
Inoltre i programmi scritti in Java come forse saprai funzionano su qualsiasi Sistema Operativo mentre i programmi scritti in altri linguaggi vanno ricompilati per ogni S.O.

PHP = Java! Ebbene si.. è quasi totalmente identico a java.. cambiano solo alcune cose tipo la definizione delle variabili e delle strutture dati nonchè qualche altra struttura e qualche operando tipo il \".\" per concatenare le stringhe.. tutto il resto è JAVA! Naturalmente essendo un linguaggio per il web gli si aggiungono tutte le specifiche del caso tipo le apposite funzioni per l\'accesso ai database ecc. E quì mi è servito l\'SQL! Perchè le applicazioni web dinamiche spesso e volentieri si appoggiano su database per il prelevamento e l\'immissione dei dati, pensa a questo stesso forum.
Va ricordato che PHp non è \"java per il web\" perchè per quello c\'è Java Enterprice Edition (J2EE).

C/C++ = E\' il progenitore di molti linguaggi di programmazione tra cui Java e di conseguenza PHP ciò porta alla conclusione ovvia che la sintassi è del tutto simile a java e PHP. Vale per cui lo stesso discorso di Java.
Ha dalla sua una grande velocità di esecuzione dei programmi (solo i programmi in assembler sono più veloci) e una grande integrazione con files di libreria ecc.
I programmi creati funzionao anche sualtri SO ma vanno ricompilati.

Delphi = Un Pascal \"rimodernato\" in versione visuale, è come se stessi usando il Visual Basic per disegnare la finestra solo che per scrivere le routine usi il pascal, quindi puoi creare applicazioni visuali scrivendo il codice necessario in pascal. Naturalmente anche in questo caso si ha una ottima interoperabilità col Sistema operativo Windows ma per gli altri SO non so dirti.

ASP = Come il PHP è un linguaggio di programmazione web ma che stavolta si appoggia (nella sintassi) a Visual Basic.
Lo si può considerare la risposta della Microsoft al PHP.

Infine (siccome ho visto che è stato menzionato):
Assembler = Beh è la pura applicazione della mentalità algoritmica, la sintassi è veramente breve e semplice molto \"basilare\" Linguaccia ma programmare in Assembler è come fare una partita a scacchi.. non è tanto la scrittura del codice a dare problemi ma il posizionamento dei dati nei registri e il corretto uso dello stack in memoria. (sconsigliato per chi è alle prime armi anche se è molto facile)

L\'HTML non è un linguaggio di programmazione e pertanto non lo considero proprio! Linguaccia

Spero di aver reso l\'idea.
Ciao.
Registrato
mgx
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 4


Mostra profilo
« Risposta #20 inserita:: Ottobre 06, 2004, 11:40:14 »

grazie Mqaximo del confronto sui vari programmi! mi rendo conto di aver detto una cavolata su quanto tempo ci vuole per imparare un linguaggio dato che nn si può dire quando lo si ha definitivamente appreso. credo che ora tocchi a me e se il caso lo vorrà chi sa che cosa succederà...
Registrato
Roberto Allegra
Global Moderator
Hero Member
*****

Karma: +50/-1
Scollegato Scollegato

Messaggi: 2102



Mostra profilo WWW
« Risposta #21 inserita:: Ottobre 07, 2004, 10:40:43 »

Citazione

[Visual Basic] ... per non parlare della grande potenza del linguaggio (non ai livelli di C ma quasi)).


ARGH! Schersèmo?
Sta\' attento: dal punto di vista del Torquemada dello standard INCITS/ISO/IEC 14882-2003, questa è blasfemia passibile di tortura! Sorriso
VB è uno dei linguaggi più limitati e MENO potenti in assoluto. Hai mai provato a fare un engine di IA in VB?
Io sì: riusciva a dire: \"E2E4\". Dopodiché il nulla.
Però lo faceva in maniera \"visuale\" Sorriso

Citazione

grazie Mqaximo del confronto sui vari programmi! mi rendo conto di aver detto una cavolata su quanto tempo ci vuole per imparare un linguaggio dato che nn si può dire quando lo si ha definitivamente appreso. credo che ora tocchi a me e se il caso lo vorrà chi sa che cosa succederà...


Non è proprio una cretinata, nel senso che - come ti ha detto Memole - c\'è la tendenza a definire un periodo (o quantomeno una \"curva\") di apprendimento.
Ovviamente questo periodo è una pura invenzione dettata dalla necessità dei vari corsi di pseudo-formazione, ma si fonda su basi più o meno ragionevoli.

Alla fine (non smetterò mai di dirlo) quello che conta è l\'esperienza di programmazione acquisita su uno dei linguaggi appartenenti allo stesso paradigma.
Il \"percorso\" che indicavo prevede, ad esempio, C (linguaggio procedurale), C++ (multiparadigma) e C# (linguaggio... simil-OOP Felice ).

Se ti fai un bel \"piano\", vedrai che le esperienze accumulate nello studio linguaggi precedenti si riveleranno fondamentali nei successivi.

Oltre ai linguaggi, c\'è poi la formazione di una \"mentalità algoritmica\" (come diceva Mqaximo), ma non solo.
Ci sono anche TUTTI gli algoritmi formali da imparare e su cui perfezionarsi e la relativa marea di applicazioni possibili.
Oltre a questo c\'è da sviluppare una mentalità \"ingegneristica\" alla programmazione (cosa altrettanto e forse anche più importante), per essere capaci di costruire architetture di oggetti logiche, solide, e non-inclini a bugs.

Poi c\'è la conoscenza degli elementi, delle possibilità e del funzionamento dei dispositivi, delle reti, e dei Sistemi Operativi.

E\' in ragione di tutti questi elementi che è un po\' impossibile dire QUANDO si smette di imparare un linguaggio, o la programmazione più in generale.

Anche perché, qualora questo avvenisse, ci si smetterebbe di divertire... Sorriso
Registrato

I moderatori invitano tutti gli utenti a prendere visione del REGOLAMENTO e a rispettarlo.
Roberto Allegra
Global Moderator
Hero Member
*****

Karma: +50/-1
Scollegato Scollegato

Messaggi: 2102



Mostra profilo WWW
« Risposta #22 inserita:: Ottobre 07, 2004, 10:55:40 »

A rileggere le descrizioni dei vari linguaggi e del percorso di apprendimento, mi viene in mente che è qualcosa che è stato già trattato innumerevoli volte, ognuna con interlocutori/contributori diversi e ognuna con almeno un argomento che vale la pena di conservare.

Dato che siamo nel forum \"suggerimenti/richieste generiche\", proporrei di raccogliere le informazioni su questi argomenti tanto richiesti, convertirle in forma organica e universalmente condivisibile, e porre il risultato in una sezione \"FAQ\" facilmente accessibile.

Questo permetterebbe di rispondere, a future richieste, potendo citare un link preciso. Con ovvio sollievo di chi richiede e di chi risponde.
Registrato

I moderatori invitano tutti gli utenti a prendere visione del REGOLAMENTO e a rispettarlo.
Mqaximo
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 18


Mostra profilo
« Risposta #23 inserita:: Ottobre 07, 2004, 08:21:55 »

Citazione
Postato originariamente da visualrob
Citazione

[Visual Basic] ... per non parlare della grande potenza del linguaggio (non ai livelli di C ma quasi)).


ARGH! Schersèmo?
Sta\' attento: dal punto di vista del Torquemada dello standard INCITS/ISO/IEC 14882-2003, questa è blasfemia passibile di tortura! Sorriso
VB è uno dei linguaggi più limitati e MENO potenti in assoluto. Hai mai provato a fare un engine di IA in VB?
Io sì: riusciva a dire: \"E2E4\". Dopodiché il nulla.
Però lo faceva in maniera \"visuale\" Sorriso
Oltre ai linguaggi, c\'è poi la formazione di una \"mentalità algoritmica\" (come diceva Mqaximo), ma non solo.
Ci sono anche TUTTI gli algoritmi formali da imparare e su cui perfezionarsi e la relativa marea di applicazioni possibili.
Oltre a questo c\'è da sviluppare una mentalità \"ingegneristica\" alla programmazione (cosa altrettanto e forse anche più importante), per essere capaci di costruire architetture di oggetti logiche, solide, e non-inclini a bugs.

Poi c\'è la conoscenza degli elementi, delle possibilità e del funzionamento dei dispositivi, delle reti, e dei Sistemi Operativi.

E\' in ragione di tutte questi elementi che è un po\' impossibile dire QUANDO si smette di imparare un linguaggio, o la programmazione più in generale.

Anche perché, probabilmente, ci si smetterebbe di divertire... Sorriso


Quoti in pieno!
Beh per VB hai ragione forse ho esagerato un tantino.. (ma lo volevo invogliare a studiarlo dato che gli servirà quest\'anno a scuola!)in effetti non intendevo dire che il vb e c siano comparabili a livello di sistema!
Infatti ho detto nella descrizione relativa a C (anche se oggettivamente mi son fermato più si java) che la velocità di esecuzione dei programmi è incomparabile (il che deve far riflettere parecchio e deve far capire che l\'interoperabilità fornita da C sia Semi-Immensa).
Comunque, secondo Me se deve imparare il C# tanto vale imparare Java! Il C# ha la stessa identica sintassi solo che è un linguaggio proprietario Microsoft e i programmi scritti in C# funzionano (di conseguenza) solo su OS Microsoft.

Per la seconda parte relativa alla \"mentalità algoritmica e soprattutto ingegneristica\" sono più che daccordo con te!
Da sempre sono stato un sostenitore del \"problem solving\" in primo luogo e poi della programmazione vera e propria...
All\'Università mi son reso conto di quale sia la differenza tra Scienze informatiche (programmi in moltissimi linguaggi ma i progetti non sono un gran che... (senza nulla togliere agli Informatici!!!)) e Ingegneria Informatica (progettazione e realizzazione di Applicazioni dalle più disparate utilità!)!

Ciao a tutti Sorriso
Registrato
Salvatore Meschini
Non sempre ciò che viene dopo è progresso
Global Moderator
Hero Member
*****

Karma: +35/-12
Scollegato Scollegato

Messaggi: 3431


42°01.408' NORD - 13°25.315' EST


Mostra profilo WWW
« Risposta #24 inserita:: Ottobre 08, 2004, 07:36:10 »

Citazione
Fallo, allora!


L\'idea dell\'Inquisitor non è malvagia, senza una FAQ si rischia di rispondere, con le immancabili flames, n volte alle stesse domande. Propongo di isolare le domande più frequenti, i thread in cui ci sono state risposte valide e di iniziare la stesura della FAQ.

Qualche argomento da trattare:
- Panoramica dei vari linguaggi di programmazione con punti di forza/debolezza.
- .NET Framework
- Che?!?
Registrato

Salvatore Meschini

I moderatori invitano tutti gli utenti a rispettare il REGOLAMENTO.
donatoditullio
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 2


Mostra profilo
« Risposta #25 inserita:: Ottobre 20, 2004, 12:20:08 »

Citazione
Postato originariamente da mgx
ciao a tutti, vorrei chiedervi secondo voi che linguaggio dovrei imparare ora. io \"so\" il pascal, l ho studiato nel biennio a scuola, e quest anno inizio il visual basic, ma vorrei a casa approfondire un altro linguaggio, pensavo al C++, voi cosa mi consigliate? e credete sia possibile impararlo con le sole guide che si trovano su internet o mi devo comprare un libro specifico?


Il mio consiglio, dato che già conosci pascal, è quello di studiarti Delphi che ti permette di realizzare qualunque tipo di programma ed è sicuramente uno dei migliori linguaggi che siano mai stati concepiti.
Come sicuramente sai Delphi si basa principalmente sul Pascal e il pascal è stato ideato proprio allo scopo di insegnare i principi basilari della programmazione.
L\'obbiettivo di chi vuole lavorare come programmatore dovrebbe essere quello di capire come si realizza un programma e non semplicemente di imparare un linguaggio o l\'altro.
Delphi ti permette di diventare un programmatore. Fatto questo, nella maggior parte dei casi, non sarai tu a decidere quale linguaggio dovrai imparare, ma saranno le necessità e le aziende per le quali dovrai lavorare.
Delphi comunque è un linguaggio adottato da moltissime aziende proprio per le sue caratteristiche che lo rendono superiore a molti altri linguaggi.
Se pensi che già prevede il Framework .Net e che nelle prossime versione ci sono in serbo tantissime novità si può dire che Delphi non solo è un linguaggio al passo con i tempi ma che spesso addirittura li anticipa.
Su internet c\'è tanto materiale su Delphi ed lo trovi distribuito gratuitamente. L\'unica cosa è che il materiale che ti guida per mano nell\'apprendimento del linguaggio lo trovi o in Inglese o in Spagnolo.
Se ti interessa però un testo in italiano da comprare e che ti guida veramente per mano partendo dalle cose più elementari l\'ho appena pubblicato io.

Lo puoi scaricare dal seguente link :

http://www.inedito.it/description_nonf.asp?DOCU_ID=982&idd=318#

Spero di esserti stato utile.

Donato Marco Di Tullio
Registrato
Roberto Allegra
Global Moderator
Hero Member
*****

Karma: +50/-1
Scollegato Scollegato

Messaggi: 2102



Mostra profilo WWW
« Risposta #26 inserita:: Novembre 13, 2004, 12:40:22 »

Ciao a tutti!

Sono tornato (quasi) da un lungo periodo di impegni non-stop dei quali sto cominciando a vedere la fine.
Risultato: ho un po\' di tempo in più per scrivere qualche post.

Dunque:

L\'idea della Faq mi convince sempre di più... anche perché da un\'occhiata sommaria vedo che le domande frequenti continuano senza tregua!

Sal ha già trovato alcuni dei punti chiave (ovvero quelli che hanno acceso più flames in passato) e delicati:

- - Panoramica dei vari linguaggi di programmazione con punti di forza/debolezza.
- .NET Framework

io, su due piedi, aggiungerei:

- Libri consigliati per linguaggi/argomenti
- Strumenti di auto-aiuto (ovvero un post in cui si CONSIGLI chiaramente come fare a cavarsela da soli, elencando le fonti preferenziali, sulla falsariga di \"Domande Intelligenti\").
- (molti) Altri

La domanda, però, è: \"Dove la mettiamo un\'opera tanto monumentale, delicata e vasta - la quale, per sua stessa natura, abbisogna di una certa rintracciabilità?\"
Registrato

I moderatori invitano tutti gli utenti a prendere visione del REGOLAMENTO e a rispettarlo.
Roberto Allegra
Global Moderator
Hero Member
*****

Karma: +50/-1
Scollegato Scollegato

Messaggi: 2102



Mostra profilo WWW
« Risposta #27 inserita:: Novembre 15, 2004, 11:32:07 »

Ciao!

Sì: penso che sarebbe cosa buona e giusta. Tenendola ben pulita e organizzandola bene verrebbe fuori qualcosa di leggibile e facilmente referenziabile. Tipo:

\"Quesito già risposto. Vai alla sezione FAQ...\"

Beh, appena sarò definitivamente libero inizierò a stendere qualcosa sui linguaggi, cercando di condensare i vecchi post. Visto l\'argomento direi che la sfida principale è l\'obiettività. Inizierò col Pascal... Sorriso

------------------

PS: In questo periodo matto e disperatissimo mi è capitato e mi capita di fare spesso notte inoltrata. Ho potuto così apprezzare il fatto che, verso le tre antimeridiane, la Rai offre le repliche di \"Space: 1999\"!
Registrato

I moderatori invitano tutti gli utenti a prendere visione del REGOLAMENTO e a rispettarlo.
M.A.W. 1968
** LEGGETE IL REGOLAMENTO ! **
Global Moderator
Hero Member
*****

Karma: +224/-19
Scollegato Scollegato

Messaggi: 2988


Discrete And Combinatorial Mathematics


Mostra profilo WWW
« Risposta #28 inserita:: Novembre 17, 2004, 12:36:57 »

Citazione
Postato originariamente da visualrob
(mi piacerebbe sentire il parere di M.A.W.)
Giusto! Piacerebbe anche a me (spero che veda la discussione).
Ricordandogli che l'approccio dovrebbe essere UMANO (ovvero orientato a un normale essere umano Sorriso ), mi piacerebbe vedere a che posto metterebbe Prolog e LISP.

Considerando i constraints ambientali e visto che, mi dicono, siamo nel 2004, ritengo che sarà qui necessario consigliare un percorso personalizzato che prescinda dai Sacri Dettami Dogmatici.

Codice:
   * VB
    |
    * C# --------------* Prolog
    |                  |
    * C e C++          * Miranda, Haskell, (Moscow) ML
    |                  |
    * java             * LISP e CLOS
    |                  |
    * Eiffel (.net)    * Perl, AWK & SED, Tcl/Tk
    |                  |
    * P-scripting      * J e APL
    |                  |
    * SQL e 4GL        * ICON
    |
    * ...


Qui devo fare violenza alla mia natura consigliando di invertire l'ordine cronologico dei linguaggi OO C-based.

a) L'approdo al .NET, in questo quadro formativo, ha la massima precedenza.

b) Assaggiare subito C# permette di essere in breve produttivi con un ambiente moderno e largamente diffuso, e poi di passare con facilità a java, e (forse, ma andrebbe dimostrato formalmente) con meno mal di testa a C e C++.

c) Gli ingredienti ci sono tutti: OOP, .net, componenti, "modernità" e produttività.

d) Dopo aver giocato con i linguaggi più di moda, si può anche vedere un vero linguaggio OOP come Eiffel, per giunta senza spostarsi dal .NET.

e) P-scripting sono ovviamente i linguaggini di scripting che iniziano per P: Python e Perl, nonché - per estensione - anche Ruby e Rebol. D'altronde, eccetto forse Perl, sono nati per essere appresi nel giro di poche ore, pardon, giorni.

f) I paradigmi alternativi, dal dichiarativo al funzionale, possono e devono essere studiati in parallelo. Anche per evitare che poi un domani qualcuno vada a scrivere cose amene, nei forum e sulle riviste, sulla "unicità" o "modernità" della OOP. Gli esoterici unix messi dopo il LISP sono un tocco di raffinatezza da vero gourmet, come le pere al cioccolato.



Fin qui il caso in esame. Adesso però stracciamo il calendario, ignoriamo allegramente il vincolo dell'UMANO, e facciamo le cose a modo mio:

FASE 1: Full immersion in elettronica digitale e architettura dei calcolatori, con indigestione di algebra booleana e altre teorie del primo ordine, logica digitale combinatoria e sequenziale, a spasso con Boole e De Morgan per mappe di Karnaugh e risolutori di Quine, tableau di Gentzen e Hilbert, BDD e OBDD (importantissimi !), architetture Harvard e Von Neumann, esempi for dummies di reti di Petri, FSM Mealy e Moore, VHDL e Verilog, gite in laboratorio per toccare con mano il software-su-silicio: led che occhieggiano, i flip-flop D e JK che commutano, i contatori che scodinzolano, i latch 3-state e gli shift register che ballano la czarda a ritmi indiavolati, analizzatori logici a 256 canali e 10 Gs/s che cantano la cavatina di Figaro.
E' fatto obbligo agli studenti di dormire con l'Hennessy-Patterson ed il Tanenbaum al posto del cuscino, giusto per iniziare a sospettare cosa c'è dentro la scatola del PC.
In questa fase avviene anche l'iniziazione esoterica all'uso di strumenti demoniaci come MAX-II plus, Mu-PAD, Maple, Mentor con la scusa del supporto agli esercizi, ma con il subdolo intento di far capire subito che i calcolatori servono a RISOLVERE dei problemi, più che a crearne di autoreferenti.

Linguaggi utilizzati: come naturalissima conseguenza di quanto si va apprendendo, programmazione in assembly su baby CPU a 8 e 16 bit. Interrupt e DMA, device drivers, programmazione di sistema, gestione devices, interfacciamento periferico, protocolli seriali e networking, dump hex e pezzi di BIOS col caffellatte per colazione: e dopo l'I/O bound, la programmazione logica e l'implementazione dei principali algoritmi CPU-intensive, gestione delle rappresentazioni e strutture dati, debugging (Von Neumann, system-level e application-level), emulazione e simulazione, microottimizzazione e sistemi di misura relativi.

FASE 2: Bombardamento a tappeto con linguaggi formali light e soprattutto semantica operazionale, che è il non plus ultra per intuitività e favorisce la logica della programmazione e la programmazione logica, ricollegandosi a quanto visto in FASE 1 con le giuste astrazioni.
Ogni giorno, secondo l'antica regola monastica tardo medioevale, calzoni corti da boy-scout, temperatura ecclesiale di 15°C, in ginocchio sui ceci, recita a memoria di brani e dimostrazioni dallo Knuth, dal Cormen-Leiserson-Rivest (sì, proprio QUEL Rivest, la "erre" di RSA <genuflessione>), dal Sedgewick, con particolare riguardo alle metriche di complessità.

Linguaggi utlizzati: ANSI/ISO C'89, iniziando a compilare e ricompilare TUTTI gli esempi del K&R e dei testi sacri sopra menzionati. Programmazione mixed language, interazione spinta con l'assembly, progettazione di semplici librerie (e demoni, VxD, DLL...), implementazione degli algoritmi standard, multitasking e multithreading, misure prestazionali puntuali comparative tra C e Assembly nei domini del tempo di esecuzione e dello spazio in memoria. Guida intensiva allo sviluppo di una sensibilità felina nell'individuazione immediata, a prima vista, di quell'80% del codice che fa il 20% del lavoro, e quindi può essere scritto in C. Ottimizzazione e controllo diretto dell'HW portwise, emulazione di protocolli bitbang, brevi cenni di operations research e scheduling ottimale, compilatori di compilatori e cross compilers, little languages ed altri assaggi di task informatici degni di questo nome...

FASE 3 o cesura: basta con le dita nella marmellata, si inizia a parlare sul serio di astrazione. Teoria dei linguaggi di programmazione, con studio quotidiano (vedi FASE 2) del Sebesta. Programmazione dichiarativa, funzionale, constrained, OO, retrospettiva sul procedurale imperativo e sulla decomposizione funzionale.
Recita collettiva (vedi FASE 2) di brani dal Pressman e dal Mandrioli-Ghezzi per l'acquisizione di capacità di engineering. Studio intensivo, alla Alfieri (legati alla sedia), di linguaggi formali hard, come Z e LTL, con pause di relax a base di UML, OCL e asserzioni alla Hoare. Ritorno alle origini con le reti di Petri in tutto il loro splendore, le algebre di processo, le strutture di Kripke.
Esercitazione alla formalizzazione e verifica dei lavori finora prodotti.

Linguaggi utilizzati: SmallTalk, Eiffel, Ada(1), C++, Python, Moscow ML, B-Prolog, CLOS, J, Haskell, ICON e UNICON...
Implementazione di algoritmi dal Russell-Norvig, scheduling a capacità finite, discesa deterministica e simulated annealing, generazione combinatoria e programmazione algebrica hard, calcolo numerico a precisione arbitraria ed altre squisitezze scelte in ragione delle specialità culinarie dei vari linguaggi.

Al termine della FASE 3, gli allievi che saranno in qualche modo sopravvissuti potranno fregiarsi della definizione di "aspirante programmatore dilettante" e dedicarsi senza troppi problemi allo studio ulteriore di qualsiasi linguaggio di programmazione passato, presente e futuro. La Direzione Monastica, però, dopo gli insegnamenti impartiti, non risponde di eventuali slogature di mandibole causate da eccesso di risa nell'affrontare taluni linguaggi, come VB, java o i nipotini del pascal. Fico

Questo per il corso di base. Chi fosse interessato a corsi avanzati, master e PhD può tranquillamente contattarmi... Felice

Per chi abbisogna dei sottotitoli: sotto le scanzonate sembianze di una simpatica goliardata, questo non è altro che la prima parte del serissimo programma di formazione superiore erogato nei centri di Alta Formazione di alcune multinazionali a neoassunti laureati e addottorati, a cura di progettisti e formatori di grande esperienza, tra i quali, si parva licet, il sottoscritto. Il corso è destinato alla trasformazione di semplici laureati in aspiranti programmatori e progettisti embedded.



(1): prima o poi anche a qualcuno di questi giovinastri capiterà di scrivere software a specifica MIL-STD-498 o RTCA-DO178... che gli piaccia o meno. E quindi, Ada sia.
Registrato

I Moderatori invitano tutti gli utenti a prendere visione del REGOLAMENTO e a rispettarlo.

Un blog? Io? Occhiolino
Salvatore Meschini
Non sempre ciò che viene dopo è progresso
Global Moderator
Hero Member
*****

Karma: +35/-12
Scollegato Scollegato

Messaggi: 3431


42°01.408' NORD - 13°25.315' EST


Mostra profilo WWW
« Risposta #29 inserita:: Novembre 17, 2004, 04:15:11 »

Citazione
Al termine della FASE 3, gli allievi che saranno in qualche modo sopravvissuti potranno fregiarsi della definizione di \"aspirante programmatore dilettante\"


...nel frattempo gli allievi avranno conseguito una laurea in matematica, una in informatica, una in ingegneria elettronica ed almeno un paio, con relativi master, in ingegneria informatica...  :rolleyes:
Registrato

Salvatore Meschini

I moderatori invitano tutti gli utenti a rispettare il REGOLAMENTO.
Pagine: 1 [2] 3 4   Vai su
  Stampa  
 
Vai a:  

Copyright © 2017 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines