Programmazione in linux

17 risposte [Ultimo messaggio]
Ritratto di franco_da_vc
franco_da_vc
(Monster)
Offline
Monster
Iscritto: 22/05/2008
Messaggi: 397

Non sono impazzito, sto cercando di iniziare a programmare anche in linux, in passato e su altri sistemi ormai non più commerciali lo avevo fatto e, siccome ho dei programmi in basic che mi servono ancora, vorrei tradurli in un linguaggio che possa lavorare nel nostro pinguinone, in tanti mi hanno suggeruito il c o il c++ e, per le parti puramente elaborative, penso non dovrei avere grossi problemi, il basic che usavo allora era altamente strutturato e abbastanza vicino al discorso procedurale che vedo nel c.

I miei problemi cominciano sul discorso dell'interfaccia grafica, altri toolkit e penso totalmente diversi: è li che avrei bisogno di conoscere le nozioni su cui lavorare, altro punto che ho da mettere a fuoco è il funzionamento dell'ide Kdevelop e del Qt designer 4; ammetto non mi sono fatto mancare nulla.

Ragion per cui vi chiedo se avete da consigliarmi dei manuali o quant'altro da poter consultare ed apprendere ed anche, se ne siete a conoscenza, un forum simile al vostro per poter condividere le varie esperienze con altri come me, se ce ne sono. (piu che condividere... carpire!)

Vi ringrazio ed attendo i vostri preziosi suggerimenti.

Bye by AFo

Ritratto di maxydon
maxydon
(Junior)
Offline
Junior
Iscritto: 11/02/2011
Messaggi: 10

Beh per prima cosa ti potrei consigliare di postare la stessa domanda (magari tradotta in inglese) su http://stackoverflow.com/ in quanto a programmazione quel sito mi ha salvato in miriadi di situazioni per quanto riguarda il linguaggio di programmazione dal mio modesto parere ti consiglierei java (se non hai esigenze particolari) che una volta scritto il codice lo puoi eseguire su qualsiasi sistema operativo dotato di JVM.

Saluti

Ritratto di filotux
filotux
(Monster)
Offline
Monster
Iscritto: 26/11/2006
Messaggi: 307

Non so chi ti possa aver suggerito il C++ ma se vuoi imparare un linguaggio ad oggetti io te lo sconsiglio vivamente: e' nato come insieme di macro per il C ed eredita da questo approccio l'architettura fortemente incentrata sul linguaggio C. In pratica e' possibile scrivere tonnellate di codice in C++ senza usare neanche una classe. Il linguaggio non "obbliga" a ragionare ad oggetti. Se un programmatore ha consumata esperienza sull'object oriented design, allora non e' un problema, altrimenti la tentazione e' forte e, soprattutto se si e' alle prime armi, risulta difficile sviluppare programmi in object oriented "puro".

Per come la vedo io non esiste una "pallottola d'argento" dei linguaggi di programmazione: ci sono quelli piu' o meno generali, piu' o meno fatti bene, piu' o meno di alto livello, piu' o meno a oggetti, piu' o meno funzionali, piu' o meno logici, piu' o meno strutturati, piu' o meno facili.... sta a te scegliere il linguaggio giusto in rapporto a quello che devi fare.

Se e' solo per divertirti, per scrivere qualche programmetto per te o da condividere con la comunita', ma anche se vorresti farlo per lavoro, allora ti consiglio anch'io il Java. Ti obbliga a "pensare" ad oggetti e quindi e' molto utile per imparare, ha una sintassi simile (se non praticamente uguale sotto alcuni aspetti) a quella del C, e' abbastanza flessibile e potente (ormai CPU e memoria non sono piu' un problema), e trovi in giro una miriade di librerie per fare praticamente tutto quello che vuoi, anche a livello grafico.

Te lo consiglio in abbinata all'ambiente di sviluppo Eclipse, che puoi usare anche per sviluppare in altri linguaggi. Se invece vuoi un approccio piu' "raw" allora puoi iniziare con il compilatore da riga di comando ed un qualsiasi editor di testi. Anzi, ti suggerisco di compilare il tuo primo "Hello Java World!" da riga di comando, almeno entri nel dettaglio della JDK, e poi ti sposti su un IDE.

Ovviamente il "Re" dei linguaggi in ambienti GNU/Linux/Unix rimane sempre il mitico "C" da imparare rigorosamente sulla Bibbia.

filotux

Debian Lenny on BeagleBoard

Ritratto di franco_da_vc
franco_da_vc
(Monster)
Offline
Monster
Iscritto: 22/05/2008
Messaggi: 397

Ringrazio entrambi per le vostre considerazioni, in effetti io stavo pensando al C - C++ confidando nella vicinanza (in alcuni aspetti) tra questo linguaggio ed il precedente basic che usavo, in effetti anch'io stavo riflettendo che alla fine avrei scritto non un codice C++, ma un qualcosa che non sarebbe andato oltre lo standard C, sperando che l'ide lo supportasse, per quanto riguarda il Java (senz'altro un ottimo linguaggio) lo stavo considerando, forse a torto, un mostro sacro, in effetti non so se ho mitizzato, ma il discorso oggetti mi sta incutendo un po' di timore.

Approposito ma tra Java e Javascript c'è qualche vicinanza, io delle routine javascript le ho scritte per alcuni siti che ho curato.

Se non annoio e se avete voglia sarei contento di continuare il discorso.

Ciao ad entrambi.

Bye by AFo

Ritratto di wal7er
wal7er
(Guru)
Offline
Guru
Iscritto: 21/09/2007
Messaggi: 572

franco_da_vc ha scritto:


...
Approposito ma tra Java e Javascript c'è qualche vicinanza, io delle routine javascript le ho scritte per alcuni siti che ho curato.
...

Sono due linguaggi totalmente diversi anche se condividono alcuni costrutti e tipi base.

javascript - linguagggio di scripting ad oggetti (MA senza classi)

java - linguaggio di progammazione ad oggetti (con classi e tutto il resto)

HP Pavilion dv5-1110el powered by OpenSUSE 13.2 64bit

http://linuxcounter.net/cert/432576.png

Ritratto di Templare
Templare
(Collaboratore)
Offline
Collaboratore
Iscritto: 28/10/2011
Messaggi: 747

franco_da_vc ha scritto:

Ringrazio entrambi per le vostre considerazioni, in effetti io stavo pensando al C - C++ confidando nella vicinanza (in alcuni aspetti) tra questo linguaggio ed il precedente basic che usavo, in effetti anch'io stavo riflettendo che alla fine avrei scritto non un codice C++, ma un qualcosa che non sarebbe andato oltre lo standard C, sperando che l'ide lo supportasse, per quanto riguarda il Java (senz'altro un ottimo linguaggio) lo stavo considerando, forse a torto, un mostro sacro, in effetti non so se ho mitizzato, ma il discorso oggetti mi sta incutendo un po' di timore.

Approposito ma tra Java e Javascript c'è qualche vicinanza, io delle routine javascript le ho scritte per alcuni siti che ho curato.

Se non annoio e se avete voglia sarei contento di continuare il discorso.

Ciao ad entrambi.

E che ne pensi di Python o Ruby?

Assemblato 1: Phenom II X4 965 Black Edition + AMD Radeon HD 5770 + Scheda Madre Asus Crosshair IV Formula + Scheda Audio Asus Xonar D2X. Sistema Windows 7 Ultimate 64 Bit
Assemblato 3: Intel Core i3 3220 + nVIDIA Geforce 640 GT. Sistema openSUSE 13.1 64 bit GNOME

Ritratto di marcosan
marcosan
(Collaboratore)
Offline
Collaboratore
Iscritto: 17/12/2010
Messaggi: 39

Ciao, naturalmente tutto dipende dalle tue esigenze e da cosa ci devi fare. Io "vivo" in ambiente C, con qualche escursione nel Fortran di tanto in tanto...quindi sarei naturalmente di parte Wink

Piccola premessa...il Basic in ambiente GNU/Linux esiste, quindi potresti anche semplicemente continuare ad utilizzare quel che avevi creato!

Se invece vuoi fare un restyling, per prima cosa devi capire se vuoi utilizzare un linguaggio di programmazione ad oggetti (C++, Java, etc.) o meno (C, Fortran, Pascal, Basic, etc.) e se vuoi appoggiarti a librerie esterne (e quali) o meno. Se infatti intendi utilizzare una libreria creata per Java, forse imparare il linguaggio Java e` piu` adatto...e cosi` per ogni altra possibile combinazione!

Buona fortuna,
Marco

"La matematica e' l'arte di dare lo stesso nome a cose diverse."
H.Poincare (1854-1912).

Ritratto di wal7er
wal7er
(Guru)
Offline
Guru
Iscritto: 21/09/2007
Messaggi: 572

Templare ha scritto:


...

E che ne pensi di Python o Ruby?

Anche io mi associo a Templare: python.
Non l'ho detto prima per evitare di essere monotono (o fissato).

Python lo apperzzi dopo essere passato per C, C++, Java, e "roba" del genere. Wink

HP Pavilion dv5-1110el powered by OpenSUSE 13.2 64bit

http://linuxcounter.net/cert/432576.png

Ritratto di franco_da_vc
franco_da_vc
(Monster)
Offline
Monster
Iscritto: 22/05/2008
Messaggi: 397

marcosan ha scritto:


Piccola premessa...il Basic in ambiente GNU/Linux esiste, quindi potresti anche semplicemente continuare ad utilizzare quel che avevi creato!
Buona fortuna,
Marco

Esiste un basic? Dove lo trovo? Qual'è il suo nome? E soppratutto è un interprete o si può compilare?

Uhm! non voleva essere un terzo grado, forse sono stato un po' impulsivo.

In ogni caso il mio scopo ultimo è portare un certo numero di programmi dal vecchio elaboratore a poter girare nell'ambiente linux, sto insistendo sul C perche come avevo detto in precedenza avevo avuto da più di una parte questo suggerimento, poi devo dire anche una certa curiosità da parte mia verso questo linguaggio c'è sempre stata.

Ciao.

Bye by AFo

Ritratto di doc_pluto
doc_pluto
(Guru)
Offline
Guru
Iscritto: 08/02/2007
Messaggi: 871

non sono un programmatore, ma mi intrometto nella discussione per citare il mio prof di Fondamenti di Informatica al secondo anno di ing.meccanica.
disse (più o meno testualmente) che il linguaggio di programmazione C è la base di tutto ciò che è venuto dopo e che verrà. imparare a parlare con le macchine usando questo linguaggio è come conoscere una lingua universale.

voi che ne dite?

Hardware: MB:P5E3_Deluxe - CPU:Core2Duo E8400 3.0GHz - RAM:Kingstone_2Gb_DDR3 - Video:GeForce9600GT/PCI/SSE2 - HD: 2x WDCaviarBlue 1TB
--------------------------------
Software: SO:openSuSE 12.1 - ARCH:64bit - DE:Gnome3 - DriverVideo:Ufficiali Nvidia

Ritratto di wal7er
wal7er
(Guru)
Offline
Guru
Iscritto: 21/09/2007
Messaggi: 572

doc_pluto ha scritto:


non sono un programmatore, ma mi intrometto nella discussione per citare il mio prof di Fondamenti di Informatica al secondo anno di ing.meccanica.
disse (più o meno testualmente) che il linguaggio di programmazione C è la base di tutto ciò che è venuto dopo e che verrà. imparare a parlare con le macchine usando questo linguaggio è come conoscere una lingua universale.

voi che ne dite?

Si è vero MA se vuoi restare un agoritmo con dei dati sistemati come matrici, vettori, tabelle hash, in c ti devi scrivere da zero tutte le funzioni per gestire le strutture dati (o andare a cercare le librerie) e poi l'algoritmo mentre in python sono già disponibili a livello di linguaggio (per info: http://docs.python.org/library/).

HP Pavilion dv5-1110el powered by OpenSUSE 13.2 64bit

http://linuxcounter.net/cert/432576.png