powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Для чего нужен лисп ?
25 сообщений из 74, страница 1 из 3
Для чего нужен лисп ?
    #35143448
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35143463
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде Lisp используется в AUTOCAD :)

А если серъезно, то подобный вопрос можно задать про большинство (если не про все) языки программирования...
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35143471
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55Вроде Lisp используется в AUTOCAD :)

А если серъезно, то подобный вопрос можно задать про большинство (если не про все) языки программирования...

Ну да emacs еще . В alt linux на scheme что то делают . А вот реально кто пользует о впечатлениях расскажите ?
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35143554
фываф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://absurdopedia.wikia.com/wiki/%D0%9B%D0%B8%D1%81%D0%BF
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35143735
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TonY.Soprano
Ну да emacs еще . В alt linux на scheme что то делают . А вот реально кто пользует о впечатлениях расскажите ?

Я думаю, реально использующих мало :)
Это язык для работы со списками, для вычислительных задач малопригоден, применяется в областях а-ля искусственный интеллект. Уже одно то, что создан где-то в районе 1960 года, о чем-то говорит...
Впрочем, языков, которые с момента своего создания были мало распространены, большинство. Только немногие "выбились в люди".
В свое время пришлось немного поработать на Forth (Форт) - вполне симпатичный язычок, но "в серию" не пошел...
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35146218
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лисп имеет уникальное св-во: с точки зрения лиспа текст программы на лиспе - это список, т.е просто данные. Это дает неограниченные возможности для метапрограммирования и создания самообучающихся систем.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35146411
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модЛисп имеет уникальное св-во: с точки зрения лиспа текст программы на лиспе - это список, т.е просто данные. Это дает неограниченные возможности для метапрограммирования и создания самообучающихся систем.

Ну это я в книжке уже прочитал ..
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35146583
TonY.Soprano _модЛисп имеет уникальное св-во: с точки зрения лиспа текст программы на лиспе - это список, т.е просто данные. Это дает неограниченные возможности для метапрограммирования и создания самообучающихся систем.

Ну это я в книжке уже прочитал ..
Ага ага, метапрограммирование, искусственный интиллект и правильные меташаровары ксеноцефала.

Если бы ещё кто показал на практике, где там это метапрограммирование имеет смысл, и главное - преимущества (вроде повышения производительности если не комплекса, то хоть программиста) -
вот это было бы интересно.

А то в основном размазывание великовозрастных соплей по морщинам. А на практике - пшик.

P.S. Особенно порадовало (хоть не из той оперы, но про войну): "vi - оригинальный текстовый редактор. имеет два режима - бибикает и всё портит". Вот тож самое и про емакс. Инопланетянский инструмент для инопланетянинов.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35146592
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему reddit.com переписали с лиспа на Питон: blog.reddit -- what's new on reddit: on lisp
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35146616
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примеры кода .. Долго не парился . Взял с сайта где производительность сравнивают ..

Питон :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
# The Computer Language Benchmarks Game
# http://shootout.alioth.debian.org/
#
# contributed by Tupteq

import sys

def main():
    cout = sys.stdout.write
    iter =  50 
    limit =  2 .
    size = int(sys.argv[ 1 ])
    fsize = float(size)
    xr_size = xrange(size)
    xr_iter = xrange(iter)
    bit_num =  7 
    byte_acc =  0 

    cout("P4\n%d %d\n" % (size, size))

    for y in xr_size:
        fy = 2j * y / fsize - 1j
        for x in xr_size:
            z = 0j
            c =  2 . * x / fsize -  1 . 5  + fy

            for i in xr_iter:
                z = z * z + c
                if abs(z) >= limit:
                    break
            else:
                byte_acc +=  1  << bit_num

            if bit_num ==  0 :
                cout(chr(byte_acc))
                bit_num =  7 
                byte_acc =  0 
            else:
                bit_num -=  1 

        if bit_num !=  7 :
            cout(chr(byte_acc))
            bit_num =  7 
            byte_acc =  0 

main()


Лисп

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
;;; The Computer Language Shootout
;;;   http://shootout.alioth.debian.org/
;;;
;;; resubmitted by Wade Humeniuk (Fix Stream Problem)
;;; Original contributed by Yannick Gingras <ygingras@ygingras.net>;
;;;
;;; To compile
;;; sbcl --load mandelbrot.lisp --eval "(save-lisp-and-die \"mandelbrot.core\" :purify t :toplevel (lambda () (main) (quit)))"
;;; To run
;;; sbcl --noinform --core mandelbrot.core %A

(defun render (size stream)
  (declare (type fixnum size) (stream stream)
	   (optimize (speed  3 ) (safety  0 ) (debug  0 )))
  (assert (and (<=  8  size  10000 ) (zerop (mod size  8 ))))
  (let* ((code  0 ) (bit  0 )
         (zr  0 .0d0) (zi  0 .0d0) (tr  0 .0d0)
	 (delta (/ 2d0 size))
         (base-real - 1 .5d0) (base-imag - 1 .0d0)
         (buffer (make-array (* size (ceiling size  8 )) :element-type '(unsigned-byte  8 )))
         (index  0 ))
    (declare (type (unsigned-byte  8 ) code)
             (type double-float zr zi tr base-real base-imag delta)
             (type fixnum index bit))

    (dotimes (y size)
      (setf base-imag (-  1 .0d0 (* delta y)))
      (dotimes (x size)
	(declare (fixnum x))
	(setf base-real (+ - 1 .5d0 (* delta x))
	      zr base-real
	      zi base-imag)
        (setf code (logior (ash code  1 )
			   (if (dotimes (n  50 )
				 (when (<  4 .0d0 (+ (* zr zr) (* zi zi)))
				   (return t))
				 (setf tr (+ (* zr zr) (- (* zi zi)) base-real)
				       zi (+ (*  2 .0d0 zr zi) base-imag)
				       zr tr))
			       #x00
			       #x01)))
	(when (= (incf bit)  8 )
	  (setf (aref buffer index) code
		bit  0  code  0 )
	  (incf index))))

    (write-sequence buffer stream)))

(defun main ()
  (declare (optimize (speed  0 ) (safety  3 )))
  (let* ((args sb-ext:*posix-argv*)
	 (n (parse-integer (second args))))
    (with-open-stream (stream (sb-sys:make-fd-stream (sb-sys:fd-stream-fd sb-sys:*stdout*)
						     :element-type :default
						     :buffering :full
						     :output t :input nil))

      (format stream "P4~%~d ~d~%" n n)
      (render n stream)
      (force-output stream))))


Как то Лисповые программы более громоздко выглядят
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35146635
TonY.SopranoКак то Лисповые программы более громоздко выглядят

Это ещё мягко сказано.

Вообще из автолиспа я почерпнул только одну полезную методику. Называется порядок
открытия/закрытия скобок при написании кода.

То есть.

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

Уууууу.....
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35146869
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
!ияияияможно вставлюИнопланетянский инструмент для инопланетянинов.
Именно так (т.е. далеко не для всех)
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35146962
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Говорят после месяца к скобочкам привыкают. Вот еще тут есть обсуждение:
http://www.delphikingdom.com/asp/talktopic.asp?ID=366]Функциональное программирование [обсуждение темы БП]
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147080
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Haskell
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
{-# OPTIONS -fexcess-precision #-}
--
-- The Computer Language Shootout
-- http://shootout.alioth.debian.org/
--
-- Contributed by Spencer Janssen, Trevor McCort, Christophe Poucet and Don Stewart
--
-- Must be compiled with the -fexcess-precision flag as a pragma. GHC
-- currently doesn't recognise the -fexcess-precision flag on the command
-- line (!).
--
-- The following flags are suggested when compiling:
--
--      -O -fglasgow-exts -optc-march=pentium4
--      -fbang-patterns -funbox-strict-fields -optc-O2 -optc-mfpmath=sse -optc-msse2
--

import System
import System.IO
import Foreign
import Foreign.Marshal.Array

main = do
    w <- getArgs >>= readIO . head
    let n      = w `div`  8 
        m  =  2  / fromIntegral w
    putStrLn ("P4\n"++show w++" "++show w)
    p <- mallocArray0 n
    unfold n (next_x w m n) p (T  1   0   0  (- 1 ))

unfold :: Int -> (T -> Maybe (Word8,T)) -> Ptr Word8 -> T -> IO ()
unfold !i !f !ptr !x0 = loop x0
  where
    loop !x = go ptr  0  x

    go !p !n !x = case f x of
        Just (w,y) | n /= i -> poke p w >> go (p `plusPtr`  1 ) (n+ 1 ) y
        Nothing             -> hPutBuf stdout ptr i
        _                   -> hPutBuf stdout ptr i >> loop x
{-# NOINLINE unfold #-}

data T = T !Int !Int !Int !Double

next_x !w !iw !bw (T bx x y ci)
    | y  == w   = Nothing
    | bx == bw  = Just (loop_x w x  8  iw ci  0 , T  1   0     (y+ 1 )   (iw+ci))
    | otherwise = Just (loop_x w x  8  iw ci  0 , T (bx+ 1 ) (x+ 8 ) y ci)

loop_x !w !x !n !iw !ci !b
    | x < w = if n ==  0 
                    then b
                    else loop_x w (x+ 1 ) (n- 1 ) iw ci (b+b+v)
    | otherwise = b `shiftL` n
  where
    v = fractal  0   0  (fromIntegral x * iw -  1 . 5 ) ci  50 

fractal :: Double -> Double -> Double -> Double -> Int -> Word8
fractal !r !i !cr !ci !k
    | r2 + i2 >  4  =  0 
    | k ==  0       =  1 
    | otherwise   = fractal (r2-i2+cr) ((r+r)*i+ci) cr ci (k- 1 )
  where
    (!r2,!i2) = (r*r,i*i)


и то понятнее смотрится
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147182
Ммихалыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это вам на досуге почитать (примеров мало, но есть ссылки) :)

тут
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147238
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TonY.SopranoКак то Лисповые программы более громоздко выглядят
Они не предназначены для чтения человеком, они предназначены для чтения и интерпретации самим лиспом.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147256
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ммихалычэто вам на досуге почитать (примеров мало, но есть ссылки) :)

тут

Оно еще живо ? Я туда даж писал чтото ) Только под ником другим ...
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147273
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищ шумиху поднял с Lisp-ом и что? А толку язык как был отстойным так и останется )
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147308
Ммихалыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TonY.Soprano Ммихалычэто вам на досуге почитать (примеров мало, но есть ссылки) :)

тут

Оно еще живо ? Я туда даж писал чтото ) Только под ником другим ...


еще как ! :) зайди в пт
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147318
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помниться в университете ТерВер вел старичек . Так он вместо привычных Х У везде греческие буквы использовал ... Эта Тетта и т п так вот на лекциях его никто не понимал ... А когда люди читали книжки с теми же х у .. Смысл быстрее доходил
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147349
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
!член ксеноцефала...или какие
отголоски инопланетных цивилизацией...


Будем надеятся что не поймает
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147397
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
!круп ксеноцефала TonY.SopranoТоварищ шумиху поднял с Lisp-ом и что? А толку язык как был отстойным так и останется )

Он не отстойный, он - академический.

Тут всё просто. Понимаешь, есть люди которые ценят... удобство. Они выбирают паскаль, аду или PL/SQL какой.
Есть люди - которые ценят круть - они выбирают C/С++

Есть люди, которые ценят мнение Запада - они выбирают или Java или .NET (раньше там был кобол, потом C++ и смаллталк и вообще, американские стада - это ещё тот вопрос).

И все гордятся своим выбором, о том, что они дескать умнее всех (ага, два раза).

А такие полумаргинальные приблуды, как форт, лисп, хаскел - они позволяют всяким
ксеноцефалам - быть вообще типо на голову круче всех и иметь по дефолту шестигранные яйца числом три штуки.

Т.е. это чисто как средство идентификации. Кто чем горазд. Кто не красотой, тот шмоткой, кто не
шмоткой - тот мобилой, кто не мобилой, тот точилой, но лишь бы не как все.

Вот и маются, хрен знает чем. И зачем?

Я бы сказал - некоторый перебор.

Для решения одних задач - удобнее одни языки, для других - другие.
Другое дело, что, например, для вычислений вполне достаточно Паскаль / Си, а таких задач большинство.
PL/SQL - енто уже другое, ибо предназначен для вполне определенного круга задач.
А для решения более узкого круга задач более подходят другие языки и всякие умные слова типа "маргиналов" тут совершенно ни при чем...
Например, Форт имеет очень компактный код и за счет этого используется / использовался (сейчас не в курсе) для программирования всяких встроенных устройств.

Java - не потому, что "нравится Западу", а во многом из-за кроссплатформенности.

Ну и, помимо всего прочего, среди языков также существует естественный отбор, как и в живой природе. Периодически придумываются новые, а далее некоторые отмирают, некоторые занимают свою нишу...
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147421
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а если 2 языка в одной нише ?
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147465
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TonY.Soprano язык как был отстойным так и останется )
В том то и дело что останется. Лисп - это не язык программирования в обычном смысле слова. Это инструмент анализа других языков, программ, алгоритмов. Сравнивать его с другими ЯП не корректно.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147529
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TonY.Sopranoну а если 2 языка в одной нише ?

Дык есть же еще и индивидуальные пристрастия :)

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

Например, для написания клиентских приложений под Oracle сейчас используются Delphi, Power Builder, Oracle Forms / Reports (эти использовал сам), Java, VB, Foxpro, Access (эти встречал или слышал), возможно еще что-то...
...
Рейтинг: 0 / 0
25 сообщений из 74, страница 1 из 3
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Для чего нужен лисп ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]