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

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

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

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

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

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

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

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

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

P.S. Особенно порадовало (хоть не из той оперы, но про войну): "vi - оригинальный текстовый редактор. имеет два режима - бибикает и всё портит". Вот тож самое и про емакс. Инопланетянский инструмент для инопланетянинов.
...
Рейтинг: 0 / 0
21.02.2008, 11:01
    #35146592
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для чего нужен лисп ?
Почему reddit.com переписали с лиспа на Питон: blog.reddit -- what's new on reddit: on lisp
...
Рейтинг: 0 / 0
21.02.2008, 11:06
    #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
21.02.2008, 11:10
    #35146635
Для чего нужен лисп ?
TonY.SopranoКак то Лисповые программы более громоздко выглядят

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

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

То есть.

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

Уууууу.....
...
Рейтинг: 0 / 0
21.02.2008, 11:53
    #35146869
_мод
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для чего нужен лисп ?
!ияияияможно вставлюИнопланетянский инструмент для инопланетянинов.
Именно так (т.е. далеко не для всех)
...
Рейтинг: 0 / 0
21.02.2008, 12:08
    #35146962
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для чего нужен лисп ?
Говорят после месяца к скобочкам привыкают. Вот еще тут есть обсуждение:
http://www.delphikingdom.com/asp/talktopic.asp?ID=366]Функциональное программирование [обсуждение темы БП]
...
Рейтинг: 0 / 0
21.02.2008, 12:29
    #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
21.02.2008, 12:49
    #35147182
Ммихалыч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для чего нужен лисп ?
это вам на досуге почитать (примеров мало, но есть ссылки) :)

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

тут

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

тут

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


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


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

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

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

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

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

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

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

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

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

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

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

Ну и, помимо всего прочего, среди языков также существует естественный отбор, как и в живой природе. Периодически придумываются новые, а далее некоторые отмирают, некоторые занимают свою нишу...
...
Рейтинг: 0 / 0
21.02.2008, 13:39
    #35147421
TonY.Soprano
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для чего нужен лисп ?
ну а если 2 языка в одной нише ?
...
Рейтинг: 0 / 0
21.02.2008, 13:52
    #35147465
_мод
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Для чего нужен лисп ?
TonY.Soprano язык как был отстойным так и останется )
В том то и дело что останется. Лисп - это не язык программирования в обычном смысле слова. Это инструмент анализа других языков, программ, алгоритмов. Сравнивать его с другими ЯП не корректно.
...
Рейтинг: 0 / 0
21.02.2008, 14:04
    #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]