Wie bedenkt het om een taal te verzinnen met de onderstaande logica:
Acceptabel, al geniet het niet mijn voorkeur.
Volledig akkoord
.
Say what now
?
Blijkt dat deze evidente bug door de ontwerpers van Julia 1.0 gezien wordt als een feature
. Ik ben benieuwd of iemand de logica achter deze hersenkronkel kan verklaren, natuurlijk zonder de hele semantiek van de taal te gaan bestuderen. Als voldoende ervaren programmeur ga ik niet in detail dit bizarre scopinggedrag gaan bestuderen om een idiote for-lus te schrijven
code:
1
2
3
4
5
6
| if true i = 1 else i = 2 end i # geeft 1 |
Acceptabel, al geniet het niet mijn voorkeur.
code:
1
2
3
4
5
6
7
8
9
| function whatever() i = 0 for k in 1 : 5 i += k end return i end whatever() # geeft 15 |
Volledig akkoord
code:
1
2
3
4
5
| i = 0 for k in 1 : 5 i += k end i # geeft compile error: i is undefined |
Say what now

code:
1
2
3
4
5
6
7
| i = 0 if true i += 1 else i += 2 end i # geeft 1 |

Blijkt dat deze evidente bug door de ontwerpers van Julia 1.0 gezien wordt als een feature




[ Voor 4% gewijzigd door Nick The Heazk op 25-01-2019 18:09 ]
Performance is a residue of good design.