Каким должен быть язык программирования? Анализ и критика Описание языка Компилятор
Отечественные разработки Cтатьи на компьютерные темы Компьютерный юмор Прочее

Описание языка

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

Последняя правка: 2014-12-04    13:12


Отзывы

     2015/02/19 23:35, rst256

Как насчет начать с философии, как у питона?
Мне кажется использование внешнего имени функции в рекурсивном вызове не есть гуд:
int foo0(int bar){ //must get 100-bar recursive calls
if( bar > 100 ) return 0;
return foo0(bar+1); /* => return me(bar+1); */
}

int fooO(int bar){ //must get 200-bar recursive calls
if( bar > 200 ) return 0;
return foo0(bar+1); /* => return me(bar+1); */
}

     2015/02/20 11:11, Автор сайта

А какие есть «противопоказания» у вызова функции, когда имя вызываемой и вызывающей функции совпадают? Какие недостатки в этом кроются? В чём будет выигрыш, если функция будет вызывать саму себя по какому-то ключевому слову типа «me»?

     2015/02/22 06:16, rst256

А какие различия между х=0 и х=NULL? Именно по таким же соображениям и рекурсия я считаю должна иметь явный вид. К тому же человеку не надо будет менять код внутри функции при изменении ее имени. А так же к такому вызову в последствии легче будет приделать, если надо, другой функционал. В зависимости он парадигмы, конечно. Например, вызов «me» также как точка доступа к переменным, замкнутым на уровне только этой рекурсии.
me.count++;me(...)
а не
func(.., count+1)
а нюансы изоляции этих переменных задача компилятора – тривиальная задача, если язык обладает встроенными конструкциями для работы с потоками. Не говоря у же о том, что хорошо проработанный компилятор даже сможет развернуть такое в нерекурсивный код при указании, например, специального атрибута или автоматически, если возможно (но я предпочитаю указывать явно)

     2015/02/22 16:42, Автор сайта

В чём-то Ваша идея логична, конечно. Хотя даже в Haskell, где рекурсия сидит на рекурсии и рекурсией погоняет, такого нет. Но Вы, конечно, ведёте речь о прямой рекурсии, а не косвенной.

     2015/03/15 08:27, rst256

Ну даже не знаю насчет haskell, а для него есть статические анализаторы кода, потому что я не нашел. На нем написанных целую кучу нашел, а для него нет.
Может хорошему языку они и не нужны?

     2015/06/26 14:37, Иван

Мое предложение не играет роли, но, как мне кажется, лучше уж тогда зарезервировать слово «self», а не «me».
function factorial(n) {
... self(n - 1) ...
}

     2015/06/26 18:45, Автор сайта

Для начала надо решить, нужно ли вообще рекурсивный вызов как-то особо выделять. А придумать ключевое слово – это уже технический момент. Кстати, в некоторых языках «self» аналогичен «this» C++.

     2016/01/25 21:41, Сергей

Ребята, привет! А на каком, собственно, этапе продвижение проекта? Честно скажу, UI этого сайта - непонятен и лично для меня не способствует участию в обсуждении соотв. вопросов. Если проект жив, то https://vk.com/grechkosergeyolegovich или sergio.yacovlev@yandex.ru. Готов принять активное участие в проекте, есть достойные соображения.

     2016/01/26 18:28, Автор сайта

Проект по созданию нового языка программирования находится на этапе анализа, обдумывания и описания того, как должен выглядеть этот язык.

     2016/07/25 09:06, Michael

Если в языке допускаются безымянные функции, то внутри такой функции должна быть возможность как-то вызвать или сослаться на себя.

Написать отзыв

Написать автору можно на электронную почту mail(аt)compiler.su

Авторизация

Регистрация

Выслать пароль

Карта сайта


Каким должен быть язык программирования?

Анализ и критика

Описание языка

Философия языка

Я

●  Унарные операции

Компилятор

Отечественные разработки

Cтатьи на компьютерные темы

Компьютерный юмор

Прочее

Последние комментарии

2018/05/03 11:51, kt
Русский язык и программирование

2018/04/30 14:03, Автор сайта
«Двухмерный» синтаксис Python

2018/04/25 19:21, Геннадий Тышов
Программирование без программистов — это медицина без врачей

2018/03/25 21:14, Денис Будяк
Энтузиасты-разработчики компиляторов и их проекты

2018/03/21 23:37, Marat
Почему обречён язык Форт

2018/02/24 14:51, Эникейщик
Русской операционной системой должна стать ReactOS

2017/12/12 13:32, Comdiv
Отечественные разработки

2017/11/05 17:26, rst256
Электроника без электронщиков