Newsgroup: it.comp.os.linux.development
Titolo: Testo visione generale "mondo programmazione"

Qualcuno sa se esiste un testo che da una visione d'assieme sul mondo
della programmazione...intendo ad ex tutti gli argomenti collaterali e
complementari allo sviluppo...per ex.tanto x citarne alcune:
differenze tra compilatori e interpreti,vari tipi di interpreti  e
linguaggi, quali di questi č piu valido x fare una cosa o
l'altra...non so se mi sono spiegato. Faccio questa domanda xchč ho
scoperto solo ora ad ex che se uno ha bisogno in un programma scritto
in c++ di un interprete simbolico (ad ex per permettere in input una
formula matematica da calcolare) non occorre che usi un parser o se lo
costruisca...č sufficiente che incorpori un interprete tipo
python.....be moltissimi di voi ora staranno ridendo...ma vi assicuro
che per una persona che inizia, forse, avere una trattazione razionale
di insieme puo essere una buona cosa.
ciao a tutti
Grazie
cristian

 di questi è piu valido x fare una cosa o l'altra...
Per prima cosa ti chiedo se per favore puoi evitare di scrivere sms sul 
newsgroup.
Qui non hai un limite di 160 caratteri.
Poi, quello che chiedi e` impossibile, perche` sarebbe esattamente 
come chiedere "esiste un libro sul mondo? Qualcosa che spieghi in quale 
paese e` meglio vivere, i rapporti tra tutti i paesi, le differenze 
nella lingua e nel sistema giudiziario, ecc."
In pratica stai chiedendo di mettere per iscritto tutto lo scibile 
informatico, e ti sarai accorto anche tu di quanti libri ci siano di 
informatica, in giro. Piu` numerosi delle enciclopedie... :)
Bye.

Bye.
Bye

 l'altra...non so se mi sono spiegato.
Suppongo che tutti i corsi di introduzione all'informatica ne adottino uno.
A chi sa gia' programmare in linguaggio C o derivati, io consiglio il 
libro "Programmazione nella pratica" di Kernighan e Pike.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

libro "Programmazione nella pratica" di Kernighan e Pike.
grazie davvero ...dal titolo penso sia qualcosa che possa servire per
un autodidatta...
grazie advvero carlo
ciao

 Ps: conosci qualcuno che mangia polvere da sparo a colazione?
Si`, poi caga dinamite. :P
P.S.: Puoi anche incorporare python in un tuo software per calcolare una 
formula matematica, ma il parser ti servira` comunque se non vuoi che il 
povero utente inizi a smandruppare con le centinaia di librerie python che 
hai installato, semplicemente mettendo un punto-e-virgola e scrivendo 
altro codice dopo la formula.
Bye.

>>newsgroup.
][..][
bene ho capito, una vaga idea della situzione del "mondo"  informatico
che hai delineato l'avevo ipotizzata...il problema è che se uno non è
esperto in quel campo xchè magari fa un altro lavoro epperòòò si trova
suo malgrado a dover risolvere un problema che richiede
programmazione...beh..non puo far altro che sbattere la testa qua e la
e chiedere...magari rendendosi anche ridicolo xchè no...Ipotizzavo
pure che non ci fosse un testo omnicomprensivo che in tempo reale
aggiornasse il contenuto delle sue pagine sulla base della realtà in
divenire ...ma speravo che qualcuno del campo magari mi indicasse
qualcosa che si avvicinasse ...tutto qui
P.S. Forse per te il testo indicatomi da Carlo Milanesi non colpisce
nel segno...ma ti assicuro che per me è stata un'indicazione
utilissima ...quel testo a mio avviso è fantastico..e guardando le
credenziali di Carlo direi che non mi dovevo aspettare qualcosa di
diverso. A proposito grazie ancora tanto Carlo e se hai qualche altra
chicca x un neofita ti prego postamela
Bye
cristian

 writes:
C> era evidente che non richiedevo un siffatto tanto arzigogolato
C> manuale omnicomprensivo .... (ah no scusa dei puntini..),
C> intendevo, TRA I MANUALI IN LIBRERIA se ve ne fosse qualcuno che in
C> qualche modo si avvicinasse il piu possibile a fornire un insieme
C> di visioni sul " "" mondo""" della programmazione" scusa forse è
C> che le mio post precedente non avevo messo le virgolette
Donald E.  Knuth, "The  Art Of  Programming", libri 1,  2 e  3 +  4 in
preparazione. Purtroppo solo in inglese.
Passato questo, un libro su un linguaggio ad oggetti (i.e. Java) ma non
un libro sul linguaggio, un libro sulla formulazione degli algoritmi in
"un contesto ad oggetti".
Ed  anche  un libro  che  esponga le  stesse  cose  con un  linguaggio
funzionale.  Sul  sito del  MIT puoi trovare  qualcosa di  analogo, si
limitano  agli algoritmi  numerici (forse  solo sugli  interi).  Prima
usavano  Scheme (funzionale),  ora usano  Python (ad  oggetti,  ma con
molte idee  che arrivano  dirette dal LISP,  come peraltro  capita con
Java).
-- 
 /\           ___
/___/\_|_|\_|__|___Gian Uberto Lauri_____
  //--\| | \|  |   Integralista GNUslamico
\/                 e coltivatore diretto di Software
A Cesare avrei detto di scrivermi a	 | To Caesar I woul have said "emai me to
fn...@rat.vg
  (Lui cifrava in rot13) | 
fn...@rat.vg
  (He encrypted wit Rot13)

Java).
x questo puo bastare il fatto che in passato ho programmato in fortran
?. La mia programmazione significava però in questo: l'amministratore
mi accendeva la macchina a compilatore aperto e io inserivo solo il
codice (tutto qui ..per intenderci) oppure la tua intenzione era altra
?
Un ringraziamento di cuore
cristian

 un'indicazione utilissima ...quel testo a mio avviso è fantastico..e
Io dicevo che quel libro non rispondeva direttamente alla tua domanda. 
Probabilmente Carlo e` stato piu` intuitivo di me a capire di cosa avessi 
bisogno e ti ha consigliato il testo giusto.
Bye.

 sta conquistando. O potrebbe anche morire nel dimenticatoio.
a proposito del D, c'è qualche manuale, documentazione (su internet)
che non sia in japponese? Avevo cercato (tanto) tempo fa e di cose in
inglese avevo trovato solo qualche esempio sul sito della digitalmars o
qualcosa del genere :)
Ciao
-- 
Andrea Corradi | Debian User | 
www.debian.org
Fingerprint: A41E F6B0 DBDB F04C 4940 E411 30F3 CD62 57B1 8458
gpg --keyserver 
keyserver.linux.it
 --recv-key 57B18458
Please avoid sending me Word or PowerPoint attachments.
http://www.gnu.org/philosophy/no-word-attachments.html

 qualcosa del genere :)
La digital mars e` l'inventore del linguaggio.
Sul loro sito dovresti trovare il link al wiki e a 
dsource.org
 (o com)che 
dovrebbe contenere un po' di roba.
Bye.

 "un contesto ad oggetti".
quindi uno dei "thinking.." va piu' che bene
 

> algoritmi in "un contesto ad oggetti".
C> scusami...non è che mi dai un'indicazione, è che per me che sono a
C> digiuno risulterebbero tutti uguali e sono troppo anziano per non
C> capire che di libri ce ne sono a milioni ma che quelli buoni si
C> contano sulle dita di una mano....
Oddio...   Il  CLRS  (Cormen/Leiserson/Rivest/Stein:  Introduction  to
Algorithms) si occupa di  algoritmi in generale (potrebbe quasi essere
un sostituto  del Knut.   Quando mi stavo  laureando al DEI  di Padova
usavano un libro  di algoritmi in Java (ne ho  trovato uno con Google,
ma non  so quanto sia  buono 
http://ww0.java4.datastructures.net/
), ma
purtroppo è  un po' che non me  ne occupo. Prova anche  a guadrare sul
sito del MIT se è on line il corso di Computer Science 101.
C> x questo puo bastare il fatto che in passato ho programmato in
C> fortran ?. La mia programmazione significava però in questo:
C> l'amministratore mi accendeva la macchina a compilatore aperto e io
C> inserivo solo il codice (tutto qui ..per intenderci) oppure la tua
C> intenzione era altra ?  Un ringraziamento di cuore cristian
Editare il codice, avviare il compilatore sono compiti che ricadono ne
"usare il  computer". Leggere la  lista degli errori ricade  già nella
parte "pratica" del programmare.
Conoscere un  linguaggio solo permette indubbiamente di  sapere come è
fatto un  programma (di  un certo tipo,  con FORTRAN  è programmazione
procedurale mi  pare senza allocazione  dinamica...  vidi solo  per un
attimo il 77). La conoscenza  di più linguaggi però serve ad "ampliare
l'orizzonte", i.e. vedendo tecniche  di programmazione che in un certo
linguaggio  non  si  possono  usare,  o  paradigmi  di  programmazione
diversi.




ad ex l' Eckel ? puo andare ?
ciao

Bye.

 
Saluti  Manlio Perillo

 writes:
C> e che mi sta
C> facendo impazzire è che devo permettere all'utente (io) di iserire
C> in input delle espressioni algebriche (in sostanza delle funzioni
C> del tipo f(x,y,z). ).
Questo abbisognerebbe di un parser,  ci sono strumenti come lex e yacc
(flex e bison  in versione libera) che possono  aiutarti a fare questa
cosa.
Potresti provare  a vedere che che  cosa c'è di  pacchettizzato per la
distribuzione  che  usi. Con  poca  cognizione  di  causa, ho  provato
apt-cache search algebra sotto Debian  ed ho avuto un tot di risposte,
qualcuna magari ti sarebbe utile.
Una seconda soluizione e` abbandonare la notazione infissa.
La notazione postfissa e`  dannatamente comoda e semplice da implemen-
tare, gli operandi  vanno su uno stack man mano che  li leggi e quando
trovi una funzione (gli  operatori sono solo una "costruzione mentale"
della  notazione  infissa)  prelevi  i  parametri  dallo  stack  e  li
sostituisci col risultato dell'elaborazione.
Un po' meno facile da implementare è la notazione prefissa, ma dato che
questa porterebbe al lisp, c'è già libguile pronta da usare. 
Vedi 
http://www.gnu.org/software/guile/guile.html#whatisit
C> programmi tipo matlab e mathematica(che usavo prima) che quando si
C> va verso matrici di dimensioni elevate
Io non conosco mathematica, anche se un docente al DEI ne faceva largo
uso.  
So  di sicuro  che  matlab  nasce partendo  da  ottime ed  ottimizzate
routine di  calcolo matriciale (per  la cronaca, erano in  FORTRAN, un
mio amico mi pare le avesse trovate e le avesse poi passate all'autore
originario di Matlab - ma questo è folklore).
Un altro conoscente aveva  invece trovato un libro sull'ottimizzazione
dei programmi  in matlab, non  è banale.  Se cerchi  "Franco Vecchiato
fsug padova"  dovresti trovare il  suo indirizzo di posta  nella prima
pagina ritornata da Google (personalmente non stimo lo FSUG Padova, ma
Franco è "un toso in gamba" e -che ricordi- molto cortese).


 ad ex l' Eckel ? puo andare ?
i thinking li ha scritti lui...

 developmen 
Ops, siamo già su it.comp.os.linux.development... :-).
Saluti  Manlio Perillo



ops...
grazie
ciao



ah, se non te ne fossi accorto esiste anche la traduzione in italiano di
thinking in c++ , oltretutto liberamente scaricabile:
http://www.opensourcemania.it/modules.php?name=Downloads&d_op=viewdownload&cid=7


GRAZIEEE!!!! purtroppo per motivi di forza maggiore nelle prossime
settimane sono impegnato ma appena torno ....speriamo bene di riuscire
a farla andare!!!
Ciao e grazie davvero tanto
 cristian

 [...]
Saluti  Manlio Perillo

Franco è "un toso in gamba" e -che ricordi- molto cortese).
nom c'è che dire grazie davvero tanto, purtroppo ora sono impegnato
per un paio di settimane e non posso proseguire ma grazie ai vostri
aiuti ho un po di carne al fuoco su cui riflettere e provare
Grazie Lauri
e grazie a tutti
Cristian



ehm...hai fatto bene benissimo....bella la dispensa Il miglior
linguaggio di programmazione tra le altre...
Grazieeeeee
Ciao

 lineare ed è per questo che uso il c++ anzichè ad ex Phyton.
 > Qualcuno mi ha detto di usare il Phyton per sostituire il parser,
 > altri che ci sono dei parser in C++ ottimi che conservano
 > sostanzialmente la velocità del ling compilato...ma poi per me  la
 > cosa risulta complicata ..voglio dire..se avessi intere giornate da
 > dedicarci forse..ma allo stato ci vorrebbe qualcuno che mi dica: ecco
 > un parser inglobalo così o cosà e parti..
Il parsing e' la fase in cui si traduce l'espressione in una struttura 
dati che rappresenta tale espressione. Tale traduzione non e' certo un 
collo di bottiglia e quindi puo' essere fatta in qualunque linguaggio. 
Tuttavia, se la struttura dati finale non e' codice macchina, la sua 
esecuzione e' necessariamente lenta, in quanto si tratta di una forma di 
interpretazione. Pertanto per ottenere prestazioni ottimali devi 
produrre codice macchina, direttamente o indirettamente.
Penso che il modo piu' semplice sia fare in modo che il tuo programma 
generi un programma in C, lanci il compilatore C e il linker per 
ottenere una libreria dinamica (in Linux ".so"), carichi la libreria ed 
esegua la funzione. Questo e' abbastanza semplice se la formula e' gia' 
un'espressione in linguaggio C e se non devi preoccuparti della 
sicurezza e della robustezza del software.
Comunque, i linguaggi interpretati sono lenti a eseguire molte 
operazioni, ma se ogni istruzione fa molto lavoro, sono abbastanza 
veloci. Per esempio, se riesci a limitarti a usare le primitive per 
manipolare intere matrici di Mathematica invece di manipolare i singoli 
numeri, ottieni ottime prestazioni.
Infine, non so se ti puo' servire, ma esiste il programma "gnuplot" per 
tracciare grafici con poco sforzo di programmazione.
Vedi: 
http://www.gnuplot.info/


 che non sia in japponese?
Io ho trovato tutto in inglese. Sul sito.
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.