Scegliere la lingua giusta per il lavoro

2

Attualmente sto lavorando per una società nel team di ingegneri di circa 5-6 persone e mi è stato dato il compito di dirigere la riprogettazione di un tester di sistemi embedded. Abbiamo deciso i requisiti generali e gli attributi che sarebbero desiderabili nel sistema, e ora devo decidere una lingua da utilizzare per il sistema, o per lo meno presentare un elenco di lingue con vantaggi e svantaggi da presentare alla squadra.

L'idea generale del progetto è che attualmente abbiamo un tester scritto in c ++, che non è mai stato progettato per essere un tester, ma invece si è evoluto per essere tale nel corso di 3-4 anni a causa delle necessità. Scrivere test per un nuovo prodotto richiede la modifica del "framework" e del codice di scrittura che è completamente non leggibile o intuitivo a causa del modo in cui il sistema è stato originariamente progettato. Ora, abbiamo deciso che il tempo per modificare questo tester per ogni nuovo prodotto che vogliamo testare è diventato troppo alto e vogliamo riscrivere parzialmente il sistema in modo da poter programmare i test effettivi in un linguaggio di scripting che poi utilizzare il framework c ++ modificato sul back-end per testare i sistemi attuali. Il framework c ++ sarebbe responsabile di svolgere tutto il lavoro effettivo e il linguaggio di scripting si integrerebbe semplicemente con quello per dire al framework cosa fare.

Non avendo mai programmato un linguaggio di scripting (programmiamo sistemi embedded), ho imbattuto in un muro dove non ho esperienza con nessuna delle lingue che potremmo usare, ma devo in qualche modo dare pro e contro di ogni lingua in modo che possiamo scegliere il migliore per il lavoro.

Attualmente la mia breve lista di possibilità include:

  • Python
  • TCL
  • Lua
  • Perl

La mia domanda è questa: Come può una persona valutare una lingua che non ha mai usato prima? Quali criteri sono buoni indicatori per l'usabilità potenziale di una lingua in un progetto?

Sebbene siano graditi suggerimenti utili per il mio caso particolare, ritengo che questa sia una buona abilità da possedere e vorrei poterla applicare a molti progetti diversi, se possibile

    
posta Ampt 13.06.2013 - 21:09
fonte

3 risposte

3
  1. Usalo. Prendi un tutorial, provalo. Questo ti darà un'idea di come usare la lingua e di quale tipo di community ha.

  2. Conteggio delle domande di overflow dello stack: questa è un'indicazione approssimativa sull'uso generale e sulla probabilità di trovare una risposta alla tua domanda

  3. Conteggio di librerie / pacchetti Open Source: questa è un'indicazione approssimativa sull'uso generale e sulla probabilità di trovare una soluzione preesistente

  4. Cerca soluzioni preesistenti ai problemi che sai di avere; controllali più in dettaglio. Questo ti darà un'idea del tipo di codice e documentazione che la community fornisce per il tuo dominio problematico e di quanto sia attiva tale comunità in quel dominio.

Quindi, direi, cerca le filosofie che la comunità sostiene; Python's 10 Principles vs Godimento di Ruby per il programmatore - ma a quel punto stai diventando / veramente / soggettivo.

Oh! Inoltre, scopri dove tu, la tua squadra, il tuo problema e le tue possibili lingue cadono sullo "spettro" di programmazione "conservatore vs liberale". È un asse davvero utile per il confronto.

    
risposta data 13.06.2013 - 21:35
fonte
0

Non sono sicuro che tu abbia il budget per questo, ma puoi assumere persone in grado di valutare prodotti / tecnologie per te. Gli architetti della soluzione, in genere, forniscono una buona consulenza supportata dai dati.

Ma se non hai il budget per questo o sei l'architetto della soluzione, è meglio che tu impari sulle lingue che stai valutando. Ci sono forum che sosterranno varie lingue, ma la cosa migliore sarebbe provare alcuni tutorial e farne un'idea. Potresti anche prendere in considerazione aspetti relativi alla post produzione (installazione, manutenzione, aggiornamento della versione ecc.)

    
risposta data 25.06.2013 - 09:36
fonte
-1

Certamente la popolarità di un linguaggio di programmazione è un fattore da considerare. TIOBE offre un utile indice di popolarità della lingua, compresi i grafici che mostrano i cambiamenti nel tempo.

TIOBE sottolinea che le valutazioni dell'indice si basano sul numero di ingegneri qualificati in tutto il mondo, sui corsi e sui fornitori di terze parti. Vengono utilizzati motori di ricerca popolari come Google, Bing, Yahoo !, Wikipedia, Amazon, YouTube e Baidu per calcolare le valutazioni È importante notare che l'indice TIOBE non riguarda il miglior linguaggio di programmazione o la lingua in cui sono state scritte la maggior parte delle righe di codice. "

    
risposta data 18.06.2014 - 17:04
fonte