Technology [PASCAL] programma numeri complessi. :(

Samael

Ninja Skilled!
invece il pascal e` un ottimo linguaggio per iniziare: ha una sintassi semplice ha tutte le istruzioni essenziali, e` fortemente tipizzato e strutturato e soprattutto costringe a pensare prima di provare a mettere 2 righe di codice insieme e cercare poi di sistemare in qualche modo quello che si e` fatto... previene molte altre cattive abitudini. Inoltre non avendo garbage collection, ma anzi permettendo l'uso di puntatori e memoria dinamica consente lo studio dettagliato di alcuni importanti aspetti della programmazione che non hai modo di vedere in linguaggi come java.

Farei fare un bel po' di pascal (rigorosamente standard) prima di cominciare anche solo a vedere un qualsiasi altro linguaggio.
 
A

Anonymous

Guest
Tant'è che il proposito principale del Pascal è quello didattico.

Se sono il gran programmatore di oggi è proprio grazie a lui !!! :cool:

:look:


No, sul serio, il Pascal nasce per insegnare...quindi è ottimo, non ha senso fare paragoni prestazionali o puttanate del genere.
 

Fakè

Chosen one
Nei computer del laboratorio PNI non c'è scritto Turbo Pascal ma Masturbo Pascal. Qualcuno si diverte con poco. :torvo:
 
A

Anonymous

Guest
"Mas" dallo spagnolo "Più"

Mas-turbo vuol dire, Più Turbo che mai!!!


Cazzo di adolescente, pensi sempre male!!! :caffe:
 

Fakè

Chosen one
Oggi ho fatto un programma per le equazioni di 2° grado e funziona! :awesome: L'ho fatto in 10 minuti, e poi ho giocato a Unreal Tournament :awesome:.
 

Massi™

Typing Monkey
Samael ha scritto:
invece il pascal e` un ottimo linguaggio per iniziare: ha una sintassi semplice ha tutte le istruzioni essenziali, e` fortemente tipizzato e strutturato e soprattutto costringe a pensare prima di provare a mettere 2 righe di codice insieme e cercare poi di sistemare in qualche modo quello che si e` fatto... previene molte altre cattive abitudini. Inoltre non avendo garbage collection, ma anzi permettendo l'uso di puntatori e memoria dinamica consente lo studio dettagliato di alcuni importanti aspetti della programmazione che non hai modo di vedere in linguaggi come java.

Farei fare un bel po' di pascal (rigorosamente standard) prima di cominciare anche solo a vedere un qualsiasi altro linguaggio.

L'unico corso che ho fatto di Pascal è stato quello di Algoritmi e Strutture Dati, dove non abbiam mai fatto alcun programma serio, ma solo giocherellato con le istruzioni standard del Pascal.
Finito quello siamo passati in 0,4ms al C orientato per i Sistemi Operativi, e il Pascal m'è servito giusto per pulirmi.. le mani fra un'istruzione e l'altra.
A scopo didattico io partirei dai linguaggi funzionali, per far capire cose ben più complesse della tipizzazione, quali la ricorsione, e la buona scrittura del codice..
Scheme uber alles.
 

Falciatore

Ninja Skilled!
il pascal infatti viene insegnato alle superiori e concordo con samael sulla sua qualità:)!
In terza superiore è importante sopratutto imparare l'approccio alla programmazione, e pascal è una buona palestra!
 

Samael

Ninja Skilled!
Massi™ ha scritto:
L'unico corso che ho fatto di Pascal è stato quello di Algoritmi e Strutture Dati, dove non abbiam mai fatto alcun programma serio, ma solo giocherellato con le istruzioni standard del Pascal.

pure io l'ho visto essenzialmente li, ma e` stato fondamentale per padroneggiare gli elementi base della programmazione (strutturata), imparare a utilizzare la memoria dinamica e conseguentemente a progettare e realizzare strutture dati ottimali. Inoltre la minimalita` del linguaggio e` stata utilissima per capire le basi della teoria della complessita`. La borland lo rese famoso con la sua estensione nota come turbo pascal, ci aggiunse una serie di librerie non standard e il paradigma ad oggetti rendendolo un linguaggio molto flessibile e potente... ci realizzavo driver per la gestione del mouse in ambiente dos, una libreria per una interfaccia a finestre (con effetti 3D) in modalita` carattere e molto altro. Poi dal turbo pascal venne fuori delphi che pero` non ho mai usato poiche` passai al C++ (con grande facilita`) che rimane per me il linguaggio per eccellenza.

A scopo didattico io partirei dai linguaggi funzionali, per far capire cose ben più complesse della tipizzazione, quali la ricorsione, e la buona scrittura del codice..
Scheme uber alles.

dipende... per insegnare i primi passi, preferisco un linguaggio procedurale che e` facile da comprendere e abbastanza vicino alla macchina da permettere di farne comprendere il funzionamento. Un linguaggio funzionale per essere apprezzato pienamente richiede gia` qualche competenza in piu` su alcuni concetti matematici. Inoltre quello funzionale, cosi` come il paradigma a oggetti e` un metaparadigma alla cui base sta spesso quello procedurale... se non sai combinare bene if, while e assegnamento, inutile cominciare a pensare ad alto livello (che e` comunque l'inevitabile passo successivo).


p.s.
io preferisco la programmazione a oggetti, ma il bello del C++ e` che puoi mixare sapientemente OOP, programmazione funzionale e metaprogrammazione e riuscire a scrivere codice tanto funzionale ed ottimale quanto elegante.
 

Massi™

Typing Monkey
Qui però si entra un po' più nel discorso delle preferenze. Io ad esempio preferisco il C, lo trovo più naturale, e se proprio ho bisogno di oggetti li "simulo" tramite librerie esterne e strutture sapientemente costruite, con puntatori a funzioni e via dicendo.

D'altronde si sa, il C++ sta ad un linguaggio di programmazione come un cane con quattro zampe di cartone sta ad un polipo..

Non so, il Pascal l'ho sempre trovato ridondante, pieno di scritture per lo più inutili, scomode e che rallentano il normale processo della programmazione, poiché troppo vicino al linguaggio umano.
Che bisogno c'è di un then dopo un if?
E dei vari begin e end?

int main() {
if (qualcosa) {

}
else {

}
}

Trovo molto più naturale questo di:
program a;
begin
if qualcosa then begin

end
else begin

end
end.


Boh, questione di gusti..
Per il discorso del C++, per me è un linguaggio mal riuscito.. A questo punto io mi sposterei su ValaC, Objective-C (Steve Jobs :Q___) e linguaggi pensati e strutturati per oggetti. Non meta-linguaggi imperativi che però hanno anche oggetti e.. Bleah!

Ma, ripeto, son gusti. Alla fine quando si deve scrivere un programma, prima si fanno i diagrammi, e in base a questi si sceglie il linguaggio, non viceversa.
 

Samael

Ninja Skilled!
Massi™ ha scritto:
D'altronde si sa, il C++ sta ad un linguaggio di programmazione come un cane con quattro zampe di cartone sta ad un polipo..

questa me la devi spiegare o meglio motivare...

Non so, il Pascal l'ho sempre trovato ridondante, pieno di scritture per lo più inutili, scomode e che rallentano il normale processo della programmazione, poiché troppo vicino al linguaggio umano.
Che bisogno c'è di un then dopo un if?
E dei vari begin e end?

stai parlando di un linguaggio nato con scopi didattici...
Considera che in C/C++ puoi scrivere delle porcate enormi, cosa che diventa molto piu` difficile in pascal proprio per via di quella "inutile" ridondanza.

Ma, ripeto, son gusti. Alla fine quando si deve scrivere un programma, prima si fanno i diagrammi, e in base a questi si sceglie il linguaggio, non viceversa.

su questo concordo anche se l'esperienza mi dice che nella realta` cio` non e` proprio automatico.
 

Shaka

Get a life
Fantacalciaro
Un giorno disse Schumacher che la F2002 corre di più di un Kart e sicuramente è meglio anche in curva e in accelerazione, e, se si vogliono fare grandi giri a Monza, è meglio quella di un Go-kart 200 4 tempi....giusto Massi?

Massi™ ha scritto:
Ma, ripeto, son gusti. Alla fine quando si deve scrivere un programma, prima si fanno i diagrammi, e in base a questi si sceglie il linguaggio, non viceversa.

Magari...quando si scrive un programma, prima si fanno i diagrammi e poi si prende il linguaggio che decide il cliente committente...almeno nel mio caso :(
 

Massi™

Typing Monkey
Samael ha scritto:
questa me la devi spiegare o meglio motivare...

stai parlando di un linguaggio nato con scopi didattici...
Considera che in C/C++ puoi scrivere delle porcate enormi, cosa che diventa molto piu` difficile in pascal proprio per via di quella "inutile" ridondanza.

su questo concordo anche se l'esperienza mi dice che nella realta` cio` non e` proprio automatico.

Ehm scusa, ho dimenticato una parte della frase:
Il C++ sta ad un linguaggio ad oggetti come blabla.. Così probabilmente assume il senso reale.
Il C++ è una stratificazione del C nella quale hanno inserito gli oggetti.. La trovo un po' una "porcata", ma ripeto, sono gusti estremamente personali.
Le - a dir la verità poche - volte che mi son trovato a programmare in C++ mi son trovato nettamente spiazzato e in un certo senso "limitato".
Probabilmente con l'esperienza e il tempo cambierò idea, anche perché io sono ancora in ambito puramente accademico.. ;)
 

Samael

Ninja Skilled!
Massi™ ha scritto:
Ehm scusa, ho dimenticato una parte della frase:
Il C++ sta ad un linguaggio ad oggetti come blabla.. Così probabilmente assume il senso reale.
Il C++ è una stratificazione del C nella quale hanno inserito gli oggetti.. La trovo un po' una "porcata", ma ripeto, sono gusti estremamente personali.
Le - a dir la verità poche - volte che mi son trovato a programmare in C++ mi son trovato nettamente spiazzato e in un certo senso "limitato".
Probabilmente con l'esperienza e il tempo cambierò idea, anche perché io sono ancora in ambito puramente accademico.. ;)

no guarda, non la prendere a male ma se sono quelle le tue critiche al C++, allora non hai capito una cippa del linguaggio e poco della OOP... o meglio molto probabilmente non hai mai provato ad approfondirlo veramente.

Il paradigma a oggetti implementato nel C++, e` piuttosto buono se consideriamo la scelta di conserare un type checking statico (cosa che implica un modello OO con controvarianza) e la retro compatibilita` col C.
Vedere poi il C++ come un C + la OO perdonami ma e` veramente essere ciechi: non consideri l'enorme impatto sul codice dovuto alla possibilita` di scrivere OO o usando i template (molto piu` raramente usando un paradigma funzionale), la libreria standard del C++ e` di suo un vero e proprio linguaggio sul linguaggio (iteratori, funzionoidi, container, algoritmi...), type checking statico, eccezioni, overloading, meta programmazione (non hai idea di quanto possa essere potente)... Lo stesso problema da luogo a soluzioni ottimali profondamente diverse a seconda che siano realizzate in C o in C++. Ti dico solo che dopo 12 anni di esperienza in C++, quello che vedevo risolto in modo complicato e spesso contorto in C (piu` per problemi di linguaggio che di capacita` del programmatore) riuscivo a risolverlo in modo molto piu` semplice ed elegante in C++. In alcuni casi sono arrivato a progettare e realizzare velocemente un "nuovo linguaggio dichiarativo" che mi permettesse di risolvere uno stesso problema in ambiti diversi con solo poche righe di codice (dichiarativo).

Il vero problema del C++ e` che e` talmente vasto e fornisce talmente tante scelte, che se non sei esperto ti confondi e non riesci a prendere una via ben precisa... ma fino ad ora ho trovato pochissimi ambiti in cui un altro linguaggio (di quelli comunemente usati) potesse essere veramente preferibile al C++. Se dovessi considerare un diverso linguaggio, sarebbe solo perche` mi serve qualcosa di molto diverso e/o specializzzato, come un linguaggio OO con covarianza oppure un paradigma particolare come quello logico o funzionale (alla lisp).
 
Alto