Visual basic per LINUX

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
mordecai
Linux 3.x
Linux 3.x
Messaggi: 752
Iscritto il: mer 10 gen 2007, 21:59

Messaggio da mordecai »

Mi è bastato affidarmi al mulo! ;)

bit123
Linux 2.x
Linux 2.x
Messaggi: 350
Iscritto il: dom 27 nov 2005, 16:26
Località: Catania
Contatta:

Messaggio da bit123 »

Il c? Se lo conosci lo eviti. Almenochè tu non debba scrivere un nuovo algoritmo di compressione o rivoluzionare il mercato dei codec video, vai col python!

Avatar utente
Sari
Linux 3.x
Linux 3.x
Messaggi: 584
Iscritto il: mer 16 feb 2005, 0:00
Slackware: 12.1
Kernel: 2.6.24
Desktop: Gnome
Località: Verona

Messaggio da Sari »

bit123 ha scritto:Il c? Se lo conosci lo eviti. Almenochè tu non debba scrivere un nuovo algoritmo di compressione o rivoluzionare il mercato dei codec video, vai col python!
Se ti sente il mio prof di Algoritmi potresti morire fulminato :lol: (sei fortunato che io non ho il potere di fulminare la gente). Con il C fai tutto, basta integrarlo con qualche utile libreria (Glib) e qualche buon IDE (Kdevelop, Anjuta e compagnia). Se non devi creare applicazioni di rete o gestire un DataBase è più bello e intuitivo di Java ;).

Avatar utente
gioco
Packager
Packager
Messaggi: 900
Iscritto il: dom 19 giu 2005, 0:00
Slackware: last stable
Località: in the court of the Wesnoth king
Contatta:

Messaggio da gioco »

bit123 ha scritto:Il c? Se lo conosci lo eviti. Almenochè tu non debba scrivere un nuovo algoritmo di compressione o rivoluzionare il mercato dei codec video, vai col python!
Sono pienamente d'accordo con te sul python, ma se si parla di programmazione in ambiente Linux il C non lo puoi evitare, lo devi sapere.

bit123
Linux 2.x
Linux 2.x
Messaggi: 350
Iscritto il: dom 27 nov 2005, 16:26
Località: Catania
Contatta:

Messaggio da bit123 »

Certo che lo devi sapere. Devi sapere anche la bash, il perl, il php, c++; solo così potrai apprezzare il python. Prova a scrivere un semplice programma che visualizza una finestra con un pulsantino in c + gtk, e poi mi saprai dire. Java lascialo ai professori universitari che usano le classi anche per visualizzare un banale "HELLO WORLD!".

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Messaggio da masalapianta »

bit123 ha scritto:Certo che lo devi sapere. Devi sapere anche la bash, il perl, il php, c++; solo così potrai apprezzare il python. Prova a scrivere un semplice programma che visualizza una finestra con un pulsantino in c + gtk, e poi mi saprai dire.
Gia, per questo il 99% del software desktop per GNU/linux e' scritto in C/C++, quei poveri mentecatti degli sviluppatori non hanno avuto la tua geniale intuizione.

Avatar utente
cymon
Linux 2.x
Linux 2.x
Messaggi: 430
Iscritto il: ven 5 gen 2007, 1:40
Slackware: 13.1
Kernel: 2.6.33.4-smp
Desktop: Fluxbox
Località: Milano
Contatta:

Messaggio da cymon »

Ragazzi ditelo se si comincia un bel flame thread sui linguaggi di programmazione che mi ci butto, eh! :violent3:

:lol:

Avatar utente
gioco
Packager
Packager
Messaggi: 900
Iscritto il: dom 19 giu 2005, 0:00
Slackware: last stable
Località: in the court of the Wesnoth king
Contatta:

Messaggio da gioco »

bit123 ha scritto:Certo che lo devi sapere. Devi sapere anche la bash, il perl, il php, c++; solo così potrai apprezzare il python. Prova a scrivere un semplice programma che visualizza una finestra con un pulsantino in c + gtk, e poi mi saprai dire.
Davo per scontata una cosa: problemi diversi richiedono un diverso grado di astrazione per essere risolti, e questo comporta anche la scelta di un diverso linguaggio di programmazione. Per scrivere un'interfaccia grafica si farà uso di C++, Java, ... Per scrivere un programma di sistema il C. Anche le necessità che hanno portato all'ideazione dei vari linguaggi sono diverse. Hai scritto bene, bisogna conoscerne molti per avere gli strumenti adatti a risolvere classi di problemi diversi.
bit123 ha scritto:Java lascialo ai professori universitari che usano le classi anche per visualizzare un banale "HELLO WORLD!".
Sulla scarsa preparazione in programmazione dei professori universitari sono d'accordo con te, ma vorrei che mi spiegassi meglio il tuo giudizio su Java. Spero non sia basato sugli articoli stile "Python vs Java".

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Si può anche non sapere il C/C++ e programmare in linux, così come si può girare il mondo e non conoscere l'inglese, però conoscerlo sarebbe a parer mio consigliabile...
Il python richiede un interprete, un binario compilato da un sorgente C no, al massimo qualche libreria che puoi sempre compilare staticamente...
D'accordo, se cambi architettura e/o sistema operativo devi ricompilare, ma di solito la portabilità è molto buona...
Il C/C++ è estremamente versatile, ci puoi fare davvero di tutto, anche se ovviamente non è la soluzione migliore per tutti gli usi, così come non lo è il python o qualsiasi altro linguaggio, ognuno ha un suo ambiente privilegiato di utilizzo e degli impieghi dove è sconsigliabile...
Kde è basato sulle QT, che sono librerie in C++ che consentono di svolgere un sacco di compiti non solo legati alla grafica, con un ambiente di sviluppo (QT designer) niente male, una buona documentazione ed una buona portabilità.
Linux è scritto in C, la bash è scritta in C, python stesso è scritto in C...
La pagina man di python recita:
Python's basic power can be extended with your own modules written in C or C++.
Non discuto la rapidità di sviluppo software con python, né dei suoi moduli, né della possibilità di impiegarlo per gli usi più disparati, ma già il fatto di essere un linguaggio interpretato è un fattore limitante per la velocità di esecuzione, anche se la tecnica di tradurre in un bytecode il codice iniziale da far girare su una macchina virtuale fornisce ottimi risultati.
E' un linguaggio di alto livello, con il C lavori a livelli più bassi e, anche se non è paragonabile all'assembly, ti fai un'idea del funzionamento del pc e della gestione della memoria.
Probabilmente ci vuole molto più tempo ad apprenderlo ed a padroneggiarlo che il python, ma si tratta di un bagaglio culturale che, a parer mio, un programmatore dovrebbe avere, anche se poi magari la maggior parte delle sue applicazioni le svilupperà in python...
Insomma, se credi inizia pure dal python, ho sentito anche altri che lo consigliano, a seconda di quel che ci devi fare usalo pure per tutta la vita, però non evitare il C/C++, dal mio punto di vista è un discorso di cultura, di ampliamento dei propri orizzonti...
Se ti piace programmare è poi consigliabile che ti avvicini anche ad altri linguaggi, non dico di padroneggiarli tutti, ma spesso può essere utile vedere approcci, modi di pensare, di gestire i dati, tecniche di risoluzione dei problemi diverse fra loro...

Come complemento alla bash, ti consiglio di dare un'occhiata a awk e sed.
Uno studio delle espressioni regolari ti sarà d'aiuto in più campi.
Ruby è un'altro linguaggio di programmazione molto interessante, che non conosco, ma che prima o poi vedrò più in dettaglio, interpretato, ad oggetti.
Se pensi di sviluppare applicazioni web impara il php, se pensi di dover usare database l'sql...
Anche affrontare un minimo lo studio del Lisp potrebbe essere interessante, così come, su tutt'altro versante, l'assembly per l'architettura che usi...
Del perl si è già detto...
Beh, c'è java, che già conoscerai: personalmente non lo amo molto per via della sua lentezza, ma ha anch'esso i suoi pregi, primo fra tutti una grande portabillità del codice ed un uso diffuso per il web (a volte anche eccessivo, ma sorvoliamo...)
Il fortran è ormai poco usato, ma in ambito accademico è ancora abbastanza diffuso e c'è l'Intel che ha sfornato da non molto la versione 9.1 del suo compilatore fortran per linux...

Oltre ai linguaggi, a seconda di quello che svilupperai, può essere più o meno fondamentale conoscere specifiche e protocolli, es, tcp/ip per la rete...
Poi c'è il discorso degli algoritmi, es. quelli di ordinamento, di ricerca, eccetera...
Poi la conoscenza di librerie specifiche, es. le qt, le gtk, la gsl, eccetera...
Poi la conoscenza degli strumenti di debugging, di controllo di versione del codice, eccetera...
Poi la conoscenza di come funziona la comunicazione fra processi, il multitasking, il calcolo parallelo, eccetera...
E ovviamente la conoscenza di come funzionano il kernel ed il sistema operativo in generale...

Insomma, se ti piace programmare, hai davvero ragione a dire:
Cavolo allora ci sta davvero da divertirsi!
:D

Avatar utente
gioco
Packager
Packager
Messaggi: 900
Iscritto il: dom 19 giu 2005, 0:00
Slackware: last stable
Località: in the court of the Wesnoth king
Contatta:

Messaggio da gioco »

albatros ha scritto:D'accordo, se cambi architettura e/o sistema operativo devi ricompilare, ma di solito la portabilità è molto buona...
Sono d'accordo con te su tutto il resto, ma la portabilità del C è davvero minima. La libreria standard è disponibile su diverse piattaforme, ma è molto limitata e poco performante. Pensare di scrivere un programma non banale in C facendo uso esclusivamente della libreria standard vuol dire rinunciare a gran parte delle caratteristiche desiderabili. Anche molte librerie utili sono disponibili su più piattaforme (ad esempio la POSIX thread library), ma si ottiene il massimo con il C utilizzando le chiamate di sistema, che sono per loro natura native.

Azz, sono andato decisamente OT...

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Beh, sì, hai ragione, sono stato troppo ottimista, mi sono lasciato trasportare troppo, soprattutto in considerazione del fatto che il C dà il meglio di sé lavorando a basso livello, ad esempio è un buon linguaggio per scrivere driver, dove la dipendenza dalla piattaforma è più forte e la portabilità di gran lunga minore, però in tal caso è l'utilizzo che se ne fa, l'assenza di livelli di astrazione, il modo di funzionare specifico dell'OS e dell'hardware, il problema da risolvere in sé che ne limita la portabilità... questo sarebbe vero per qualsiasi linguaggio che lavori ad un livello sufficientemente basso senza astrazioni, ma si dà il caso che la possibilità di lavorare a basso livello sia uno dei motivi principali per cui si dovrebbe conoscere il C (e magari a quel punto anche un po' di assembly)..:? :roll:
Io pensavo in effetti a programmi basati sulla libreria standard , senza ricorrere alle system call, come i programmi che scrivono i principianti o i dilettanti come me, ma è chiaro che programmi basati solo su tale libreria hanno pesanti limitazioni, anche se magari non necessariamente impediscono di scrivere software non banali, magari sfruttando una delle tantissime librerie che offrono funzioni di livello abbastanza alto per gli scopi più disparati...
Ma a questo punto, per scrivere programmi non banali ad un livello di astrazione più alto, conviene passare ad altri linguaggi, a cominciare dal C++...fino ad arrivare anche al python, se la velocità di esecuzione è accettabile...
;)
Ti ho seguito nell'OT, adesso rientriamo nell'argomento della discussione... ;)

Avatar utente
lamarozzo
Linux 3.x
Linux 3.x
Messaggi: 732
Iscritto il: gio 14 lug 2005, 0:00
Desktop: xfce
Distribuzione: archlinux
Località: Roma

Messaggio da lamarozzo »

mordecai ha scritto: p.s. dove posso trovare una documentazione in italiano sul python?
dal sito della comunita' italiana di Python

http://www.python.it/doc/newbie.html

Personalmente ho utilizzato il primo dei libri consigliati, "Pensare da informatico: Imparare con Python" e per un principiante devo dire che e' ottima, gli altri non li conosco.

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Messaggio da aschenaz »

Quoto Albatros (ma hai dimenticato il Pascal e le sue derivazioni).
Secondo me (che sono un programmatore della domenica), bisogna fare una distinzione essenziale:
La programmazione sarà la ragione della mia vita? Allora non posso fare a meno di conoscere C e C++.
Voglio programmare per hobby e fare qualche cosina simpatica che mi prenda poco tempo? Allora mi rivolgo a qualche IDE-RAD (tipo Lazarus) o all'accoppiata PHP-GTK.

Nel secondo caso, sempre secondo me, è inutile mettersi a imparare il C...

Il Python, secondo me, merita un discorso a parte: è un linguaggio potente ed eclettico e può intervenire nell'uno e nell'altro caso.

Poi ci sarebbe l'approccio lato web...

Avatar utente
cymon
Linux 2.x
Linux 2.x
Messaggi: 430
Iscritto il: ven 5 gen 2007, 1:40
Slackware: 13.1
Kernel: 2.6.33.4-smp
Desktop: Fluxbox
Località: Milano
Contatta:

Messaggio da cymon »

Personalmente non credo che esista un linguaggio assoluto che sia più migliorissimo di tutti gli altri.
Ogni linguaggio ha pregi e difetti, nonostante i vari "padri" esalteranno i primi e taceranno i secondi. I programmatori poi hanno la naturale tendenza ad adattarsi magari a un certo stile piuttosto che a un altro, quindi sfruttano al massimo certi pregi e i difetti proprio non li vedono. Sono cose che dipendono anche dalle proprie sensazioni.
Detto questo non si può prescindere dal C/C++ (in verità forse dal solo C... C++ si può vedere come una derivazione) che è tutt'ora la matrice della maggior parte delle cose che si usano per programmare al giorno d'oggi. Non è più bello o più brutto, è semplicemente la base di gran parte della programmazione di ogni tipo.
Ha quindi ragione ninobi secondo me. Se devi farti il sitarello internet leggiti due tutorial di PHP e vai con Dio, se invece hai bisogno di essere un programmatore da battaglia, uno che, per dire, domani potrebbe trovarsi davanti a una nuova piattaforma/linguaggio/paradigma e doverlo imparare, quantomeno come ragiona il C devi saperlo, fa parte di un bagaglio che comprende anche un mucchio di altre cose...

Avatar utente
lamarozzo
Linux 3.x
Linux 3.x
Messaggi: 732
Iscritto il: gio 14 lug 2005, 0:00
Desktop: xfce
Distribuzione: archlinux
Località: Roma

Messaggio da lamarozzo »

cymon ha scritto: in verità forse dal solo C... C++ si può vedere come una derivazione
beh, il C++ non e' proprio una derivazione, ma un linguaggio completamente diverso dal C.
Diciamo che in ambiente Linux il C la fa da padrona e questo spiega anche perche' inizialmente le QT e Kde non erano visti di buon occhio (oltre ovviamente al problema delle licenze)

Rispondi