Il linguaggio di programmazione aumenta / diminuisce il valore? [chiuso]

1

Supponiamo che tu sviluppi un programma software per Windows in C #, quindi Joe Blow sviluppa lo stesso software per Windows ma invece lo codifica usando C ++.

Se Joe Blow vendesse quel software, cosa determinerebbe chi otterrebbe più denaro per questo dato le diverse lingue?

Supponendo che entrambi usassero lo stesso sistema di licenze e l'unica differenza tra i programmi era il codice sorgente.

    
posta ub3rst4r 10.08.2013 - 07:04
fonte

3 risposte

21

Ci sono due cose a cui gli utenti ordinari si preoccupano:

  • Esperienza utente ¹,
  • Caratteristiche ².

A loro non importa:

  • La lingua utilizzata da un'app,
  • Se utilizza schemi di progettazione o no,
  • Indica se il codice è leggibile,
  • ecc.

Ma ...

... ma un linguaggio di programmazione può avere un effetto minore sull'esperienza utente. Un'applicazione che utilizza Java richiederà l'installazione di Java sulla macchina. Questo non è sempre un compito facile per gli utenti senza background tecnico. Lo stesso vale per C # se utilizza versioni più recenti di .NET Framework sulle versioni di Windows che hanno versioni precedenti.

... ma alcuni utenti, come ad esempio:

  • Geeks ,
  • Sviluppatori che desiderano creare prodotti software interoperabili con la tua app³,
  • Amministratori di sistema che devono distribuire l'app nel più breve tempo possibile, in modo automatico, su migliaia di computer,

saranno tutti interessati dalla tecnologia che utilizzi, e la scelta di una lingua diventerà una funzione .

Esempi

  • OkCupid, un sito di incontri, usa C ++. Dato che si tratta di un sito Web, non importa quale lingua venga utilizzata per gli utenti finali. Sarebbe stato Ruby on Rails o JSP, nessuno vedrebbe la differenza, non appena l'esperienza utente e le funzionalità rimarranno le stesse.

  • Il compilatore di Google Closure richiede l'installazione di Java e Python. Ciò influisce sull'esperienza utente per una persona come me che vorrebbe installare il compilatore Google Closure su un server e quindi creare un servizio per usarlo da altri computer sulla rete locale, dato che l'installazione di componenti come Java sul server è fuori questione nel mio caso.

Nota a margine: perché ci preoccupiamo delle lingue?

Se le lingue non contano dal punto di vista dell'utente, la scelta di una lingua è ancora importante. Scegliere la lingua giusta in un dato contesto e le competenze fornite dalla tua squadra significa avere meno bug, essere in grado di correggere i bug più velocemente, migliorare la creatività, usare un mucchio di strumenti per migliorare la qualità dell'applicazione, ecc.

Una delle sfide di un project manager è scegliere gli strumenti e le lingue giusti per garantire che il prodotto possa essere consegnato nei tempi previsti entro un determinato budget.

¹ Le prestazioni non sono menzionate nell'elenco, poiché è già all'interno dell'esperienza utente. Un'applicazione che risponde abbastanza velocemente fornisce una buona esperienza utente. Un'applicazione che ritiene lenta e non risponde fornisce un'esperienza utente negativa. La scelta di un linguaggio ha un impatto minimo o nullo sul rendimento percepito . Qualsiasi buon interaction designer direbbe che ci sono molti modi per migliorare le prestazioni percepite senza fare il profiling e l'ottimizzazione del codice.

² Dato che l'esperienza dell'utente conta molto più delle funzionalità, dal momento che non vi è alcun vantaggio dal mettere centinaia di funzionalità se nessun utente ordinario può usarle o addirittura trovarle. Ciò spiega anche la tendenza attuale a concentrare eccessivamente gli sforzi sull'esperienza utente, riducendo al contempo il numero di funzionalità originariamente proiettate.

³ A meno che non si tratti di un'app Web o un'applicazione che fornisce un'API che può essere utilizzata da quasi tutte le lingue.

    
risposta data 10.08.2013 - 07:20
fonte
1

A parità di condizioni, la lingua utilizzata per scrivere il programma non dovrebbe influire sul valore o sul prezzo di vendita.

Le probabilità che tutti gli altri siano uguali, tuttavia, sono quasi inesistenti, quindi la domanda è quasi completamente teorica e la risposta quasi completamente priva di significato. In realtà, la scelta della lingua influisce su cose come disponibilità di librerie, documentazione, tutorial, ecc.

Ad esempio, considera solo un piccolo aspetto dello sviluppo. È molto più probabile che un team che scrive una GUI in Java enfatizzi aspetti e caratteristiche simili su tutte le piattaforme: è possibile passare da Windows a MacOS a Linux e non notare la differenza. Un programma simile scritto usando C ++ e Qt mostrerebbe differenze molto maggiori nell'aspetto / tatto tra una piattaforma e l'altra.

Ora, è certamente possibile utilizzare Qt da lingue diverse dal C ++, in modo che quel punto particolare non influenzi mai la coppia di lingue che potresti confrontare. Tuttavia, la coppia di lingue che scegli di confrontare avrà effetto solo sulle differenze che vedi, non sul fatto che ci saranno differenze.

    
risposta data 10.08.2013 - 09:40
fonte
1

Dubito che faccia alcuna differenza in ogni caso.

Se il programma è un'applicazione autonoma indirizzata agli utenti finali, in un modo o nell'altro non si preoccuperà della lingua in cui è codificata. Non è pertinente per loro ... a condizione che l'applicazione faccia cosa dovrebbe fare, in modo affidabile, abbastanza rapidamente, eccetera. Il prezzo che sono disposti a pagare dipende dall'utilità dell'applicazione e dal settore di mercato in cui viene venduto. La lingua di implementazione non è una considerazione.

Se il programma è progettato per essere esteso, adattato o incorporato dal cliente, il linguaggio di programmazione potrebbe essere significativo. La scelta della lingua potrebbe influenzare la vendibilità e le dimensioni del mercato di riferimento, ma non vedo perché inciderebbe sul prezzo.

@MainMa afferma che la vendita ai geek è diversa. Sono d'accordo sul fatto che le persone tecnologicamente consapevoli hanno maggiori probabilità di preoccuparsi della tecnologia di implementazione rispetto al cliente medio. Tuttavia, penso che la scelta della lingua più probabilmente influenzi la decisione del geek di comprare o non acquistare piuttosto che la quantità di denaro che sono disposti a pagare.

    
risposta data 10.08.2013 - 07:24
fonte

Leggi altre domande sui tag