A che linguaggio passare?

di il
9 risposte

A che linguaggio passare?

Ciao sono un ragazzo di 17 anni con la passione per la programmazione, ho conoscenze informatiche che vanno ben oltre il campo scolastico.
Ho acquisito leggendo vari libri le basi del c++ (OOP, template, vector, map,puntatori,gestione delle eccezioni, allocazione dinamica e vari algoritmi di ordinamento), mi piacerebbe molto continuare ma mi trovo ad un punto morto:sugli gli argomenti successivi (thread, fork, ecc..) non riesco a trovare dei testi decenti che non diano per scontato conoscenze teoriche che io non ho, idem per una qualche libreria grafica (eccetto qualcosina sulle QT).
Dunque ho deciso di mettere in secondo piano il C++ e passare a un altro linguaggio (ovviamente proseguendo lo studio teorico delle varie architetture di un elaboratore e del loro funzionamento) su cui posso trovare maggiore documentazione.
Sono indeciso tra C#, JAVA (di cui ho gia alcune conoscenze),javascript/PHP in contemporanea a HTML/CSS oppure Python(il quale mi farebbe comodo per un progetto extra-scolastico che sto facendo). Potreste dirmi quale tra queste secondo voi sarebbe la miglior scelta (argomentando ovviamente)?
Grazie per il tempo dedicato.

9 Risposte

  • Re: A che linguaggio passare?

    Ciao, io ti suggerisco di provare con C# perchè il passaggio da C/C++ potrebbe essere abbastanza indolore e ti introdurrebbe con poco sforzo al mondo .NET e alla possibilità di avere finalmente una GUI (se hai provato Qt probabilmente è quello che vuoi!).
  • Re: A che linguaggio passare?

    Il C++ e' un linguaggio COMPLESSO/COMPLICATO e difficile da digerire anche per gente che ha n-mila anni di esperienza.
    Consiglio? Lascialo perdere!

    Al momento, le scelte migliori sono:
    - Java
    - Java + Scala: Scala e' un linguaggio funzionale basato sulla stessa VM di Java, quindi e' utile conoscere Java prima
    - C#
    - Python: in alcuni corsi universitari sui linguaggi di programmazione, viene usato Python perche' permette di fare della 'metaprogrammazione' (lascia stare al momento che cosa e', e' roba abbastanza complicata). Inoltre, ha un sacco di librerie pe fare di tutto un po' (giochi e Intelligenza Artificiale compresa)

    Ci sarebbero altre opzioni interessanti. Te le indico, giusto se vuoi darci un'occhiata:

    - javascript, ovviamente, per le applicazioni web
    - prolog
    - haskell
    - erlang
    - scheme: una variante piu' intelligente del Lisp

    Quelli 'strani' vale la pena sepere che esistono, se non altro per rendersi conto che i linguaggi che avrai indicato (C++, C#, Java, PHP, ecc..) sono solo varianti di quella che e' definita la programmazione ad oggetti, mentre esistono stili di programmazione decisamente piu' curiosi

    Tutto questo per dire: NON ESISTE IL LINGUAGGIO MIGLIORE.
    Ogni linguaggio ha un contesto di utilizzo abbastanza ben caratteristico.

    Quindi, la scelta del linguaggio va fatta in base a quello che devi fare, NON VICEVERSA.

    Per esempio:

    - per le applicazioni web, va usato NECCESSARIAMENTE Javascript+HTML+CSS
    - mentre il server lo puoi realizzare in Java, C#, Python, PHP, Ruby, Perl, C++ (non e' facile, ma si puo' fare ...),... Insomma, praticamente in qualunque linguaggio esistente. Non ultimo ANCHE in Javascript, mediante l'utilizzo di Node.js
  • Re: A che linguaggio passare?

    Vedi anche questo:
    TIOBE Index | TIOBE - The Software Quality Company
    https://www.tiobe.com/tiobe-index/
  • Re: A che linguaggio passare?

    Mi inserisco nella discussione. Per i miei obbiettivi dovrei acquisire familiarità con la OOP e imparare a gestire lintefacciia grafica. Avrei bisogno di cavarmela sia per programmi desktop multipiattaforma sia per app mobile (per cominciare almeno androidl. Devo investire ovviamente un po di tempo in studio e sono indeciso tra JAVA e PYTHON. Già conosco le basi di Python ed il suo ambiente di sviluppo e sarei tentato a seguire tale strada, ma ho letto in giro che Python nacque come linguaggio interpretato e la compilazione resti il suo punto debole, quindi sono scoraggiato dalla paura di non riuscire con esso a creare programmi autonomi. Dall'altro lato pro Java c'è la sua natività su androide e la sua adattabilità a tutto, ma devo partire da zero e sicuramente dovrebbe essere più complesso di Python. C'è poi da aggiungere che non vorrei rogne con licenze e programmi proprietari, e su questo so che Python è open source in tutto, mentre non so Java.
    Sulla base di quanto sopra, cosa mi consigliate tra JAVA e PYTHON?
  • Re: A che linguaggio passare?

    Java. O Kotlin, o scala, che sono due linguaggi compatibili con la virtual machine java (quindi puoi usare tutte le librerie già disponibili per java).
  • Re: A che linguaggio passare?

    Stai sbagliando approccio!
    Il linguaggio di programmazione è solo un'aspetto della programmazione.
    Studia gli algoritmi, strutture dati, teoria dei grafi, algebra lineare, matematica discreta. E questo per iniziare. Poi c'e' teoria relazionale dei dati, programmazione parallela/distribuita, ed altri n mila argomenti
  • Re: A che linguaggio passare?

    @dvaosta: grazie. Anche in rete Java è il più consigliato, ma speravo di poter sfruttare le mie conoscenze di base con Python e C.
    @migliorabile: forse non ho espresso bene le mie esigenze, per cui mi hai dato dei suggerimenti che non mi aiutano:. di algoritmi, strutture dati, algebra lineare ecc. penso di averne una conoscenza discreta, almeno quanto basta alle mie esigenze. Io ho un'esigenza ben precisa: riuscire a trasformare le mie applicazioni web-based (che sfruttano php, mysqli, javascript e Ajax in una cornice grafica html/CSS) in applicazioni installabili e gestibili autonomamente su pc o dispositivi mobile, senza bisogno di browser o altri programmi interpreti. Credo che per fare questo avrei bisogno di studiare un linguaggio compilato, e soprattutto imparare a gestire la grafica in autonomia. In pratica mi manca proprio il linguaggio per tradurre in codice quello che concettualmente già riesco a concepire. Grazie cmq.
  • Re: A che linguaggio passare?

    Non esagerare , SOLO adatta alle tue attuali esigenze

    Hai alternative predefinite: Java, come ti e' gia' stato indicato in tutti i modi Android, e Swift per i dispositivi Apple.

    Python e C non ti servono.

    In ogni caso, il passaggio da applicazione web a applicazione desktop NON E' uno scherzo.

    OGNI tipologia di dispositivo (PC Windows/Linux/Max, smathphone/tablet Android/iOS) ha un SUO MODO DI FUNZIONARE.
    Quindi, la tua applicazione web la devi convertire in CINQUE (vabbe' TRE ) diverse applicazioni

    Evvai!!!!
  • Re: A che linguaggio passare?

    Si, sono consapevole che il passaggio sarà difficoltoso, anche se io non parto proprio da zero.
    Mi avete confermato i sospetti che Python non può tornarmi tanto utile, anche se in ambiente linux potrei sfruttare alla grande il suo IDLE, per cui Java è quasi una scelta obbligata, almeno come punto di partenza.
    Grazie ragazzi.
Devi accedere o registrarti per scrivere nel forum
9 risposte