Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Куда податься после флеша? (http://www.flasher.ru/forum/showthread.php?t=200909)

koIIImarik 09.06.2013 11:58

Куда податься после флеша?
 
Всем привет)

Уже около года задумываюсь о своей переквалификации на другие платформы/языки программирования, но пока не могу придумать в какую сторону двигаться (Unity + C#, или C++, или возможно ещё что-то).

Сам занимаюсь флешем уже около 7 лет, зарабатываю деньги на нём около 6, и, конечно, перестраиваться тяжело, но, как мне кажется, без перестраивания есть большая вероятность в течении года остаться без заработка (по моим личным ощущениям, после большого ажиотажа вокруг социалок и, соответственно, флеша, сейчас идёт резкий спад интереса, и, как следствие, денег в этой среде).

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

Astraport 09.06.2013 12:29

Что? Опять?

Psycho Tiger 09.06.2013 12:35

А что нравится – тем и занимайтесь. Спрос на всё есть, так или иначе.

Tails 09.06.2013 12:42

koIIImarik,
Кем именно вы работаете?

NikolyA 09.06.2013 13:08

koIIImarik - лето сейчас, хорошо бы вагоны начать разгружать и физический труд тут тебе и переквалификация

koIIImarik 09.06.2013 16:48

2 Astraport: такие темы сейчас часто создают да?)

2 Tails: flash-разработчик (давно давно начинал со всего подряд (баннеры, сайты, презентации), сейчас почти полностью ушел в социальные игры/специализированные приложения (которые нельзя реализовать на HTML5/JS)

2 NikolyA: как раз начал помогать строить дом и копать ямы :) но это не меняет сути вопроса так как хотелось бы все-таки работать разработчиком/программистом.

Astraport 09.06.2013 20:30

Для себя я решил внимательнее следить за связкой Starling (Flash и JS) как FW + Feathers (Flash и JS) как UI + Type script (как на клиентах, так и на сервере - Node.JS) как язык. Все эти компоненты гармонично связаны между собой. Можно довольно долго продолжать делать проекты на AS3, можно легко и безболезненно переползти на JS в крайнем случае.

-De- 09.06.2013 21:57

Дык а душа к чему лежит?

caseyryan 09.06.2013 23:41

Цитата:

Так что советую плотно заняться именно изучением джавы.
Плюсую.
Джава вещь хорошая. Плюс она еще и на андроиде. И там ее не оракл разрабатывает.
Лично я для себя решил уже давно, юнити с си шарп и джава.

expl 10.06.2013 00:54

Да, С# крут, что бы там про Microsoft не говорили, но это лучший мейнстримовый ООП язык со сборкой мусора.

Даже если послушать что говорят про функциональный языки поверх виртуальной машины:
  • Поверх JVM: "Да, вот тут в Scala мы проигрываем сильно по производительности, не позволяет наша виртуальная машина быстрее это сделать, но, скорее всего это не будет критичным местом - не занимайтесь ранней оптимизацией, все дела"
  • Поверх .NET: "Ну тут у F# есть накладные расходы, но они небольшие совсем, а здесь, как ни странно, может быть гораздо быстрее C# за счёт хитрых оптимизаций компилятора"
Т.е. NET-платформа - она более прогрессивна (так то ясен пень, что на mono как-то стрёмно разрабатывать под линукса, но вот авторы Unity не побоялись его заюзать - и ничего)
(не говоря уже о лямбдах, которые в Java только обещают к 8-й версии, структурах, yield-операторе, более мощных генериках, out/ref параметрах и т.д.)

Не совсем в тему, но может быть сия речь прожжённого кодера/техлида вдохновит на саморазвитие:
как перестать писать код

Bgg 10.06.2013 03:02

Цитата:

Сообщение от okouser (Сообщение 1137317)
Но раньше или позже доминирование Windows уйдет в прошлое, быть может, произойдет даже переход к веб-операционкам.

Ну это слишком расплывчатый аргумент. Следуя ему вообще стоит уходить в JS. Но я согласен что .NET заперт в окнах, и дарить армию С# разработчиков Microsoft никому не будет просто так в обозримом будущем.

Имхо, при выборе языка все гораздо проще: язык это всего лишь инструмент. Количество необходимых людей знающих конкрентный инструмент определеяется количеством вакансий. Согласно hh.ru для Питера:

Java: 139 вакансий
С++: 107 вакансий
PHP: 89 вакансий
C#: 76 вакансий
Python: 16 вакансий

Это вакансии в названии которых упомянут соотвествующий язык, т.е. понятно что "Java SE" и "Java EE" сложились (а это далеко не одно и тоже) и если искать .NET, то найдется примерно столько же сколько и C#, т.к. в вакансии упоминают и то и другое.

Так что каким бы ни был Питон крутым, современным, продвинутым и вообще нереально классным, а 16 вакансий вряд ли обрадуют соискателя.

-De- 10.06.2013 03:50

Надо ещё и зарплаты смотреть) Да и собсно одной вакансии может вполне хватить. И вообще по языкам ориентироваться неправильно. Язык учится быстро (кроме плюсов). Переход с шарпа на яву, по-моему, в основном заключается в узнавании, чего же на яве нет %) Язык - не весь инструмент. Ещё конкретные API есть и их изучение как бы не сложнее самого языка (в той же яве). Но они вот всегда недолговечны.

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

Bgg 10.06.2013 04:09

Цитата:

Сообщение от -De- (Сообщение 1137331)
Потому советую решать из того, чего же хочется делать.

Этого все хотят, но для большинства (не только разработчков) это утопия. И что-то мне подсказывает, что если бы автор мог бы (знал бы) куда хочет пойти, то у него и вопросов подобных не возникало бы.

-De- 10.06.2013 04:33

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

expl 10.06.2013 22:22

Цитата:

В глубине .NET скрыто всё то же WinAPI
Я конечно в глубину .NET не лазил. Но по Unity, который использует mono не заметно это совсем.
На маках(с небольшими траблами в виду невозможности JIT)/дроидах вполне себе пашет.

wvxvw 18.06.2013 00:29

Тут есть несколько разных соображений.

Я для себя решил переучиваться, но на что-то более серьезное, с лучшей перспективой: работать в исследовательской лаборатории, что-нибудь связанное с исследованием естесственных языков / разработками в этой области. Какой язык для этого учить уже будет не важно, там уже какие инструменты будут, тот язык и буду использовать, но ориентировочно: Октава/Матлаб, Питон/R, Лисп, естесственно :) хотя сегодня не так актуально, но я без него уже никуда.

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

Чуть по-хуже и со своими заморочками: промышленное программирование, либо Ява либо С#. На переквалификацию в С++ нужно потратить много времени, и нужно хотя бы зачатки мазохизма иметь, иначе будет очень грустно. Мне лично неприятно работать с С# не потому что язык такой плохой, а изза среды и традиций которые он вокруг себя образовал. Утрируя эти традиции можно выразить как то, что люди которые на нем пишут думают что пишут на Вижуал Студио языке. Но если вас больше привлекает рыбалка, или семейные вечера перед телевизором, то вам бы подошло :)

Худшее - что греха таить, спрос на Флеш упал, особенно невостребованными у нас остались люди с большим стажем / претендующие на хорошую зарплату... но ЯваСкрипт просто расцвел. При тотальном непрофессионализме ЯваСкрипт программистов, даже без опыта можно претендовать на хорошие условия / должность - главное не стеснятся: так плохо программировать, как это делает типичный ЯваСкрипт "программист" очень тяжело :)

Еще я задумывался одно время перепрофилироваться в сисадмина, потому что люблю, но есть столько подводных течений в поиске работы... такая переквалификация рассматривается HR как понижение планки, и в нее просто не верят / я даже ни на одно интервью не попал.

djyamato 18.06.2013 11:34

Цитата:

Сообщение от wvxvw (Сообщение 1138390)
При тотальном непрофессионализме ЯваСкрипт программистов, даже без опыта можно претендовать на хорошие условия / должность - главное не стеснятся: так плохо программировать, как это делает типичный ЯваСкрипт "программист" очень тяжело :)

Ох как в точку. Не скажу про всех, но о многих это изречение с кем приходилось мне работать.

P.S. Я выбрал java

Bgg 19.06.2013 02:39

Цитата:

Сообщение от wvxvw (Сообщение 1138390)
На переквалификацию в С++ нужно потратить много времени, и нужно хотя бы зачатки мазохизма иметь, иначе будет очень грустно.

А что все так плохо говорят о С++? Я С++ трогал всего несколько раз, и у меня сложилось впечатление, что если оставаться в рамках одной платформы и одного компилятора, то особых проблем не будет.

wvxvw 19.06.2013 04:01

Мой небольшой опыт знакомства с С++ - НВидиа + Куда (проприетарная библиотека для написания кода специально для параллельного выпонения на видеокарточках).

Что я из этого опыта почерпнул: максимально болезненный отладчик. Такой плохой, что вполне можно понять людей, которые считают, что логи лучше. И это не проблема конкретного отладчика, а проблема языка и других инструментов с ним связаных. Чтобы понять что видно в отладчике нужно в какой-то степени представлять, что компилятор делает с кодом. Стек трейсов нет. Сообщения об ошибках: либо их нету, либо их 100500 и все указывают в неправильное место. Очень редко когда случается, чтобы ошибка обнаруженная компилятором была именно ошибкой сделаной разработчиком. Как правило можно только косвенно догадаться, что произошло.

Макросы, которые отладке вообще, в принципе не поддаются.
Чтобы собрать не совсем тривиальный проект нужно очень много чего знать про инструменты сборки. Либо можно не знать (Вижуал Студия, например), но тогда другим людям, которые лучше вас в этом разбираются это очень не понравится.

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

Ну и про плохой дизайн: конечно, бывает и хуже, но смысл в том, что С++ не задумывался, как хороший язык программирования. Он задумывался как "накидать модных фичь" в уже существующий плохо спроектированый язык (который в свою очередь никогда не был хорошим языком программирования, а писался как подспорье в работе с ассемблером).
Т.е. есть языки, ну, не знаю, "цельные", в них есть стройная система, они последовательные в приемах и правилах стандартной библиотеке, за ними стоит какая-нибудь математическая концепция. С++ - это разброд и шатания, каждый пишет кто во что горазд. Концептуально С++ никак не связан с теоретическим программированием. Вернее, он на столько далек от идеала, что даже всерьез о нем говорить не стоит.

alexcon314 19.06.2013 08:06

Мда...
Друзья, С++ - это последний вариант, куда можно "податься после флеша", избегайте этого по возможности, лучше кодить на JS.
Так короче и без обиняков.
Цитата:

Вернее, он на столько далек от идеала, что даже всерьез о нем говорить не стоит.
Раздрайный вывод :). Впрочем, как всегда.

wvxvw 19.06.2013 10:48

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

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

Я сначала приведу примемр знакомый из AS / JS: когда мы отнимаем от одной даты другую, мы получаем число (разница между временем первой и второй даты в миллисекундах). Но это приводит нас к противоречию, т.как сложение - функция обратная отниманию, а прибавив число к дате, мы дату не получим. Такое поведение языка создает уникальное правило, плохо кореллирующее с ожиданиями человека, знакомого с тем, как работает сложение и вычитание.
Но в AS/JS такие случаи единичны, и стандартная библиотеке не особо грешит когнитивными диссонансами типа описанного выше. В С++ такого рода вещи отданы на откуп программисту - как хочешь, так и пиши.

Но гораздо более серьезная проблема - недетерминированое поведение любой функции, потому что любая другая функция, в теории, может ей как-то навредить записав что-то в память мимо того места, куда она "должна" была записать.
Т.о. если в языке с автоматическим управлением паматью мы можем смело выдвигать какие-то предположения о том, как функции работают, и каких результов от них ожидать, то в С++ этого гарантировать нельзя. Даже функцию типа
Код:

const char * foo() { return "x"; }
Можно заставить вернуть не строку, если каким-то образом (а чаще всего - случайно) узнать адрес по которому записывается результат возвращаемый из функции, и записать туда что-то другое.
Поэтому, традиционно С++ называют языком с "плохо определенной", "размытой", или вообще "не определенной" семантикой. Конечно, у слова "семантика" есть много значений, и в каком-то другом значении, оно может быть применимо к тому, что происходит в С++ программах, но я имел в виду только конкретное определение формальной семантики компьютерных языков.

alexcon314 19.06.2013 12:57

Дружище, к практике твои примеры имеют весьма отдаленное отношение. Или они крайне неудачны.:)
Я как бы даже не знаю.. никогда не думал о семантике языка, как о препятствии в его применении. Есть инструментарий, или ты умеешь им пользоваться, или нет, все просто. Вообще, твои высказывания о ЯП напоминают мне цитаты с какого-то съезда лингвистов (не программистов), даже лингвистов-гурманов, я бы сказал. :)
Цитата:

если в языке с автоматическим управлением паматью мы можем смело выдвигать какие-то предположения о том, как функции работают, и каких результов от них ожидать, то в С++ этого гарантировать нельзя
Видимо, имелось в виду что-то из свойств С++, где упоминается "неопределенное поведение"?

wvxvw 19.06.2013 17:40

О как, все просто! :)
Нет, я сказал именно то, что хотел. Я не имел в виду неопределенное поведение, хотя в каком-то смысле оно может иметь отношение к вышесказанному, я говорил о плохо оперделенной операционной семантике. Это хорошо определенное понятие, которое не нужно интуитивно угадывать. Можно просто взять книжку (например, того же Бенжамина Пирса) / открыть Вики и прочитать, что это такое.

По поводу практики: а какие именно примеры? Я старался говорить обобщенно. "Нету стек трейсов" - это не пример, это явление которому подвержен весь язык в любом его проявлении. Знание этого факта не сделает меня лучшим программистом на С++. Хотя, может сделать печальным программистом на С++ :)

Семантика языка описывает то, как мы его понимаем, и особенно то, как его понимает компилятор / интерпретатор. Может ли это быть препядствием? - если семантика состоит из множества противоречивых правил, непоследовательная, и т.д. то, конечно она будет препядствием.

В целом я бы охарактеризовал ситуацию следующим образом. Пока на С++ решаются тривиальные вещи, им пользоваться относительно удобно. Компилятор не встречает сложных случаев в разборе программы, код получается быстрый и компактный - все довольны. Но чем сложнее становится программа, тем хуже ситуация, и тем хуже по отношению к другим языкам, где семантика лучше определена.
Есть несколько языков, с компиляторами способными сгенерировать программы сравнимые по скорости с С++. Хаскелл - один такой язык, но я плохо его знаю, ОКамл я теперь знаю немножко лучше. Так вот, Благодаря более однозначной семантике и более скупому и последовательному набору правил, чем больше программа на ОКамле, тем больше вероятность того, что она будет быстрее / компактнее программы на С++ делающей такую же работу. Это достигается за счет того, что компилятору легче делать более глобальные предположения о намерении программиста.
Что интересно, в С++ неопределенное поведение как раз таки является тем фактором, который позволяет делать такие предположения компилятору!

alexcon314 20.06.2013 00:55

Что ж, ситуация прояснилась и выглянуло солнце :). Да, пожалуй на счет семантики я таки погорячился.
И все-таки, ты опять говоришь немного не про то :) . Есть очень большая область программирования, где просто нет менеджеров памяти с GC, и где наиболее информативным трейсом, порой, оказывается дамп.. Это разработка ОС, системных утилит, драйверов... та же графика в конце концов. Попробуй ка взаимодействие с грудой железа втиснуть в один хороший язык. Компиляторы то же создаются не по теоретическим домыслам о красоте как бы. Навороты С++ как раз призваны для таких нетривиальных вещей, не?. То, что "хеллоу ворлд" (утрированно) написать легко, это и так очевидно. Поэтому, как-то немного странно читать комментарии в духе "С (С++) - плохой язык", у него-де плохая семантика:). Нужно просто (ага, просто) работать с ним на его поле.
Ну. а то, что после флеша идти в эти дебри решится не каждый - это не показатель :).
PS. вот, навеяло как-то: http://www.flasher.ru/forum/showthread.php?t=113017

wvxvw 20.06.2013 01:40

По поводу взаимодействия с железом - ну так на Лиспе писались операционные системы... Дилан позиционировался как язык для системного программирования. Го - в принципе мог бы заменить Си, и в нем очень много недостатков учли.
С++ - это явление похожее на олигополию, т.е. когда рынок занимается небольшой группой продавцов, которые согласны делится друг с другом, но никогда не с маленькими продавцами. Т.е. он когда-то занял финансово "правильную" нишу - на нем написали какие-то вещи, которые потом стали очень популярными, не зависимо от выбранной технологии (ДОС, например). Популярность продуктов потянула за собой вложения в разработку инструментов для языка, потом на этих инструментах воспиталось много людей, и так возникла лавинообразная ситуация, когда любые другие конкуренты не в состоянии что-то противопоставить. Только еще несколько таких же, по размеру, языков.
Собственно, таким же образом Кобол живет и процветает и по сей день. Кто-то мне год или два назад клялся, что и по сей день большинство кода в мире написано на Коболе - я не проверял, но охотно в это поверю. И ситуация точно такая же: нельзя отказаться изза легаси, чтобы поддерживать легаси создается еще больше легаси, но пока дело прибыльное, по причинам не зависящим от технологии, технология будет жить.
С++ отнюдь не единственный язык, который может компилироваться в нативный код, в котором есть указатели / возможность, при необходимости дописать код на ассмеблере (из того, что я знаю: на Паскале это возможно, в Лиспе - зависит от производителя, но в SBCL - да, можно, OCaml - да, можно, на счет вставок на ассемблере - не уверен, но указатели и прямой доступ к памяти там есть.) Во всех вышеперечисленных языках, естесственно есть специальные библиотеки для работы с системными процедурами. Например, Микрософт разрабатывал и разрабатывает библиотеку проверки драйверов на ОКамле.

alexcon314 20.06.2013 08:36

Опа, опять на гризонте мировой заговор :). Засилье си оплачно олигархами! Свободу попугаям!
Кто лоббировал си в мире линкус? Торвальдс?:) Вот ведь неотесанный, нет бы ему [подставить самостоятельно] взять, так ведь нет, продался в олигополию !:)(блин, где ты только слова такие выискиваешь :) )Я далек от всего этого, и считаю, что си занял свои позиции отчасти по причинам историческим, а в основном благодаря самому себе.
Можно, конечно, очень долго переливать из пустого в порожнее, но только факт остается фактом. Хлебушек на масло можно заработать, программируя на языке мэйнстрима, заморачиваться по поводу хороший он или плохой - это как поговорка про хорошую и плохую жену. Перечисленные тобой языки по большей части ни о чем, при всей их красоте.

wvxvw 20.06.2013 11:06

Это не мировой заговор, это тенденция в экономике - случается во всех сферах хозяйствования, где сложно получить прибыль без массированых вложений. Пример: телефонные компании, производители электричества, авиакомпании и т.д. Но у этой тенденции есть свои характеристики, и одна из них заключается в том, что качество или стоимость продукта могут сильно отличаться от "разумных" для выбраной категории.
Существует наивное представление о конкуренции, с точки зрения которого, логически следует, что если продуктом пользуется много людей, то он обязательно хороший. Но в случае с моно- и олигополиями это не работает, и нужны другие критерии оценки.
Разработка языка включающая в себя стандарную библиотеку, компилятор, отладчик и т.д. - сами по себе "не очень" затратный процесс, ну, по крайней мере не на столько, чтобы гарантировать эксклюзивность, но качественный компилятор - это таки очень трудозатратный процесс, восновном изза времени, которое занимает разработка.

Почему Си был выбран Линусом Торвалдсом? - Стандарт Юнкс описывает систему с обязательным Си компилятором, системные вызовы соответствующими конвенции Си, бутлоадер уже был написан на Си к тому времени и т.д. и т.п. Даже если бы он ненавидел Си, у него не было другого выбора.

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

ЗЫ. Олигополия - термин из теории игр, но используется еще много где, макроэкономика, например.

alexcon314 20.06.2013 11:30

Ок. Сдаюсь :)
Но я как-то слабо себе представляю, что в обозримом будущем си уступит место другому языку. Но вам, теоретикам, виднее, конечно :). Исследования, безусловно, нужны и очень хорошо, что они есть. Тут без вопросов.
И да, удачи в поисках работы! :)

koIIImarik 20.06.2013 13:16

Всем большое спасибо за ответы/комментарии =)

Отдельное огромное спасибо wvxvw за то, что напомнил про JS, ведь они с AS очень похожи по синтаксису (самому часто приходилось что-то делать на нём, правда не столь серьёзное, как AS разработки).

И ещё вопрос, возможно wvxvw или кто-то другой больше осведомлён в этом вопросе, чем я: какое портфолио необходимо набить для JS, чтобы быть интересным для работодателя? Т.е. у меня есть свои наработки, но я подозреваю, что они довольно скупые (несколько сайтов, которые делал для себя и всё).

Т.е. мне понятно, что необходимо рассказать о себе в плане Flash, чтобы у работодателей появился интерес к тебе, но я не очень представляю себе, что необходимо рассказать о JS (на ум приходит только диалог в форме "Вы знаете JS?" -> "Да, знаю").

Tails 20.06.2013 13:46

koIIImarik
JQuery, ajax, highslide - и ты тру прогер. Более половины вакансий - твои!

Необходимо знание библиотек. Сделать на js что-то своими руками довольно долго и геморойно, поэтому приветствуются знания различных библиотек на все случаи жизни. Чем быстрее ты сможешь сделать плавное выпадающее меню - тем лучше. Конечно, необходимо понимание работы DOM страницы, html и css - твои лучшие друзья. Ещё необходимо смутное представление о безграничных и не осязаемых возможностях html5 (что-бы подчёркивать свою важность). Это если ты собрался в сайто-строители.. Да и приготовься большую часть времени верстать разметку, потому-что js программист и верстальщик - это чуть менее чем синонимы.

Для игростроя или чего посерьёзнее не знаю, но наверняка потребуются знания повыше среднестатического уровня тру js проггера. Соответствующие библиотеки, углубленные знания во всех тонкостях js-шного "ооп", реальное представление об html5 тегах.

Hauts 20.06.2013 17:29

Tails, почти полностью не согласен.

Tails 20.06.2013 17:59

Hauts,
Думаешь планка ещё ниже?

koIIImarik 20.06.2013 18:52

2 Hauts:
Уточните, пожалуйста, что вы имеете ввиду, и какие, на ваш взгляд, технологии/проекты необходимо знать соискателю, чтобы быть интересным для работодателей при поиске Frontend?

Psycho Tiger 20.06.2013 19:24

Цитата:

Сообщение от koIIImarik (Сообщение 1138758)
2 Hauts:
Уточните, пожалуйста, что вы имеете ввиду, и какие, на ваш взгляд, технологии/проекты необходимо знать соискателю, чтобы быть интересным для работодателей при поиске Frontend?

Зная Мишаню могу сказать, что он – монстряка, который фигачит очень крутые штуки почти без фреймворков =) Наверное, он хочет сказать что знание фреймворков – плюс, но гораздо больший – глубокое понимание того, как и зачем. 2 из 3 JS-кодеров не смогут сделать жкверевский toggleSlide на ванильном js.

Hauts 21.06.2013 08:44

koIIImarik, Tails, извините, что так сумбурно написал, не объяснив своего мнения.

Артем, в общем, правильно сказал то, что я думаю о js. Ну а если по пунктам, то как-то так получится:

Цитата:

JQuery, ajax, highslide - и ты тру прогер. Более половины вакансий - твои!
Это не взаимосвязано. То есть ложное утверждение, как мне кажется. "Тру прогер" может и не знать фрэймворков, но знать язык настолько хорошо, что разобраться с фрэймворками ему будет не проблема. Ну а насчет вакансий — наверное да, нынче этого достаточно. Вот только с такими "тру-прогерами" на работе может случиться беда, когда будет стоять нестандартная задача, для которой уже не найдешь плагинчиков для любимого джейквери или когда я буду контролировать качество их работы, придираясь буквально к каждой мелочи.


Цитата:

Необходимо знание библиотек. Сделать на js что-то своими руками довольно долго и геморойно, поэтому приветствуются знания различных библиотек на все случаи жизни.
— Рынок говорит "да", необходимо. Но для тестовых заданий для соискателя я выбираю условия, при которых нельзя использовать библиотеки. Пишите код с нуля и я посмотрю, чего вы стоите. Кстати 9 из 10 не присылают решения, а из тех, кто присылает, еще никто не сделал так, как сделал его я, хоть я и флэшер. То есть да, задание формально было сделано, работало, но его решение было "топорным" и совсем не оптимальным.

Цитата:

Чем быстрее ты сможешь сделать плавное выпадающее меню - тем лучше.
— Теоретически, опять же, да. Но на практике я сталкиваюсь с ситуациями, когда я делаю быстрее и качественнее, чем технолог (верстальщик), используя пару-тройку вспомогательных функций (bindReady, addEvent, getElementsByTagName и т.п.) и TweenMax. Вероятно это следствие того, что я "воспитан" на флэше, — мне достаточно тэга "body" и места, где писать код, для того, чтобы программно создать всю структуру, внешний вид и задать поведения. При этом я буду чувствовать себя как "рыба в воде" в своем же коде (знание ас2 сказывается:) ). В реальных проектах, конечно, до таких ситуаций не доходит, всё-таки, я не технолог, в задаче существует и дом-структура, и стили и фрэймворки. И технологи еще есть. Которые по своим классическим канонам верстки просто не успевают за моей скоростью. В общем, это длинная история и не по теме.

Цитата:

Конечно, необходимо понимание работы DOM страницы, html и css - твои лучшие друзья.
— + JavaScript.

Цитата:

Ещё необходимо смутное представление о безграничных и не осязаемых возможностях html5 (что-бы подчёркивать свою важность). Это если ты собрался в сайто-строители..
— Лучше бы и не смутное :)

Цитата:

Да и приготовься большую часть времени верстать разметку, потому-что js программист и верстальщик - это чуть менее чем синонимы.
— Мне кажется, что js-программист обиделся бы, если бы ему сказали, что он верстальщик со знанием яваскрипта.

В итоге мое мнение: Если хотите податься в "сайтостроители" — начните с базиса. Прочитайте про то, как работают браузеры. Изучите логику работы цсс, селекторы и правила. Изучите "голый" яваскрипт на таком уровне, чтобы вы могли на нем программировать более-менее осмысленные вещи. Потом переходите к фрэймворкам. Ваша ценность как специалиста не будет измеряться количеством фрэймворков, с которыми вы сталкивались. Она будет измеряться вашим опытом работы, который будет однозначно подсказывать вам степень необходимости использования фрэйворков и вашим "боевым скиллом", то есть умением в блокноте с чистого листа решить задачу (без "тепличных" условий существования любимых библиотек).

AlexLucas 21.06.2013 12:58

@Hauts, а можете пожалуйста скинуть одно из ваших домашних заданий для соискателей, в личку или прям сюда, просто интересно :)

koIIImarik 21.06.2013 13:17

Присоединяюсь к AlexLucas, мне было бы тоже интересно, чтобы оценить свои возможгности.

Hauts 21.06.2013 13:35

Скинул.

P.S.: Если свои решения скините мне, то не забудьте сказать, сколько времени потратили, это важно :)

koIIImarik 22.06.2013 00:07

Спасибо за пример задания)


Часовой пояс GMT +4, время: 18:51.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.