Notizia:
  • Rilasciata Precise Pangolin 12.04. Per ottenerla, visitate questa pagina, oppure provate il tour dal vivo con un browser web moderno.
  • Nuovo forum di Ubuntu-it, l'annuncio. È consigliato aggiornare il proprio profilo e controllare la sezione Gruppo Forum per problemi noti.
  • Rilasciata la versione italiana di Precise Pangolin 12.04. Per maggiori informazioni, consultare questa discussione.
  • Il vincitore del Concorso desktop del mese di aprile è Jerico. L'elenco dei precedenti vincitori è qui.
  • È uscito il numero 17 della Newsletter italiana di Ubuntu. Lo trovate a questo indirizzo.
  • È uscito il numero 59 di Full Circle Magazine in italiano. Lo trovate a questo indirizzo.

A proposito di "open source"

Il ritrovo della comunità dove confrontarsi e discutere sulle notizie dal mondo dell'informatica, di Ubuntu e di tutto quello che la riguarda, novità, pettegolezzi e quant'altro.

Re: A proposito di "open source"

Messaggioda enlosi » lunedì 30 gennaio 2012, 22:06

Grazie veramente.In realta` a furia di cercare in Internet mi sono imbattuto nei tutorials di gtk 1.2, 2.0 e mentre mi accingevo ad affrontare gtk 2.0 e`ho saputo che era uscito gtk 3.0 (il cui tutorial  adesso il tuo link mi ha evidenziato).Avendo un approccio piu` pratico che teorico in genere imparo dagli esempi.
Per cui ho pensato di affrontare un macigno come GIMP per avere una cosa piu` stabile
(ma adesso uscira` la versione  2.8  anche se e` un anno che se ne parla) da cui partire .
La cosa consolante e` che mi sembra che i sorgenti d`esempio siano identici per cui mi conviene abbandonare il tutorial 2.0 per 3.0?Cosa cambia tra Gtk 2 e Gtk 3?
Per la mia preparazione sono agli inizi anche se cerco di studiare (attualmente Paul e Harvey Deitel
per il C e il C++ e vari corsi  presi da internet tra cui manuali piu` divulgativi tipo Imparare c e c++ della master edizioni o piu` sistematici come  Corso c++ standard  (http://www.bo.cnr.it/corsi-di-informati ... zione.html). Per Gtk il tutorial di Ian Main  e Tony Gale di cui c`e` anche una traduzione se a qualcuno interessa http://www.bo.cnr.it/corsi-di-informatica/corsoCstandard/Lezioni/02Introduzione.html.Solo che e` datato 1998, 14 anni fa!!
Ho cercato di avvicinarmi anche a Cairo , Sdl e ho anche cercato qualcosa sulla programmazione in X
ma e` veramente un macello.Invece come IDE per c e c++ho provato CodeLite, Code:blocks, Glade, Anjiuta, Eclipse e Netbeans (che mi sembra il migliore).Alla fine ho pensato: GIMP e` ottimo in tutti i sensi.Se riesco a dissezionarlo e ad estrarre quello che mi serve forse capisco come fare.
Perche in realta` dovrei riuscire ad usare le librerie Dicom le dcmtk http://www.ohloh.net/p/dcmtk. Risultato: mi sono perso
Ho esagerato. mettendomi nei panni di chi legge mi verrebbe da ridere.
Ridete pure, ma io sono disperato.
E` proprio vero che troppa informazione e` = a nessuna informazione
Beh, scusate lo sfogo.
enlosi
Prode Principiante
 
Messaggi: 30
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda enlosi » lunedì 30 gennaio 2012, 23:32

se dovesse interessare a qcuno c`e` un IDE molto semplice e carino che ho appena trovato
http://sourceforge.net/projects/openldev/ dall`autore di un libro altrettanto interessante
http://www.amazon.com/Foundations-GTK%2b-Development-Andrew-Krause/dp/1590597931/ref=sr_11_1?ie=UTF8
enlosi
Prode Principiante
 
Messaggi: 30
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda Dari » martedì 31 gennaio 2012, 0:11

La differenza è che le gtk3 sono l'evoluzione delle gtk2 che piano piano verranno abbandonate, per cui specie se sei all'inizio ti conviene buttarti subito sulle gtk3, come ide se vuoi c'è anche geany che è molto simile a quello che hai trovato. Per le gtk non saprei darti altri riferimenti oltre al loro sito, quel poco che ho fatto con il c (anzi c++) l'ho fatto con le qt.
In ogni caso per un po' lascia perdere programmi come gimp e studiati gli esempi più semplici, anche se è un po' noioso bisogna andare per gradi.
Dari
Prode Principiante
 
Messaggi: 157
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda enlosi » martedì 31 gennaio 2012, 22:50

Gia`, e se poi escono le gtk4? (sto scherzando naturalmente).Il problema e` che da quello che ho capito

Le GTK + 3.0 sono meno dipendenti da x11 e più aperte verso wayland , utilizzano Cairo per il rendering e via dicendo. Ma una nuova funzione molto interessante potrebbe dare quello slancio che mancava da tempo alle librerie! un back-end HTML5 che consente alle applicazioni GTK di essere eseguire nativamente all’interno di un browser! Considerando che la tendenza generale dei sistemi operativi si orienta verso tecnologie web-based in parallelo con la crescita del mercato hardware con i Netbook, sarebbe un grande passo per Gnome e le GTK.

tratto da http://it-it.facebook.com/note.php?note_id=473248574509


Il che probabilmente e` positivo ma mi sballa tutto!Certo non posso pretendere che il mondo si fermi ma sulle gtk 2.0 c`e` molto piu` materiale (per forza direte voi GTK 3 e` uscito da poco...)
Quello che noto e` che piu` passa il tempo e piu` diventa difficile per un utente medio arrivare ad una buona conoscenza del sistema partendo da zero.Prendiamo il mio esempio: non avendo limiti di tempo , io dovrei imparare bene il C,  la programmazione di X, le glib, e poi sarei pronto per approcciarmi a  GTK.
Ma a cosa mi servirebbe se poi x server verra` sostituito da wayland e Qt subentrera` a GTK nello sviluppo di Unity?Mi viene in mente un altro esempio.E` vero che grub2 presenta il vantaggio di gestire ext4 e il boot da iso oltre a gestire memorie di massa molto piu` grandi ma e` anche vero che e` molto piu` ingessato di Grub legacy.
Con grub 1 io riesco facilmente ad avere una decina di distribuzioni su un`unico computer, cancellarle, sostituirle, farne di tutti i colori modificando il solo menu.lst.E non solo il solo ma ci sono molti utenti come me.Con grub2 forse potrei ottenere gli stessi risultati se fossi un guru(ma ne dubito,anche se fossi un guru alcune cose non si potrebbero certamente fare).
Risultato: finche` posso evito ext4 e rimango su ext3  e mi tengo grub1.
Non mi si venga a dire che non si sarebbe potuto ottenere le migliorie di grub2 mantenendo la possibilita` per l`utente di manipolarlo con la stessa facilita`che si ha con grub legacy.
E` una scelta politica, allo stesso modo in cui si sostituisce il framework con la scusa di semplificare
la vita ai programmatori ma col risultato di diminuire il numero dei programmatori veri.
Insomma come Microsoft che ha iniziato con gwbasic  e ha finito con dot.net.
E voi mi direte: come e` successo quando l`assembly ha ceduto il passo al C.
Ma c`e` una bella differenza!Che cosa si insegna oggi nelle scuole, anche all`universita`, a programmare in java se va bene.Ma sono veri programmatori?Con uno sforzo certamente inferiore potrei lavorare in visual studio ma sarebbe come mettersi la camicia di forza. Ho la sensazione che linux (almeno le grosse distribuzioni) stia cambiando e che lo scopo non sia piu` quello di avere un approccio piu` libero col computer ma forse di perseguire maggiori guadagni.
A proposito di open source che sta diventando sempre piu` criptica da decifrare e quindi piu` closed?
Ultima modifica di enlosi il martedì 31 gennaio 2012, 23:02, modificato 1 volta in totale.
enlosi
Prode Principiante
 
Messaggi: 30
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda Ikitt » martedì 31 gennaio 2012, 22:55

enlosi ha scritto:Ma c`e` una bella differenza!Che cosa si insegna oggi nelle scuole, anche all`universita`, a programmare in java se va bene.Ma sono veri programmatori?

Si.
I primi veri programmatori dovevano impostare a mano il layout in memoria dei loro programmi, a livello anche di immagine iniziale. Byte per byte.
Adesso (beh, per la verita` dal 1980 in avanti. Tanto peggio.) abbiamo addirittura caricatori automatici, partizionamento dinamico, per non parlare di paginazione, caricamento dinamico.

Adesso siamo veri programmatori?

[edit]espando per vedere di chiudere tutto in un post. Proviamoci
Naturalmente, se te vuoi/pensi di dover ripercorrere l'evoluzione che ha portato la stratificazione attuale, non ci riuscirai, per il semplice fatto che parti, se va bene, con 40 anni di ritardo da recuperare. Anche assumendo di essere eccezionalmente brillanti, di avere i migliori maestri e la miglior documentazione, non la vedo facile.
L'errore sta nel pensare che sia necessario violare la stratificazione e riscoprire tutta la storia evolutiva, sia anche "solo" del segmento che ci interessa.
Invece, conta sfruttare la stratificazione (piu` che conta, e` l'unico modo di sopravvivere). Dare per buono quanto c'e` un livello sotto, o due sotto (c'e` comunque sotto tanto abbastanza da poterselo permettere) e cominciare a costruire da li. Sfruttare, insomma, la stratificazione a proprio vantaggio invece di vederla come un ostacolo (visione, peraltro, antistorica). Una volta ottenuta una conoscenza del dominio sufficiente, si puo` iniziare con profitto ad appronfondire scavando negli strati piu` bassi, eventualmente cercando di capire -e perche` no, sinanco contestare- i detti sottostrati.

Ovviamente questo non rende "meno fighi" o "meno programmatori", cosi` come non ha reso tali tutte le generazioni di programmatori sottostanti che hanno sempre e comunque costruito sulle fondamenta e sulle semplificazioni delle generazioni precedenti, tranne la prima per ovvi motivi.

Anche quelli che programmavano Xlib in C.
[/edit]
Ultima modifica di Ikitt il martedì 31 gennaio 2012, 23:09, modificato 1 volta in totale.
"in questo forum(.ubuntu-it.org) si può dire che ubuntu fa schifo ma non si può dirlo di windows" / "i driver open sono un ripiego" / LO SVILUPPATORE E` UN TUO NEMICO
Avatar utente
Ikitt
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1411
Iscrizione: ottobre 2007

Re: A proposito di "open source"

Messaggioda stefocefo » martedì 31 gennaio 2012, 23:01

Le gtk4 usciranno prima o poi.

comunque, senza andare troppo offtopic, i file .ui non sono solo qt, sono dei gtkbuilder (dei file che descrivono l'interfaccia gtk da "costruire"), ti consiglio di studiare un programma che non usi gtkbuilder, per capire bene le basi.

(esempio: lxterminal, un emulatore di terminale per lxde)
Avatar utente
stefocefo
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 972
Iscrizione: agosto 2010
Località: Milano

Re: A proposito di "open source"

Messaggioda enlosi » martedì 31 gennaio 2012, 23:22

a stefocefo
provero`quanto prima grazie.
scusa la domanda stupida: essendo per lxde non posso ovviamente eseguirlo in gnome...? devo cambiare DE? istallare LXDE o usare altra distro es. lubuntu? Oppure posso fare tutto in gnome?
enlosi
Prode Principiante
 
Messaggi: 30
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda stefocefo » martedì 31 gennaio 2012, 23:30

enlosi ha scritto:a stefocefo
provero`quanto prima grazie.
scusa la domanda stupida: essendo per lxde non posso ovviamente eseguirlo in gnome...? devo cambiare DE? istallare LXDE o usare altra distro es. lubuntu? Oppure posso fare tutto in gnome?



nono, allora:

1 - Un programma per Linux è eseguibile in Linux, che sia Gnome/Kde/Xfce o Lxde.
2 - LxTerminal è un programma in Gtk2, quindi non hai problemi di librerie diverse da gnome (non dovrai installare nulla eccetto il programma stesso credo, e le librerie di sviluppo per compilarlo ovviamente).
Ultima modifica di stefocefo il mercoledì 8 febbraio 2012, 20:02, modificato 1 volta in totale.
Avatar utente
stefocefo
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 972
Iscrizione: agosto 2010
Località: Milano

Re: A proposito di "open source"

Messaggioda enlosi » martedì 31 gennaio 2012, 23:39

a Ikit
come discorso mi sembra convincente ma come faccio a capire da quale "strato" partire?
In Windows e`semplice, (non ho detto che sia facile) decidono loro tutto, e gli utenti  compresi i programmatori si adeguano.Ma in linux?Io ho iniziato con Slackware nel 1997 e ho proseguito con Red Hat
per arrivare a Ubuntu qualche anno fa passando tra varie altre distro.Sono partito col dos 3.1 (sono vecchiotto..), ho dovuto istallare Windows 3.11 di malavoglia e mi sono fermato al 98 perche` 2000 non mi convinceva.Piu` vado avanti piu` mi interessa approfondire e con linux mi sembra possibile.
Ma avendo necessita`di programmare una interfacia grafica per un mio progetto e avendo avuto ostruzionismo da parte di una Software House rigidamente legata a Microsoft che mi aveva proposto o dot.net o niente, mentre io volevo sviluppare in linux, ho deciso di fare da solo.
E` una bella impresa.Adesso devo chiudere perche` domani mi devo alzare presto.Comunque sono veramente grato a tutti voi.Spero di poter continuare il discorso.
Ultima modifica di enlosi il martedì 31 gennaio 2012, 23:48, modificato 1 volta in totale.
enlosi
Prode Principiante
 
Messaggi: 30
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda enlosi » martedì 7 febbraio 2012, 22:36

mi rispondo da solo visto che nessuno lo fa.
Ma mi piacerebbe sentire il vostro parere

1) Lo "strato da cui ho deciso di partire e` GTK2+ (GTK2.8) perche` le applicazioni  e la documentazione per GTK3 sono ancora molto scarse.

2) Ho istallato lxterminal come suggerito da stefocefo. bello. lo sto studiando.
enlosi
Prode Principiante
 
Messaggi: 30
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda enlosi » mercoledì 8 febbraio 2012, 0:17

Per stefocefo:
ti consiglio di studiare un programma che non usi gtkbuilder, per capire bene le basi.

(esempio: lxterminal, un emulatore di terminale per lxde)



problemino:mi sono inchiodato su "preferences.c"

Codice: Seleziona tutto
/* Initialize and display the preferences dialog. */
void terminal_preferences_dialog(GtkAction * action, LXTerminal * terminal)
{
    Setting * setting = terminal->setting;

 GtkBuilder * builder = gtk_builder_new();
    if ( ! gtk_builder_add_from_file(builder, PACKAGE_DATA_DIR "/lxterminal/lxterminal-preferences.ui", NULL))
    {
        g_object_unref(builder);
        return;
    }


Ovviamente non te ne faccio una colpa, anzi, sono molto contento che tu mi abbia consigliato
lxterminal;

Oltre a glade, che non mi e`particolarmente simpatico, e a Qt che non vorrei proprio, cosa potrei usare per produrre dei files .ui?
enlosi
Prode Principiante
 
Messaggi: 30
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda enlosi » mercoledì 8 febbraio 2012, 0:34

No, mi sa che sto sbagliando tutto.
Per quello che devo fare non devo usare glade ma riuscirci con il c e le gtk+ perche ` la maggior parte del programma e` proprio la gui...
Se no tanto vale qt4 o .net.
enlosi
Prode Principiante
 
Messaggi: 30
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda Dari » mercoledì 8 febbraio 2012, 12:40

Prova a fare un programma tuo che sia semplice, ad esempio un'agenda o una calcolatrice. Comunque guarda che anche con le qt (e .net/java/qualunque altro linguaggio) non sei assolutamente costretto ad usare il designer, io ho sempre fatto tutto a mano.
Dari
Prode Principiante
 
Messaggi: 157
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda harrykar » giovedì 9 febbraio 2012, 13:26

enlosi ha scritto:Io ho iniziato con Slackware


Idem(sei fra vecchiotti  ;D non ti preoccuppà) sono partito con la primissima Slack nel '94 e allora non fu per niente banale ;)

Piu` vado avanti piu` mi interessa approfondire e con linux mi sembra possibile.


Sei arrivato un po tardi ma meglio tardi che mai  ;) .Infatti i *nix sono nati in accademia e come tali sono un ambiente perfetto per lo studio --oltre che per lavorarci in produzione--.

...dalla intro sul GCC di 10 anni fa
It can be argued that the current free-software movement is the most important
thing happening in computing today. We are in the midst of a major shift from
all software being proprietary and closely held by individual companies to a large
body of software that can be freely acquired and used by anyone for any purpose.
Free software now includes not only programming language compilers and linkers,
but numerous utilities, graphical user interface environments, and even entire
operating systems.
Add all this to the fact that virtually all free software is compiled by GCC, and
it can be argued that GCC is the most important piece of software in the world. Of
course, programs are written in many languages, and there are compilers for these
languages, but for the most part these compilers are written and compiled using GCC.
At some point, all free software harks back to GCC. Some computer companies have
begun to drop support for their own compilers and simply install GCC instead. It’s
free for the taking and is constantly being extended and maintained.
With the addition of the two latest languages to the GCC family—Java and Ada—
the GCC compiler is spreading its wings even further. This brings the total number
of active languages in GCC to six: C, C++, Objective-C, Fortran, Java, and Ada.
Development is in progress on other languages, such as COBOL, and they will be
added to GCC if there is enough support behind them.

The GCC compiler has had a very interesting history. Its history is more than just
a list of dates and events. This piece of software is more fundamental to the entire free
software movement than any other. In fact, without it or something like it, there would
be no free software movement. Linux is possible because of GCC.


Ma avendo necessita`di programmare una interfacia grafica per un mio progetto e avendo avuto ostruzionismo da parte di una Software House rigidamente legata a Microsoft che mi aveva proposto o dot.net o niente, mentre io volevo sviluppare in linux, ho deciso di fare da solo.E` una bella impresa.


Di solito il lavoro e le condizioni le dettano i clienti. A parte cio e non conoscendo le particolarità sviluppare da indipendenti in *nix -- anche se non in voga come per Win -- non è male --anche se più complicato causa la grande varietà (a partire dagli ambienti Gui)--. Qui la molteplicità di scelte la fa da padrone(il che è anche negativo per il developer. Invece è tutto positivo per l' end user) . Ben venuto  (b2b)
Ultima modifica di harrykar il lunedì 13 febbraio 2012, 0:39, modificato 1 volta in totale.
"Arguing with an engineer is like wrestling with a pig in the mud; after a while you realize you are muddy and the pig is enjoying it." -- Don't Learn to HACK - Hack to LEARN -- cyberwarfare is now an active part of information warfare
Avatar utente
harrykar
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1031
Iscrizione: gennaio 2009
Località: Θεσσαλονικη

Re: A proposito di "open source"

Messaggioda stefocefo » giovedì 9 febbraio 2012, 17:56

Ok, ti passo un po' di tutorial:
Tutorial ufficiali GNOME (Gtk+C/Python/Vala/C++): http://developer.gnome.org/gnome-devel-demos/unstable/
Documentazione ufficiale: http://developer.gnome.org/gtk3/stable/

Ti consiglio di iniziare con la documentazione ufficiale, i tutorial danno per scontato l'uso dell'IDE Anjuta, mentre puoi benissimo scrivere con gedit o editor simili.
non ho ben capito se intendi scrivere in C o altri linguaggi, personalmente ti consiglio il Vala, che è un buon compromesso tra velocità, facilità d'uso e integrazione con Gtk/GLib.
Avatar utente
stefocefo
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 972
Iscrizione: agosto 2010
Località: Milano

Re: A proposito di "open source"

Messaggioda enlosi » giovedì 9 febbraio 2012, 23:08

Stefocefo

grazie.
mi sembra  molto utile soprattutto  http://developer.gnome.org/gnome-devel-demos/unstable/

Vorrei partire dal C ma mi trovo in una situazione tale che mi viene difficile scegliere.
Quello che dice Harrycar
Qui la molteplicità di scelte(il che è anche negativo per certi aspetti) la fa da padrone.
forse e` il mio problema.
Finora ho dato uno sguardo intorno per cercare di capire come impostare uno studio con un minimo di basi e mi sono procurato:
Corso-completo-programmazione-Paul-Deitel http://www.amazon.it/Corso-completo-programmazione-Paul-Deitel/dp/8850329547
C++. Fondamenti di programmazione http://books.google.it/books/about/C++_Fondamenti_di_programmazione.html?hl=it&id=BFoxAAAACAAJ&redir_esc=y
C++ Tecniche avanzate di programmazione 2a ed. http://www.apogeonline.com/libri/9788850323876/scheda
Managing Projects with GNU Make, 3rd Edition http://shop.oreilly.com/product/9780596006105.do
Sams Teach Yourself Gtk+ Programming in 21 Days http://www.amazon.it/Sams-Teach-Yourself-Programming-Days/dp/0672318296  (questo mi deve ancora arrivare)
Beginning Linux Programming (Programmer to Programmer) http://www.amazon.com/Beginning-Linux-Programming-Programmer/dp/0764543733 (questo mi deve ancora arrivare ma ho scoperto or ora che esiste anche un download gratis http://full-free-downloads.com/full-download-e-book/4536-full-free-download-beginning-linux-programming.html)
Foundations of GTK+ Development (Expert's Voice in Open Source) http://www.amazon.com/Foundations-Development-Experts-Voice-Source/dp/1590597931
"Gtk+ Programming in C" http://www.sydlogan.com/gtkbook.html
E qualche decina di tutorial e corsi on line.(carino per esempio http://www.yolinux.com/TUTORIALS/GTK+ProgrammingTips.html


E ho diviso il mio processo di acquisizione in due fasi, una pratica e una teorica.

Ho provato sia a compilare da linea di comando (ho bisogno di studiare meglio il makefile)
ma mi sembra una scelta obbligata usare un ide per questioni di praticita`.
Quindi ho provato Anjuta, Eclipse e Netbeans per c/c++, CodeBlocks e adesso sto provando OpenLDev solo perche` e` stato scritto da Andrew Krause, l`autore di "C++. Fondamenti di programmazione" e spero che mi aiuti nello studio del suo libro.
(e gia` perche`poi bisogna anche studiarsi i manuali degli IDE e OpenLDev e` proprio semplice-semplice mentre per usare bene Eclipse o NetBeans ci vogliono anni di esperienza..)
Ma OpeLdev e` insufficiente, per me il migliore resta NetBeans)

Peccato che sono indietro di almeno 10 anni.
Ogni tanto mi perdo.
Eppure ho perfettamente chiaro cosa, in che modo e perche` devo fare

Il problema e` che da qualche parte devo cominciare. E` il problema che avevo posto a Ikit: da quale strato devo partire?
Faccio un  esempio, le gtkmm solo molto piu` agili di gtk+ ma, dovendo partire da un livello di conoscenza basso (il mio livello di conoscenza..) mi sembra di perdere qualcosa se non parto da gtk+ Inoltre, se parto da gtk3 mi perdo tutto quello che ho acquisito in documentazione (vedi sopra la bibliografia)E` vero che poi dovro` sottoporre ad una revisione i listati per usare le gtk3 (ammesso che mi serva) ma almeno avro` raggiunto il risultato.Non e` detto che bisogna usare solo le cose piu` aggiornate, ogni tanto mi capita di usare ancora il dos e il basic (solo per quei programmi che ancora non sono riuscito a portare in linux).E poi preferisco il C al C++ perche` dovro` poi integrarlo con altri pezzi del progetto.Magari sbaglio ma mi sembra che il c sia piu` vicino alla macchina.
Diamine! La prima versione di Gimp in fin dei conti era  in c o no? E io ho bisogno "solo" di un canvas sul quale piazzare 2 immagini su due livelli e sulle quali segnare dei punti registrando le coordinate dei punti stessi in un file....


Ho anche aperto un topic sul forum di Gimp http://gimpitalia.it/forum/viewtopic.php?f=26&t=17242 e ho cercato di "aprire " Gimp, cosa impossibile.

Scusate la logorrea.
Ultima modifica di enlosi il giovedì 9 febbraio 2012, 23:22, modificato 1 volta in totale.
enlosi
Prode Principiante
 
Messaggi: 30
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda harrykar » venerdì 10 febbraio 2012, 14:28

enlosi ha scritto:Stefocefo

grazie.
mi sembra  molto utile soprattutto  http://developer.gnome.org/gnome-devel-demos/unstable/

Vorrei partire dal C ma mi trovo in una situazione tale che mi viene difficile scegliere.
Quello che dice Harrycar
Qui la molteplicità di scelte(il che è anche negativo per certi aspetti) la fa da padrone.
forse e` il mio problema.


In realtà è "un problema" di tutti noi ;) --ma personalmente preferisco "il mal di testa" che potenzialmente mi da il pluralismo che quello provocato dalla completa mancanza o dalla via obbligata ;D--  . Il mondo FOSS repira proprio di questa pluralità. Esempio banale dato che siamo in tema guarda X11 e quanti WM con rispettive librerie esistono.

Non potrebbe essere altrimenti, la molteplicità è cosa bonna e bella ma d' altro canto porta a "problemi di scelta".


Finora ho dato uno sguardo intorno per cercare di capire come impostare uno studio con un minimo di basi e mi sono procurato[cut]


Qui spendo volentieri 2 parole. Non so il tuo background nel campo per cui parlo di me come esempio per capirci. Io ho un background formale (il che è se c'è volontà e perspicaccia non è molto limitante direi) ma al limite ne ho incontrato anche giovani non graduati(qualcuno molto valido debbo dire) che si mettono giù a "programmare".
Se non hai limiti di tempo o di altro tipo ti consiglierei un percorso semi-formale(oltre al linguaggio scelto pure strutture dati ed algoritmi), indipendentemente dal progetto che devi realizzare, e dato che avrai a che fare con delle gui anche una bella introduzione sulla OOP(che proprio sulle gui trova un ambiente applicativo naturale). Mi permetto di riportare qualcun altro --oltre gli ottimi testi che hai riportato-- testo che ritengo pure valido:

  • Corso sulla OOP: OOP Demystified: A Self-Teaching Guide ISBN:0072253630
  • Corso sulle strutture dati((esempi in C/C++ , Java)): Data Structures Demystified isbn: 9780072253597
  • (In Alternativa) Sams Teach Yourself Data Structures and Algorithms in 24 isbn:9780672316333
  • N. Wirth's "Algorithms and Data Structures" isbn: 9780130220059
  • Data Structures and Algorithms in Java, Second Edition isbn:9780672324536
  • Object-Oriented Programming in C++ isbn:9780672323089
  • Introduction to Algorithms, Third Edition aka CLRS una volta liberamente scaricabile da una Uni brasiliana
  • ...testo sulla programaz.--in generale-- delle gui...


E ho diviso il mio processo di acquisizione in due fasi, una pratica e una teorica.

Ho provato sia a compilare da linea di comando (ho bisogno di studiare meglio il makefile)
ma mi sembra una scelta obbligata usare un ide per questioni di praticita`.
Quindi ho provato Anjuta, Eclipse e Netbeans per c/c++, CodeBlocks e adesso sto provando OpenLDev solo perche` e` stato scritto da Andrew Krause, l`autore di "C++. Fondamenti di programmazione" e spero che mi aiuti nello studio del suo libro.
(e gia` perche`poi bisogna anche studiarsi i manuali degli IDE e OpenLDev e` proprio semplice-semplice mentre per usare bene Eclipse o NetBeans ci vogliono anni di esperienza..)
Ma OpeLdev e` insufficiente, per me il migliore resta NetBeans)


Per esperienza partendo dal fatto che è meglio non mettere tante cose nel calderone per farle in contemporanea --o quasi-- ti consiglierei di rimanere lontano dagli IDE  veri e propri --appunto per non dover andare a leggere i loro voluminosi manuali o il come fare una cosa con loro-- finchè non ne sentirai reale necessità --di solito quando arrivi a qualche (decina di) migliaio di righe codice ;)-- . Oltre agli  editor lisci vim, emacs  ecc ci sono quelli "intermedi" tipo gedit come qualcuno ti ha proposto

Comunque nel qualcaso ti volessi cimentare con anjuta(non intuitivo al primo approccio come il resto dei suoi colleghi ma più che completo una volta impostato bene alla fine. IRC chan: irc://irc.gnome.org/anjuta) e GNOME/GTK+ 2.x dai un occio a:
https://live.gnome.org/DeveloperTools/I ... ion/Ubuntu
http://www.gtk.org/documentation-old.php
http://developer.gnome.org/gtk-faq/stable/x104.html

Books Reviews(per GTK+ basilare)
1. GNOME/GTK+ Programming Bible
Foundations of GTK+ Development,  (http://www.freesoftwaremagazine.com/art ... evelopment)

2. GTK+/Gnome Application Development

3. Sams Teach Yourself GTK+ Programming in 21 Days

4. Beginning GTK+ and GNOME by Peter Wright

http://stackoverflow.com/questions/5159 ... for-novice

http://www.docstoc.com/docs/23925092/10 ... ing-in-GTK
http://www.yolinux.com/TUTORIALS/GTK+Pr ... gTips.html


Peccato che sono indietro di almeno 10 anni.
Ogni tanto mi perdo.
Eppure ho perfettamente chiaro cosa, in che modo e perche` devo fare


Non ti demoralizzare non sono argomenti banali. La tua "perdita" è più che normale anche per qualcuno che si prende le ferie per un po' :)

Il problema e` che da qualche parte devo cominciare. E` il problema che avevo posto a Ikit: da quale strato devo partire?


I fondamenti di informatica(guarda più su) sono appunto il punto di partenza. Avendo le basi solide puoi costruirci su  ;)

Faccio un  esempio, le gtkmm solo molto piu` agili di gtk+ ma, dovendo partire da un livello di conoscenza basso (il mio livello di conoscenza..) mi sembra di perdere qualcosa se non parto da gtk+ Inoltre, se parto da gtk3 mi perdo tutto quello che ho acquisito in documentazione (vedi sopra la bibliografia)E` vero che poi dovro` sottoporre ad una revisione i listati per usare le gtk3 (ammesso che mi serva) ma almeno avro` raggiunto il risultato.Non e` detto che bisogna usare solo le cose piu` aggiornate, ogni tanto mi capita di usare ancora il dos e il basic (solo per quei programmi che ancora non sono riuscito a portare in linux).


il discorso librerie wrappers ecc viene col tempo da se; non mi preoccuperei in questa fase in cui dovrei digerire il corso di FDI. Il progresso sembra inesorabile e le gtk3 saranno quelle del più o meno prox futuro ma noi siamo al presente e le gtk2 vanno benissimo. Riguardo il C(procedurale) anzichè C++(OO) è un discorso di proprio skill e ambiente di impiego.Se non c'è problema di skill l' ambiente Gui è naturale per l' OOP.

[cit.]
GTK+ is an object-oriented application programming interface (API) written in the C programming language. It is implemented with the concept of classes in mind to create  an extensible system that builds upon itself. The object-oriented framework used was originally developed as a part of the GTK+ library itself, but has since been split from GTK+ and added to GLib as a separate supporting library called GObject. GObject enables full object-orientated development in C, including object inheritance, polymorphism, and, to the extent permissible in C, data hiding.  


E poi preferisco il C al C++ perche` dovro` poi integrarlo con altri pezzi del progetto.Magari sbaglio ma mi sembra che il c sia piu` vicino alla macchina.


Personalmente ho incontrato bravi hackers in C che in C++ e non saprei spiegarlo ma è cosi. Comunque all in all C++ è sopratutto un superinsieme di C. L' OO ha a che fare col' organizzazione del sw (Ingegneria del sw) che con i dettagli implementativi. Quasi tutto cio che puoi fare col C lo puoi fare col C++ che è diciamo un C esteso agli oggetti(scusa la grossolanità). Come pure puoi scrivere ottimo codice in C applicando i buoni principi di OO malgrado non abbia gli strumenti per implementare direttamente l' OO.  Comunque anche il discorso linguaggio verrà da se dopo i fondamenti di Informatica



PS:
0. riguardo l' ambiente .net della Micro anche qui c'è il project mono. Il ling di progr. è un semplice tool e non qualcosa su cui "fare battaglie". http://www.gtk.org/language-bindings.php

1. Riguardo i testi sui FDI dai un occio pure a: http://forum.ubuntu-it.org/viewtopic.ph ... 0#p3378470

2. Pochi lo considerano ma la parte difficile è quella che passa lontano dalla tastiera. ;-)

3. riguardo un altro post:
come discorso mi sembra convincente ma come faccio a capire da quale "strato" partire?
In Windows e`semplice, (non ho detto che sia facile) decidono loro tutto, e gli utenti  compresi i programmatori si adeguano.

Direi che potresti benissimo mettere il tuo animo in pace (lasciando stare Xlib ed altro) e cominciare con le GTK+2.x. Hehe qui stiamo parlando di altissima tecnologia dalla meta del 1900 fino ai giorni nostri. Stiamo parlando di migliaia di anni uomo. Virtualmente potresti passare dalla Fisica, Matematica all' Ing. Elettronica, Ing. Informatica più altri campi trasversali che oggi sono dei corsi di Ing. a se come Ing. delle comunicazioni , automatica, oltre che sociologia ecc. Insomma per chiudere il cilclo si dovrebbero avere più vite e parecchi secoli avanti  .
Lo strumento che si utilizza per non perdersi e costruire qualcosa (la stratificazione che diceva @Ikitt) si chiama Astrazione e si usa in modo cosciente continuamente in programmazione(oltre che in tutta l' Ing. e le scienze) e incoscientemente nella vita di tutti i giorni
Vale anche per Windows guarda le lib W32 e l' ambiente .net per esempio

4. riguardo il metodo di studio ti sconsiglio categoricamente(per diverse ragioni che sarebbe lungo esporre qui) di imparare guardando un mostro di programma come GIMP. Per capirci il tutto ti verrà più fattibile se prendi sottomano il mastro(Andrew Krause per esempio) che ti fa vedere come si costruisce un muro(mattone per mattone) divisorio di una casa in aperta campagna che avere sottomano un grattacielo e cercare di capire come è stato fatto [reverse engineering docet].

5. per fare il build delle ultime GTK+ 3.x: http://developer.gnome.org/gtk3/stable/ ... lding.html

6. https://live.gnome.org/GnomeIrcChannels
Ultima modifica di harrykar il giovedì 16 febbraio 2012, 2:21, modificato 1 volta in totale.
"Arguing with an engineer is like wrestling with a pig in the mud; after a while you realize you are muddy and the pig is enjoying it." -- Don't Learn to HACK - Hack to LEARN -- cyberwarfare is now an active part of information warfare
Avatar utente
harrykar
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1031
Iscrizione: gennaio 2009
Località: Θεσσαλονικη

Re: A proposito di "open source"

Messaggioda enlosi » martedì 14 febbraio 2012, 19:15

Sono rimasto bloccato a letto per un paio di giorni e non ho potuto rispondere.
Grazie ad Harrykar, veramente ottimi consigli.Mi ci vorra` parecchio tempo, temo.
Che non e` molto, per cui devo parcellizzarlo, come dicevo prima, dividendolo in teoria e pratica.

Per cui ho deciso di iniziare anche un approccio  pratico e, finalmente, ho trovato nell`indice di
GNOME/GTK+ Programming Bible, gia` menzionato prima, le modalita` per costruire un canvas.
(per ora non voglio usare X11 e Cairo, ma voglio usare proprio le gtk)
Peccato che mi arrivera` da Amazon tra il 9 e il 29 di marzo.Mi sento come il somaro che tira il carro per raggiungere la carota che il padrone ha appeso ad una canna da pesca che tiene sospesa
davanti alla sua testa, e se per caso mi capita sotto i denti un po` di codice gli do` un morso tremendo.Insomma, vorrei avere almeno la consolazione di un inizio.
Una domanda a tutti voi:C`e` qualcuno che ci riuscirebbe? (intendo a fare un programma in C, usando gtk+ 2 a costruire un semplice canvas di 1024 x 768 ?)
Pagherei il tempo necessario per averlo.
Volontieri.
Ultima modifica di enlosi il martedì 14 febbraio 2012, 19:19, modificato 1 volta in totale.
enlosi
Prode Principiante
 
Messaggi: 30
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda enlosi » mercoledì 15 febbraio 2012, 22:38

vedo che non risponde nessuno.peccato.

comunque ho trovato on line un`altro bel manuale

http://openbooks.sourceforge.net/books/wga/index.html

certo che di materiale ce n`e`...
enlosi
Prode Principiante
 
Messaggi: 30
Iscrizione: gennaio 2009

Re: A proposito di "open source"

Messaggioda stefocefo » mercoledì 15 febbraio 2012, 22:42

Comunque tra Gtk2 e Gtk3 cambia veramente poco (un po' di sintassi). ciò che cambia di più e che tutti i disegni sono fatti con cairo, quindi non vorrei che al (inevitabile) passagio a gtk3 ti trovi spaesato con cairo.
Avatar utente
stefocefo
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 972
Iscrizione: agosto 2010
Località: Milano

PrecedenteSuccessiva

Torna a Bar Ubuntu

Chi c’è in linea

Visualizzano questa pagina: angelico937, cristian_c, diego1188, elchino80, maxbol :-), mutaforme e 19 ospiti