Насколько похожи синтаксис Python, jQuery, C? - PullRequest
4 голосов
/ 01 сентября 2010

Я пытаюсь понять сходство языков в синтаксисе.Насколько похожи Python, jQuery и C?Я начал программировать в ActionScript 3, а затем перешел на Javascript, затем изучил Prototype, а затем начал использовать jQuery и обнаружил, что синтаксис сильно отличается.Так jQuery больше похож на C и Python?

Ответы [ 3 ]

8 голосов
/ 01 сентября 2010

C сильно отличается от языков, о которых вы спрашивали. Помните, что C не является интерпретируемым языком и не будет рассматриваться как таковой в вашем коде. Короче говоря, вам нужно гораздо больше материала для изучения - при работе с C - с точки зрения управления памятью и семантики, чем с другими языками.

Что касается синтаксиса: вы обнаружите, что если вы пишете код на любом другом языке, кроме Lisp, brainfuck или каком-либо другом неинтуитивном языке (не утверждающем, что C является, но для сравнения, безусловно), синтаксис не слишком большая часть переменной. Есть некоторые различия, но ничего, что не следует считать слишком абстрактным. В C вам приходится беспокоиться о таких вещах, как указатели и тому подобное, что является болью, но я думаю, что разница скорее в управлении памятью, чем в синтаксисе. В основном вам нужно беспокоиться о различиях в использовании точек с запятой и еще много чего.

Вы обнаружите, что Python подобен написанию английских предложений или, по крайней мере, написанию псевдокода с ограничениями, что значительно упрощает его, чем C. Кроме того, я бы не стал рассматривать jQuery как отдельный язык. Это расширение языка, так же как STL можно рассматривать как особый тип расширения C ++.

Удачи.

3 голосов
/ 01 сентября 2010

Для jQuery ответ довольно прост: jQuery не является языком, поэтому у него нет синтаксиса.

Для Python и C ответ с точки зрения высокого уровня такжеочень просто: синтаксис Python напрямую связан с синтаксисом Си.(Точнее говоря, синтаксис Python и C навеян синтаксисом ALGOL.) С точки зрения высокого уровня действительно есть только одно существенное отличие: C использует открывающие и закрывающие фигурные скобки для разделения блоков, Python использует отступы.

В противном случае два высокоуровневых синтаксиса почти одинаковы: оба имеют унарные и двоичные операторы, даже с одинаковым приоритетом (например, unline Smalltalk, у которого нет операторов), оба различают операторы и выражения (в отличие, например, от Ruby, который не имеет операторов), оба используют точки с запятой между операторами (хотя технически точка с запятой - это оператор terminator в C и оператор separator в Python)оба используют одинаковый синтаксис для числовых литералов и строковых литералов, а также для индексации массивов / списков.

Существует несколько синтаксических различий, связанных с различной семантикой: в Python переменные нетипизированы (типизированы только объекты), так что нет типа Эннotation синтаксис для объявлений переменных (фактически, синтаксис для объявлений переменных вообще отсутствует ). - это синтаксис для аннотаций типов параметров функций и возвращаемых значений функций, но в Python типы идут после имени параметра, а аннотации типов являются необязательными.Поскольку переменные нетипизированы, концепция приведение типов не имеет смысла, поэтому для этого нет синтаксиса.Также нет никакого связанного с указателем синтаксиса, так как у Python их нет.

В Python есть на пару больше литералов, чем в C: списки, наборы, словари, в частности.Однако они следуют традиции C: в C массив объявляется и индексируется с использованием квадратных скобок, поэтому Python использует квадратные скобки для литералов массива.

3 голосов
/ 01 сентября 2010

Синтаксически, JavaScript (язык, на котором реализован jQuery) похож на C. В Python используется другой синтаксис, который не использует точки с запятой и фигурные скобки, а вместо отступа.

Семантически, JavaScript ближе к Python, так что это будет легче выучить. Я не понимаю, как вы «перешли» из ActionScript 3 в JavaScript в Prototype; ActionScript имеет такой же синтаксис и в остальном очень похож на JavaScript, а Protoype / jQuery - это просто приложения, написанные на JavaScript (так что это один и тот же язык, но разные фреймворки!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...