Какой язык программирования лучше всего устраняет разрыв между псевдокодом и кодом? [закрытый]

Вызов svn proplist просто печатает , что определено, но не , как . Чтобы получить дополнительную информацию, используйте

svn proplist -v

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

11
задан Kai 5 June 2009 в 00:04
поделиться

12 ответов

Возможно, вас заинтересует Literate Programming , где «исходный код», который вы пишете, больше похож на написание книги, но это книга, которую можно «запутать» в реальный код или «вплетены» в форматированную документацию.

См. примеры, представленные на http://www.literateprogramming.com/cweb_download.html .

Вы также можете найти Eiffel интересно:

«... Эйфель избегает уловок кодирования или техник кодирования, предназначенных для компилятора в качестве подсказок по оптимизации. Цель состоит не только в том, чтобы сделать код более читабельным, но и в том, чтобы позволить программистам сосредоточиться на важных аспектах программа, не увязая в деталях реализации ... "

7
ответ дан 3 December 2019 в 01:39
поделиться

Здесь - это ссылка на то, что я считаю первой ссылкой на python как на «исполняемый псевдокод». Статья перепечатана из августовского выпуска 2001 года PC Update, журнала Мельбурнской группы пользователей ПК, Австралия.

2
ответ дан 3 December 2019 в 01:39
поделиться

Думаю, у вас все наоборот. Проблема с этим вопросом в том, что вы склонны писать псевдокод в приближении к языку, который вы планируете использовать для своего фактического кода. Поднимите руку любому, кто хочет создать язык псевдокода, который (например, эсперанто?) Представляет собой смесь широко используемых языков программирования.

1
ответ дан 3 December 2019 в 01:39
поделиться

Вы можете попробовать сценарий действий Flash.

0
ответ дан 3 December 2019 в 01:39
поделиться

Я бы сказал, что lua лучше всего подходит для перевода с псевдокода (в большинстве случаев). Пока переменные хорошо названы, lua может быть легко прочитан большинством программистов, а также довольно быстро!

0
ответ дан 3 December 2019 в 01:39
поделиться

Я согласен с комментарием Носредны о том, что Ада очень похожа на псевдокод.

Если вы не возражаете против лишнего набора текста, который требует Ада, я считаю, что это отличный язык, так как код действительно означает то, что он говорит.

0
ответ дан 3 December 2019 в 01:39
поделиться

Я бы поставил Python в первую очередь, а не Lisp, просто потому, что большинство людей не пишут псевдокод, используя синтаксис префикса парен :)

15
ответ дан 3 December 2019 в 01:39
поделиться

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

4
ответ дан 3 December 2019 в 01:39
поделиться

Паскаль был очень популярен в подобных описаниях псевдокода.

6
ответ дан 3 December 2019 в 01:39
поделиться

Вы уже упомянули об этом, но ..

Python имеет очень четкий синтаксис. Он очень близок к псевдокоду и легко читается.

1
ответ дан 3 December 2019 в 01:39
поделиться

Я обнаружил, что Boo стал моим языком «псевдокода» при тестировании небольших фрагментов кода для .NET. Очень похож на синтаксис типа Python.

1
ответ дан 3 December 2019 в 01:39
поделиться

Пролог - это то, с чем вы иначе не столкнетесь. Это полностью обходит проблему псевдокода. В некотором смысле кода нет. Есть только факты и правила.

Например, предикат добавления - это то, что мы знаем о списках, а именно:
Добавление списка Y к пустому списку дает Y.

append([], Y, Y).

Если добавление Xs к Ys дает Zs, тогда мы можем добавить то же значение к X и Z, и отношение останется прежним.

append([X|Xs], Ys, [X|Zs]) :- append(Xs, Ys, Zs). 

На самом деле мы еще не писали код, который что-то делает. Мы только что сказали, что знаем о добавлении списков. Но теперь мы можем попросить Пролог добавить 2 списка:

?- append([1,2],[3,4],Z).
Z = [1, 2, 3, 4].

Или дать Прологу список и попросить его показать нам, какие списки мы можем добавить, чтобы получить целевой список:

?- append(X,Y,[1,2]).
X = [],
Y = [1, 2] ;
X = [1],
Y = [2] ;
X = [1, 2],
Y = [] ;
0
ответ дан 3 December 2019 в 01:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: