Вроде мелочь, а хотелось бы понять глубинный смысл:
В С++/C#/Java для представления литеральных массивов и структур используется одна и та же форма: фигурные скобки. Т.е. {1,2,3} и {1,"hello",3.14} как-бы одно и то же, компилятор сам разбирается как использовать конструкцию.
В других языках (D, Rust, Python, Ruby, Javascript/JSON) для массивов используют квадратные скобки: [1,2,3]. И похоже есть такая интересная тенденция, что фигурные скобки для всех случаев — это просто по инерции из Си, а в новых языках предпочитают квадратные.
Пытаясь это дело систематизировать, я подумал что, возможно, было бы удобно, когда квадратные скобки используются для создания литералов из однородных значений (массивы, списки), а фигурные — для неоднородных (структуры). Имеет ли это какой-то смысл? Или это просто вопрос внешнего вида и никакого философского смысла здесь не заложено?