Domanda

Sono andato a scuola per la programmazione anni fa e quando sono uscito ho trovato un lavoro nell'amministrazione del sistema e questa è la direzione presa dalla mia carriera. Mi piacerebbe tornare in qualche modo allo sviluppo e ho "giocato" con C # e ASP.NET, ma ho sentito un sacco di buzz per altre lingue "nuove" (per nuovo intendo che sono nuove per me) come Ruby e F #. Immagino che mi chiedo se sto sprecando il mio tempo con l'apprendimento in gran parte delle lingue MS invece di essere più un generalista. Non essere stato separato dalla comunità di sviluppo per molto tempo (se mai lo sono stato) mi fa vacillare con le tendenze e mi piacerebbe non essere lasciato indietro ai tempi.

Qualche idea su se è meglio seguire le " ultime " lingue o attenersi alle tecnologie più collaudate e vere?

È stato utile?

Soluzione

Dovresti imparare almeno 1 linguaggio compilato (come C # o Java) e 1 Script Language (Python, Ruby, ecc.). Questo di solito è sufficiente per aiutare la maggior parte degli sviluppatori ad avere successo in ciò che fanno, indipendentemente dall'età della lingua.

Per quanto riguarda il nuovo contro il vecchio, rimarrei con C # per ora perché è piuttosto popolare. Imparare una nuova lingua non sarebbe poi così male.

Altri suggerimenti

C.

Seriamente, impara C.

Se non corri urlando per le colline che ti strappano i capelli allora sei tagliato per diventare uno sviluppatore.

Nota che non sto dicendo che le persone che non conoscono C non sono sviluppatori (Jeff, il fondatore di questo sito, non conosce C e sta facendo bene) ma C ti introdurrà molto degli aspetti meno glamour e ricoperti di zucchero di sviluppo.

Come seconda scelta, scegli C #.

La lingua scelta non è importante. Quando comprendi i concetti, molto probabilmente sarai in grado di imparare una nuova lingua abbastanza velocemente.

vedi http://www.tiobe.com/ index.php / content / paperinfo / tpci / index.html per un indice completo della popolarità linguistica

C # è il mio linguaggio preferito, Java e C # sono abbastanza simili, non credo sia molto importante imparare Java una volta compresi i fondamenti di c # ... ma c ++ è del tutto un'altra bestia.

Penso che c ++ sia uno dei migliori strumenti generali e sarà più facile da affrontare una volta che c # sarà compreso bene (ha MOLTA documentazione e forum di aiuto). L'esperienza in c ++ non è limitata a Microsoft, tuttavia: le piattaforme più popolari eseguiranno c ++, quindi con questa esperienza non sarai limitato a Windows. È anche buono perché non è ricoperto di caramelle come c # o Java e non è grintoso come puro c, e può interagire abbastanza facilmente con c # (che è una delle ragioni per cui una transizione è più semplice)

Quindi c # è una buona scelta e imho seguito da vicino da c ++

Sono d'accordo con molte delle precedenti: la lingua non è importante. In gran parte, la lingua conta solo per quanto segue:

  1. Caratteristiche. Se hai bisogno di ereditarietà multipla, è meglio andare con C ++. Se, come il 90 +% degli sviluppatori, non hai bisogno di qualcosa di specifico per una (o un piccolo sottoinsieme di) lingue, questo non ha importanza.
  2. Syntax. Odi gli spazi bianchi? Vai con C #. Odio le parentesi graffe? LISP è tuo amico. Non ti interessa in un modo o nell'altro? Questo non importa.
  3. Compilato o interpretato? Questo conta. Vai con compilato (o parzialmente compilato, come .NET) e sarà più veloce ... ma il divario di velocità sta chiudendo.
  4. Opportunità di lavoro locali. Certo, potresti essere un mago in C # ... ma se tutti quelli vicino a te che stanno assumendo sono alla ricerca di programmatori PERL, non ti farebbe nulla di buono.
  5. Supporto comunitario. Se la tua lingua non è stata usata seriamente da 20 anni (o mai), non aspettarti un'ancora di salvezza su Google. QBASIC, ti sto guardando. StackOverflow sarà qui però ...

Alla fine, possiamo discutere delle cose fino a quando non siamo tutti blu in faccia. Scegli una lingua con un set di funzionalità che ti piace, con una sintassi che non ti farà impazzire, una comunità decente e, auspicabilmente, opportunità di lavoro nella tua zona.

Quanto al nuovo o al vecchio ... entrambi sono buoni. Le lingue più recenti POSSONO essere più facili da imparare, ma c'è una documentazione e un uso più diffusi delle lingue più vecchie, anche se questo potrebbe essere progressivo.

Questa è una domanda un po 'carica, ma scoprirai che le persone qui sono appassionate della loro scelta di strumenti mentre credono nella flessibilità che offre una scelta.

Detto questo, se non ti dispiace " blocco fornitori, " lo stack Microsoft è un modo eccellente per iniziare a programmare e trovare un impiego redditizio per gli anni a venire. Microsoft è sia "provato che vero" e "più recente." Lo stack di Microsoft è tradizionalmente orientato alla creazione di applicazioni aziendali, ma non sei limitato a questo (ASP.NET MVC, ad esempio, è stato utilizzato per creare questo sito).

Non so molto del mondo di Ruby on Rails e simili, quindi rimanderò a una persona più esperta.

Il mio vero consiglio è di andare con quello che ti piace. Scopri C # e F # se è quello che ti piace.

Bene, se ti tieni aggiornato sulle ultime lingue, sarai sempre occupabile da aziende che stanno cercando di aumentare il loro conteggio delle parole d'ordine di marketing. Non dire che questo è l'unico uso per le lingue, ma è sicuramente un uso.

D'altra parte, c'è sempre anche un mercato per le tecnologie più vecchie con entrambe le aziende che vogliono basarsi su una tecnologia più affidabile e collaudata e mantenere tale tecnologia più vecchia.

Immagino che dipenda da come vuoi progredire. Se cerchi tendenze, potresti scoprire che non hai mai il tempo di imparare davvero una tecnologia alla rovescia, ma se cerchi lingue più vecchie, potresti scoprire che i progetti più interessanti vengono lanciati con cose più nuove che non conosci e che sono lasciati con manutenzione. Riguarda il trade off.

La mia opinione personale sarebbe quella di pensare a che tipo di lavoro vuoi fare e che tipo di requisiti per quei lavori sarebbe utile avere. Ad esempio, conosci i modelli di design? Che ne dici di modellare un sistema usando le classi e l'ereditarietà? Se vuoi entrare in Rich Internet Applications ci sono AJAX e altri elementi Javascript da imparare oltre all'HTML e ai suoi vari derivati ??come XHTML e DHTML.

Non credo che ci sia qualcosa di sbagliato nel conoscere solo le tecnologie Microsoft, se non si sono imbattute in altre che potrebbero essere necessarie se si desidera candidarsi per un lavoro di sviluppatore e richiedono Javascript o CSS che si donano avere.

Un altro punto è essere consapevoli delle modifiche agli strumenti nel corso del tempo poiché probabilmente ci saranno più cambiamenti in arrivo mentre il Web si evolve di più, ad es. ciò che Visual Studio 2010 avrà potrebbero essere molte più modifiche rispetto all'attuale Visual Studio 2008 guardando ad alcuni dei recenti annunci su jQuery e il framework MVC.

Ho usato C #, Ruby, Perl, JavaScript e PHP nel corso dell'ultimo anno e sono stati tutti utili in diversi modi. Vorrei suggerire che se vuoi un modo semplice per conoscere le basi della programmazione, Ruby è un ottimo linguaggio con cui farlo: ha una sintassi semplice, facile da seguire e rende molto facile pensare in un Orientamento agli oggetti modo, qualcosa che può essere più difficile con un linguaggio semi-OO come C # o Java.

C # vale la pena imparare perché è utile conoscere una lingua nella famiglia C - gli idiomi fondamentali sono così comuni che vale la pena usarli - ma eviterei C o C ++ semplicemente perché non vedo davvero il bisogno di gestire la propria memoria - rende la vita molto difficile, introduce molti bug inutili e conferisce pochi benefici fino a quando non si è davvero eccellenti. Diventa bravo in qualcosa che gestisce prima la gestione della memoria e poi puoi passare alle cose più difficili se dovessi.

Vorrei evitare linguaggi funzionali come F # per cominciare. Sono piuttosto difficili e abbastanza diversi, anche se a tutti gli effetti la comprensione li rende un programmatore migliore.

Direi che impara ciò che è più semplice e afferro i concetti fondamentali alla base. La sintassi è un ostacolo facile da superare, la differenza tra le lingue è un po 'più complicata.

Tuttavia, poiché C # sembra avere una vasta base di aiuto in rete e qui su SO, vorrei iniziare da lì, e conoscere i dettagli della programmazione orientata agli oggetti. Quindi, idealmente, dovresti essere in grado di passare alla maggior parte di qualsiasi altro linguaggio OO di cui hai bisogno in quel momento (come ruby, Java, Obj-C o persino il temuto C ++) jk, persone C ++ .

Un linguaggio come F #, sebbene popolare, è un po 'diverso da C #, in quanto funzionale. Se sei abituato a scrivere codice di stile funzionale, F # potrebbe essere un buon posto in cui cercare. Ma, anche in questo caso, scopri com'è scrivere codice funzionale e cogliere i fondamenti della lingua.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top