LINUX.ORG.RU

iOS/Android/Web/Desktop

 , , ,


2

1

Перерыл кучу форумов, прочитал мого тем на этом форуме. Есть вопрос - с чего лучше начать, что бы потом удалённо работать (попутно разрабатывая свои приложения как стартап)? Больше всего симпотизирует Mobile Dev, но из программирования у меня только тема из книги по C# «Типы данных».

Есть macbook, но как я почитал на форумах, Objective-C совсем не для начинающих. В web надо очень-очень много учить для начала (я не против) и очень много практиковаться, а хотелось бы уже через год-два начать работать программистом. Вроде бы web советуют для быстрого старта, но html, css, bootstrap, js, jquery, php, фреймворк для php это не совсем быстрый старт.

В общем я запутался, помогите «расспутаться» пожалуйста.

Я на форуме «новый», так что тролли - проходите мимо. Заранее спасибо.



Последнее исправление: luchshiivovselennoi (всего исправлений: 1)

Завтра ищешь в интернете книжку Dive into python. Похер если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выродков / просто неудачников типа рейфага или сисярп/джава-молокососов, которые сосут по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.

Kilte ★★★★★
()

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

Рабочий путь для iOS разработчика:

1. Выучить C. Прочитай Керниган-Ритчи, убедись, что ты на отлично понимаешь все концепции языка. За последними стандартами не гонись, там ничего концептуально интересного нет, C89 для обучения хватит за глаза. Linux, OS X отлично подходят для изучения и тренировок. Попутно научись пользоваться любым консольным редактором (желательно vim, emacs), bash-ем, make-ом, gdb. Сильно погружаться не надо, просто чтобы хватало базовых знаний. Это займёт полгода-год.

2. Выучить Objective C. Тут нужен XCode. Книжек, статей полно. При знании C с этим должен справиться без больших проблем. Пиши консольные программы пока что. С этим можно за месяц-два справиться.

3. Сейчас уже можно начинать изучать Cocoa Touch. Нужен XCode, желательно айфон, в идеале 4S (он старый, относительно медленный, сразу покажет все твои косяки с производительностью). В принципе можно и на симуляторе учиться, но для реальной работы обязательно нужно устройство. Тема обширная, учиться можно годами. Но в принципе за полгода основные компоненты и концепции должен освоить.

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

Отдельный момент про язык программирования Swift. Apple его позиционирует как замену Objective C в долгосрочном периоде, но этого не произойдёт ещё очень долго. В мире огромное число документации по Objective C, поэтому его читать и писать уметь надо в любом случае. Имея вышеописанную базу Swift можно выучить за недельку-две, ничего особого в нём нет. Да и большой нужды использовать Swift вместо Objective C тоже нет, разве что заказчик будет настаивать.

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

Альтернативный путь — похватать вершки и начать писать в stackoverflow-oriented стиле (за каждым чихом бегать в интернет, бездумно копипастить решения и рандомно править его, пока не заработает). Тут можно и за неделю стать веб-разработчиком с нуля. Но реальные проблемы ты решать с такими знаниями не сможешь. Только работать на подхвате, дёргая старших товарищей по всем возникающим проблемам. И самостоятельно сможешь работать через те же год-два, только у тебя уже будет искалечен мозг и тебе ещё много лет придётся выстраивать правильную картину мира у себя в голове.

Legioner ★★★★★
()
Ответ на: комментарий от Kilte

Завтра ищешь в интернете книжку Dive into python. Похер если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выродков / просто неудачников типа рейфага или сисярп/джава-молокососов, которые сосут по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.

А теперь, внимание, вопрос: кто такой рейфаг?

anonymous
()
Ответ на: комментарий от Legioner

В теории, если брать андроид в качестве старта, то там порог вхождения сильно ниже. Но свои подводные камни тоже есть.

mono ★★★★★
()
Ответ на: комментарий от mono

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

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

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

Это раньше было. Сейчас всё намного проще, скачал Android Studio и вперёд.

mono ★★★★★
()
Ответ на: комментарий от Kilte

Советовать человеку начинать программировать с питона - это такой изощрённый садизм.

hobbit ★★★★★
()

Для совсем-совсем начинающего и вправду видимо лучшее начало - Java SE. Язык простой, библиотеки стройные, будет нормальная база для хорошего изучения традиционного императивного (а с восьмерочкой - уже и не совсем императивного) программирования, ООП и проектирования программ, интерфейсов, тестирования и т.д. Из явы открывается сразу несколько путей. Во-первых, это само собой Android. Во-вторых, это традиционное веб-программирование с использованием Java-технологий, которое со временем непременно потащит за собой JS и современные технологии разработки фронтэнда. В-третьих, рано или поздно ты узнаешь, что такое Scala и Clojure - и там уже начнется совсем другая история :)

ovk48 ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.