-

[DOMANDA] Nuovo modo di creare software?

#1
Buon giorno,

sono sempre interessato alla creazione di applicazioni avevo già tempo fa' scritto.
Parlando con un informatico mi ha detto che ormai i metodi di programmazione sono cambiati.
si creano programmi gestionali, software che girano su web.
quindi non si crea più il gestionale che gira su un pc in ufficio, in azienda ecc... in python, o java o c++.
per me sono cose nuove mi aiutate a capire cosa vuol dire questo "nuovo metodo di fare programmi".

Grazie, scusate!
 
#2
I "metodi" son sempre quelli, al limite cambiano le tecnologie che utilizzi (e spesso cambiano molto rapidamente).
Negli ultimi tempi ci si sta spostando molto verso le applicazioni web, molto valide in alcuni contesti, meno in altri. Tutto dipende da cosa la tua applicazione deve fare ed a quali risorse deve avere accesso.
 
#4
vorrei realizzare gestionali, tipo gestioni piccoli uffici. che linguaggio è necessario per fare ciò? è poi devo acquistarmi lo spazio web?
grazie
Se vuoi realizzare webapp il linguaggio e' obbligatoriamente Javascript. E' in corso lo sviluppo di Webassembly, che rende possibile usare i comuni linguaggi, ma parliamo di tecnologie ancora non del tutto mature.

Ma ad oggi nessuno realizza una webapp in Javascript liscio. Tutti usano questo o quel framework di riferimento, tra i quali spiccano React, Angular e Vue.js.

E giusto per completezza, c'e' uno strumento chiamato Electron che, usando Node.js e Javascript, consente di realizzare webapp che girano direttamente sul computer dell'utente come fossero programmi "classici".
 
71
18
Hardware Utente
Hard Disk
HDD 1TBx2
RAM
DDR3 4GBx4
Scheda Video
Nvidia GeForce 8800 Ultra
Monitor
Samsung 24" FULL-HD
Sistema Operativo
Linux
#5
Ciao,

comincio subito con il dirti che il disorientamento è normalissimo, soprattutto in un ambiente così dinamico come lo sviluppo del software.
Ora, non so con chi tu abbia effettivamente parlato, ma i linguaggi da te sopra citati come obsoleti sono tutt'oggi nella top 5 dei linguaggi più usati al mondo. E' vero, c'è stato un cambiamento di rotta che ha portato tutti gli attivi nel settore ad una specie di "distribuzione a tutti i costi" dei loro sistemi informatici, ma questo non si deve necessariamente tradurre con l'obsolescenza di determinati linguaggi di programmazione; infatti, penso sia più giusto rilevare il suddetto cambiamento nei paradigmi con cui oggi si produce il software.

grazie!

vorrei realizzare gestionali, tipo gestioni piccoli uffici. che linguaggio è necessario per fare ciò? è poi devo acquistarmi lo spazio web?
grazie
Il tipo di linguaggio di programmazione da adottare dipende molto dal tipo di struttura che vuoi dare ai tuoi lavori. Per esempio, potresti tranquillamente sviluppare un gestionale in Java che per quanto riguarda l'interfacciamento con dati centralizzati utilizza della API. Potresti allo stesso modo scriverlo in React e appoggiarti, anche in questo caso, a delle API centralizzate. Come vedi le strade possibili sono tante, sta a te decidere quali prendere.

A presto.
 
#6
I "metodi" son sempre quelli, al limite cambiano le tecnologie che utilizzi (e spesso cambiano molto rapidamente).
Negli ultimi tempi ci si sta spostando molto verso le applicazioni web, molto valide in alcuni contesti, meno in altri. Tutto dipende da cosa la tua applicazione deve fare ed a quali risorse deve avere accesso.
Purtroppo conta anche la moda del momento e spesso si sceglie sempre e comunque di fare applicazioni web perché vengono percepite come più all'avanguardia. Poco importa se questo per il cliente significa spostare i propri dati sensibili su un server di cui non si ha pieno controllo.
Morale: se lo fai per lavoro, fare un'applicazione web potrebbe farti apparire più innovativo e più competitivo sul mercato.

Se decidi di continuare per questa strada ti consiglio di studiare in particolar modo i seguenti linguaggi: HTML5, CSS, JavaScript e uno a scelta tra C#, Java e PHP.
 
#7
Purtroppo conta anche la moda del momento e spesso si sceglie sempre e comunque di fare applicazioni web perché vengono percepite come più all'avanguardia. Poco importa se questo per il cliente significa spostare i propri dati sensibili su un server di cui non si ha pieno controllo.
Morale: se lo fai per lavoro, fare un'applicazione web potrebbe farti apparire più innovativo e più competitivo sul mercato.

Se decidi di continuare per questa strada ti consiglio di studiare in particolar modo i seguenti linguaggi: HTML5, CSS, JavaScript e uno a scelta tra C#, Java e PHP.
Assolutamente vero, oggi vanno abbastanza di "moda" queste web app (il sottoscritto di campa :) ) e talvolta sono usate anche quando ci sarebbero altri strumenti piu' adatti, pero' sicuramente hanno i loro vantaggi, a partire dal fatto che per definizione e' cross-platform e non ti serve altro che un browser per usarla, che sia un desktop, laptop, tablet o smartphone poco importa. La questione "dati sensibili" e' sempre spinosa, in generale pero' e' sempre piu' raro trovare applicazioni che tengono tutto in locale, anche per una questione di praticita': se devi avere disponibili le informazioni in luoghi fisicamente lontani devi necessariamente passare da un server. Se questo non serve puoi sempre tenerti il tuo piccolo "server" in locale e gestire i dati nella tua intranet o sulla singola macchina (magari usando il citato Electron). In questi ultimi casi forse la web app ha poco senso, e' utile piu' che altro per lo sviluppatore che conosce linguaggi prettamente orientati al web perche' puo' "riciclare" le sue conoscenze e tirare fuori software adatto allo scopo (di solito..).



grazie!

vorrei realizzare gestionali, tipo gestioni piccoli uffici. che linguaggio è necessario per fare ciò? è poi devo acquistarmi lo spazio web?
grazie
Di nuovo, dipende di che gestionale stiamo parlando. Questi piccoli uffici devono avere accesso ai dati di eventuali altre sedi? E' necessario che queste informazioni siano disponibili a terzi e/o consultabili anche al di fuori dell'ufficio? Devono essere solo disponibili in locale per via di requisiti particolari? Di che protezione hanno bisogno? Quali dispositivi verranno usati (ed in che modo) per inserire e consultare le informazioni? Tutto deve funzionare anche nel caso in cui la rete non sia disponibile? Sono tutte domande che devi porti prima di iniziare, una volta che hai le risposte puoi scegliere lo strumento piu' adatto.
 
3,128
851
Hardware Utente
CPU
i7 3770
Dissipatore
stock intel
Scheda Madre
Gigabyte GA-H67A-UD3H-B3
Hard Disk
SSD SAMSUNG 850EVO 250GB + HDD WD GREEN CAVIAR 2TB
RAM
16GB = Corsair XMS3 4x4GB DDR3 1600MHz CL9
Scheda Video
ATI Firepro V7900 2GB
Scheda Audio
Soundblaster X-Fi
Monitor
HP 27'' + Benq 19''
Sistema Operativo
Windows10-pro64/OpenSUSE-QL42.3/Manjaro-17.0.2-KDE
#8
Il tuo "amico" ha relativamente ragione, ma come ti è stato detto, le cose sono cambiate come è normale che debba essere: nuove tecnologie, nuovi modi di usufruire del computer, nuovo tipo di terminali e distribuzione delle informazioni ecc.. mi pare normale che cambino anche i modi di produrre o gestire software.
È evidente che per un programmatore non è pensabile essere produttivo autonomamente dovendo reinventare costantemente la ruota da zero; un tempo ci si faceva delle librerie personali con le primitive dei linguaggi contenente le parti del software da riutilizzare e che permetteva di realizzare prodotti più completi e complessi. Oggi bisogna sapere districarsi tra API, framework, librerie che, per utilizzare bene è come imparare un nuovo linguaggio. Il codice da scrivere è solo una parte limitata per governare la logica generale dei processi.
Pensare di fare un software gestionale, lasciatelo dire, è un'idea piuttosto sciocca perché ormai esiste di tutto e di più, riuscire in tempo utile a mettere a punto un prodotto decente diventa impresa praticamente impossibile a meno che tu non abbia solide basi ed esperienze importanti.
Ovviamente ogni linguaggio ha dei settori di applicazione e il c++ non è certo il più indicato per sviluppare un gestionale.
Ovviamente in un contesto così dinamico è ormai da molti anni che qualsiasi applicazione debba confrontarsi con internet e la condivisione. Diciamo che però non è proprio una gran novità, visto che se ne parla da oltre vent'anni ma solo nell'ultima decina la diffusione e le tecnologie permettono davvero di affrontare in maniera efficace questo approccio.
Fare applicazioni che permettano di lavorare in condivisione su più dispositivi complica le cose e fare buoni prodotti diventa ancora più difficile. Gli strumenti da utilizzare sono quelli specifici e dedicati, senza particolari esotismi: JavaScript, PHP con relativi frameworks e una buona conoscenza di database.


Inviato dal mio Nexus 5 utilizzando Tapatalk
 

Andretti60

Utente Attivo
2,829
1,848
Hardware Utente
#9
...
Parlando con un informatico mi ha detto che ormai i metodi di programmazione sono cambiati.
si creano programmi gestionali, software che girano su web
....
Il tuo amico ha ragione, ma tu la hai fatta troppo semplice (o lo ha semplificato lui o lei).
Innanzi tutti, ormai i "programmi gestionali" non si creano piu'. Sarebbe comre creare a database o un servizio email. Sono imprese erculeane, per cose di questo genere ormai non si usano piu' "programmatori" bensi' personale specializzato IT che "conosce" certi pacchetti di programmi, li sceglie in base alla necessita' del cliente, li installa e li mantiene, eventualmente ha qualche conoscenza di programmazione scripting (tipo Python) per automatizzare i processi. Anche io, come programmatore, ne uso a dozzine sia nel mio lavoro che a casa, anche per piccole cose.
Il motivo e' molto semplice: sono applicazioni che iniziano "semplici" ma poi si estendono a macchia d'olio. Uno inizia dicendo "ho bisogno di questo e quello" e assume un povero malcapitato programmatore che senza alcuna esperienze scrive due linee di codice per una applicazione desktop. Che funziona per qualche giorno, fino a che il cliente scopre che ha bisogno di altre funzionalita'. Il programmino semplice semplice, scritto senza esperienza magari in un linguaggio poco evoluto, molto presto diventa incontrollabile e impossibile da gestire. Tanto vale buttare tutto al macero e comprare un "pacchetto" gestionale serio, e affidarlo al proprio personale IT. E se non si ha un personale IT, beh... e' tempo di assumerlo! Parlo per esperienza personale, sia dalla parte del cliente che dello sviluppatore. Iniziai a programmare seriamente negli anni ottanta, la mia maniera di lavorare e' cambiata radicalmente con il tempo (per fortuna).
Ma, ti chiederai, allora "CHI" scrive questi programmi? Programmatori come noi, che lavorano per grosse aziende che producono solo quello. Lavoro noioso, ti assicuro.
 
Mi Piace: Gaeta51

Andretti60

Utente Attivo
2,829
1,848
Hardware Utente
#11
Per studiare qualunque cosa va bene, sia che linguaggio usare che quali progetti sviluppare. Infatti piu' si studia e piu' cose si imparano e meglio e meglio e'. L'importante e' rimanere con i piedi a terra e capire che se poi si andra' a lavorare occorrera' adattarsi.
 

cdtux

Utente Attivo
1,672
715
Hardware Utente
CPU
I7 3770
Scheda Madre
Asrock Z77 Extreme 4
Hard Disk
Samsung 850 pro 250GB
RAM
Corsair Vengeance LP 16GB
Scheda Video
EVGA GTX670 SC
Monitor
Dell U2412M
Alimentatore
Corsair TX850M
Case
Corsair Graphite 760T
Sistema Operativo
Debian / Kali Linux / Win
#12
Non credo proprio che sia cambiato il modo di "programmare", semmai oggi si utilizzano prettamente software client/server perché i network sono sempre più performanti. I software client/server penso esistano da più di 20 anni (chi ha detto db??).
Se a questo aggiungiamo che i client non sono solamente più i PC classici..

A parte che web app (o software client/server) funzionano benissimo in localhost, quindi non serve un server remoto, voglio fare notare che spesso sono utilizzate tecnologie web per i client non perché un programmatore si deve "riciclare", ma perché consentono con un unica codebase, o quasi, di coprire tutti client con discreti risultati: web, mobile (pwa, ecc..), desktop (electron).

Inviato dal mio Moto G (5) Plus utilizzando Tapatalk
 

gronag

Utente Attivo
16,501
5,293
Hardware Utente
#13
Buon giorno,

sono sempre interessato alla creazione di applicazioni avevo già tempo fa' scritto.
Parlando con un informatico mi ha detto che ormai i metodi di programmazione sono cambiati.
si creano programmi gestionali, software che girano su web.
quindi non si crea più il gestionale che gira su un pc in ufficio, in azienda ecc... in python, o java o c++.
per me sono cose nuove mi aiutate a capire cosa vuol dire questo "nuovo metodo di fare programmi".

Grazie, scusate!
Salve @PIGIG,
la risposta alla tua domanda è articolata, cercherò di renderla semplice :D
Esiste sia un'evoluzione nelle modalità di produzione del software, che va sotto il nome di "ingegneria del software" , la quale "avvicina" il software al mondo reale, sia un'evoluzione nei linguaggi di programmazione, in cui l'aumento del livello di "astrazione" per quanto riguarda le strutture dati (nel caso delle strutture di controllo l'astrazione ha dato luogo alla "programmazione strutturata") ha posto le basi del "formalismo" della programmazione orientata agli oggetti :sisi:
Il concetto di "algoritmo" è stato sostituito con quello di "sistema", ne ho parlato qui:
https://forum.tomshw.it/threads/aiuto.642400/post-6199215 :sisi:
I dati sono più importanti delle procedure :D
Fino a qualche tempo fa coesistevano due opposte, diciamo così, "interpretazioni", molto lontane tra loro, riguardanti lo stesso problema: da un lato c'è il "mondo" reale, dall'altro c'è il computer, due "sistemi" con rappresentazioni molto differenti :asd:
Con l'attuale sviluppo dell'ingegneria del software, che tra l'altro ha definito il "ciclo di vita" del software stesso basato su diverse fasi della sua produzione, assistiamo ad un "avvicinamento", come detto, tra i sistemi reali e la programmazione ;)
https://www.google.it/url?sa=t&rct=...o_Macchi.pdf&usg=AOvVaw1_-qrY6xUbHTw6Dgoq0PZX ;)
Da questo punto di vista il tuo amico informatico ha ragione quando parla di "cambiamenti" nei metodi di programmazione ma tali cambiamenti sono solo una "faccia" della medaglia :)

P.S. Se avrò tempo cercherò di illustrare il modello UP, che "sintetizza" un po' tutti i modelli e che si avvale dei diagrammi UML :D
 

Discussioni Simili


Entra