Consiglio da chi ne sa più di me...

di il
23 risposte

Consiglio da chi ne sa più di me...

Ciao,
sono nuova del forum. Ho 47 anni e faccio programmazione in C da più di 20, ho lavorato in diversi settori.
Ho un diploma, ma non la laurea, ai tempi feci un corso di programmazione di un anno, di quelli finanziati dalla regione, e da lì in poi ho sempre lavorato come programmatrice.
Purtroppo, sempre più o meno sulle stesse cose, addirittura usiamo ancora Visual C 6.0.

Ora, vorrei provare a formarmi sulla professione di Web developer (cioè, vorrei fare siti, non so se sia il nome esatto) e voglio sapere se secondo voi è una cosa realizzabile e dove iniziare.
Ci sono corsi che affrontano HTML, CSS, JAVASCRIPT e accenni di SQL nella mia zona, ma purtroppo abbastanza costosi. Sono queste le basi da cui partire a vostro avviso?
L'alternativa più affrontabile economicamente mi sembrano i corsi on-line: ritenete che siano validi? Ne avete esperienza?
Qualunque consiglio è benvenuto.
Buona giornata

23 Risposte

  • Re: Consiglio da chi ne sa più di me...

    Ciao,
    quello che non ti manca è la capacità di programmare,
    dovresti imparare le basi di alcuni linguaggi per il web ,tra questi alcuni forse ti sembreranno troppo permissivi (ad esempio javascript),sul sito http://www.html.i troverai dei tutorial su html ,javascript e css,xml-xsl
    ti sarebbe utile capire come funzionano i web server ,conoscendo il funzionamento base di un web server potrai poi approfondirne uno https://it.wikipedia.org/wiki/Server_we
    ,in realtà con un centinaio di euro puoi anche comprarti qualche libro sugli specifici argomenti : javascript
    php
    asp .net
    come linguaggio di programmazione potresti appunto scegliere tra asp.net (c#) oppure php od altri ancora ,visto il tuo background ti consiglierei asp .net e c# ma come possibilità di lavoro forse te ne dà di più php .....vediamo anche cosa ne pensano gli altri..
  • Re: Consiglio da chi ne sa più di me...

    Certo e' che 20 anni di programmazione procedurale ti limitano parecchio.

    Il problemma non sono gli altri linguaggi (javascript, C++, C#, java, PHP, Python), ma il paradigma di programmazione: tutti questi linguaggi supportano la programmazione ad oggetti.

    Se uno conosce la programmazione ad oggetti in un linguaggio, passare ad un'altro linguaggio non e' eccessivamente complicato: diciamo che il 75% delle difficolta' si riducono ad imparare una nuova sintassi (qualche giorno/settimana di studio). Poi, la maggior parte del tempo la perdi nell'imparare la nuova libreria. Ma e' una questione mnemonica! Un file lo apri, lo leggi, lo scrivi e lo chiudi piu' o meno nello stesso modo in qualunque linguaggio. Sono fondamentalmente solo dettagli.

    Ora, la programmazione ad oggetti non si impara in una settimana: in una settimana impari i concetti. Ma applicarli e' tutt'altra questione.
    Come organizzare un'applicazione in oggetti, e come far si che questi oggetti possano essere componibili nei modi piu' disparati e' una competenza che si acquista solo con tanta esperienza.

    E questo e' il primo ostacolo.

    Le applicazioni Web hanno un'altra difficolta' intrinsecha, diciamo 2:

    1) sono applicazioni client server, dove ci possono essere 0 o 10.000.000 di client (per fare un esempio), mentre il server e' unico (ed anche qui non e' detto). Il problema consiste nel progettare l'applicazione in modo che non possa capitare che due client interferiscano tra di loro.

    Non e' complicato, ma una questione concettuale, che bisogna tenere sempre in mente

    2) un'applicazione Web richiede l'impiego di una miriade di teconologie che differiscono tra lato client e lato server. Anche se si lavora da un solo lato, e' necessario aver chiaro come funziona l'altra parte per non fare pasticci complicatissimi da correggere.

    Che dire!

    Di sicuro puoi fare delle prove in locale con tutte queste tecnologie.
    Si trova moltissimo in forma OpenSource/Free, sia per Windows che per Linux o Mac.
    Raramente l'installazione e' piu' complicata di spachettare un file compresso in una directory (anche se e' un EXE).

    La parte un po' piu' rognosa e' far si che i vari pezzi di tecnologia parlino tra di loro in modo corretto.
    Nella maggior parte dei casi si tratta semplicemente di modifica qualche file di configurazione. La parte complicata e' nel capire quale file modificare, e cosa scriverci dentro!
    Ovviamente trovi tutto con Google, ma vai tu a capire le spiegazioni!

    Certo, ci sono framework gia' pronti, ma se li usi, rischi di non avere chiaro come tutti i pezzetti interagiscono tra di loro.

    Il consiglio di studiare sui libri e non su Internet, visto che sei alle prime armi, non prenderlo come un semplice consiglio, ma come un ASSIOMA!
  • Re: Consiglio da chi ne sa più di me...

    Sì, capisco tutte queste difficoltà, ed è il motivo per cui mi stavo guardando attorno per un corso introduttivo con un insegnante in carne ed ossa che possa darmi una prima visione d'insieme.
    Sono veramente a digiuno dell'argomento.
    Non trovo granchè nella mia zona purtroppo, a meno di non andare a spendere un capitale in una software house che faccia quello di lavoro.

    Potrei intanto rispolverare il mio libro di C++ e iniziare ad analizzare la programmazione ad oggetti, cosa che avevo fatto anni fa e poi causa disuso...quel poco che sapevo è caduto nel dimenticatoio.

    Tengo presenti anche gli altri consigli che mi avete dato, grazie intanto, è un mondo che mi affascina molto.
  • Re: Consiglio da chi ne sa più di me...

    Un'altra cosa.
    Avete qualche testo base da consigliarmi per iniziare? (anch'io sono assolutamente dalla parte del libro di carta! )
  • Re: Consiglio da chi ne sa più di me...

    Non sono convinto che ripassare il C++ sia un buona idea, visto che ti interessa la programmazione Web.

    Il motivo e' presto detto: il C++ e' un linguaggio decisamente complesso, che ha un difetto fondamentale, la gestione della memoria. Lasciando perdere argomenti come template, derivazione multipla, overriding degli operatori, metodi virtuali, ecc.

    Ed in ambito Web non viene utilizzato.

    Linguaggi quali C#, Java, PHP, Python, Javascript, sono ad oggetti ma utilizzano il Garbage Collector. Inoltre sono piu' semplici, nel senso che sono state eliminate certe funzionalita' disponibili in C++, fondamentalmente non essenziali.

    La differenza non e' da poco, come potrebbe sembrare in un primo momento.

    Come consiglio, ti suggerirei di iniziare a studiare Java o C#, i due linguaggi piu' richiesti in ambito professionale (50 e 50). Non ho mai visto grandi richieste di programmatori PHP. Python e' molto di nicchia.

    Questi sono usati lato server

    Successivamente, ovviamente, Javascript, per il lato client.

    Quale dei due?

    - Java e' multipiattaforma (Windows, Linux, Mac),
    - C# gira solo su macchine Windows (vabbe' ci sarebbe Mono, ...)

    Per i libri: vai su Amazon e i primi nella lista della risposta in generale sono buoni.
  • Re: Consiglio da chi ne sa più di me...

    Non ho mai visto grandi richieste di programmatori PHP.
    Li cercano più che altro nelle web agency.
  • Re: Consiglio da chi ne sa più di me...

    Grazie, molto chiaro.
    Lascio perdere C++ e mi dedico a C# o Java.
    Ora penso un attimo a quale dei due. Il compilatore Java si trova gratuitamente, giusto?
  • Re: Consiglio da chi ne sa più di me...

    Tieni presente che anche tutto quello che ti serve per imparare e bene c# è gratuito,dal compilatore all'ambiente di sviluppo visual studio ,direi 2013 community che è un pò più collaudato di 2015 ed ha qualcosa in più rispetto al 2010 , scaricherei anche sharp develop http://www.icsharpcode.net/OpenSource/SD/Download qui trovi i download di sharddevelop ,qui il libro http://damieng.com/blog/2007/11/08/dissecting-a-c-application-inside-sharpdevelop "Dissecting a C# Application" leggilo ,magari non proprio all'inizio della tua avventura con c# ,dopo aver interiorizzato le basi sintattiche e quelle teoriche della programmazione ad oggetti,
    direi di installare anche l'sdk ...gratuito anch'esso con tutti gli esempi e la documentazione msdn
    per l'sql puoi scaricare la versione express di sqlserver che ha come limite 4 gb di spazio ed 1 gb di ram se non ricordo male .....,scarica i db di Microsoft northwind ed adventure works,con visual studio potrai gestire i db con anche l'intellisense per scrivere le query sql

  • Re: Consiglio da chi ne sa più di me...

    Ciao, io ti consiglierei java: ha un ottima documentazione ufficiale; inoltre è il linguaggio più usato nelle università, quindi se mai avrai bisogno di studiare argomenti un po' più di nicchia troverai diverso materiale universitario liberamente online.
    Per quanto riguarda il manuale, alle superiori mi ero trovato bene con questo:http://www.apogeonline.com/libri/9788850329564/allegato/capitoli
    Solo che arriva solo a java 7. Se vuoi qualcosa di pi`u aggiornato ho sentito parlare bene del De Sio 8 : http://www.amazon.it/Manuale-Programmazione-orientata-oggetti-standard/dp/8820362910

    Il compilatore e tutto il resto lo trovi gratuitamente sul sito della Oracle.
    Come ambiente di sviluppo ti consiglio Intellij IDEA della jetbrain; la licenza costa, se non sbaglio, 199 all' anno ma è gratuita per studenti e sviluppatori attivi nell'opensource. Esiste anche la versione community, che è gratuita, ma non so se ti permetta di sviluppare in ambito web .
    In alternativa ci sono anche netbeans ed eclipse che sono completamente gratuiti ma sono molto inferiori rispetto a intellij.
  • Re: Consiglio da chi ne sa più di me...

    Grazie ancora per tutti i preziosi suggerimenti.
    A quanto vedo c'è equilibrio tra gli estimatori dell'uno o dell'altro linguaggio, per quanto mi riguarda, venendo dal C e leggendo quello che mi dite, forse mi conviene partire da C#.
    Ci rifletto ancora un pò....
  • Re: Consiglio da chi ne sa più di me...

    Per completezza di informazione c’è anche il VB.Net, che è anch’esso un linguaggio orientato ad oggetti (OOP) e usa il DotNet Framework come C#, però è poco richiesto!
    Se non vuoi un distacco netto dal passato ti consiglio un’infarinatura di VB.Net (dove ha lo stesso stile di VB6), ma comunque dovrai passare a C# (che la una gestione degli eventi più vicino a VB).
    Il Java è C-like (come C, C++, C#, Javascript, …), ma ha una gestione degli eventi diverso.
    I vari vantaggi/svantaggi/consigli detti da migliorabile e dagli altri sono sempre validi (Es. Java: multipiattaforma; C#/VB.Net: solo Windows).
    Quindi se vuoi un distacco netto ti consiglio il Java SE, i vari linguaggi web lato client (HTML, Javascript, …) per poi arrivare a Java EE e/o ME. Così potrai creare i siti web anche con pagine dinamiche.
    In ogni caso dovrai dire addio a tante cose di VB6, ad es.:
    • Non si possono dimensionare array con indice inferiore diverso da 0;
    • Il tipo Variant;
    • Non c’è più ambiguità tra set e let nel corpo delle classi: esiste solo set e get.
    • L’impossibilità di una classe di ereditare da un’altra e/o di implementare una o più interfacce;
    • Form e Moduli sono anch’essi classi;
    • Non puoi più creare un array di controlli con lo stesso nome e gestire gli eventi usando index;
    • Nella gestione dei db c’erano: RDO, DAO, ADO. E’ sopravvissuto l’ultimo ADO.NET;
    • Lanciare errori con “err.raise”, ora si lanciano eccezioni “throw new Exception()”.
    Buona fortuna!
  • Re: Consiglio da chi ne sa più di me...

    Bè, non è un problema, non avevo idea della maggior parte delle cose che citi. Io finora ho usato solo il C standard, non ho mai programmato ad oggetti.

    Cmq più vi sento parlare e più il tutto mi sembra veramente intricato e che necessiti di un milione di competenze (che non ho).
    Pensavo, piuttosto ingenuamente a questo punto, che costruire semplici siti fosse un affare relativamente fattibile. Ora la vedo sempre più dura senza una formazione moooolto lunga.
  • Re: Consiglio da chi ne sa più di me...

    Ciao ,non intristirti
    >Cmq più vi sento parlare e più il tutto mi sembra veramente intricato e che necessiti di un >milione di competenze (che non ho)
    per iniziare a muoverti ti servono poche nozioni anche la programmazione ad oggetti non devi arrivare ad averla assorbita al 1000% ,inizialmente ti bastano poche nozioni per usare le classi che esistono nei framework c# o java ,
    se vuoi fare la sviluppatrice web puoi cominciare anche a fare delle pagine statiche per imparare l'html ,puoi usare visual studio per questo ,per vederle,per avere la soddisfazione di aver fatto qualcosa , ti basterà lanciare in debug l'applicazione quest'ultima lancierà iis express e vedrai le tue pagine,ti direi comunque di muoverti senza pretendere di sapere prima la programmazione ad oggetti in profondità oppure tutti i costrutti di c# ,
    pian piano approfondirai i vari argomenti ma scrivendo anche tu qualcosa (come html statico ad esempio) imparerai più in fretta e divertendoti (spero) un pò
    >relativamente fattibile. Ora la vedo sempre più dura senza una formazione moooolto lunga.
    secondo me ti sbagli , puoi iniziare da subito come ti dicevo a fare delle prove ,ottenere dei risultati ti darà la spinta per approfondire meglio gli aspetti teorici
  • Re: Consiglio da chi ne sa più di me...

    Ecco sì, io ho bisogno di iniziare da qualcosa di immediato e magari approfondire dopo.
    Ma perchè il mio collega sostiene che dovrei iniziare da WordPress? Come si pone rispetto ai tool che mi suggerite voi?
    Lui dice WordPress e poi JavaScript, per iniziare a fare un semplice sito.
Devi accedere o registrarti per scrivere nel forum
23 risposte