LINUX.ORG.RU
ФорумTalks

Programming Languages на coursera.org

 , , ,


2

4

14 января стартанёт новый онлайн-курс на курсере, посвященный языкам программирования.

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language — and in learning new ones

Примерная программа курса для Ъ:

  • Syntax vs. semantics vs. idioms vs. libraries vs. tools
  • ML basics (bindings, conditionals, records, functions)
    • Recursive functions and recursive types
    • Benefits of no mutation
    • Algebraic datatypes, pattern matching
    • Tail recursion
    • Higher-order functions; closures
    • Lexical scope
    • Currying
    • Syntactic sugar
    • Equivalence and effects
    • Parametric polymorphism and container types
    • Type inference
    • Abstract types and modules
  • Racket basics
    • Dynamic vs. static typing
    • Laziness, streams, and memoization
    • Implementing languages, especially higher-order functions
    • Macros
    • Eval
    • Abstract types via dynamic type-creation and simple contracts
  • Ruby basics
    • Object-oriented programming is dynamic dispatch
    • Pure object-orientation
    • Implementing dynamic dispatch
    • Multiple inheritance, interfaces, and mixins
    • OO vs. functional decomposition and extensibility
    • Subtyping for records, functions, and objects
    • Class-based subtyping
    • Subtyping
    • Subtyping vs. parametric polymorphism; bounded polymorphism

Курс продлится 10 недель.

★★★★★

Уже несколько дней как там. Looks like a lot of fun.

Anatolik ★★ ()

О, спасибо что напомнил. Записался.

maxcom ★★★★★ ()

Годнота, подпишусь пожалуй.

encyrtid ★★★★★ ()

Особенно на этом фоне впечатляет видео по установке emacs на вин7.

unsigned ★★★ ()

Блин. Только хотел закончить предыдущий курс и завязать пока с курсерой.
А ссылка на курс?

aptyp ★★★★ ()

An Introduction to Interactive Programming in Python с блэкджеком и пинг-понгом мне очень понравился. Жаль что времени на этот нет. Что-то одновременно много интересных курсов появилось, даже выбирать приходится.

crunchy_crow ()
Ответ на: комментарий от buddhist

Накидай списочек, а.
Для меня и друга, который на курсере тоже есть, основной плюс - мотивация ввиду наличия определенных сроков. И иногда всякие сертификаты.
А так да:-)

aptyp ★★★★ ()
Ответ на: комментарий от aptyp

Ну классика же: SICP, HtDP, Programming Languages: Application and Interpretation, TaPL, Concepts in Programming Languages.

На первое время хватит. Но, имхо, нет более хорошего способа все это постичь, чем изучать разные язычки и читать код на них.

buddhist ★★★★★ ()

Ну интересно было бы такой экскурс по разным язычкам, по их фичам быстренький.
Но 10 недель! Да ещё и домашка небось офигевшая.
Да ещё и начало вроде не плохо, но к чему всё идёт и чем заканчивается??? Рубями. Какой-то неправильный путь.

Bad_ptr ★★★★ ()
Ответ на: комментарий от ymn

Видеолекции - выжимка книг. И по времени больше занимает.

aptyp ★★★★ ()

Нет времени, очень жаль, до слез обидно когда такое пропускаешь :'(

amazpyel ★★★ ()

Уже давно записался. Выглядит очень интересно.

drakmail ★★★★ ()

Ого, Racket и Ruby - это серьёзно:) А при изучении Racket будут освещаться и специфичные для данного диалекта Scheme фичи, или курс совместим с любой стандартной реализацией Scheme?

lucentcode ★★★★★ ()

thx for news :)

disable all other course.

try only this

qulinxao ★★☆ ()
Ответ на: комментарий от cdshines

не человек для языка , но язык для человека - компренде?

и при соблюдении всех писанных норм обычная доля восприятия менее половины .

+ ещё дипломаты с их целенаправленым снижением конкретности.

+ людской язык не машшиный обязан быть не однозначным

qulinxao ★★☆ ()
Ответ на: комментарий от cdshines

рад , что укрепил тебя в твоём мировосприятии.

посмотри револьвер ричи чтоли

qulinxao ★★☆ ()
Ответ на: комментарий от qulinxao

Когда-то ассемблером увлекался немного, тогда и постиг эту истину. Что моего вопроса как-бы не отменяет. Racket имеет нестандартные расширения, будут ли их использовать в материалах курса?

lucentcode ★★★★★ ()

Спасибо за напоминание, подписался.

wlan ★★ ()
Ответ на: комментарий от lucentcode

могут.

цель же: ознакомление с возможно как можно различными «парадигмами»

qulinxao ★★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.