Язык программирования под конкретную задачу + с нуля + хорошая база?
Исходные условия:
25 лет
Хороший английский (легко читаю мануалы/воспринимаю на слух)
Слабый матан (не было мотивации/необходимости, при наличии - смогу улучшить)
Слабое знание статистических методов анализа (с универа - психфак)
7 лет назад КМС по шахматам :)
Знание html
Около нулевые знания языков программирования
Свободное время по вечерам, выходным
Мотивация:
Несколько простых проектов
Для "общего образования/развития)
Для работы (проект-менеджер - куча разных задач)*
Задачи:
1) Написать программу для себя. Программа - тренажер на n-back задачи. Есть много готовых вариантов, но мне нужен свой, с блекджеком и куртизанками.
А именно, программа должна: Min:
работать на PC
Иметь стандартный функционал n-back тренажеров
Возможность использовать в кач-ве стимулов (картинка, звук, слово, символ) - собственные (этого не находил в существующих вариантах), легко менять их Max:
+ версия для личного использования на android & iOS
+ web версия
+ опубликовать прогу в андроид маркет/iOS
Это основная задача, главный источник мотивации. Ресурс мотивации ограничен, лучше сделать с костылями, по-минимуму. Чем быстрее и проще, тем лучше.
2) Заложить хорошую базу для понимания программирования в целом.
Она несколько противоречит основной задаче.
Это не главная, но значимая задача. В идеале используя мотивацию к задаче 1, хочу втянуться в программирование.
Пока не планирую делать программирование своей профессией, но считаю навык программирования сейчас, равноценным навыку письму в ~17 веке. Весьма полезный навык (становящийся все более необходимым) для личного использования.
3) Разнообразные задачи в сфере менеджмента проектов. Хорошо бы разбираться в азах, чтобы понимать веб-програмистов, програмистов 1С. Возможно программистов металлообрабатывающих станков (не уверен понадобится или нет). Близко к задаче номер 2.
4) Отдаленная цель (для которой полезна база) - научиться простому программированию контролеров.
Этой целью можно пожертвовать.
5) Работа с БД и обработка информации вообще.
Задачи типа парсинга, создания БД (например БД интернет магазина и заливка её непосредственно в БД CMS).
В принципе мне сейчас хватает знаний html для настройки готового парсера. Для работы с БД магазина с помощью спец проги тоже.
Но в целом больше понимать работу SQL и принципы БД вообще - было бы полезно.
Не уверен, что мне когда либо понадобится написать свой парсер. Но написать плагин к парсеру (datacol) - уже была потребность.
Вот такие цели. Основная первая, распыляться не хочу (может не хватить мотивации). Очень желательно написать функциональную прогу за месяц-два, если это реально.
Какой язык посоветуете?
В плане: сложности/времени освоения/хорошей базы для последующего развития?
Сколько времени и сил на какой языке может занять написание проги из первой цели c min функционалом?
К языку киньте пжл хороших мануалов (рус/анг). Понимаю, мануалов море, но какой хороший, а какой нет я на данном этапе не разберусь.
Мне кажется вы слишком глобальные цели ставите. Программирование контроллеров, 1С, Web, GUI для iOS, Android, PC (Windows? Linux? MacOS?) это обширные области со своей спецификой.
Более рационально на мой взгляд не искать "серебряную пулю" под все ваши желания, а взять минимальную задачу и реализовать ее на одном из современных мэйнстримовых языков программирования. В процессе поймете уже, готовы ли вы к задачам максимум и куда вам нужно двигаться.
Python, Ruby, JS/CoffeeScript вполне годные кандидаты.
Java, С# - в принципе тоже
PHP - категорически не рекомендую, но его стабильно выбирают новички потому что он концептуально простой и популярный.
Ну и еще из опыта - относитесь к выбору языка программирования как к выбору инструмента под задачу, а не как к единственному выбору на всю жизнь. У программистов считается хорошим тоном неплохо знать 2-3 языка, и поверхностно десяток-другой.
Согласен. PHP не особо рассматриваю (хотя учитывая что я связан с вебом, был бы полезен в работе) - потому что много слышал, что начинать с него - не очень правильно.
Задачи накидал - как пример задач, которыми мне полезно было бы заняться. Я понимаю что это все отдельные области, но у меня нет пока необходимости сильно углубляться в какую-то из них. Особенно пока я слабо их знаю.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.