Стоит ли переходить с .NET на Java ?

💡 Усі статті, обговорення, новини про Java — в одному місці. Приєднуйтесь до Java спільноти!

Здравствуйте!

Есть опыт(3+) в разработке на .net(C#, WinForms, ADO.NET, WCF) и Oracle(pl/sql). После мониторинга вакансий по .NET, выяснилось, что кроме вышеуказанного еще надо иметь знания по EntityFramework, ASP.NET(MVC), WPF, MS SQL... При этом в Oracle достаточно неплохо ориентируюсь, есть опыт разработки нескольких проектов с нуля.

После всего встал вопрос, может стоит перейти c .NET на Java? Какое будущее у этих двух платформ? Что дальше с вакансиями? Сколько времени потребуется на поднятие знаний по Java до middle? На что при изучении Java следует сделать акцент?

Кто в курсе что да как, помогите советом, плз.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn

Найкращі коментарі пропустити

Конечно, стоит. И именно сейчас. Потому, что MS пошли в разнос. Напридумывали какой-то кроссплатформенности и опенсорса и ещё хотят винду одну для всех устройств и бесплатно раздают лучшую в мире IDE. Короче винде скоро точно капец. Так что го все на java!

С дот нет на джаву? Даже стыдно в слух такое говорить

жду от Вас пост через 3 года:

Здравствуйте!
Есть опыт(3+) в разработке на Java. После мониторинга вакансий по Java, выяснилось, что надо иметь знания по Spring MVC, JSF, JBeans, etc. При этом в .NET я ориентировался как оказалось достаточно неплохо года 3 назад, есть опыт разработки нескольких проектов с нуля.
После всего встал вопрос, может стоит перейти c Java на ***? Какое будущее у этих двух платформ? Что дальше с вакансиями? Сколько времени потребуется на поднятие знаний по *** до middle? На что при изучении *** следует сделать акцент?
Кто в курсе что да как, помогите советом, плз.

П.С. Мб стоит освоить

EntityFramework, ASP.NET(MVC), WPF, MS SQL

?

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Итак, если кто-то еще мучается с подобным выбором, то решение прийдет с фразой “чужому навчайтесь і свого не цурайтесь”. Вот так радикально не надо никуда переходить ни от чего убегать, надо просто расширять кругозор изучая смежные технологии. Программируете на .NET и хотите в Java, учите параллельно стек JavaEE, в любом случае эти знания могут оказаться полезными и в самом .NET. Подвернется проект на Java и к тому времени останется желание перехода, идите в Java. Т.е. зарабатывайте на том за что платят, ради удовольствия программируйте на том что по душе. Под каждую задачу, под каждый проект есть свой стек технологий, просто изучайте новый инструментарий, за плечами не носить :)

По коментарях типовий холівар получився.
Мені здається що іншої більш подібної до Java платформи за .NET у світі нема, якщо зараз є проблеми з пошуком проектів по .NET, може й варто. Якщо задумуєтесь про актуальність .NET то думаю Java теж не вічна. Я особисто не став би переходити на Java по тій причині що у мене уже є 2+ роки досвіду з .NET і мені було б просто не надто цікаво вивчати те саме. Ассортимент проектів, мені здається, приблизно одинаковий якщо не враховувати Android.
З іншого боку якщо маєте багато вільного часу на вивчення, думаю сенс переходити є. Але є ще й інші платформи, iOS, Python..

iOS, Python
на які ще менше вакансій ніж на сі шарп, тим більше в Україні. Сенс такого переходу? Хіба що набридло в бекенді сидіти і хочеться мобільної розробки, якщо на iOS

Most Enterprise jobs are for java devs so shut up and start respect JAVA

Надеюсь тут нет ошибок, а то мой английская не хорошо

є, дві:
— start respecting
— most enterprise jobs — він може [покищо] бути перший по популярності, але доля десь в районі 20%

— start respecting
как раз об этом варианте думал потом, что там продолжительное время надо было вставить)
Most Enterprise jobs are for java devs so shut up and start respect JAVA
Это крайне спорное утверждение.

В каком месте? Вот строгая выборка с названием языка в тайтле:

www.indeed.com/...imit=10&sort=&psf=advsrch

www.indeed.com/...e:C#&l=&radius=25

до 8к С# додайте 12к .net і матимите більше за 16к джава. частина з перших звичайно перекривається, але крім джави ще купа іншого, і 20% навіть з найбільшою долею (якщо це справді так) — далеко не «більшість» як в оригіналі

C# бывает пересакается с .net, потому ваша математика ложная. + иногда под нет кидает что то левое.

П.С. я подсчитал эти 2 запроса и даже учитывая то что я выше написал, полцчается как и в джаве 16к.

потому ваша математика ложная
п.с. вчимося читати докінця —
частина з перших звичайно перекривається, але крім джави ще купа іншого, і 20% навіть з найбільшою долею (якщо це справді так) — далеко не «більшість» як в оригіналі

Спасибо автору топика. Одному человеку эта тема помогла решится остаться на .Net платформе.
Просто посмотри небольшой список тем, которые придется освоить (кроме ООП, не так много пересекаться с Java).

И это без фреймворков, которые могут составлять 60% знаний.

Стоит ли переходить с PHP на C#/Java? Какие преимущества (спрашиваю не про сам язык, а про работу).

Ну раз пошел некро-пост, то:
— строгая типизация

Если кто слышал про Jon Skeet — это C# джедай.
Так вот он пару лет назад такие перешел на тёмную сторону силы Java.
Как он говорит- я и дальше люблю C#- на за Java в гугле больше получает.

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

ну потолок оказался у джавы выше, вот он и перешел, выше потолка же не получишь

Кстати, взяв шарп и гит, я могу найти исходник например класса string для си шарпа. Никто не знает где ямогу посмотреть исходник стринга в жабе ?

Ха, только вчера искал реализацию String.IndexOf в исходниках C#
в итоге оказалось что оно реализовано в unmanaged либе по средством вызова-
InternalFindNLSStringEx

ну а как должно ? в менеджед? Конечно же нет !

Да это и так ясно.
Вообще у меня вчера озерение случилось после долгих ковыряний в иходниках .Net

.Net- архитектурно хорошо спроектированная обертка над все тем же нативным кодом. Я имею ввиду- что- почти все критически важные зубодродительные алгоритмы реализованы в нативных библиотеках. — а юНет- просто красивая обертка над всем этим.

Не буду утверждать- но насколько я помню- в моно- всё реализовано на C# внутрях

Ага, поэтому Рослин весь такой на шарпе написан ;)

на С надо писать критические вещи или очень реюзамые. Все остальное — это тупая трата времени.

Я честно говоря не понял — что вы хотели сказать?
По моему скромному мнению- реализовывать критические вещи — лучше всего же в нативе- до тех пор пока JIT не станет генерить сверх быстрый исполняемый код превосходящий по скорости выполнения- код написанный на с/С++ и скомпилированный в нативный код.

Я хотел сказать что при большом желании даже очень критичные вещи типа Рослина (модули которого вполне в реалтайме делают анализ кода) можно написать на шарпе. С иммутабельными объектами, хотя там у них свои сложности типа большого давления на гарбэдж коллектор.
Была интересная лекция от человека из команды решарпера на эту тему
www.youtube.com/watch?v=MvuHBrkZ3c0

стринг на жабе. Ну что ж... Печалько...

Можете посмотреть исходник стинга (и.т.д.) не выходя из студии (Alt+F12). Если в настройках подключили referencesource.microsoft.com ;)

Вы серьезно или шутите? В любой IDE, Ctr+click на любом классе jre ведет вас к текстовому исходнику, которые идут в стандартном jdk.

Why do Java Programmers wear glasses?
Because they don’t C#. ©

жду от Вас пост через 3 года:

Здравствуйте!
Есть опыт(3+) в разработке на Java. После мониторинга вакансий по Java, выяснилось, что надо иметь знания по Spring MVC, JSF, JBeans, etc. При этом в .NET я ориентировался как оказалось достаточно неплохо года 3 назад, есть опыт разработки нескольких проектов с нуля.
После всего встал вопрос, может стоит перейти c Java на ***? Какое будущее у этих двух платформ? Что дальше с вакансиями? Сколько времени потребуется на поднятие знаний по *** до middle? На что при изучении *** следует сделать акцент?
Кто в курсе что да как, помогите советом, плз.

П.С. Мб стоит освоить

EntityFramework, ASP.NET(MVC), WPF, MS SQL

?

:) скилы по .Net никуда не денутся, это значит что к ним добавится Java, в Европе на нее спрос побольше. Что касается

EntityFramework, ASP.NET(MVC)
само собой их освою, ну а WPF, думаю, не имеет перспектив.

Вообще-то денутся. Что-то изменится до неузнаваемости, что-то заменится чем-то другим, с иными подходами и т.д. и т.п.
Допустим мои знания Entity Framework первой версии можно (и нужно!) выбросить на помойку. Для нового Entity полезнее будут знания хибера + fluent синтаксиса для него. Общего куда больше чем с первой версией.
Не говоря о том что многие вещи попросту забываются и я например честно признаюсь что технология, которой пользовался 3-5 лет назад для меня уже считай забыта.

ну.. если совсем забить, то да, но c# как язык хорош и на .net можно выполнять pet-projects, хотя если времени не будет, то это фантазия

на самом деле сейчас в Европе очень большой спрос на КОБОЛ. Люли уходят на пенсию а заменьі нет. Не хотите попробовать ? :)

Не дай Боже вам написать что вьі и шарпник и жабист одновременно в резюме !. Заклюют и віставят на мороз.

ВПФ здох, АСП — кстати — посмотрите на альтернативьі — NancyFx например. Ентити фреймворк. Все єти ОРМ (я я и в жабе тоже) везде заканчиваются писанием хранимок со словами Архитектора «хватит наигрались» ©.

IMHO
if ( (C# + JS || TS) ) == rocks()
else sucks();

:)

Видимо волнующая тема, дотнетчиков не хотел обидеть, но таки наступил на больной мозоль и забросали не только камнями :)

NancyFx
для pet-projects вполне возможно. по поводу хранимок и орм — зависит от архитектуры.

ну просто АСП иногда просто монстрообразній и вес равно что из пушки по снегирям херачить. Нанси немного лечит сии психические расстройства.

«Как в воду смотрел»
Коассическая ситуация- выбираем инструменты для будущего проекта.
В итоге джуны истерят- что ado.net слишком скучно и сложно и хотят писать на хибернейте или entity framework. После дутельного сравнения производительности- выяснилось что- что entity framework до 20 (!!!) рахз медленней работает под нагрузкой.
В итоге взяли dapper + хранимки.
Насчет

NancyFx
это удобно для всяких бложиков- огромного монстра писать на таком движке крайне сложно.

Засунуть код всего контроллера в конструктор- это получится солянка аа не приложение. Да и покрытие тестами намного усложняется.

это вы о последнем энтити? Может готовить не умеете?

Это я о 6-ом entity framework.
Готовить entity framework, nhibernate, dapper, ado.net — я умею.
Проек с очень высокой нагрузкой на базу- поэтому выбирались только преверенные инструментарии. Провел объективные тесты- для EF — сделал даже небольшую оптимизацию.
А итог один- EF СЛИШКОМ медленный. Вообще ef code first- мне очень нравится- отличная штука. Но как говорится- для каждой задачи — свой инструмент. EF 6- уж очень не поворотлив- по сравнению с Ado.Net и тем же dapper.
EF 7- не рассматривали-так как еще детские болезни не пофиксили/не обкатали к крупных проектах.

А есть еще всякие штуки с точки зрения дата бузера. Вот к вам поступилит задача оптимизировать клятую бд. Оставим вские нормализации и денормализации, разделение и создание новых табличек и т.д. в стороне... с еф это все жесть и влияет на код благородных 23 летних синьоров. Вы начинаете анализировать тот весь хлам летящий с приложения в бд в виде скл сгенеренных запросов... и понимате, что они вообщем то рандомные и могут прилетать черте как. То бишь, вам что постоянно анализировать тот хлам ?. Та ну. Лучше бы благородные синьора дергали бы хранимки и не лезли в мое царство гармонии и красоты. Да, транзакции из приложеня еще тот хорор...

Впрочем, примеров много, но все они заканчиваются хранимками

ясно, спасибо. В свое время пришел к тем же выводам, но EF6 тестировать не довелось.

Что-то не очень верится. Я недавно переписывал кусок sql с хранимками, причем даже с bulk insert (от нескольких десятков до 20к записей за раз) на Entity.
И вопреки моим опасениям какого-то видимого ухудшения производительности не замечено, уж точно никаких «в 20 раз».
Не говоря уже о стоимости поддерживания хранимок. И того что бОльшая часть этих самых хранимок выглядит как тупой insert/update в одну таблицу, с которым и любая ORM справится не хуже.

В общем, интересны сценарии тестирования и возможно даже код реализации

Ну вот у нас оказалось БД очень загружена. И причина — к-во строк в табличке. Решение мудрого лысого и старого пня архитектора — разделить на две базы: ОЛТП и Рипортинговую. Две базы практически одинаковые.

Я представляю как бы на вашей фирме из-за этого сенария начали бы увольняться 23-летние благородные прыщавые синьоры. :)

В случае хранимок, вы бы даже и не заметили, а что произошло то... дальше бы ели свои чипсы и орешки и вумничали про линк ту сторед просиджа.

Это то что сейчас называют модной аббревиатурой CQRS что ли?
23-летние синьоры бы пачками к вам повалили!
К вопросу ОРМ всё это дело относится очень слабо. И кстати на уровне приложения тоже бы неплохо было иметь разделение между этими сценариями. Потому что они действительно разные, хотя можно и притворяться что это не так

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

а щє мудро, використовувати різні типи БД для OLTP & OLAP, так як це, різні задачі

Теоретично так. Практично ніхто так не робить, бо в кожній БД, за яку ви виклали баблосиків, є свої нюанси. ОРакуль и мс скл ну дуже різні. Перехід буде дуже складним.

Делают еще как, я работал над системами аналитики, и общался с другими кто их разрабатывал, для записи может и но скл быть, или реляционная БД зависит от того что вы делаете, а для репортинга что типа вертики или инфини дб или другая аналитическая база. Оракл и мс скл далеко не все используют

Что-то не очень верится.
Дело не в вере. Были проведены тесты на производительность для EF, NHibernate, ADO.NET, Dapper.

Тесты оценивают время выполнения по 5 параметрам
Single Insert
Bulk Insert
Single record read
Bulk Red (Set)
Single Delete

Dapper and Asp.net used stored procedures
Nhibernate mapped Stored procedures result to POCO
Entity Framework used with C# classes and linq queries. (automatic query generating from linq)

Сорри- запарило расскладку переключать.

Тестирование проводилось в многопоточном режиме работы клиента.

Исходники имеются. но не думаю что смогу их опубликовать- т.к писал в рабочее время.
Может быть статью позже напишу.
Пока вот график сравнения:
imgur.com/BTsIGoN

1. Что с профилированием — куда большая часть времени уходила? Например, оно могло быть связано с генерацией нужных метаданных (которая вроде бы делается один раз для класса). Или еще какие-нибудь нюансы с созданием сессий в первый раз.
2. Почему среднее время на один запрос падало при большом количестве запросов?
3. Что за непонятные пики? Уж не была ли база/машина загружена чем-то другим в это время?
4. Сколько тестов проводилось для каждого сценария?
5. Пробовали обычные SQL запросы вместо хранимок? Дают ли хранимки хоть какое-то преимущество?

Кстати- вот результаты сравнения производительности от разработчика dapper:
<ahref="https: github.com="" stackexchange="" dapper-dot-net#performance-of-select-mapping-over-500-iterations---poco-serialization"="">тут
Результаты очень похожы на мои измерения.
Там видно что разница между EF и dapper 12(!!!) раз

Они эти замеры выложили в мае 2012 github.com/...90c06e2f5a44696b7ab38cd8f, а .NET 4.5 зарелизили в августе 2012 en.wikipedia.org/wiki/.NET_Framework. Так что, скорее всего, они проводили замеры на .NET 4.0. А на .NET 4.5 EF работает значительно быстрее. Ну и производительность EF с того времени сама по себе улучшилась. Так что на простых запросах разница будет практически незаметна. Конечно, если EF сгенерит сложный SQL — он будет работать медленнее, но в таком случае можно руками написать нужный запрос на SQL и выполнить через тот же EF или Dapper. Они не взаимоисключающие.

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

простите, я забыл особенность украинского менталитета: приписывать людям несуществующие свойства. Я, в свое время, отказался от использований EF вплоть до 5го из-за этого. 6й не довелось тестировать, поэтому было интересно спросить у человека, которому довелось

Это хорошо, что сразу выбрали. Значит у вас в тиме был типочек, который «уже наигрался». Может это я и был...

Нанси, ну у меня было что то в типе такого. Чуваку на был хттп веб сервис с какими то работами в бек енде. Фронт енд просто никакой, ну тип рест. Ихвините, но ставить асп для сий блогороднейшей цели это просто жесть. Тем более для нанси и иис ненужно. Тесты а я фанат, то ваще то покрывали все. Были и интегрейшены тесты. Вообщем позитиф. Но я не хочу разводить ходивар. !то был просто небольшой пример.

Всё верно- для каждой задачи — свой инструмент.
Мне нанси- вполне нравится- особенно если запустить всё это лекговесное поделие на моно под nginx. Красота, ляпота. Но это больше для бложика, пет проекта подходит.
Суровый ынтепрайз крепко сидит на asp.net

интересно, а ЕФ плюс хранимки посчитали слишком громоздко, или он тоже показал себя медленнее чем даппер?

в ЕФ хранимки не все поддерживают. Там есть сложности. Если есть динамик СКЛ — не будет ЕФ функции. Если код возвращает разные таблици например через if = тоже не сгенерит. он же не знает какой тип данных возвращать. Мулти резалт сет тоже не хавает. Возращаемые значения — не хавает. Аутпут параметерз тоже не хавает.

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

EF + хранимки = рабтает почти также производительно как и ADO.NET. Там лаг по производительности совсем не значительный. Сначала даже пробовали со всем этим счастьем жить. Но джуны почуствовали вкус свободы возможность мухлевать- используя linq запросы- что в итоге привело:
1. Падению производительности приложения
2. Получению мною по шапке от бизнесов (виноват пропустил код без ревью)
3. Периписыванию творчества — на труъ хранимки и ADO.NET

Це патерн «хватіт наіґраліся» :)

ВПФ здох,
ааххха, — подивіться на чому пишеться ЮІ для 8ки та 10ки на десктопі та мобайлі ;)

Та я і не сперечаюсь для корпоративних систем — гут. але судячи з вакух — таки подихає :)

www.itjobswatch.co.uk/...efault.aspx?id=1300&q=&l=

щось мені підказує що назву ВПФ може і чули, але суті і динаміки ніразу не відчуваєте.
а) корпоративні системи ніхто не пише на впф. там або він форми або веб.
б) впф не «вмер/вмирає», а переродився під іншим іменем без зміни суті
в) метро/модерн аплікухи таки пишуть для масового ринку енд юзерів, а не корпорацій.
г) своїм стилем відповідей і заяв сильно косите під школоту, і у відповідь напрошуєтесь не на адекватну дискусію а на дещо нецензурні репліки

Так я і є школоло — справді. Геть нічого не знаю. Ви по всім пунктам насправді праві.

Але, пробачте, я людина проста і думаю про баблоси. Тому популярність на ринку для мене не остання річ. На ХТМЛ5 набагато більше вакух. Тому я й пишу, що користуюсь шарп як БЕ і ЖС (точніше ТС, о ЖС гидотний :) ) як фронт енд — ну якщо брати професійну діяльність (бабломалювання і маркетинг), а не тупе стирчання в жабі в офісі як зараз. Ну так життя погнало мене :).

Я трохи поковбасився в ВПФ — все гут. Сільверлайт був просто геніальний. Але відмова від СЛ підкосила і ВПФ. На цьому я проект ВПФ і закрив для себе :) бо вкладення мого особистого часу в нього просто марний.

Доречи а ось в жабі є споріднена технологія — JavaFx — оракл туди вкидає шалені бабки. Що ви думаєте про неї ?

Так я і є школоло — справді
в тебе лінкед знайти — справа 3х хвилин — досить себе вести як дитина, з такою чарівною зачіскою...
споріднена технологія — JavaFx
Що ви думаєте про неї ?
перший раз чую ©

Извините что вмешиваюсь, но судя по всему «alerya» — Валерий.)

на той час в нього був ще лінкед в профілі, і там фотка з добре так за 30 — чи то з сивиною, чи то на сонці виблискувала.

А для себя бы, для своего продуктика, вы бы на чем писали например бы ?

легко:
дивимся яка цільова аудиторія, цікава не тільки фінансова, але й розумінням їх мотивів.
вибираєм знайомі тулзи, якщо вони покривають ту аудиторію, або берем найбільш еффективні, по покриттю аудиторії з підходящим рівнем якості.
для себе в фіналі лишається дотнет для десктопу, і легко скіпається доля десктопів на лінуксі та маку, + дотнет/хамарін/юніті для мобайлу, що видає якісний результат з мінімальними проблемами девелоперу.

Если проектик «для развлечения», а не «хочу как можно быстрее написать для того чтобы монетизировать», то вообще бы haskell/F# взял.
Для образования полезно как минимум тем что
1. Меняет стиль мышления, на многие вещи появляется иной взгляд
2. Вбивает в голову многие принципы, которые в «обычных» языках спускаются на тормозах (not-null по умолчанию, отделение логики от инфраструктуры и т.д.)
3. Посмотреть что хорошо и что плохо в этих языках, потому что не думаю что всё настолько идеально как говорится в обучающих примерах. Шишки набиваются именно на практике.

И что дает изучение фишек которые не используются в промышленных языках? Ощущение себя как философа?

Да нет, многие из них можно попросту эмулировать или использовать хотя бы на уровне самодисциплины.
Короткий список того что я утащил из ФП и что мне помогает на практике:
1. Лямбды и прочее — уже имеется в Linq и жить я без них не могу. Поэтому на яву до последней версии я бы перешел только под страхом смерти, ибо буду страдать
2. Использование неизменяемых (хотя бы на уровне самодисциплины) значений — существенно (местами в разы) уменьшается количество багов и упрощается отладка. Если мы чему-то присвоили значение, значит оно не изменится где-либо
3. Разделение логики и инфраструктуры (идея стырена из монады IO в хаскелле, где к этому активно подталкивают) — в разы упростившееся тестирование приложений, преимущественно без использования моков. Т.к. логику теперь можно тестировать просто так, а для инфраструктуры моки всё равно бесполезны и нужны интеграционные тесты
4. Аккуратное (по возможности, хотя бы на уровне конструкторов, полей/свойств, атрибутов решарпера и т.д.) использование nullable/not null. Полноценной поддержки в языке конечно не хватает, но всё же всяких NullReferenceException стало на порядок-другой меньше

Не говоря о том что многие вещи таки переходят в мейнстримовые языки и одной из самых востребованных фич для нового сишарпа является паттерн-матчинг

Итак что касается своего продуктика:
— web app — back- Java, PHP, front- js
— desktop Win — .Net C#, Qt
— desktop Linux — Qt, Java
— Android — Java
как то так.

а чем плохо бек писать на шарпе ?

певно те що його не знаєш :))

ну насправді кажуть що на бек на жабі можна ковбасити на іОС :) Ну добре на линухові. Але на практиці жабу все одно ставлять на виндавз :) Корпорація лиха.

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

Як на мене, хто перейшов таки на цей антикваріат, то Жаба це мова программування для одмінів. Щоб костилі я-ля жаба-босс, глас-фіш, веб-лохік конфігурувати як скажений і шукати їхні баги і малювати воркераунди на них. Ну а то що жаба це .нет 2.0 взагалі вбиває мистецтво бекенду :) Пробачте, якщо когось зачепив. Це суто моя точка зору і не для холівару. Якщо ви вважаєте що я неправий, я з вами згоден.

Не пишіть так, ви не в падіку пиво з пацанами п’єте. Неможливо ж читати...

пробачте пане. Я вже всі мови геть позабував.

О, побачив, шо ви з-за кордону. Тепер все стало на свої місця)

Та ні — тому що в жабу ЕЕ вляпався після шарпу. А теперь бачу тут паціент на межі вже. Тому намагаюсь хоча б трохи доброго зробити щось та й рятувати його.

тому що в жабу ЕЕ вляпався після шарпу
чому тоді назад не повертаєтесь на шарп?

тому що десь ХЗ скільки років том один старий пень з КПІ мені сказав. «Маладой чілавєк, ви далжни тут жє вибрать ілі ви за бабкі праґраміруєтє ілі для іскуства». Ну а так як це були кляті 90-ті то звісно я обрав сенс життя — бабки. Бо профі — то людина що малює бабки. Правда тоді було понтово С++ MVC (земля йому пухом, благо що книга Александреску вбила цей весь жах с++) :)

І ось цей привід минулого мене переслідує як скажений все життя :) Він мене запрограмував мабуть.

Це і пояснює чому я опінився в Ентерпрайзі і в Жаба ЕЕ :) , а не в гей-деві тощо.

Гарна байка ?

Байка — те що нада :) І я ломлюсь в джава ЕЕ, тому, що за те «іскуство» добре платять :)

Ну так це ж інша справа :) . Але вам треба буде пройти великій шлях доводячи що ви мінімум геній. Ну або брехати складно. І за цей час жаба може вже стати брухтом просто. Це мова програмування для старперів (не плутати з романтиками стартаперами). Як КОБОЛ. Забийте на неї і все.

Про .net теж так можна сказати, він може стати брухтом раніше ніж джава. Джава добряче закріпилась в ентерпрайзі, і не думаю що в найближчі мінімум 10 років щось зміниться. Те, що Майкрософт зібрався стати кросплатформенним — всі ці наміри можуть виявитися такими ж перспективними як зараз Моно.
І це ж не означає, що прям якщо переступив поріг Джави, то .Нет взагалі забув. Наприклад зараз мені ніщо не мішає бути і ораклістом і дотнетчиком одночасно

Доречі. Чому жабоЕЕ прогерів так мало. Бо відповідь проста. Жабо прогерів просто... немає.

Є прогер гласфіш, є прогер веблоджік, є прогер томкет тощо.
Тому пишуть «нам потрібен бла бла бла прогер жаба — технології такі то і такі». Середній жабо-втикатєль дивлячись на це впадає в жах і тупо не йде на співбесіду. Або приходить якийсь хлопчина і каже все чесно — я геть нічого не знаю по я жаба-прогер, візміть мене на 4500 у.е.

Ну знання стрінгів і хібернейта правда всі пишуть в вакухах...

Саме по собі знання Java Сore вам не дасть геть нічого.

Ну... Java Сore я вже знаю, більш менш

Та ну. Ви почитайте що прищаві задроти питають на співбесідах і впадете в жах.

Конечно, стоит. И именно сейчас. Потому, что MS пошли в разнос. Напридумывали какой-то кроссплатформенности и опенсорса и ещё хотят винду одну для всех устройств и бесплатно раздают лучшую в мире IDE. Короче винде скоро точно капец. Так что го все на java!

Не утешайся Альберт, МС так делает не от хорошей жизни.

О, господи! Что-то случилось с Microsoft?!

ей скоро конец! Ты что не слышал? :)

Не хотів починати холівар, але щодо одного пункту не витримав. Не називайте, будь ласка, цю недо-IDE студію найкращою, їй ще до ідеї(IntelliJ IDEA) як до неба...

давайте, список фіч по яким ідея краще — озвучте :)
а я у віповідь аналогічні по студі\ - порівняєм що корисніше..

Пишет код за программиста :)

... але така фігня виходить? баян же :))

code.visualstudio.com — cool story, bro.
а взагалі — 1.5% вам аплодують стоячи, інші їх не помічають (ми ж про основне призначення ІДЕ кажем, а не тролінг в стилі «а ідея шарп не тягне!!!»)

code.visualstudio.com
Эта штука даже vim/subline/atom.io в подметки не годится, не говоря уже о полноценных IDE.
давайте, список фіч по яким ідея краще
Вы просили список, я привёл список. Одного элемента списка хватило.
ми ж про основне призначення ІДЕ кажем
Да ладно, тут >50% комментариев — троллинг в стиле:
— .Net лучше чем java!
— Чем лучше?
— Чем java!
и наоборот :).
Вы просили список, я привёл список. Одного элемента списка хватило.
.. щоб злитись ;)

Ты хоть студио в глаза видел мальчик? Там и идеа и рядом не инсталлилась!

Вот прям переходить имхо не стоит. Но начинать осваивать джаву и ее инструментарий для разработки под андроид имхо имеет смысл.
А еще есть такой момент: после поверхностного мониторинга вакансий в Европе, я увидел такую картину, что половина из не сапорта — это джава. Другая половина разделена между иос, андроид и пхп.
Дотнет никуда не денется, но рискует занять нишу наподобие руби, питона или плюсов если не появится нормальная, официальная мультиплатформенность. А тут я скорее на свифт поставлю, чем на дотнет.
У нас, например, после здравой оценки, что асп нет на проекте выглядит странно: из базы данные перевести в json, стало понятно, что дотнет и студия и виндовз — это не нужный костыль. Перешли на node.js, а разработчики свободны в выборе операционки. Кто на маках, кто на линухе, кто на венде.
Жабаскрипт автоматом привел к cordova приложению для иос/андроид.

А как по-вашему, Cordova не нагнётся после того, как WebAssembly встанет на ноги? Потому что тоже сейчас на перепутье, т.к. база у меня С/С++ , но недавно начал постигать азы JS. Раньше такой стек мог дико выглядеть, а сейчас может выстрелить, хоть бы не в ногу :)

кордова вже не дуже популярна, на ній жодна з добре відомих аплікух не була написана, а те що пробували потім переписували під нейтів/компільоване.

Тому що натив рулить, як не крути. А на недофреймворках пишуть лише дуже жадні і бідні замовники.

там не даремно згадувалось «/компільовані», той же хамарін, якщо не юзати їх форми — рулить і по перфомансу, і частково — по мультиплатформенності

Для чого ті костилі коли можна просто написати нативно?

економія 30-40% бабла/часу через спільний код
це вже мовчу про релігійні вислови «костилі», про те що порівняне по перфомансу та ідентичне в ЮІ з рідним «натівним»

Звідки взяті цифри? Можна посилання на дослідження? Особливо про перфоманс

перфоманс — в неті є купа порівнянь, і для кордови, ксамаріна, нейтіва, просто веб сайту, етс
цифри з економії — з виступу практика на закритому тренігу одного з бодішопів країни.

Ясно... Судячи з кількості вакансій на доу для ксамарину — 1, проти 42 для нативу, ксамарин скоро потіснить всіх.

потіснить — не факт, особливо що для нормального перфомансу в ньому юзається нейтівна ЮІ під кожну ось, але свою долю матиме, для корпоративного софту що з нуля пишеться під дві платформи. ігри звичайно то окрема тема, і на іншому.

З цим згідний, для корпоративного софту саме те, хоча якщо у співробітників одинакові смартфони, то тут натив. А юзерам треба найкраще, їм треба нативне. До речі, як думаєш, що буде з цим чудом, фонегапом?

А юзерам треба найкраще, їм треба нативне.
а в корпораціях не юзери живуть, а боти?
що значить найкраще? :))) кажуж, перфоманс практично ідентичний ;)
просто софт який розробляється від фонаря — пишуться під одну платформу, яку юзає автор, і якщо раптом вистрілить — тоді вже за бабло від вистрілу дописується під другу.
без жодного «найкращості» чи «для своїх». крім того десь в 2й-3й версії після вистрілу він же позбавляється гавнокоду та в синтетичних тестах може мінімально обходити корпоративний софт написаний одразу на хамаріні. в реальності юзери різниці не побачать.
що буде з цим чудом, фонегапом?
... його перейменували в Apache Cordova ;)

Очевидно ж що нативне завжди найкраще, як би ти там не писав пустословіє

П.С.

софт який розробляється від фонаря

пишуть на кросплатформенних хернях щоб затестувати чи скуштують, а потім переписують на нативне.

Очевидно ж що нативне завжди найкраще
чим?
пишуть на кросплатформенних
ніразу, більшість софту перед взьотом пишуть «для себе», і лише під свою платформу
чим?
Швидкістю роботи, правильним виглядом. Це тільки те що я знаю. Ну хіба ж не логічно що приміняти рідний інструмент краще ніж чужий?

ще раз:
хамарін виглядає ідентично нейтів софту, тому що він використовує нейтів контроли і налаштування для них. окремо для кожної платформи.
хамарін практично ідентичний їм по перфомансу. різницю можна відчути чи помітити лише на штучних замірах.

Ну хіба ж не логічно що приміняти рідний інструмент краще ніж чужий?
не завжди.

Раз він такий ідеальний, то чому не набрав популярності? Може ви, дядьку, забрехалися?

ну то маєш девайс — постав обидва і перевір :)))

Це не відповідь.

Завершаю цей срач.

Це не відповідь.
це єдина культурна відповідь що можна очікувати на
Може ви, дядьку, забрехалися?
крім того логічно єдиний метод отримати неспростовні факти — піти і наваяти більш-менш складну ЮІ без логіки, ідентичну для двох платформ, і запустити на свому ж телефоні

для справки: java априори не нативное решение дл андроида.

NDK используется в ограниченных случаях, а в большинстве случаев пишут под андроид на JAVA. Не надо тут пустословие разводить, демагогию.

Ок, погугли что такое NDK и для чего он нужен, а потом приходи

знаю как минимум 4 фирмы в которых используют ксамарин. вакансии открываются по мере захода проекта, обычно стараются нанять просто хороших мидлов-сеньоров c#

cordova — всего лишь способ запуска browser control в минимальном нативном приложении. К js он имеет отношение постольку поскольку.
Вы можете изначально писать код хоть на любом скриптовом языке, транслируемом в js, хоть на wasm, если мобильные вебкит и ие будут его поддерживать. У Вас нет 100% необходимости использовать большую базу плагинов, интерфейс которых на js (хотя без них это будет ну очень простое приложение-визитка). Да и сам по себе он выглядит как простой прокси. Так что переписано все будет быстро. А постоянная эволюция — это неизбежность.
Сам пример с кордовой появился как иллюстрация того, _что_ такое в принципе может быть «не дотнет», и это не обязательно джава.
Если говорить о вебе, то только наличие уже существующего толстого слоя веб сервисов может диктовать дотнет или джава из-за удобства интеграции и необходимости расширения. При их отсутствии пример с js показывает, как можно автоматом «зацепить» дополнительно мобильные приложения. Да, они будут ограничены, но тем не менее.

Cпасибо за подробное объяснение. А почитав внимательно FAQ по wasm, понял что browser в этом бутерброде никуда не денется, «compiled to binary format» в какой-то левой статейке слишком буквально воспринял :) Поэтому и получился не очень корректный вопрос.

А постоянная эволюция — это неизбежность.
Это хорошо, но она порождает неопределённость.
Я просто пытаюсь определить оптимальный стек для создания кроссплатформенных приложений, которые будут покрывать как десктопный, так и мобильный сегмент. Например, С/С++(WebAssembly)/JS/NodeJS + несколько фрэймворков. Или всё-таки экосистема .NET or Java может быть предпочтительнее ?
Например, С/С++
../обджектівС — норм версія на кліентах.
альтернатива — QT, плюси та хтмл, компілиться практично під усе достатньо швидке, неглючне, але ЮІ під кожну платформу кастомізувати доведеться вручну (при потребі)
Или всё-таки экосистема .NET or Java может быть предпочтительнее ?
джава не є сильно шанованою ні на мобільних чи десктопних маках, ні на віндовс в якості ЮІ.
дотнет — в якості ігор є повністю універсальні рішення, в якості ЮІ шанується лише мобільна версія та віндовс версії, на маку і лінуксі наразі не дуже добре сприймається.
але ЮІ під кожну платформу кастомізувати доведеться вручну (при потребі)
потреба така 100% буде, але це вже вимагає розширення стеку іншими мовами, навіщо ускладнювати собі життя, хоча можна і на С++ робити UI, якщо подобається bdsm :)
джава не є сильно шанованою ні на мобільних чи десктопних маках, ні на віндовс в якості ЮІ.
Говорячи про джаву, я мав наувазі стек JS(front-end)/Java(back-end), за кордоном такий стек має попит. Але Java як стара товста людина :) Не знаю чому в мене склалося таке враження.
дотнет — в якості ігор є повністю універсальні рішення, в якості ЮІ шанується лише мобільна версія та віндовс версії, на маку і лінуксі наразі не дуже добре сприймається.
я шукаю
оптимальный стек для создания кроссплатформенных приложений
, тобто (це поки що мій дилетантський погляд) частина логіки на С/С++, частина клієнтської логіки разом з UI на JS, + nodejs-соус back-енд. Грубо кажучи «сам п’ю, сам гуляю» :) А користувачам не треба завантажувати ще там якісь .NET або Java приблуди.

Що стосується ігор, то не думаю що якісь ААА проекти переїдуть на такий стек, отже там у більшості рулить Java (якщо то non-casual браузерки — «drakensang») або С++.

потреба така 100% буде, але це вже вимагає розширення стеку іншими мовами
хоча можна і на С++ робити UI, якщо подобається bdsm
google: QT
Говорячи про джаву, я мав наувазі стек JS(front-end)/Java(back-end), за кордоном такий стек має попит.
... для .. .вебу! в мобайл таке краще не пхати, плюватись будуть довго :))
+ бекенд для мобайлу все одно на чому писати — реально все одно, хоч на сторках бази даних, аби REST в json/xml вміло видавати.
частина логіки на С/С++, частина клієнтської логіки разом з UI на JS,
NOOOOOO
s-media-cache-ak0.pinimg.com/...854f69b1167569a6e28c4.jpg
А користувачам не треба завантажувати ще там якісь .NET або Java приблуди.
на мобайлі все вкомпільовується в апк, на десктопі дотнет в віндовсі просто є, це сприймайте як факт, а на лінуксі краще юзати щось інше.
Що стосується ігор
якісь ААА проекти
там у більшості рулить Java
LOL, WAT?
там рулить:
Engine, один з топ 5, або сильно крутий кастомний, написаний на плюсах, — 1 шт
мова написання скріптів — lua/c#/etc — 1 шт
сюжет — 1шт
модельки, анімації, сцени — тонни.

ну чому ви все перегортаєте догори дном? Я кажу про кросплатформеність, а ви робите акцент на мобайл, ось не як і не можемо з вами порозумітися.

Що ж стосується QT, то колись давно читав статю на хабрі
habrahabr.ru/post/133897

Недостатки, конечно, тоже есть, например, вы не сможете пользоваться готовыми UI компонентами — вам нужно будет реализовать их на C++. Либо выносить UI часть приложения в каждую платформу. Также вам обязательно придется тесно познакомиться с каждой платформой, но как показывает практика, полностью уйти от этого знакомства никогда не удается.

частина логіки на С/С++, частина клієнтської логіки разом з UI на JS,
NOOOOOO
s-media-cache-ak0.pinimg.com/...854f69b1167569a6e28c4.jpg
LOL, WAT?
І знов ж таки :), що стосується ігор, я мав наувазі, що в ААА проектах-"non-casual браузерках" використовують Java на стороні back-end-у, ігровий движок на С++, або якщо платформа десктоп — С++. У більшості випадків :)

не помістилась вся відповідь

частина логіки на С/С++, частина клієнтської логіки разом з UI на JS,
NOOOOOO
github.com/...design/blob/master/FAQ.md
it is expected that JS and WebAssembly will be used together in a number of configurations:

Whole, compiled C++ apps that leverage JS to glue things together.
HTML/CSS/JS UI around a main WebAssembly-controlled center canvas, allowing developers to leverage the power of web frameworks to build accessible, web-native-feeling experiences.
Mostly HTML/CSS/JS app with a few high-performance WebAssembly modules (e.g., graphing, simulation, image/sound/video processing, visualization, animation, compression, etc., examples which we can already see in asm.js today) allowing developers to reuse popular WebAssembly libraries just like JS libraries today.
When WebAssembly gains the ability to access garbage-collected objects, those objects will be shared with JS, and not live in a walled-off world of their own.

+ “Изоморфный JavaScript”

Що ж стосується QT, то колись давно читав статю на хабрі
/facepalm
не, ну реально, залізьте на офф сайт, подивіться семпли, що там є і що значить «реалізовувати компоненти на плюсах». а ще почитайне на чому там справді ЮІ наваяна ;)
ААА проектах
non-casual браузерках
LOL, WAT?

чисто прочитавши це речення, хочеться логічно його підравити на таке:

Также вам обязательноне придется тесно познакомиться с каждой платформой, но как показывает практика, полностью уйти от этого знакомства никогда не удается.
LOL, WAT?

це ваше речення, я це не писав, а хотів взяти в лапки, але ДОУ видалило їх, як і більшість відповіді на це ваше ЛОЛВОТ. Так що прочитайте додаток до відповіді, там де посилання на GitHub.

взагалі lol wat йшлось до поєднання «ААА ігри» та «бравзерки» в одному контексті ;)
а речення вже підправлена ваша цитата далі, про необхідність тісного знання платформи

WAT
Це що за слово? Ват? Типу 100 Ват? А якщо серйозно, то не розумію — чому не можна писати нормальною англійською, а не вийоб косячи під якусь групу нативну з своїм діалектом? Чомусь кожний «індус» старається вписати якесь скорочення або сленг.
не, ну реально, залізьте на офф сайт, подивіться семпли, що там є і що значить «реалізовувати компоненти на плюсах». а ще почитайне на чому там справді ЮІ наваяна ;)
та лазю вже лазю :) дякую

Поверхнево ознайомився (знову) з Qt, для мене це як був аналог WinApi, але кросплатформений, так і залишається. Дійсно, є в ньому сенс і я обов’язково познайомлюся з ним ближче (дякую що звернули мою увагу), але у цьому випадку, розробка потребує кращє підготовленої команди розробників + вищий рівень оплати праці, а замовники з жирнішим гаманцем в Україну рідко заходять :) та ще ряд інших нюансів.

А ще виникає питання:
Qt(С++/JS(+HTML)) vs WebAssembly(C/C++)/JS(+HTML)+browser

WebAssembly
це трошки майбутне, будь який серйозний сайт підтримує всі бравзери з долею ринку >5%
крім того, це зовсім різні підходи — для чого є сенс писати локальну аплікуху — там сайту не вистачить, і навпаки.

Если Вы ощущаете, что есть куда расти (или даже только начали свою карьеру), то имхо используя «солидный» стек есть намного больше шансов попасть на проект, где правильно поставят руки. Все ж таки у дотнет/джава сейлзов ноги быстрее в плане требовательного и богатого клиента. А потом уже дальше выбирать, если, конечно, какая-то мода на что-то не заставит раньше. Ну, а если свобода выбора важнее с самого начала, то кто ж заставит? )
Выбирайте из того, что приносит одинаковый доход. Чтобы не впадать в депрессию от потерянных лет и тысяч

Да, есть куда расти, да и в Одессе с С++ особенно не размахнёшься сейчас, тем более джуном :) Единственное, если бы я гнался за «тысячами», то давным-давно бы ушёл в море и спокойно бы зарабатывал уже 3-4к$ работая «сторожем на плавучем складе» с возможностью стать «главным сторожем» на 12-15k$ :) У нас тут это «модно». Как говорят мои друзья-моряки: «в море не нужно быть умным» :)

Сейчас пытаюсь учитывать факторы — перспектива и универсальность, чтобы потом

не впадать в депрессию от потерянных лет
Посматриваю в сторону .NET и С#, но пока рискну и сделаю акцент на JS, потому что не вижу где ещё можно добиться такой кроссплатформенности.
А если мои знания будут востребованы, то не думаю что я буду обделён в финансовом плане.
Спасибо Вам за совет, всё по делу.

Имхо, конечно, но ,нет на всходе, а жаба на закате. Имеется в виду технологически. Лет через 5 а может и раньше скажется все это. Переходить — конечно — чтобы побаловаться и поплеваться, ибо Жаба — это .нет 2.0 :) Ну да да, многие скажут об огромных всяких костылях именуемые мидлваре, но простите — вы же не админом идете работать ?

считаете .Net на восходе? хотя новый CEO может что-то и придумает ) но таки если посмотреть tiob, то статистика по C# похожа на курс доллара, а Java на курс гривны, так что есть надежда :))

считаете .Net на восходе?
разве это не очевидно?

я ж и говорю, по статистике вполне очевидно )

лично я использую один сайт лондонский, где они анализируют вакухи в ИТ. И оттуда єтот тренд и получил. Ну нужно сказать что и жава скрипт тоже сумашедше популярен. Единственно, что в Жаба-скрипт не стандартизирован — море дублирующих библиотек и фреймворков и єто ему во вред.

Кстати, а что там насчет server-compiled code ? Говорят, єто кое-чего меняет для жабосрикптов...

Имхо, конечно, но ,нет на всходе, а жаба на закате.
Ну наконец-то хоть кто-то это признал!
Я помню время, когда 80% украинских девелоперов писали на Delphi (Паскаль). И тролили С++ девелоперов: вот, мол что бы в С++ открыть окошко надо написать 2 экрана кода, а в Delphi нажать 2 кнопки. И Delphi тогда умело ну прямо все на свете: и десктоп, и веб, и базы, и мультимедию... А где теперь этот Delphi и Паскаль?
А вот C# постоянно улучшают, плюс сейчас к нему еще есть функциональный F#, есть Type Script. Для особенно суровых есть Managed С++. Это целостная «экосистема» для разработки любых приложений. А теперь еще будет под любые платформы.

Да ладно, под обе платформы будет полно работы. А то что под си шарп может побольше, ну и что?

Type Script
К дотнету отношения не имеет. Это просто обертка над JS.

Ну пока что да... Но я очень надеюсь что Жабоскрипт все же в скорости здохнет. И жабопрогеры станут симбиан прогерамми :) А вместо него что то покультурней выйдет. ECMA6 — не спасает ситуации.

он не скоро сдохнет, а вот у скл неплохие шансы в ближайшие 2 десятка лет

согласен — SQL forever ! Ну жабо скрипт просто неустойчивый.... Обтекаемый, море дубляжа. Это совем не то что в РНР. Ну и вообще идея давно уже висит в воздухе об альтернативе.

ідея про альтернативу є лише у слабеньких девів з інших мов, для яких ДЖС здаєтся чимось неправильним, хоча вони на ньому нічого серьозного не робили. а так в світі джс реально ніхто не скаржится, для деяких випадків не вистачає лише більш строгої типізації, але це зазвичай проблема тих хто до кінця не зрозумів як робити на джс, і то для них є тайпскріпт

Как вы относитесь к Google inc. и Angular.js ? Просто их слабенькие девы пишут «недофреймворк» на TypeScript

angular стає більш дорослим, 2 версія набагато кращє буде, враховуючи те на що власне angular разрахований

і я не казав що TypeScript погано)))

це доволі адекватний суперсет для джс, просто там йде ставка на інший апроуч, більше класичне ООП (принаймні буде таке враження), і як я казав, для деяких випадків, він дуже добре підходить

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

тут не вопрос плювания на других, а факт.
JS специалистов, настоящих, очень мало, особенно если сравнивать с соотношением в других языках. я встречал достаточное количество настоящих специалистов на Java, C#, PHP, специалистов в области баз данных.
Их много, точнее их реально встретить. А JS специалистов настоящих я не встречал вообще (хотя последнее время больше людей которые уже хотя бы понимают основы) :((((
и про ущербность JS говорят те, кто с ним реально не работал, и не имеет представления что и как на нем можно делать

Просто божественный ЯП какой то. Ну я так понимаю у вас левел Бога в нем минимум. И вы знаете секреты сего мастерства. Не так ли ?

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

Цікаво. може тоді справі не в тупих прогерах, а цій мові ? :)

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

А вот C# постоянно улучшают, плюс сейчас к нему еще есть функциональный F#, есть Type Script.

Под джаву зоопарк языков все-же по-больше будет, чего только скала с кложурой стоят. Под .NET считай только C#, ну и еще чуть-чуть F#, правда что-то в последние годы о нем вспоминают все меньше и меньше. Зато C# на две голове выше и приятнее джавы.

Это целостная «экосистема» для разработки любых приложений.

Вот только рынку эти любые приложения на майкрософтских технологиях не нужны. Только десктоп, только ентерпрайз ну и веб, и то, скорее из-за наличия в обойме .NET разработчиков а не потому что ASP .NET какая-то супер крутая платформа. Хотя в последние годы Майкрософт развивают ASP .NET очень сильно, что не может не радовать.

А теперь еще будет под любые платформы.

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

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

Вот , где Делфи:
,по прежнему кросплатформенное и подходит для всего)..и кстати количество вакансий начало расти..
www.embarcadero.com/ru/products/rad-studio

«Ленин жил, Ленин жив, Ленин будет жить» (В.И. Ленин)

помогите советом
Цель не озвучена, что тут можно советовать вообще?

Зачем переходить? Добавляйте Java к своему skill set, не забывая .NET, тем более что в принципе «та же Дуня, но в другом сарафане». Будете вдвое более востребованы.

Пришел именно к такому выводу :)

хіба в фрілансі... бути двічі мідлом, за час коли можна стати сінйором/лідом в одному — програшна стратегія, в тому числі по потребі в тобі.

не совсем. Имея опыт и там и там, можно стать довольно крутым архитектором. Не знаю, правда, если ли такая опция в Украине

в теорії — так, але це рідкісні вакансії. крім того спочатку треба в одному (менш потрібному в цій вакансії) дорости до сінйорства, а потім на іншому до лідства — що вже не так просто «вгадати».
та й з тим архітекторством зовсім інший підхід — «я колись кодив, але з того лише памятаю які тули коли треба юзати, і де можуть бути проблеми» — явно не про рівень автора.

Я ж кажу, можливо це не шлях в Україні. В Німеччині я не так рідко зустрічаю такі вакансії. Ну і до того ж, одній людині потрібна лише одна вакансія(робота), чи не так :)

А про архітекторство у вас якісь дивні уявлення

з поправкою — на яку її візьмуть... а вибиратиме таки з більш ніж одного кандидата..

хіба не можна бути сіньйором в одному, мідлом в іншому? невже до сіньйора настільки високі вимоги?

Чого так слабо? Пиши одразу: сеньйором і там і там. То ж не складно, от у нас у дворі кожен другий сусід сеньйор.

можна, чого ж ні.
на сінйора теж не великі вимоги, 3-5-7 років працювати з одним і тим же, мати час і натхнення оновлювати знання і практичні навички в неті/книжках, експериментувати з новим, і щодня виділяти з 6-8 годин на це все. з поправкою на постіне буття і мідлом і сінйором в двух різних технологіях, витрачати щодня лише на них доведеться з 12-14 годин, а до цього додасться бонусом або мідл слоупочності, через недостатній відпочинок, або джуніор шиза.

взагалі, мідл, сінйор, джуніор — це не вимога, як би бодішопи не намагались це формалізувати і поміряти, це спосіб буття, стан. ти або можеш процесати таски та проблеми на рівні джуніора/мідла/сінйора, або ні, без завязки на кількість тулів що ти вивчив чи роки досвіду.

ІМХО, пробачте панове, якщо когось зачепив. То жуніор-мідл-сіньор-тімлід-архітектор-ПМ — це драбина дідовщини бодішопів. Маркетинг. Трохи років вперед і все це закреслить інфляція.

Як слово менеджер. Воно вже близько до матюка а-ля мак-джоб стало :) .

А що — цже зараз сіньйори 23 річні та 19 тімліди. Я вже чув історії про 7 річних архітекторів. :) Так що все попереду, панове.

жуніор-мідл-сіньор-тімлід-архітектор-ПМ — це драбина дідовщини бодішопів
і це (барабанни)... неправильна відповідь :))
поділ правильний, логічний, має сенс.
єдине що формалізовані критерії бодішопів до того поділу мало відносяться — то вже інше питання.

Ага, помню полыхание нефтяных факелов насчет 19-летней тим-лида.
А я тем временем почитал её биографию и выяснил что более-менее (даже за денежку реальные вещи) программировать она начала буквально с 10 лет. Что при усиленном самообучении выливается в реальных 9 лет разработки, за которые более чем легко можно реально дорасти до тим лида. А мой коллега с удовольствием читает её твиттер.
Просто она рано начала и не страдала фигнёй как большая часть разработчиков (включая меня).

Я думаю что для тим лида иметь синяки под глазами и геморой в попе в 19 лет — это не самое важное/нужное.

Программирование — это еще и психология (психопатия) :)

А кто ее папандер — кто-то знает ?

Вам программист нужен или обезьяна? ©

Ні те і не інше — людина потрібна.

Так вроде бы не было никаких нареканий на характер девочки — никакой ненависти или язвительности в её бложике я не углядел (из того что прочитал).
Зато половина ДОУ изошла на известную субстанцию от «19-летнего тим-лида с огромным стеком технологий, да еще и женского пола».

Доречи, судячи з усього у вас просто немає сина або доньки в 10 років. От коли з’явиться — тоді ви і ржати почнете :) с 9 річних архітекторів :)

Мій племінник, а йому вже 12 років — вже тімлід. Він там на селі вже зібрав команду і ковабсять круту ігруху. На справді ! Я не брешу. Це не байка.

не можна — ви так образите людину на співбесіді. І вас виставлять на мороз негайно.

не зрозумів, чим саме я можу образити людину на співбесіді?

Як так. Ви сіньор і там і там, а ваш співбесник до синьора йшов 15 років. Ви лише у нього викличите іронія сарказм та геть непотрібні запитання.

а с каких пор сеньорство годами меряется?

ну в бодішопчиках не измеряется, а вот у буржуйчиков измеряется, как и опьіт.

У меня бывало так что за 3-6 месяцев получал знаний больше чем за год-два.
Как там опыт по годам считать?

Ну если так знания в программировании получать — то вообщем то этот труд переоценген и красная цена за программистика благородного синьора — где то 500 енотов должна быть.

таварищь, не спешите, вы тоже будете после 40... :)

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

ну я не знаю хто вам таке набрехав, проходив співбесіду у буржуінів, і роки нікого не цікавили, цікавило лише те що я вмію

Для разнообразия- стоит поглядеть на другие платформы.
А там уже и решать переходить или нет. Но Если бы я сейчас надумал смотреть другие платформы- то я бы скорее всего выбрал goLang. Набирает популярность, си подобный синтаксис, работает на линухе и винде- высокая скорострельность- компилится в бинарник.- ну и что не мало важно за ним стоит гугл. Хотя зная привычки гугла- закрывать популярные платформы- тут еще не понятно- как будет с их языком. Хотя гоу- опенсорсный.
Как я писал ниже- Java- точно не моё.

Хотя зная привычки гугла- закрывать популярные платформы- тут еще не понятно- как будет с их языком.
Вот будущее очень туманно.
Из ниже сказанного можно сделать вывод, что стоит расшарить внимание на пару платформ, и отдать основной приоритет той, которая будет давать доход — в моем случае .Net+JavaScript, ну и поскольку руки таки чешутся, то оставшиеся ресурсы можно потратить на Java...

Не стоит. Сатья Нарделл в прошлом году анонсировал переход дотнета в опен-сорс, а также пообещал запилить кроссплатформенность, таким образом отпадает потребность портировать код под моно. Хотя сами моновцы рады, поскольку, у них будет возможность пофиксить кое-какие баги.

образом отпадает потребность портировать код под моно
WAT?
ви про яке портування? нові фічі фреймворка (що таки треба) чи енд-юзерські програми, що той самий екзешнік береш і запускаєш?

Второе с тем нюансом, что в иксах экзешек нету. Первое будет само собой.

та що ви таке кажете... а чого компілятор моно видає *.exe файли? їх правда завжди запускати треба з моно команди, а не даблкліком (не здивуюсь якщо фіксається), але наразі так

Собссно обещанная кроссплатформенность и будет выдавать скомпиленные под линукс проги, не-экзешки которые. За детали реализации я уже хз.

обещанная кроссплатформенность
...по означенню видає не проги скомпілені під ХХХ(лінух/мак/етс), а проги яким пофіг на чому запускатись — ті ж самі екзешки дотнету ;)

Автор, зачем менять шило на мыло? Кроме того, C# говорят получше чуток будет JAVA. Определись что ты хочешь делать, ибо суть не в языке, а в области. Если тебе не нравится писать под веб — ищи другие области, может мобильная разработка, может еще что там популярное. Язык это лишь инструмент.

Снитаксически C# превосходит Java. Но, дело не в этом, а в спектре, к которому применима сама технология. .NET достаточно ограничена, только Windows, только за деньги, шаг влево, шаг вправо... Что касается мобильных Windows Mobile и Android по популярности не сравнить. Банальный пример, у меня сейчас Win7 и VS2012, но уже вышла VisualStudio 2015, попытался я установить, а ннеет, надо Win8, и приехали... Вот такие мелочи отравляют настроение :)

Android это уже совсем другая среда, и как по мне, знания языка там используются процентов на 10 максимум, а все остальное это знания этой ОС.

Вот такие мелочи отравляют настроение :)
Понятно. Корпорация зла)
у меня сейчас Win7
яку за місяць нахаляву апдейтнеш до 10, а далі вона буде вічно ап-ту-дейт
Но, дело не в этом, а в спектре, к которому применима сама технология. .NET достаточно ограничена, только Windows,
ахха...
скажіть це вебу, якому пофіг на чому показуватись...
скажіть це вебу, що з наступної версії пофіг на чому запускатись.
скажіть це юніті, топовому мобільному енджіну для ігор для всіх платформ.
скажіть це моно, на якому консольки можна запускати де хочеш.
скажіть це мікро фреймворку, який можна на найдрібніші девайси накатати.
скажіть це студії, ІДЕ, до якої реально ніхто не дотягується, особливо в парі з решарпером.
що ще?

IntelliJ IDEA cпокойно дотягивается

скажіть це юніті, топовому мобільному енджіну для ігор для всіх платформ.
Уже на юнити делають ААА тайтлы? Разве что мобайл и всякие казуалки

www.youtube.com/watch?v=pXWAsayTFTo
Подойдёт в качестве движка «не для казуалки»?
Wasteland 2 конечно страшненький, но тоже не казуалка.

не 3-й Ведьмак, но уже кое-что:)

Но и далеко не казуалка/для мобилок, а вполне себе РПГ на 56 часов (глянул свою статистику стима, можно 10-20% убрать за счет AFK).

dreamfall chapters, deus ex the fall, bad piggies, angry birds epic, angry birds 2

deus ex the fall
deus ex the fail
bad piggies
angry birds epic
angry birds 2
Единственная ниша для юнити

электрочайники — единственная ниша для java (:

Ну что поделаешь, если C# не смог составить конкуренцию JAVA даже на электрочайниках.

ну да, электрочайники это на столько круто что сишарпу не тягаться :(

Выбросьте всю бытовую технику с дома и потом приходите писать сарказм о некрутости этих вещей :)

Уже на юнити делають ААА тайтлы?
Наприклад Kerbal Space Program — цілком серйозна гра на Unity

По такой логике, майнкрафт — тоже серьезная игра на.. wait oh shi...

і танки як не дивно теж (я не про двіжок).
а взагалі, сенс людині що не завязла в геймдеві, і не цілиться на ААА працедавців перейматись ААА іграми? інді то не зачіпає,

Майнкрафт Микрософт выкупил- уже не считается, он зашкваренный)

при уровне графона где-то в районе id tech 3, оно мне отжигает ноги при игре на ноуте и готовит яичницу на макмини

IntelliJ IDEA cпокойно дотягивается
по роботі з текстом вона ідентично решарперу — це і не дивно, спільна компанія-автор, а от по можливостям дебагу, аналізу коду, етс — ще близько не лежала

А що там не так з дебагом? Не скажу що я експерт по дебагу, но вот граюсь з IntelliJ і все що робив в студії там є, причому багато що зручніше. Є, звичайно, труднощі зі звиканням, особливо до хот кеїв, але це питання звички.

Да і взагалі IntelliJ якось цілісніше і симпатичніше виглядає, багато плюшок, які в студії треба через екстеншини доставляти, в IntelliJ доступні із коробки. Не така гнучна як студія, але сів і працюй, нічого налаштовувати не треба, все вже за тебе зробили, навіть нормальну дефолтну підсвітку синтаксису.

погугли на тему багатопоточного дебагу в студії, дебагу ЮІ та ігрових кадрів, про оптимізацію перфоманса, про фішки юльтімейт студії ;)

Cities Skylines, Endless Space, Endless Legend, Guns of Icarus, The Forest и т.д., не считая уже перечисленных выше.

скажіть це юніті, топовому мобільному енджіну для ігор для всіх платформ.
омг! кто-то поставил “топовый” и “юнити” в одном предложении!
юнити — адовое тормозное г-нище для нищебродов, которые неасилили купить unreal
юнити — адовое тормозное г-нище для нищебродов, которые неасилили купить unreal
а то анріал давно вже не безплатний ;)

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

VS 2015 ставится на win7.
Я себе поставил- vs2015 preview на свой древний ноут с семеркой.
Всё работает

Как писал Борис, посмотри в сторону Xamarin для клиентских приложения под мак и андроид. Их студия работает и на маке и на линухе. И еще Visual Studio Code, которая тоже кроссплатформенная. И ASP.NET 5 для кросплатформенной разработки серверной части.

для клиентских приложения под мак iOS и андроид
— fixed

Да, спасибо, я имел в виду, что с Xamarin можно разрабатывать и под iOS, и под Mac.

с Xamarin можно разрабатывать и под iOS, и под MacAndroid?.
— fixed x2 :D

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

с Xamarin можно разрабатывать и под iOS, и под Android, и под Windows Phone
— fixed 3 :)

и под Windows Phone
що не має сенсу, ваяти враппери над натівним, практично ідентичним ЮІ, та апішкою, тільки заради одного коду в цьому?

Xamarin.Forms позволяет ваять один гуй на все. деталей реализации еще не знаю, я пока работаю с MvvmCross под Android и начинаю вникать в ios.

Xamarin
Для инди ксамарин не подходит так как стоит денег

останній раз коли я був на цій планеті, термін «інді» відносився до ігор, а писати їх на хамаріні а не наприклад юніті — це себе не поважати...

как по мне с дотнета наиболее логичный переход это JavaScript эта технология работает в двух мирах и при этом ты не тратишь время на изучение велосипедов в Java. JavaScript скилл всегда пригодится на любой платформе и он сейчас в тренде. Если понравится опенсорс линукс и тд то можно будет безболезненно переходить дальше на джаву или питон — безболезненно потому чтоможно например пойти фулстек девелопером и в бекграунде потихоньку поднимать новый язык педаля на проекте

Хорошая мысль, с JavaScript я разбираюсь, но не думал о том что бы перейти на него как основной

JavaScript
Деградация. Еще на PHP посоветуйте перейти с .NET, «потому шо тожи в тренде»

непойму почему изучение еще одной платформы является деградацией особенно учитывая что как минимум это потянет нод жс, монго, энгуляр и кучу тулов для тестов и билдинга — для человека из мира дотнета это будет очень полезно

деградація тулзів з якими працюєш, з зручних, інтелектуальних і безпроблемних це зїзд в фронтенд, що в цілому вже ніразу не дотнет — просто інше, і (зазвичай) не таке приємне для розробника.

ноде жс монго и тд это фронтэнд? тулы те же самые — вебсторм не особо от идеи отличается не говоря уже о том что студия без решарпера говно

Вы отладчик вебсторма запускать пробовали? В VB6 он и то шустрее работал

тулы те же самые
от вони і отстойні..
студия без решарпера )овно
це ви пробюували, чи вам бабуся про 6ту версію студії розказувала?
до ідеї не дотягує, але цілком функціональна і еффективна, мовчу вже про те як рідний інтеллісенс літає.

О да... Великая деградация с вижуалстудии с подсветкой дотнетовского синтаксиса на вижуалстудию с подсветкой и автодополнением для nodejs.

вы ее сами-то хоть пробовали? В 90% случаев автодополнение не показывает ничего или показывает нерелевантный бред

Еще как пробовал. Даже в случаях с дотнетом зачастую автодополнение выдавало бред до установки решарпера. Может сейчас что-то и поменялось. Поэтому и «деградировал» на более качественные продукты.

При работе с C#/VB.NET кодом VS всегда выдает нормальные подсказки, что и не удивительно, так как она всегда знает с каким типом работает. Решарпер немного упрощает процес (в основном за счет автоматического импорта неймспейсов на лету — киллер фича), но и без него работать достаточно комфортно

PS специально для вас провел эксперимнет сравнения автодополнения в Vs/WebStorm для nodejs

var http = require("http");

http.createServer(function(req, res) {
    req....
});

Visual Studio после req... выдает список с 20 вариантами, WebStorm — навскидку где-то 5000 вариантов, удачной вам разработки.

Сразу видно, что в настройки вебшторма вы не заходили. Или заходили, но ничего не настраивали.

там есть галочка «запили мне нормальный автокомплит»?

Не знаю как на счёт «запилить вам нормальный автокомплит», но для меня эта «галочка» включает вполне адекватный комплит (ну и ненужные галочки тож следует убрать). Можете попробовать: blog.jetbrains.com/...-of-node-js-core-modules

Вы сами можете посмотреть что показывает WebStorm в вышеприведенном куске кода с указанными галочками

взагалі питання було про натайпування «req» від require...

Да не проблема, результат такой же. Все наиболее часто использумое наверху:
www.enlightenment.org/...994a55b62749.46493903.jpg

6 полей объекта request + 3 метода (выделены жирненьким). Остальное — стандартные методы и поля JS объекта (не выделены), всего ~ 30-40 результатов автодополнения.

ви прікалуєтесь? :)))
не request. а var http = req[cursor here!] - прямим текстом ж це просили...

Омг... Будете меня учить как называть переменные? Ну да ладно, бог с вами. Пожалуйста, ищите отличия сколько влезет (на всякий случай сделал 2 скрина, ибо в своем комменте вы вообще бреж написали):
www.enlightenment.org/...9989b2aabeb8.17111889.jpg
www.enlightenment.org/...998a17225597.08451143.jpg

Все серно, илб чего другого изволите?

не, ну ви реально прікалуєтесь???
чи там результат настільки лажовий? :)))

Visual Studio после req... выдает список с 20 вариантами, WebStorm — навскидку где-то 5000 вариантов, удачной вам разработки.
я це розумію, як в першому рядку, де виконується require(xxx), почати(!!!) набирати команду require і зупинитись після третього символу(!!!), та показати скільки варіантів завершення покаже ІДЕ...
а що у відповідь? :)))
п.с. хммм .. хоча тут певно я перший раз злажав дочитавши не той req, але у відповідь на мої уточнення йшло не зовсім то...

соррі, таки лажанув, каюсь — стартове питання не так прочитав, і від того йшло уточнення не в ту сторону :(

6 полей объекта request + 3 метода (выделены жирненьким). Остальное — стандартные методы и поля JS объекта (не выделены), всего ~ 30-40 результатов автодополнения.
Ну прекрасно же видно, что там не 30-40 валидных результатов, а несколько тысяч, включая, похоже, абсолютно все имена членов, которые оно смогло найти во всех компонентах ноды и не только ноды.

Причем автодополнение для http (на вашем первом скрине) как раз показывает вполне ограниченный и валидный список вариантов, но очень быстро деградирует по мере написания кода, что подтверждает, что джаваскрипт сосет в том плане, что нормальный интелисенс для него невозможен без введения жесткой типизации типа typescript.

Соответственно, для написания нормального кода нужно или постоянно сверяться с документацией (которая не всегда актуальна), или дебаггером исследовать объект перед тем, как начинать с ним работать, или перейти на нормальные языки, хотя бы тот же typescript, при этом потеряв одно из преимуществ js, а именно — очень быстрый цикл исправил — запустил — проверил.

Ну прекрасно же видно, что там не 30-40 валидных результатов, а несколько тысяч
Специально для вас пересчитал: ровно 46 строк, всего.

Логично же что IDE с языком с строгими типами будет работать лучше чем с языком с нестрогими. О чем спорите?

Логично же что IDE с языком с строгими типами будет работать лучше чем с языком с нестрогими.
Не логично. Все зависит от того как написано это автодополнение. Возьмите ту же джаву и сравните автокомплит в Eclipse, NetBeans, Idea — небо и земля, хоть язык один и тот же.
И коль вам нужны типы — да прибудет с вами TypeScript (если вы не пишите JSDoc-и для ваших функций).

Мне ничего не надо, у меня уже есть все, у меня есть JAVA.

Ну для джавы и для дотнета уже написаны нормальные IDE с нормальными автодополнениями.

Нетбинс не пробовал, но коробочный эклипс вполне себе юзабелен, Идеа, я так понимаю, как минимум не хуже.

ахха, от так записався в фронтенд, а тобі ще хтось студію буде купувати? соррі чувак, але далі вже на опенсорсі доведеться сидіти :))

Причём тут вдруг фронтэнд, если мы говорим о nodejs? Да и коль вам Webstom-ы кажуться деградацией тулзов, то кто вам самому мешает купить горячо любимую вами ВС?

Причём тут вдруг фронтэнд, если мы говорим о nodejs?
може тому що шанси стати “нод джс” розробником і не бути на 50% ще фронтендщиком близькі до нуля
то кто вам самому мешает купить горячо любимую вами ВС?
я і так користуюсь тим що мені допомагає девелопати, а не трошки заважає ;)
може тому що шанси стати “нод джс” розробником і не бути на 50% ще фронтендщиком близькі до нуля
Цифры явно взяты с потолка. Да и если брать тотже ASP.NET, то шансы столкновения с фронтэндом что там, что там равны.

юп, при незначному використання джаваскріпта в проекті. якщо його багато — береться окремий фронтендщик, який в бекенд тикатись не буде, але і студії теж не получить

Я думаю, если б её (судию) предлагали всем фронтендщикам, то б её и так никто не взял.

релігійним — неа, вони за ті гроші макбук випросять, а ті хто користувались заберуть з руками ;)

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

JS на том уровне, который «все и так знают» и JS на уровне JS-разраба — вещи очень разные. «Хотя бы ориентироваться» и действительно знать и понимать как он работает, а также написание кода уровнем выше, чем «дополнение к верстке» — тоже разные.
П.С. Не советую с дотнета переходить на джаваскрипт.

что вообще значит слезать? он же дотнет не забудет на второй день работы с жава скриптом

а хто йому з лейблою фронтендщика даватиме дотнетівські таски?

я же говорил можно пытаться искать фулстек на первое время

PHP как раз не в тренде, не тренди ))

Не знаю как другим, но лично я считаю, что весьма успешно «деградировал». У каждого языка есть свои преимущества и недостатки, и его величество дотнет ими явно не обделён. Во времена моей деградации в дотнете только зарождалась нормальная поддержка асинхронных операций и была единственная более-менее рабочая либа SignalR (медленная, с постоянными мемори ликами, с плохими доками) для вебсокетов. В тоже время у ноды с этим проблем не было. И после переписывания части функционала на ноду и дотнету стало легче дышать без SignalR-а, и вебсокеты стали работать на ноде раз 5-7 быстрей, чем на дотнете.

Может конечно в каком-то рейтинге дотнет стоит выше js-а и считается у масс «пристижнее», но в реальной жизни всё не так просто и идеального языка программирования/технологии нет.

Во времена моей деградации в дотнете только зарождалась нормальная поддержка асинхронных операций
Это когда вы так деградировали?

Небольшой экскурс в историю .NET/C#:
Асинхронные операции: 2002 год (в первой версии)
«Генераторы» в C# (yield return): 2002 год
Анонимные функции в C#: 2005 год
Лямбда-выражения в C#: 2007 год
Встроенный в .NET Task<t> (и перевод части BCL на его поддержку): 2010 год
async/await в C#: 2012 год

nodejs:
Первый релиз: 2009 год
Поддержка «генераторов» и лямбд: 2015 год
Поддержка async/await: учитывая сроки, с которой выкатываются новые стандарты ecmascript, лет через 5 в лучшем случае.

В тоже время у ноды с этим проблем не было.
Справедливости ради — в дотнете с этим проблем не было, потому что там была нормальная многопоточность из коробки, и 99% задач решалось в синхронном режиме.

Если была необходимость, то без проблем можно было перейти в асинхронный стиль с колбеками и неблокирующим IO (который также был в дотнете с первой версии).

Кроме того, где-то в 2004 году Рихтер запилил неблокирующие асинхронные методы на базе yield return (то, на что яростно фапают nodejs-хипстеры 10 лет спустя), но всем было пох по вышеописанной причине.

В nodejs обычные колбеки являются стандартным API для большинства библиотек, а код, испольщующих их, превращается в лесенку бесконечно вложенности.
Желающим использвоать промисы нужно качать/делать обертку между асинхронными API и API на промисах. А, после этого, желающим использовать yield — еще одну обретку с промисов на генераторы.

А смысл менять коней на переправе?
Выбирайте Web или Descktop, что боьше по душе и гоу
Меня коллега по работе периодически сватает изменить Net c Java...без результатно.
Лучше хорошо и глубоко владеть одним инструментом, чем поверхностные знания по нескольким фреймворкам.
p/s Кстати есть такой разработчик John Skeet. Несмотря на то, что он работает на Java, ему больше нравится net

если вы про автора «C# in Depth», то он Jon Skeet

но John Skeet таки работает на Java, .net как хобби )

С дот нет на джаву? Даже стыдно в слух такое говорить

Даже старожилы нашего города о таком не помнят

И в чем стыд? Что необычного, что прям старожилы не помнят?

стыдно что до сих пор на дотнете

а, ну ок, а то как-то неоднозначно — стыдно переходить или стыдно оставаться...:) хотя все говорят что потеряю в деньгах на начальном этапе, но не думаю, что много, и не думаю что надолго — 1-1,5, ну максимум 2 года.

в любом случае это будет мега полезный опыт который в будущем принесет вам еще больше денег и фана

Юношеский максимализм... это пройдет

:) неужели 3 года с учетом того что уже есть опыт?

не понял коммент :)

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

Юношеский максимализм не у вас :), а у Den Roman. А Вам, я думаю, и годика хватит для переезда.

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

я же говорю вместе с переходом на джаву

Да это шутка была. Я сам в свое время перешел с .NET на Java и не жалею

немного напрягся, но шутку оценил :)

На что следует сделать акцент при изучении?

На вакансии в той локации, где собрался работать.

просісти на 3-5 років на мінімум штуку баксів, через опускання назад до джуніора, щоб потім догнавши, якось перегнати на 200-300? проста математика каже що хоч в кінці абсолютна цифра буде більше, в найближчі 7-9 років сумарний дохід за весь період буде суттево нижче в випадку переходу ;)
це вже мовчу що якщо зараз влом вивчити 4(!!!) фреймворка, то що ж доведеться робити новоспеченому джавісту, де все нове, та й оракл давно не модний, всі на бігдату втікають :)))

Як тут люди кажуть, фреймворки і технології це лише інструменти, а найголовніше — досвід і специфіка роботи. Думаю просідання в грошах буде максимум на 1-1.5 року.

фреймворки і технології це лише інструменти
а найголовніше — досвід і специфіка роботи
ви самі собі суперечите, пропонуєте хірургу пересісти з скальпеля на молоток — досвід ж є, а і то і то інструмент?
досвід в першу чергу з інструментом дає розуміння як він працює, що з ним треба робити, як досягнути оптимального результату і перестати натикатись на нові незрозумілі речі.та, якщо встигнути по духу (а не личці) дорости до мідла-сінйора то це рятуватиме з швидкістю вїзджання, але досвіду в новому не додасть.
просідання в грошах буде постійне, дуууже довге — за півтора-два роки ви дійдете в фінансах до попереднього рівня, а лишившись на технології за той час зп теж зросте, і так нормально. це постійна гонка на доганяння. і якщо є здібність так ганяти — ніщо не заважає швидко прокачуватись в тому де вже є нормальна база, тим самим збільшуючи відривання реальності від «теоретичного» у випадку переходу.

3-5 років, мабуть занадто, я не думаю що стільки багато часу потрібно буде для переходу, оскільки вже є досвід розробки. Якщо взагалі без досвіду, то да, десь 3-5 років.

це не для переходу, це для доганяння поїзда що не зупиняється.
шкільна математика:
роки:___зп дотнет ___ зп джава
0______2.5к_________1к______
1______3к__________1.5к_____
2______3.3к_________2.2к____
3______3.7к_________3к______
4______4к__________3.5к_____
5______4.3к_________4.2к______

при тому перші три роки різниця зп щомісяця буде десь з1к, воно ж 12к щороку, які треба мінімальною різницею рівня джави та дотнету ще догнати ;)

ну.. може й так ) але все одно руки сверблять до Java ))

хочеться — йдіть, але про фінанси не мрійти, будете в мінусах ще довго ;)

наприклад у мене на фірмі я можу зараз перейти на джаву взагалі без втрати в грошах. Так що є різні варіанти.

Переходить или нет- вам решать.
У меня была точно такая же картина- .Нет и очень хорошие скилы в Оракле, pl/sql и тд.
Ситуация была веселая- я один .Net разработчик на проекте- и человек 40 на Java (инвест банк)
Естественно пытались перетянуть коллеги меня в Java. Я даже сделал несколько проектов на Java- но понял, что мне таки с .Net комфортней.

Поэтому поменял работу- подучил всё вышеперечисленное- и считаю что правильно сделал.
Так что выбор за вами

А в чем все таки был дискомфорт? Синтаксис языка или множество фреймфорков? В десктопных приложениях под Win .NET выигрывает. На Asp.net быстрее можно сделать web сайт средней сложности чем на Java. Относительно высоконагруженных приложений — не знаю...

в развитых странах, довольно популярно делать бекенд на java, фронт на asp.net. работы с фронтом (как для декстопов так и для веба) выполняются быстрее на .net. java якобы более производительна + можно поэкономить на лицензиях и засунуть ее на сервера с юниксом.

недавно пересмотрел зарплатный опрос (для Киева) и существенной разницы в деньгах не увидел.

Підписатись на коментарі