ФОРТРАН,Бейсик,С++,Ява == разговоры о погоде
От: Garb  
Дата: 27.04.06 18:07
Оценка: :)
Вы никогда не задумывались, почему не исчез ФОРТРАН. Да потому что компьютеры принципиально остались теми же. И наиболее к ним подходят императивные языки, паскаль бейсик си фортран. А они ничем друг от друга не отличаются. И С++ и Ява никаких принципиальных свойств Фортрана не изменили. Вы скажете-ООП. Так это скорее стиль.
А есть ли альтернативы императивности? Да,- другие парадигмы, уж простите за избитое слово. Функциональное программирование, логическое. К первому относится, в частности, Лисп, ко второму- Пролог.
В чём принципиальное отличие, например, Пролога от С++:
В С++ описать задачу != решить задачу.
В Prolog описать задачу == решить задачу.
Просто, обобщённый алгоритм решения уже заложен в исполняющей системе, которая выполняет Пролог-программу. Вы скажете, а почему нельзя тоже сделать на С++. Можно, просто, вы повторите то что уже сделано не добавив ничего нового(ООП расширения Пролога тоже существуют ,а у Лиспа(CLOS) появились раньше С++).

Всё гораздо интереснее, нежели очередная Java или С#.

К чему я это. А к вопросу о кругозоре программистов, о том, как их учат.
Я не призываю заменить С++ Прологом и т.д.. Это невозможно! Но вовремя(в институте) пораскинуть мозгами необходимо, а то загоняют будущих программеров в рамки С++,С#.
Re: ФОРТРАН,Бейсик,С++,Ява == разговоры о погоде
От: kan_izh Великобритания  
Дата: 27.04.06 18:13
Оценка:
Garb wrote:

> К чему я это. А к вопросу о кругозоре программистов, о том, как их учат.

> Я не призываю заменить С++ Прологом и т.д.. Это невозможно! Но вовремя(в
> институте) пораскинуть мозгами необходимо, а то загоняют будущих
> программеров в рамки С++,С#.

Недавно обсуждали http://rsdn.ru/forum/?mid=1820702
Автор: martie
Дата: 04.04.06
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: ФОРТРАН,Бейсик,С++,Ява == разговоры о погоде
От: Кодт Россия  
Дата: 28.04.06 08:38
Оценка: +3
Здравствуйте, Garb, Вы писали:

G>В чём принципиальное отличие, например, Пролога от С++:

G>В С++ описать задачу != решить задачу.
G>В Prolog описать задачу == решить задачу.

Это плод собственного опыта, или лозунг вычитан из книжек?

Ты не можешь описать задачу в свободной форме, не учитывая тонкостей исполнительного механизма — например, глубины рекурсии, отсечения заведомо ложных ветвей и т.п.
Если есть интерактивность (как с пользователем, так и внутри программы: например, работа со встроенной БД) — то сюда добавятся знания о последовательности выполнения.
Перекуём баги на фичи!
Re[2]: ФОРТРАН,Бейсик,С++,Ява == разговоры о погоде
От: Кодт Россия  
Дата: 28.04.06 08:40
Оценка:
G>>В чём принципиальное отличие, например, Пролога от С++:
G>>В С++ описать задачу != решить задачу.
G>>В Prolog описать задачу == решить задачу.

К>Это плод собственного опыта, или лозунг вычитан из книжек?


К>Ты не можешь описать задачу в свободной форме, не учитывая тонкостей исполнительного механизма — например, глубины рекурсии, отсечения заведомо ложных ветвей и т.п.

К>Если есть интерактивность (как с пользователем, так и внутри программы: например, работа со встроенной БД) — то сюда добавятся знания о последовательности выполнения.

Это я к тому, что дистанция между "описать" и "решить" в Прологе меньше, чем в С++, но не нулевая.
Перекуём баги на фичи!
Re[3]: ФОРТРАН,Бейсик,С++,Ява == разговоры о погоде
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.04.06 12:43
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Это я к тому, что дистанция между "описать" и "решить" в Прологе меньше, чем в С++, но не нулевая.

Угу. В той единственной книге о Прологе, которую я в детстве читал, про это было написано первым делом. Типа того, что язык, с одной стороны, дает иллюзию полной декларативности, а с другой стороны, оказывается что не все декларации одинаково полезны. И для выбора "правильного" порядка крайне важно знать, как именно пролог собирается твою программу исполнять. Так что абстрагироваться от императивщины в нем не получается.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: ФОРТРАН,Бейсик,С++,Ява == разговоры о погоде
От: Garb  
Дата: 28.04.06 15:58
Оценка:
Здравствуйте, kan_izh, Вы писали:

_>Garb wrote:


>> К чему я это. А к вопросу о кругозоре программистов, о том, как их учат.

>> Я не призываю заменить С++ Прологом и т.д.. Это невозможно! Но вовремя(в
>> институте) пораскинуть мозгами необходимо, а то загоняют будущих
>> программеров в рамки С++,С#.

_>Недавно обсуждали http://rsdn.ru/forum/?mid=1820702
Автор: martie
Дата: 04.04.06



Спасибо, туда тоже написал.
Re[3]: ФОРТРАН,Бейсик,С++,Ява == разговоры о погоде
От: Garb  
Дата: 28.04.06 16:13
Оценка:
Здравствуйте, Кодт, Вы писали:

G>>>В чём принципиальное отличие, например, Пролога от С++:

G>>>В С++ описать задачу != решить задачу.
G>>>В Prolog описать задачу == решить задачу.

К>>Это плод собственного опыта, или лозунг вычитан из книжек?


Это плод собственного опыта!

К>>Ты не можешь описать задачу в свободной форме, не учитывая тонкостей исполнительного механизма — например, глубины рекурсии, отсечения заведомо ложных ветвей и т.п.

К>>Если есть интерактивность (как с пользователем, так и внутри программы: например, работа со встроенной БД) — то сюда добавятся знания о последовательности выполнения.

К>Это я к тому, что дистанция между "описать" и "решить" в Прологе меньше, чем в С++, но не нулевая.


Я немного не о том. Чистого вообще ничего не бывает. Я говорил о принципиально других стилях и подходах. Кстати, С++ ООП всего лишь одна из проекций ООП. Более того, по большому счёту, концепция ООП малоконструктивна. Т.е. она лишь помогает описывать задачу не предлагая никаких способов её решения. В Прологе всё не так.
Лично мне копание в Логическом программировании много дало, хотя я использую С++.
Re[4]: ФОРТРАН,Бейсик,С++,Ява == разговоры о погоде
От: CrazyPit  
Дата: 28.04.06 19:34
Оценка: +1
Здравствуйте, Garb, Вы писали:

G>Лично мне копание в Логическом программировании много дало, хотя я использую С++.


Логическое программирование конечно интересная штука, но у него имхо круг задач для которых оно подходит намноооого уже чем у ФП...
Re[5]: ФОРТРАН,Бейсик,С++,Ява == разговоры о погоде
От: Garb  
Дата: 01.05.06 11:56
Оценка:
Здравствуйте, CrazyPit, Вы писали:


CP>Логическое программирование конечно интересная штука, но у него имхо круг задач для которых оно подходит намноооого уже чем у ФП...


Думаю, это потому, что функциональный стиль гораздо ближе императивному нежели декларативный.

Любопытно, что синтаксис Лиспа и, например Микропролога очень близки. Теже сплошные скобки. Были разговоры о конвергенции или расширении Лиспа. Может уже есть некий функционально-логический язык?. А если нет, то почему?.
Я говорю не о реализации Пролог-интерпретатора средствами Лиспа(это есть), а о органичном языке, слиянии парадигм.
Re[6]: ФОРТРАН,Бейсик,С++,Ява == разговоры о погоде
От: CrazyPit  
Дата: 01.05.06 17:39
Оценка: +1
Здравствуйте, Garb, Вы писали:

G>Здравствуйте, CrazyPit, Вы писали:



CP>>Логическое программирование конечно интересная штука, но у него имхо круг задач для которых оно подходит намноооого уже чем у ФП...


G>Думаю, это потому, что функциональный стиль гораздо ближе императивному нежели декларативный.


ЭЭЭ вообще-то функциональное программирование тоже декларативно как и логическое....

G>Я говорю не о реализации Пролог-интерпретатора средствами Лиспа(это есть), а о органичном языке, слиянии парадигм.


Можно встроить пролог в лисп, т.е. использовать прологовые фишки внутри лисповых программ прозрачно. Причём всего в 200 строк кода
Re[7]: ФОРТРАН,Бейсик,С++,Ява == разговоры о погоде
От: Mamut Швеция http://dmitriid.com
Дата: 01.05.06 18:40
Оценка:
G>>Я говорю не о реализации Пролог-интерпретатора средствами Лиспа(это есть), а о органичном языке, слиянии парадигм.

CP>Можно встроить пролог в лисп, т.е. использовать прологовые фишки внутри лисповых программ прозрачно. Причём всего в 200 строк кода


В Allegro Lisp, если я правильно помню, Пролог имеется out of the box


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.