Автор Тема: Има ли смисъл да се учи Scheme???  (Прочетена 2459 пъти)

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
За първи път виждам нещо такова:
Код
GeSHi (Scheme):
  1.  

За мен наистина няма смисъл.
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: Има ли смисъл да се учи Scheme???
« Отговор #1 -: Oct 30, 2010, 10:20 »
За първи път виждам нещо такова:
Код
GeSHi (Scheme):
  1.  

За мен наистина няма смисъл.
Казват му обратен (а може и в случая да не е обратен, не съм сигурен) полски запис. Пример от forth:
Код:
2 3 + .
:)
П.П. Има и по-странни за мен неща
Код:
if then=else
then if=else;
else if=then;
endif;

и това работи (поне на един език)
« Последна редакция: Oct 30, 2010, 10:25 от romeo_ninov »
Активен

0x2B|~0x2B

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Има ли смисъл да се учи Scheme???
« Отговор #2 -: Oct 30, 2010, 10:24 »
И защо ме карат да ги уча тези простотии? Те хората са го измислили (дори и на C (task this is for you :P )):
Код
GeSHi (C):
  1. if(а>b)
  2. napravi-tova
  3. else
  4. napravi-onova

Ще си блъскам аз главата да пиша нещо на обратно - и после да се опитам да го разбера...
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: Има ли смисъл да се учи Scheme???
« Отговор #3 -: Oct 30, 2010, 10:27 »
И защо ме карат да ги уча тези простотии? Те хората са го измислили (дори и на C (task this is for you :P )):
Код
GeSHi (C):
  1. if(а>b)
  2. napravi-tova
  3. else
  4. napravi-onova

Ще си блъскам аз главата да пиша нещо на обратно - и после да се опитам да го разбера...
спестяват се скоби, приоритет на операции, печели се скорост, опростява се парсването
Активен

0x2B|~0x2B

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Има ли смисъл да се учи Scheme???
« Отговор #4 -: Oct 30, 2010, 10:32 »
И все пак този език има ли живи набори, които да пишат нещо смислено на него?
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: Има ли смисъл да се учи Scheme???
« Отговор #5 -: Oct 30, 2010, 10:51 »
И все пак този език има ли живи набори, които да пишат нещо смислено на него?
Столман нали пише на един език, от който е произлязъл Scheme  >:D
Активен

0x2B|~0x2B

lkr

  • Напреднали
  • *****
  • Публикации: 81
    • Профил
Re: Има ли смисъл да се учи Scheme???
« Отговор #6 -: Oct 30, 2010, 13:43 »
Има смисъл да се учи functional programming, а обикновено се използва Scheme. Scheme е най-лесният възможен език, но доста хора не могат да свикнат с него, поради така наречените "Java schools". Една от причините да се ползва prefix notation е това, че операторите са функции. Тъй като във всички LISP езици нотацията е 'everything is an expression' + 'special forms', Scheme практически няма синтаксис - имаш expressions и special forms (define, cond, let). Въпреки че езикът е страшно simple (да не казвам прост), той предоставя един от най-силните модели за абстракция. Предишните курсове в MIT са били водени на Scheme и иммено оттам идва и една от библиите в програмирането: http://mitpress.mit.edu/sicp/ .

Тази книга и курсът SICP променя начина на мислене на всеки програмист. Всеки който е вземал този курс го смята като най-полезното нещо от цялата студентска програма. Създаването на сложни системи не се състои в това да знаеш къде да сложиш ; или }, затова синтаксиса на езика не е от значение. Това което е от значение е инструментите с които може да създаваш абстракция, тъй като най-сложното нещо в една голяма система е 'fighting complexity'.

Functional езиците още така предоставят един много добър модел за днешните процесори. Тъй като там нямаш variables, а само values, ти всъщност създаваш name, който сочи към някакво value. Всички типове са immutable, това води до много лесен parallelism в бъдещ период без side effects. Също така functional програмите имат много по-малко (понякога никакъв) global state, обикновено са по-кратки и много по-лесни за разбиране.
« Последна редакция: Oct 30, 2010, 13:45 от lkr »
Активен

shoshon

  • Напреднали
  • *****
  • Публикации: 497
    • Профил
Re: Има ли смисъл да се учи Scheme???
« Отговор #7 -: Oct 30, 2010, 13:52 »
+1 за мнението отгоре. AI oriented и помага за мисленето
Активен

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Re: Има ли смисъл да се учи Scheme???
« Отговор #8 -: Oct 30, 2010, 14:01 »
backtolife, не само има смисъл да се учи, ами и трябва да е много преди 4ти курс :) В MIT на Scheme (или Lisp) се предава Увод в програмирането. Във ФМИ се опитаха да правят нещо подобно в едната специалност, само че с Haskell - ама не особено успешно.

Иначе функционалното програмиране първо е мегаяко, второ ти развива мисълта по един по-различен начин и трето - елементи от него вече присъстват в повечето съвременни обектно-ориентирани езици. Доколкото съм чувала от по-запознати, с добро писане на Lisp някои проблеми могат да намерят много по-добри (и бързодействащи) решения в сравнение с използването на императивни езици.

Понеже виждам, че веднага сравняваш със C - прочети добре какво е императивно и какво е декларативно програмиране. Ако не разбереш разликата, нямаш много шанс и да усетиш смисъла от функционалното програмиране.
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Има ли смисъл да се учи Scheme???
« Отговор #9 -: Oct 30, 2010, 14:03 »
Да, да, да... Така като гледам всички във форума пишете на Lisp... И за това го защитавате...
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Re: Има ли смисъл да се учи Scheme???
« Отговор #10 -: Oct 30, 2010, 14:05 »
Да, да, да... Така като гледам всички във форума пишете на Lisp... И за това го защитавате...

Напомни ми като дойдеш на опенфеста да ти напомня да питаш 1-2 човека по темата, на нас тука може и да нямаш вяра, но на тях сигурно ще имаш  >:(
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Има ли смисъл да се учи Scheme???
« Отговор #11 -: Oct 30, 2010, 14:08 »
Да, да, да... Така като гледам всички във форума пишете на Lisp... И за това го защитавате...

Напомни ми като дойдеш на опенфеста да ти напомня да питаш 1-2 човека по темата, на нас тука може и да нямаш вяра, но на тях сигурно ще имаш  >:(

Васил и Червото - не мерси :D :D :D :D
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Re: Има ли смисъл да се учи Scheme???
« Отговор #12 -: Oct 30, 2010, 14:10 »
Да, да, да... Така като гледам всички във форума пишете на Lisp... И за това го защитавате...

Напомни ми като дойдеш на опенфеста да ти напомня да питаш 1-2 човека по темата, на нас тука може и да нямаш вяра, но на тях сигурно ще имаш  >:(

Васил и Червото - не мерси :D :D :D :D

Не позна!
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Има ли смисъл да се учи Scheme???
« Отговор #13 -: Oct 30, 2010, 14:13 »
Да, да, да... Така като гледам всички във форума пишете на Lisp... И за това го защитавате...

Напомни ми като дойдеш на опенфеста да ти напомня да питаш 1-2 човека по темата, на нас тука може и да нямаш вяра, но на тях сигурно ще имаш  >:(

Васил и Червото - не мерси :D :D :D :D

Не позна!

Тогава няма да ми е толкова интересно ;).
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Re: Има ли смисъл да се учи Scheme???
« Отговор #14 -: Oct 30, 2010, 14:16 »
Тогава няма да ми е толкова интересно ;).
В никоя дискусия, в която те правят на пух и прах няма да ти е интересно....
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Рекурсия в Scheme
Общ форум
b2l 6 1535 Последна публикация Nov 05, 2010, 14:10
от b2l