Size: a a a

Язык программирования Julia / Julia programming language

2019 May 05

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
ну вот придет дип лернинг к победе через хайп, и будет у всех уже вычислительное мышление)

благо хайпа достаточно, а там и люди подтянутся.
источник

AL

Anatoly Levenchuk in Язык программирования Julia / Julia programming language
А "в базе старенький подход" тоже неправилен. Если наука поменялась по содержанию, то нельзя уже учить по-старому!
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
а то что SICP нигде не дают, это да, это печаль
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
Anatoly Levenchuk
А "в базе старенький подход" тоже неправилен. Если наука поменялась по содержанию, то нельзя уже учить по-старому!
и поэтому и в базе. а поверх базы новые модные подходы
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
но кстати, тут нужно упомянуть, как дикслеймер, что я прямо точно не знаю как на матмехе нашем.

я сложными системами занимался на другом факультете.
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
просто создавалось такое ощущение, так как у нас преподы оттуда были
источник

AL

Anatoly Levenchuk in Язык программирования Julia / Julia programming language
Меняется сама база, акценты по-другому ставятся! Что было раньше "базой" просто уходит к "спецам", глубже базы, не нужное всем. И вот как раз с этим нужно серьёзно разбираться, в этом фишка. Для вычислительного мышления (нового!), то есть для новой computer science нужно выстраивать предмет. Заново! В текущих непонятках, когда каждый год у нас очередной вираж типа differentiable programming.

Но настоящих буйных, увы, нет. Этим никто не озабочен, чтобы как-то массово МЫШЛЕНИЮ такому учить, в котором о разных парадигмах можно разговаривать (а не практике кодирования на разных языках в разных парадигмах учить).
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
так а разве тот же новый вираж diffetentiable programming не будет опираться на ту самую базу?

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

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
мне так кажется
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
то есть условно тот же SICP сейчас актуальней некуда. хотя книге 40 лет. или сколько там сейчас ей)
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
ровно сорок! вот это я угадал)
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
а нет. гугл говорит 79, а википедия уже 85.
источник

AL

Anatoly Levenchuk in Язык программирования Julia / Julia programming language
Или старое — обёртка над всем новым, которое окажется более базовым. Я ж хотел бы сутевого изложения, а не "исторического", где всё новое подаётся как "новое по сравнению со старым", а не само по себе.

И да, за сорок лет computer science успела наизменяться. И нельзя говорить, что "база осталась та же самая". Нет, эту общую "базу" нужно сформулировать. Те, кто давно этим занимается, они не в курсе этих probabilistic programming и differentiable programming.

Вот, например, часто цитируемая критика SICP — но это 2005 год, и там ООП — это наше всё. Но аргумент правильный: In short, sicp, Scheme, and functional programming don’t prepare students properly for other programming courses and thus fail to meet a basic need.

В этом плане Julia могла бы prepare students properly for other programming courses and thus  meets a basic need.
источник

AL

Anatoly Levenchuk in Язык программирования Julia / Julia programming language
Вот ссылка на помянутую критику SICP — https://www2.ccs.neu.edu/racket/pubs/jfp2004-fffk.pdf
источник

AL

Anatoly Levenchuk in Язык программирования Julia / Julia programming language
Название там ровно то, что нам нужно: The Structure and Interpretation of the Computer Science Curriculum (Matthias Felleisen, Northeastern University, Boston, MA, USA,  Robert Bruce Findler, University of Chicago, Chicago, IL, USA, Matthew Flatt, University of Utah, Salt Lake City, UT, USA, Shriram Krishnamurthi, Brown University, Providence, RI, USA).
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
ну непонятно, что такое other programming

в том смысле, что да, есть пробалистик програмимнг, есть вот теперь дифференшиал.

но кажется, что это не то, чтобы что то дико новое в плане программирования. программирование то там такое же.

А вот ооп от фп отличается вполне себе хорошо. а за фп стоит еще и всякие прувабл теории о надежности там алгоритмов. но это уже кажется не совсем фп, а что то более эзотерическое и тут я согласен, что разное оно все.

а вероятностное как по мне, просто фреймворк.

но про дифференцуруемое еще пока непонятно, тут действительно ML (скорее DL) играет сильную роль в новом обобщении работы с данными. и тут у меня возникает вопрос, а что такое программирование тогда?
то есть data science как таковой является программированием? программированием данных?

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

а ведь можно вспомнить пролог еще) вот где совсем как будто другое программирование.


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

а то недавно был разочаровван тем, что люди выбирают для DL например swift потому что у него коммьюнити больше и движняка там больше, хотя вроде как он в DL умеет меньше той же джулии. а люди уже туда смотрят охотней, хотя и про джулию осведомлены
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
чот у меня несвязный текст какой то вышел)
источник

AL

Anatoly Levenchuk in Язык программирования Julia / Julia programming language
Текст абсолютно связный, в нём есть главная правильная мысль: нужно отвечать на поставленный вопрос "и тут у меня возникает вопрос, а что такое программирование тогда?
то есть data science как таковой является программированием? программированием данных?". Ибо для меня странно, что программирование = алгоритмика, хотя ещё Дейкстра сказал, что программа = алгоритм+данные. А данные стали весьма и весьма кучерявыми: поглядим на базы данных! Domain driven design — это ж про данные! Простые алгоритмы над сложными данными.

Программирование (алгоритмика), моделирование (имитационное), онтологизирование (моделирование данных) это всё одно и то же. Нужно сформулировать этот "предмет про работу с моделями", информатику. Изначально там было всё вот это — https://ailev.livejournal.com/1008054.html

А сейчас нужно заново разбираться, ибо коннективистские модели и более общий случай differentiable модели оказались не учтены. В этом-то и проблема. Жизнь поменялась, а люди, рассуждения, куррикулумы, воспоминания о том, что в прошлом было "базой" — всё это осталось тем же.

Ответ на вопрос и есть "создание предмета", создание дисциплины, о чём я и говорю. А предмет создаётся в форме учебника, то есть в форме учебного курса.

Я учебник системного мышления так и сделал: выдрал из разных инженерных стандартов размышления про системы, по кусочку из десятка разных стандартов — и объединил в связное изложение. Вот и получилось "современное системное мышление для всех" ))) С computer science тоже нужно что-то подобное сделать. Выдрать правильные идеи из разных мест и изложить связно текущий state-of-the-art.
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
я тут подумал, что в общем то вы правы.

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

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

в общем, пишите курс\книгу, мы с удовольствием потестим!)
источник

TL

Timur Leonidovich in Язык программирования Julia / Julia programming language
кстати, еще может скоро появится квантовое программирование. как отдельное, так как там чуток другие законы должны работать)

хотя может оно близко к вероятностному.
источник