Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Из .NET в Ruby/node.js?

Привет.

Начинал в IT как Linux админ, потом подался в программирование и это был C#, чем по сей день и занимаюсь (уже лет 6). Сейчас пишу на ASP.NET/JS.

Но всегда тянуло обратно к Linux, подальше от MS стека с их нелюбимыми мной TFS, MSBuild, Wix, MSSQL, PowerShell и консолькой, в которой нормальные копировать\вставить появится только в Win10.

Определился для себя с тем, что хочу заниматься Web’ом, больше backend. Как вы считаете, куда мигрировать: Ruby/Python/Node.js ? Из этой тройки мои симпатии сейчас на стороне Ruby. Смущает малое количество вакансий. Не постигнет ли его участь Perl’a через пару лет?

Другой вариант — node.js. Вакансий вообще (практически) не видно. Выстрелит ли эта штука? Почему уже 5 лет как появилась, а все в состоянии Next Big Thing?

В общем, что будет в спросе через год для web?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Лучше будет освоить MEAN stack и стать fullstack software developer.

Если и переходить с дотнета то на джаву\скалу\груви, но никак не на руби

Зачем? :)
Сыры и на дот.нете ок, и без этого адового «красноглазинья» чтобы «хелло ворлд» сказать ;)

А руби, он для души, родимой :)

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

Перспектива лучше, чем саппортить уг-код для какого-нить «*клей капитала», и устраивать «цикави дослиды» с поиском черной кошки, в черной комнате когда ее там нет. Разве нет? :)

ну сделайте уже норм срачик, а то как-то застенчиво выходит.

Ну они ж уже почти начали, про прототипы, про корпоративное уг ;))

С Адептами надо аккуратнее :Р

thecoderfactory.com/...h-ruby-on-rails
vertalab.com/...cation-examples
Гітхаба, твіттера, slideshare, heroku, soundcloud, kickstarter, codeschool, treehouse, дрібла, coub, digitalocean достатньо?

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

Skala
Scala
связано не с особенностями языка Руби
Доказательства?

readwrite.com/...tter-java-scala
The move to Scala and Java at Twitter is driven more by a need for encapsulation than for performance and scalability and much of the existing Ruby code is quite workable for the time being.

www.artima.com/...r_on_scala.html

Не поділитись інформацією, кому віддавали пріоритет? Ruby/Python/Node.js? я зараз перед подібним вибором.

К сожалению, четкого победителя в этой тройке нет, особенно между Ruby\Python, они прямые конкуренты. Node.js стоит отдельно, тулза под специфические задачи.
Как вариант — уделить по неделе\две каждой технологии и выбрать для себя что больше понравилось. Работа и проекты есть под все три.

Ну у мене подібні думки про це, піду поексперементую. тяне до Ruby, але насторожує кількість вакансій в україні.

Вам нужно больше одной ? :)

Есть неплохой курс на Coursera по Ruby — не сложный и дает базовые представления. Лично мне Руби не понравился как язык, как по сути и Python — я бы даже сказал, Руби не понравился больше, чем Python (прошу не бросать шапками — просто это лично мое мнение). Мне эти языки кажутся очень хорошими для тестировщиков — особенно Python. Хотя когда мне приходилось писать алгоритм — на питоне получалось более красивей, чем на том же C#. Скорость не замерял — но думаю она не в пользу Python.

NodeJS я люблю больше — он мне как-то интуитивно ближе и интересней, может потому что я с него начинал, может потому что я еге себе ставил еще на Debian.
И опять же — Node практически JS, что тоже дает преимущество при изучении.

Node практически JS
 А чем он не javascript ?

Извините, может не совсем правильно выразился. Тот же самый JS — только серверный.

JS везде одинаковый, есть разный АПИ, но это к языку отношения не имеет

ругой вариант — node.js. Вакансий вообще (практически) не видно.
Почему же не видно. Лично мне за октябрь месяц в линкединах постучалось 6 HR-ов с вакансиями по JS, из них nodejs — 5, 1 — fronend + bacakend. + как минимум 2 вакансии звучали на node.js meetup-e.
уже 5 лет как появилась
На самом то деле её, как коммерческую технологию начали воспринимать года 2-3 назад.

Я сам ранее пользовал C#, потом перешел на node.js, т.к. в C# на тот момент явно не хватало нескольких киллер-фич, которые имелись у ноды. Переходить было сложно первые пару дней, до того момента, пока не разобрался с коллбэками. Дальше было довольно просто, т.к. по сути с жаваскриптом был знаком.

в C# на тот момент явно не хватало нескольких киллер-фич, которые имелись у ноды.
каких например?

Например, адекватной поддержки вебсокетов, SSE. Библиотека SignalR работала очень коряво и созданной ею сокетам было крайне проблематично подключаться с Java/Android клиентов. Не говоря о том, что она отъедала немалый кусок ресурсов сервера. Как сейчас там обстоят дела, к сожалению, не знаю, возможно стало лучше.

Причем веб к

TFS, MSBuild, Wix, MSSQL, PowerShell и консолькой,
?

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

в спросе будет .нет с вебформами =) эта дрянь, помоему никогда не умрет ))

К linux ближе находится python и спрос на него больше.

Переход на RoR будет, вполне, безболезненный. Особенно, если вы работали с ASP.NET MVC.

В общем, что будет в спросе через год для web?
PHP 5.4+ с новомодными фреймворками:
не умрет точно, а наоборот
знание Linux — в жирный плюс

минус перехода на PHP — легаси проекты писанные на уровне PHP 4, и хардкорно

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

а если таки пойдет в массы HHVM(+ Hack) или нечто подобное в PHP 6, 7... то пых еще и питон начнет теснить, несмотря весь вой гиков и тру программеров

а если таки пойдет в массы HHVM(+ Hack) или нечто подобное в PHP 6, 7... то пых еще и питон начнет теснить
Надеюсь к тому моменту Dropbox допилит свой Pyston (Python over LLVM) который будет выполнятся с около нативной скоростью и потреблением памяти, тогда для питона откроется ещё одна новая ниша с которой вытяснять будет трудно.

в любом случае нам, программистам как потребителям — конкуренция на пользу :)

Matz как-то на реддите обещал что появится таки Ruby VM с встроенной поддержкой реальной многопоточности и работой в стиле Akka/Erlang. Вот это да, будет Бомба, даже при неторопливости интерпретатора.

Ну по идее да, правда конкуренция веток Py2 и Py3 ни к чему хорошему не привела) Хотя это конечно не совсем то)

Тогда у меня для вас другая хорошая новость, есть pypy-stm который уже почти допиленный и поддерживает РЕАЛЬНУЮ многопоточность с почти линейной масштабируемостью от числа ядер. На 3х и более CPython и Ruby очень нервно курят в сторонке.

есть pypy-stm
да, слышал.

в «лабораториях» много чего есть. всегда.
а уж на stm сколько надежд. в итоге — подход actors пока практичнее. или классический, на семафорах.
я не говорю о будущем. а о — проверенном практикой сейчас.
когда хотя процентов 10-20 из питоновских будут работать на pypy-stm — тогда и предъявляйте :)

Facebook же, как проект, думаю в рекламе не нуждается.
начинали с пыха, потом HipHop, сейчас поделились с общественностью HHVM и React.JS
То есть эти технологии — не «почти допиленные», а работающие. и появившиеся в результате решения практических и весьма сложных технически задач.

На 3х и более CPython и Ruby очень нервно курят в сторонке.
быстродействие — далеко не самое главное.
иначе бы тормозной Ruby давно сгинул бы. ну тот, который до версии 1.9.

В целом вы конечно же правы. Но справедливости ради стоит сказать есть компании которые используют pypy (не stm) в production и не первый день, хотя таких ещё далеко не 10% даже(

быстродействие — далеко не самое главное.
Сильно зависит от задачи конечно, тот же Dropbox именно потому и начал свой проект что у них много кода на Python, а именно производительности не хватает.
Фейсбуку тоже вот не хватало) А остальным 99% за глаза!

Вообще судя по всем ИТ-новостям в скором времени большинство языков сведётся к компиляции в LLVM и работе во много потоков на всём, в т.ч. и в браузерах(в хроме УЖЕ). И о разнице в производительности языков все забудут)

Согласен, PHP и не думает сдавать позиций, а только усилил их за последний год: версия 5.5, Laravel, Yii 2.0, Composer... Но, переходить с C# на PHP уж как-то совсем уныло.

с C#
помоему на все уныло переходить.
разве что на Scala, или вообще чего-нибудь диковинное типа Erlang, Clojure

У MS стека есть только две хорошие вещи: c# и visual studio. Но минусы всего остального перевешивают плюсы этих двух.

Что это за минусы в стеке и где?

Я имел ввиду личные предпочтения. Мне нравится c# (кому нет?). Но лично я на дух не переношу Windows Server/PowerShell/MSSQL после нескольких лет администрирования линукса. SSH, bash, cron, rsync, apt-get это роскошно. И т.д. и т.п. Поэтому мне не комфорно в MS стеке.

P.S. особый п**ц это настраивать какой-то продвинутый CI в TFS.

Это субьективно, а вы говорите, что это — минус.
Я вот могу сказать обратное, особенно про сравнение MSSQL over PostgreSQL/MySql. Имхо, это не говорит ни о чем, кроме того, что я не люблю красноглазить, а вот все три, приведенные мной, СУБД — очень хороши и эффективны(при условии правильного их использования ;) ).

Например, ограничение на длину пути в 260 символов.

Сам перешел на Ruby c С#/.Net, без особых проблем. Сначала писал для себя, потом проникся настолько, что решил менять работу. Вакансий хватает, перешел даже в плюс, хотя был морально готов и в минус. Как говорится, было бы желание :)

Отличная ссылка, спасибо.
Frontend да, пишу сейчас SPA на angular.js. Еще один возможный путь для развития, но там все таки по хорошему надо уметь верстать и иметь «чувство прекрасного»)

Python — почему бы и нет?
Армін також дивиться в сторону golang

lucumr.pocoo.org/...-about-unicode
The much more likely thing to happen is that people stick to Python 2 or build broken stuff on Python 3. Or they go with Go. Which uses an even simpler model than Python 2: everything is a byte string.

Из-за строк переходить на другой ЯП? Упоролось?
Ну тогда уже rust подождать.

Коли все чим ти займаєшься це строки, то так.
Тільки заради того, щоб не працювати на горлі через анус

rust вже 1.0 — не впевнений, що є ще чого чекати

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

Во Львове Python востребован, даже очень.

Никогда бы не подумал что такое скажу, но, я «за Python»! (если учесть из вариантов вышепредложенного). Он просто крут.

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

С чего вы взяли, что в спросе web’a что-то изменится именно через год ? :)

Аналогично -) И стучатся в Линкедин с предложениями по Node.js один раз на пять C#. Так что не так все ужасно как на мой взгляд, с учетом того имхо, что среднее время жизни девелопера на не MS проекте, наверное, больше. Т.е. нет необходимости в наличии массы вакансий.
По теме: мне лично Python кажется более универсальным по спектру проектов. На любой вкус. Плюс осваиваю Swift, который действительно — зеленый свет в мир iOS «для домохозяек».
PS Сам по себе Node.js сравним по степени кустарности с пхп. Спасает положение комплексный подход mean.
Руби — это хардкор, и правильно его с перлом сравнили )) Топикстартер, наверное, на зарплаты рубистов смотрит в первую очередь?

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

язык нужно запоминать
Вот оно, губительное влияние этого вашего Intellisense, уже лень синтаксис запоминать :)
Вот оно, губительное влияние этого вашего Intellisense, уже лень синтаксис запоминать :)

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

На Perl не всегда пишут г@внокод. А уж процитированный код — точно не для реальных проектов, а для баловства гиков.

Лично мне жаль, что Perl безнадёжно сдал позиции на рынке.

Ну да, конечно

%w.rack tilt date INT TERM..map{|l|trap(l){$r.stop}rescue require l};$u=Date;$z=($u.new.year + 145).abs;puts “== Almost Sinatra/No Version has taken the stage on #$z for development with backup from Webrick”
$n=Module.new{extend Rack;a,D,S,q=Rack::Builder.new,Object.method(:define_method),/@@ *([^\n]+)\n(((?!@@)[^\n]*\n)*)/m
%w[get post put delete].map{|m|D.(m){|u,&b|a.map(u){run->(e){[200,{"Content-Type"=>"text/html"},[a.instance_eval(&b)]]}}}}
Tilt.mappings.map{|k,v|D.(k){|n,*o|$t||=(h=$u._jisx0301("hash, please");File.read(caller[0][/^[^:]+/]).scan(S){|a,b|h[a]=b};h);v[0].new(*o){n=="#{n}"?n:$t[n.to_s]}.render(a,o[0].try(:[],:locals)||{})}}
%w[set enable disable configure helpers use register].map{|m|D.(m){|*_,&b|b.try :[]}};END{Rack::Handler.get("webrick").run(a,Port:$z){|s|$r=s}}
%w[params session].map{|m|D.(m){q.send m}};a.use Rack::Session::Cookie;a.use Rack::Lock;D.(:before){|&b|a.use Rack::Config,&b};before{|e|q=Rack::Request.new e;q.params.dup.map{|k,v|params[k.to_sym]=v}}}

Очень сильное колдунство.. :D

Руби — это хардкор,
Ты еще скалу не видел

Топикастер конечно смотрит на зарплаты, и видит что зарплаты хорошие и у Python и у Ruby и у Node.js, так что это не приоритет.

Думаю, что Python, без объяснений ;)
По ноде периодически есть вакансии, но если гоняться за вакансиями, то идите на Java, тут и Линукс и стек вроде ок.

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

Тогда точно python ;) там сразу всем дают сеньора

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