Domanda Mi servirebbe un consiglio sul linguaggio di programmazione più adatto ai miei scopi

  • Autore discussione Utente cancellato 278988
  • Data d'inizio
U

Utente cancellato 278988

Premetto che: ho già letto i vari thread però la maggior parte se non tutti sono dei confronti tra due linguaggio invece a me servirebbe capire su cosa puntare in base ai miei obbiettivi.

Il problema maggiore è che: ho diversi obbiettivi e sono strettamente personali.... cioè: non sto pensando di "diventare programmatore" per lavoro o altro ma per una mia passione personale e perché, a tutti gli effetti, mi servirebbe in vari ambiti. Praticamente, vorrei imparare un linguaggio di programmazione che mi permetta di essere versatile in diversi ambiti, ovvero:
  • sviluppo di app desktop e, forse ma molto forse, mobile;
  • possibilità di sviluppare e gestire sistemi come raspberry e, molto forse, arduino (qui ho visto che è incentrato sul C++ che io scarterei a prescindere per mia preferenza personale e in base a ciò che ho letto)
  • linguaggio che non faccia troppo impazzire con l'interfaccia grafica e che abbia ide free/open source (altrimenti ci perderei e basta);
  • e oserei aggiungere persino: linguaggio versatile anche in ambito web.
Ora, diciamo che forse pretendo fin troppo anche perché avendo poco tempo posso concentrarmi massimo su un linguaggio però ci voglio provare. Di mio ho visto che il Javascript permette anche di sviluppare app desktop e allo stesso tempo e, ovviamente, permette di sviluppare per il web ma... ecco, non so come venga gestito su sistemi tipi raspberry o altro. Voi avreste qualche consiglio per questa strana domanda? Però non so davvero cosa fare... sono troppo ignorante in materia per capire se ciò è fattibile e se è fattibile con cosa è fattibile. Grazie in ogni caso.
 
La risposta Universale e': Python
Puoi fare tutto ed e' divertente. E' il migliore in tutto? No, ma se chiedi un linguaggio unico la scelta sara' fra Python e Java e Java su raspberry non penso convenga mai nella vita.

Domanda: perche' scarti C++? (Non e' la risposta alla tua domanda, ma vorrei capire perche' lo scarti a prescindere)

Ide free? E' pieno, quello non e' affatto un problema
 
@fisica-all Il python però non gira anche su mobile o sbaglio?
Comunque, per il C++ mi è stato consigliato da alcuni conoscenti che lo studiano e lo utilizzano. Perché, detto da loro, è troppo "sporco" e "complesso" per ciò che serve a me... rischierei di perderci molto tempo dietro quando con altri linguaggi potrei fare prima e "meglio". Insomma, me l'hanno classificato come un linguaggio complesso e pieno di roba e in cui per fare un qualcosa hai cosi tante possibilità che spesso si sceglie la peggiore oltre al fatto che a livello prestazionale non mi serve un linguaggio come il C++. Suppongo che siano stati consigli "premurosi" xD
 
Ora, diciamo che forse pretendo fin troppo
Bingo! Vuoi sviluppare programmi desktop, applicazioni mobile, siti web e programmi embedded. Aggiungici anche mainframes, supercomputer e quantum computers e li hai nominati proprio tutti. Stai puntando troppo in alto come primo obiettivo e soprattutto non ci stai dicendo cosa hai intenzione di sviluppare. Inizia a fare degli esempi concreti, invece di "programmi desktop" spiegaci che tipo di programma vuoi fare esattamente. C'è una differenza abissale tra un videogioco sparatutto online e un text editor in stile blocco note, così come c'è una differenza abissale tra un web market e un blog fatto di solo testo.

Tipicamente
  • sugli smartphones si usa kotlin, java o swift a seconda se sei interessato ad android o ad ios;
  • su arduino si usa il C o al massimo il C++;
  • per scrivere GUI su windows si usa C#;
  • per fare siti web si usa JavaScript.
Anche se, come ti ha fatto notare fisica-all, più o meno ogni linguaggio può e viene usato per fare qualsiasi cosa. Se vuoi un consiglio affidabile devi darci molti più dettagli e devi essere meno ambizioso e più realista. Ovvio che ti piacerebbe poter fare di tutto... e quasi sicuramente potrai farlo indipendentemente dal linguaggio che scegli! Ma se stai cercando consigli sullo strumento più adatto per risolvere un determinato problema, devi prima spiegarci qual è questo problema.
 
  • Mi piace
Reazioni: Sunacchi
@fisica-all Il python però non gira anche su mobile o sbaglio?
Comunque, per il C++ mi è stato consigliato da alcuni conoscenti che lo studiano e lo utilizzano. Perché, detto da loro, è troppo "sporco" e "complesso" per ciò che serve a me... rischierei di perderci molto tempo dietro quando con altri linguaggi potrei fare prima e "meglio". Insomma, me l'hanno classificato come un linguaggio complesso e pieno di roba e in cui per fare un qualcosa hai cosi tante possibilità che spesso si sceglie la peggiore oltre al fatto che a livello prestazionale non mi serve un linguaggio come il C++. Suppongo che siano stati consigli "premurosi" xD
In realta' ci ho sviluppato anche per Android... In bocca al lupo per la grafica, ma e' l'unico linguaggio che in qualche maniera (quindi pulita o non pulita) ti fa fare tutto...

Pero' ovviamente non ti aspettare il massimo delle prestazioni in ogni cosa che svilupperai con Python.. Anche perche', come ha fatto notare nella sua lista prima @St3ve , python non eccelle in nessuno dei campi da te scritti (anche se, ripeto, ti permette di sviluppare su tutto)
 
Non c'è un problema in particolare. Io mi diletto in elettronica\meccanica (per quel poco che so fare) e quindi, ultimamente, avere dalla mia parte un po' di programmazione per gestire alcuni aspetti mi aiuterebbe molto. Esempio molto esempio: ho un drone (di mia creazione) e voglio che comunichi con il mio cell/portatile tramite app personalizzata, ecc. Insomma, per ora non c'è un problema specifico ma in futuro mi potrebbe davvero servire "saper" programmare a livello personale. Per questo motivo sto cercando un qualcosa di dinamico in modo tale da concentrarmi su di esso e basta senza andare a mettere mano a 7 linguaggi diversi di cui nemmeno mezzo saprò utilizzare in modo decente.
 
Capisco il tuo punto di vista però, per farti un paragone, se tu mi chiedi un consiglio su che veicolo acquistare e mi spieghi che hai i soldi per una cosa sola, ma ti piacerebbe usarla sia per andare in Sicilia che per andare in Germania e, perché no, magari anche in Inghilterra e portandoti dietro la tua comitiva di 10-15 amici... io mi trovo costretto a consigliarti un veicolo anfibio militare, grande quanto un camper, difficilissimo da guidare e in grado anche di volare. Sarebbe un veicolo in grado di fare tutto ciò che chiedi, ma dal costo di 2 milioni di euro, estremamente scomodo, che consuma tantissimo e impossibile da parcheggiare in città. Se alla tua spiegazione aggiungi: "340 giorni l'anno lo userei per andare a lavorare e andare a fare shopping, i restanti 25 giorni mi piacerebbe usarlo per viaggiare anche se il più delle volte non caricherei più di 3 persone e non andrei lontano." Il discorso cambia completamente e invece del veicolo anfibio ti consiglierei un'utilitaria.

Ti diletti di elettronica e meccanica? Impara il C. Puoi usarlo per fare programmi android e ios, puoi usarlo per fare programmi desktop (sia linux che windows che macos), puoi usarlo per fare interfacce grafiche e puoi usarlo per creare web service; ma è estremamente scomodo per fare tutte queste cose. Farai meno fatica ad imparare almeno un secondo linguaggio, ma è il linguaggio perfetto se ti occupi di robotica. Da quel che mi hai fatto capire, vorrai sempre programmare su un microcontrollore e qualche volta (forse, se e magari) anche altrove. Inizia ad imparare il linguaggio più adatto per quello che vorrai programmare per il 95% delle volte in cui vorrai programmare e preoccupati dopo del restante 5%. Metti in conto che i tuoi primi programmi non didattici saranno per robot autonomi; a controllarli dalla app, dal sito web o dal programma desktop ci penserai più in là... se avrai voglia, tempo e capacità di farlo.
 
  • Geniale
Reazioni: fisica-all
Non c'è un problema in particolare. Io mi diletto in elettronica\meccanica (per quel poco che so fare) e quindi, ultimamente, avere dalla mia parte un po' di programmazione per gestire alcuni aspetti mi aiuterebbe molto. Esempio molto esempio: ho un drone (di mia creazione) e voglio che comunichi con il mio cell/portatile tramite app personalizzata, ecc. Insomma, per ora non c'è un problema specifico ma in futuro mi potrebbe davvero servire "saper" programmare a livello personale. Per questo motivo sto cercando un qualcosa di dinamico in modo tale da concentrarmi su di esso e basta senza andare a mettere mano a 7 linguaggi diversi di cui nemmeno mezzo saprò utilizzare in modo decente.
Per programmare un microcontrollore puoi utilizzare MicroPython oppure CircuitPython. Che ti potrebbero essere utili per il tuo drone.
Comunque impara bene le basi della programmazione poi quando ti servirà un linguaggio specifico sarà più facile impararlo, ovvio che se vuoi padroneggiarne uno ti servirà tempo e molta pratica.
 
sei troppo generico, non va bene, devi scegliere un settore specifico, non puoi passare da arduino o dal raspberry ai siti web, questo perché ci sarebbero piú linguaggi di programmazione da imparare e non solo uno, scegli prima bene il tuo campo e dopo fai la scelta del linguaggio.
 
Inizia col java, poi col C. Quest ultimo è più complesso, ma almeno capisci le fondamenta della programmazione, essendo un linguaggio che necessita di una sapiente gestione della memoria

poi python è molto diffuso, anche perchè permette di fare cose complesse in poco tempo grazie alle librerie

HTML/CSS/Javascript la trinità del front-end (pagine web) poi dovrai imparare uno tra angular e react (molto utilizzati)

back-end con java e Spring Boot diciamo che te la caverai

anche una conoscenza di database è fondamentale.
 
Premetto che: ho già letto i vari thread però la maggior parte se non tutti sono dei confronti tra due linguaggio invece a me servirebbe capire su cosa puntare in base ai miei obbiettivi.

Il problema maggiore è che: ho diversi obbiettivi e sono strettamente personali.... cioè: non sto pensando di "diventare programmatore" per lavoro o altro ma per una mia passione personale e perché, a tutti gli effetti, mi servirebbe in vari ambiti. Praticamente, vorrei imparare un linguaggio di programmazione che mi permetta di essere versatile in diversi ambiti, ovvero:
  • sviluppo di app desktop e, forse ma molto forse, mobile;
  • possibilità di sviluppare e gestire sistemi come raspberry e, molto forse, arduino (qui ho visto che è incentrato sul C++ che io scarterei a prescindere per mia preferenza personale e in base a ciò che ho letto)
  • linguaggio che non faccia troppo impazzire con l'interfaccia grafica e che abbia ide free/open source (altrimenti ci perderei e basta);
  • e oserei aggiungere persino: linguaggio versatile anche in ambito web.
Ora, diciamo che forse pretendo fin troppo anche perché avendo poco tempo posso concentrarmi massimo su un linguaggio però ci voglio provare. Di mio ho visto che il Javascript permette anche di sviluppare app desktop e allo stesso tempo e, ovviamente, permette di sviluppare per il web ma... ecco, non so come venga gestito su sistemi tipi raspberry o altro. Voi avreste qualche consiglio per questa strana domanda? Però non so davvero cosa fare... sono troppo ignorante in materia per capire se ciò è fattibile e se è fattibile con cosa è fattibile. Grazie in ogni caso.
Pensare di fare tutto con un unico linguaggio è un po' come pensare di fare il meccanico usando solo il martello