Пора убить C#

image

Давайте будем честны, и смиримся с рядом фактов:

1. У нас есть определенный рынок в России и только 5% задач из этого рынка нуждаются в высокой производительности, вся основная нагрузка всегда будет лежать на базе данных.

2. Мы живем в 2017 году и иметь 4-8гб оперативной памяти считается разумным минимумом для пользователя, если человек использует Nokia 3310, то глупо жаловаться на неработоспособность Yandex карт.

3. 90 — 95% задач на нашем рынке, это примитивные приложения по типу:

  • Получить данные
  • Отправить данные
  • Отредактировать данные
  • Визуализировать данные.
  • Посчитать данные

4. Конечная цель бизнеса — это деньги, помните, что мы пишем код не для себя, а для решения проблем бизнеса.

Почему C# Разработчики больше не нужны в 2018?


  1. Приложения не являются кроссплатформенными, работодателю нужно нанимать дополнительные кадры, для того что бы можно было хоть как — то конкурировать на рынке приложений. Если этого не будете делать Вы, то это сделает ваш конкурент.
  2. Нельзя сделать красивое приложение, которое можно будет продать в 2018.
  3. Визуальная часть у C# WPF страдает, когда нужно сделать что-то выходящее за рамки набора стандартных компонентов, что-то адаптивное и интерактивное начинается полная жуть с сроками в месяца, когда веб разработчик решит эту задачу за пару дней, если не часов, абсолютно любой дизайн в крайние сроки.

Что я предлагаю Руководителям


Я хочу вам предложить забыть о старомодных NET Разработчиках, хочу вам напомнить, что вы не Google и скорей всего вы решаете простые задачи. Вам не нужен гений оптимизации, мы живем в 2017 году.

Вам выгоден не тот, кто пишет код занимающий 10 мб оперативной памяти, вам выгоден тот человек, который принесет больше денег вашему бизнесу и напишет этот код быстрей чем C# разработчик, иногда можно пожертвовать 10% оперативной памяти, но при этому получить + 20 000 000 в карман.

Кто решит эту задачу?


Эту задачу решит JavaScript разработчик, возможно он не умеет писать 200кб сервера, которые вмещаются на микроконтроллер, но он умеет приносить деньги и сделает так, что бы продукт работал быстро, красиво, надежно и самое главное на всех платформах.

Уже сегодня можно писать приложения на JavaScript и на выходе получать IOS+ Android + Unix + Window приложения без особых затрат. 3D Игры вы конечно писать не сможете, но проблемы 95% рынка, которые описывались выше вы сможете решать без проблем.

Отвечаю на популярные вопросы


Вопрос: JS кривой, без оберток он плохой

Ответ: Кривой, мы зарабатываем деньги, а не ведем спор у кого как объявляется переменная, этот спор будет бесконечным, «обертка» решает эту проблему, настройка занимает 5 минут, через несколько лет все это будет доступно из коробки.

Вопрос: У вас нет архитектуру и нельзя строить масштабные проекты

Ответ: Можно, как это сделать — известно веб-разработчику.

Вопрос: JS медленный, на нем сложно делать какие-то расчеты.

Ответ: Да, но ваш бизнес же не занимается разработкой 3D редактора? Давайте я напомню, что вам нужно заработать денег, а не вести хвастовство, сколько строчек кода занимает ваш продукт. Даже если придется решать сложные задачи, всегда можно будет подключить модуль C++ программиста через WASM.

Вопрос: Я нанимал специалиста по JS за 50 000 рублей, и он ничего не умеет

Ответ: Это был не специалист, это был Junior.

Вопрос: JS умрет через 5 лет, а за ним Node.js и Electron

Ответ: что бы свергнуть JS с престола, нужно полностью менять весь интернет, нужно переписать Google, нужно создавать совершенно новые протоколы, нужно менять всех людей и все технологии и только тогда можно создать альтернативу JS. WASM, на который все молятся, даст огромный прирост JS через пару лет и JS можно будет использовать в той 5% доле бизнеса, куда раньше не ступала нога JS Разработчика, например web photoshop, но мой пост не про эти задачи.

Вопрос: а как же WASM, он убьет JavaScript

Ответ: Это не замена JS, это всего лишь улучшение, многие надоело что они не могут создавать такие продукты как Photoshop в браузере и создали WASM, напомню что в PHP можно интегрировать C++ библиотеки для решения критических задачи, требующие высокой скорости, так же сделали и в JS.

Давайте на секунду представим что С++ C# создадут фреймворк, который будет конкурировать с React и Angular, просто пофантазируем.

  1. А почему только С++ и C#, другие языки тоже это захотят сделать, даже PHP.
  2. Чем плох React и Angular? Скорость? Кто запрещает react и angular переписать критические участки кода на wasm?
  3. У каждого языка будет по 2-4 фреймворка, комьюнити в них будет очень слабое, думаю понимаете к чему это приведет и кто все равно будет занимать лидирующие позиции.
  4. Мало кто будет хотеть разбираться в тонкостях веб, думаете с++ программисты побегут создавать формочки для сайтов?
  5. Никто не захочет учить JS и CSS, а учить придется.
  6. «Писать сайты на любом языке» — можно уже сегодня, во многих языках можно генерировать JS код средствами своего любимого языка, но почему-то это никому не нужно и этим никто не пользуется.
Поделиться публикацией
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама
Комментарии 139
  • +12
    Как говорили древние: «Это так толсто, что даже тонко».

    Пропустим все ваши 237 фатальных ошибок в рассуждениях и сфокусируемся на том, что JS — это такая неведомая хрень, которая работает (должна) на стороне клиента, для чего есть такое умное слово Front-end.

    C# же — это язык, который предназначен для разработки бизнес-логики, что, в связке с веб-мордой фронтенда, можно назвать не менее умным термином Back-end.

    Разные задачи — разные инструменты.
    • +5
      ошибки не только в рассуждениях, я сломался здесь:
      как — то

      • –3
        Будете моим личным корректором? Можете еще ошибки поискать в моем тексте?
      • +3
        Вы не поверите, но JavaScript уже много лет прекрасно работает на Back-end. С разморозкой вас.
        • +2
          Из того, что что-то существует, совсем не обязательно вытекает то, что это что-то — рациональное. Вам и на Brainfuck, в общем-то, ничего не мешает back-end поднимать. Вопрос только в целесообразности.

          Но в целом, буду признателен, если вы вкратце обрисуете (своими словами) преимущества JS для back-end по сравнению с более традицонными подходами.
          • 0

            Два слова: изоморфный рендер.

            • +2
              Я правильно понимаю историю развития всей этой… ммм… штуки?

              1. На заре интернета есть классическая клиент-серверная архитектура со скучными статическими страничками.
              2. Чтобы добавить какой-то интерактивности на клиенте, разрабатывается некоторый скриптовый язык программирования.
              3. Но поскольку этот язык разрабатывается людьми, перманентно находящимися под веществами, пользоваться и делать что-то полезное с помощью этого языка можно, только по уши обвешавшись всякими костылями, начиная с JQuery и по нарастающей вплоть до React/Angular.
              4. С учетом всех этих костылей, самая простая веб-страничка начинает весить чуть бошьше, чем ранние дистрибутивы винды, грузится далеко не мгновенно, да и поисковиками воспринимается не без вопросов.
              5. Решение? А давайте перенесем вот весь этот костыльный рендеринг на сервер! Ну и чтобы, значить, не писать все костыли по два раза, давайте сервак тоже запилим на JS.

              Ну а виноват во всем этом, конечно, кровавый enterprise с его C#, смерь ему. :)
              • 0

                Не путайте костыли, библиотеки и фреймворки.

                • +1
                  Ага, нет аргументов ответить по существу — давайте придираться к терминологии :)

                  Но все-таки поясню, почему все вышеперечисленное я отношу к костылям. Согласно вики: «Фреймворк — программная платформа, определяющая структуру программной системы» и «Одно из главных преимуществ при использовании «каркасных» приложений — «стандартность» структуры приложения».

                  Что имеем: с одной стороны есть растущая куча «фреймворков» (React, Angular, Vue...).
                  ОК, если каждый «фреймворк» предназначен для решения какого-то специфического класса задач.
                  Не ОК, если все «фреймворки» решают одни и те же задачи, просто в очередной раз «чуть проще и лучше».
                  На практике мы видим, что количество статей "[Angular, React, Vue, неведомая фигня] [лучше, хуже] чем [Angular, React, Vue, неведомая фигня]" перевалило за все мыслимые пределы, а, значит, ни у кого нет понимания, как правильно построить эту самую «структуру программной системы». Кажется, это практически определение костыля.

                  С другой стороны, даже внутри одного фреймворка мы не видим «стандартности структуры приложения»: тот же Angular 1 и Angular 2/4 — чуть менее, чем совсем разные продукты, и нельзя вот так взять и перейти с одной версии на другую, просто поменяв опцию конфигурационного файла. Переписывать-с надобно!

                  Так что, простите, но вот назвать все вот эти поделия «фреймворками» у меня язык не поворачивается.
                  • 0

                    В данном случае, аргументов по существу я не нашел у вас, одна экспрессия ("под веществами", "костыли").


                    Что же до растущей кучи библиотек — хорошо когда есть из чего выбирать. Это лучше чем ситуация когда выбирать не из чего. Никто не заставляет же переписывать свой проект каждый раз на новый фреймворк.


                    PS Angular.js и Angular надо считать совершенно разными фреймворками. Тогда и не будет фантазий насчет "просто поменять опцию конфигурационного файл".

                    • 0
                      Экспрессия есть, каюсь.
                      Но как-то сложно спокойно относиться к языку и его производным, где
                      ('1' + 1) равно '11', и ('1' — 1) равно 0
                      кажутся вполне логичными и нормальными вещами на фоне всего остального.

                      А вот дальше должна быть картинка про 14 конкурирующих стандартов.
                      Хорошо, когда есть, из чего выбирать разного. Плохо, когда есть дофига, но чего-то одинакового. И плохо, когда то, что ты выбрал, к моменту окончания разработки оказывается бесконечно устаревшим и никем более не поддерживаемым.

                      И еще, наверное, плохо (хотя я не знаю наверняка, как фронтендные соискатели к этому относятся), что перед любым собеседованием на JS надо держать в голове всю эту растущую кучу «фреймворков», чтобы хотя бы просто быть в курсе.
                      • 0

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


                        А если где-то принято на собеседовании экзаменовать сразу по всем фреймворкам — бегите оттуда!

                        • 0
                          ('1' + 1) равно '11', и ('1' — 1) равно 0

                          И часто вы пишете такой код?
                          Наверное, не чаще, чем C++ разработчики используют goto.

                          • 0
                            В смысле? Вы две переменные складываете-вычитаете не чаще, чем doto? Однако…
                            • 0

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

                              • 0
                                Эх, не удержался… А как вы поймете, числовая это у вас переменная, строковая, или вообще массив?
                                • 0

                                  Не имею привычки забывать значение какого типа я положил в переменную. Ну и еще TypeScirpt есть, я его уже упоминал.

                                  • 0
                                    Все разработчики без фотографической памяти и способности к телепатии между коллегами преклоняются сейчас пред вашим могуществом. (:
                                    • 0
                                      фотографической памяти и способности к телепатии между коллегами

                                      Для JS, может и да.
                                      Но хорошая IDE для TS/C++/C# и т.д. вполне успешно показывает тип переменной.

                                      • 0
                                        export class MyClass{
                                            constructor(myService){
                                                this.service = myService;
                                            }
                                        
                                            search(){
                                                this.service.??? что подскажет хорошая IDE здесь?
                                              }
                                        }
                                        
                                        
                                        • 0

                                          В параметре конструктора вы не указали тип параметра 'myService'. При этом компилятор TS подставит тип any.


                                          Я могу так написать:


                                          class MyClass {
                                              void* mService;
                                          public:
                                               MyClass(void* myService) {
                                                    mService = myService;
                                               }
                                              search() {
                                                  this->mService-> //???
                                              }
                                          };

                                          Но согласитесь, что это не проблема C++, а проблема моих рук.


                                          А вообще для такого интерфейсы и нужны

                                          • 0
                                            Согласен, не проблема. Проблема в том, что я не хочу поднимать TS для микро/мини проектов. А без него, не удобно, вот и все. И IDE тут не спасет.
                                            Но вообще комментарий был скорее к
                                            Не имею привычки забывать значение какого типа я положил в переменную
                                          • 0

                                            Ваш код в TS не скомпилируется (в строгом режиме — точно не скомпилируется).


                                            Правильный код выглядит как-то так:


                                            export class MyClass{
                                                constructor(private service: MyService) { }
                                            
                                                search(){
                                                    this.service./*здесь IDE выведет публичные свойства и методы класса MyService*/
                                                }
                                            }
                        • 0
                          Не ОК, если все «фреймворки» решают одни и те же задачи, просто в очередной раз «чуть проще и лучше».

                          А почему, собственно, не ок?

                          Фреймворк отличается от библиотеки тем, что задает структуру проекта. Соответственно, даже фреймворки которые решают полностью те же проблемы могут быть разными, поскольку продвигают разную структуру организации проекта. Я думаю что это «ок» поскольку позволяет применять разные структуры для разных проектов. Например для маленького приложения я возьму Vue, для большого, какой то из Angular.

                          Что касается «поделия». Первый Angular прожил с 2009 года и жив еще сегодня. Т.е. 8+ лет. Очень не плохой срок для поделия, не находите?

                          Переход между angular-ами не прост, но возможен. Но, вот положа руку на сердце, зачем? По сути, это два разных проекта, просто от одного вендора. И общего у них разве что способ организации кода — компонент/сервис/директива.

                          Да, мир бекенда (java, c#, php, go) живет несколько другими темпами. Фронт-енд более «динамичен». Но если не впадать в тренд (а давайте все перепишем на mobx, или еще какую то неизвестную xxx), то жить можно +- стабильно.

                          Так что ваши аргументы, как мне кажется, не вполне состоятельны.

                          П.С. Для справки я работаю со всем стеком SQL/C#/JS
                      • –4
                        правильно понимаю историю развития всей этой… ммм… штуки?

                        1. На заре интернета есть классическая клиент-серверная архитектура со скучными статическими страничками.
                        2. Чтобы добавить какой-то интерактивности на клиенте, разрабатывается некоторый скриптовый язык программирования.
                        3. Но поскольку этот язык разрабатывается людьми, перманентно находящимися под веществами, пользоваться и делать что-то полезное с помощью этого языка можно, только по уши обвешавшись всякими костылями, начиная с JQuery и по нарастающей вплоть до React/Angular.
                        4. С учетом всех этих костылей, самая простая веб-страничка начинает весить чуть бошьше, чем ранние дистрибутивы винды, грузится далеко не мгновенно, да и поисковиками воспринимается не без вопросов.
                        5. Решение? А давайте перенесем вот весь этот костыльный рендеринг на сервер! Ну и чтобы, значить, не писать все костыли по два раза, давайте сервак тоже запилим на JS.

                        Ну а виноват во всем этом, конечно, кровавый enterprise с его C#, смерь ему. :)


                        1) Было в 2000 годах, помним
                        2) Да, JS, но он был не удобным, работать с DOM было сложно и создали Jquery
                        3) Эра Jquery окончена, теперь у JS полноценные функции для работы с DOM, теперь делать что-то больше сайта визитки стало сложно и для упрощения разработки появились фреймворки (даже в C#/C++/java есть фреймворки, глупо не воспользоваться готовой архитектурой, готовым решением)
                        Конечно я понимаю вы настоящий программист и все пишите с нуля, такие как вы пишут REST API на чистых сокетах.

                        4) Entity Framework, laravel / Yii2 / Spring / servicestack это тоже костыли, если следовать вашей логике что angular / react / vue один большой костыль?
                        — Самая простая веб страничка весит 20 кб, никто не использует фреймворки для сайтов визиток. Не согласны со мной, думаете что весь интернет заполонили SPA сайты, покажите мне пример таких плохих сайтов, вряд ли они у вас есть, вы просто поддались на хабра-пропаганду и придерживаетесь её.
                        — Бандл весит максимум 2 мегабайта (но и это можно оптимизировать, сделать динамическую подгрузку бандлов), 2 мб — это нормально для 2017 года, для мобильных устройств делают SSR и все рады, не согласны со мной? покажите мне код с JS в 50 МБ?
                        — Поисковики дружат отлично с такими сайтами, для этого делает есть все тот же SSR
                        Почему вы этого не знаете? а потому что вы не веб разработчик и вас в голове информация о JS примерно 2010 годов, этого не знает JS разработчик за 60 000 рублей, про это я тоже описал в своем посте.
                        5) Упс, оказывается вы знаете про рендеринг на сервере для мобильных устройств и поисковиков (напомню что десктоп все устраивает, если у вас проблема с 2 MB сайтами, то это не проблема сервиса, это проблема вашего поселения, проблемы вашего компьютера, другими словами, если у вас nokia 3310 не жалуйтесь что сайты глючат, бесплатные сайты, которые вам ничем не обьязаны, созданные энтузиастами, не согалсны? покажите мне хотя бы 1 такой сайт, я не прошу 100, хотя вы и говорите что почти все сайты, покажите хотя бы 1 сайт и я скажу в чем там проблема, в сервере, в канале или реально в JS файле в 700 МБ :D)
                        Опять, вы не веб разработчик, серверный рендеринг делается за 5 минут.
                        • –4
                          P.S. C# хорош, но я предлагаю оптимизировать расходы бизнесу.
                          Мы разрабатываем проект за 1 000 000 и создаем продукт под все системы(в том числе и мобильные)
                          Конкурент разрабатывает проект за 1 000 000 и разрабатывает только под Window


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

                          Конечно вы сейчас скажете что я идиот, зарубежом идиоты и Microsoft идиоты, которые начали писать свои продукт на JS, skype на JS, vscode На JS, идиоты. только русские программисты умные, пишут HTTPRESTAPI На чистых сокетах в 2017 году, потому что СКОРОСТЬ! мать ее :)
                          • 0
                            Тут вопрос в том, а чем этот самый бизнес занимается. Если цель — сделать проект всеми правдами и неправдами, и затем забыть как страшный сон, то это одно. А если вы пишете продукт, нацеливаясь на его поддержку и дальнейшую разработку, то это немножечко совсем другое.

                            Мне, например, было бы очень и очень интересно почитать про рефакторинг JS-кода, серьезно.
                            • +2
                              вы рассуждаете как программист, я рассуждаю как владелец бизнеса

                              Вы "рассуждаете" опираясь на утверждение, что вы и ваш конкурент создаете полностью идентичный (кроме системных требований) продукт за одни и те же деньги/ресурсы. А на чем, собственно, основано это утверждение?

                              • –2
                                Посмотрите пример: kpi-monitor.ru, представим что мы делаем новый продукт с нуля и пытаемся убить этот.

                                Мы создаем приложение за 2 000 000 рублей под все платформы, в том числе и мобильные.
                                Конкурент создает такое же приложение за 2 000 000 рублей но только под Window, что нужно сделать конкуренту что бы создать это приложение под все системы? Ему нужно расширить штат, новые джуниоры, новые сеньеры, и вот бюджет уже расширяется под 10 000 000 рублей, а что делаем мы? мы используем JS и пишем на нем под все возможные платформы (electron + r native)
                                Господи ну какая может быть производительность в выводе таблиц из 50 строк? Вся нагрузка падает на SQL.

                                • 0
                                  Конкурент создает такое же приложение за 2 000 000 рублей но только под Window

                                  Откуда вы взяли это утверждение?

                                  • –1
                                    Конкурент создает такое же приложение за 2 000 000 рублей но только под Window
                                    Откуда вы взяли это утверждение?


                                    Ну это элементарная математика, писать сразу по 4 платформы системы с 2 программистами или писать писать под 4 системы с 8 программистами.
                                    По мимо C# программистов, нужно будет нанимать Unix/Android/Ios

                                    Core не способен решить эту задачу в 2017 году, сейчас можно только разворачивать сервера, но рисовать формы и прочее — сейчас невозможно, я не отрицаю что это скоро сделают, но пройдет лет 5.
                                    За эти 5 лет уже много поменяете и NET будет как всегда оставаться на 10 шагов.

                                    Теперь комьюнити, знаете сколько готовых календарей у react native и electon, минмиум под два десятка, что может предложить ваш Core? ничего, конечно вы мне опять скажете что настоящий программист должен тратить месяц на то что бы нарисовать свой календарь на канвасе, это круто для вашей самооценке, но мне как для бизнеса нужен человек который создаст календарь за 1 сутки
                                    • +2
                                      Ну это элементарная математика, писать сразу по 4 платформы системы с 2 программистами или писать писать под 4 системы с 8 программистами.

                                      Никакая "элементарная математика" не объясняет, почему вы считаете, что разработка на C# (под одну платформу) занимает столько же ресурсов, сколько и разработка на JS (под ту же одну платформу).


                                      Понимаете ли, вот у нас типовая "современная" система — то есть, распределенная, с веб-интерфейсом, API и мобильными клиентами. Поделим ее на три зоны: бэкенд, веб-фронт и мобильный фронт. Время разработки мобильного фронта не зависит от того, на чем написан бэк (они все равно изолированы через API). Предположим, что веб-фронт у нас на реакте. Внимание, вопрос: почему вы утверждаете, что разработка веб-фронта на JS + бэкенда на JS не медленнее, чем веб-фронт на JS + бэкенд на C#?

                                      • 0
                                        Предположим, что веб-фронт у нас на реакте.

                                        Это, на самом деле, предположение, не влияющее на дальнейшее рассуждение. Достаточно предположить, что у нас не изоморфный фреймворк.

                                        • –2
                                          1) android — java
                                          2) ios — swift
                                          3) Backend — C#
                                          4) FrontEnd — Javascript
                                          Никто не может заменить друг дружку в этой схеме, т.е. нужно как минимум 4 программиста, каждому я буду платить от 140 000 рублей, правильно? или JS программисту не нужно платить 140 000 можно взять за 50 000 рублей, а java и swift это один человек. как считаете?

                                          • +2

                                            Угу, а теперь берем вашу схему:


                                            1) android — JS
                                            2) ios — JS
                                            3) Backend — JS
                                            4) FrontEnd — JS

                                            Четыре программиста, каждому от 140000 рублей, правильно?


                                            Что поменялось? Где экономия?

                                            • –2
                                              Вам в подробностях или вкратце?
                                              Любой человек может заменять другого сотрудника и быстро переучиваться в процессе это сокращает бюджет.
                                              Если я сегодня писал FrontEnd то я уже через неделю могу писать все тоже самое, но на выходе у меня будет мобильные приложений (да игры не напишу, с API операционки работать не смогу, но тот проект что описал выше я сделаю)

                                              Единственное условие: Все сотрудник должны хорошо знать нативный JS
                                              • +2
                                                Любой человек может заменять другого сотрудника и быстро переучиваться в процессе

                                                Или не сможет. Зависит исключительно от квалификации сотрудника.


                                                это сокращает бюджет.

                                                Нет, не сокращает. У вас есть четыре компонента, стоимостью A, B, C и D человеко-часов. Суммарная стоимость — (A+B+C+D)*P, где P — стоимость человеко-часа. От того, что вы можете перекидывать людей между компонентами, бюджет не уменьшается, потому что количество часов не уменьшается. Более того, бюджет может и увеличиваться, потому что на переучивание в процессе уходят деньги.


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

                                                • –2
                                                  Сможет, вы просто не сталкивались с этими технологиями, я могу вам скинуть пример кода FrontEnd и пример кода для мобильных приложений, вы удивитесь, но отличий практически нет.

                                                  Выгода вот в чем, вы не сможете найти фулстек разработчика за 140 000 на 2-3 направления, а я смогу найти. (ситуация поменяете в вашу пользу, если через 5 лет NET.CORE Трансформируется во что-то больше чем серверочек под линукс)

                                                  мне нужно уже не 4-5 сотрудников, а 2 фулстек разработчика.

                                                  В проектах крупных как правило участвуют и джуниоры и прочии ребята, вам нужно 12 сотрудников а мне 6.

                                                  Сейчас вы скажете что нереально найти спецаилиста и по фронтенду и по бекенду за 140 000 рублей.
                                                  Что нереально найти спецаилиста по фронтенду и по мобильным за 140 000.
                                                  А я отвечу, что легко.
                                                  Более того накинув им 20 000-40 000 рублей в процессе работы их можно заточить и под сервера.

                                                  • +2
                                                    Выгода вот в чем, вы не сможете найти фулстек разработчика за 140 000 на 2-3 направления, а я смогу найти. мне нужно уже не 4-5 сотрудников, а 2 сотрудника.

                                                    Которые сделают работу в два раза медленнее (чем четыре). Что значит, что денег вы потратите все равно столько же, только еще и на рынок позже выйдете.


                                                    В проектах крупных как правило участуют и джуниоры и прочии ребята, вам нужно 12 сотрудников а мне 6.

                                                    Это утверждение снова ни на чем не основано. Вы не знаете, как распределяется пропорция в команде.


                                                    Более того накинув им 20 000-40 000 рублей в процессе работы их можно заточить и под сервера.

                                                    То есть у вас был фронт-разработчик, вы ему "накинули 40 тысяч", и он сразу стал писать хороший бэкенд код? Вау.

                                                    • –4
                                                      Которые сделают работу в два раза медленнее (чем четыре). Что значит, что денег вы потратите все равно столько же, только еще и на рынок позже выйдете.Это утверждение снова ни на чем не основано. Вы не знаете, как распределяется пропорция в команде.То есть у вас был фронт-разработчик, вы ему «накинули 40 тысяч», и он сразу стал писать хороший бэкенд код? Вау.

                                                      Вы не разбираетесь в JS и вам сложно давать оценку моим словам, возможно вы топ программист в С++ C#, но в веб у вас опыта нет, вы хотя бы примеры проектов посмотрели на тех технологиях что я описал, у вас есть только примерное представление о JS и скорей всего эти представляения 2010 годов, но я вам подскажу перескочить с технологии на технологию дело 1 недели (Js(es5 es6 es7)-> node.js -> React -> react native -> electron) Это JS, 90% остается неизменным, меняются незначительные вещи, именно по этому я и сказал что нужно искать JS специалиста, который хорошо знает нативный JS, тогда никаких проблем и не будет. Я Node.js Учил за 2 часа после JS, я понял основную идею, веб сервис я могу поднять за 20 минут, если потребуются какие-то другие задачи, то я пойду читать документацию, да задач то и не много: Работа с файлами, работа с сеть. работа с бд (это учится максимум за неделю, если не за пару дней ), а все остальное мы уже знаем (js То учили)
                                                      Да, бекенд специалистом стать не проблема, опять таки, нам нужно искать не Jquery веб мастеров, а JS программистов, это совершенно разные профессии, вы живете еще в 2010 году, вам кажется что JS это только сайты визитки и смена цвета кнопке. Единственная проблема будет с SQL, но и тут у нас есть решение.
                                                      Основы можно за недельку выучить, но вот проектирования БД нужен опыт, но у нас проектированием занимается всегда 1 человек, других даже не подпускаем.

                                                      Не переоценивайте свою значимость, возможно вы гений оптимизации, но нам не нужна высокая производительность, у нас работают люди возможно глупее чем вы, я этого не отрицаю, но они получают больше чем вы и многие .NET программисты :3
                                                      бизнесу плевать на ваши амбиции, даже если вы изобретете какой-то мощный алгоритм, всем будет плевать. Ценятся те кто может решать задачи и приносить бизнесу деньги, самое главное это нужно делать быстро. Наши клиенты всегда довольны.
                                                      • +3
                                                        возможно вы топ программист в С++ C#, но в веб у вас опыта нет,

                                                        Вам, конечно, лучше знать, какой опыт у меня есть, а какого нет.


                                                        Это JS, 90% остается неизменным, меняются незначительные вещи

                                                        У вас в языке меняется 10% просто при переходе с клиента на сервер? Мне вас жаль.


                                                        да задач то и не много: Работа с файлами, работа с сеть. работа с бд (это учится максимум за неделю, если не за пару дней )

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


                                                        Да, бекенд специалистом стать не проблема

                                                        Да нет, понятно, что не проблема. Практика, книжки, снова практика, снова книжки, намылить, смыть, повторить. Несколько месяцев, несколько лет — и вот вы специалист.


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

                                                        А вот теперь конкретные цифры в студию. Сколько именно получают ваши люди, и сколько получаю я.


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

                                                        Вы все время говорите о быстроте, но на основании чего вы утверждаете, что любые (хорошо, 95% рынка) приложения в вашем технологическом стеке пишутся быстрее (с сохранением остальных атрибутов, конечно же), чем на других стеках?


                                                        Наши клиенты всегда довольны.

                                                        Наши довольны не всегда (я еще не видел всегда довольного клиента), но достаточное количество времени, чтобы платить деньги.

                                                        • –3
                                                          У вас в языке меняется 10% просто при переходе с клиента на сервер? Мне вас жаль.

                                                          map + reduce + filter + Underscore, все что нужно для обработки данных, да, я использую готовые решения, а вы наверное по старинке пишите километровые алгоритмы, наверно и сортировки пишите все с нуля?
                                                          Ради интереса, можете описать хотя бы одну сложную задачу которую вам приходилось решать на сервере, не на уровне SQL запросов, а именно на серверном языке прошу, хотя бы одну ^^ мне вас жаль, я бы уволил вас давно, гений программирования и оптимизаций :)
                                                          • 0
                                                            map + reduce + filter + Underscore, все что нужно для обработки данных

                                                            И какое отношение это имеет к 10% в языке между сервером и клиентом?


                                                            (да, кстати, а в ваши "map/filter", которые "все что нужно", уже завезли AST?)


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

                                                            Что такое "серверный язык"? Я такого не знаю.

                                                        • 0
                                                          они получают больше чем вы и многие .NET программисты

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


                                                          Знаете, мне вот что интересно. Вы говорите, что JS-разработчики приносят компании экономию. Как так получается, если их зарплаты выше (при одном и том же качестве продукта)?

                                                          • 0
                                                            Конечно, так и есть.

                                                            Пример:
                                                            Бюджет заказчика 5 000 000 рублей.
                                                            Сроки на разработку 4 месяца.

                                                            Цена разработки с нашей стороны: 1 500 000 рублей.
                                                            Сроки: 1 месяц.
                                                            на выходе готовый продукт под все системы в короткие сроки, да возможно половину мы написали не с нуля, да возможно наше приложение запускается 6 секунд вместо ваших 0.3s, но нам плевать да и клиенту тоже.

                                                            Да, человек получает 300к+ рублей у нас самый «жирный» при этом он приносит самые большие деньги компании, так или иначе все остаются в большом плюсе.
                                                            Это эконмия, если бы он получал 300к и приносил 500 000 это не экономия, но когда он получает 400 000 и приносит миллион — это экономия, условный пример конечно.

                                                            • 0
                                                              Цена разработки с нашей стороны: 1 500 000 рублей.
                                                              Сроки: 1 месяц.

                                                              Отсюда и начнем, бюджет заказчика не релевантен. У вас k разработчиков, суммарная месячная зарплата которых 1.5м. Вы утверждаете, что зарплаты у вас выше, чем у .net программистов (при продукте того же уровня). Это значит, что если заменить разработчиков, делающих в вашем проекте бэкенд, с JS на .net, суммарная месячная зарплата упадет. Значит, упадет общая стоимость проекта. Значит, экономия возникает при найме .net-разработчиков, а не JS-разработчиков.


                                                              Правда, любопытно? Или все-таки JS-разработчики у вас получают меньше, чем .net-разработчики на рынке?

                                                              • 0
                                                                То что мы делаем за месяц, вы будете делать 3 месяца, вот и весь секрет.

                                                                Вот простая задачка
                                                                f5.s.qip.ru/etSMzaYX.png
                                                                Сколько это займет у C# разработчика?
                                                                Сколько это займет времени у Java разработчика?
                                                                Сколько это займет времени у Swift Разработчика?
                                                                Про Lunix мы забыли, кто этот календарь будет у вас под Linux Делать и сколько это времени займет?

                                                                • +1
                                                                  То что мы делаем за месяц, вы будете делать 3 месяца, вот и весь секрет.

                                                                  Стоп-стоп, а можно основания и границы для этого утверждения?


                                                                  Вот простая задачка f5.s.qip.ru/etSMzaYX.png

                                                                  Подозреваю, что во всех случаях ответ "нисколько, возьмите готовый контрол". А конкретно взятый C#-разработчик про это вообще ничего знать не будет, потому что он на бэкенде.

                                                                  • +2
                                                                    То есть вы ограничиваете все многообразие софта виджетами с календарями?

                                                                    А сколько займет разработка системы, скажем, в 5 миллионов строк кода (на чем угодно), у разработчика на js и разработчика на .net?
                                                        • 0

                                                          А еще все эти ваши рассуждения основаны на том, что вы будете использовать JS для написания мобильных приложений (ну то есть заодно "пора убить Swift" и "пора убить Java"). Но есть компании, которые считают, что им нативный мобильный UX важнее, чем униформная команда разработки, и они выделяют отдельных разработчиков под каждое мобильное направление. И что вы с ними будете делать?

                                                          • –3
                                                            А еще все эти ваши рассуждения основаны на том, что вы будете использовать JS для написания мобильных приложений (ну то есть заодно «пора убить Swift» и «пора убить Java»). Но есть компании, которые считают, что им нативный мобильный UX важнее, чем униформная команда разработки, и они выделяют отдельных разработчиков под каждое мобильное направление. И что вы с ними будете делать?


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

                                                            Подгоните мне человека который пишет под Swift Java за 140 000 рублей? 1-2 на весь рынок и просит около 240 000?
                                                            • +1
                                                              Да, так и есть, уже сейчас можно заменить одним разработчиком

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


                                                              Например:



                                                              Так как ваша арифметика ко всем этим компаниям применима?


                                                              Подгоните мне человека который пишет под Swift Java за 140 000 рублей? 1-2 на весь рынок и просит около 240 000?

                                                              Вы давно на моемкруге не были? Ценник начинается от 50 тысяч, и я даже не искал.


                                                              PS И это мы еще делаем вид, что не существует Xamarin.

                                                              • –2
                                                                electron.atom.io/apps

                                                                Посмотрите приложения и название компаний, много популярных, ни одной Российской, потому что Российский рынок остается на 5 лет. Хсамарин это конечно круто, но знаете что делает технологию крутой? комьюнити и большой набор готовый инструментов
                                                                • 0

                                                                  Конечно же, компании, про которые я пишу выше, никогда про электрон не слышали, да-да-да.


                                                                  Еще раз: они осознанно приняли решение писать мобильные приложения на нативных языках. Как к ним применима ваша арифметика "возьмем одного JS на все компоненты"? Или просто не применима?

                                                                  • –1
                                                                    те компании что описаны выше это старые продукты, мало кто хочет переписывать все с нуля и тратить кучу денег, пока и так все нормально и деньги капают, конкурентов не так много, зачем?

                                                                    Вот кстати вам приложение РФ на JS vk.com/messenger

                                                                    Вот тоже прикольная вещь: www.getpostman.com
                                                                    Работает быстро, нет сильного отжора оперативки и это все JS
                                                                    • 0
                                                                      те компании что описаны выше это старые продукты,

                                                                      Ну то есть к компаниям с существующими продуктами ваша арифметика не применима, правильно я вас понял?


                                                                      (тот факт, что их на рынке явно больше 5%, вас не смущает?)

                                                                      • –1
                                                                        Яндекс использует React + node.js на новых проектах.
                                                                        Скоро подключит в дело Electron
                                                                        • 0
                                                                          Яндекс использует React + node.js на новых проектах.

                                                                          только React и node.js?


                                                                          Впрочем, не суть. Как это отвечает на мой вопрос про арифметику?

                                                                          • –3
                                                                            только React и node.js?

                                                                            Впрочем, не суть. Как это отвечает на мой вопрос про арифметику?


                                                                            Нет, но на новых проектах в простых задачах используется этот стек. Где там C# core на сервере? А нигде, этот шлак никому не нужен, технология сделанная для галочки.

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


                                                                            Арифметику я описал выше, если человек приносит компании 1 000 000 рублей, то мы платим ему 300 000 рублей.

                                                                            Если человек приносит компании 100 000 рублей, то мы платим ему 40 000 рублей.

                                                                            300 000 рублей это человек который может писать продукт под все системы. Универсальный солдат.
                                                                            • +2
                                                                              Нет, но на новых проектах в простых задачах используется этот стек.

                                                                              Во всех?


                                                                              Где вам C# core на сервере?

                                                                              https://www.reddit.com/r/dotnet/comments/6m88q7/whos_actually_using_net_core_in_production/


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

                                                                              MS переходит на JS-стек? Можно пруф?


                                                                              Арифметику я описал выше, если человек приносит компании 1 000 000 рублей, то мы платим ему 300 000 рублей. Если человек приносит компании 100 000 рублей, то мы платим ему 40 000 рублей.

                                                                              … а из чего вы делаете вывод, что JS-разработчик приносит компании в десять раз больше денег, чем .net-разработчик?

                                                                              • –2

                                                                                а из чего вы делаете вывод, что JS-разработчик приносит компании в десять раз больше денег, чем .net-разработчик?

                                                                                Вот простая задачка
                                                                                f5.s.qip.ru/etSMzaYX.png
                                                                                Сколько это займет у C# разработчика?
                                                                                Сколько это займет времени у Java разработчика?
                                                                                Сколько это займет времени у Swift Разработчика?
                                                                                Про Lunix мы забыли, кто этот календарь будет у вас под Linux Делать и сколько это времени займет?

                                                                                А как быть а адаптивностью в window ios И linux, если пользователь захочет изменить размер формочки?
                                                                                Что? опять сроки увеличиваются в N раз?
                                                                                Что? это никому не нужно все фиксируют размеры формы?
                                                                                Вот вы и будет оставаться всегда в жопе, а мы будем делать удобные продукты под пользователи и самое главное красивые. Мы это сделаем быстрей чем вы
                                                                                • +2
                                                                                  Вот вы и будет оставаться всегда в жопе, а мы будем делать удобные продукты под пользователи и самое главное красивые. Мы это сделаем быстрей чем вы

                                                                                  Во-первых, докажите мне, что ваши мобильные продукты удобнее и красивее, чем нативные. Я же правильно понимаю, что вы-таки решили расширить свой пост с "пора убить C#" на "пора убить C# и нативную разработку под мобилы"?


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

                                                                                  • +2
                                                                                    Я C#-разработчик. Работаю при этом в основном под линуксом. Такой календарик соберу за вечер-два. С адаптивностью. Под Qt или под GTK на моно (и на винде тоже будет работать). Или на ксамарине.

                                                                                    А вы даже не понимаете о чем говорите.
                                                                                    • –4
                                                                                      Очередной программист, который напишет 10000 строк кода, но решит задачу.

                                                                                      что-то в стиле этого будет?
                                                                                      auto x3 = cos( angle + PI / 3 * 4 ) * radius + xc;
                                                                                      auto y3 = sin( angle + PI / 3 * 4 ) * radius + yc;
                                                                                      cr.setSourceRgb( 1.0, 0.0, 0.0 );
                                                                                      cr.moveTo( x1, y1 );
                                                                                      cr.lineTo( x2, y2 );
                                                                                      cr.lineTo( x3, y3 );


                                                                                      Мы сделаем это быстрей вас в 5 раз и мы сделаем под все системы махом.

                                                                                      Не знаком с GTK, но это вроде как тот же Canvas, где все рисуется на низком уровне. Как сделать hover и Tooltip Над элементом, опять куча математики с масок?

                                                                                      нет, я вас бы сразу уволил, вы программист, но вы не выгоды бизнесу и не сможете быстро решать задачи
                                                                                      • +4
                                                                                        Я же говорил, что вы не понимаете о чем говорите.

                                                                                        Нет, GTK — это очень далеко не Canvas. Тултип я бы сделал вот так (на GtkSharp):

                                                                                        Tooltips tooltips1 = new Tooltips();
                                                                                        Widget button1 = new Button ("button 1");
                                                                                        tooltips1.SetTip(button, "This is button 1", null);


                                                                                        К сожалению, у вас бы не получилось бы меня уволить, потому что вы не смогли бы меня нанять.
                                                                                        • +3
                                                                                          К сожалению, у вас бы не получилось бы меня уволить, потому что вы не смогли бы меня нанять.

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

                                                                                          • +3

                                                                                            Скоро этот пост превратиться в "пост увольнений" судя по тенденции.


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


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


                                                                                            Но каменты забавно почитать — интересно чем закончится.

                                                                                        • 0
                                                                                          Давайте встречное — я хочу заказать у вас онлайн-игру. Экшн. Браузерный. С серверной частью. Как вы будете делать сервер на js? Такой, чтобы нормально утилизировал многоядерный процессор. И, нет, их сейчас никто не пишет на C++, пишут на java/.net.
                                                                                          • +4
                                                                                            Очередной программист, который напишет 10000 строк кода, но решит задачу. что-то в стиле этого будет?

                                                                                            Вы серьезно никогда нормальных библиотек контролов не видели?

                                                                                    • +3
                                                                                      Яндекс пару месяцев назад активно искал разработчиков под .net core. На новый проект. Пруфы — на hh.

                                                                                      В энтерпрайзах часто разработчики вообще не доходная статья, а расходная. Предлагаете у них брать деньги за возможность работать? Ну ведь компания на них тратит деньги, а не зарабатывает. Или, например, тот самый R&D, благодаря которому у вас появился электрон и относительно быстрый javascript, который теперь вас кормит на микроаутсорсинге.
                                                                                      • +3
                                                                                        300 000 рублей это человек который может писать продукт под все системы. Универсальный солдат.

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

                                                                                        • +1
                                                                                          «Выход на рынок» предполагает еще работу по анализу рынка, анализу требований, проектированию (мы же будем потом поддерживать продукт, не?). Все один несчастный программист с зарплатой в 300к? Возникает вопрос — а зачем такому вообще начальник и фирма-наниматель?
                                                                                    • +2

                                                                                      Вы там что-то про Яндекс говорили?


                                                                                      https://habrahabr.ru/company/yamoney/blog/339976/

                                          • 0
                                            Вы серьезно не видите разницы между эзотерическим языком (Brainfuck) и языком общего назначения (JS)?

                                            Для начала дайте определение традиционного подхода и чем же он отличается от использования Node.js на бэкенде.
                                            • +1
                                              С учетом того, сколько контринтуитивных вещей закреплены в JS на правах стандарта, я даже не уверен, какой из двух вышеперечисленных языков является эзотерическим, а какой — общего назначения. (:

                                              Традиционный подход к разработке ПО в моем видении подразумевает использование языков и средств, облегчающих работу программиста. Придание же «взрослости» изначально кривому скриптовому языку, на мой взгляд, облегчению работы не способствует.

                                              И как можно писать и затем поддерживать что-то относительно серьезное на языке, где даже типизации нету — я, честно говоря, не представляю. Если же вам это удается — то я за вас рад и совершенно не хочу ни в чем переубеждать.
                                              • 0
                                                Для любителей типизации есть TypeScript.
                                                • –2
                                                  Строгая типизация — это, по большому счету, средство самодокументирования кода и предотвращения программистстких ошибок на этапе компиляции.

                                                  И пока TS позволяет any, его типизация — это что-то из серии безалкогольного пива и резиновых тетенек.
                                                  • +1
                                                    Эдак можно про любой язык сказать.

                                                    И пока С++ позволяет void* и reinterpret_cast, его типизация — это что-то из серии безалкогольного пива и резиновых тетенек.

                                                    И пока Delphi позволяет нетипизированный var, его типизация — это что-то из серии безалкогольного пива и резиновых тетенек.

                                                    И пока C# позволяет dynamic, его типизация — это что-то из серии безалкогольного пива и резиновых тетенек.


                                                    Не нравится any? Не используйте его.
                                                    • 0
                                                      reinterpret_cast — это всё-таки относительно приведения типов.

                                                      Для использования var в Delphi вам нужно сначала все-таки привести нетипизированную переменную к желаемому типу, и только затем сделать с ней что-нибудь осмысленное.

                                                      Насчет dynamic в C# — это действительно что-то за гранью добра и зла. Но, к счастью, в живых проектах ни одного dynamic-а я так в своей практике и не увидел.

                                                      Что же касается any — во многих случаях это практически неизбежный вариант, т.к. далеко не факт, что все используемые JS компоненты представляют типизированные спеки.
                                                      • +1

                                                        А кто сказал что их надо так использовать?


                                                        Во всех компилируемых языках для использования внешней библиотеки нужен модуль с описанием этой библиотеки. Да, в TypeScript можно захреначить any. Но можно же и модуль с декларациями типов самому подготовить!

                                                • –6
                                                  С учетом того, сколько контринтуитивных вещей закреплены в JS на правах стандарта, я даже не уверен, какой из двух вышеперечисленных языков является эзотерическим
                                                  Я ожидал от вас большего, но, видимо, зря…

                                                  Традиционный подход к разработке ПО в моем видении подразумевает использование языков и средств, облегчающих работу программиста.
                                                  Расскажите, а как убогая пародия на Java в виде C# облегчает работу программисту?

                                                  Придание же «взрослости»
                                                  C#, например, только недавно научился в платформы отличные от Windows, вот это, я понимаю, признак «взрослости».

                                                  И как можно писать и затем поддерживать что-то относительно серьезное на языке, где даже типизации нету
                                                  Да есть там типизация, есть. Я надеюсь, вы только прикидываетесь дурачком, а не на самом деле такой.
                                          • –3
                                            Почти все языки предназначены для бизнес логики :) Еще раз повторю, высокая производительность никому не нужна в 2017 году. Там где нужна производительность берут С++.Что можно сделать на вашем C# в плане бизнес логики, что нельзя на JS + Node?

                                            На C# делали Form Aplication, взаимодействовали с данными из базы данных, после этого создатели осознали что это полная убогость и создали WPF, стало немного покрасивей, но до сих пор присутствует визуальная убогость, интерфейсы как были не удобными, так и остались.
                                            Потом microsoft осознал что нужно что-то для серверов, придумал
                                            — WCF
                                            — ASP.NET
                                            — ASP.NET Web API
                                            — CORE
                                            Первое это очень низкоуровневая штука (очень много кода), круто конечно когда программист умеет писать rest api в виде 10000 строк (После чего бьет себя в грудь, что он настоящий программист, а кто делает на servicestack — полный ноль)), но это не нужно бизнесу, плевать всем на ваши навыки, бизнесу дунжны деньги и решенная задача + поддерживаемый код. А самое забавное что у него до сих пор есть такая зависимость как WINDOW, в 2017 году ^^

                                            Что там у нас дальше ASP.NET, покажите мне хотя бы парочку известных проектов на этой технологии? Не легаси проекты, а именно современные проекты. опять зависимость в виде window. А что у нас там с SPA, дайте угадаю, тоже все плохо, мешанина JS внутри C#, отдельно шаблоны HTML, мы опять вернулись в 2010 года к эре MVС, опять перезагружать странички вручную? в 2017 году?

                                            ASP.NET Web API — полно дерьмо, которое имеет зависимость в виде window, ну какой нормальный человек будет развертывать дорогую win систему для простенького REST API из 20 роутов?

                                            Остался CORE что это такое? Это серверная технология под Unix, что мы получили? мы отказались от зависимости в виде window и теперь можем поднимать сервера на UNIX системах, круто? не сказал бы, прогреса нет, есть только «не отставание».

                                            Я просто не знаю как у вас на работа, мой текущий проект это разработка Key Performance Indicators системы.
                                            Я считаю это легкой задачей, таких задач 95% на рынке, тут не нужны супер расчеты и какая-то сложная алгебра, отрисовка 1000000 палигонных объектов, это просто работа с данными, я не отрицаю что кому-то приятней было бы писать на C#, но наш продукт обходится в 1 000 000 рублей и на выходе мы получаем реализацию на всех плотформах.
                                            Продукт конкурент обойдется в 1 000 000 и на выходи они получат только WINDOW реализацию.


                                            Я не отрицаю что JS в чем-то убог и может он зря лезет в други ниши, но он выгоден бизнесу.
                                            Не верите мне — взгляните на рынок труда за рубежом, посмотрите спрос на Electon, в России эту технологию рассматривают только как «Выродок, который залез туда, куда не следует», Вон Microsoft выпустил Skype на Electon(JS), не задумывались почему?

                                            NET можно начать уважать когда он сделает что-то кросплатформенное, у сообщества зачатки есть: но эта такая убогость, что даже скачивать не хочется:
                                            github.com/AvaloniaUI/Avalonia
                                            • +2
                                              Еще раз повторю, высокая производительность никому не нужна в 2017 году.

                                              Слишком громкое утверждение.


                                              Там где нужна производительность берут С++

                                              … и это тоже.


                                              На C# делали Form Aplication, [...] после этого [...] создали WPF [...]
                                              Потом microsoft осознал что нужно что-то для серверов, придумал [...] ASP.NET

                                              asp.net вышел в первом .net framework, одновременно с десктопными фреймворками и задолго до WPF. Вы бы хоть разобрались в том, о чем так громко пишете.


                                              Первое [WCF] это очень низкоуровневая штука (очень много кода)

                                              Это просто неправда. Когда вы используете WCF по назначению (для SOAP), кода там столько же, сколько при обычном вызове объекта (плюс using для клиента). На сервере приблизительно то же самое.


                                              круто конечно когда программист умеет писать rest api в виде 10000 строк

                                              Не надо писать REST API на WCF, он для этого плохо подходит. asp.net WebAPI не зря сделали.


                                              А самое забавное что у него до сих пор есть такая зависимость как WINDOW, в 2017 году

                                              Нет у него такой зависимости.


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

                                              StackOverflow?


                                              А что у нас там с SPA, дайте угадаю, тоже все плохо, мешанина JS внутри C#, отдельно шаблоны HTML, мы опять вернулись в 2010 года к эре MVС, опять перезагружать странички вручную?

                                              Нет.


                                              ASP.NET Web API — полно дерьмо

                                              Аргументируйте.


                                              ну какой нормальный человек будет развертывать дорогую win систему для простенького REST API из 20 роутов?

                                              Тот, для которого стоимость этой "дорогой системы" пренебрежима по сравнению со стоимостью разработки. Ну и да, .net core не зря выпустили.


                                              Остался CORE что это такое? Это серверная технология под Unix, что мы получили? мы отказались от зависимости в виде window и теперь можем поднимать сервера на UNIX системах, круто?

                                              Вопрос не "крутости" — а того, что все ваши предыдущие аргументы "у него зависимость" пропали.


                                              Я просто не знаю как у вас на работа

                                              Вот именно, что не знаете. Но беретесь говорить.


                                              Продукт конкурент обойдется в 1 000 000 и на выходи они получат только WINDOW реализацию.

                                              … если он не догадается писать на .core.


                                              NET можно начать уважать когда он сделает что-то кросплатформенное

                                              asp.net core, добро пожаловать.

                                              • –2
                                                Слишком громкое утверждение.

                                                Это не громое утверждения, я описал все в посте, 95% задач бизнеса это примитивная работа с данными. Я не знаю может вы научный деятель и работаете с сложными расчетами, но это не ходовая задача, ее как раз я и вынес в 5%, на деле всем требуются просто приложения которые получают данные с БД, выводят их на экран, обрабатываются визуализируются грубо говоря простые CRM аналитические системы, системы учета производста и прочее, вот скажите мне, для чего тут высокая производительность? тут нужно копать в сторону БД а не в сторону клиента.

                                                Там где нужна производительность берут С++

                                                так и есть, слабым звеном всегда будет БД.
                                                Опишите мне задачу где нужна производительность и C# справится там лучше чем JS и с каких пор C# стал высокопроизводительным?


                                                Потом microsoft осознал что нужно что-то для серверов, придумал [...] ASP.NET
                                                asp.net вышел в первом .net framework, одновременно с десктопными фреймворками и задолго до WPF. Вы бы хоть разобрались в том, о чем так громко пишете.

                                                Возможно так и есть, я не знаком с точными датами, я лишь просто описал возможности NET. Моя ошибка, нужно было заменить слово «Далее они придумали» на «еще они придумали». Тут вы правы, я не знаю историю в деталях.

                                                Нет у него такой зависимости.

                                                С недавних пор, после выхода core :)

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

                                                А еще парочка гос сайтов, все это легаси, разработка велась еще с 2005 годов, сейчас никто новые проекты не запускает на ASP.NET Я не зря упомянул легаси.

                                                А что у нас там с SPA, дайте угадаю, тоже все плохо, мешанина JS внутри C#, отдельно шаблоны HTML, мы опять вернулись в 2010 года к эре MVС, опять перезагружать странички вручную?
                                                Нет.

                                                И как это выглядит, можете показать пример?


                                                Тот, для которого стоимость этой «дорогой системы» пренебрежима по сравнению со стоимостью разработки. Ну и да, .net core не зря выпустили.

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




                                                Продукт конкурент обойдется в 1 000 000 и на выходи они получат только WINDOW реализацию.
                                                … если он не догадается писать на .core.

                                                NET можно начать уважать когда он сделает что-то кросплатформенное
                                                asp.net core, добро пожаловать.

                                                Тут ложь, Core не способен это сделать в 2017 году.

                                                Вы можете написать WCF или FORM приложение на CORE, а так же для мобильных?
                                                нет, тогда нафиг ваш CORE никому не сдался.

                                                • +2
                                                  Это не громое утверждения, я описал все в посте, 95% задач бизнеса это примитивная работа с данными.

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


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

                                                  Чтобы пользователь получал отклик за комфортное время.


                                                  тут нужно копать в сторону БД а не в сторону клиента.
                                                  слабым звеном всегда будет БД.

                                                  Вы так уверенно считаете, что тормоза на стороне БД… но нет. Уже давно нет. Мы профилируем систему и видим, что БД как раз отрабатывает быстро, за милисекунды — а вот прикладной сервер потом выжирает секунды на обработку ответа.


                                                  Опишите мне задачу где нужна производительность и C# справится там лучше чем JS

                                                  А я где-то утверждал, что C# справляется с задачами на производительность лучше JS?


                                                  С недавних пор, после выхода core

                                                  Никогда не было.


                                                  А еще парочка гос сайтов, все это легаси

                                                  SO — легаси? Смешно. Они его регулярно дорабатывают, и при их архитектуре им ничего не стоило бы бросить asp.net.


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

                                                  … и каким же образом бизнес может сэкономить деньги на "таком программисте как я"?


                                                  Тут ложь, Core не способен это сделать в 2017 году.

                                                  Прочитайте мою фразу еще раз: asp.net core.


                                                  Вы можете написать WCF или FORM приложение на CORE, а так же для мобильных?

                                                  Нет, а зачем?


                                                  нет, тогда нафиг ваш CORE никому не сдался.

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

                                              • +3
                                                Еще раз повторю, высокая производительность никому не нужна в 2017 году.

                                                Это вы просто пока не столкнулись. Не переживайте, придет к вам крупный магазин, придет к вам черная пятница и вы познаете что такое highload, profiling и performance tuning. Если переживете, конечно.
                                            • +9
                                              Отличная статья-заготовка для старта холивара. Меняем в ней «C#» и «JavaScript» на любые два других ЯП и наслаждаемся ))
                                              • +3
                                                Да, как минимум — Меняем «JavaScript» на «Go».
                                            • +4
                                              Окей.
                                              1. Давайте не будем отождествлять WPF и С#. И, если WPF действительно не самая популярная платформа (хотя и на нее есть спрос) то WCF + ASP.NET + Xamarin уже востребованы рынком. И как в плане поддержки (а значит спрос будет еще долго) так и вплане разработки новых решений.
                                              2. JS универсальное решение. Любое универсальное решение хуже специализированного. Соответственно, пока у вас требования низкие и низкие — средние вас устроит JS (на сервере). Когда требования изменятся, возможно вам придется менять сервер. Ентерпрайз не хочет так рисковать и предпочитает идти с проверенными решениями, которые гарантировано имеют лучшую производительность (при прочих равных)

                                              Поэтому у каждого будет своя ниша. И поэтому JS никого не убьет — ни C#, ни PHP ни Haskell.
                                              Relax and code :)
                                              • +9

                                                После прочтения один вопрос: почему C#?

                                                • +4

                                                  В предыдущей серии:


                                                  C# Разработчики гонят на JS разработчиков.
                                                  На хабре от С++, PHP, JAVA разработчиков не слышно говнf в сторону JS.
                                                  Вот и весь секрет.

                                                  Не нужно быть психологом, что бы понимать почему они это делают.
                                                  JS не лезет в драйвера, контроллеры и банковский сектор, но JS лезет в средний бизнес, там где обосновался C# разработчик.
                                                  • +8
                                                    100% будет думать, что его статью раскритиковали исключительно разработчики c#
                                                • –1
                                                  Вообщет «Оптимизация» — палка о двух концах:
                                                  Или тратим бабло на оптимизацию, но зато экономим на серверных мощях или экономим на оптимизации, но разоряемся на закупке серверных мощностей.
                                                  И ещё не известно, что будет выгодней.

                                                  К томуж C# тож не самый быстрый язык.
                                                  • +10
                                                    Спасибо автору. Я хорошо посмеялся… поднял настроение на весь день.
                                                    • +7

                                                      js brain damage

                                                      • +8

                                                        Вам не нужен C# — не пишите на нем. Убивать-то зачем? Если никому не будет нужен то сам умрет.

                                                        • –6
                                                          Полностью поддерживаю заголовок. Ещё и скрипт не нужен тоже. Давайте переходить к истокам. К Java.
                                                          • +2
                                                            Истоки — это, вообще-то, ассемблер или даже байт-код. Все цифр начиналось :)
                                                            • –3
                                                              Для JavaScript истоком является Java. Не надо до молекул доводить.
                                                              • +3
                                                                Для JavaScript истоком является Java.

                                                                Ещё один...

                                                          • +10
                                                            Статья от очередного фронтендера и, что закономерно, жертвы Hype Driven Development, который, исходя из статьи, ничего кроме ангуляра и реакта «ниасилил», но решил поднять свою самооценку на основе отсутствия логики. Я орнул.
                                                            • +2
                                                              1) Почему сравнивается JavaScript (Web) и WPF (desktop)? Это совершенно разные вещи.
                                                              2) Кросплатформенность — .net core, правда без WPF
                                                              3) Строить большие приложения без статической/строгой типизации, которая присуще .net — очень сложно, поэтому на js придумывают много вещей типа typescript и т.д.
                                                              • +4
                                                                Для .net core вместо wpf есть AvaloniaUI
                                                              • +2
                                                                Это же троллинг… правда?
                                                                • +5
                                                                  Мне кажется эта статья пришла из песочницы что бы быть заминусованой.
                                                                  • 0
                                                                    Зато инвайт получил :)
                                                                  • +2
                                                                    Статья «Язык Х умер, да зравствует Y». Пропагандично, отчетливо. Но опечатки в тексте и непонимание разницы между До-диез и ЕСкриптом выдают либо тролля, либо школьника, с головой.
                                                                    • +2
                                                                      Скорее школьника без головы.
                                                                    • +2
                                                                      Не кроссплатформленна? .core вполне работает на любой ОС + Xamarin вот и мобилка.
                                                                      Давайте на секунду представим что С++ C# создадут фреймворк, который будет конкурировать с React и Angular, просто пофантазируем.
                                                                      Бэкенд фрейм который конкурирует с фронтенд фреймом? Я сомневаюсь в вашей компетентности, походу по вашим ушам кто-то прошелся и вы ему поверили.
                                                                      Вся статья просто толстый троллинг
                                                                      • +17
                                                                        Это фиаско, братан.
                                                                        • +4
                                                                          Ну собсно согласен с ТС, 95% задач с которыми он сталкивался решаются на JS легче и быстрее, чем на C#. Проблема в том что скорее всего он сталкивался только со всякими интернет магазинчиками, да лендингами.
                                                                          • +1
                                                                            Если бы JS был на столько хорош этой статьи не было. Хоть и не являюсь разработчиком С# или JS, но 4-8 гигабайт памяти вы считаете норм для клиента? Сколько тогда ее по вашем мнении должно быть на сервере? У нашей компании на филиале сервер с 8 гигами памяти, так на нем крутиться и почтовый сервер и mssql, 1с сервер и все отлично работает, и мне сложно даже представиться сколько нужно было бы для тех самых задач ресурсов если все эти приложения писали с вашим подходом.
                                                                            • 0
                                                                              Какие задачи — такой и объем памяти. У нас, например, 8-16 Гб на клиенте и 64 Гб на сервере — это правда жизни. И при нормальной работе эта память забита данными на 80%.
                                                                              • 0
                                                                                Мне сложно представить зачем простому клиенту может понадобиться 8-16 Гб оперативной памяти. В какой отрасли это такие требования к оборудованию?
                                                                          • +1
                                                                            Напоминает анекдот «Знаешь мертвое море? Я убил» .) Типичный вброс для розжига ненависти и фарма минусов. Цепляться к аргументации смысла не вижу- бОльшая часть фактов — просто популизм и лозунги, кто там за кем будет и так далее. C# жив и будет жить до тех пор, пока нужен backend, точно так же как и будет жить Node.js и многие многие прочие.
                                                                            • +2
                                                                              Сдается мне, автору просто тыкнул пальцем в небо и таким образом выбрал c#. Никакой конкретики, беллетристика какая-то.
                                                                                • +6
                                                                                  «Летс зе срач бегин», — подумал модератор и выпустил пост из песочницы.
                                                                                  • +1

                                                                                    имеем C# веб апи и несколько react сайтов. Изначально написали админки управления контентом и чатами на реакте внутри движка сайта. Но в первые же месяцы она стала такой отсталой, трудно поддерживаемой, неудобной для мультилогина (сайтов-то много, человек на поддержке один) и долгой в имплементации новых фич, что взяли и тупо написали на шарпе же приложение, в котором собрано всё сразу и вместе, апдейтится нативно вместе апи на единой кодовой базе.
                                                                                    Но вообще да, честно говоря, тенденции нездоровые. Точнее дело не в шарпе как таковом. При чем здесь бекэнд язык. Просто сам бытовой рынок стал сильно направленным на фронт, который либо на вордпрессе, либо уже на JS. Более того рынок таким стал не потому что серьезных бекэндов стало меньше, а потому что теперь каждая пивнушка хочет свой сайт с доставкой пива на дом. Поэтому в сумме, конечно, выходит перекос в сторону востребованности JS-ников

                                                                                    • +1

                                                                                      Косяки с первых же строк. Толсто или максимализм неофита.

                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                      • 0
                                                                                        Какой дедсад.
                                                                                        • +2
                                                                                          https://ru.wikipedia.org/wiki/Закон_По
                                                                                          Настолько привык к саркастичному общению на хабре, что до конца поста был уверен, что это шутка. Особенно после "Пора убить веб", отличным ответом на который этот пост является.
                                                                                          Не знаю как автор, но 67 читателей явно приняли всерьёз. Теперь я уже не знаю, было это троллингом или реальной точкой зрения.
                                                                                          • 0
                                                                                            Люди которые пишут свои проекты на .net core + Angular2 или .net mvc + AngularJS, сейчас сделали «рукалицо» всеми семью руками.
                                                                                            • 0
                                                                                              .net mvc + React в моём случае. Ну и вообще ведь стандартная ситуация — серверный язык для сервера, и фронт на js.
                                                                                            • +2
                                                                                              Просто decimal. А автору желаю пользоваться банками, в которых всё написано на JS (хоть таких и нет, но нужно, чтобы для таких фанатов появился).
                                                                                              • –1

                                                                                                Жаль нельзя минусовать несколько раз.

                                                                                                • +2
                                                                                                  Отсыпьте того же. Ну пожалуйста. Жалко что ли?
                                                                                                  • 0
                                                                                                    Если зайти в профиль автора, то единственная его активность (кроме этой) комменты тут
                                                                                                    «Пора убить веб» habrahabr.ru/post/338880
                                                                                                    Забавно ведь :)
                                                                                                    • +1

                                                                                                      Трэш какой. Ну, рейтинг уже говорит сам за себя. Автор то ли тролль, то ли в голове у него транслятор JS-хайпа.

                                                                                                      • 0
                                                                                                        Статья с заголовком как в желтой прессе — вы что, минусы решили пофармить?
                                                                                                        • –3

                                                                                                          Не как не гоню на C#…
                                                                                                          Но JS действительно проникает куда только возможно, и приложения для мобильников, бекенд, 3D визуализация… может местами и больно, но многие приложения возможно писать на JS.

                                                                                                          • 0

                                                                                                            Очень интересно почему минусы, я конечно не согласен с автором…
                                                                                                            Но для небольших компаний, ИП javacript разработчики имеют приоритет…
                                                                                                            Один напишет бекенд и худо бедно можно портировать на мобильные устройства, хорошо пару человек. Вместо того что бы отдавать деньги топовым программерам. Для малого бизнеса самое оно.
                                                                                                            C# конечно не умрет, пока он нужен Microsoft, но с другой стороны…
                                                                                                            C object сменился на swift
                                                                                                            Kotlin поддержал Google
                                                                                                            Есть движки для 3д на javascript
                                                                                                            nodejs дает о себе знать…
                                                                                                            В чем я не прав понять не могу…
                                                                                                            Я только могу сказал о том что javascript уже не игрушка для свистелок для браузера, а уже занимает нишу где программисты более сурьезные не возьмутся за работу, а так же набирает популярность(Если я в студенчестве хотел знать С/C++, то сейчас все хотят знать JS).

                                                                                                            • –1

                                                                                                              Взять PHP…
                                                                                                              как много ему угрожали смертью, но что-то так и не произошло…
                                                                                                              на JS все смотрели с презрением, даже PHP программисты…
                                                                                                              а 1С программистов вообще хаяли))
                                                                                                              Давайте посмотрим правде в глаза, там где ниша не заполнена, ее заполнят, так как есть спрос...

                                                                                                              • –1

                                                                                                                а еще помню мне в студенчестве все твердили что Delphi будет… а теперь даже паскаль заменяют на Python...

                                                                                                              • –1

                                                                                                                Понятно))) Здесь обитает очень много обиженых анонимных C# программистов))
                                                                                                                Не бойтесь С# не умрет....

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