LINUX.ORG.RU

На кложуре и скале.

loz ★★★★★ ()
Ответ на: комментарий от Debasher

nodejs честно заявляет: «в паралельное програмирование лучше не соваться. Вот тебе неблокирующее io, но с образовавшимися в результате евентами **ись сам»

А го/ерланг говорит «я тут навернул собственный шедулер поверх ОС, чтобы ты мог писать в стиле php и не париться о сложностях» (и шепотом добавляет: «это делает меня узкоспециализированным недоязычком, но ты не думай об этом»)

makoven ★★★★★ ()

python/ruby - для простого веба scala/java/go - для нагруженного веба с++/c - для адски нагруженного веба и/или веба с тяжелыми расчетами, большими данными, особой структурой хранения.

anonymous ()
Ответ на: комментарий от makoven

чтобы ты мог писать в стиле php и не париться о сложностях

полная ерунда

nodejs честно заявляет: «в паралельное програмирование лучше не соваться. Вот тебе неблокирующее io, но с образовавшимися в результате евентами **ись сам»

ну и пусть идут на .i.

Debasher ★★★★★ ()
Ответ на: комментарий от Debasher

Go скрывает от тебя евент луп за фасадом красивой абстракции горутин, так же как массоны скрывают от тебя суть денег за инфляцией и ставкой рефинансирования. А nodejs заставляет задуматься о том как реально работает aio.

После ноды можно стать Сысоевым почти безболезненно пересесть на чистый select/poll. А после го можно пересесть только на очередную песочницу с корутинами

makoven ★★★★★ ()

Взависимости от требований проекта. Если под заказ - на PHP (проще слить сопровождение на кого-нибудь со стороны). Если под свой проект - исходя из бюджета: если бюджет, из соображений зарплаты vs затраты на железо, перекошен в сторону железа - похапэ, жабка, руби, пистоны там всякие. Если нормально сбалансирован - жабка, пистон, руби, голанг, с++. Если перекошен в сторону зарплат - c/c++, golang, можно даже и rust, главное на хипстера не нарваться.

ioway ()
Ответ на: комментарий от Debasher

причём тут гитхаб тренды

Они отражают направление международной программерской мысли

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

И где эти продвинутые команды? Кроме шумихи вокруг докера, больше ничего и не слышно.

java параша.

А вот про java и «более продвинутых коммандах» очень хорошо слышно.

в жопу ваш жс-шоп, ты себя макакой или программистом считаешь?

Я использую инструменты по назначению.

Например, я кучу лет пишу на java, но когда меня попросили сделать небольшой каталог товаров. То я не стал поднимать отдельный инстанс томката и прикручивать к нему Hibernate со Spring'ом.

За место этого взял из гитхаб трендов CMS с большим кол-ом звездочек. Поставил node.js и за полдня поднял проект с кастомным дизайном и кастомными формочками, не понимая чего-либо в этой node.js (правда с хорошим знанием клиентского javascript).

И он уже полгода в аптайме, ни разу не грохнулся.

А сейчас и подавно пилю на es6 с nashorn на бекенде замену angular2, ибо текущее состояние веб-фреймворков на любом ЯП вызывают печаль и безвыходность. Так как проблема не в ЯП, а в инфраструктуре вокруг этих ЯП. И пример тому, ruby, восход и закат его целиком на RoR.

foror ★★★★ ()
Ответ на: комментарий от foror

ты это всё к чему вообще?

никто не говорит что го для 'небольшого каталогов товаров'

на го кучу всего не надо делать

как и на любой другой технологии

Debasher ★★★★★ ()
Ответ на: комментарий от Debasher

тебя куда-то не в ту степь занесло

ты себя макакой или программистом считаешь?

Макаке вообще желательно оставаться в песочнице и не спускаться на уровень ОС. Треды? Потоки? Неблокирующий ввод? Зачем об этом думать если есть корутины

makoven ★★★★★ ()
Ответ на: комментарий от Oxdeadbeef

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

Oxdeadbeef ★★★ ()
Ответ на: комментарий от makoven

го

корутины

Горутины это не корутины, если что.

Макаке вообще желательно оставаться в песочнице и не спускаться на уровень ОС. Треды? Потоки? Неблокирующий ввод? Зачем об этом думать если есть корутины

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

Debasher ★★★★★ ()
Ответ на: комментарий от Debasher

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

Треды и евентлуп - это не инженерные проблемы, а принцип работы многозадачности практически всех электронных устройств

И да, я могу опустится на уровень ОС когда задача этого требует

If a goroutine exists that calls a function that will block potentially indefinitely, that goroutine cannot be stopped until the blocking function returns and the goroutine checks an «exit» channel, and exits of its own will.

In every day go programming, this condition should not exist, as all inter- thread communication, as well as reading and writing, should be done using channels. However, in C, many libraries (and, in my specific case, networking libraries) implement blocking functions (recv), and the mixture of a blocking function and a multi-channel select caused many implementation problems and «hacks» to get the «blocking» function to return periodically, so the exit channel could be checked, and the routine could exit if it had to.

makoven ★★★★★ ()
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от makoven

Треды и евентлуп - это не инженерные проблемы

Инженерные проблемы это то, о чём обычно не знает заказчик. Даже если это 'принцип работы многозадачности практически всех электронных устройств'

If a goroutine...

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

Debasher ★★★★★ ()
Ответ на: комментарий от Debasher

для этого и дана человеку штука которую мозгом называют.

Только некоторые ее не хотят использовать для осиливания vim/emacs.

anonymous ()
Ответ на: комментарий от anonymous

Только некоторые ее не хотят использовать для осиливания vim/emacs.

А она не для этого.

Debasher ★★★★★ ()
Ответ на: комментарий от foror

Они отражают направление международной программерской мысли

Вот только средний программист сильно измельчал.

loz ★★★★★ ()
Ответ на: комментарий от Debasher

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

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

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

И да, я могу опустится на уровень ОС когда задача этого требует

Вот только собратья по Go тебя не поймут. Воистину переизобретение php с примесью костылей из javascript )

foror ★★★★ ()
Ответ на: комментарий от foror

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

Так и есть. Вот только этого достаточно для кучи задач.

Debasher ★★★★★ ()
Ответ на: комментарий от foror

с неблокриующим вводом, пулом тредов, узнал про акторы, дисрупторы, форк/джойны.

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

Debasher ★★★★★ ()
Ответ на: комментарий от Balantay

Не знаю, про ноду слышу только последние 2-3 года, аналогично с Go. А рельсам уже более 10 лет. За это время так и не смогли вытеснить PHP.

Den_Zurin ()
Ответ на: комментарий от Debasher

но когда мы все такие разные собираемся вместе

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

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

foror ★★★★ ()
Ответ на: комментарий от Debasher

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

makoven ★★★★★ ()
Ответ на: комментарий от makoven

Думается мне, прежде чем лезть в ЯП-срачи, нужно уяснить разницу между ЯП, реализацией ЯП и стандартной библиотекой ЯП.

Deleted ()
Ответ на: комментарий от foror

где эти продвинутые команды? Кроме шумихи вокруг докера, больше ничего и не слышно.

https://influxdb.com/
https://www.consul.io/
http://prometheus.io/
https://github.com/coreos/etcd
http://getqor.com/
http://kubernetes.io/
https://github.com/syncthing/syncthing
http://bosun.org/
http://grafana.org/
https://www.docker.com/


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

umren ★★★★★ ()
Последнее исправление: umren (всего исправлений: 1)
Ответ на: комментарий от ovk48

А, java-обертки. Я думал речь про обертки над инструментами из реального мира

makoven ★★★★★ ()
Ответ на: комментарий от makoven

Syncthing, docker и пол дюжины невнятных поделий с kickstarter-style сайтами

крутые аргументы, а тебе нужны столмен стайл сайты? да и если для тебя это не внятно, локалхост внятнее же

umren ★★★★★ ()
Ответ на: комментарий от Deleted

нужно уяснить разницу между ЯП, реализацией ЯП и стандартной библиотекой ЯП

Как тогда это интерпретировать?

makoven ★★★★★ ()
Ответ на: комментарий от makoven

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

Вообще херота полная. Go для меня штука, которую я с удовольствием никогда бы не использовал. Я не за Go, я за справедливость.

почему ты называешь парашей язык с потоками.

Не имею ничего против потоков, имею против джавы, но не имею против кложуры. Т.е. против кложуры конечно имею, но по другим причинам.

Называешь макаками пользователей языка с евентлупом

Тоже ерунда — дело совсем не в евентлупе

Debasher ★★★★★ ()
Последнее исправление: Debasher (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.