LINUX.ORG.RU

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

Больше никаких преимуществ нет.

entefeed ☆☆☆
()

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

nihirash ★★★
()

ваше мнение
для бэкенда

Держу на сервере пару поделий на нём, каждый раз для сборки нужно 1-2 гигабайта RAM и минуты две для запуска (Discord-бот и сервер интеграций для Matrix). Рядом стоит целая платформа для микроблогов на Elixir, запускается мгновенно и потребляет <100 мегабайт.

commagray ★★★★★
()

Мое мнение: очень плохая платформа. Бери для бекенда java, а для фронта рисуй формочки голым html + любимый template engine (thymeleaf, например). Через 10 лет спасибо скажешь.

Deleted
()

Создатель Node.js, уже всё сказал про неё и этого достаточно:

«Для серверов я не могу представить другой язык кроме Go»

Нода сейчас актуальна только для любителей фронтенда и то, с оговорками. Можно обойтись и без неё. Сейчас быстро альтернатив наклепают всяких вебпаков, на том же Go. Будет работать хоть быстрее, весить меньше и без +100500 зависимостей. В общем, время ноды проходит. Стратегия один язык везде - не взлетела. А скоро js и с фронта погонят, уже во всю Wasm развивается, как в языках, так и в браузерах. Просто моё мнение.

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

Я не силён в спринге, ничего не скажу по этому поводу. Во всяком случае в тестах, Go уделывает Java.

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

Фибоначчи быстрее считает?

Под спрингом я имею в виду все те библиотеки, которые он ссобой везет на бекенд: security, коннекты к базам данных, чтение/запись офисных форматов (xls, xlsx, doc, docx, pdf), тучи вещей из maven...

Deleted
()
Последнее исправление: rj45 (всего исправлений: 1)

Холиварный тред. Годится, если руки прямые и умеешь в архитектуру. Если нет - лучше питон, на Go будешь в 3 раза дольше писать.

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

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

th3m3 ★★★★★
()

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

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

Я вот думаю, может переписать свою систему со спринга на го. Боязно только. Загнется этот голанг и уползет в свою нишу макак-инженеришек мелкого помола как с питоном сталось. Помнится, когда питон только появлялся, сколько шуму вокруг него стояло, что типа все софтверные проекты надо на нем начинать и все носились и вопили какой он замечательный. А сейчас где он.

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

переписать свою систему со спринга на го

Так толсто, что даже тонко.

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

Создатель Node.js, уже всё сказал про неё и этого достаточно

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

bread
()

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

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

А где он? У Python много ниш и он всё ещё актуален. У Go главный конкурент - Rust. Скоро Rust наберёт обороты и даст всем жару. Если сейчас на Спринге всё работает как надо и устраивает, то как говорится - «работает не трогай». Но если там есть какой «фатальный недостаток» - тогда есть смысл)

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

А сейчас где он.

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

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

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

anonymous
()

Там в npm помойка и хипсторы вместо разработчиков.

crutch_master ★★★★★
()

Нода

Плюсы: * JavaScript самый популярный язык программирования; * много библиотек на каждый чих; * ...

Минусы: * ад зависимостей, например, я в вебпаке или непомню в чем насчитал 5 библиотек для парсинга JSON хотя есть встроееные средства всяко быстрее чем эти высеры; * низкое качество кода большинства библиотек в том числе встроенных (там много очень тупого кода); * встроенные библиотеки не поддерживают промисы и хз обернут ли их в промисы когда-нибудь; * многословность самого JavaScript (ES6 анальные бобли от этого значительно уменьшил); * нет потоков вообще, никаких, совсем, так что ресурсоемкие операции типа работы с графикой будут проблемой (кластеры и балансировка через nginx не особо помогут); * стек рекурсии ограничен и сам язык довольно медленный

Python

Плюсы: * Входит в тройку самых популярных языков (2/3 место, соперничая с Java); * легкий и лаконичный синтаксис; * стандартная библиотека подходит для решения большинства повседневных задач; * низкий порог вхождения, возможно даже ниже чем в php или java (да-да, Java - это язык для умственно-отсталых); * в отличии от ноды есть треды.

Минусы: * радость от наличия тредов портит GIL; * отступы порой мешают, из-за обязательных отступов нет анонимных функций, анонимных классов и т.п., лямбда-функции кал, тернарник уродливый; * сопрограммы(корутины) уродливы, асинхронных библиотек мало и они кривые (причем, не просто кривые, п#$%^ц какие кривые, пользуясь случаем передаю привет чсвшному мудаку из команды aiohttp Александру Светлову); * как и в JavaScript нет модификаторов доступа к методам/свойствам; * много магии, очень много, даже перегрузка операторов есть; * не тру ООП; * Ruby выглядит еще лаконичнее и красивее, но переход на него - то поменять шило на мыло.

Go:

Плюсы: * Быстрый; * По сравнению C/C++ на порядки проще, нет пидорского ореола как у Java;

Минусы: * Выглядит как язык для марсиан; * Недо ООП; * ...

Популярные библиотеки

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

Через 10 лет спасибо скажешь.

Если с голоду не помрет

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

У питона, кстати, еще одно преимущество, он позволяет прозрачно использовать сишные библиотеки, что нивилирует его проблемы с производительностью. Нода тож так может, но там нужно на порядки больше телодвижений сделать и костылей написать чтобы все заработало. А вот Go тут в пролете, но он полноценный язык. Компилятор Go написан на самом Go, что ему добавляет 100500 пафоса. Если нужны сишные библиотеки, то тут Python явный победитель.

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

такую штуку придумали недавно

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

anonymous
()

Для меня (мой стек PHP + фреймворки) NodeJS серебряная пуля в некоторых задачах.

К примеру, написание TCP/IP клиента для одного из микроконтроллеров, который должен постоянно держать соединение с сервером. С этой задачей NodeJS справился идеально, но PHP я бы такое писать не стал, максимум на Java.

Для бекенда у NodeJS нет серьезных фреймворков. Express - не смешите. Детская поделка. В этом плане лучше взять другой, более старый язык программирования.

Идеально NodeJS подходит для написания асинхронщины на socket.io.

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

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

Go я бы пока не брал, на данный момент это хайп, как RoR и этот... Rust. Возможно придется быстро соскочить на что-то другое. Если вы не хотите PHP, считаете это недоязыком, то лучше посмотрели бы в сторону «энтерпрайза» - Java или C#.

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

Даже асинхронные обработчики проще писать не на жс.

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

First appeared July 7, 2010; 8 years ago

)))

В таком случае Go first appeared в 1989.

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

...
Go:
...
Минусы: * Выглядит как язык для марсиан; * Недо ООП; * ...

Вообще то GO это продолжение Модулы, если конечно ВАМ это что то говорит.

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

то лучше посмотрели бы в сторону «энтерпрайза» - Java

Интересно как долго еще протянет коммунити-Java ? Ну после того как Java стала платной.

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

Понятно. То тесто некомпетентный в край и что-то кукарекаешь. У воркеров есть общая память.

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

Извините, но я хабр не особо читаю, а эту инфу подчерпнул из : https://pythonbytes.fm/episodes/show/97/java-goes-paid

...

    Oracle's new Java SE subs: Code and support for $25/processor/month
    Prepare for audit after inevitable change, says Oracle licensing consultant
    There’s also a little bit of stick to go with the carrot, because come January 2019 Java SE 8 on the desktop won’t be updated any more … unless you buy a sub.
    The short version is that every commercial enterprise needs to look at their Java SE (Standard Edition) usage to see if they need to do something with licensing.

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

Я понял о чем вы. Но это для старых версий. Вообще есть такая замечательная вещь как OpenJDK.

По моему мнению, Java сможет рипнуться лишь когда Google откажется от нее в Android.

fman2
()

Асинхронное говно.

Надо вернуть результат запроса в базу?

для этого мы придумали тебе функцию, в которую можно встроить функцию, в которую прописать колбэк-функцию!

Что? ааа, переменные хранятся в скопе коллбэка? Ну, это твои проблемы, запускай все свои в коллбэк-функции!

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

PunkoIvan ★★★★
()

асинхронные макароны

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

Вообще то GO это продолжение Модулы

В каком месте?

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

что на питоне, что на node.js код одинаково выглядит:

[const ]r = await someAsyncFuncOrMethod()

единственное неудобство - это async и await писать.

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

Python
не тру ООП

не бывает рыбы второй свежести. или ооп или visual basic++.

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

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

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

anonymous
()

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

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

Стратегия один язык везде - не взлетела. А скоро js и с фронта погонят, уже во всю Wasm развивается, как в языках, так и в браузерах.

Один глаз не забыл зажмурить, когда это писал :) ?

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

Ок, попробую.

Пишу не с нуля, я дописваю функцию в код, вот это реально боль = (

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

Один глаз не забыл зажмурить, когда это писал :) ?

А вдруг?) Конечно, js никуда не денется в ближайшем будущем. И node.js - тоже. Столько всего уже наклепали, чего добру пропадать ;)

th3m3 ★★★★★
()

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

Есть же божественная сишечка, на которой хочешь — CGI пиши, хочешь — самопальные демоны. Все просто, понятно и красиво.

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

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

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

К сожалению, пхытон не закопали. Каждый раз, обновляя генту, матерю на чем свет стоит «пейсателей», которые системный софт на этой параше написали!!! Потому как в 99 случаях из 100 нормальное обновление падает из-за проблем с пхытоном (который мне нафиг не вкорячился).

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.