Перспективный язык программирования

87793
На сайте с 12.09.2009
Offline
661
#11
Kait:
Программируют не "на", а "с помощью" языка программирования.

Почему это не "на"? 😕

Наше дело правое - не мешать левому!
Mad_Man
На сайте с 10.11.2008
Offline
162
#12
87793:
Почему это не "на"? 😕

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

Никто не учит какой-то конкретный язык. Если у кого-то мозгов хватает только на запоминание методов из фремфорка\глобального неймспейса, то на кой чёрт нужно это необучаемое гуано?

M
На сайте с 20.07.2008
Offline
86
#13
alekseevich:
Сын - подросток заинтересовался программированием, начал учить php. Намерения серьезные :), собирается в будущем работать по этой специальности. Подскажите пожалуйста, какой язык перспективнее учить?

Английский - самый перспективный, без шуток.

http://pastebin.com/nwYaB1XR

Mad_Man
На сайте с 10.11.2008
Offline
162
#14
moalexey:
http://pastebin.com/nwYaB1XR

Внезапно, что-то годное. Плюсую к Таненбауму и прочим радостям.

87793
На сайте с 12.09.2009
Offline
661
#15
Mad_Man:
Никто не учит какой-то конкретный язык.

Откуда у Вас такие представления? 😕

Тем более насчёт никто :D.

Мемори
На сайте с 11.11.2012
Offline
105
#16

зависит от качеств обучаемого, путь 1) стать супер про в узкой области, например php, но быть в нем реально всезнайкой, проникнуть во все глубины и тд. быть способным на php в данном случае делать такое, чтобы другие прогеры не верили, что это возможно сделать на php или 2) широкий, но несколько поверхностный охват всех современных технологий - это с прицелом на руководящую должность, типа тим-леад девелопер.

Если верить в сверх перспективность мобильности, то разумнее ставку делать не на php, а на Objective-C и Java. Если верить в Микроофт то C#. Если ставить на мобильность, скорострельность, кросс-платформенность, но быть готовым к немного сыроватому продукту с огромным потенциалом то изучать Delphi XE 5 (рисковано, но на то и молодость, чтобы рисковать!)

Chesterfield
На сайте с 30.03.2012
Offline
69
#17

По себе знаю, что получить исчерпывающий ответ на данный вопрос на форумах очень сложно. Надеюсь, что получившаяся статья поможет определиться в выборе дальнейшего пути хотя бы одному потенциальному программисту ;)

Если серьезно подходить к выбору дальнейшего пути, важно "на берегу" определиться с наиболее привлекательной сферой кодерской деятельности.

Сегодня можно выделить следующие направления:

1.Web-программирование

Плюсы:

  • низкий порог входа. Большинство программистов в этой сфере - молодые люди до 25 лет, в основном самоучки;
  • огромный спрос на услуги - образно говора, ежедневно создаются тысячи сайтов и сервисов. Ежедневно требуются доработки для десятков тысяч сайтов, созданных ранее.
  • оплата. Хороший специалист в web-программировании вряд ли останется без работы голодать. Хорошего специалиста ждут как хорошие зарплаты в оффлайн-конторах, так и хорошие биды на на фрилансе.
  • если человек намерен связать свою жизнь с вебом, то полученные навыки программирования будут ему очень помогать на протяжении всего профессионального пути, даже если он станет менеджером проекта или руководителем it-отдела.

Минусы:

  • низкий порог входа и возможность получать хорошие деньги не отходя от компьютера породили бешеную конкуренцию в этой сфере. Тонны быдлкодеров и индусов готовы впахивать за 100 руб./час, а тонны алчных заказчиков ведутся на это. Нет, профессионала это мало волнует - он работой обеспечен всегда, его ценят и всячески поощряют, в том числе, хорошим рублем...но ваш сын пока не профессионал и ему придется на своей шкуре ощутить все прелести этого "минуса".
  • предвзятое отношение со стороны "хабр-сообщества", "серьезных" программистов, которые считают php-истов быдлокодерами, ставят в один ряд с "одинэсниками". PHP обвиняют в отсутствии архитектуры и прочих грехах, проявляя некоторую лояльность разве что к бэкенд-разработке. Как бы пофиг, но это тоже нужно учесть, когда ваш сын будет отвечать себе на вопрос, что он хочет в итоге получить от занятия программированием и к чему придет в конце. В чем-то они все-таки правы.

Технологии и языки:

Фронтенд (лицевая, клиентская часть) - языки верстки/разметки - HTML, CSS, Javascript (HTML5, CSS3, Jquery).

Бэкэнд (непосредственно программирование сайта, серверная часть):

  • PHP + MySQL;
  • Ruby;
  • Python.

Фреймворки, облегчающие процесс бэкенд-разработки:

  • Bootstrap, Yii, CodeIgniter, Zend;
  • Ruby on Rails;
  • Django (Python).

Также необходимы знания и навыки работы с топовыми CMS, т.к. большинство сайтов разрабатываются именно с помощью них:

  • Wordpress;
  • Drupal;
  • Bitrix;
  • Opencart;
  • Magento.

2. Разработка программного обеспечения

Плюсы:

  • сегодня все автоматизируется. Малому и среднему бизнесу необходимы свежие решения конкретных задач, за которые он готов выкладывать немалые суммы. Бизнес наконец-то созрел и готов платить за хороший софт.
  • зарубежный бизнес ценит российского программиста. Написание php-скрипта он, может быть, и отдаст филлипинцам, а вот разработку корпоративного софта он лучше отдаст небольшой команде из России. Оплата соответствующая.
  • корпоративный софт в России убог. Поле для деятельности непаханное, несмотря на кажущуюся конкуренцию.
  • если в веб-программировании чтобы кушать нужно постоянно работать, то в данной сфере достаточно написать небольшую софтину для ряда компаний, чтобы жить несколько лет на одной только абонентской плате за её использование - есть ряд живых примеров.

Минусы:

  • более высокий порог входа, нежели в web-программирование.
  • если для веб-программиста в большинстве случаев хватает знаний технологий веб-разработки, то для разработки ПО нужно досконально изучать область применения.
  • на фрилансе заказов на софт гораздо меньше, чем на WEB. Потому десктоп-программисты, как правило, больше заняты в оффлайне.
  • на разработке и продаже ПО можно построить серьезный и высокорентабельный бизнес. Вот только перед этим придется получить навыки управления (оптимальнее в виде полноценного образования), а также серьезно вложиться. Конечно же, это не совсем "минус". Но дело это не для ищущих легких путей.
  • также редко встретишь профессиональных разработчиков ПО, у которых за плечами нет 5 лет ВУЗа и специальности, схожей с IT. Программирование - одна из тех сфер, где годы штудирования высшей математики не проходят зря. Самоучкам тут сложновато.

Основные языки:

  • C
  • C++
  • Java
  • Python
  • C#

3. Разработка мобильных приложений

Плюсы:

  • этот рынок стремительно набирает обороты. Пожалуй, самое перспективное направление сегодня. Число пользователей Android перевалила за миллиард. iOS чуть отстает, но с учетом ценового сегмента и у них все замечательно - более 600 млн. пользователей.
  • за разработку мобильных приложений платят очень хорошие деньги. Они нужны всем - от региональных служб такси до крупного международного бизнеса и государственных структур.
  • пока еще довольно низкая конкуренция на фрилансе.

Минусы:

  • т.к. рынок еще находится в стадии развития, очень мало вакансий в регионах. С голода разработчик не пропадет, но и на рынке труда вряд ли нарасхват будет. Все пока в сети.
  • организация полноценной студии разработки потребует полноценных вложений, как в полноценный малый бизнес. Отдача от выпуска собственных приложений очень непредсказуема. Если одно из десяти выстрелит и принесет прибыль, перекрывающую все прошлые затраты, да еще и с рентабельностью в 20-30%, то это успех.

Технологии и языки разработки:

  • для iOS - Objective-C
  • для Android - Java

В случае iOS - более обеспеченные пользователи, привыкшие платить за приложения. В случае Android - массовость, бешеный трафик на приложения, сумевшие пробиться в ТОП play market. А, как известно, чем больше трафика, тем больше продаж. Я бы порекомендовал в зависимости от задач вести разработку под обе платформы.

4. Enterprise - программирование

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

В данном деле нет дилетантов и кодеров-машинистов. Правило 10 000 часов (чтобы стать профессионалом) тут не работает - требуется гораздо больше времени. А обеспечение и оплата данных специалистов построена таким образом, чтобы голова у них была занята только "биг датой", а не какими-то материальными вопросами.

Основной язык - Java. На подмоге C и C++, иногда скриптовый Python. Высшее IT-образование с изрядной долей высшей математики и соответствующий склад ума - необходимость.

Вывод

Ваш сын уже практически сделал свой выбор, вступив на тропу web-программирования, начав изучать PHP. Что же, это наиболее оптимальный выбор для новичка.

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

1. Для начала пусть овладеет основами - веб-разметкой и версткой. Для этого необходимо изучить:

  • HTML + HTML5
  • CSS + CSS3
  • Javascript + Jquery
  • html/css-фреймворки (bootstrap и т.д.)
  • технологии верстки современных веб-страниц

Конечно же, полученные знания необходимо закрепить на практике:

  • создание страниц на чистом html+css+javasript
  • верстка макетов в html+css+javasript
  • верстка и натяжка макетов на топовые CMS (wordpress, joomla, темизация drupal, bitrix)
  • выполнение заказов на фрилансе на верстку

2. Далее уже можно серьезно приступать к изучению PHP и MySQL. Само собой, не без практики, в том числе оплачиваемой. В итоге, он должен овладеть полноценной разработкой сайта "под ключ" - от получения дизайн-макета до запуска с написанием всех необходимых модулей.

3. Следующим этапом я бы порекомендовал обратить внимание на язык Python. Он хорош тем, что имеет очень продуманную архитектуру, понятный синтаксис и широкую сферу применения. Ваш сын сможет применить его как при написании web-приложений, так и при создании ПО. Программисты на python достаточно востребованы на рынке. Также параллельно можно изучать Ruby - эти языки имеют схожие назначения, но второй более адаптирован для WEB.

4. Если этого ему будет мало и захочется дальнейшего развития - добро пожаловать в мир Java. Очень сложный язык, потребуется несколько лет для достаточного овладения им, но знание PHP, Python, Ruby могут сократить период вхождения.

5. Где-то между вторым и третьим этапом желательно поступить в ВУЗ на it-специальность. Постичь там в полном объеме высшую математику, а все поставленные практические задачи решать на Python/Ruby/Java.

Итак: HTML/CSS/JS + PHP/MySQL + Python/Ruby + Java + IT-образование + Менеджмент-образование (для собственных проектов) + 5-7 лет упорного обучения и практики = высокооплачиваемый web-разработчик, удовлетворяющий требованиям 90% вакансий.

Удачи! И усидчивости 😂

OnContent - контент-аутсорсинг полного цикла для Ваших проектов (/ru/forum/936118)
87793
На сайте с 12.09.2009
Offline
661
#18
Chesterfield:
2. Разработка программного обеспечения

<...>

Минусы:

<...>
десктоп-программисты, как правило, больше заняты в оффлайне.

А минус ли это? 😕

vandamme
На сайте с 30.11.2008
Offline
675
#19
87793:
А минус ли это?

ну в общем-то да, никуда не вырвешься когда тебе это необходимо.

eis
На сайте с 18.10.2008
Offline
473
eis
#20

Chesterfield, а Вы по какой тропе пошли?

- Здесь я покупаю вечные ссылки на свои сайты! (https://backlinkator.com) - сотни ссылок за копейки

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