Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

В компилируемых ЯП нет рекурси ? О_о

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> В компилируемых ЯП нет рекурси ? О_о
Имя
Сообщение << Старые топики   Новые топики >>
В компилируемых ЯП нет рекурси ? О_о - 2011-07-08 12:42:38.140000   
ololo__schoolboy

Сообщений: 118
Оценки: 0
Присоединился: 2011-06-14 12:42:52.573333
Изучаю курс на интуите(http://www.intuit.ru/department/internet/cgi/class/free/3/4.html) и читаю следующее
quote:

Интерпретируемые языки программирования имеют две особенности, которых нет у компилируемых языков:
  • рекурсия;
  • отложенное исполнение. [/ul]
  • Ну второе очевидно, а первое ? Мб там был какой-то тайный смысл и чтобы его понять у меня не хватает моего скудного интеллекта ?
    Post #: 1
    RE: В компилируемых ЯП нет рекурси ? О_о - 2011-07-08 20:32:13.063333   
    slipslop

    Сообщений: 115
    Оценки: 0
    Присоединился: 2010-12-27 20:21:35.253333
    Ну или там просто написана чушь. Причём и первое, и второе. По крайней мере второе в том смысле, в котором его пониманию я.
    Доступ к лекции, кстати, только после авторизации, а регаться там лениво.
    Да и вообще, кинул бы ты дурное, читай лучше SICP, Art of Programming, etc.
    Post #: 2
    RE: В компилируемых ЯП нет рекурси ? О_о - 2011-07-08 20:41:51.596666   
    ZiMMy

    Сообщений: 439
    Оценки: 0
    Присоединился: 2010-06-19 17:04:39.420000
    http://ru.wikipedia.org/wiki/Рекурсия#.D0.A0.D0.B5.D0.BA.D1.83.D1.80.D1.81.D0.B8.D1.8F_.D0.B2_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B8
    Post #: 3
    RE: В компилируемых ЯП нет рекурси ? О_о - 2011-07-08 20:53:03.300000   
    ololo__schoolboy

    Сообщений: 118
    Оценки: 0
    Присоединился: 2011-06-14 12:42:52.573333
    slipslop, не второе это не чушь, там подразумеваются конструкции типа eval. SICP, Art of Programming это мега сложно и занудно и много математики…
    ZiMMy, почитал вроде и так это знал.
    Post #: 4
    RE: В компилируемых ЯП нет рекурси ? О_о - 2011-07-08 22:07:38.483333   
    rgo

    Сообщений: 7170
    Оценки: 281
    Присоединился: 2004-09-25 05:14:25
    quote:

    ORIGINAL: ololo__schoolboy
    не второе это не чушь, там подразумеваются конструкции типа eval.

    "отложенные вычисления" – это ведь русский перевод фразы lazy-evaluation? Ну дык глянем на haskell, который весь целиком пострен на Pure Functional подходе, замешанном на Lazy Evaluation. Functional – значит, что там даже вместо циклов используется рекурсия. А Lazy Evaluation говорит о том, что всё выполняется в отложенном режиме. Но самое что интересное – это компилируемый язык, к нему прилагается компилятор ghc.

    Да и вообще, если честно, сегодня говорить о том, что какие-то языковые возможности встречаются только у компилируемых языков, а какие-то только у интерпретируемых – глупо. Сегодня существует огромное количество интерпретируемых в прошлом языков, которые вдруг получили в своё распоряжение компиляторы. А бывает и так, что для компилируемого языка вдруг пишут интерпретатор. Граница между интерпретируемым языком и компилируемым стирается. Язык – это язык, а компилятор или интерпретатор – это средства разработки на этом языке. И если какой-то из языков имеет в своём арсенале интерпретатор, но не имеет компилятора – это ещё ни о чём не говорит.

    Python – это компилируемый язык, или интерпретируемый? Lisp – это интерпретируемый язык, или компилируемый?
    Python имеет и интерпретатор, и компилятор, правда компилятор в байткод. А Lisp имеет и интерпретаторы, и компиляторы в байт-код, и компиляторы в native-код. А если компиляторы Lisp в байткод Java-машины, и этот байткод вполне можно гонять через Just-In-Time компилятор.
    Post #: 5
    RE: В компилируемых ЯП нет рекурси ? О_о - 2011-07-09 12:40:43.816666   
    ololo__schoolboy

    Сообщений: 118
    Оценки: 0
    Присоединился: 2011-06-14 12:42:52.573333
    quote:

    "отложенные вычисления" – это ведь русский перевод фразы lazy-evaluation?

    Да, но там подразумевается типа передаешь в eval строку и она интерпретируется
    Например:
    #!/usr/local/bin/perl $cmd = "print \"Hello world!!!\n\";"; eval $cmd;
    Post #: 6
    RE: В компилируемых ЯП нет рекурси ? О_о - 2011-07-09 13:10:55.326666   
    rgo

    Сообщений: 7170
    Оценки: 281
    Присоединился: 2004-09-25 05:14:25
    quote:

    ORIGINAL: ololo__schoolboy
    quote:

    "отложенные вычисления" – это ведь русский перевод фразы lazy-evaluation?

    Да, но там подразумевается типа передаешь в eval строку и она интерпретируется
    Например:
    #!/usr/local/bin/perl $cmd = "print \"Hello world!!!\n\";"; eval $cmd;

    Возьмём к примеру C. Напишем компилятор C. Оформим его в виде библиотеки, в которой будет функция compile. Подгрузим эту библиотеку в нашу программу, выполним compile, на строчке "printf(\"hello world\n\");", и вызовем скомпилированный код. Таким образом мы реализуем eval. И скажем компилируемый лисп по такому принципу и работает.
    Post #: 7
    RE: В компилируемых ЯП нет рекурси ? О_о - 2011-07-09 17:20:19.853333   
    ololo__schoolboy

    Сообщений: 118
    Оценки: 0
    Присоединился: 2011-06-14 12:42:52.573333
    Не это уже интерпретатор тогда, хотя разделение достаточно условное
    quote:

    Компилируемый язык программирования&nbsp;— язык программирования, в котором исходный код преобразуется компилятором в машинный код, и записывается в файл, с особым заголовком и/или расширением, для последующей идентификации этого файла, как исполняемого, операционной системой. Таким образом, одно из основных отличий компилируемых языков программирования от некомпилируемых, является создание автономного исполняемого файла, содержащего машинный код.
    Post #: 8
    RE: В компилируемых ЯП нет рекурси ? О_о - 2011-07-09 22:47:44.526666   
    rgo

    Сообщений: 7170
    Оценки: 281
    Присоединился: 2004-09-25 05:14:25
    quote:

    ORIGINAL: ololo__schoolboy
    Не это уже интерпретатор тогда

    Нет. Скажем sbcl компилирует всё в native-код. Не просто, как написано в педивикии, раскрывает макросы и разыменовывает переменные – нет, он проводит полный цикл компиляции, от исходного кода до машинного. Это компилируемый язык.
    Истинно говорю, сегодня разделение языков на компилируемые и интерпретируемые – это пережиток прошлого. Нет языков компилируемых или интерпретируемых.
    Post #: 9
    RE: В компилируемых ЯП нет рекурси ? О_о - 2011-07-10 22:23:27.060000   
    ololo__schoolboy

    Сообщений: 118
    Оценки: 0
    Присоединился: 2011-06-14 12:42:52.573333
    Спасибо буду знать
    Post #: 10
    Страниц:  [1]
    Все форумы >> [Компилируемые языки] >> В компилируемых ЯП нет рекурси ? О_о







    Связаться:
    Вопросы по сайту / xakep@glc.ru

    Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.