Autore Topic: dead  (Letto 6096 volte)

Offline legacy

  • ASM Lover
  • *****
  • Post: 353
  • Karma: +14/-2
    • Mostra profilo
dead
« il: 22 ſettembre 2013, 15:01:25 »
dead
« Ultima modifica: 18 Gennaio 2020, 00:30:34 da legacy »

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:nimrod language
« Risposta #1 il: 22 ſettembre 2013, 17:43:21 »
Per correttezza, riporto il thread da cui ho appreso della sua esistenza, e alcune mie prime impressioni.

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:nimrod language
« Risposta #2 il: 22 ſettembre 2013, 18:45:44 »
Troppo abituati alle parentesi graffe. E sì, purtroppo C e C++ hanno mietuto vittime...

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:nimrod language
« Risposta #3 il: 22 ſettembre 2013, 19:09:33 »
Non sono assolutamente d'accordo. Anche nello pseudocodice l'indentazione è significativa. Poi whitespace = caratteri come gli altri. Inoltre oggi spesso gli editor ti controllano la sintassi e quindi se l'indentazione è corretta o meno, oppure te l'aggiustano quando copi & incolli del codice.

Quindi per me è un sì netto a favore dell'indentazione per definire i blocchi. E ti scordi parentesi (non solo graffe) e keyboard begin/end.

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:nimrod language
« Risposta #4 il: 22 ſettembre 2013, 19:36:08 »
I tab lasciali perdere. Purtroppo Python li consente, ma francamente io avrei obbligato a usare soltanto gli spazi per l'indentazione. Avere la possibilità di usarli entrambi genera confusione.

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:nimrod language
« Risposta #5 il: 22 ſettembre 2013, 23:19:01 »
Niente di eccezionale. Non ti cambiano la vita.

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re:nimrod language
« Risposta #6 il: 23 ſettembre 2013, 02:03:33 »
I tab lasciali perdere. Purtroppo Python li consente, ma francamente io avrei obbligato a usare soltanto gli spazi per l'indentazione. Avere la possibilità di usarli entrambi genera confusione.

Ecco questa è una cosa che non ho mai capito: perchè la gente è così allergica ai tab? Io li uso sempre quando faccio C++, e imposto espressamente l'IDE per NON convertirli in spazi; quando poi avevo lavorato su quel progettino di server IRC in Python (forse te lo ricorderai), facevo tutto con gli spazi, ma solo perchè mi avevano detto che era "buona abitudine" in Python e quindi la ho seguita.

Perchè uno non potrebbe sviluppare tutto un progetto in tab?

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:nimrod language
« Risposta #7 il: 23 ſettembre 2013, 07:23:06 »
Perché ognuno i tab li considera della dimensione che vuole. Io imposto 1 tab = 2 spazi, molti comune è 1 tab = 4 spazi, poi ci sono i casi da manicomio che impostano 1 tab = 8 spazi.
Immagina di leggere un sorgente ben formattato usando esclusivamente i tab, su editor configurati in quei modi...

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:nimrod language
« Risposta #8 il: 23 ſettembre 2013, 09:40:24 »
Concordo con Cesare. Nei miei progetti in Java, C++ e C# ho iniziato ad impostare i vari IDE per convertire i tab in spazi. Io preferisco l'indentazione con 4 spazi per volta.

L'indentazione con gli spazi è univoca, non cambia con l'editor usato e ti consente di fare indentazioni "creative" in quei rari casi in cui ha senso deviare dalla regola (ad esempio commenti inline in punti critici del codice).

Offline fulvio

  • Tech
  • *****
  • Post: 68
  • Karma: +0/-0
    • Mostra profilo
Re:nimrod language
« Risposta #9 il: 23 ſettembre 2013, 11:58:11 »
Recentemente mi sono convertito anche io agli spazi, in ufficio i sorgenti sono spesso illeggibili perchè ognuno ha impostato emacs o vim in maniera diversa, e si possono vedere cose allucinanti :S

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re:nimrod language
« Risposta #10 il: 23 ſettembre 2013, 18:25:12 »
Perché ognuno i tab li considera della dimensione che vuole. Io imposto 1 tab = 2 spazi, molti comune è 1 tab = 4 spazi, poi ci sono i casi da manicomio che impostano 1 tab = 8 spazi.
Quindi non ci sono problemi di "funzionamento", ma solo estetici.

Recentemente mi sono convertito anche io agli spazi, in ufficio i sorgenti sono spesso illeggibili perchè ognuno ha impostato emacs o vim in maniera diversa, e si possono vedere cose allucinanti :S
Però, se poi ognuno configura l'IDE preferito per inserire tab=X spazi, con X il tipo di visualizzazione precedente, lo stesso si ottengono sorgenti scritti da persone diverse indentati diversamente. :-\

Almeno, in caso di non formattazioni strambe (es. tabelle, ASCII art etc. che andrebbero appunto fatte con spazi), trovo i tab migliori proprio perchè ogni programmatore può scegliere la visualizzazione che preferisce, e in generale (i.e. per la maggioranza del codice) i risultati non cambiano.

Il peggio invece è quando si usano sia spazi che tab nell'indentazione del codice, ad esempio come nei sorgenti di Minix 3: per la prima colonna di indentazione usano 2 spazi, per le seconda un tab (che per loro equivale a 8 spazi), poi tab e 2 spazi...
Ma forse loro programmano ancora sui 5150 col video a 80 colonne. ::)

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:nimrod language
« Risposta #11 il: 23 ſettembre 2013, 21:48:37 »
pero', a prescindere, non ho ancora capito in concreto DOVE sia meglio usare gli spazi per segnalare la profodita' di statement rispetto all'utilizzo dei block-key espliciti { "begin,"end",'{','}' }.
Perché, oltre all'indentazione, con gli altri linguaggi sei obbligato a usare keyword o le graffe per fare la stessa cosa.
Citazione
mi sembra nettamente piu' complesso dal lexer al parser, al lato implementativo!
E' possibile, perché il lexer non si trova davanti a una semplice sequenza di caratteri, ma deve tenere conto dell'indentazione corrente e generare appositi token di INDENT (aumenta l'indentazione rispetto alla riga precedente) o DEDENT (diminuisce) in modo che il parser possa regolarsi poi di conseguenza.
Citazione
e all'utilizzo pratico, da utente, bah ... mi sembra solo piu' fiquo usare gli spazi, ma solo perche' fai un minimo di piu' ordine mentale apparente, voglio dire, se e' un problema estetico, l'ho gia' detto: una volta che uno streamin di brutali char_t uno dietro l'altro e' diventato un syntax-tree ci si puo'  fare quello che si vuole, compresa l'operazione inversa syntax-tree to streamout, oppure compreso l'indentazione automatica in tempo reale mentre scrivi codice sull'editor (lo fa Adamulti di Green Hills , per esempio)
Non è solo una questione estetica. L'indentazione è un elemento strutturale del codice, perché definisce dei blocchi di codice. Ciò che normalmente serve al programmatore come schema logico, richiamo mentale, per relazionare i vari blocchi, nei linguaggi in cui l'indentazione serve a definire i blocchi diventa imperativo.
Citazione
in post-processo, cioe' DOPO che hai scritto un sorgente (e magari anche tutto sgangherato) e' quello che fanno i beauty-maker, anche quelli bovini come dev-util/uncrustify.
Anche prima di Python, io il codice l'ho sempre indentato mentre lo scrivevo...

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:nimrod language
« Risposta #12 il: 23 ſettembre 2013, 21:59:24 »
Perché ognuno i tab li considera della dimensione che vuole. Io imposto 1 tab = 2 spazi, molti comune è 1 tab = 4 spazi, poi ci sono i casi da manicomio che impostano 1 tab = 8 spazi.
Quindi non ci sono problemi di "funzionamento", ma solo estetici.
Veramente a me crea anche problemi di comprensione, perché sono abituato a suddividere logicamente i blocchi in base all'indentazione, a colpo d'occhio. Vedi sopra.
Citazione
Recentemente mi sono convertito anche io agli spazi, in ufficio i sorgenti sono spesso illeggibili perchè ognuno ha impostato emacs o vim in maniera diversa, e si possono vedere cose allucinanti :S
Però, se poi ognuno configura l'IDE preferito per inserire tab=X spazi, con X il tipo di visualizzazione precedente, lo stesso si ottengono sorgenti scritti da persone diverse indentati diversamente. :-\
E' vero. Usando solo i tab, però.
Citazione
Almeno, in caso di non formattazioni strambe (es. tabelle, ASCII art etc. che andrebbero appunto fatte con spazi), trovo i tab migliori proprio perchè ogni programmatore può scegliere la visualizzazione che preferisce, e in generale (i.e. per la maggioranza del codice) i risultati non cambiano.

Il peggio invece è quando si usano sia spazi che tab nell'indentazione del codice,
Esatto. Assolutamente da evitare.
Citazione
ad esempio come nei sorgenti di Minix 3: per la prima colonna di indentazione usano 2 spazi, per le seconda un tab (che per loro equivale a 8 spazi), poi tab e 2 spazi...
Ma forse loro programmano ancora sui 5150 col video a 80 colonne. ::)
Magari lo facevano per risparmiare spazio. All'epoca si contavano anche i singoli byte,

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re:nimrod language
« Risposta #13 il: 23 ſettembre 2013, 22:15:15 »
Magari lo facevano per risparmiare spazio. All'epoca si contavano anche i singoli byte,

Però parliamo di Minix 3, che è stato inizialmente rilasciato nel 2005 e non ha niente da condividere con le vecchie versioni...

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:nimrod language
« Risposta #14 il: 23 ſettembre 2013, 22:19:15 »
Allora cedo le armi...

Tags: