С какой книги начать?

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Xox, 18 ноя 2016.

  1. acos

    acos Официальный гик Администратор

    Я может не в тему тут. Но крайне рекомендую книгу "Код. Тайный язык информатики." Мне кажется у новичка после неё просто обязано пропасть ощущение магии происходящего. Код - не заклинание)
     
    sys нравится это.
  2. sys

    sys Злобный Буратино Модератор

    Эта книга в тему всегда и всем, т.к. весьма интересная и читается на одном дыхании... если так можно выразиться в отношении "технической" лит-ры :)
     
    acos нравится это.
  3. acos

    acos Официальный гик Администратор

    ага, даже запоем читается) Но мне кажется это скорее очень классный научпоп такой
     
  4. Xox

    Xox Нерд

    Оно ---> тайный язык информатики. Чарльз Петцольд
     
    acos нравится это.
  5. DrOnJD

    DrOnJD Нерд

    https://learn.javascript.ru/ - отличный справочник JS. Копируете свой код который не понимаете. Далее смотрите какие операторы используются в коде и ищите их в этом справочнике. В нем всё разжевано, с примерами и цыганями. И вовсе не важно если какой-то пример будет в контексте браузера, вам нужно овладеть простейшими языковыми конструкциями.

    https://developer.mozilla.org/ru/docs/Web/JavaScript - тут вероятно одно из самых полных описаний на русском языке. И тут разбирается язык в отрыве от браузера.

    Когда освоитесь с этим, советую погуглить NodeJS т.к. вероятнее всего именно его модифицированная версия используется в Искрах. Но в общем то это обычный JS.
     
    Последнее редактирование: 19 ноя 2016
  6. ИгорьК

    ИгорьК Гуру

    ... а обычный JS есть вещь необычная. И отличается от Си он ориентированностью на события, callback(ами), замыканиями, в первую очередь. Без понимания этих вещей - синтаксис мало помогает.
    ИМХО, это самые сложные вопросы при переходе от Си.
     
  7. DrOnJD

    DrOnJD Нерд

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

    А вот от C у меня голова ломалась и выходу Espruino я обрадовался как ребенок.
     
    Последнее редактирование: 20 ноя 2016
  8. ИгорьК

    ИгорьК Гуру

    А у Сишников - наоборот.
    Вы просто не мыслите в логике loop и не задаетесь вопросом как мигать двумя лампочками с разной частотой.
     
  9. DrOnJD

    DrOnJD Нерд

    Почему же, я пытался решить аналогичную задачу на Ардуинке. И я вам скажу я радовался как ребенок когда купил Espruino и увидел как реализуется это там. Мне как будто крылья приделали.
     
  10. ИгорьК

    ИгорьК Гуру

    Но вот если бы Вы все таки решили эту задачу, мыслить бы Вы начали по-другому :) Это входит в привычку.
     
  11. Xox

    Xox Нерд

    Всем спасибо. Пойду много читать.)
     
  12. Mihail Vasilev

    Mihail Vasilev Нерд

    Угу, вот повесить в событийной модели два важных и использующих общие данные события, которые иногда случаются одновременно - и долго не понимать, почему же оно не подтормаживает или вылетает, опять же, ИНОГДА... Эх, жизнь боль.

    А если серьезно, то я вообще не уверен, что таки стоит НАЧИНАТЬ с javascript. Осилить бы C сперва хотя бы диагонально, по Кернигану-Ритчи, вообще какие-то алгоритмы начать писать, а потом уже брать книжку по javascript - тогда и крылья вырастут, да.
     
  13. DrOnJD

    DrOnJD Нерд

    Ага, диагональное изучение С без практики применения очень поможет в освоении IskraJS. Запишу это себе обязательно :):):)
     
    ИгорьК нравится это.
  14. ИгорьК

    ИгорьК Гуру

    +100500. Я как раз из тех, кто знает Си по диагонали. Вот после этого знания от JS глаза на лоб поначалу и вылазят.
     
  15. DrOnJD

    DrOnJD Нерд

    Абсолютно согласен. Изучать сначала С, а потом переходить на JS можно только с целью практики мазохизма.
     
  16. Mihail Vasilev

    Mihail Vasilev Нерд

    Не охота холиварить, но если вы находитесь в фазе "чем if от for отличается?", передача callback-ов, замыкания и асинхронные вещи вам еще рано. А без них js от С отличается (идейно) мало. Другое дело, что сильно C-специфичные вещи (типа алгебры указателей или какие-нибудь специфичные библиотеки типа win32api или readline - реально нафиг не надо).
     
  17. DrOnJD

    DrOnJD Нерд

    Дело в том, что задача научиться программить под IskraJS, и С в этом вряд ли поможет, т.к. полученные знания не поучится применить на практике. А с тем учетом, что "А без них js от С отличается (идейно) мало", то считаю справедливее начать всё таки с JS, т.к. потом переход с языка со строгой типизацией, на не типизированный язык просто порвет... мозг, таким же образом у меня проходил обратный переход, когда я взялся за Ардуино.
     
  18. Mihail Vasilev

    Mihail Vasilev Нерд

    Порывы мозга добавляют извилин. Поверьте, оно нужно.
    Другое дело, что со строгой типизации перейти на нестрогую проще, чем обратно. Говорю по опыту (лет 15 назад учил perl после pascal-я и С). А знать и уметь писать полезно на любых языках, мало ли что прилетит.
     
  19. Mihail Vasilev

    Mihail Vasilev Нерд

    Кстати, если уж не слушать меня и таки упираться сразу в JS - возможно, топикстартеру поможет взять из соседней веточки русифицированный blockly-интерфейс с кубиками, включить в настройках "Overwrite javascript code on submit" (кажется, так оно называется), и попробовать поваять из кубиков, а потом - посмотреть, что за код оно выдаёт.
     
  20. rkit

    rkit Гуру

    Никакой софистикой нельзя оправдать изучение какого-то промежуточного языка программирования перед изучением необходимого. Завязывайте.
     
    ИгорьК нравится это.