Newsgroup: it.comp.os.linux.development
Titolo: programmare con linux

Premetto che non so niente di programmazione;
mi scuso in anticipo se esistono delle faq su programmazione in linux;
da dove mi consigliate di iniziare?
da python?
da kylix?
da PHP?
da C/C++?
da Java?

  da dove mi consigliate di iniziare?
che ci devi fare ?? io ti consiglierei il C, che ti consente di fare tutto, ma
e' un po' "tostarello" per uno che non sa niente di programmazione e,
sicuramente, ci sono cose piu' "moderne" che pero' io non conosco ;-))
ciao ...
P.S.
il kernel di Linux e della maggior parte dei SO e' scritto in C ....
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0};printf("%s",c);return 0;}



Indubbiamente il c e' IL LINGUAGGIO di programmazione, ma
per un principiante, forse e' meglio iniziare da Java, che e' meno
tosto, almeno per me!!!! 
      \ | /
    (@ @)
-o00-(_)-00o------------------------------------------------------------------------------------------------
Benedetto Santarella
--------------------------------------------------------------------------------------------------------------
 Home Page ==> 
http://www.santarella.too.it
 
 Email :  ( Per scrivermi togli -NOSPAM- )
           Benedetto.Santarella@-NOSPAM-libero.it         
           benny_sa@-NOSPAM-freemail.it
           Santarella@-NOSPAM-vizzavi.it                 
           benedetto.santarella@-NOSPAM-genie.it

GuMa ha scritto:

Io da Pascal (così la tua confusione è completa :-)). Ha una sintassi 
banale, e ti insegna molti principi di programmazione che ritroverai in 
altri linguaggi. Il java mi pare un po' "troppo" per uno che non sa 
programmare, in quanto introduce immediatamente concetti come la 
programmazione ad oggetti. Oppure Python, sintassi banale, molto molto 
potente. Però IMHO il Pascal è più semplice per iniziare.
-- 
Andrea Bergia - studente          Linux Registred User #281550
Per favore non mandatemi allegati in Word o PowerPoint.
Si veda 
http://www.fsf.org/philosophy/no-word-attachments.html

Ciao,
beh io programmo in c e in java, e per questo ti consiglio decisamente 
il python!! Non lo conosco, xo' da quello che ho sentito dire, dovrebbe 
essere l'ideale per iniziare a programmare..
Il C e' un linguaggio favoloso, pero' puo' risultare troppo potente e 
questo non e' sempre un vantaggio... e' come fare il falegname ed avere 
una sega ed uno scalpello: non e' detto che lo scalpello sia sempre la 
soluzione ottimale...
Alle volte un linguaggio ad oggetti - nell'esempio, la sega - ti 
permette di risparmiare un sacco di fatica nella programmazione, ma al 
tempo stesso questo puo' significare un minor controllo sull'effettivo 
svolgimento del processo.. ed e' per questo che un sistema operativo e' 
scritto in c, e non in c++, che e' object-oriented..
Analogamente, python, che non conosco, dovrebbe essere un linguaggio 
object oriented di facile programmazione, ma questo non significa che 
non puoi farci delle belle applicazioni: magari non sarai in grado di 
fare un sistema operativo, pero' non tutti ispirano a scriverne uno (non 
ti chiami Torvalds, vero?)
Beh, spero di non aver fatto confusione con l'esempio del falegname... :-)
Ciao

 tosto, almeno per me!!!! 
Mi permetto di dubitarne assai. Il kiava e' molto piu' complesso e difficile
da imparare del C, piu' lento ed esoso, ma ha il pregio (o limitazione) di
essere un OO puro.
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! Heavy Metal Or No Metal At All! Whimps And Posers Leave The Hall !>-
 	 			Manowar - Metal Warriors

 da Java?
Io spero vivamente che tu lo possa evitare per tutta la tua carriera di 
programmatore, altro che consigliartelo come inizio :)
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

 writes:

Python o (quel che preferisco) Ruby.  Entrambi sono potenti e facili.
Tieni presente che Python tende a mantenersi un ibrido tra il
procedurale e l'orientato agli oggetti, mentre Ruby ha fatto scelte di
design piu` decise verso l'orientamento agli oggetti, quindi il
potrebbe essere piu` adatto come primo linguaggio (meno cose da tenere
a mente).
Entrambi hanno anche una certa inclinazione al paradigma funzionale,
quindi nell'approfondire uno dei due puoi venire a contatto con
concetti che difficilmente incontreresti in Java o C/C++ etc.
Su Ruby:
http://w3.one.net/%7Ejweirich/development/talks/invitationtoruby/
http://www.rubycentral.com/book
Massimiliano

 essere un OO puro.
Uhm?
Una delle caratteristiche che ho sempre attribuito a un OO puro e`
``Everything is an object''.  Java e` tutt'altro che puro in questo.
Massimiliano

``Everything is an object''.  Java e` tutt'altro che puro in questo.
Ah no? 
-- 
"L'Italia è un interessante esempio di avanguardia teatrale" (Gore Vidal)
Per rispondermi, ricordati di togliere il nome del poeta.

 Ah no? 
class NotQuiteEverything extends int {
 
}
:1: unexpected type
found   : int
required: class

 da python?
Python e Kylix possono essere dei buoni punti di partenza.
Conoscerli entrambi puo' renderti molto a lungo termine.
Il C e il C++ sono decisamente difficili per chi inizia a programmare, anche
se la loro conoscenza puo' darti delle solide basi sugli "internals" della
programmazione.
--------------------------------
Inviato via 
http://usenet.libero.it

 class NotQuiteEverything extends int {
...
Hai sicuramente ragione.
Ma non prendiamoci in giro. Una classe per i tipi fondamentali non ha molto
senso. Tu pensi che kiava non sia un OO puro perche' ha alcuni (non ricordo
minimamente quanti, arrivano ad essere 7-8?) tipi fondamentali che non sono
classi? Se si' non sono d'accordo, mi sembra solo una inconcludente
dissertazione teorica. Python non e' un OO puro perche' se voglio posso
usarlo come un linguaggio procedurale senza problemi.
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail** 
-<! At first there was nothing. Then God said 'Let there be light!' Then
		there was still nothing. But you could see it. !>-

 Una classe per i tipi fondamentali non ha molto senso.
#!/usr/bin/ruby
3.times { puts "Really?" }

 3.times { puts "Really?" }
Sai che mi hai fatto venire voglia di imparare Ruby? :-)
Come se la cava con moduli scritti in C?
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)           [ 
http://www.radiance.ods.org/~zefram
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

senso.
Int è semplicemente un wrapper verso la classe degli interi, usato in
java per questioni di comodità del programmatore.


 tosto, almeno per me!!!!
non ha forse troppi fronzoli per un principiante? Il java mi sembra
proprio un linguaggio atto a confondere il principiante, probabilmente è
meglio puntare su linguaggi più "puliti" come pascal e python.
ciao

 Come se la cava con moduli scritti in C?
Dicono che sia molto semplice rispetto allo scriverli per Perl o
Python.  Personalmente non ho mai provato ne' con loro ne' con Ruby
(poca simpatia reciproca tra me e il C) e non so se sia
un'affermazione attendibile.
In Programming Ruby c'e` un capitolo che tratta l'argomento, puoi
apt-get'tare rubybook o vederlo su
http://www.rubycentral.com/book/ext_ruby.html
.
BTW, forse ti interessa anche questo:
require "inline"
class MyTest
  include Inline
  def fastfact(*args)
    #what follows is C code:
    inline args, <<-END
    int i, f=1;
    for (i = FIX2INT(argv[0]); i >= 1; i--) { f = f * i; }
    return INT2FIX(f);
    END
    #end of C code
  end
end
t = MyTest.new()
puts t.fastfact(5)
Massimiliano

 
http://www.rubycentral.com/book/ext_ruby.html
.
Grazie... 


 3.times { puts "Really?" }
Non ho detto che non esiste in giro.
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
	**ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
 -<! Woe to you, oh Earth and Sea, for the Devil sends the Beast with
      wrath, because He knows the time is short... !>- Revelations, XIII - 18

 java per questioni di comodità del programmatore.
Che te ne fai di una classe per i tipi fondamentali?
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
	**ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**


   end
Come avviene la compilazione? E dove salva il risultato?
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
	**ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**


A rigore int non e' una classe, dal codice postato. 
Perchè in quel caso usi il wrapper, che è molto più comodo della classe
per i tipi fondamentali. 


 Non ho detto che non esiste in giro.
Non l'ho scritto per dimostrare che esiste.

 Non l'ho scritto per dimostrare che esiste.
Io non ci vedo una grande utilita'. E penso proprio che prestazionalmente
l'istanziazione di una classe sia piu' costosa.


 per i tipi fondamentali. 
Vabbe'. E qual'e' il vantaggio di una classe per i tipi fondamentali?


Vabbe'. E qual'e' il vantaggio di una classe per i tipi fondamentali?
Che il linguaggio è completamente object oriented, e quindi hai una
certa semplicità nel modello dello stesso.


 Vabbe'. E qual'e' il vantaggio di una classe per i tipi fondamentali?
Nel fatto che, in linguaggi come il Java, un tipo fondamentale è un caso 
"particolare", mentre una classe wrapper, proprio per il fatto che è una 
classe, discende da Object, una particolare super classe comune a tutte le 
classi Java. Il vantaggio di ciò è che si può scrivere, ad esempio, un 
vettore di Object che può contenere qualunque tipo di dato, ma non i tipi 
fondamentali. Con una classe wrapper aggiri quest'ostacolo, dato che può 
inserire un java.util.Vector anche un intero. Spero di non averti confuso 
le idee ;-)


 le idee ;-)
No, non c'e' problema. Ok, d'accordo, i vantaggi dell'OO sono sempre quelli
e sono indiscutibili. Cosi' come la filosofia "tutto e' un oggetto" ecc...
Pero' io non vedo l'utilita' di dare tutte le prerogative di una classe a un
cazzosissimo intero. Che cosi' si tira dietro una complessita' evitabile.
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
        **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
 [cowo@braveheart cowo]$ make sex
    make: *** No rule to make target 'sex'.  Stop. 

 evitabile.
Già. Viva il C++ ed i template ;-)


 Già. Viva il C++ ed i template ;-)
En passant, m'e` capitata sotto gli occhi questa perla:
"I invented the term Object-Oriented, and I can
tell you I did not have C++ in mind."
                                            -Alan Kay
:-)