Consiglio/Panoramica Linguaggi programmazione

Ho notato che su questo forum girano alcuni programmatori/appassionati di informatica…

Quello che vorrei da voi è un semplice consiglio…

Quest’estate starò per 3 mesi nella mia tranquilla casetta in montagna e, avendo poco da fare, pensavo di imparare ad usare un nuovo linguaggio di programmazione. Attualmente infatti, uso VB.NET che, a detta di molti, è un linguaggio scadente (e oltretutto esterno al mondo linux)… Oltretutto, nella mia dannata scuola, qualcuno ha deciso di utilizzare come DBMS il famigerato Microsoft Access =/

Le basi della programmazione procedurale e ad oggetti le so… So pure qualche comando SQL di Jet (anche se so che è in qualche modo diverso dallo standard sql)…

Quindi, dall’alto della vostra esperienza, che linguaggio di programmazione mi consigliereste?

Non hai che da scegliere: C, C++, BASIC, Forth, questo lo devi scegliere tu. Visto che conosci i due principali paradigmi di programmazione ti consiglierei KDevelop, Qt Creator per i primi due, Gambas per il terzo. Anche Lazarus è da considerare.

ma dipende anche dal tipo di applicazioni che vuoi fare. Comunque restando nella tipologia di vb.net , un buon linguaggio da considerare ( anche a livello enterprise) è il java

sono daccordo con i precedenti interventi.

comunque non ha senso parlare di linguaggi migliori o peggiori, poichè ogni linguaggio risolve una ben determinata classe di problemi, allora la scelta dipende da come sono orientati i tuoi bisogni.

Questo è l’eterno dilemma di chi programma: quale linguaggio? Comunque quando penso a Gambas dico: il bambino è diventato grande…

io VB l’ho abbandonato (non tanto per volontà, ma proprio perché non mi era più utile) ai tempi di VB6, quindi .NET non so cos’abbia migliorato.

Se mi dici che conosci solo VB io consiglierei di partire dal C che è un po’ il papà. Almeno impari bene le fondamenta grazie alle quali qualunque altro linguaggio ti risulterà di più facile apprendimento. Poi il C permette anche di giocare a basso livello con i puntatori con i quali si posso fare cose molto belle.

Se invece ti senti volenteroso di imparare qualcosa fuori dagli schemi tradizionali direi LabView che è un linguaggio totalmente grafico, per dire, i cicli for, while si disegnano, non si scrivono; le operazioni matematiche sono dei blocchetti ai quali legare dei flussi di dati ecc.

Ma anche per arrivare a labview mi sentirei di consigliare di passare per il C.

Ovviamente quanto detto è dato dalla mia personale esperienza, magari qualcun altro si è trovato meglio a partire da linguaggi OOP.
Io a partire dal C ho imparato molti linguaggi con molta facilità.

bhè… diciamo che ti costringe, hai poca scelta :wink:
Certo che per chi viene dal vb il C deve essere la rappresentazione dell’ inferno :slight_smile:

Ciao

Io invece arrivavo dall’assembler per cui mi trovai in paradiso.

Almeno con Linux se hai padronanza del C ed hai la pazienza di studiarti le migliaia di librerie disponibili puoi fare qualsiasi cosa comunque potrebbe essere meglio, come è stato suggerito, C++ e per come la vedo io, QT.

Come database non posso che consigliarti il mio preferito che è FireBird.

Ciao Ciao, Moreno

Non concordo con 2 affermazioni:

[quote]
eciso di utilizzare come DBMS il famigerato Microsoft Access =/[/quote]
Access non è un DBMS.

[quote]
ti consiglierei KDevelop, Qt Creator per i primi due, Gambas per il terzo. Anche Lazarus è da considerare.[/quote]
Vim.

Per il linguaggio da scegliere: pensa a quello che vuoi sviluppare e poi scegli.

P.S. nessuno ha citato il python che in quanto a bellezza del codice scritto non ha paragone credo (ti obbliga a scrivere bene :slight_smile: ).

eheh possibile, però penso sia una pietra miliare per un programmatore e non solo; se sai il C ti troverai bene con molti altri linguaggi.

infatti questa discussione ha poco senso, è come dire " che macchina mi conviene prendere?" … ma tu che strada devi fare?

[quote=sevy72]

infatti questa discussione ha poco senso, è come dire " che macchina mi conviene prendere?" … ma tu che strada devi fare?[/quote]

Beh non ho le idee chiarissime (questo si era capito)… Diciamo che mi basterebbe un linguaggio con cui poter sviluppare applicazioni anche/solo per linux…

In genere funziona così:
prima si sceglie cosa fare, e poi si sceglie lo strumento adatto per raggiungere lo scopo, anche a secondo delle priorità che si hanno.

Se la tua priorità è la velocità di esecuzione ( a discapito del tempo di sviluppo) allora vai sul C/C++ , se della velocità non te ne frega niente ma vuoi sviluppare in fretta allora scegli linguaggi interpretati tipo python o altri che ti hanno consigliato sopra.

Mi aggrego a questa conversazione con una domanda: quale linguaggio si può scaricare il pacchetto legalmente gratis?

:slight_smile: Buon tutto
Silvio

Praticamente il 99% sono gratuiti. Quelli a pagamento in genere sono alcuni compilatori intel, gli ide microsoft tipo visual studio e i Borland.

C, C++, Java, Python, Ada, Lisp, Pascal, e chi più ne ha più ne metta sono a disposizione nei repository di quasi tutte le distro. Poi magari qualche IDE ( ambiente di sviluppo) lo trovi a pagamento, ma ce ne stanno molti gratuiti. Insomma puoi sviluppare tranquillamente in modo gratuito con quasi tutti i linguaggi.

uhm… Python mi intriga!

Qualcuno ha per caso qualche lettura da consigliarmi?

(http://www.hoepli.it/cerca/libri.aspx?ty=1&query=python)

EDIT:
non serve…
ho trovato questo tutorial che mi sembra molto utile!
(http://docs.python.org/py3k/tutorial/index.html)

Non sono completamente d’accordo con questa affermazione.

La conoscenza riguardo a quale sia lo strumento più adatto alle esigenze è maturata dalla conoscenza degli strumenti che si hanno a disposizione.

Se prima di imparare qualcosa devo capire cosa mi serve, non sarei in grado di capirlo visto che non conosco gli strumenti disponibili.

Il discorso che fai , penso sia valido e lo condivido per chi ha almeno una spolverata di conoscenza su più linguaggi/tecnologie.

Se non avessi una conoscenza degli strumenti, dovrei ogni volta chiede ad altri cosa usare, il che comporta:

  • totale fiducia nelle capacità di chi ti risponde
  • chi ti consiglia dovrebbe avere una buona panoramica di conoscenza
  • chi consiglia si spera sia imparziale, perché di guerre di religione ne ho sentite anche sui linguaggi di programmazione purtroppo :smiley:
  • spiegare molto bene cosa sarà il mio progetto per ricevere una corretta valutazione

si ma non puoi mica conoscere tutto. Se si fa un discorso solo didattico allora un linguaggio vale l’ altro, ma anche lì ci sono differenze. Tra un VB e un C ci sono differenze abissali, bisogna un po’ vedere almeno quello che ti piace sviluppare.
Se vuoi capire come funziona un pc allora studi il C magari integrandolo con assembly, se vuoi studiare gli algoritmi allora vai su python e ti concentri solo su quelli, ma se sogni di sviluppare videogiochi allora con python o con altra roba interpretata perdi solo tempo, se ti piacciono i gestionali allora perché sbattere la testa contro il muro con il C e non andare direttamente su java?

Insomma, il discorso non è così semplice, io ho cercato di semplificarlo un po’, ma ovviamente non copro tutte le possibili sfaccettature.
Poi certamente più cose si conoscono e meglio è, in questo senso hai ragione tu, per una maggiore completezza si dovrebbero avere esperienze diverse

Ovvio non ci sono tuttologi e se qualcuno si presenta come tale vien da storcere il naso.

Verissimo, il discorso non è per niente banale, è per questo che mi son sentito di farti un’obiezione; la semplificazione che hai fatto non mi è sembrata così banale ma più adatta a chi ha già una conoscenza che vada oltre al singolo linguaggio.

Per questo mitivo penso sia più adatta una via didattica prima ancora di scegliere cosa mi piacerebbe fare; questo perché un domani per esigenza, per cambio di interessi o cos’altro, ci si ritrova a dover cambiare linguaggio o famiglia di linguaggi; quindi avere solide fondamenta di basso livello che ti permettano di cambiare linguaggio con agilità; mi ritrovo ad insistere nel consigliare il C come fondamenta verso la tuttologia :stuck_out_tongue:

[quote=fenomeno]

Ovvio non ci sono tuttologi e se qualcuno si presenta come tale vien da storcere il naso.

… mi ritrovo ad insistere nel consigliare il C come fondamenta verso la tuttologia :P[/quote]

eppure io uno che diceva di conoscere tutta l’ informatica al 99,9 % ( sue testuali parole) lo conoscevo. Per lui i software in multiutenza erano quelli che usavi tramite vnc, ovviamente solo sotto win. :slight_smile:

Concordo, se vuoi imparare, il C ti fa capire come funzionano i computer.