Visualizzazione dei risultati da 1 a 10 su 98

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Oh be' se parliamo di linguaggi inconsistenti c'è ben di peggio.
    E poi ci sono i linguaggi consistenti che sono peggio comunque, un quicksort in J tanto per:
    codice:
    (] (([: $: < # [) , (= # [) , [: $: > # [) {.)^:(# > 1:)
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  2. #2
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    E poi ci sono i linguaggi consistenti che sono peggio comunque, un quicksort in J tanto per:
    codice:
    (] (([: $: < # [) , (= # [) , [: $: > # [) {.)^:(# > 1:)
    E questa è la versione non offuscata?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    E questa è la versione non offuscata?
    Questa è una versione standard:
    Divide gli elementi in < del primo e chiama ricorsivamente, = al primo, > del primo e chiama ricorsivamente. Continua finché la lista è 1+ elementi.
    Nulla di speciale insomma.

    Le chiamate ricorsive sono le $:

    @signoredeltempo quel linguaggio è derivato da apl, il quale è ancora utilizzato e le uniche implementazioni degne di nota sono commerciali e costose.

    Quel linguaggio si comporta in modo sime a K/Q, un altro linguaggio commerciale piuttosto costoso (sostanzialmente un database).


    Non sottovalutare...

    In ogni caso una volta compresa la sintassi è piuttosto semplice da comprendere.

    # > 1: controlla se la lista è più lunga di 1 elemento
    ^: esegue ciò che precede se ciò che segue è vero, altrimenti restituisce l'argomento
    ] verb {. passa come argomenti ] l'argomento (ovvero la lista intera) {. il primo elemento della lista
    , concatena

    < # [ seleziona gli elementi minori del primo elemento
    [: $: chiama ricorsivamente la funzione
    = # [ seleziona gli elementi uguali al primo
    > # [ seleziona gli elementi maggiori del primo
    [: $: chiama ricorsivamente la funzione

    Basta farci un attimo l'abitudine.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  4. #4
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    quel linguaggio è derivato da apl, il quale è ancora utilizzato e le uniche implementazioni degne di nota sono commerciali e costose.
    Ribadisco quanto già richiamato qui nel vecchio thread. Da noi, come in numerose altre multinazionali, J e APL vengono regolarmente usati per dimostrazioni formali e verifiche, come parte integrante delle toolchains del processo di specifica e verifica formale dei software e dei sistemi per le applicazioni più critiche (vedi punto 3).

    Come ho spesso ricordato, J è in effetti uno dei miei linguaggi preferiti in assoluto, vista anche la mia formazione.

    D'altro canto, contrariamente a quanto troppi sembrano ritenere, lo stesso si applica a molti altri linguaggi, in particolare ad Ada: da poco rinormato, vivo e vegeto nell'ambiente dei sistemi critici e relativa contrattistica, con decine di nuovi progetti istituzionali ogni anno e un fiorente mercato di tools, interpreti bomb-proof e RTOS con runtime Ada certificato per gli usi più critici, alcuni dei quali sono noti perfino nel mainstream.

    Dato che quest'anno ricorre il bicentenario della nascita della Lovelace, mi pare doppiamente il caso di sottolinearlo, viste le troppe amenità che si leggono in giro sulla questione...
    Ultima modifica di M.A.W. 1968; 25-11-2015 a 10:11
    • Un plauso a Grisha Perelman, raro esempio di genuino anticonformismo umano e scientifico.

  5. #5
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    E poi ci sono i linguaggi consistenti che sono peggio comunque, un quicksort in J tanto per:
    codice:
    (] (([: $: < # [) , (= # [) , [: $: > # [) {.)^:(# > 1:)
    Però parliamo di un linguaggio virtualmente inutilizzato, non di uno ampiamente adottato e, per di più, ostenato come "semplice". Alcune cose sono più semplici (e consistenti) in asm, per esagerare.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.