Начать изучать теорию программирования прежде чем лезть в языки?

Добрый день. Новичок.

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

Кто проходил пусть с новичка до программиста,Вы это все учили?
Может подскажете где есть более сжатая инфа по всему этому?

P.S и такой вопросик, кто учился на комп. науках , у вас на 2 курсе была теория вероятности?
Этот предмет нужен программисту?

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn

Лучшие комментарии пропустить

Я бы порекомендовал распределить время которое ты планируешь тратить на обучение на две части:

  1. Дискретная математика
    Мотивация.

    Дискретная математика является основой информатики, как софтверной её составляющей (программирование, алгоритмика и т.д.), так и хардверной (электроника, цифровые логические вентили, ТТЛ и т.д.).

    Она состоит их следующих разделов математики:
      Теория множеств (основа реляционной алгебры, и как следствие основа для понимания СУБД и SQL)
      Общая алгебра
      Математическая логика (все OR, AND, NOT и т.д. которые есть в любых языках программирования)
      Логика предикатов (одна из основ SQL, LINQ и других технологий)
      Комбинаторика (нужна при изучении теории вероятностей — одной из основ AI и вообще фундаментальной науки)
      Теория графов (обходы деревьев, графов, задачи о потоках, и т.д. и т.п.)
      Теория алгоритмов
      Теория автоматов

    Как уже было сказано, по сути все эти математики являются фундаментом информатики. И если ты не планируешь остановиться в своём проф.развитии на уровне формошлёпа, то эти знания тебе пригодятся.

    Я лично прошёл этот ВУЗовский курс дискретной математики. Можно например взять его за основу. Достаточно простое, но при этом ёмкое изложение ИМХО.

    Опять же на истину не претендую, у меня лично математическое высшее образование (закончил ФПМ), поэтому мне это зашло. Тебе возможно будет не плохо параллельно заниматься с репетитором, что бы так сказать набить руку и понять основные математические подходы.

    После проходжения курса дискретной математики, периодически возвращаюсь к ней: перерешиваю задачи и повтораю теорию по этой книге: Р.М. Трохiмчук «Дискретна математика» Навч. посібник. РМОНУ. Но не заню, зайдёт ли данная книга на начальном уровне, возможно нужно посмотреть, что-то где всё более разжованно.

  2. Освоение одного из языков программирования, желательно C.
    Мотиваиция.

    В нашей профессии очень важно быть практиком, а не просто теоретизировать о высоких материях, красоте и стройности алгебраических систем и бесконечности. Тут важен навык, который сидит где-то в спинном мозге и получается путём постоянной практкити.

    Почему именно C.

    Во первых выучив C, потом будет гораздо проще освоить какой-ли более высокоуровневый язык из семейсва C-подобных (у них много одинаковых базовых констукций: условные операторы, циклы и т.д.) Во вторых, он достаточно высокооуровневый (относительно ассемблера там или опкодов процессора, содержит констукции для циклов, условных операторов и т.д., аналоги которых есть парктически во всех высокоуровневых языках. С другой стороны используя C — можно работать с железом на прямую, что даёт хорошее понимание архитектуры ПК).

    Мне лично понавилась книга (хотя и не прочёл её до конца) — Б.Керниган, Д.Ритчи. «Язык программирования C». По сути книга от создателей языка, очень простая, лаконичная с примерами.

Так же, не плохо на досуге, почитывать какие-то книги, статьи, смореть видео на YouTube, по ОС (желательно по *nix ибо они как правило сегодня открытые, и как результат ты можешь изучать их исходный код), дабы понимать возможности операционной системы в которой будешь проводить большую часть своего времени.


Здесь идёт речь о базе — базовых фундаменальных знаниях.
А дальше уже можно освоить ООП, паттерны проектирования (если захочешь делать эллектронику и embedded, то мат. анализ и ТОЭ). И выбрать направление в котором будешь разваиваться: web рзработка, desktop for linux / windows, embedded и т.д. и уже изучать инструменты специфичные для выбранной области.

Удачи в обучении !

Кто проходил пусть с новичка до программиста,Вы это все учили?

Тут практически все сеньорами рождались.

Может подскажете где есть более сжатая инфа по всему этому?

Сожми любую книжку архиватором и читай в сжатом виде.

Впевнені, що етап вибору ноутбуку вже пройшли? ;)) Тут це не рідкість;))

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
у вас на 2 курсе была теория вероятности?
Этот предмет нужен программисту?

Это предмет нужен человеку разумному — ибо альтернатива — быть обезъяной найоппаной (в картах, на финансовом рынке, в оценке вероятности успехов старт-апа).
Впрочем, тех поверхностных знаний, что дают на 2-м курсе, обычно не хватает.

Что касается основного вопроса, то во всех нормальных западных универах есть курс «Алгоритмы и структуры данных» — вот его бы и советовал проработать; сам делал такой в свое время в заочном университете Хагена, там математика и практика были очень удачно сбалансированы.

Есть и совершенно жуткие книги по теоретической информатике — но практику тратить на их время не стоит.
Вот для примера — мне она была интересна
www.amazon.com/...​p/B00O4WDQWO/?tag=lymg-20
потому что там упоминается теория меры (measure theory), на которой современная теория вероятностей и построена и которая применяется для оценки стоимости финансовых деривативов. Читать было интересно, но как я сказал, для практики в программировании, пользы ноль.

Всем отписавшимся ниже: теория вероятностеЙ, а не теория вероятности

Весь топик не читал, но думаю, там также найдется пара колхозников, которые измеряют вероятность в процентах.

а в чем?!?!?!
50 на 50 — или встретишь или нет

Сразу в бой, писать код. Теория без практики забывается мгновенно.
Я начинал с курса «Введение в программирование на языке Java » Яков Файн.
www.youtube.com/...​bZefB1_hhS68092rbF4HFtKjW
Очень доступно все разжевано, начиная от установки IDE и заканчивая вебом и базами данных.

Теория вероятности нужна если будете работать в сфере машинного обучения.

Я начал учить по книжке профессор Фортран, потом ещё пролог по книжке с Мэгре

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

Приведу пример: прежде чем изучать английский язык, начните изучать теорию языков. С родным языком, я полагаю, вы так делали? Взять к примеру слово хyй — расскажите пожалуйста теорию, попкорн ждёт

теория слова х*й, ну ты порвал шаблон! что-то там от праиндоевропейского, означающего хвоя

Но ты ж сначала вот эту лингвистику выучил, про хвою, а слово потом стал учить — верно?

математика, в тому числі теор.ймовірності тре для загального ровитку, а не для прогрмамування.
без в.о. можеш бути формошльопом, якого без корочки даже на блюкарту не візьмуть в поважну країну.

Абсолютно точно нужны — дискретная математика,база теории вероятности, теория алгоритмов(оценки сложности), теория баз данных, теория многопоточных систем, теория игр(как минимум основные типы игр и решения)

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

Мало нужен — матан, продвинутая геометрия и алгебра.
Больше всего дает дискретка/теорвер.

Из языков.. Если начинать, я бы начинал с питона. По нему сейчас есть вменяемые курсы, в нем есть почти все парадигмы, он требует структурированного написания и некритично медленее с/c++ зато сильно проще в начале и для отладки.
Ну и работы на питоне вроде как тоже прилично.

Потом учишь Js и кодишь ангуляр )

Не все и не всю жизнь то кодят ангуляр.
Хотите всю жизнь джуном работать — не учите нефига.

надо было, наверное, вставить большую картинку «сарказм». Жаль на доу картинки вставлять нельзя

я бы начинал с питона
некритично медленее с/c++

толсто

На реальных задачах разница CPython и С/C++ менне 2х раз. Знаю, поскольку пишу и на том и на том. Если использовать pypy то еще меньше. Все основные библиотеки питона написаны на C же от уже откомпилированы.
Если делать вставки в ассемблере и оптимизации более чем O1, то не пофигу уже на каком у вас языке основа то?
Зато отстрелить ногу джуниору сложнее на Питоне, как и отладка в разы проще.

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

как и отладка в разы проще.

как джун будет сишный код отлаживать?

не вижу ничего удобного. один мемори менеджмент между си и питоном это гемор

Это удобно для тех, кто знает, например математику, но плохо знает С или С++

либы на плюсах кто им писать и саппортить будет?

Все основные библиотеки питона написаны на C же от уже откомпилированы.

А почему не на питоне все основные библиотеки питона написаны, в чём дело?

Теория вероятности — часть курса высшей математики. Скорее всего, она есть во всех технических специальностях.

Кто проходил пусть с новичка до программиста

Не поверите — все проходили

Программки начните писать. Напишите калькулятор. Программу-рисовалку напишите. Игрушечку напишите. Не морочьте себе голову теориями раньше времени (а уж тем более теорией вероятности...)

Это стоит делать параллельно. Теория это прекрасно и она нужна для избежания узости кругозора. Но и реальный опыт взаимодействия с языком важен, чтобы понять теорию.
В любом случае, не стоит сдерживать себя от того, чтобы что-то потрогать руками. Пишут, a picture is worth thousand words, так вот сессия кодинга, пусть «наощупь» стоит 10000 слов.

Мой жизненный путь: папа принёс с работы ZX Spectrum, у него же нашёл книгу «Программирование на языке Basic в играх и задачах». После минимальной демонстрации «как ходят, как сдают» стал реализовывать программы из этой книги (на другом диалекте бейсика) и свои, копая в процессе документацию. Далее уже изучал другие языки и парадигмы и теорию.

Лучше Кнута все равно пока ничего не придумали...

Придумали. Кнут хорош как фундаментальный обзор, но и то уже заметно устарел — многих новшеств нет, ну и целых огромных отраслей.
А для первичного ознакомления есть много других базовых книг по алгоритмам и т.п.

Кнут хорош именно как фундамент. Насчет «новшеств» --- Вы всего Кнута имеете ввиду, или только его «классику» в 3 томах? Если все, то что именно он не включил в базу?

В трёх с половиной. То, что должно было быть в следующих томах по плану, и то, что вне плана.
Тематика даже этих трёх с половиной томов — жалкая крошечная часть всего программирования.

Ну и как фундамент, повторюсь, устаревает на глазах и чрезмерно объёмен. Хотя внушает, да.
Для первичного обучения всем темам — излишен.
Для глубокой вработки в тему, включая математику, на современном уровне — недостаточен.
Актуализировать такой объём один человек не может успеть по определению.
Всё, время одного универсала, увы, кончилось.
Как первопроходцу, я бы хоть сейчас памятник поставил. Но учиться по TAoCP уже не лучший вариант.

Кто проходил пусть с новичка до программиста,Вы это все учили?

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

База важна действительно, но я бы не сказал, что этой базой должна быть теория именно. Я бы сказал, намного важнее, при изучении высокоуровневого языка, начать с низкоуровневого. Это работает и в других областях. Это не так долго, да и не особо сложно, но потом зато понимаешь лучше тот набор абстракций и ограничений предложенных разными языками (языки не идеальны Python 2 и 3 — это чётко показывает). Так что, системы счисления, ASCII-UTF8-UTF16, и немного ассемблера. Вот это полезно.

Попробуй для начала вот это:
www.ozon.ru/...​ntext/detail/id/18319699
Будет и хорошо разжеванная теория и практика.

А сами изучали?Из своего опыта говорите?
Книга не маленькая .

Кто хочет быть крутым перцем?

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

Я бы порекомендовал распределить время которое ты планируешь тратить на обучение на две части:

  1. Дискретная математика
    Мотивация.

    Дискретная математика является основой информатики, как софтверной её составляющей (программирование, алгоритмика и т.д.), так и хардверной (электроника, цифровые логические вентили, ТТЛ и т.д.).

    Она состоит их следующих разделов математики:
      Теория множеств (основа реляционной алгебры, и как следствие основа для понимания СУБД и SQL)
      Общая алгебра
      Математическая логика (все OR, AND, NOT и т.д. которые есть в любых языках программирования)
      Логика предикатов (одна из основ SQL, LINQ и других технологий)
      Комбинаторика (нужна при изучении теории вероятностей — одной из основ AI и вообще фундаментальной науки)
      Теория графов (обходы деревьев, графов, задачи о потоках, и т.д. и т.п.)
      Теория алгоритмов
      Теория автоматов

    Как уже было сказано, по сути все эти математики являются фундаментом информатики. И если ты не планируешь остановиться в своём проф.развитии на уровне формошлёпа, то эти знания тебе пригодятся.

    Я лично прошёл этот ВУЗовский курс дискретной математики. Можно например взять его за основу. Достаточно простое, но при этом ёмкое изложение ИМХО.

    Опять же на истину не претендую, у меня лично математическое высшее образование (закончил ФПМ), поэтому мне это зашло. Тебе возможно будет не плохо параллельно заниматься с репетитором, что бы так сказать набить руку и понять основные математические подходы.

    После проходжения курса дискретной математики, периодически возвращаюсь к ней: перерешиваю задачи и повтораю теорию по этой книге: Р.М. Трохiмчук «Дискретна математика» Навч. посібник. РМОНУ. Но не заню, зайдёт ли данная книга на начальном уровне, возможно нужно посмотреть, что-то где всё более разжованно.

  2. Освоение одного из языков программирования, желательно C.
    Мотиваиция.

    В нашей профессии очень важно быть практиком, а не просто теоретизировать о высоких материях, красоте и стройности алгебраических систем и бесконечности. Тут важен навык, который сидит где-то в спинном мозге и получается путём постоянной практкити.

    Почему именно C.

    Во первых выучив C, потом будет гораздо проще освоить какой-ли более высокоуровневый язык из семейсва C-подобных (у них много одинаковых базовых констукций: условные операторы, циклы и т.д.) Во вторых, он достаточно высокооуровневый (относительно ассемблера там или опкодов процессора, содержит констукции для циклов, условных операторов и т.д., аналоги которых есть парктически во всех высокоуровневых языках. С другой стороны используя C — можно работать с железом на прямую, что даёт хорошее понимание архитектуры ПК).

    Мне лично понавилась книга (хотя и не прочёл её до конца) — Б.Керниган, Д.Ритчи. «Язык программирования C». По сути книга от создателей языка, очень простая, лаконичная с примерами.

Так же, не плохо на досуге, почитывать какие-то книги, статьи, смореть видео на YouTube, по ОС (желательно по *nix ибо они как правило сегодня открытые, и как результат ты можешь изучать их исходный код), дабы понимать возможности операционной системы в которой будешь проводить большую часть своего времени.


Здесь идёт речь о базе — базовых фундаменальных знаниях.
А дальше уже можно освоить ООП, паттерны проектирования (если захочешь делать эллектронику и embedded, то мат. анализ и ТОЭ). И выбрать направление в котором будешь разваиваться: web рзработка, desktop for linux / windows, embedded и т.д. и уже изучать инструменты специфичные для выбранной области.

Удачи в обучении !

На здоровье ! )

Да, и ещё один момент, возможно стоит не дробить время: часть на математику, часть на программирование. А изучить эти дисциплины последовательно, одну за другой. Что бы не распыляться, а сосредоточить всё внимание на чём-то одном. Вначале хорошо проработать дискретную математику, а потом переходить к программированию. Думаю стоит поэкспериментировать и потом выбрать для себя оптимальную форму обучения.

А нужна именно дискретная?
В универе только вышка обычная на 2 курсе

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

имеют дело с дискретными структурами. Т.е. с величинами расстояние между которыми не меньше некоторой заданной величины.

доволі авангардистське означення...

План крутий, єдине, що ви повинні розуміти, що опановування цього плану у вас займе, мінімум, рік + потім вивчення конкретної мови і технології.
Хоча, з великою ймовірністю, потім будете значно кращим спецом ніж середньостатистичний джуніор. Зате зможете подаватись на джуніорські позиції в топові контори а-ля Amazon && Google.
Якщо робота потрібна на вже, то тут явно інший підхід потрібен, але навіть тоді бажано паралельно працювати + освоїти приблизно цю програму.
Окрім того, коли почнете, власне писати код, потрібно практикуватись на онлайн тренажерах типу
www.firecode.io
leetcode.com

годный список, почти все описанное прошел в рамках институтского курса. из языков нам в институте давали: Си (общий курс программирования), ассемблер (курс «архитектура ЭВМ»), пролог (курс «основы систем искуственного интеллекта»).

где есть более сжатая инфа по всему этому?

Чим більше стиснута інфа тим менше вона буде зрозуміла новачку, тому краще поступово це вивчати.

P.S и такой вопросик, кто учился на комп. науках , у вас на 2 курсе была теория вероятности?

конечно была

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

Обязательно идти вот сюда rsdn.org/forum/alg и читать-читать-читать. Просто для примерного понимания круга задач, которые приходится решать программистам.

Чтобы примерно представить себе, как работают мозги у программиста, и чем он отличается от прочих, нужно читать вот это — rsdn.org/forum/etude

По-моему, они последние лет 5 из состояния «А мы тут Ёрли обходим на повороте, как бык овцу» не продвинулись. Зато нового пророка зовут Котлин.

А идеи невмерла тёзки производителей женского белья натягали в F#, который тоже в основном на хабре звенит.

Не призовём. Он не захочет vpnʼить сквозь роскомпозор, а вообще у него в голове империя, и он ждёт, когда сюда путлер придёт.
А вот какие-то местные ретрансляторы вполне возможны.

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

Одному из ста. Если повезёт.
Остальные будут ангулярам хвосты крутить, и вейпить от отчаяния.

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

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

А реально вместо этого нужно ходить на codingame.com / hackerrank.com / e-olymp.com / acmp.ru / acm.timus.ru / сотни их, где эти этюды гармонично сочетаются с банальным набиванием руки.

Хочешь сложные задачи иди

в науку

Тогда уже сразу на запад.
Здесь >90% научаются только фанфики писать в стиле «Программирование — процесс поиска совместимого решения делинеаризованной композиции компактифицированной предикативной группы в алгебре денонкомсатов».
Причём их зарплаты даже сейчас должно хватать на ACM membership, чтобы профильные журналы читать... но в лучшем случае этим озабочен один из 20.

Западная наука тоже не сахар, но сейчас продуктивность у неё явно выше, в разы.

Всьому в цьому житті є місце. Є місце тим, хто знає півтора синтакси і два фреймворка, і більше нічого, і є місце тим, хто примудряється з O(n^3) зробить O(logn), або втиснутись у флешу ембедовки із зазором у два байти. Є ті, хто тормоза у БД лікують розмноженням інстансів, а є ті, хто через галімий fxp0 пропихають 10кппс. І різниця між першими та другими зовні майже непомітна.

Навіть не знаю, про що розказать. Чого я тільки не бачив. Мускльові бази на MYISAM без жодного індексу взагалі? Сервер на убунті, яким керували через тімв’ювер? Обхід повного графу перебором? З мене досить того, що зараз 9 з 10 «програмістів» не знають, що таке XOR і, у випадку потреби, відчайдушно емулюють його стоповерховими кейсами.

Да все просто, делаешь O(n^3) а потом правишь )

Сливе так. Але:
1. Ті, хто «примудряється з O(n^3) зробить O(logn), або втиснутись у флешу ембедовки із зазором у два байти», ніколи це не зроблять без багатої практики. Так, «півтора синтаксиса» не зробить цього, але для тих досягнень звичайно треба вже знати 10 синтаксисів і стільки ж фреймворків, щоб було за що зачіпитися.
2. А чим вам fxp0 не вподобався? Дуже шустрі були картки, і 10kpps для них ніяк не стеля:)

А хто візьме «на багату практику» чудо, яке крім півтори синтаксів та двох фреймворків нічого не знає?

Аби з тупого кодера вирости у щось значуще, треба рости в ширину. І найголовніша навичка — це вміння нетривіально мислити. Але цій навичці в університетах не вчать :)

fxp — непогана залізяка, але з консумерських, без офлоадів. Набагато краща за dc/de, але все одно консумерська.

А хто візьме «на багату практику» чудо, яке крім півтори синтаксів та двох фреймворків нічого не знає?

Це залежить:) Аби задачі були, а там можна їх хоч частково розкидувати по юніорам і дивитись, хто що візьме.

Аби з тупого кодера вирости у щось значуще, треба рости в ширину. І найголовніша навичка — це вміння нетривіально мислити.

Або просто цікавитись за межами того, що явно потребують. А там і мислення розвинеться.

fxp — непогана залізяка, але з консумерських, без офлоадів.

Хм? Взагалі то був цілий клас залізяк, і деякі багато що вміли. Ось у перших 5 посиланнях приклад вже з контрольними сумами. I з вбудованим IPSec були варіанти. А що ви хотіли, щоб вона офлоадила — фрагментацію?

По ссилці вже 82555 :) А мені в 99-му довелося патчити сирці 3.3, аби якась 824хх завелась — драйвер її тупо не розпізнавав. Ну, то таке. Все одно щастя почалося з igb.

Ми не перетиналися в 2001, коли CodeRed ддосом на мій шлюз поклав всі аплінки аж до Франкфурта?

А мені в 99-му довелося патчити сирці 3.3, аби якась 824хх завелась — драйвер її тупо не розпізнавав.

Мабуть, 82540? Це вже гігабіт був, їх спочатку теж на fxp тягнули, але швидко відокремили у em.

Ми не перетиналися в 2001, коли CodeRed ддосом на мій шлюз поклав всі аплінки аж до Франкфурта?

Ні. Я взагалі не нокерствував, в мене були пошта, юзнет, і інші речі з L3/L4.

взнання нового — частина роботи кодера, так що тре хоча би для розмінк мозгов.

тыкай носом во всё, что интересно.

хорошая теория по ЯП — язык С (Си без плюсов) — компактно, лаконично.
несколько месяцев почитаешь\поиграешь — польза на всю оставшуюся жизнь.

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

P.S и такой вопросик, кто учился на комп. науках , у вас на 2 курсе была теория вероятности?

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

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

Теория вероятности абсолютно бесполезная фигня. Если не шаришь ни в чем начинать надо с понимания основ в плане базовых знаний, которые одинаковые во всех языках(классы, алгоритмы, паттерны) ну и начинать наверное стоит с того языка в какую отрасль собираешься идти работать. Там уж python хороший выбор. С него и в веб и в простые приложения можно перейти. И синтаксис очень схожи с С++

По совету тут ,решил начать с С++ .
И с минимальной хотя бы теории .

есть смысл .. потом полирнуть плюсы Перлом, и после такого аперетива Тебе все остальные языки покажутся детской забавкой :8)

Теория вероятности абсолютно бесполезная фигня.

Кул стори, бро. Как и вся теория информации, статистика, криптография, вероятностные алгоритмы, machine learning и так далее. Не говоря уже о всяких Quantopian.

Может подскажете где есть более сжатая инфа по всему этому?

dou.ua/...​nta/tags/советы сеньоров

Кто проходил пусть с новичка до программиста,Вы это все учили?

Тут практически все сеньорами рождались.

Может подскажете где есть более сжатая инфа по всему этому?

Сожми любую книжку архиватором и читай в сжатом виде.

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

Хотя самой первой задачкой был перевод из фарнегейтов в цельсий. А до этого был BASIC в школе.

Я так понял книжку\курс вы даже не открывали или сейчас с первых страниц баттлкурзеры из говна и палок собирают?

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

Особо заморачиваться в начале не стоит. Сначала синтаксис языка, потом основные структуры данных и немного про сортировки всякие, а потом пет проджекты лабать на современных фреемверках. Вот и все что тебе надо для начала. Теория без практики в программировании, впрочем как и в остальном быстро списывается мозгами в небытие, ту не нужно зубрить, тут нужно больше практики.

Что за клоуны в комментариях, типа не твое и тд, жалко таких людей недосоветчиков. Скажу тебе так, главное начать хоть с чего то, советую начать с С++. Найди на ютубе чувака #Simplecode и пройди курс его по С++ (он прям оочень круто объясняет, для новичка при желании понять будет очень легко), след языки тебе будет легче осваивать. Да и в процессе обучения того же С++ большая часть твоих вопросов отпадут.

Да, после его видео уроков смог устроится на работу, пишу GUI на qt

За Simplecode дико плюсую, после его видосов и немного qt нашёл работу и пилю GUIшки

Это такой вид продвижения или мне кажется ? :)

С английским у меня пока никак .
2 месяца как начал учить .

newstar.rinet.ru/~goga/sicp/sicp.pdf — SICP в переводе. ;)

З.Ы. sicp.sergeykhenkin.com/sicp-exercise-solutions — Решения упражнений из SICP (тоже на русском)

SICP весь надо изучить,или на какие то главы особенно обратить внимание?

Насколько я понимаю, желательно весь.
Хотя в оригинале там изучается на примере языка Scheme (диалект лиспа), но можно поискать лекции от MIT, где они SICP на примере Python’а дают.

Рекомендую отложить программирование или что-то по чуть чуть учить, основной упор сделать на английский. Английский, в отличие от с++, за 21 день не выучить.

-для чего в моторе нужен коленвал? -чтобы цилиндры (цилиндры, Карл!) вращались. я такое слышал в автошколе, еще и от студента технического университета. всю группу просто порвало. про карбюратор лишнее, но общие принципы работы ДВС водитель должен знать

Впевнені, що етап вибору ноутбуку вже пройшли? ;)) Тут це не рідкість;))

Впевнені, що етап вибору ноутбуку вже пройшли? ;))

Причём не просто ноутбука, а ноутбука для программиста в 2018 году! %)

Навіщо таке старйо? Щоб через 9 днів прийшлося купувати новий?

Даже не задумывался об этом))

Слухач запитав армянське радіо:
— Я хочу стати хакєром і взломать банкомат. Що мені для цього потрібно?
Армянське радіо подумало і відповіло:
— Вам потрібен ноутбук і кувалда. Підходите до банкомата, кувалдою роз%$@#єте його, забираєте гроші і тікаєте.
— А навіщо ноутбук?
— Ну який же ви хакєр без ноутбука!

Вопрос из темы — и рыбку съесть, и пиво выпить. Бросил бы ты эту затею, не твое оно

С чего вы взяли?
Из за того что не абы как начал ,а интересуюсь у более опытных с чего начать ,чтобы не было каши и было более разумно ?
Прикольно ..

Объясню по другому — если я покупаю дрель, я ее покупаю не для того, чтобы научиться ее работать (хотя это тоже важно, но второстепенно), а для того , чтобы прибить, скажем, полку. Не те задачи ставишь для себя. Ты хочешь освоить программирование, но не ставишь вопрос для чего. Получать приличную зарплату? Не все там получают те деньги, о которых ты слышал. Если дело только в ней, не проще поискать себе применение, что тебе ближе. Хороший сантехник или автослесарь зарабатывают тоже хорошо, к ним за полгода очередь занимают.

Прикольно ..

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

Я знаю очень многих людей которые пошли в IT именно ради денег ,причем многие после 25-30 лет ,И работают ,и получают неплохие деньги.
Что скажете?
С чего взяли что у меня не получится?
Если я увижу что за год усердных занятий у меня ничего не получается,тогда я возможно пойму что это «не мое».
Хотя я склонен к мнению ,что когда человек ставит перед собой цель и хочет ее достичь,он ее достигает!

У кого «более опытных»? Тут спектр ответов такой широкий.... Кого слушать-то будете? Уж не тех ли, кто говорит то, что вы хотите услышать? С равным успехом можно было и не спрашивать

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

ну там, алгоритмы

А навыки по алгоритмам Вы тоже в «теории» будет оттачивать или все таки выберете какой нибудь язык?=)

Я ж и спрашиваю,сначала начать с Теории ,с базы?
А через пару недель уже углубляться в какой то язык выбранный .

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

Сам, как учащийся, могу сказать что нельзя оторвать теорию от практики, ты можешь понять как работает та же сортировка в теории, а начнёшь реализовывать и возникнет куча вопросов.

А предыдущее поколение вообще компьютеров не имело и писало программы на листике и исполняло в голове.

Давайте ещё Аду Лавлейс вспомним, к чему это? Мы же говорим об обучении в наши дни.

Тетрадь в линейку для 3-го класса ничем не отличается от тетради в линейку для 7-го класса.

Я к тому что вряд-ли получится учить теорию без практики.

Подписаться на комментарии