2010-03-18 13 views
7

Sono uno sviluppatore web e uno studente universitario laureando in telecomunicazioni. Ciò significa che sono bravo a programmare e conosco un po 'le reti di telecomunicazione (a un livello elevato, non tecnico).Usi di Erlang in Telecom

Continuo a leggere che Erlang è utilizzato in tutto il settore delle telecomunicazioni (presumibilmente per le sue prestazioni).

Mi chiedo se è possibile combinare le mie capacità di programmazione con il mio principale delle telecomunicazioni con Erlang. La maggior parte della roba di Erlang/Telecom è chiusa? Esistono progetti di telecomunicazione open source scritti da Erlang?

AGGIORNAMENTO: il commento di sipwiz mi fa pensare in termini di una domanda più ampia di "usi di Erlang". Come posso sfruttare una comprensione di alto livello delle reti di telecomunicazione e dell'ambiente normativo delle telecomunicazioni con la programmazione. Spero che questo non abbia virato troppo fuori tema per SO.

+2

Ho lavorato in Telecom per 6 anni e non ho mai visto una linea di Erlang, questo non vuol dire che non sia là fuori. Ho visto stack ISDN e SS7 open source scritti in stack C e SIP scritti in tutto. – sipwiz

+1

Come nota a margine, potresti voler dare un'occhiata a questa discussione su Erlang http://stackoverflow.com/questions/1063497/hidden-features-of-erlang –

+5

"presumibilmente per le sue prestazioni" - no, no, presumibilmente per il suo affidabilità in termini di errori e in termini di latenze, ovvero fino a nove nove affidabilità e morbide caratteristiche in tempo reale. –

risposta

10

Ho fatto software di telecomunicazioni per più di 20 anni. Mi dispiace di essere stato coinvolto solo nell'uso di Erlang negli ultimi 12 mesi. La maggior parte dello sviluppo delle telecomunicazioni avviene in C, C++, ecc.

IMHO, questo perché non lo sapevamo. Se vuoi massimizzare le tue opportunità di lavoro, Erlang non è la scelta migliore. Mi dispiace che questo sia vero. Vorrei dire a mio figlio di imparare Erlang e andare dove si trova il lavoro? Sì, lo farei.

Carl Wright Service Level Corporation

+0

Hy carl, ho bisogno di deloy EGSM con configurazione hardware P-GSM. Abbiamo BTS & BSC con supporto per 900/1800 MHZ. quindi richiederà modifiche hardware o solo un problema software? –

4

C'è una grande differenza tra lo sviluppo Web di alto livello e l'implementazione di un'applicazione di rete utilizzando un editor esadecimale e una specifica di protocollo incomprensibile, indipendentemente dalla lingua.

Se si desidera programmare le applicazioni di telecomunicazione, è necessario essere preparati per imparare molto più di una nuova lingua.

+0

Ho lo stesso dubbio di user94154. puoi per favore approfondire "devi essere preparato per imparare molto più di una nuova lingua"? – Hemant

+1

@Hemant, ecco una migliore analogia: OpenGL è scritto in C, ma conoscere C non ti rende un esperto di computer grafica. Imparare una lingua è un compito banale rispetto all'apprendimento di come applicarlo a un'applicazione specializzata. – mikerobi

0

Purtroppo no. Conosco un sacco di applicazioni di telco/voip a Erlang ma il business delle telecomunicazioni è notoriamente chiuso. È più probabile che ottieni il codice sorgente di Windows piuttosto che ottenere una telco per rilasciare il codice.

4

credo che tu stai confondendo Erlang, il linguaggio di programmazione, con Erlang, un'unità di misura, che è "utilizzato in tutto il settore delle telecomunicazioni", proprio perché è una chiave misura della prestazione. Dalla mia esperienza nel settore delle telecomunicazioni, puoi ottenere molto da fare solo con Perl.

+0

Generalmente, quali tipi di attività di programmazione ci sono in Telecom? – user94154

+0

Heh, non penso che lo sia! La lingua di Erlang nasce da Ericsson, dal nome di Agner Erlang. Il nome di Agner Erlang è stato utilizzato per misurare un singolo canale vocale. Questo non è correlato. Erlang è usato in situazioni di telco, ma C/C++ è probabilmente usato di più. – Swannie

4

Un progetto di telecomunicazioni open source in Erlang è YXA, un server SIP.

2

Ho lavorato con il software di telecomunicazioni per 2-3 anni. Direi che non c'è nulla di molto specifico in questo campo. La programmazione è abbastanza generica, implementa stack di protocollo (client e server), analizza i record dai formati di file, identifica i colli di bottiglia e migliora le prestazioni e il debug dei problemi nei siti dei clienti.

Quello che devi sapere come ingegnere software è un po 'la terminologia per le varie tecnologie dei sistemi di telecomunicazione (a loro piacciono molto gli acronimi). Ciò renderà più semplice la comprensione dei requisiti e di cosa stanno effettivamente parlando i clienti quando descrivono il loro ambiente. Il mio datore di lavoro mi ha mandato a un corso di un giorno per questo, quindi non mi preoccuperei troppo di ciò.

Ti consiglierei di diventare bravo in programmazione generica, lavorare con sistemi di grandi dimensioni, magari soffermarmi su come i database e i file system funzionano a un livello basso, nonché su come scrivere parser (a mano e usando i parser generatori, e non fare affidamento su espressioni regolari per tutto).

I sistemi online in genere richiedono le qualità "soft-realtime" di cui dispone Erlang, quindi è necessario comprendere i garbage collector e il modo in cui introducono gli arresti di gc e quale tuning può essere fatto a tale proposito. È anche abbastanza inestimabile conoscere gli strumenti che è possibile utilizzare per eseguire il debug di un sistema di produzione in esecuzione senza rischiare il degrado delle prestazioni.

1

Ericsson ha creato Erlang per i propri sistemi di telecomunicazione, che utilizzano molto per la segnalazione di implementazioni e applicazioni fault-tolerant. Al di fuori di Ericsson, pochissime aziende di telecomunicazioni lo usano. Tuttavia, dovrebbero, ha molti vantaggi come un linguaggio funzionale di alto livello con thread leggeri e un sistema di messaggistica integrato. È un buon linguaggio da esplorare, ma probabilmente non lo farai per conoscerlo.

0

Erlang prende il nome da ERiccson LANGuage, come è stato deciso a Ericcson a metà degli anni '80 per costruire un linguaggio che avesse "tutte le migliori caratteristiche" di linguaggi come Lisp, Prolog e Parlog per i loro switch di telecomunicazione. È un linguaggio più adatto alle telecomunicazioni, ai settori finanziario e ad altri settori basati sulle comunicazioni ad alta intensità di dati.