Cosa imparare?

di il
14 risposte

Cosa imparare?

Main
{
ciao a tutti affacciandomi da solo 6 mesi alla programmazione (visual basic 6.0)volevo sapere e magari discutere dei linguaggi che è BENE sapere sia per imparare,sia per trovare un lavoro che mi permetta di fare ciò che ci piace di più .....ciao grazie
}

14 Risposte

  • Re: Cosa imparare?

    Ma io ti consiglio di imparare BENE il linguaggio C e C++.
    sono linguaggi che sono alla base della programmazione

    Roberto
  • Re: Cosa imparare?

    Ciao adesso il mercato del lavoro richiede molto il java e si stà affacciando alla tecnologia .NET con una grande propensione verso Visual C#.NET

    In bocca al lupo
  • Re: Cosa imparare?

    Ciao junior,
    Io sto facendo il programmatore da oltre di tre anni nell'ambiente di VB5 / VB6 (VB = Visual Basic). Ormai ho una piccola esperienza nella programmazione in VB. I programmi in VB hanno una certa richiesta sul mercato.

    E vero che C o C++ sono linguaggi di base della programmazione, ma VB non ha nessuno svantaggio in confronto.

    In bocca al lupo


    La giornata si vede come si evolve dalla mattina.
    FD
  • Re: Cosa imparare?

    E' vero adesso molti si spostano verso il web

    Roberto
  • Re: Cosa imparare?

    Non voglio fare in convenzionalista, almeno una volta

    La scelta spetta a te, cosa ti piace di più. Ma se vuoi unire la velocità di sviluppo, che conta oggi più che tutte le altre cose, e la facilità di manutenzione, compreso persone a digiuno di linguaggi esotiche, ti consiglio optare per Visual Basic, con l'aggiunta di Assembly.

    Perché questa combinazione insolita? Perché VB è semplice nello sviluppo e fa quasi tutto. Per il resto è troppo faticoso di imparare anche bene, e sottolineo bene, il C++, per dare supporto al VB. Invece, l'Assembly è un po' come il Basic. E' molto semplice da imparare, ha soltanto qualche istruzione e qualche sintassi da imparare, e in ricompensa sbatte al C++ la porta in faccia, perché:

    1. genera esattamente il codice che vuoi
    2. genera codice più efficiente
    3. non ha obbligatoriamente bisogno di librerie runtime
    4. per cui gira su tutte le piattaforme windows a 32 bit, e forse anche su 64 bit
    5. la programmazione da grosse soddisfazioni in metà del tempo che si dovrebbe impiegare con C++
    6. alcune cose che in C++ non si possono fare, in assembly si fanno senz'altro, e senza "accrocchi" e inganni
    7. il codice compilato è notevolmente più piccolo del C++ e si riescono a fare vere DLL (senza nomi decorati) senza alcun problema
    8. con delle procedure speciali si può integrare il codice in VB (risorse, file RES), che con codice C++ compilato non è possibile

    Difatti i miei colleghi (quasi tutti C++ e Java) mi odiano per questa invenzione mia e mi chiamano sleale. Con questi due mezzi di programmazione faccio applicativi che non stanno indietro ai puri applicativi C++, con la differenza che da solo batto tutti nel tempo, se c'è da fare qualcosa molto velocemente e, naturalmente, perfetto.

    Caro junior, poi ci sarebbe da dire una cosa in genere. Se vuoi fare questo mestiere fino alla fine dei tuoi giorni, devi scegliere una strada che andrà sempre, perché i linguaggi cambiano, ma i computer e processori solo poco (struttura).

    Tra lo Z80 e il P4 non c'è molta differenza, tranne la velocità e qualche decina di istruzioni in più.

    Ti consiglio di imparare comunque bene l'assembly, anche di altri processori, perché questo darà richiesto sempre. A livello mondiale ci sono circa 150 programmatori assembly con le, (scusate) palle, e stanno diminuendo. Sono coloro che fanno e progettano i BIOS dei vostri computer, che fanno sì che i lettori CD leggono il disco anche graffiato, e che sono chiamati in tutto il mondo per risolvere problemi di velocità, i così detti bottleneck.

    Non diventerai padrone della terra, né avrai un guadagno da far impallidire i tuoi dall'invidia, ma in ricompensa non ti mancherà mai il lavoro. Ovunque in questo mondo.

    In bocca al lupo,



    Giovanni
    ---
    Ducunt fata volentem, nolentem trahunt
  • Re: Cosa imparare?

    Ciao, il Visual Basic presenta i seguenti svantaggi rispetto a C e C++:
    1) Non è multipiattaforma e multios. In pratica va bene solo per scrivere codice per Windows. Se hai bisogno di scrivere software per reti - database - centri di calcolo - server, dove Windows è usato in netta minoranza non puoi usarlo.

    2) Il codice prodotto risulta un pò più inefficiente di quello prodotto da un compilatore C e C++. Questo si vede soprattutto su algoritmi strassanti per la cpc. Non a caso, software pesanti come grafica, videogames, server ad alte prestazioni ed altri di solito sono scritti in C e C++.

    3) Il codice VisualBasic risulta leggermente instabile. Questo va sostanzialmente accreditato alle librerie runtime di Visual Basic che contengono qualche bug.

    4) Con C e C++ sono presenti molte più librerie, anche gratuite, rispetto a quelle per Visual Basic. E se usi librerie e compilatori multipiattaforma, con un unico file make puoi compilare per tutti i sistemi operativi che vuoi, su tutte le piattaforme.

    5) Visual Basic ha si richiesta nelle aziende, ma con un uso abbastanza limitato. Generalmente piccolo-medio software, spesso legato alla compatibilità. C e C++, grazie ad i fattori elencati sopra ha una versatilità molto maggiore.

    Infine per quanto riguarda l'assembler:
    1)Non è vero che generi codice migliore rispetto al c.
    Questo capitava qualche anno fa, quando la complessità media dei programmi era molto inferiore, e i compilatori erano molto meno sviluppati. I compilatori di oggi, se si utilizzano i parametri giusti, producono codice molto ottimizzato, spesso superiore a quello prodotto da un compilatore di assembler. Anche perchè processori diversi presentano ottimizzazioni diversi. Lo steso pentium3 è diverso dal Pentium4. I compilatori permettono di specificare un target preciso e si occupano loro di inizializzare registri, e allocare lo stack nel modo più efficiente per il compilatore selezionato. Invece un programmatore assambler dovrebbe conoscere tutte le differenze tra ogni modello di procesore per creare codice realmente efficiente...
    Chi produce compilatori è sostanzialmente esperto di processori e codice macchina e col tempo a creato compilatori molto ottimizzati. Difficilmente un programmatore generico di assembler risulta essere così esperto da produrre un codice più ottimizzato di quello prodotto da un compilatore.
    Infatti, si consiglia sempre di utilizzare l'assembler dove è indispensabile, per esempio prog. di dispositivi o parti di booting dei sistemi operativi.
    2)Anche in C++ si possono creare dll senza nomi decorati, basta esportarle con extern "C" etc etc ....
    3)In C e C++ si può integrare codice assembler. Oltre che interagire con codice compilato java come se fosse parte della propria applicazione, oltre che interagire con codice compilato scritto in altri linguaggi di programmazione
  • Re: Cosa imparare?

    Inizierei con il C, è semplice, lo trovi in tutte salse che vuoi (piattaforme), ha molte risorse gratuite in rete (tutorial, articoli, compilatori, editor), nelle librerie si trovano molti libri a poco capaci di metterti sulla strada (se volessi comprarne uno) e poi ci sono una notevole quantità di linguaggi la cui sintassi è abbastanza simile al C, per cui se in un futuro...

    Chip
  • Re: Cosa imparare?

    Il C lo trovi ovunque, il java sta prendendo sempre più piede, il VB è molto utilizzato...
    La domanda è semplice, ma la risposta non è univoca...
    Se vuoi sapere cosa può esserti più utile, tutto dipende da ciò che vuoi fare; se vuoi invece semplicemente incominciare, allora scegliti un programma che ti ispira, apprendine i segreti e alla fine ricomincia il tutto con un altro linguaggio...
    Buon lavoro....

    I pessimisti al mattino sono tristi perchè con il finire della notte finiscono anche i sogni; gli ottimisti sono felici, perchè col venire del giorno finiscono anche gli incubi...
  • Re: Cosa imparare?

    Ciao Amici, non mi intendo una mazza di programmazione, vorrei porre una domanda ai guru di questo forum, in pratica io faccio grafica 3d e per quanto ne so i motori di redering e i plugins sono fatti col C++.
    Vorrei sapere... per un ingengere che esce laureato dalla facoltà di Ingegneria Informatica in cosa deve essere esperto?C++ oppure java? Per entrare nel mondo del lavoro cosa è richiesto? Se si conosce java per esempio c'è occupazione per esperti del genere? Grazie a tutti c'è mio fratello che è un po confuso e all'università non fanno che confonderlo! Grazie!!

    http://xoomer.virgilio.it/federico_surac
  • Re: Cosa imparare?

    Ti rispondo io che sono Ingegnere Informatico dicendoti che di base spesso non è richiesta la conoscenza di alcun linguaggio di programmazione nello specifico.

    L'unversità serve a confondere le giovani menti inesperte e niente altro.

    La sostanza è questa... chiedere ad un laureato fresco di fare da programmatore è troppo sia per lo scarso insegnamento che le univ. in questo campo offrono sia per la natura stessa del lavoro di cui parli... per dirla tutta un ing.inf. o anche un laureato in inf. non sono programmatori e non è richiesto loro di esserlo.

    Passato questo preambolo scendiamo nel dettaglio; se si trova lavoro come programmatore essendo laureati non vi è nulla da obiettare ma bisogna vedere il futuro cosa ti offre, va vista l'attività che svolge e se offre possibilità future. Questo perché oramai chi è programmatore resta tale... non ci sono scalate... al massimo puoi diventare un "capo-gruppo" un "lead-programmer" ma almeno qua in italia la tua corsa non andrà oltre.

    La cosa triste è che questi obiettivi uno potrebbe raggiungerli tranquillamente con 1 o 2 anni di corsi professionali "veri", roba da 2000euro a corso... che fatto il conto converrebbero di più rispetto ai 3-4-5 anni di univ. a 1200euro annui con inutili privazioni fatte di notti insonni per i compiti, in cui studi di tutto poco e male.

    Cosa bisogna sapere? beh.. certamente bisogna avere chiaro il concetto di come si programma, come si disegna un DB (magari anche cosa è), come si porta avanti il design di una applicazione ed eventualmente come si gestisce un gruppo di persone ma le cose più importanti sono la <b>lingua inglese</b> e la <b>predisposizione ad imparare</b> linguaggi e ambienti nuovi senza fossilizzarsi sulle proprie idee.

    Oggi VisualBasic, domani C, dopodomani PowerBuilder, ora va di moda MySQL, domani tutti a PostgreSQL, poi vai di OODataBase, ecco il DataWare, adesso scegliamo un ERP da comprare, via con Linux che fa figo, no meglio Windows perché agli utenti garba di più, guarda bello il PHP!.... è bene che tuo fratello impari prima di tutto ad essere "elastico" come mentalità professionale.

    Se gli stanno insegnando Java è un bene perché è usato in molti ambiti ma non serve che diventi un guru, è bene che si conservi una mente fresca e capace di portarlo ad affrontare ogni problema.

    Chip
  • Re: Cosa imparare?

    Grazie gentilissimo!!!!

    http://xoomer.virgilio.it/federico_surac
  • Re: Cosa imparare?

    Be... Io penso che ogni linguaggio sia bene... Però preferisco il Visual Basic perché ho già esperienze a partire dal DOS... Sono quasi 5 anni che programmo e mi sono sempre trovato bene. Ho letto dell'Assembly!!! Che cosa significa? Che cosa è esattamente?
  • Re: Cosa imparare?

    Vorrei sapere se è possibile interfacciare il Java con l'assembler, vorrei sapere anche come. Grazie anticipatamente.

    Fabrizio
  • Re: Cosa imparare?

    Ciao Buffer,

    intanto benvenuto nel forum, vedo che sei nuovo.
    Per la tua richiesta ti conviene aprire una nuova discussione.

    Saluti

    A volte basta un solo carattere sbagliato nel codice sorgente per mettere in crisi un' intera applicazione...
Devi accedere o registrarti per scrivere nel forum
14 risposte