View Full Version : [Vari]S.O. per programmare
GiuseppeP
03-06-2011, 21:42
Salve, quale Sistema Operativo o distribuzione linux mi consigliato per programmare vari tipi di linguaggi?
Mi interessa che supporti di suo la maggior parte dei linguaggi di programmazione come ASM C Java Python Perl Ruby e tutti quelli web (client e server).
Inoltre supporto per Qt e GTK.
Esiste una distribuzione adatta?
pabloski
03-06-2011, 22:00
Salve, quale Sistema Operativo o distribuzione linux mi consigliato per programmare vari tipi di linguaggi?
praticamente una qualunque, tanto hanno tutte le stesso software
ubuntu è la più semplice ed è quella che globalmente ha più pacchetti software e l'installazione degli stessi è banale
Mi interessa che supporti di suo la maggior parte dei linguaggi di programmazione come ASM C Java Python Perl Ruby e tutti quelli web (client e server).
si, su linux li trovi tutti quelli elencati
Inoltre supporto per Qt e GTK.
anche qui è solo questione di installare le librerie e gli strumenti di sviluppo
Esiste una distribuzione adatta?
praticamente no, esiste solo una distribuzione che è la più facile da usare ed è ubuntu
poi ovviamente ci sarà chi darà mandriva, chi suse, chi fedora, ma imho ubuntu la si guida con un dito :D
Lazy Bit
03-06-2011, 22:08
Penso che non ci sia molta differenza tra le distro Linux, tranne per il supporto di un determinato desktop environment (GNOME, KDE, Unity, X, ...) e la scelta di inglobare software non libero o meno. Per quanto riguarda la programmazione, i compilatori, gli interpreti, le librerie e gli editor li scarichi dal Software Center (nel caso di Ubuntu e suoi derivati) o li cerchi su internet. Le librerie QT e GTK+ le puoi scaricare dai rispettivi siti: QT Framework (http://qt.nokia.com/) - GTK+ Framework (http://www.gtk.org/). Per i linguaggi C, C++, Object-C, Ada e Fortran, in ogni distro Linux c'è sempre il compilatore GCC.
GiuseppeP
03-06-2011, 22:11
io cerco una distro più leggere di ubuntu che a mio modesto parare è appesantita cercando di soddisfare tutti i gusti.
Io ne voglio più leggera mirata a questi obbiettivi, prorpio per rendere più performante la compilazione e l'esecuzione di applicazioni anche pesanti, senza dover abbondare in ram e CPU
Lazy Bit
03-06-2011, 22:23
Se vuoi una distro leggerissima, prova Slitaz. Però la leggerezza non ha niente a che fare con la programmazione! Anzi, potrebbero mancare componenti di ausilio.
pabloski
03-06-2011, 22:24
io cerco una distro più leggere di ubuntu che a mio modesto parare è appesantita cercando di soddisfare tutti i gusti.
Io ne voglio più leggera mirata a questi obbiettivi, prorpio per rendere più performante la compilazione e l'esecuzione di applicazioni anche pesanti, senza dover abbondare in ram e CPU
non è che la compilazione risente del fatto che ubuntu c'ha gli effetti grafici
quello che chiedi potrebbe portarti ad avere una distribuzione non proprio "moderna"
inoltre bisogna sapere di che hardware stiamo parlando, altrimenti si riduce tutto ad una lista di consigli senza nè capo nè coda
io cerco una distro più leggere di ubuntu che a mio modesto parare è appesantita cercando di soddisfare tutti i gusti.
Io ne voglio più leggera mirata a questi obbiettivi, prorpio per rendere più performante la compilazione e l'esecuzione di applicazioni anche pesanti, senza dover abbondare in ram e CPU
La maggior parte dei linguaggi che hai elencato non ha nemmeno bisogno di essere compilata. Per gli altri la compilazione è praticamente istantanea su progetti personali di piccole e medie dimensioni. Non farti problemi ed usa una distribuzione che ti dia un accesso veloce a tutto quello che ti serve ed un ide decente.
Salve, quale Sistema Operativo o distribuzione linux mi consigliato per programmare vari tipi di linguaggi?
Mi interessa che supporti di suo la maggior parte dei linguaggi di programmazione come ASM C Java Python Perl Ruby e tutti quelli web (client e server).
Inoltre supporto per Qt e GTK.
Esiste una distribuzione adatta?
Linux Mint 11, basata su ubuntu 11.04. Semplice da usare, pacchetti non-free disponibili nei repository. A te non interessa molto la leggerezza della distro, quanto l'ultima versione del kernel, che è molto più veloce soprattutto sotto carico intenso di lavoro.
Chissà perchè, quando sono entrato avevo già la certezza che il topic si sarebbe trasformato in un covo di linari con la fissa che programmare vuol dire ricompilare il kernel :asd:
Allora, mettiamo in chiaro un pò di cose di Linux:
-qualsiasi tool esista, esiste anche per windows (ok tranne valgrind, e quello merita)
-non esiste nessun IDE di buon livello per C/C++, cioè al livello di visual studio
-i pacchetti precompilati C/C++ sono quasi sempre per Visual Studio; su Ubuntu potresti trovare il pacchetto nella repo, e allora Ubuntu > Win.
Ma d'altra parte potresti non trovarlo, e allora sono cavoli tuoi. Nella mia esperienza si va da "ottimo" a "non funzionante senza fix".
-Con C# potresti trovarti molto male su Linux
-Linux non supporta la suite Adobe, il che è molto male se vuoi lavorare in Flash
-se rilasci un programma nativo solo su linux, lo potrà usare l'1% del mondo se ti dice bene, quindi per qualsiasi progetto serio a un certo punto, dovrai portarlo su Windows o Mac.
-Linux richiede(richiedeva?) un tempo sconfinato per la sua configurazione. I programmatori sono gente molto impegnata e dover mantenere il sistema invece che il proprio software è malissimo.
Devo dire che Ubuntu è al livello di windows oggi, in un'ora puoi iniziare a lavorare... ma se vai su altre distro potresti farti molto male.
Io di solito realizzo giochi, quindi la combo deleteria niente strumenti adobe + niente IDE C++ guardabile + nessun mercato per i giochi linux è uno show stopper notevole.
Personalmente trovo che Mac OS (XCode) sia molto meglio per il programmatore, perchè ha un IDE buono, è supportato dai software commerciali, è un UNIX con toolchain repo e tutto il resto, e ci puoi sviluppare per iPhone.
Con linux non sono mai potuto essere veramente produttivo in questo ambito, e posso assicurare che ci ho provato, dato che i prof dell'uni vogliono che lo usiamo :doh:
Quindi tornando in topic: io ti consiglio prima di scegliere un linguaggio, e quindi un IDE e il suo ecosistema. Solo dopo ti cerchi il SO che supporta meglio entrambi, perchè il so è solo uno strumento, anzi uno strumento per usare strumenti.
Per iniziare di solito Windows è il più semplice, perchè tutti considerano che tu lo stia usando... poi andando avanti le scelte aumentano.
PS: il prossimo che dice che nel 2011 è fattibile programmare in C/C++ con gcc a riga di comando gli stacco le manine :asd:
pabloski
04-06-2011, 12:00
Chissà perchè, quando sono entrato avevo già la certezza che il topic si sarebbe trasformato in un covo di linari con la fissa che programmare vuol dire ricompilare il kernel :asd:
l'op ha chiesto quale distribuzione di linux gli consigliavamo e quindi....
-i pacchetti precompilati C/C++ sono quasi sempre per Visual Studio;
??
Ma d'altra parte potresti non trovarlo, e allora sono cavoli tuoi. Nella mia esperienza si va da "ottimo" a "non funzionante senza fix".
si ma lo stesso vale su windows....mi è capitato proprio di recente di dover installare l'IDE eric su windows ed è stata una tragedia
in ogni caso per programmare c'è tutto nei repository, quindi il problema non si pone
-Con C# potresti trovarti molto male su Linux
con .net vorrai dire, c# è supportato perfettamente da mono, sono le esoticherie ( si può dire??? ) di .net a non essere supportate
-Linux non supporta la suite Adobe, il che è molto male se vuoi lavorare in Flash
oddio passiamo da c a flash :D
però per linux c'è flex builder!!!
-se rilasci un programma nativo solo su linux, lo potrà usare l'1% del mondo se ti dice bene, quindi per qualsiasi progetto serio a un certo punto, dovrai portarlo su Windows o Mac.
problema reale ma superabile....se arriva al punto di dover realizzare un programma serio allora non avrà problemi ad usare le qt :D
-Linux richiede(richiedeva?) un tempo sconfinato per la sua configurazione. I programmatori sono gente molto impegnata e dover mantenere il sistema invece che il proprio software è malissimo.
parliamo di 10 anni fa evidentemente
Devo dire che Ubuntu è al livello di windows oggi, in un'ora puoi iniziare a lavorare... ma se vai su altre distro potresti farti molto male.
è vero, per questo consiglio ubuntu anche se io uso archlinux
Io di solito realizzo giochi, quindi la combo deleteria niente strumenti adobe + niente IDE C++ guardabile + nessun mercato per i giochi linux è uno show stopper notevole.
realizzi giochi in flash???
Personalmente trovo che Mac OS (XCode) sia molto meglio per il programmatore, perchè ha un IDE buono, è supportato dai software commerciali, è un UNIX con toolchain repo e tutto il resto, e ci puoi sviluppare per iPhone.
ed è anche molto costoso :D
Con linux non sono mai potuto essere veramente produttivo in questo ambito, e posso assicurare che ci ho provato, dato che i prof dell'uni vogliono che lo usiamo :doh:
dipende da cosa devi fare....se parliamo di adobe allora è ovvio che avrai dei problemi
ma se parliamo di c++ è difficile che ce ne siano
PS: il prossimo che dice che nel 2011 è fattibile programmare in C/C++ con gcc a riga di comando gli stacco le manine :asd:
volendo si può :D
però io nel 2011 preferisco programmare in c++ con qtcreator :sofico:
Tommo ha già detto tutto.
Vedila anche sotto l'aspetta prettamente economico:
MICROSOFT
Un programmatore (o presunto tale) sicuramente vuole ricavare del profitto dalle sue applicazioni perciò deve affrontare la dura realtà del mercato..
Checché se ne dica Microsoft ha piu del 95% del mercato degli home computer, e per home computer si intendono i pc del truzzi di 14 anni fino i Desktop dei dirigenti d'azienda o dei consumer in generale, detiene un sistema ludico che ormai ha superato, e di gran lunga, la Sony in quanto a sicurezza (:read:), Utenti, Giochi. Ha un sistema Mobile che sta nascendo e che, steve ballmer permettendo :doh: , avanzerà e guadagnerà sempre piu mercato nell'ambito aziendale (solo la possibilità di sincronizzare Outlook è un fattore non da poco).
Fatta questa parabola su Microsoft ora la stessa ti offre un UNICO IDE (bello pesante lo ammetto) che ti da la possibilità di utilizzare più linguaggi per lo stesso programma (ci pensa il CLR o l'IL a "fonderli assieme") e ti offre la potenza di creare un unico programma che puoi distribuire su TUTTE LE PIATTAFORME (Cloud,Web,Desktop,Mobile,Xbox).
Hai MSDN una piattaforma tra le tante di Microsoft ricche di Tutorial,Guide,Forum e Wiki.
Questo dovrebbe convincere chiunque che il mercato che mette a disposizione Microsoft è più vasto di Linux e Apple
Con un computer da 500 euro e Visual studio Express puoi già programmare e questo è un GROSSO VANTAGGIO rispetto ad Apple.
APPLE:
Apple non è da meno di microsoft però ha una fetta di mercato minore e i costi iniziali sono maggiori. Per programmare su piattaforma apple (Safari,Desktop e Mobile) hai bisogno di un Mac (999 Euro in su...) e Xcode e hai bisogno anche della licenza Apple developer.
Diciamo che io punterei ad Apple solo se sai che puoi mantenerti i costi iniziali fin da subito...
LINUX & Co.
sinceramente ho provato a programmare in ambienti linux come Ubuntu e Suse... dopo 2 settimane ero ancora li che risolvevo errori sul Sistema operativo perciò ho deciso di lasciar perdere
ed è anche molto costoso :D
xcode costoso? :confused: 4 euro non mi sembra un prezzo improponibile.
Prima che mi additiate come un WindowsFanBoy io tutt'ora uso un MAC (OSX Lion da 17") per programmare in PHP le mie web app.. però me lo mantengo grazie alle applicazioni che sviluppo su Windows :D
pabloski
04-06-2011, 12:10
xcode costoso? :confused: 4 euro non mi sembra un prezzo improponibile.
no no il mac dicevo
pabloski
04-06-2011, 12:12
Prima che mi additiate come un WindowsFanBoy io tutt'ora uso un MAC (OSX Lion da 17") per programmare in PHP le mie web app.. però me lo mantengo grazie alle applicazioni che sviluppo su Windows :D
?? se sviluppi in php allora non sviluppi per windows
php è indipendente dalla piattaforma e riguarda il web
*
No uso C++. E il C++ è il linguaggio peggio supportato su linux, il che è veramente ironico considerando che è scritto in C.
Qt creator è una fetecchia impressionante, è un bloc notes con il testo colorato che wrappa make. Però non tutto, quindi alla fine il make devi scrivertelo :doh:
Quando dico "essere produttivo", intendo usare IDE "veri" come Visual C++ o XCode, che sono entrambi gratis, e sono sconfinatamente meglio di qualsiasi roba per linux.
Purtroppo la programmazione è fatta di economie di scala, e se uso un IDE dove QUALSIASI pacchetto non trovo nella repo devo perderci mezza giornata a compilarlo, ho perso in partenza.
E quando inizi a fare qualcosa di vero senza trafficare con i pacchetti standard è una cosa che succede e dà molto fastidio, altro che su linux c'è tutto.
Senza contare ovviamente tutti gli SDK commerciali che su linux non ci sono e basta.
VC ha l'ovvio vantaggio che chiunque rilascia il suo software in modo che sia semplice da usare con VC, quindi anche se la gestione dei pacchetti di Windows non esiste, alla fine hai meno rischi.
no no il mac dicevo
Ah ok. Se non si ha un mac è sicuramente una spesa in più da fare. Se ci pensi però anche un pc con windows non è che sia gratis e se poi ci aggiungi il costo della versione base di visual studio superi tranquillamente il costo di un qualsiasi apple.
?? se sviluppi in php allora non sviluppi per windows
php è indipendente dalla piattaforma e riguarda il web
:mbe: Mica ho detto che sviluppo sempre con PHP. su windows utilizzo VS2010 per creare applicazioni desktop-mobile e, rispetto ai progetti web che sto facendo, ci metto di meno e mi pagano prima. Utilizzo il MAC per sviluppare web app perchè riesco a creare applicazioni, lasciatemelo dire, FIGHE cioè belle da vedere. Non so perchè ma con il mac mi sento più un artista che un programmatore e sul web conta molto lo stile.
chiudo qui l'ot senno:sofico:
Io mi trovo bene con eclipse cdt.. e quello lo si può installare ovunque. Non sarà al livello di visual studio ma è un IDE completo. E utilizzo linux perché per i programmi che devo fare per lavoro non c'è soluzione più comoda!
Comunque è la domanda che è sbagliata a mio avviso. Decidi cosa vuoi fare e poi decidi come farla, quali strumenti utilizzare etc...
pabloski
04-06-2011, 12:45
Qt creator è una fetecchia impressionante, è un bloc notes con il testo colorato che wrappa make. Però non tutto, quindi alla fine il make devi scrivertelo :doh:
ma di quale versione stai parlando?
Purtroppo la programmazione è fatta di economie di scala, e se uso un IDE dove QUALSIASI pacchetto non trovo nella repo devo perderci mezza giornata a compilarlo, ho perso in partenza.
è raro non trovare qualcosa nei repository oggi giorno
E quando inizi a fare qualcosa di vero senza trafficare con i pacchetti standard è una cosa che succede e dà molto fastidio, altro che su linux c'è tutto.
se parliamo di librerie c'è praticamente tutto quello che serve per un uso normale
tanto per dire, non è che opengl devi compilartelo
Senza contare ovviamente tutti gli SDK commerciali che su linux non ci sono e basta.
alcuni ci sono ma nella maggior parte non servono perchè si sono sdk validi e opensource
perchè usano qualcosa di commerciale quando puoi usarne una open?
VC ha l'ovvio vantaggio che chiunque rilascia il suo software in modo che sia semplice da usare con VC, quindi anche se la gestione dei pacchetti di Windows non esiste, alla fine hai meno rischi.
ma lo stesso vale per qtcreator, eclipse, netbeans, ecc...
alla fin fine sono sempre una massa di file .cpp, .h e makefiles e questo sia su windows che linux
al massimo su linux se vuoi usare una certa libreria che non sta nei repository devi compilarla e magari su windows trovi già il file binario? più di questo non vedo altri problemi rilevanti
Su windows al 99% o trovi il binario, o nel pack c'è un progetto di Visual Studio pronto per essere compilato.
Lo stesso non vale affatto per gli altri, perchè il binario su linux è una chimera, e un SDK con il progetto di qt creator lo devo ancora vedere. Al massimo ne ho trovato uno con KDevelop.
Su linux quando dice male, c'è solo un make.
E poi mi è successo veramente troppe volte che sto make è pure buggato :asd:
Comunque si, ad oggi nei repo si trova quasi tutto, in realtà questa situazione è molto peggiore su Mac OS quando esci dagli SDK di mamma Apple (compilare freetype e freeimage per IOS stava diventando un incubo), direi che la mia più grossa lamentela su Linux sia la mancanza di un IDE buono e supportato...
ed è piuttosto grave perchè non posso nemmeno iniziare a fare cose :asd:
Giuro che li ho provati tutti, dovevo solo compilare un .h e 2 .c, ma è stato impossibile.
Qt creator non si connetteva al terminale e non mi faceva vedere nulla, e il debug era sbagliatissimo.
Eclipse CDT non trovava sqrt() nonostante ci fosse math.h incluso in bella vista.
KDevelop non sono riuscito a capire quale mente malata l'avesse partorito.
Sicuramente impegnandosi avrebbe funzionato tutto, ma se un IDE non è in grado di compilare un progetto così banale out of the box senza studiarsi metri di manpages non mi ci affiderei mai per una cosa più importante. E poi sono carenti anche da altri punti di vista (intellisense?).
C'è anche CodeBlocks (che ha funzionato) ma è inferiore a VC, non c'è niente da fare.
Probabilmente il miglior editor in assoluto per Linux rimane emacs/vi, e per questo motivo non ci sono IDE grafici buoni... ma non mi va veramente di imparare a usarli :asd:
pabloski
04-06-2011, 14:14
Su windows al 99% o trovi il binario, o nel pack c'è un progetto di Visual Studio pronto per essere compilato.
ovviamente se parliamo di librerie create apposta per funzionare nell'ambiente windows
un esempio banale, prendi questo http://amygdala.sourceforge.net/ non c'è nessun progetto per visual studio
lavorando in ambiente windows, ti rivolgi a librerie windows-centriche o comunque pensate primariamente per ambiente windows e allora ti sembra che tutto il mondo vada in giro con dei progetti per visual studio
Lo stesso non vale affatto per gli altri, perchè il binario su linux è una chimera, e un SDK con il progetto di qt creator lo devo ancora vedere. Al massimo ne ho trovato uno con KDevelop.
ma questo perchè su linux si cerca di essere il più possibile indipendenti da qualsiasi framework o libreria
logicamente una libreria utile per i programmatori non viene progettato per essere qt-dipendente, anche perchè qt non ha molte lacune da colmare con librerie apposite
Su linux quando dice male, c'è solo un make.
un make che nel 90% dei casi ti permette di ottenere un binario
E poi mi è successo veramente troppe volte che sto make è pure buggato :asd:
se scarichi librerie scritte da cani non è colpa di linux
Comunque si, ad oggi nei repo si trova quasi tutto, in realtà questa situazione è molto peggiore su Mac OS quando esci dagli SDK di mamma Apple (compilare freetype e freeimage per IOS stava diventando un incubo),
infatti, su macos devi fare acrobazie con fink e non è per niente semplice
direi che la mia più grossa lamentela su Linux sia la mancanza di un IDE buono e supportato...
direi che la più grossa mancanza è una documentazione completa per cdt di eclipse
ed è piuttosto grave perchè non posso nemmeno iniziare a fare cose :asd:
Giuro che li ho provati tutti, dovevo solo compilare un .h e 2 .c, ma è stato impossibile.
non è il codice era proprio sbagliato? mi pare decisamente strano che un programma così semplice sia stato impossibile da compilare
Qt creator non si connetteva al terminale e non mi faceva vedere nulla, e il debug era sbagliatissimo.
problemi d'installazione di qtcreator?
E poi sono carenti anche da altri punti di vista (intellisense?).
direi che è questa l'unica vera pecca
C'è anche CodeBlocks (che ha funzionato) ma è inferiore a VC, non c'è niente da fare.
codeblocks è proprio amatoriale, non è nemmeno pensato per competere con ide di alto livello
però per chi comincia a programmare è molto molto comodo e semplice da usare
pabloski
04-06-2011, 14:17
Comunque è la domanda che è sbagliata a mio avviso. Decidi cosa vuoi fare e poi decidi come farla, quali strumenti utilizzare etc...
da quello che ha scritto mi pare di capire che necessiti di linux per qualche motivo significativo
cerca compatibilità con qt e gtk e lì non si scappa, installarli sotto windows è drammatico....qt ultimamente ha semplificato l'installazione ma gtk è un no-no
magari necessita di programmare per sistemi embedded, boh, ho tirato ad indovinare :D
-non esiste nessun IDE di buon livello per C/C++, cioè al livello di visual studio
Che funzionalita' di VS mancano negli altri IDE ?
-i pacchetti precompilati C/C++ sono quasi sempre per Visual Studio; su Ubuntu potresti trovare il pacchetto nella repo, e allora Ubuntu > Win.
Ma d'altra parte potresti non trovarlo, e allora sono cavoli tuoi. Nella mia esperienza si va da "ottimo" a "non funzionante senza fix".
La maggior parte delle librerie utili le trovi un un repo di ubuntu. Se non li trovi li' spesso c'e' un repository aggiuntivo che puoi usare. Comunque la maggior parte delle volte se il software non e' scritto da cani basta qualcosa come ./configure ; make ; make install per installarlo. E se non funziona questo la dice lunga sulla qualita' del software e non lo installo.
-Con C# potresti trovarti molto male su Linux
-Linux non supporta la suite Adobe, il che è molto male se vuoi lavorare in Flash
D'altra parte ci sono una miriade di linguaggi nati in ambiente unix che funzionano da culo sotto Windows. Trovami una versione gratuita di un common lisp che funzioni bene sotto windows a 64 bit, o uno scheme.
Morale, i linguaggi nati sotto windows funzionano meglio sotto windows, quelli nati in unix funzionano meglio sotto linux (con qualche eccezione).
-Linux richiede(richiedeva?) un tempo sconfinato per la sua configurazione. I programmatori sono gente molto impegnata e dover mantenere il sistema invece che il proprio software è malissimo.
Devo dire che Ubuntu è al livello di windows oggi, in un'ora puoi iniziare a lavorare... ma se vai su altre distro potresti farti molto male.
La mia esperienza e' contraria. Soprattutto a regime, quando fai meno fatica a mantenere aggiornato il software. Le case principali lo fanno (MS, Adobe ... ), ma cosa dire di altre librerie o linguaggi che hai installato nel frattempo ? Inoltre la maggior parte delle librerie open source nascono in ambiente unix e funzionano peggio sotto windows.
Con linux non sono mai potuto essere veramente produttivo in questo ambito, e posso assicurare che ci ho provato, dato che i prof dell'uni vogliono che lo usiamo
Quanti anni di esperienza hai sotto linux e quanti sotto windows ?
PS: il prossimo che dice che nel 2011 è fattibile programmare in C/C++ con gcc a riga di comando gli stacco le manine :asd:
Non e' necessario usare la linea di comando per programmare in C++ sotto linux.
Purtroppo la programmazione è fatta di economie di scala, e se uso un IDE dove QUALSIASI pacchetto non trovo nella repo devo perderci mezza giornata a compilarlo, ho perso in partenza.
Ripeto, francamente la mia esperienza e' il contrario, probabilmente perche', sebbene abbia usato per piu' anni Windows, come programmatore sono cresciuto sotto Linux. Ho fatto sempre molta piu' fatica a compilare librerie sotto windows. boost::python + stackless ? Sotto linux ci ho messo un attimo, sotto windows un calvario. Anche sotto windows non sempre fila tutto liscio; magari perche' la libreria ha il progetto solo per visual studio 2008, e quando lo converti a 2010 comunque per qualche motivo non compila, o devi tenere la versione 2008, o devi fare un sacco di modifiche (e.g. Steam SDK).
E quando inizi a fare qualcosa di vero senza trafficare con i pacchetti standard è una cosa che succede e dà molto fastidio, altro che su linux c'è tutto.
Ma quali sono questi pacchetti che ti hanno dato cosi' tanti problemi ?
Comunque la morale e' che dipende dal linguaggio che uno vuole usare e da cosa vuole ottenere.
Su windows al 99% o trovi il binario, o nel pack c'è un progetto di Visual Studio pronto per essere compilato.
Lo stesso non vale affatto per gli altri, perchè il binario su linux è una chimera, e un SDK con il progetto di qt creator lo devo ancora vedere. Al massimo ne ho trovato uno con KDevelop.
Su linux quando dice male, c'è solo un make.
E poi mi è successo veramente troppe volte che sto make è pure buggato :asd:
Sotto linux sempre piu' progetti C++ usano cmake. Uno dei vantaggi e' che non gestisce la compilazione direttamente, ma genera l'output specifico per la piattaforma. Sotto linux ti genera un Makefile, o un progetto KDevelop, o un progetto eclipse. Sotto windows un progetto codeblocks piuttosto che VS. mentre sotto mac un progetto Xcode.
Se vuoi fare un programma cross platform in C++ e' un must, ti consiglio di darci una occhiata.
Eclipse CDT non trovava sqrt() nonostante ci fosse math.h incluso in bella vista.
KDevelop non sono riuscito a capire quale mente malata l'avesse partorito.
Sicuramente impegnandosi avrebbe funzionato tutto, ma se un IDE non è in grado di compilare un progetto così banale out of the box senza studiarsi metri di manpages non mi ci affiderei mai per una cosa più importante. E poi sono carenti anche da altri punti di vista (intellisense?).
Sebbene CDT non mi esalti, non mi ha mai dato problemi di questo tipo. E si che in ubuntu ho usato tanto la versione del repository quanto quella ufficiale scaricata in una cartella. Inoltre, sebbene la maggior parte dei plugin per Eclipse sia per java, ce ne sono diversi che funzionano anche con C++; dall'integrazione con l'issue tracker piuttosto che con il server di continuos integration o la generazione di codice c++ da modelli uml... dipende di cosa hai bisogno
Probabilmente il miglior editor in assoluto per Linux rimane emacs/vi, e per questo motivo non ci sono IDE grafici buoni... ma non mi va veramente di imparare a usarli :asd:
C'e' un "per Linux" di troppo :Prrr:, dove altro lo trovi un ide dove hai accesso anche alla chat, alla mail e a google maps ? :D
Lazy Bit
04-06-2011, 17:37
Oh belandi! Pensavo che l'argomento introdotto dal povero autore del topic, in cerca di una distro Linux senza troppi orpelli grafici, si fosse esaurito, invece si è scatenata una battaglia Linux versus Windows da paura! Mi aggiungerò anch'io alla lista. :D
Il mio modesto parere è che il mondo è basato sul commercio, ma questo lo sanno tutti. Windows è il sistema operativo più diffuso e intuitivo perché ha alle spalle un colosso aziendale, il cui obiettivo principale era indirizzato verso i personal computer, perciò offre una gamma di software più ampia rispetto agli altri sistemi operativi e, conseguentemente, è più opportuno programmare (e mi azzardo a dire, se permettete, anche più facile) per tale sistema (maggior utenza). I sistemi operativi MacOS e Linux stanno emergendo solo ultimamente. Il primo girava sui PowerPC, questi ultimi con un prezzo esorbitante, che non tutti potevano permettersi, i secondi sviluppati da ricercatori o programmatori freelance, che ovviamente creavano applicazioni per i propri scopi (soprattutto scientifici). Mettere un comune mortale davanti a un sistema Linux (parlo di alcuni anni fa) era produttivo come il mostrare la fotografia dell'ossigeno ad uno che sta annegando (cit. Dr. Manhattan, Watchmen). Attualmente Linux si è orientato verso un pubblico più vasto grazie alla distro Ubuntu, che ne rende più immediato l'utilizzo, mentre i MacOS han cominciato a girare anche su x86. Comunquesia, il compilatore Linux per eccellenza, GCC, è un ottimo compilatore: è gratuito e offre supporto per numerosi linguaggi (se non erro anche l'IDE per MacOS, XCode, poggia su GCC). Le librerie e strumenti vari uno se li cerca su internet. Quello che può dar noia in un sistema Linux è trovare drivers funzionanti e stabili per le proprie periferiche, a volte dovendone compilare i sorgenti, seguendo le istruzioni trovate in rete. Ma se uno sa programmare, si saprà adattare ad ogni tipo di ambiente. La questione è un'altra: a quale tipo di utenza è indirizzato il proprio software? Su quale tipo di hardware dovrà girare? Se uno vuole sviluppare un videogame complesso, si troverà in difficoltà su Linux, perché non potrà sfruttare tutta la potenzialità messa a disposizione dalle DirectX, ad esempio. Se invece vuole scrive codice per il web o per applicazioni matematiche, Linux è molto adatto. I MacOS invece son consigliati per applicazioni audio: la maggior parte dei mixer e delle digital audio workstation sono compatibili con i MacOS.
pabloski
04-06-2011, 17:50
Si in effetti bisogna capire quali sono le necessità dell'op. Linux è stato menzionato perchè lui chiedeva esplicitamente quale distribuzione fosse la più orientata, il che fa pensare che per qualche ha ragione ha bisogno di linux.
Chiaramente non ti metti a sviluppare su linux se devi creare un software per windows, sarebbe quantomeno inutile.
Sui giochi c'è da dire che nonostante le directx siano diventate tanto famose in ambito videludico soprattutto su pc, le opengl non sono da meno e vari adattamenti delle stesse sono alla base delle librerie grafiche di wii, playstation e altri dispositivi ( mac compresi ). Sul fronte dei videogames direi che il discorso è all'inverso e cioè se vuoi sviluppare un gioco che abbia un minimo di possibilità di essere portato su altre piattaforme non puoi assolutamente usare le directx.
Lazy Bit
04-06-2011, 18:26
Linux è stato menzionato perchè lui chiedeva esplicitamente quale distribuzione fosse la più orientata, il che fa pensare che per qualche ha ragione ha bisogno di linux.Secondo me (ma potrei sbagliarmi), da come è stata posta la domanda originaria, trattasi di studente che si affaccia per la prima volta al mondo Linux e che cerca di apprendere solide basi informatiche. Gira spesso voce che Linux sia la piattaforma migliore in assoluto per diventare il Programmatore per eccellenza (probabilmente dovuta al fatto che mia madre non sa nemmeno spegnere il PC su cui gira Linux se non con lo sdradicamento totale del cavo di alimentazione :asd: ). Quindi, l'autore del topic, basandosi su questi rumors, cercava tra tutte le distro Linux, la "più orientata verso la programmazione", citando una moltitudine di linguaggi e framework.
Sui giochi c'è da dire che nonostante le directx siano diventate tanto famose in ambito videludico soprattutto su pc, le opengl non sono da meno e vari adattamenti delle stesse sono alla base delle librerie grafiche di wii, playstation e altri dispositivi ( mac compresi ). Sul fronte dei videogames direi che il discorso è all'inverso e cioè se vuoi sviluppare un gioco che abbia un minimo di possibilità di essere portato su altre piattaforme non puoi assolutamente usare le directx.Sì, infatti come ho detto poco fa, la scelta dipende dal tipo di utenza e dall'hardware al quale è indirizzato il software che si intende sviluppare. Volevo lasciar intendere che se uno vuole creare un motore grafico con gli attributi, dovrà orientarsi verso Windows, le OpenGL sono solo uno standard e attualmente su Linux manca il completo supporto dei drivers per le schede video, mentre per applicazioni audio troverà maggiori strumenti e documentazione per MacOS, vale lo stesso per le applicazioni matematiche e per il web su Linux.
Sui giochi c'è da dire che nonostante le directx siano diventate tanto famose in ambito videludico soprattutto su pc, le opengl non sono da meno e vari adattamenti delle stesse sono alla base delle librerie grafiche di wii, playstation e altri dispositivi ( mac compresi ). Sul fronte dei videogames direi che il discorso è all'inverso e cioè se vuoi sviluppare un gioco che abbia un minimo di possibilità di essere portato su altre piattaforme non puoi assolutamente usare le directx.
calma. :asd:
Wii e PS3 non usano OpenGL. Su wii non è supportata, su PS3 esiste ma nessuno sano di mente la usa, perchè parlare direttamente col driver è più efficiente.
Poi è molto più facile di quanto si creda far girare lo stesso gioco su OpenGL e DX, a livelli bassi possono essere usate praticamente allo stesso modo.
Comunque io sarei per usare OpenGL dappertutto e basta, peccato che la situazione dei driver OpenGL su Windows e Linux sia pietosa.
Su win si rimedia duplicando il render per DX, su Linux... non si fa :asd:
Tornando IT, mi pare evidente dal thread che prima decidi che vuoi fare, poi scegli le librerie, poi scegli il linguaggio e solo alla fine scegli il SO :read:
pabloski
04-06-2011, 18:43
vabbè se elenchiamo tutti i driver che fanno porcate di vario genere, restiamo al palo
il punto fondamentale è capire che quali sono i pro e i contro delle varie possibili scelte....se si sceglie directx è importante essere convinti che si svilupperà solo per windows e xbox e che un eventuale porting sarà un bagno di sangue
e qui sta l'inghippo nel consigliare a qualcuno che inizia questa o quella tecnologia, anche se alla fine, in teoria, dovremmo conoscerle tutte
e allora nascono le guerre tra chi dice "vade retro C", chi dice "python è una fetecchia", ecc.... il problema è che ognuno di questi strumenti non è mai perfetto e sei sempre costretto a conoscere più di quanto dovresti
pabloski
04-06-2011, 18:45
calma. :asd:
Wii e PS3 non usano OpenGL. Su wii non è supportata, su PS3 esiste ma nessuno sano di mente la usa, perchè parlare direttamente col driver è più efficiente.
si ma sono derivate da opengl, il modello di programmazione è quello
per la precisione psgl è un derivato di opengl es e wii usa un opengl-like, stesso modello ma, per infamia pure e semplice, api totalmente diverse
è pur vero che alla fin fine pure directx a basso livello è simile ad opengl, del resto non è che la pipeline grafica la puoi stravolgere più di tanto
Tornando IT, mi pare evidente dal thread che prima decidi che vuoi fare, poi scegli le librerie, poi scegli il linguaggio e solo alla fine scegli il SO :read:
se stai imparando è difficile decidere cosa vuoi fare :D
e qui si ritorna al punto di partenza e cioè che ognuno consiglia ciò che trova più comodo e il poveraccio dall'altra parte se ne va più confuso di prima
Quello che stavo dicendo è proprio che se fai l'architettura con un minimo di senso, o usi tools esistenti tenendo a mente il porting, portare da OpenGL a DX o viceversa non è affatto un bagno di sangue, anzi si fa in pochissimo tempo :D
Dipende soprattutto da quante features avanzate e "strane" usi... perchè per il resto le GPU quelle sono, e sia DX che OpenGL espongono tutte le loro features.
XBox lascialo stare, perchè per usare le Dx su quello ci vuole lo SDK ufficiale, e per quello serve essere un'azienda seria con soldi dietro, e va decisamente fuori topic.
Noi comuni mortali si usa XNA che è in C#.
E qualunque sia l'architettura, il modello è la vecchia state machine grafica a pipeline inventata da SGI negli anni 90, che è ovvia una volta che ti studi l'architettura di una GPU... per quello i porting si fanno agilmente quasi sempre :D
Altrimenti i pro come fanno a sviluppare per PC (dx) +Mac (gl) +Xbox (dx mod) +PS3 (driver) +Wii (revsdk) INSIEME?
se stai imparando è difficile decidere cosa vuoi fare :D
E' per quello che la gente sbaglia, ma noi non possiamo farci niente, dato che anche noi stiamo imparando, sempre :D
Domanda: mi consigliate una distribuzione Linux?
Risposta: Windows.
E via tutti a comprare le scarpe dal panettiere.
Salve, quale Sistema Operativo o distribuzione linux
:read:
pabloski
04-06-2011, 20:05
:read:
vero ma avendo chiesto di qt e gtk è ovvio che rimane solo linux
Macché, scherzi? E le famosissime "distribuzioni windows" dove le mettiamo?
Si vabbè ormai questo topic non s'ha da fare [cit.]
Lazy Bit
05-06-2011, 01:54
E via tutti a comprare le scarpe dal panettiere.
Propriamente! Ti do anche la ricetta per la CIABATTA (http://www.cucinaitaliana.info/ricettepag/basi/pane/pane-ciabatta/pane-ciabatta-ricetta-foto.htm)
PS: Per informazione, porto il 42, grazie! :asd:
killercode
05-06-2011, 02:33
La risposta alla domanda è molto semplice: "La domanda non ha senso."
E' incredibile che in due pagine piene a nessuno sia venuta in mente una risposta così ovvia
e-commerce84
05-06-2011, 11:04
io cerco una distro più leggere di ubuntu che a mio modesto parare è appesantita cercando di soddisfare tutti i gusti.
Io ne voglio più leggera mirata a questi obbiettivi, prorpio per rendere più performante la compilazione e l'esecuzione di applicazioni anche pesanti, senza dover abbondare in ram e CPU
Scusa ma da come parli mi viene il sospetto che tu sia un principiante (se fossi un esperto programmatore con vari anni di esperienza sulle spalle dubito che chiederesti quale distribuzione usare...)
Detto questo...se la mia analisi fosse corretta...invece di preoccuparti di studiare 1001 linguaggi che probabilmente non porterai mai a termine, invece di pensare ad applicazioni "anche pesanti"...prenditi un manuale di UN linguaggio che ti possa essere utile, studiatelo per un anno, vediti qualche framework...e poi ne riparliamo...ah...se non hai esigenze specifiche...si programma anche su Windows ahahahaha
e-commerce84
05-06-2011, 11:10
Probabilmente il miglior editor in assoluto per Linux rimane emacs/vi, e per questo motivo non ci sono IDE grafici buoni... ma non mi va veramente di imparare a usarli :asd:
:rolleyes: :rolleyes: :rolleyes: NO COMMENT...
Ok...tutte le mie domande hanno appena avuto risposta...guarda che per fare applicazioni "anche pesanti" Emacs e vi te li tiri in faccia...se ad esempio programi in Java e devi usare qualche framework (Spring, IceFaces, Hibernate) senza un Eclipse o un NetBeans non ne esci vivo....
Rinnovo il consiglio...un po' di modestia...parti da un solo linguaggio e studiatelo seriamente...e sopratutto per fare gli esercizzi tipici dello studio di un linguaggio li puoi fare indistintamente su Linux, Windows, Mac...
Fedora è una delle distro più attrezzate sin da subito con le ultime novità in campo programmazione (ad esempio monta GCC 4.6, mentre Ubuntu non si sa perché è fermo al 4.5.x), comunque se hai voglia di perdere un po' di tempo dai un'occhiata ad Arch (è una rolling, hai sempre il software aggiornato, il che ha dei pro e dei contro).
Comunque di fatto il discorso della distro è più personale, ovvero dovresti provare e vedere qual è quella con cui ti trovi meglio.
Condivido anche il discorso fatto da Tommo, purtroppo sotto Linux c'è una carenza di IDE decenti per C/C++ (il debugger di alcuni IDE è veramente imbarazzante).
Io ho fatto diversi progetti usando NetBeans (che non è malaccio tutto sommato, ma non nasce per quello).
Tra i vari DE andrei su KDE che mi sembra quello attualmente migliore (non l'avrei mai detto qualche anno fa).
:rolleyes: :rolleyes: :rolleyes: NO COMMENT...
Ok...tutte le mie domande hanno appena avuto risposta...guarda che per fare applicazioni "anche pesanti" Emacs e vi te li tiri in faccia...se ad esempio programi in Java e devi usare qualche framework (Spring, IceFaces, Hibernate) senza un Eclipse o un NetBeans non ne esci vivo...
Eppure ho ripetuto "per C/C++" almeno una decina di volte, mi aspettavo che almeno una volta la gente lo leggesse :stordita:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.