de syntaxe Smalltalk (et caractéristiques) peuvent être trouvés assez exotiques (et même dérangeant) quand vous venez d'un monde de syntaxe plus comme C. Je me suis trouvé perdre du temps avec certains
Je serais intéressé à apprendre en sachant ce que vous avez trouvé vraiment exotique par rapport aux langues plus classiques/mainstream et que vous pensez aider à comprendre la langue.Smalltalk caractéristiques exotiques
Par exemple, l'évaluation avec les opérateurs logiques:
(object1 = object2) & (object3 = object4)
: ce évaluera l'expression entière, même si la partie gauche est fausse, le reste sera évalué.(object1 = object2) and: [object3 = object4]
: ce évaluera la partie gauche, et n'évaluera la partie droite si le premier est vrai.
Comment est-ce que l'un de ces exotiques? Pensez en termes d'envoi de messages. Vous êtes dans une pièce pleine de monde, moi aussi; Je veux vous poser une question, alors j'ouvre la bouche et commence à dire des mots. Vous recevez ces mots et réagissez en conséquence. Soit en les ignorant, en leur répondant ou en effectuant une expression corporelle pour communiquer une réponse. C'est en fait plus fondamental que l'exotisme quand vous arrêtez et réfléchissez à la façon dont c'est prévu. – jer
Comme je l'ai dit, quand je dis «exotique», cela signifie «exotique comparé au langage classique/courant C/Java». Je suis d'accord que l'envoi de messages rend SmallTalk plus proche de la pensée humaine que d'autres langues, mais nous (les programmeurs, ou au moins moi) sommes formatés pour penser dans un monde C. C'était juste mon point. –
Venant d'un arrière-plan Delphi, je suis habitué à des expressions booléennes qui pourraient ou ne pourraient pas être évaluées d'une façon ou d'une autre, en fonction d'un changement de compilateur! –