Об обучении семантике - PullRequest
2 голосов
/ 24 февраля 2011

Я должен сделать что-то, связанное с семантикой.и я читаю Семантику Инжиниринг с PLT Redex, мне немного трудно это понять, это не то, как я думал о компьютерных науках.Я вспомнил, насколько я рад читать книгу CSAPP.но не в восторге от этого или от семантики!Хотя я думаю, что причина в том, что я еще не понимаю этого, какой в ​​этом смысл?Может быть.Но я думаю, что мне нужны некоторые предложения, чтобы увести меня с пути: как предшествовать изучению семантики?

1 Ответ

0 голосов
/ 18 мая 2015

Что такое семантика : Семантика обычно противопоставляется синтаксису. Синтаксис описывает, как могут быть расположены фрагменты языка. Семантика описывает, что делают эти механизмы. Описывает, какие эффекты они имеют.

С точки зрения того, кто пишет язык, синтаксис - это спецификация лексера, синтаксического анализатора и абстрактного синтаксического дерева. Семантика - это спецификация для цикла Eval / Apply.

Почему семантика интересна : Синтаксис - это решенная проблема. Хотя это и приятно, но после того, как вы написали несколько хороших парсеров, все они начинают выглядеть одинаково. Процесс придания языкового значения этому значению приводит к полезному, лаконичному и понятному инструменту, и этот вопрос гораздо глубже. Это просто мнение, но среди ученых в области компьютерных наук принято говорить, что семантика делает язык.

Некоторые семантические концепции : Объектно-ориентированное программирование - это семантическая нотация. SmallTalk и Java имеют очень разные синтаксисы друг от друга, но разделяют семантику «объекта» как инкапсулированных данных, оперируемых определенным набором методов. Функциональное программирование - еще одна семантическая идея.

Я не академик, и я не поспевал за недавней педагогикой семантики, поэтому я не могу хорошо рассмотреть то, чему сейчас учат, но как программист и тот, кто интересуется информатикой, я нахожу эту тему интересной. и очень применимо.

...