Здравствуйте, уважаемые.
Дело в том, что находясь на 2 курсе Информационных технологий наступает такая пора
когда надо выбирать дальнейшее направление в мире программирования. А именно между Web-Dev и прикладным программированием, к тому же выбор ЯП как основново инструмента.
В институте ”проходим” C++, (хотя у меня язык не поворачивается назвать изучаем
скорее просто просматриваем логические и операторы вывода, старый синтаксис и т. д
и так целый семестр, складывается впечатление, что лектор отстает от жизни лет на 10 как минимум, и ничего нам больше не светит кроме нудной писанины математических функций в тетрадке. Тут же состоялось мое первое знакомство с прикладным программированием, оставило довольно позитивное впечатление.
На 3 курсе Java, но уже страшно представить что будет с таким отношением к предмет
со стороны лекторов... Но это не главное, мой университет считается "лучшим" по Самообразованию) и на него я не расчитываю, только диплом.)
К тому же, я полтора года занимаюсь Веб-программированием и знаю (HTML, CSS, PHP(средне)
MySQL), и до этого времени все шло замечательно, думал учиться на веб-программиста
пока я не задумался о будущем, а переспективно ли это, ведь мне придется выбрать одно направление и несколько инструментов для реализации, которые будут сопровождать меня всю жизнь...
И пошло поехало, стал взвешивать шансы, сравнивать графики ЯП за последние 7 лет
искать те или иные преимущества веб и прикладного программирования, лихорадочно бродить по гуглу выискивая задатки перспектив...
Условно разделив ЯП на категории для достижения цели получил довольно интересную картину:
Веб-Программирование:
HTML/CSS/XML
PHP + MySQL
JavaScript
Python + Django
Ruby + RoR
Прикладное программирование:
Java
C#
C++
Поиски документации по ЯП завели меня еще дальше, теперь выбор будущего стал боле
неопределенным. С одной строны Java – всегда вакантные места и кроссплатформенность, к тому же несколько лет он занимает первые места в рейтинге и даже не намерен уступать.
C# - за последнее время этот язык поддерживаемый Microsoft вырос на глазах, и продолжае
расти, появляються перспективы полностью заменить C++. Язык будущего, но есть один большой минус, он зависим от платформ, а точнее от Windows...
C++ - постепенно умирающий язык. ИМХО. Но его нельзя списывать со счетов.
С другой стороны это Web-программирование которое немного ближе ко мне.
PHP – это первый мой ЯП который я считал довольно хорошим и перспективным, пока н
познакомился с Python, который очень впечатлил меня своей краткостью, гибкостью и конкурентоспособностью. Конечно популярностью PHP мог бы позавидовать любой язык. В данный момент популярность начинает спадать, но вакансий как и в случае с Java не становиться меньше, а даже увеличивается.
Python – все началось наверно с него, он перевернул мое представление о программировании
впечатляющий, лаконичный, легкий, строго типизированый, имеет очень много достоинств. В связке в Django может обвести вокруг пальца любого конкурента, но есть существенный минус, это мало вакансий в моей стране.
Впечетленным всем этим уже несколько неделей страдаю фигней, а точнее определяю свое будущее и переспективы.
Если я уйду в Web-разработку(а именно в Python, PHP, Ruby, Js) не прогадаю ли я?
Или, возможно сразу переквалифицироваться в Java или C#, я конечно понимаю, все зависит от человека?
Интересно ваше мнение.
P. S Сорри за столь сумбурный монолог и за грамматические ошибки если такие имеются.
Ответы
Ответ 1
Молодой человек, не там ищете. Надо заниматься не тем, что вам сейчас кажется перспективным, а тем, к чему у вас лежит сердце или что у вас лучше получается.
Простой пример: уже наштамповали в стране миллионы никому ненужных юристов и экономисто
и все потому, что лет 10 назад их реально не хватало и все идиёты поперлись туда - ну как же востребованная профессия!
То что сейчас (ровно как и 10 лет назад) Java востребована к сожалению ничего н
означает. К моменту когда вы станете довольно борзо писать - вполне может случитьс
что технология сдохнет (окончательно она конечно не сдохнет ибо она уже сейчас является становой хребтиной) - ну в общем вы поняли. Аналогично может случиться с любой технологией dot Net, PHP. Сейчас все очень текуче и зыбко - быстро меняется.
Единственная непреходящая ценность это инвестиции в себя любимого, а инвестиции
себя любимого эффективны только когда это вам нравится. Так что смотри что вам нравитс
на том и пиши! Так что когда что-то изменится у вас будет очень важное конкурентное преимущество вы будет очень хорошо знать некую технологию (просто потому, что она вам нравится).
Ответ 2
Вопрос некорректен. Переквалификация в Java или C# не означает отказ от веба.
Python ... В связке в Django может обвести вокруг пальца любого конкурента,
Нет, он не может. Человек может, а сам по себе питон ничего не может.
Веб-Программирование:
HTML/CSS/XML
-PHP + MySQL
JavaScript
Python + Django
Ruby + RoR
Прикладное программирование:
Java
C#
C++
Опять неверно. Никто не мешает использовать Python и Ruby для прикладных целей.
даже JavaScript. XML тут тоже не в тему.. он имеет отношение ко всему. Языки C++/C#/Jav
вообще универсальны. Пожалуй, на C++ делать что-то долго, но дела это не меняет. И, конечно, знание любого пункта из списка не отменяет необходимость знания HTML/CSS/XML и даже JavaScript.
В институте ”проходим” C++,(хотя у
меня язык не поворачивается назвать
изучаем,скорее просто просматриваем
логические и операторы вывода,старый
синтаксис и т.д) и так целый
семестр,складывается впечатление,что
лектор отстает от жизни лет на 10 как
минимум
Ну это вы совсем зря. Изучение C++ учит дисциплине. Кроме того, для изучения алгоритмо
новомодные языки плохо подходят. Именно поэтому для обучения преподавать надо начинать с C++ или Pascal. Выучить новомодные фишки вы всегда успеете, а вот научиться правильно думать необходимо. И не важно, устарел лектор на 10 лет или нет.
Ответ 3
Ценятся программисты, а не кодеры. То есть, конечно, кодеры тоже ценятся (иначе на что бы я жил, хех), но... второсортнее.
Разделение ложно. И веб и десктоп отличаются только одним - тем, как описываетс
внешний вид и поведенческая логика фронтэнда. В верстке веб-страниц или раскладке виджето
программирования не больше, чем в пайке радиодеталей - инженерно-радиотехнических работ. Да, нужен опыт (без него все рискует быть кривым, громоздким, ограниченным, сложноподдерживаемым, неудачным), но и там и там работа, по большей части, чисто механическая.
Разумеется, в области фронтэндов есть и интересные и нетривиальные задачи по визуализации или обработке сигналов, но они не особо часты, а в большинстве случаев уже решены.
Но самое интересное и нетривиальное, пожалуй, всегда находится "под капотом". А та
нет никакой особой разницы каким внешним образом поступают данные и как потом буду
визуализироваться результаты. К слову, у немалой кучи "десктопных" приложений под капотом браузер, отрисовывающий HTML+CSS. В обратную сторону реже, но, например, тот же GTK3 имеет HTML5-бэкенд.
Ну и нет особой разницы в языке, на котором пишется код. Главное, чтобы он был адеквате
задаче, а дальнейшее - это уже вопросы экономики и политики, а не программирования
Из упомянутых и Python и C# и Java - языки достаточно общего назначения, так что неверн
говорить что "вот этот - для веб, а этот - десктопный." Тем более, что большая часть программирования зависит от семантики, а не синтаксиса языка, а перечисленные языки имеют очень много семантически сходных (хотя и не идеально аналогичных) конструкций. А синтаксис учится быстро.
Поэтому лучше, я бы сказал, первично учиться, эээ, computer science. Это, если н
посвящать жизнь клепанию сайтов-визиток, todo-приложений под айфон и прочих утилит-менеджеро
автозапуска, пригодится всегда, в любой области. Изучать стоит все попадающиеся по
руку языки - эти знания лишними не бывают. Впрочем, уделяя приоритет более интересны
и, среди интересных - более рыночно-практичным. И, конечно же, любые прикладные навыки-технологии (верстка, фреймворки), на вкус и спрос: знания - сила, но платят, как правило, не за знания, а за практические результаты. Так что если у Вас лежит душа к Python+Django - вот, оно. Рынок этого дела есть (со всеми нишами от индусов-за-еду до грамотных специалистов), за него волноваться не стоит.
Ответ 4
Python как и Ruby - универсальные решения.
На Python можете легко писать любое прикладное ПО с биндингами к тому же QT, а в случаи необходимости встраивать С-код.
Ответ 5
Нельзя списывать со счетов C# с платформой asp.net.
Технология достаточно удобна и гибка.
Из минусов она дороговата для клиента и собственно зависимо от операционной системы.
Но как не странно работу найти не проблема и американцы хотят свои финансовые сайты именно на asp.net
Ответ 6
Вы забыли про технологии облачных вычислений.
Ответ 7
Как уже было сказано, деление весьма условно. На том же Python'е сейчас встречаютс
вакансии и в облачных вычислениях, и в высоконагруженных серверных решениях, хотя из "формального" описания языка это может показаться нонсенсом.
А ещё важно понимать, что программирование - это только инструмент. Если вы будет
учиться просто программировать, то останетесь и сами только инструментом для других
Разберитесь в чём-нибудь по-настоящему и используйте программирование как самый простой на данный момент способ превращения идей и знаний в материю, меняющую жизнь людей в этой области. И вам будет интересней, и людям полезней.
Ответ 8
Все надо изучать самому. Создавать идеальные алгоритмы методом проб и ошибок не получится
так как выучить ЯП - 50% проблемы. Другая половина - почувствовать, понять язык. Программирование - это не простое заучивание новых языком, это изучение методик, паттернов программирования и технологий, встраиваемых в язык.
Я бы сказал так:"Хотите творить - идите в прикладники, хотите заработать - идите в веб."
Вообще, программированием надо начинать заниматься с детства, потом все само стане
на свои места. Вот у вас еще в запасе есть 3 года, так попытайтесь что-либо сделать, разверните крупный проект и попробуйте заработать(или сотворить)....
Ответ 9
Уже упоминал своё имхо в одном из вопросов:
Появится ( и о чудо - оказывается уже есть: node-inspector ) node.js + WebInspector, и тогда php, python, jsp - будут сильно потеснены с Web'а
Что-же относительно прикладных задач - то это больше соревнование оптимизаторов ( как компилируемых, так и JIT ), чем языков, и уж тем-более программистов
Ответ 10
Да вы правы,я зря сравниваю совершенно разные направления.Наверное меня сбил с толку именно Jython который переводит в бит-код Java.
Два года назад я как то раз ответил себе на этот вопрос и углубился в веб-разработк
которая мне довольно таки нравиться.Ну что ж, не стоит бросать начатое.Буду дальше осваивать ZendFramework и Python+Django,так как есть огромное желание программировать.
Всем спасибо.
Ответ 11
Вы по сайтам с работой полазийте, типа ХедХантера, сравните зарплаты, увидите, чт
системным платят больше, ну а если еще какой нибудь САП ненароком освоить, то отрыв еще больше. Как сайты делались так и будут делаться, тоже самое и про системный софт. Это два разных рынка, но их нельзя сравнивать, что преспективнее, а что нет.
Ответ 12
Мой совет тебе. Ориентируйся на гигантов Oracle (JSF) Google (GWT,Android и т.д
хотя все это JAVA.
Ответ 13
Для начала пройдите курсы программистов с дальнейшим трудоустройством в какой-нибудь крупной фирме. После этого мировоззрение поменяется)))
В любом случае без OOP, SQL, XML, слепого набора на клаве и английского в ИТ делать нечего.
Ответ 14
Мде...
Сегодня я закажу суши и съем их а завтра сварю макароны и тоже съем)
Когда на асу учился тоже стоял выбор = что делать, столько яп, какой изучть полностью а какой нахер не нужен??
Вывод прост, делайте то что вам по душе. хотите на липсе пишите, хотите пхп изучайте
все от вас зависит. не надо ломать голову по таким мелочам, жизнь сама все на места расставит)
p.s. Заголовок клевый! я думал тут о всемирном масштабе речь идет)
Ответ 15
Если ты хочешь заработать и заиметь хорошую карьеру - бери web. Деньги лежат там..
Если же ты не за деньгами - исследуй примеры кодов разных языков и посмотри, что тебе больше понравиться. Тот язык и выбирай.
Ответ 16
Немного припозднился, но не нашел тут ни одного совета устроиться на работу. Найдит
себе что-нибудь с гибким графиком. Может, с невысокой зарплатой, но вам это реально поможет понять, чего вы хотите. Если вы очень хорошо понимаете в программировании и знаете какую-то технологию, то грамотный работодатель не пропустит вас мимо.
Ответ 17
Будущее за интернетом, будущее за кроссплатформенным C#, будущее за Ruby, Python.
Принципы будущего: скорость разработки, логика разработки, лаконичность синтаксис
языка, кроссплатформенность, мощность, универсальность, маштабируемость, глобальность, качественность.
C# развивается в кроссплатформенный язык, стоит ему поглотить платформы, этот язы
буду юзать - "мочат так - успевай вытирать". Очень мощный, лаконичный, (отличная, родная IDE)
понтяный, удобный, быстрый в разработке. Это новый Java, только гораздо мощнее, я не хочу обидеть Java'еров - нет, это же для нас лучше, что есть такие технологии!
Java по сравнению с C# не шелохнулся в развитии, в то время как в Microsoft придумываю
для разработчиков новейшие методы и способы упростить жизнь программистам. Эти методы революционны! Посмотрите динамику развития с С# 3.0 до версии 5.5! С каждой версией добавляется вдохновения, и по правде сказать самой силы в программировании!
Как-нибудь напишу статью, дам ссылочку и будем холиварить. ;)
Комментариев нет:
Отправить комментарий