Newsgroup: it.comp.os.linux.iniziare
Titolo: Programmare in linux

ciao ragazzi...
sono fresco di linux e totalmente ignorante di programmazione.
riuscite a darmi qualche consiglio su come iniziare? 
ho scaricato manuali di C..comprato dei libri sul C++, scricato informazini
su Perl, Python, Java, etc. ho comprato un libro dell'Apogeo, Programmare
in linux, che però presuppongono la conoscenza di vari linguaggi ,
soprattutto C e C++.
il problema è : da dove inizio???
Esiste qualcosa di più chiaro e semplice per chi non capisce nulla, a parte
le guide di HTML.it, ( già viste)
 grazie anticipatamente per la risposta.,
ciao
-- 
------------------------------------------------------------------------------
Memento Audere Semper
( anche se non ci capisci un cazzo )

 riuscite a darmi qualche consiglio su come iniziare?
Tanto per iniziare devi separare i due aspetti: linux e programmazione.
Anche se sai già bene un linguaggio ma non hai mai messo mano su linux è
probabile che non riuscirai a compilare nulla, se invece conosci bene linux
ma non la programmazione allora prova questo link.
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
E' un libro sul C++ che puoi scaricare. E' bene iniziare con un linguaggio
imperativo generico come il C (o il Pascal). Poi magari imparare a usare gli
oggetti (es. il C++). A questo punto poi ti puoi buttare magari su Java, che
è stupendo ma difficile come primo linguaggio.

 sono fresco di linux e totalmente ignorante di programmazione.
anch'io sono "fresca" :)
Partendo da zero o quasi, un po' di tempo fa mi sono messa a cercare 
"il linguaggio ideale" del novellino, qualcosa che fosse sufficientemente
semplice, ma non stupido, e che mi permettesse di capire i meccanismi 
essenziali della programmazione.
IMHO il C è ottimo per "fare sul serio",
ma se devi muovere i primi passi, è un po'.. frustrante!
(conta le righe che ti servono per scrivere "hello world" ;) )
E anche se credo che con un po' di documentazione e molta pazienza si possa
fare tutto (se poi hai un buon libro per le mani è ancora meglio), mi sono 
buttata su "Python".
Premettendo che in questo momento lo studio del "pitone" è sospeso causa
studio del "pinguino" (ti ho detto che sono fresca, vero?)..
Considerando che quando ho provato python me lo sono dovuto scaricare, 
mentre linux ti fornisce già il necessario..
Considerando che esiste una bella comuntà italiana con tanto di sito 
ufficiale (
www.python.it
)..
Ti consiglierei di provare subito, magari con "Tutorial per Newbies con 
Python" che trovi su  
http://www.python.it/doc/Newbies.html
insieme a molte altre cose.
Qualcuno più esperto di me potrà sicuramente darti consigli migliori
(e intanto mi scarico "thinking in C++".. non si sa mai), ma uno in 
più non dovrebbe far danni ;)
Ciao
Lil

 mentre linux ti fornisce già il necessario..
Sembra una frase insensata.. e infatti lo è (forse per timidezza, 
è saltata la frase "usavo windoz")
Traduco: 
Ho provato py per la prima volta due mesi fa sotto winz,
e me lo sono scaricato. Ora sto usando linux,
e c'è già tutto quello che mi serve :))

grazie ragazzi, siete stati entrambi abbastanza esaurienti....
deciso... 
inizio con python ( sembra, almeno come lessico, abbastanza semplice ed
intuibile) ed intanto provo a capire qualcosa di C (anche se credo che
ssarà un pò complicata come cosa...).
vi farò sapere..
( se non darò notizie probabilmente sarò chiuso in qualche manicomio)
ciao


avevo capito :)!!
cmq grazie


> (conta le righe che ti servono per scrivere "hello world" ;) )
Una riga!
Il problema del C e' che, a differenza di altri linguaggi, non esistono
strutture dati complesse e funzioni per gestirle (come ad esempio le liste):
bisogna perdere un po' di tempo a farsi da se'le proprie librerie...
ciao davide

 è stupendo ma difficile come primo linguaggio.
Al contrario, Java e' molto piu' facile di C e C++ (tanto per dirne una,
non ha i puntatori).

non ha i puntatori).
Java piu' facile di C++ d'accordo, ma rispetto al C mi sembra
un'affermazione giusto "un pelino" azzardata 8-)
-- 
Linux Registered User #181013
[Exokernels] Although one approach to eliminating bloated, buggy,
unreliable operating systems is to make them smaller. A more radical
one is to eliminate the operating system altogether.

 un'affermazione giusto "un pelino" azzardata 8-)
Secondo me Java è più facile del C, pensare ad oggetti è un pensare umano, 
quando pensiamo normalmente pensiamo ad oggetti, col C dobbiamo pensare più 
come pensa la macchina. 
                        ... spero di essermi spiegato 
 

                         ... spero di essermi spiegato
cmq...anche il java mi attira..
mi incuriosisce la sua portabilità..
e per quanto riguarda la discussione, da profano non posso far altro che
affermare che il C e derivati sembrano (dico sembrano perchè non ho alcun
metro di giudizio) meno intuibili degli altri ( per ora ho dato uno sguardo
a python e al java).
comunque di manuali ne ho comprati vari. purtroppo la maggior parte parte
dal presupposto che il lettore già abbia un 'infarinatura della materia.
chiedevo a voi una mano, un consiglio sul come e da dove iniziare, magari
anche con qualcosa di più pratico, come consigliarmi qualche testo.
la voglia non manca, ma il tempo è , come si dice, tiranno.
perciò, come ho gradito quelli già ricevuti, non mi dispiacerebbe sentire
altri modi di vedere l'argomento.
grazie per la disponibilità,
ciao.


 il problema è : da dove inizio???
Uhm, non e` una domanda facile.
Personalmente credo che Python sia una delle scelte migliori.
-- 
Ikitt 
"Stupid people do stupid things smart people outsmart each others"
*** mailserver: 
freemail.it

 il problema è : da dove inizio???
Da un linguaggio qualsiasi. Imparane uno, scrivi qualche programma di
prova usando gli esempi, e poi, da lì, decidi cosa fare, se continuare
con progetti sempre più complessi, oppure se darti alla computer
graphics.
Ripeti fino ad esaurimento linguaggi. :-)
+++
Dato che chiunque abbia programmato almeno con un linguaggio ha il suo
"pet peeve", come direbbero gli americani, non ti sto a consigliare un
linguaggio con cui "iniziare", anche perché scatenerei la solita guerra
di religione, oppure un thread completamente off-topic (il gruppo giusto
è it.comp.os.linux.development).
Un consiglio può essere iniziare con il Python: la curva di
apprendimento è abbastanza dolce. Se ti interessa più attraversare un
oceano di lacrime e sudare le proverbiali sette camicie, ma ti piace
ottimizzare l'impossibile, c'è il C.
Ciao,
 Emmanuele.
-- 
"L'ottimismo è un atto rivoluzionario" -- Col. Nick Fury, USM 24
Emmanuele Bassi (Zefram)              [ 
http://digilander.iol.it/ebassi/
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

 come pensa la macchina. 
Il che si traduce in un vantaggio oggettivo, ovvero la possibilità di
ottimizzare a ufo un programma.


 da Java.
E infatti ho visto cosa salta fuori.
Alcune volte, ho perso l'appetito per giorni.


 all'equipaggio di
it.comp.os.linux.iniziare:

Guarda il C mi sembra una cagata di linguaggio, nel senso che si puo'
imparare nel giro di poche _ore_
E' proprio la sua semplicita' e la vicinanza con il modello
calcolatore che permette di realizzare programmi efficienti.
A parte i puntatori (che poi non sono un granche' di difficolta') e
qualche operatore con priorita' sballata, la grammatica del C e'
veramente semplice.
In Java sfido chiunque a distinguere a vista un overloading da uno
shadowing da un overriding da un hiding da uno obscuring. Insomma Java
e' facile finche' si parla di classi, metodi e proprieta', perche'
come hai detto e' facile pensare ad oggetti, ma quando ci butti dentro
l'ereditarieta' coi modificatori d'accesso e d'ereditarieta',
aggiungici un pizzico di classi innestate ed interne allora i
programmi iniziano a fare le fusa.....insomma Java non si impara in
qualche ora!
Secondo me una scelta piu' che valida rimane il Pascal.


 la voglia non manca, ma il tempo è , come si dice, tiranno.
La scelta orbita attorno a due centri di gravità: l'utilità che il
linguaggio potrà avere per te, e il feeling.
Utilità, naturalmente, perché se non avrai occasione di usarlo per
realizzare qualcosa di concreto, ancorché piccolo, non riuscirai
neanche a impararlo.
Feeling perché, per quanto utile ti risulti un linguaggio, non è bello
sentirsi le viscere rivoltarsi ogni volta che devi programmare.
Il mio consiglio è questo: stilata una lista di possibili candidati,
trova non meno di due tutorial o libri online su ciascuno di essi.
Dedica un pomeriggio a ciascun linguaggio, sfoglia i tutorial, guarda
gli esempi, prova a trascriverli ed eseguirli, vedi quale appare più
affine al tuo modo di pensare.  Alla fine avrai una sorta di
classifica ordinata per feeling.
Poi, ricordati in quali contesti hai avuto bisogno di un programma e
avresti dovuto scriverlo perché non era disponibile.  Si trattava di
uno script che faceva ricerche in un file system e manipolava in
qualche modo i file?  Si trattava di un'applicazione piena di tutte le
campanelline e fischietti immaginabili?  Si trattava di un
leggerissimo server?  Era più importante la tua efficienza nello
scriverlo o la sua efficienza in esecuzione?  Immagina anche i
possibili contesti futuri.  In base a questo, crea una nuova
classifica per i linguaggi che hai già esaminato.
Infine, cerca tra le due classifiche il giusto compromesso.
Una lista di linguaggi potrebbe essere: Kylix/C++, Kylix/Pascal, Bash,
Ruby, Python, Perl, Java.
Il mio preferito è Ruby: l'ho scelto in un pomeriggio dopo aver
concesso molto più di un pomeriggio (quasi una settimana) a Python, e
qualche giorno a Perl.  Quel che cercavo era un linguaggio leggero,
pulito, espressivo, e ben progettato; anche Python e altri hanno
queste caratteristiche, ma in proporzioni diverse il cui gradimento
varia da persona a persona, ecco il perché del discorso ``feeling''.
(Inoltre Ruby è un superset di Java, per cui se un dì ti troverai a
dover imparare quest'ultimo per motivi che esulano dal tuo diletto,
mezza settimana e sarà fatta.)
La mia seconda scelta è il Bash script: tutt'altro che pulito,
tutt'altro che potente, ma perfetto per mettere assieme script in una
manciata di secondi, perciò di grandissima utilità, e in più
onnipresente.
A te la palla. :-)
-- 
Tip | Scarica interi mesi di articoli da Google con SuckGoog,
of  | 
http://fly.to/demokrito
. Poi aggregali in una mailbox per leggerli con
the | mutt entrando nella directory dove sono salvati e lanciando i comandi:
day | $ for i in *; do echo "From dummy Sat Jul 06 19:10:00 1974" >>mbox; \
0025|   cat $i >>mbox; done; mutt -f mbox

 Ruby, Python, Perl, Java.
Ah, e naturalmente il C!
-- 
Tip | Per decodificare tutti gli allegati in una mailbox:
of  | 
the | $ formail -ds uufilter < temp.mbox
day | 
0008| 

 
ragazzi grazie per i numerosi consigli...
credo di aver capito una cosa:
ho bisogno di una panoramica sulla maggior parte dei linguaggi.
poi sceglierò in base al feeling.
inizare con qualcosa che "a pelle" non risulta simpatico,
può causare l'allontanamento permanente dalla materia.
ciao a tutti


 può causare l'allontanamento permanente dalla materia.
Spero ci sia un `non' di troppo, altrimenti mi sono spiegato proprio
male!
-- 
Tip | Vuoi una risposta immediata dal newsgroup?
of  | Puoi ottenerla!
the | 
day | 
http://groups.google.com/advanced_group_search
0001| 

 
non mi hai capito..
intendevo dire che , almeno personalmente, il C no è che mi attiri più di
tanto, ed allora, iniziare da quello, senza riuscire a vedere risultati
immediati, e comunque facendo una bella faticaccia, dato che non sembra
tanto sesmplice, potrebbe intimorire chi si avvicina, come me , alla
materia ex novo.
ciao


 intendevo dire che , almeno personalmente, il C no č che mi attiri piů di
Ah, va bene, mi tranquillizzo.  Anche se capire al contrario, rispetto
a spiegare al contrario, non č quel gran passo avanti.  :-)
-- 
Tip | Per stampare una pagina di manuale:
of  | 
the | $ man comando | a2ps --catman -2 -o 
comando.ps
day | $ lp 
comando.ps
0005|