View Full Version : Linguaggio e consigli per piccolo gestionale
CastaDj89
23-02-2011, 00:17
Ciao a tutti, vorrei sviluppare un piccolo gestionale (Fornitori, Prodotti, ... ) e con piccole funzioni come esportare alcuni dati in excel.
Una cosa semplice insomma...
Pensavo di dotarlo di un database interno visto che deve essere eseguito da un solo PC.
Secondo voi che linguaggio sarebbe più opportuno usare? E come database cosa mi consigliate?
Il tutto dovrebbe funzionare su un pc windows (non proprio recente)
Ho una discreta conoscenza di Java e C#, ma ovviamente dovrò approfondire per ottenere un buon risultato.
Vi ringrazio in anticipo
usa Access o OpenOffice Database
tieni conto che nella scrittura di un buon software c'è anche un buon team e una fase di testing, preparati quindi ad avere una discreta mole di lavoro e ad organizzarti con il tempo e con le risorse.
CastaDj89
23-02-2011, 00:52
usa Access o OpenOffice Database
Preferivo fare qualcosa di più personalizzato
tieni conto che nella scrittura di un buon software c'è anche un buon team e una fase di testing, preparati quindi ad avere una discreta mole di lavoro e ad organizzarti con il tempo e con le risorse.
Non ho fretta, per cui posso prendermi tutto il tempo necessario, l'importante è avere una buona qualità finale :)
ingframin
23-02-2011, 09:00
Dato che già lo conosci usa Java con JavaDB o SQLite
usa Access o OpenOffice Database
ecco io do il consiglio totalmente opposto, NON usare Access! Evitalo come la peste.
Piuttosto, per poter fare un buon database occorre una buona conoscenza del modello relazionale e del linguaggio sql. A prescindere da cosa userai; mysql, postgresql, sqlite...funzionano tutti con il linguaggio sql.
La parte applicativa puoi farla benissimo in c# o java, scegli tu, ma se il pc è troppo datato qualsivoglia programma java può risultare pesantuccio (non so per c#)
Ad ogni modo imparato un linguaggio di programmazione, e scelto il tuo DBMS (il software che si occuperà del tuo database) è tutta questione di prendere familiarità con le librerie per gestire le query.
CastaDj89
23-02-2011, 13:20
Dato che già lo conosci usa Java con JavaDB o SQLite
ecco io do il consiglio totalmente opposto, NON usare Access! Evitalo come la peste.
Piuttosto, per poter fare un buon database occorre una buona conoscenza del modello relazionale e del linguaggio sql. A prescindere da cosa userai; mysql, postgresql, sqlite...funzionano tutti con il linguaggio sql.
La parte applicativa puoi farla benissimo in c# o java, scegli tu, ma se il pc è troppo datato qualsivoglia programma java può risultare pesantuccio (non so per c#)
Ad ogni modo imparato un linguaggio di programmazione, e scelto il tuo DBMS (il software che si occuperà del tuo database) è tutta questione di prendere familiarità con le librerie per gestire le query.
Ho delle conoscenze di SQL, ho fatto piccoli lavoretti in mysql, (non credo che questo "progetto" richieda delle profonde conoscenze di database) penso di riuscire a cavarmela da questo lato, in caso documentandomi un po'.
Come database punterò ad un database embedded come JavaDB o qualcosa di equivalente in C#.
Ora resta da decidere che linguaggio usare...:confused:
ingframin
23-02-2011, 20:45
A questo punto se non vuoi usare Java puoi usare Python con SQLite :-)
Python è agile, veloce da imparare, ha un sacco di librerie e funziona discretamente bene. Non sarà il top della velocità ma ti dimezza i tempi di sviluppo!
cdimauro
23-02-2011, 21:21
Esagerato! S'impiega anche un decimo del tempo... :cool:
bobbytre
24-02-2011, 00:16
io punterei su PHP + MySQL
CastaDj89
24-02-2011, 00:37
A questo punto se non vuoi usare Java puoi usare Python con SQLite :-)
Python è agile, veloce da imparare, ha un sacco di librerie e funziona discretamente bene. Non sarà il top della velocità ma ti dimezza i tempi di sviluppo!
Ma converrebbe usare Python piuttosto che Java o C#?
Cosa necessita un programma scritto in Python per girare in un computer?
io punterei su PHP + MySQL
Dev'essere un semplice programma che gira su di un computer, non mi sembra il caso di creare un applicazione in PHP+MYSQL.
Insisto col dire che l'uso di un programma fatto apposta per scrivere questo genere di programmi sia la scelta più produttiva.
Naturalmente non è più produttivo di python che, come riportano le più recenti statistiche, ti permette anche di far pipì in un decimo del tempo che impiegheresti normalmente (oltre ad essere stato usato per celebrare le nozze di cana, inventare la penicillina e scoprire le americhe).
Tuttavia, e lasciando perdere gli adepti della chiesa di Pythonology, se:
"Ho una discreta conoscenza di Java e C#"
allora:
forse (ma forse, eh) ti converrebe usare o Java o C#. Non per altro ma se già devi imparare come scrivere una CRUD, forse buttarci dentro anche il carico di una nuova piattaforma non è proprio una grandissima idea.
O sono fuori di testa?
Certo, quelli di Pythonology obietteranno che, com'è noto, studiare python è così facile che finisci due giorni prima di iniziare, fenomeno noto come il "python di einstein-rosen", ma, se vogliamo restare nel campo della fisica, potremmo sospettare che i conti non tornino.
Dio non voglia che poi si parli del fatto che, conoscendo Java o C#, si possano usare strumenti di sviluppo, librerie e documentazioni tra le migliori disponibili sul mercato.
A meno che tu non voglia effettivamente sfruttare l'occasione per studiare qualcosa che non conosci.
In questo caso, se hai già provato Scala, F#, Haskell, Eiffel, Newspeak e il linguaggio dei rutti, allora sì, potresti provare con python.
ingframin
24-02-2011, 09:14
Insisto col dire che l'uso di un programma fatto apposta per scrivere questo genere di programmi sia la scelta più produttiva.
Naturalmente non è più produttivo di python che, come riportano le più recenti statistiche, ti permette anche di far pipì in un decimo del tempo che impiegheresti normalmente (oltre ad essere stato usato per celebrare le nozze di cana, inventare la penicillina e scoprire le americhe).
Tuttavia, e lasciando perdere gli adepti della chiesa di Pythonology, se:
"Ho una discreta conoscenza di Java e C#"
allora:
forse (ma forse, eh) ti converrebe usare o Java o C#. Non per altro ma se già devi imparare come scrivere una CRUD, forse buttarci dentro anche il carico di una nuova piattaforma non è proprio una grandissima idea.
O sono fuori di testa?
Certo, quelli di Pythonology obietteranno che, com'è noto, studiare python è così facile che finisci due giorni prima di iniziare, fenomeno noto come il "python di einstein-rosen", ma, se vogliamo restare nel campo della fisica, potremmo sospettare che i conti non tornino.
Dio non voglia che poi si parli del fatto che, conoscendo Java o C#, si possano usare strumenti di sviluppo, librerie e documentazioni tra le migliori disponibili sul mercato.
A meno che tu non voglia effettivamente sfruttare l'occasione per studiare qualcosa che non conosci.
In questo caso, se hai già provato Scala, F#, Haskell, Eiffel, Newspeak e il linguaggio dei rutti, allora sì, potresti provare con python.
Aspetta però... Nella mia prima risposta ho chiaramente detto "visto che già lo conosci usa Java con JavaDB".
Solo ad una successiva richiesta di suggerimento di linguaggio ho suggerito python ;)
Fosse per me potrebbe anche provare a scriverlo in Assembly, sai che figata!? :sofico: :Prrr:
ingframin
24-02-2011, 09:16
Ma converrebbe usare Python piuttosto che Java o C#?
Cosa necessita un programma scritto in Python per girare in un computer?
Dev'essere un semplice programma che gira su di un computer, non mi sembra il caso di creare un applicazione in PHP+MYSQL.
Ti basta scaricare l'ambiente python da www.python.org.
Per creare l'eseguibile cerca py2exe oppure cxFreze.
http://www.python.org
http://www.py2exe.org/
http://cx-freeze.sourceforge.net/
http://www.tkdocs.com/
http://www.sqlite.org/
franksisca
24-02-2011, 09:22
Insisto col dire che l'uso di un programma fatto apposta per scrivere questo genere di programmi sia la scelta più produttiva.
Naturalmente non è più produttivo di python che, come riportano le più recenti statistiche, ti permette anche di far pipì in un decimo del tempo che impiegheresti normalmente (oltre ad essere stato usato per celebrare le nozze di cana, inventare la penicillina e scoprire le americhe).
Tuttavia, e lasciando perdere gli adepti della chiesa di Pythonology, se:
"Ho una discreta conoscenza di Java e C#"
allora:
forse (ma forse, eh) ti converrebe usare o Java o C#. Non per altro ma se già devi imparare come scrivere una CRUD, forse buttarci dentro anche il carico di una nuova piattaforma non è proprio una grandissima idea.
O sono fuori di testa?
Certo, quelli di Pythonology obietteranno che, com'è noto, studiare python è così facile che finisci due giorni prima di iniziare, fenomeno noto come il "python di einstein-rosen", ma, se vogliamo restare nel campo della fisica, potremmo sospettare che i conti non tornino.
Dio non voglia che poi si parli del fatto che, conoscendo Java o C#, si possano usare strumenti di sviluppo, librerie e documentazioni tra le migliori disponibili sul mercato.
A meno che tu non voglia effettivamente sfruttare l'occasione per studiare qualcosa che non conosci.
In questo caso, se hai già provato Scala, F#, Haskell, Eiffel, Newspeak e il linguaggio dei rutti, allora sì, potresti provare con python.
IDOLO!!!
my 2 cent opinion:
java + mysql
se se vuoi perderci tempo e divertirti, go onweb with php
CastaDj89
24-02-2011, 11:13
Insisto col dire che l'uso di un programma fatto apposta per scrivere questo genere di programmi sia la scelta più produttiva.
Naturalmente non è più produttivo di python che, come riportano le più recenti statistiche, ti permette anche di far pipì in un decimo del tempo che impiegheresti normalmente (oltre ad essere stato usato per celebrare le nozze di cana, inventare la penicillina e scoprire le americhe).
Tuttavia, e lasciando perdere gli adepti della chiesa di Pythonology, se:
"Ho una discreta conoscenza di Java e C#"
allora:
forse (ma forse, eh) ti converrebe usare o Java o C#. Non per altro ma se già devi imparare come scrivere una CRUD, forse buttarci dentro anche il carico di una nuova piattaforma non è proprio una grandissima idea.
O sono fuori di testa?
Certo, quelli di Pythonology obietteranno che, com'è noto, studiare python è così facile che finisci due giorni prima di iniziare, fenomeno noto come il "python di einstein-rosen", ma, se vogliamo restare nel campo della fisica, potremmo sospettare che i conti non tornino.
Dio non voglia che poi si parli del fatto che, conoscendo Java o C#, si possano usare strumenti di sviluppo, librerie e documentazioni tra le migliori disponibili sul mercato.
A meno che tu non voglia effettivamente sfruttare l'occasione per studiare qualcosa che non conosci.
In questo caso, se hai già provato Scala, F#, Haskell, Eiffel, Newspeak e il linguaggio dei rutti, allora sì, potresti provare con python.
Da quello che ho capito mi sconsigli Python perchè non è un linguaggio adatto al mio scopo giusto?
Per cultura personale, quali sarebbero i linguaggi più utili per un progetto simile?
Ti basta scaricare l'ambiente python da www.python.org.
Per creare l'eseguibile cerca py2exe oppure cxFreze.
http://www.python.org
http://www.py2exe.org/
http://cx-freeze.sourceforge.net/
http://www.tkdocs.com/
http://www.sqlite.org/
Grazie dell'informazione, può sempre essermi utile :)
IDOLO!!!
my 2 cent opinion:
java + mysql
se se vuoi perderci tempo e divertirti, go onweb with php
Conosco un po' anche PHP si, però mi sembra inadatto al mio piccolo progetto. Lo vedo più adatto ad un progetto più grande ed esteso come numero di utenti. Comporterebbe la necessità di un server web (anche se virtuale).
In ogni caso se avessi dovuto fare qualcosa con più utenti che accedono sicuramente avrei puntato su qualcosa "web" con php o linguaggi simili. Molto più facile da mantenere, aggiornare e a volte configurare rispetto ad un'applicazione installata su 20/30 pc (a volte diversi tra loro) :)
cdimauro
24-02-2011, 14:20
Aspetta però... Nella mia prima risposta ho chiaramente detto "visto che già lo conosci usa Java con JavaDB".
Solo ad una successiva richiesta di suggerimento di linguaggio ho suggerito python ;)
Fosse per me potrebbe anche provare a scriverlo in Assembly, sai che figata!? :sofico: :Prrr:
Non sarebbe male come idea, un po' di sano masochismo autolesionista non farebbe male.
Certo, cosucce come queste:
# Chiamata a una stored procedure che ritorna tre parametri
CustomerID, MessageID, Message = DB.GetContent(Channel, Operator, Phone)
# Ritorna la lista delle ultime MaxNews, prelevando al massimo MaxCharacters caratteri
DB.News[Description.Left(MaxCharacters)].OrderBy[ID.Desc][ : MaxNews].List()
# Ritorna tutti i campi di un record:
DB.ContentsReport['*'](ID == MediaID)
# Ritorna la lista con le informazioni di tutti i contenuti i cui ID appartengono alla lista fornita
Contents = DB.Contents[ID, BPM, Mood, Published].OrderBy[ID].List(ID.In(MediaIDs))
# Ritorna la lista con le informazioni di tutti i contenuti i cui ID appartengono alla lista fornita
Contents = DB.Contents[ID, BPM, Mood, Published].OrderBy[ID].List(ID.In(MediaIDs))
# Ritorna l'insieme di tutte le lingue
DB.Disclaimers[Language.Distinct].Set()
# Ritorna un dizionario con chiave il campo ID e con valore il campo Name
DB.Clients[ID, Name].Dict()
# Aggiorna alcuni campi del record il cui ID è NewID
DB.Contents[ID == NewID] = AlbumID == AnAlbumID, Name == AName, BPM == ABPM, Mood == AMood
# Inserisce un nuovo record
DB.ContentsLyrics += MediaID, LyricsID
# Inserisce un nuovo record coi soli campi specificati
DB.AccountCapabilities += account_id == AccountID, capability_id == CapabilityID
# Cancella tutti i record i cui campi assumono i valori specificati
DB.Formats -= MediaID == mediaid, MIMEType == AMIMEType, Bitrate == ABitrate
# Cancella tutti i record
DB.Formats -= ()
richiederebbero qualche riga di codice in più in assembly. :asd:
Da quello che ho capito mi sconsigli Python perchè non è un linguaggio adatto al mio scopo giusto?
Assolutamente no. Python è una piattaforma "general purpose", è geneticamente adatto a qualsiasi scopo.
Poi, per un programmatore, un linguaggio è come il proverbiale miele per l'ape e vale sempre la pena di impararne uno nuovo, non solo per cultura personale ma anche e soprattutto perchè l'esposizione ad una sintassi diversa e a librerie diverse ti permette di fare un uso migliore dei linguaggi che già conosci - perchè vedi modi diversi di ottenere gli stessi risultati, alcuni modi dei quali possono essere preferibili ad altri in determinati contesti: insomma, arricchisci il tuo bagaglio di opzioni.
Va anche detto che, se intendi imparare un nuovo linguaggio, il fatto di avere l'idea di un programma da realizzare e, quindi, di avere un parametro concreto a cui applicare le conoscenze che acquisici, è di enorme utilità, quindi potresti cogliere l'occasione al volo.
Tuttavia, un conto è fare un programma, un conto è studiare un linguaggio, anche qualora lo studio sia applicato alla creazione di un programma.
Siccome durante la scrittura di un programma devi fare delle scelte, una marea di scelte, in parte determinate dalle caratteristiche della piattaforma che usi, il fatto di non conoscere la piattaforma che usi - perchè stai imparando ad usarla - aumenta i tempi di sviluppo, perchè oltre ad affrontare i problemi del programma devi anche affrontare i problemi posti dalla piattaforma.
Quindi se il tuo obiettivo è quello di scrivere il programma - come mi è parso che sia - il mio parere è quello predetto: usa un programma per generare quel genere di applicazioni o se proprio non vuoi usa almeno uno dei linguaggi che già conosci.
Se invece vuoi approfittare dell'occasione di imparare un nuovo linguaggio, allora puoi anche usare Python. C'è comunque un thread in rilievo sulle opzioni disponibili.
CastaDj89
24-02-2011, 14:38
Assolutamente no. Python è una piattaforma "general purpose", è geneticamente adatto a qualsiasi scopo.
Poi, per un programmatore, un linguaggio è come il proverbiale miele per l'ape e vale sempre la pena di impararne uno nuovo non solo per cultura personale ma anche e soprattutto perchè l'esposizione ad una sintassi diversa e a librerie diverse ti permette di fare un uso migliore dei linguaggi che già conosci - perchè vedi modi diversi di ottenere gli stessi risultati, alcuni modi dei quali possono essere preferibili ad altri in determinati contesti: insomma, arricchisci il tuo bagaglio di opzioni.
Va anche detto che se intendi imparare un nuovo linguaggio il fatto di avere l'idea di un programma da realizzare e, quindi, di avere un parametro concreto a cui applicare le conoscenze che acquisici, è di enorme utilità, quindi potresti cogliere l'occasione al volo.
Tuttavia, un conto è fare un programma, un conto è studiare un linguaggio, anche qualora lo studio sia applicato alla creazione di un programma.
Siccome durante la scrittura di un programma devi fare delle scelte, una marea di scelte, in parte determinate dalle caratteristiche della piattaforma che usi, il fatto di non conoscere la piattaforma che usi - perchè stai imparando ad usarla - aumenta i tempi di sviluppo, perchè oltre ad affrontare i problemi del programma devi anche affrontare i problemi posti dalla piattaforma.
Quindi se il tuo obiettivo è quello di scrivere il programma - come mi è parso che sia - il mio parere è quello predetto: usa un programma per generare quel genere di applicazioni o se proprio non vuoi usa almeno uno dei linguaggi che già conosci.
Se invece vuoi approfittare dell'occasione di imparare un nuovo linguaggio, allora puoi anche usare Python. C'è comunque un thread in rilievo sulle opzioni disponibili.
Grazie del consiglio, probabilmente allora si userò uno dei linguaggi che già conosco.
So che per esempio Access velocizzerebbe il tutto, ma come già detto preferisco creare un programma "da zero", anche per migliorare le mie capacità/conoscenze
Certo, cosucce come queste:
AHHHHH!!!
:muro: :muro: :muro:
Per le basette dell'Alighieri, ritornare è intransitivo.
Significa che non trasferisce il significato all'oggetto e quindi occorre una preposizione.
Ma che v'ha fatto di male restituire?
banryu79
24-02-2011, 15:11
AHHHHH!!!
:muro: :muro: :muro:
Per le basette dell'Alighieri, ritornare è intransitivo.
Significa che non trasferisce il significato all'oggetto e quindi occorre una preposizione.
Ma che v'ha fatto di male restituire?
:asd:
Ritorna è intransitivo ma return(s) in inglese no.
E Ritorna in quel caso va letto come l'italianizzazione del termine inglese return, almeno nelle intenzioni dell'autore.
AHHHHH!!!
:muro: :muro: :muro:
Per le basette dell'Alighieri, ritornare è intransitivo.
Significa che non trasferisce il significato all'oggetto e quindi occorre una preposizione.
Ma che v'ha fatto di male restituire?
Pensavo di essere l'unico a considerare barbarico l'uso di "ritorna" in quel modo. :asd:
cdimauro
24-02-2011, 20:08
AHHHHH!!!
:muro: :muro: :muro:
Per le basette dell'Alighieri, ritornare è intransitivo.
Significa che non trasferisce il significato all'oggetto e quindi occorre una preposizione.
Ma che v'ha fatto di male restituire?
Nessun male: è questione di abitudine.
:asd:
Ritorna è intransitivo ma return(s) in inglese no.
E Ritorna in quel caso va letto come l'italianizzazione del termine inglese return, almeno nelle intenzioni dell'autore.
No no: ho commesso un errore, e purtroppo dopo decine d'anni passati a italianizzare return, mi capita spesso.
A volte me ne accorgo e riesco a correggermi, ma spesso no.
banryu79
24-02-2011, 20:14
No no: ho commesso un errore, e purtroppo dopo decine d'anni passati a italianizzare return, mi capita spesso.
Sì, lo so: io ero ironico, la mia era una battuta per prenderti per il :ciapet:
:Prrr:
cdimauro
24-02-2011, 21:06
GRRRRRR :ncomment:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.