Кстати, если интересует широкий обзор (выходящий далеко за пределы логики) более-менее современной аналитической мысли, то всячески рекомендую эту работу (да и мне, кажется, пришло время ещё раз перечитать):
По идее, должен подойти любой учебник по мат. логике. Хотя довольно резкий акцент на необходимости различения между предметными логикой и языком, и логикой и языком исследователя мне встретился в учебнике "Математическая логика" С.К. Клини. Он там прямо с первой странцы пишет буквально следующее:
"Но тут мы встречаемся с парадоксом: разве для того, чтобы изучать логику с помощью математики (да и вообще любым систематическим методом), нам не придётся пользоваться самой логикой? (...) Основная идея здесь состоит в том, что мы будем тщательно различать логику, которую мы изучаем, и логику, с помощью которой это делается. Но тогда нам придётся различать и соответствующие языки: (...). Необходимо всё время помнить об этом различии между изучаемой (предметной) логикой и логикой как средством такого изучения (т.е. логикой исследователя). Тому, кто не готов к этому, стоит сразу же закрыть эту книгу и подыскать себе другое занятие по вкусу (скажем, составление шарад или пчеловодство)."
Как оно в действительности писать на Javascript в 2016 году.
Хэй, мне нужно создать страницу, которая показывает последнюю активность пользователей, так что мне надо получать данные с REST-сервиса и отображать в некой сортируемой и фильтруемой таблице, и обновлять её, если что-нибудь поменялось на сервере. Я думаю использовать jQuery для получения и отображения данных.
— Конечно, ты можешь по прежнему использовать jQuery. Но если ты планируешь сделать что-нибудь более сложное на фронтенде ты, вероятно, должен попробовать React. Это даст большие преимущества в дальнейшем.
— Звучит круто. Как мне лучше начать разработку с React?
— Самый простой путь: запустить npm install create-react-app -g в своем терминале и можешь начинать проект сразу после этого.
— Круто, ты так говоришь, будто не нужно никаких дополнительных настроек?
— Нет.
— Мне нужно установить специальные IDE, такие как Visual Studio, Android Studio, или XCode?
— Нет, просто создай свое приложение командой create-react-app my-cool-app и ты готов к пути.
— А что насчет дополнительных зависимостей? Может мне нужно установить Java на мою машину? Может мне также нужны Maven, Gradle, CocoaPods, или может быть мне нужно скачать дополнительно 20-гигабайтный SDK?
— Нет, просто выполни cd в папку со своим проектом и запусти npm start. Это всё.
— Мне нужно собирать своё приложение и ждать долгой пересборки после каждого изменения?
— Нет. Если ты сделаешь изменения, страница автоматически обновится. Если ты изменишь CSS — это будет живая перезагрузка, без обновления страницы.
— Звучит очень полезно! Я думаю так я смогу немного увеличить скорость процесса разработки. Но подожди, что делать, если мне когда-нибудь понадобится развернуть production версию моего сайта? Потому-что никто в действительности не развертывает неминифицированные версии index.html, app.css, main.js в production, правильно?
— Да, ты прав. Если тебе нужно развернуть production сборку своего сайта просто запусти npm run build и всё что тебе нужно бедут в папке /build. Миниицированное, оптимизированное и готовое к развертыванию.
Эти части называются модули. Ну иногда это сервисы. Но точно не микросервисы!
Хочу дать несколько советов:
setTimeout
делать, есть жеrequestAnimationFrame
<oembed>
, чтобы все могли смотреть ваши демки, не отходя от кассыКстати, если интересует широкий обзор (выходящий далеко за пределы логики) более-менее современной аналитической мысли, то всячески рекомендую эту работу (да и мне, кажется, пришло время ещё раз перечитать):
http://yanko.lib.ru/books/philosoph/blinov-ladov-lebedev=analytic_philosophy.htm
А также вот эту:
http://www.philosophy2.ru/library/chern/01/index.html
По идее, должен подойти любой учебник по мат. логике. Хотя довольно резкий акцент на необходимости различения между предметными логикой и языком, и логикой и языком исследователя мне встретился в учебнике "Математическая логика" С.К. Клини. Он там прямо с первой странцы пишет буквально следующее:
"Но тут мы встречаемся с парадоксом: разве для того, чтобы изучать логику с помощью математики (да и вообще любым систематическим методом), нам не придётся пользоваться самой логикой? (...) Основная идея здесь состоит в том, что мы будем тщательно различать логику, которую мы изучаем, и логику, с помощью которой это делается. Но тогда нам придётся различать и соответствующие языки: (...). Необходимо всё время помнить об этом различии между изучаемой (предметной) логикой и логикой как средством такого изучения (т.е. логикой исследователя). Тому, кто не готов к этому, стоит сразу же закрыть эту книгу и подыскать себе другое занятие по вкусу (скажем, составление шарад или пчеловодство)."
Как оно в действительности писать на Javascript в 2016 году.
— Конечно, ты можешь по прежнему использовать jQuery. Но если ты планируешь сделать что-нибудь более сложное на фронтенде ты, вероятно, должен попробовать React. Это даст большие преимущества в дальнейшем.
— Звучит круто. Как мне лучше начать разработку с React?
— Самый простой путь: запустить
npm install create-react-app -g
в своем терминале и можешь начинать проект сразу после этого.— Круто, ты так говоришь, будто не нужно никаких дополнительных настроек?
— Нет.
— Мне нужно установить специальные IDE, такие как Visual Studio, Android Studio, или XCode?
— Нет, просто создай свое приложение командой
create-react-app my-cool-app
и ты готов к пути.— А что насчет дополнительных зависимостей? Может мне нужно установить Java на мою машину? Может мне также нужны Maven, Gradle, CocoaPods, или может быть мне нужно скачать дополнительно 20-гигабайтный SDK?
— Нет, просто выполни
cd
в папку со своим проектом и запустиnpm start
. Это всё.— Мне нужно собирать своё приложение и ждать долгой пересборки после каждого изменения?
— Нет. Если ты сделаешь изменения, страница автоматически обновится. Если ты изменишь CSS — это будет живая перезагрузка, без обновления страницы.
— Звучит очень полезно! Я думаю так я смогу немного увеличить скорость процесса разработки. Но подожди, что делать, если мне когда-нибудь понадобится развернуть production версию моего сайта? Потому-что никто в действительности не развертывает неминифицированные версии index.html, app.css, main.js в production, правильно?
— Да, ты прав. Если тебе нужно развернуть production сборку своего сайта просто запусти
npm run build
и всё что тебе нужно бедут в папке/build
. Миниицированное, оптимизированное и готовое к развертыванию.— Спасибо приятель, очень полезно.
https://medium.com/@kitze/how-it-actually-feels-to-write-javascript-in-2016-46b5dda17bb5#.wvne8zb17