• С чего начать изучать программирование законченному гуманитарию?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Гумманитарию?
    0. Самым главным навыком ЛЮБОГО программиста это "Уметь читать по-английски". Даже использование гугла не так важно, как чтение на Шекспир-Language.
    1. Прочесть самой первой первой книгу, но не про программирование, а про компьютеры. Лучше Эндрю Таненбаума об этом никто не напишет. Читай, читай, читай и пока не вкуришь лучше за программирование не садиться. У любого программиста зашит в коже ответ на вопрос "Какие задачи можно решить с помощью компьютера, а какие невозможно?". Чтобы этот ответ был понятен нужно знать о том как работает вычислительная система в принципе, хотя бы на "сумбурно"
    2. Затем берите книгу по Python. Язык достаточно дружелюбен к новичкам и быстрый старт обеспечен. Решайте свои задачи, не заботясь о качестве. Просто решайте!
    3. После получения конкретного опыта решения задач. Читайте Стива МакКонела про его Совершенный код.
    4. Снова решайте задачи, но уже пытайтесь не только свои, но и вливаться в проекты с открытым исходным кодом
    5. Далее про модульное тестирование, рефакторинг и др.
    6. Только после того как в принципе будет понятно, что такое разработка нужно углубляться в дебри. В дебри под названием : алгоритмы и структуры данных. Изучать про сложности.

    P.S.:
    Не слушайте "умников" про алгоритмы сразу. Почему? Потому что пока у Вас не загорятся глаза "Да, черт побери! Это точно мое" не имеет смысла зарываться. Только когда прет и горят глаза, только в таком состоянии можно одолеть груду сложных и запутанных кодов.

    #define true false // счастливой ночи брат
    Ответ написан
    6 комментариев
  • Чем отличается библиотека от фреймворка?

    @Mintormo
    Фреймворк - это набор библиотек и инструментов. Библиотека - это просто программный модуль на определенном языке.

    Простите за глупый вопрос.

    Не стоит извиняться. Нужно больше глупых вопросов. А самые сложные в мире вопросы - простые.
    Ответ написан
  • Чем отличается библиотека от фреймворка?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Чего только не напишут )))

    Фреймворк это тоже библиотека, но не простая, а задающая развитие проекта при его использовании.

    Поясню примером:

    class CarInterface {
    public:
       virtual ~CarInterface() = 0 {}
       
       virtual void go() = 0;
    };
    
    int go(const CarInterface& car);


    Смотря на этот кусок мы видим ДВУХ программистов: программист-разработчик и программист-пользователь. Первый это автор фреймворка и он задумал, что его интерфейс автомобиля будет иметь определенные варианты использования и характеристики, но он не может знать какие именно? Поэтому он ОБЯЗЫВАЕТ программиста пользователя реализовать конкретный автомобиль.

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

    Другой пример, библиотека Flask: Для того , чтобы обработать HTTP-запрос POST-методом я обязан применять функцию route с аргументом methods в котором указать список содержащий строку 'POST'. Код:

    @app.route('/executables/<id>', methods=['POST'])
    def get_executables(id):
      pass


    можеть мне удобнее не methods, http_verbs, но автор ЗАСТАВИЛ меня передавать с названием methods.

    Фрейморк заставляет не просто так, а с целью получения однообразности кода.
    Ответ написан