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

Помогите советом.

 Гриша Перельман Пт 19 июня 2015 17:27:23 #1 №32620 

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

Гриша Перельман Пт 19 июня 2015 18:09:52 #2 №32621 

Чем заниматься-то хочешь, скажи конкретнее.
И ещё, какая у тебя математическая подготовка?

Гриша Перельман Пт 19 июня 2015 19:51:56 #3 №32622 

>>32620
Изи ту сэй.
Учишь мат. логику и теорию алгоритмов. (Лекции Шеня. Сначала читай про логику высказываний и логику предикатов, затем в теорию вычислимости. Не помешает уметь в мощности множеств).
Изучаешь основы лин. алгебры(Кострикин Введение в линал или что сам найдешь). Там все довольно-таки полезно.
Неплохо бы суметь в аналитическую геометрию.
Ну, и немного в матан. Примерно до дифференцирования.(Фихтенгольц, Кудрявцев, Зорич).
Все мат. подготовка будет достаточной. Дальше тебя ждет путешествие в мир кодинга. Рекомендую начинать с Си, ибо годная, быстрая штука, которая вводит фундаментальные понятия. Литература: многим нравится читать книгу за авторством Кернигана и Ритчи. Но я рекоммендую Head First "Программируем на Си" или как-то так.
Когда прочтешь книжку, разберешься с синтаксисом. Пробуй изучать и реализовывать разнообразные алгоритмы из книжки того же Кормака или Кнута(хотя он зубодробителен); тут тебе поможет твоя мат. подготовка.
Потом переходишь на ОПП. Фсе. Ты относительно годный программист.
Только я тебя умоляю не начинай свое путешествие с б-гомерзкого PHP.
Полезные скилы, которые пригодятся: умение работать с html и css + какой-нибудь скриптовый язычок вроде Питона. Ну это так не особо хардкорно их стоит задрачивать.

Гриша Перельман Пт 19 июня 2015 19:52:56 #4 №32623 

>>32622
Забыл написать еще про дисккретную математику. Неплохо бы знать в теорию графов.

Юзан Вс 21 июня 2015 18:18:21 #5 №32629 

>>32622
За ответ спасибо, хочу разочаровать, я всё ещё школьник, но это не значит, что я не буду заниматься программированием сейчас.

Гриша Перельман Вс 21 июня 2015 18:32:31 #6 №32630 

>>32622
Прошу простить моё вмешательство. Често хочется узнать, Вы правду говорите или троллите.
Я просто к чему, сам учил 5 лет всякий матан, грыз Кнута с его несуществующей машиной. Уже 6 лет как положил на полочку диплом (который, кстати, ни одна собака на собеседовании ни разу не спрашивала)... Сейчас в качестве лида занимаюсь разработкой корпоративной CRM.
И мне-таки дико интересно, где Вам в бизнес-практике пригодилась настоящая хардкорная математика? Гораздо больше по моему опыту шансов применить знания булевой алгебры (тут уж никуда, правда), дискретки и теории реляционных бд. Или я что-то делаю не так?

Школьник, добавлю к предыдущей просьбе: не начинай писать под Win32 в дельфях: карму на 20 жизней вперёд запорешь.

Юзан Пн 22 июня 2015 16:10:28 #7 №32632 

>>32630
Можете посоветовать с чего мне начать, и прошу поконкретнее (я не очень понимаю и половины того, что вы написали). И заранее спасибо!

Гриша Перельман Вт 23 июня 2015 03:38:55 #8 №32633 

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

Гриша Перельман Вт 23 июня 2015 08:28:29 #9 №32634 

>>32633
Плюсую.

>>32632
Просто не забивай в школе на математику, не надейся обойтись без знания английского, учись на 5 по этим предметам. А на досуге возьми какой-нибудь базовый учебник по программированию вообще (типа того же "C++ for Dummies" за авторством Stephen R. Davis), чтобы разбираться в терминологии и иметь начальное представление о парадигмах программирования. Затем справочник по C++ в наиболее интересной тебе среде (уже не учебник, а именно справочник - толстый такой, с подробным описанием всех типов, стандартных классов, синтаксических конструкций и т.д.) и постоянно обращаясь к этому справочнику пиши на досуге небольшие программки, хоть какие, лишь бы рабочие. Хочешь свои самокаты изобретай, хочешь, мелкие игрушки делай, хочешь - полистай задания на фриласерских сайтах и попробуй чисто для себя сделать что-то заинтересовавшее.
Постепенно повышая сложность таких задачек, будешь расти как кодер.

Гриша Перельман Вт 23 июня 2015 10:32:51 #10 №32635 

>>32634

>2015 год
>рекомендует изучать C++ полному новичку

Да вы, уважаемый Перельман, тот ещё садист...

Юзан Вт 23 июня 2015 12:42:31 #11 №32636 

>>32634
Вы прямо описали мою школьную жизнь. Правда с С++ я ещё не работал но кое-что уже знаю.

Гриша Перельман Ср 24 июня 2015 14:02:50 #12 №32638 

>>32620
Если хочешь освоиться с программированием возьми лучше тот же Python, начни быдлокодить что-нибудь интересное лично для тебя. (игрушку, сайт, автоматизацию чего-либо, etc., благо библиотек в помощь будет хватать) В процессе быдлокодинга усиленно кури документацию, читай всякие реддиты, стековерфловы, блоги по связанным с твоей проблемой вопросам, учись оттуда лучшим практикам. Законичв один проект (или же бросив его), принимайся за следующий. Успешно сделав несколько подобных проектов, ты уже по сути тянешь на уровень джуниор программиста в конторке.
Если дело пойдёт и ты поймёшь, что программирование твоё, то можно переходить на следующие языки, будь то Pure C, Rust, LISP, Go, D, Java, в общем чего душа пожелает и что понравится больше. Только не советую приниматься за C++, если не планируешь специально работать с ним. Огребёшь больше проблем мозго**бства, нежели пользы.

Путь выше, это полностью самообучение, в идеале, это всё лучше комбинировать с тем что описал >>32622 посредством обучения в университете по данной специальности.

Юзан Ср 24 июня 2015 14:26:43 #13 №32639 

Неужели С++ такой сложный?

Гриша Перельман Ср 24 июня 2015 18:45:35 #14 №32640 

>>32639
Имхо, быдлокодить на нем ты сможешь относительно быстро, тем более, если уже мог когда-то в другой ЯП. Однако, замастерить его за короткое время читай: 2-3 года маловероятно.

Юзан Ср 24 июня 2015 20:09:10 #15 №32641 

>>32640
Ну что ж, тогда мне придётся много учиться.

Гриша Перельман Чт 25 июня 2015 13:14:07 #16 №32642 

>>32639

Да. Проверено собственно жёпкой в этом году.

Гриша Перельман Пт 26 июня 2015 00:20:45 #17 №32643 

>>32630
Дельфи-то чем не угодили?
Вполне удобный инструмент для быстрого создания прикладных программ.

Гриша Перельман Сб 27 июня 2015 06:57:37 #18 №32644 

>>32634
Госпади!
Сначала надо изучить Ассемблер, начиная с аппаратного уровня, чтобы понимать, что происходит и как всё работает, потом быстренько освоить динамические данные и ооп в каком-нибудь делфи, а уж потом приступать к си++ - тогда си будет легким, понятным и прозрачным.
Даже несколько примитивным будет казаться.

Гриша Перельман Сб 27 июня 2015 08:17:18 #19 №32645 

>>32644

>Ассемблер

для ЭВМ «Наири»
если сможешь его понять
ещё никто за 50 лет не смог
однако оно работает
но никто не знает, как
всё остальное - xyuma, электронные аналоги арифмометра
понимать там нечего
кроме теории конечных автоматов

Гриша Перельман Сб 27 июня 2015 10:27:24 #20 №32646 

>>32620
Я бы посоветовал хотя бы бегло ознакомиться со следующими языками:

BASIC - чтобы убедиться, что писание программ тебе посильно.
Машинный код / assembler - чтобы их исполнение не выглядело магией.
Delphi - чтобы научиться программированию как таковому.
C++ - как наиболее универсальный и распространённый язык.
Далее - по выбранной к тому времени специализации.

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

Юзан Сб 27 июня 2015 11:42:29 #21 №32647 

>>32646
Да, я уже начал практиковаться.

Гриша Перельман Вс 28 июня 2015 07:20:16 #22 №32652 

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

Гриша Перельман Вс 28 июня 2015 14:34:02 #23 №32653 

>>32652

+1, тьфу, удваиваю вопрос.

Гриша Перельман Ср 01 июля 2015 19:07:07 #24 №32662 

>>32652

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

Удвоил снова.

Гриша Перельман Пн 31 августа 2015 07:21:11 #25 №32795 

>>32652

>А где можно подцепить для тренировки несколько реальных практических задач?
>Чтобы получить хоть какое-то представление о сути работы.
>Чтобы с требованиями по оформлению, чтобы бессмысленный сам по себе кусок кода, о котором известны лишь входные и выходные дданные по ТЗ и всё такое.
>Учебные задания хороши, но они далеки от реальности.

Informatics.mccme.RU вроде

Гриша Перельман Пн 31 августа 2015 12:44:50 #26 №32796 

www.codeacademy.com

comments powered by Disqus

Отзывы и предложения