Почётная Гиппопрограмма
|
|
1 | |
Группы языков программирования25.06.2020, 14:32. Просмотров 1873. Ответов 16
Метки нет Все метки)
(
Мне нужно сгруппировать языки в которых синтаксис блока такой (1 группа):
Код
блок [параметры]{ [код] } Код
блок [параметры]: код Код
блок begin; [код] end;
0
|
|
25.06.2020, 14:32 | |
Разработка языков программирования Сколько всего бывает языков программирования? Перечислите все плюсы и минусы языков программирования Perl и PHP
|
|
Просто Лис
![]() |
||||||
25.06.2020, 15:25 | 2 | |||||
Лисп посмотри - уникально простой синтаксис
![]() 1-я группа - большинство современных языков. С некоторыми отличиями, например, раст не требует скобок в блоке IF: Код
if n < 0 { println!("<"); } else if n > 0 { println!(">"); } else { println!("=="); }
Код
IF: if ( EXPR ) STM … STM: ; | BLOCK BLOCK: { … } 3-я группа: старые языки. Паскаль?.. Из современных только знаю PL/SQL.
0
|
Супер-модератор
![]() ![]() |
|
25.06.2020, 17:26 | 4 |
Старые? Oberon.../Modula.../Ada/Zonnon? Ярлыки уберите. Нет старых языков. Есть чересчур распиаренный шлак, а есть языки, на которых пишут программы (а не продираются сквозь нагромождения разных непонятных символов). Вот третья группа - как раз про это.
1
|
Просто Лис
![]() |
|
25.06.2020, 19:19 | 6 |
Можешь, кто тебя остановит
![]() Добавлено через 3 минуты На лисп хоть одним глазком глянь: Функциональное программирование на Lispe Добавлено через 38 секунд Позиционирование скобок относительно данных и разделение длинного выражения на отдельные строки Добавлено через 3 минуты А вот "паскалеподобный" PL/SQL: Функциональное программирование на Lispe
0
|
27.06.2020, 12:34 | 7 |
Для первой группы, если широко трактовать что блок, а что параметры, вся группа языков с блоком выделяемым фигурными скобками - С,С++,С#,rust,java,kotlin,scala,go.
Вторая группа - питон. Третья группа - по моему нет такого языка в котором ключевое слово begin заканчивалось бы ;. А если без этой ";", то, из не устаревших (то есть,и сейчас достаточно широко используемых), pascal,delphi,ada, наверное все диалекты SQL где есть хранимые процедуры. Объективно есть. Те, которые были созданы давно. А есть новые, которые созданы недавно. Старый и устаревший, прилагательные разные, хотя корреляция между старым и устаревшим есть. Некоторые старые устарели (алгол).
2
|
4297 / 3296 / 339
Регистрация: 12.03.2013
Сообщений: 5,805
|
|
27.06.2020, 13:07 | 8 |
И в си фигурные скобки не относятся к синтаксису "блоков", и в паскале begin-end. Это операторные скобки, которые позволяют объединять несколько операторов в один составной. Например, синтаксис while в паскале такой:
while <условие> do <оператор> . Синтаксис не требует ни begin-end, ни даже точек с запятой. Конечно, ограничение на единственный оператор после do заставляет часто использовать там использовать операторные скобки, но это не синтаксис.
0
|
Просто Лис
![]() |
|||||||||||
27.06.2020, 13:11 | 9 | ||||||||||
Мне интересно, что скажет ТС, когда увидит lua или bash:
1
|
27.06.2020, 13:20 | 10 |
А что же это?
Выделение блока из нескольких операторов {} - особенность синтаксиса. ТС попросил сгруппировать языки по предложенным им трём группам. А вообще, синтаксисов много. Есть ML-овский (haskell,ocaml,F#), есть прологовский (prolog, erlang), есть рабёвый (рабийный?) - ruby,exlixir и т.д.
1
|
4297 / 3296 / 339
Регистрация: 12.03.2013
Сообщений: 5,805
|
|
27.06.2020, 13:30 | 11 |
Да, но я как-то подумал, что ТС под блоком имеет в виду, скажем, оператор while целиком. Потому что иначе что такое "блок" и "[параметры]" в его записи?
Короче говоря, я о том, что while и begin-end ортогональны.
0
|
3250 / 2313 / 421
Регистрация: 28.04.2012
Сообщений: 7,706
|
||||||
28.06.2020, 08:58 | 12 | |||||
К какой группе отнести Ocaml?
0
|
28.06.2020, 09:18 | 13 |
Ну, каких то официальных групп нет. Но можно отнести к ML-овской группе.
Несмотря на то, что вы в примере вводите общественность в заблуждение будто в Ocaml аргументы функции нужно заключать в скобки. ![]()
0
|
3250 / 2313 / 421
Регистрация: 28.04.2012
Сообщений: 7,706
|
|
28.06.2020, 09:34 | 14 |
0
|
28.06.2020, 09:55 | 15 |
а кто?
видимо "коварный план" включает наведение читающего на мысль что ввод вывод выполняется не функциями, а встроен в язык, как в фортране (ещё синтаксис) или бейсике (ещё пример нескольких синтаксисов в зависимости от варианта бейсика). ) Добавлено через 6 минут Подсыплю жути. Ещё синтаксис, но лучше не смотреть, особенно на ночь
Код
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. PROCEDURE DIVISION. DISPLAY 'Hellow world!'. STOP RUN.
0
|
3250 / 2313 / 421
Регистрация: 28.04.2012
Сообщений: 7,706
|
|
28.06.2020, 11:21 | 16 |
Ocaml же. Он не ленивый, чтобы определить foo как
foo :: IO () и потом использовать просто как do { foo ; bar } , соответственно, обязательно нужно передать какой-то аргумент, вот и передают в таких случаях () типа unit. Типичная ситуация в Ocaml'е.Откуда такой странный вывод?
0
|
28.06.2020, 11:28 | 17 |
0
|
28.06.2020, 11:28 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Теория языков программирования 4 и 5 поколения языков программирования Сколько языков программирования в кс 1.6 ? Сравнение Языков Программирования Семантика языков программирования Синтаксический разбор языков программирования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |