Почему языки программирования используют запятые для разделения параметров функции? - PullRequest
19 голосов
/ 15 августа 2010

Кажется, что все языки программирования используют запятые (,) для разделения параметров функции.

Почему вместо них не используются только пробелы?

Ответы [ 14 ]

2 голосов
/ 15 августа 2010

Это не правда. Некоторые языки не используют запятые. Функции были математическими понятиями до программирования конструкций, поэтому некоторые языки сохраняют старые обозначения. Чем большинство новичков вдохновлено C (Javascript, Java, C #, PHP тоже, они разделяют некоторые формальные правила, такие как запятая).

1 голос
/ 16 августа 2010

Я запрограммировал на нескольких языках, и хотя запятая не является исключительной, она определенно впереди. Запятая хороша тем, что является видимым символом, поэтому сценарий можно сжать, удаляя пробелы, не разбивая ничего. Если у вас есть пробел, то вы можете иметь вкладки, и это может быть проблемой ... Есть проблемы с новыми строками и пробелами в конце строки. Дайте мне запятую в любой день, вы можете видеть это и знать, что она делает. Пробелы предназначены для удобства чтения (как правило), а запятые являются частью синтаксиса. Имейте в виду, есть много исключений, когда требуется место или de rigueur. Мне также нравятся фигурные скобки.

0 голосов
/ 19 сентября 2012

Некоторые языки, такие как Boo , позволяют указывать тип параметров или не указывать его, например:

def MyFunction(obj1, obj2, title as String, count as Int):       
    ...do stuff...

Значение: obj1 и obj2 могут быть любого типа (унаследованными от объекта), где в качестве title и count должны быть типы String и Int соответственно. Это было бы трудно сделать, используя пробелы в качестве разделителей.

0 голосов
/ 16 августа 2010

Это, наверное, традиция.Если бы они использовали пробел, они не могли бы передать выражение в качестве параметра, например,

f(a-b c)

очень отличалось бы от

f(a -b c)
...