Cos'è una lingua "potente"?


22

Ho visto spesso persone litigare per il fatto che la loro lingua preferita è più "potente" di altre. Quando si tratta di descrivere un linguaggio di programmazione, posso capire cos'è un linguaggio orientato agli oggetti o cos'è un linguaggio dinamico, ma non riesco ancora a capire cosa sia esattamente un linguaggio "potente". Quali sono i tuoi pensieri?


5
Una lingua è potente quanto il suo utente.
ysolik,

6
@ysolik non è necessariamente vero. potrei dare a qualcuno un linguaggio scadente e vedere fino a che punto arrivano. ha un op, NOOP! =)
Mark Canlas,

2
@Mark se stiamo parlando di estremi, allora hai ragione. Tuttavia, se si considerano le lingue di oggi più o meno utilizzate, l'utente ne è una parte importante.
ysolik,

1
PowerBASIC: non può essere più potente di così. ^^
gablin,

1
@ysolik: sarebbe più preciso dire "una lingua non può essere più potente del suo utente".
Duncan Bayne,

Risposte:


32

Non possiamo definire cosa sia un linguaggio "potente" senza prima definire la parola "potente".

La definizione letterale di potenza sarebbe "potenza", e penso che tutti possiamo essere d'accordo sul fatto che la stragrande maggioranza dei compilatori - e anche molti interpreti che non sono completi di Turing - fanno un altrettanto buon lavoro nel far eseguire al processore l'esecuzione delle loro istruzioni . Per quanto riguarda la definizione letterale, la risposta alla domanda sarebbe "quasi tutte le lingue".

In pratica, dovremmo davvero fermarci qui; definire un "linguaggio potente" è un po 'come definire una "brava persona" o un "prodotto di qualità". Non c'è assolutamente alcuna definizione obiettiva di queste parole su cui si possa far concordare tutti, o anche la maggioranza degli esperti, e la maggior parte delle definizioni finisce semplicemente per chiedere la domanda . A seconda di chi parli, il potere potrebbe essere uno dei seguenti:

  • Un ricco framework o libreria per scopi generici per l'esecuzione di un'ampia varietà di attività comuni
  • Una sintassi sofisticata specifica del dominio che "fa una cosa e la fa bene"
  • Accesso diretto alle funzioni della macchina, ovvero la possibilità di scrivere codice di basso livello
  • Estrarre concetti a livello di macchina, ovvero la capacità di scrivere codice di alto livello
  • Un sistema di tipo molto ricco che consente strategie avanzate come riflessione, DI e analisi statica
  • Un sistema di tipo molto libero che consente ai programmatori di farlo (tipo coercizione, ecc.)
  • La capacità di trattare tutto come un oggetto , che offre una verifica concettuale
  • La capacità di trattare tutto come una funzione , che offre una verifica matematica
  • Gestione automatica della memoria e delle risorse (GC, RAII) che porta a un minor numero di bug
  • Memoria manuale e gestione delle risorse, potenzialmente portando a prestazioni ottimizzate
  • Una quantità minima di rumore sintattico , che porta a una migliore leggibilità
  • Una sintassi più simile all'inglese , che offre una curva di apprendimento più superficiale
  • La capacità di scrivere codice molto conciso (ad esempio operatore ternario, coalescenza nulla, estensione null)
  • L' incapacità di scrivere codice potenzialmente confuso (cioè nessun operatore ternario, ecc.)

Tutti vedono cosa sta succedendo qui? Praticamente ogni caratteristica del punto elenco può essere interpretata come un segno di "potere", e così può fare l'esatto contrario!

Qualcuno, da qualche parte, ovviamente pensava che le variabili variabili fossero un'idea fantastica che avrebbe reso il linguaggio molto potente . Non giudicherò; Non sono un ragazzo di PHP.

Propongo che invece di tutte queste assurdità della guerra santa, usiamo tutti questa definizione davvero semplice:

La lingua più potente è quella che ti consente di spedire il prodotto di alta qualità al minor costo nel minor tempo possibile.

Vago? Betcha. Ecco perché chiunque voglia definirsi un professionista deve comprendere sia i concetti di programmazione sia il dominio del progetto. Questo è l'unico modo in cui sarai in grado di decidere cosa è "potente" per te.

Altrimenti, potresti semplicemente portare un coltello davvero grosso in uno scontro a fuoco.


1
+1 Questa è l'unica definizione che cerca di includere tutte le varie nozioni di potere del linguaggio. Mi piace soprattutto come mostri che funzionalità in conflitto possono essere entrambe considerate potenti. L'informatica è la scienza dei compromessi, anche nella scelta della lingua.
CodexArcanum,

11

Forse sono di parte perché sono un programmatore di sistema. Penserei che un linguaggio di programmazione usato per tutti i kernel, sistema, server e programmazione applicativa, o che supporti molteplici paradigmi di programmazione, o entrambi possano essere definiti "potenti".

C, C ++, D sono potenti, ma ovviamente questa è solo la mia modesta opinione.


Utilizzeresti Java per la programmazione a livello di kernel o ti sto fraintendendo?
Davy8,

@ Davy8, hai ragione, per mia stessa definizione, non avrei dovuto includere Java.
grokus,

5

Ci sono alcune definizioni di potere oltre la completezza di Turing. Mark ha citato ciò che tendo a pensare come "la definizione di Paul Graham". È una definizione abbastanza buona, con un grave difetto: è sbagliata. È teoricamente un'ottima definizione del potere del linguaggio, ma sai cosa dicono della differenza tra teoria e pratica ...

Se tutti fossero in grado di scrivere codice perfetto, non solo perfettamente privo di bug ma anche perfettamente a prova di futuro, in modo coerente, la definizione di Paul Graham sarebbe corretta. Ma ovviamente non è così. Nel mondo reale, la maggior parte del tempo e degli sforzi nell'ingegneria del software non sono occupati dalla creazione iniziale del prodotto, ma dalla manutenzione successiva. A seconda delle statistiche che ascolti (e probabilmente varia un po 'da un progetto all'altro), la manutenzione può rappresentare ovunque dal 60% al 90% dello sforzo totale che va in un programma.

La manutenzione viene spesso eseguita da persone diverse dalla persona che ha scritto il codice inizialmente e spesso mesi o addirittura anni dopo la scrittura iniziale del codice, il che significa che anche per il programmatore originale potrebbe essere anche "codice di altre persone" punto. Se vuoi essere produttivo durante la manutenzione, devi essere in grado di accertare rapidamente l'intento originale del codice leggendolo.

Pertanto, un linguaggio più potente è quello che semplifica la lettura rapida del codice , non quello che facilita la scrittura rapida del codice . Vi è una buona dose di sovrapposizione tra i due, ma i concetti sono spesso anche a scopi incrociati, poiché la sintassi concisa spesso omette i dettagli che un compilatore / interprete è in grado di dedurre molto più facilmente di un programmatore di manutenzione.

EDIT: c'è un altro punto importante nel descrivere il potere di una lingua: la gamma di concetti che sei in grado di esprimere e la facilità con cui puoi colpirne entrambe le estremità. A Paul Graham piace valutare questo in base al livello di astrazione che puoi raggiungere, ma questa è solo la metà. Qualsiasi linguaggio che imponga un limite inferiore di astrazione, al di sotto del quale non puoi andare quando necessario, è paralizzato perché i dettagli che vengono sottratti sono lì per una ragione. Questa è la differenza tra un linguaggio giocattolo di facile lettura come COBOL e un linguaggio potente facilmente leggibile: COBOL non ha puntatori e non ha accesso all'assemblaggio in linea, dove puoi esprimere qualsiasi calcolo, anche quelli a cui COBOL non è adatto.

Anche COBOL non è particolarmente bravo a colpire la fascia alta dello spettro di astrazione. Secondo Wikipedia non ha "nessun tipo definito dall'utente e nessuna funzione definita dall'utente", il che rende molto difficile la creazione di algoritmi e strutture di dati.


1
Il problema che ho con questo è che sembra indicare COBOL come un linguaggio molto potente.
David Thornley,

2
Presumo che non conosci Lisp? :)
dash-tom-bang

1
@Matt: Questa è la cosa. A cosa serve un linguaggio è limitato da ciò che può essere usato per un linguaggio , e c'è molto meno che tu possa fare con Python che con un linguaggio che non toglie i dettagli relativi alla memoria.
Mason Wheeler,

3
-1 A causa della nozione implicita che un codice più breve e più espressivo sia in qualche modo più difficile da mantenere. Hai preso entrambi i significati comuni del potere del linguaggio (espressività vs apertura) e li hai riuniti in un concetto che solo metà esprime una delle due idee originali.
CodexArcanum,

1
@ Jörg W Mittag: hai ragione, ma penso che la frase che ho citato si riferisca al controllo diretto delle risorse hardware (es. Memoria): C ++ ti dà più controllo. Naturalmente, se si implementa una macchina virtuale, si ha il pieno controllo, ma penso che Mason Wheeler si riferisca al controllo della macchina reale.
Giorgio,

4

Questo è stato discusso ripetutamente a lungo (ad es. Su comp.lang.lisp, più volte). Non penso che qualcuno abbia mai trovato una risposta "giusta", ma molte persone hanno escogitato risposte che ovviamente mi sembrano sbagliate.

Nelle risposte che vedo qui, lasciami scegliere la risposta di Mason Wheeler. Da un lato, le questioni che affronta sono importanti, ma dall'altro, non riesco proprio a immaginare di chiamarle affatto legate al "potere". È un po 'come se stesse dicendo che il suo minivan Honda è più potente di un dragster a benzina, perché è più sicuro, più silenzioso, ha una migliore maneggevolezza, più spazio per i passeggeri e una guida molto più confortevole. Tutto questo è assolutamente vero, ed è tutto importante. Questi fattori (tra molti altri) rendono il minivan molto più pratico e ragionevole per la maggior parte delle persone, ma non cambiano il fatto che il motore del minivan produce solo circa 250 HP mentre il dragster produce da qualche parte circa 8000 HP.

Il problema, ovviamente, è che con i veicoli esiste una definizione ben definita di ciò che costituisce "potenza" e cosa no. Con i linguaggi di programmazione, mi sembra che la discussione finisca per essere equivalente al trattamento di maneggevolezza, comfort, velocità, capacità di carico e autonomia di crociera come parti del "potere". Il risultato tende ad essere fili che corrono all'infinito, generando molto più calore della luce. La maggior parte delle domande che sorgono fondamentalmente si riduce al grado di importanza che attribuisci a caratteristiche completamente non correlate e ortogonali - ad esempio, è la capacità di programmare la MMU in linguaggio assembly più o meno "potente" della capacità di creare funzioni di livello superiore a Haskell? Almeno IMO, non esiste un modo significativo per confrontare i due e nessuna risposta significativa a quale sia "

In quanto tale, per quanto odio devo dire che in questo caso, l'unica risposta significativa è fondamentalmente quella relativistica - un linguaggio potente che trovi ti aiuta a realizzare ciò che vuoi. Le differenze negli obiettivi delle persone rendono al meglio la maggior parte delle misurazioni "assolute" del potere.


3

Il giusto equilibrio tra brevità e flessibilità.

Ottima domanda Dato che molte lingue sono "Turing complete", possiamo metterle tutte su basi uguali per quanto riguarda teoricamente le loro capacità. Ma non lo facciamo perché le lingue ovviamente differiscono l'una dall'altra. E qual è la differenza?

La differenza è la capacità di dire molte cose diverse con pochissimo . Se potessimo saltare agli estremi, potrei creare una lingua che sia la lingua migliore per inizializzare automaticamente un sistema di gestione dei contenuti usando solo un carattere, "c". Ma quale sarebbe il punto di ciò? Certo, è potente nel senso di essere molto breve, ma non è flessibile. Quello che vuoi è una lingua che ti permetta di dire molte cose complesse diverse senza essere troppo prolisso. Senza essere come assemblea, capace di tutto sotto il sole, infinitamente flessibile ma estremamente prolisso.

Una lingua potente è una lingua che ti permette di dire molte cose diverse con il minor numero di lunghezze possibili.


1
-1. Mi dispiace, ma non è solo un'idea sbagliata, ma pericolosa, poiché può ostacolare gravemente la produttività più in là.
Mason Wheeler,

@Mason Wheeler: Potresti elaborare?
Joey Adams,

@Joey: vedi la mia risposta a questa domanda.
Mason Wheeler,

1

Una volta che hai completato Turing (ed è facile per una lingua farlo), "potere" non significa molto, nel senso che tutto ciò che puoi dire in una lingua completa di Turing puoi dirlo in un'altra. La risposta di Mark Canlas lo inchioda: la brevità e la flessibilità fanno la differenza.

Detto questo, l'articolo di Matthias Felleisen sul potere espressivo dei linguaggi di programmazione rende interessante la lettura. In esso tenta di formalizzare la nozione di espressività nelle lingue.


A proposito, questo non è in realtà vero. Ho visto lingue complete di Turing ma meno potenti di altre lingue. Un semplice esempio: considera un linguaggio che ha solo numeri interi e stringhe come tipi di dati, nessun modo di convertirli tra loro, calcolo arbitrario su numeri interi e solo concatenazione di stringhe e confronto su stringhe. (Ho lavorato con un linguaggio del genere.) È Turing completo, ma non può esprimere funzioni arbitrarie sulle stringhe, quindi l'aggiunta di più funzionalità aumenterà il suo potere computazionale.
reinierpost,

@reinerpost - ha detto che il linguaggio completo di Turing può ancora calcolare funzioni arbitrarie sulle stringhe, deve solo rappresentarle in un modo diverso. La completezza di Turing è praticamente ortogonale alla domanda su quali tipi di dati siano disponibili. Ad esempio, alcuni linguaggi completi turing non hanno tipi di dati e rappresentano semplicemente tutto con funzioni e devono ricorrere a cose come la codifica della chiesa per l'aritmetica.
Mikera,

1

Sembra esserci molto disaccordo su ciò che costituisce il potere linguistico. È terseness, leggibilità, adattabilità o semplice completezza di Turing? Penso che tutti questi fattori entrino in gioco, quindi forse il modo migliore per osservarlo è in termini di punti stat. Sì, sto parlando di giochi di ruolo con carta e penna, qui.

L'idea è che ogni lingua abbia (approssimativamente) lo stesso numero di "punti", che possono essere distribuiti arbitrariamente in un numero di categorie. Ai fini della discussione, diciamo che gli unici fattori sono la brevità, la leggibilità e la flessibilità. Una lingua quindi potrebbe essere estremamente concisa e flessibile, ma di conseguenza molto difficile da leggere; o molto leggibile e flessibile, ma estremamente dettagliato.

(Probabilmente, il numero di punti che un linguaggio deve distribuire è definito dall'abilità del progettista e dell'attore, ma facciamo finta che tutti i progettisti del linguaggio siano ugualmente bravi in ​​quello che fanno.)

Quando un designer di lingue decide di aumentare la forza di una lingua in una categoria, logicamente toglie una frazione di quella forza potenziale da ogni altra categoria. Questo è il motivo per cui si dice così spesso che la progettazione del linguaggio di programmazione si basa su compromessi. Da questo punto di vista, il potere complessivo di una lingua non è ancora definibile e dobbiamo tornare al metodo provato e vero di classificare le lingue in base ai loro punti di forza relativi. Non soddisfacente? Peccato.

Puoi argomentare in due modi: che un linguaggio potente è uno con una distribuzione relativamente uniforme dei punti (jack di tutti i mestieri, padrone di nessuno) o con il maggior numero di punti possibile in un'area senza lasciare gli altri incustoditi (specialista). Non esiste un linguaggio da "uomo del Rinascimento", con perfetta padronanza in numerosi campi. E se questa è la tua definizione del linguaggio più potente possibile, allora sei semplicemente sfortunato.

Per ulteriori letture, questo articolo (per coincidenza anche di Paul Graham, che sembra avere opinioni contrastanti) tocca l'idea che, sebbene possa essere difficile determinare come , i linguaggi di programmazione variano effettivamente in termini di potenza. Sostiene piuttosto persuasivamente che è molto facile vedere come una lingua sia meno potente della tua preferita - manca la funzione X - ma è molto difficile vedere come sia effettivamente una lingua veramente più potente - è sostanzialmente equivalente alla lingua X, ma con un mucchio di altre cose gettate dentro. Vi lascio con una citazione da quel giornale:

Per induzione, gli unici programmatori in grado di vedere tutte le differenze di potere tra le varie lingue sono quelli che comprendono il più potente. (Questo è probabilmente ciò che Eric Raymond intendeva sul fatto che Lisp ti rendesse un programmatore migliore.) Non puoi fidarti delle opinioni degli altri, a causa del paradosso di Blub: sono soddisfatti di qualunque linguaggio si capisca, perché detta il come pensano ai programmi.

Non sono d'accordo con il tuo modello sul fatto che tutte le lingue hanno necessariamente un uguale numero di punti nella loro distribuzione. Facciamo l'esempio estremo di brainf * ck e possiamo facilmente dire che non è paragonabile a nessun linguaggio moderno, anche se solo per il numero totale di punti. cioè non è un gioco a somma zero nel linguaggio di programmazione - il linguaggio non inizia con punti x e li distribuisce, iniziano con 0 e ottengono punti in base alle caratteristiche. Che ci sia qualche compromesso da prendere è ovviamente naturale, ma tutte le scelte non sono uguali (almeno la mia opinione).
n1ckp,

Non ho detto che tutte le lingue hanno necessariamente lo stesso numero di punti. Ho detto che tutte le lingue in esame (ovvero le lingue progettate per un uso reale) hanno all'incirca lo stesso numero. Le lingue esoteriche sono un caso patologico perché non sono progettate per essere utili in primo luogo. Stavo semplificando per motivi di discussione, dal momento che non è utile cercare di differenziare le lingue in base al semplice "numero di funzionalità", se in effetti le funzionalità sono numerabili.
Jon Purdy,

scusa rileggo il tuo post e sono d'accordo che leggo un po 'troppo in fretta .. ma non sono ancora d'accordo sul fatto che ogni lingua (tradizionale) abbia più o meno gli stessi punti. Prendiamo Java e c ++ perché sono un linguaggio che conosco abbastanza bene. Sono abbastanza sicuro di poter affermare che c ++ è più potente di Java solo perché c ++ off praticamente tutto ciò che Java fa (tranne gc - ma poi java non offre nemmeno la gestione manuale della memoria) PIÙ di più (modelli reali FTW). Che cosa un po 'il punto che volevo sottolineare, penso: no, non tutti i linguaggi sono all'incirca uguali nella programmazione di terre fatate, anche
n1ckp

quando si confrontano solo le lingue tradizionali.
n1ckp,

0

I linguaggi di programmazione sono strumenti: niente di più, niente di meno. Alcuni strumenti sono estremamente specializzati e adatti a scopi particolari; altri sono generalizzati e semplificati al punto da diventare quasi inutili.

Direi che il linguaggio più "potente" è quello che ti consente di raggiungere i tuoi obiettivi con un investimento minimo di tempo, energia e altre risorse; cioè, la lingua che fornisce il ROI più elevato. In alcune situazioni potrebbe essere C; in altri, Java; in altri ancora, Haskell.

La cosa migliore da fare sarebbe familiarizzare con un'ampia varietà di lingue e per cosa sono utili. Quindi, quando arriva il momento di iniziare un nuovo progetto, è possibile prendere una decisione informata su quale sarebbe il più appropriato.


-1

Le discussioni sui linguaggi di programmazione sono - IMHO - come discussioni sui client di posta in alcuni newsgroup di Linux: tendono ad essere una guerra di fiamma. Ricordo i tempi in cui VB6 era popolare. Alcuni sostenevano addirittura che non fosse affatto un linguaggio di programmazione, mentre altri creavano meravigliose applicazioni con esso.

Penso che i linguaggi di programmazione differiscano già nel concetto in quanto i creatori avevano in mente cose diverse quando hanno creato / progettato il linguaggio. Quindi un linguaggio adatto a uno scopo - e in quella circostanza è potente - potrebbe non adattarsi a un altro. Dare un nome al linguaggio potente o no è quindi puramente soggettivo. Detto questo, non credo che ci sia una metrica che può essere applicata.


+1 per contrastare il downvote inspiegabile e perché generalmente sono d'accordo. Utilizzare una lingua per l'attività per cui è stata progettata. Non scrivere GUI complesse in C, non scrivere algoritmi o sistemi operativi complessi in VB6
Gerry

-1

Sono tutti strumenti nella tua cassetta degli attrezzi. Un martello può essere potente, ma non se hai bisogno di una chiave inglese. C / C ++ è l'ideale se sei un programmatore di sistemi, ma Adobe Flash è probabilmente la soluzione migliore per il sito Web di gioco che desideri creare.


-1

Il linguaggio di programmazione più potente è quello che risolve il seguente problema di programmazione lineare :

aumentare al massimo

      Rapidità di sviluppo
    + Facilità di lettura del codice
    + Facilità di debug
    + Successo / brevità di espressione
    + Facilità di apprendimento / insegnamento
    - Utilizzo della CPU
    - Requisiti di memoria

Soggetto a

  • Deve essere Turing completo.
  • Deve essere multi-paradigmatico : funzionale, orientato agli oggetti, programmazione logica, programmazione vincolata, concorrenza, calcolo distribuito, ecc.
  • Deve essere versatile , consentendo la creazione di interfacce da riga di comando, librerie di componenti, server, GUI e applicazioni Web.
  • Deve essere portatile , vale a dire, facile da trasportare e mantenere in un ambiente multipiattaforma.
  • Deve essere adattabile , cioè aperto al cambiamento e in grado di evolversi quando si verificano nuovi hardware (chip quantici), nuovi paradigmi e altre innovazioni nella tecnologia.
  • Deve incoraggiare lo sviluppo di biblioteche (come CPAN, CTAN e CRAN).
  • Deve essere gratuito e open source .

(E sì, lo so, ho già pubblicato una risposta completamente contraddittoria. Questo perché sono un dialettico.)


-2

Questo è stato scritto per quanto riguarda i linguaggi naturali, ma penso che sia appropriato anche per i linguaggi di programmazione:

La convinzione che alcune lingue siano intrinsecamente superiori ad altre è diffusa, ma non ha basi in fatto linguistico. Alcune lingue sono ovviamente più utili o prestigiose di altre, in un particolare periodo storico, ma ciò è dovuto alla preminenza dei parlanti in quel momento e non a caratteristiche linguistiche intrinseche.
--David Crystal (a cura di). The Cambridge Encyclopedia of Language 2 / e (1997). p.7

Il "potere" semplicemente non è attribuibile a una lingua rispetto a un'altra. Sarebbe sciocco dire "il cinese è una lingua più potente del coreano". Allo stesso modo, è sciocco dire "APL è un linguaggio più potente di COBOL".

Ci sono stati diversi tentativi di equiparare il potere linguistico con qualche misura oggettiva. Credo che questi tentativi falliscano:

  • Potrebbe essere più facile trovare lavoro negli Stati Uniti se parli inglese americano piuttosto che dire Maori. Allo stesso modo, è senza dubbio più facile ottenere un lavoro programmando Java o C, piuttosto che LISP o J. Ma questo vantaggio economico non riflette certamente una sorta di potere innato del linguaggio. Riguarda il potere dei parlanti della lingua.
  • "Ciao" non è meglio di "ni hao" o "shalom" perché è più corto. Allo stesso modo, mentre una funzione può essere espressa in modo più succinto in APL rispetto a COBOL, anche questo non riflette un qualche tipo di potere innato della lingua.

La mia opinione è che le discussioni sul "potere di una lingua sull'altra" siano espressioni velate dei sentimenti di superiorità di chi parla su un altro gruppo. In breve, il suo pregiudizio e gli stereotipi. Certo, le persone che sono veramente prevenute credono davvero molto nei loro stereotipi, ed è improbabile che tu possa convincerli a cambiare idea.


Non sono d'accordo. Per un semplice esempio, penso che nessuno direbbe altro che dire che esiste un linguaggio più potente di brainf * ck (diciamo) anche se teoricamente sta diventando completo (penso). Il punto è che "potente" è una certa qualità che non ha nulla a che fare con il fatto che sono tutti "completi". Concordo sul fatto che può essere in qualche modo soggettivo, ma dire che tutte le lingue sono uguali in termini di "potenza" sembra piuttosto inverosimile.
n1ckp,

1
@ n1ck: stai dicendo Potenza = Leggibilità? E :. La mancanza di leggibilità di BF implica la sua mancanza di potere? Anche APL e J hanno una leggibilità molto bassa, ma sono estremamente utili e concisi (anche se non sto certamente equiparando l'utilità o la sintonia con il potere). Andando nella direzione opposta, COBOL è molto leggibile; è decisamente verboso; ma ancora una volta, questo non lo rende più potente di APL o BF. BF è molto divertente; ha il potere di divertire; ma questo non è Power qua Power. Il problema è che nessuno sembra avere una buona teoria del potere dietro la quale possono ottenere un consenso.
AN Altro

1
No, non intendevo quel potere = leggibilità. Sono solo in disaccordo sul tuo punto di vista sul fatto che tutte le lingue sono uguali e che non possiamo confrontare la lingua sulla "potenza", comunque tu la definisca. A mio avviso, è necessaria una base di leggibilità per dare qualsiasi potere alla lingua, ma non è proprio la domanda. Se vogliamo veramente rispondere alla domanda, dovremmo ovviamente definire prima la potenza ma a mio avviso non è la stessa cosa di "migliore in ogni situazione", la cui risposta sembra suggerirmi che l'hai interpretata in quel modo (cioè niente di meglio lingua per tutto, che sono d'accordo).
n1ckp,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.