Вы видите копию треда, сохраненную 23 мая 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Что это за язык?
Компилируемый многопоточный язык программирования, разработанный компанией Google
Какие у него сильные стороны?
Быстрая компиляция, простота, богатая стандартная библиотека, псевдоуниверсальность, кросскомпиляция.
Какие у него слабые стороны?
Еще развивается (хотя внушительными темпами, смотрите ниже раздел "Перспективы"). Малое количество вакансий, отсутствие такого количества готовых решений, который имеют языки с более долгой историей.
В основном сейчас знания языка приветствуется (особенно для коллег с питона).
На какие языки он похож?
C,
Какая у него основная сфера применения?
Бюджетный веб (так как не жрет ресурсы как скрипты или джава), девопс-утилитки и прочие мидлевел сетевые утилитки.
Производительность
https://benchmarksgame.alioth.debian.org/u64q/go.html
https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=db
https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=plaintext
Перспективы
http://www.tiobe.com/tiobe-index/
https://www.google.ru/trends/explore?q=golang
Число репозиториев с не менее 1000 звезд (колонка "Languages")
https://github.com/search?utf8=✓&q=stars:>1000&type=Repositories&ref=searchresults
Полезное
Для начинающих (годный и развернутый список)
https://goo.gl/NfNfZg
Мануал веба на го с погружением в язык
https://github.com/astaxie/build-web-application-with-golang/blob/master/ru/preface.md
Го в примерах
https://gobyexample.ru/
Ищем пакеты:
https://godoc.org/
Сторонние го либы
https://github.com/golang/go/wiki/Projects
Кто уже юзает го
https://github.com/golang/go/wiki/GoUsers
Видосы (есть на русском, если полистать)
http://4gophers.ru/video
Обсуждаем лучший современный язык, смеемся с залетных джава-петухов, которые не могут жить без try-catch и дженериков
Предыдущий тут: https://2ch.hk/pr/res/900789.html (М)
ОП, частичный автор этой (первой) шапки. Как оно оказалось на самом деле:
>Быстрая компиляция
это было в версии 1.1 что ли, сейчас компилится хуже или так же как жаба (больше не с чем сравнить). В общем это было так до того как они переписали язык с Си на свой Го.
Я купился на этот булшит.
>простота
Не простота, а отсутствие даже базовых решений и захара
нет сахар - будет больше бойлерплейта.
Бойлерплейт - это тру стори оказалось, я уж молчу про эту жесть с if err != nill
>богатая стандартная библиотека
Функционал огрызками, такое ощущение что писали в торопях, чтобы было.
Хотя я многое не пробовал, но ощущения сложились такие, чисто имхо.
>псевдоуниверсальность
И то верно, код сильно захардкожен, кодогенирация, местами есть подражания идеям джавы, но убого, местами слизаны устаревшие идеи си (например указатели, там где работы с памятью нет, лол).
Большая часть ошибок рассчитана на ловлю их в рантайме (уже не помню, но нужно вставлять какой-то хак на проверку типов, а interface{} небывалое зло, превращающий язык в скриптовой).
>кросскомпиляция
Круто, но для сетевых задач нахуй не нужно, да и в реале вирт машина дает более гибкости и оптимизации. Да и эта кросскомпиляция еще аукница, проходили уже в сях, будете условия для разных ос писать, потом придумают препроцессор перед компиляцией и потом он станет мастхев для компиляции и история повторится, лол.
>Еще развивается
Языку 5-8 лет, а он все еще молодой и перспективный, лол.
Вот как раз сам язык никак не развивается, и это действительно отталкивает, так как проблемы есть серьезные в дизайне языка.
>На какие языки он похож?
Оп мудак убрал тег джавы, а именно он на него сильно похож и так считают на западе, что он как огрызок джавы (джава для самых тупых)
>Бюджетный веб (так как не жрет ресурсы как скрипты или джава)
На практике джава жрет меньше и работает быстрее, просто джава резервирует память и без тулзов не посмотреть сколько там реально кушается.
Прост для примера полноценный jetty сервер, кушает чуть больше (1мб) чем пустой и безфункциональный сервер го.
Гц в джаве лучше и удобнее и есть выбор ГЦ как для сайтиков так и для сервисов.
Поэтому фразу бюджетный веб - я бы оставил пхп и питону с их виртхостингами
>девопс-утилитки и прочие мидлевел сетевые утилитки
говноадминские скрипты в 100-1000 строк пускай пишут на баше или питоне, только обмудок возьмет компилируемые статитик языки.
ОП, частичный автор этой (первой) шапки. Как оно оказалось на самом деле:
>Быстрая компиляция
это было в версии 1.1 что ли, сейчас компилится хуже или так же как жаба (больше не с чем сравнить). В общем это было так до того как они переписали язык с Си на свой Го.
Я купился на этот булшит.
>простота
Не простота, а отсутствие даже базовых решений и захара
нет сахар - будет больше бойлерплейта.
Бойлерплейт - это тру стори оказалось, я уж молчу про эту жесть с if err != nill
>богатая стандартная библиотека
Функционал огрызками, такое ощущение что писали в торопях, чтобы было.
Хотя я многое не пробовал, но ощущения сложились такие, чисто имхо.
>псевдоуниверсальность
И то верно, код сильно захардкожен, кодогенирация, местами есть подражания идеям джавы, но убого, местами слизаны устаревшие идеи си (например указатели, там где работы с памятью нет, лол).
Большая часть ошибок рассчитана на ловлю их в рантайме (уже не помню, но нужно вставлять какой-то хак на проверку типов, а interface{} небывалое зло, превращающий язык в скриптовой).
>кросскомпиляция
Круто, но для сетевых задач нахуй не нужно, да и в реале вирт машина дает более гибкости и оптимизации. Да и эта кросскомпиляция еще аукница, проходили уже в сях, будете условия для разных ос писать, потом придумают препроцессор перед компиляцией и потом он станет мастхев для компиляции и история повторится, лол.
>Еще развивается
Языку 5-8 лет, а он все еще молодой и перспективный, лол.
Вот как раз сам язык никак не развивается, и это действительно отталкивает, так как проблемы есть серьезные в дизайне языка.
>На какие языки он похож?
Оп мудак убрал тег джавы, а именно он на него сильно похож и так считают на западе, что он как огрызок джавы (джава для самых тупых)
>Бюджетный веб (так как не жрет ресурсы как скрипты или джава)
На практике джава жрет меньше и работает быстрее, просто джава резервирует память и без тулзов не посмотреть сколько там реально кушается.
Прост для примера полноценный jetty сервер, кушает чуть больше (1мб) чем пустой и безфункциональный сервер го.
Гц в джаве лучше и удобнее и есть выбор ГЦ как для сайтиков так и для сервисов.
Поэтому фразу бюджетный веб - я бы оставил пхп и питону с их виртхостингами
>девопс-утилитки и прочие мидлевел сетевые утилитки
говноадминские скрипты в 100-1000 строк пускай пишут на баше или питоне, только обмудок возьмет компилируемые статитик языки.
> потом придумают препроцессор перед компиляцией
В d обошлись без этого. Просто включили конструкции препроцессора, кодогенерации и юниттестирования в сам язык
Как ГОвно вы назовёте, так оно и поплывёт.
Нихера там скандального ничего нет. Очередной надутый ИТ-пузырь. Просто у надувающих есть потенциал и имя.
В норм тусовках, не псевдо-программистов, го вызывает только умиляющую улыбку и признак бездарности как программиста (какой-то анон уже это говорил).
Он странный и бестолковый, но никак не скандальный.
Негатив лишь вызывают то, что язык отдали маркетологам, которые агрессивно пытаются недостатки и отсутствие уже признанных решений натянуть как достоинство и самое страшное что многие ведутся на это.
Для меня больше скандального в котлине - где парни тупо сахар разрабатывали лет 6 (и то все равном местами немного обосрались), или раст - который оказался для начинающих сложнее и непонятнее чем тот язык который они пытались заменить (С++). Но все эти языки достойны чтобы считать себя инструментами.
>го вызывает только умиляющую улыбку и признак бездарности как программиста
Удваиваю.
JS dev > PHP dev > 1C dev > Go dev
Что-то я ни черта не понимаю, ребята. Почему аррей удваивается во время аппенда?
А почему не должен? Ты просто создал массив длины 3 заполненный пустыми элементами. При вызове append, ты в этот массив добавил еще 3 элемента. Теперь твой массив это ["пустой элемент", "пустой элемент", "пустой элемент", one, two, three]
Я понял, спасибо. Почему-то мне подумаось, что аргумент длины в мейке не заполняет слайс, а просто резервирует память.
Я вот что не понял из видоса, а почему они не могли написать демона на православном Це? Что им так этот го всрался?
https://www.youtube.com/watch?v=uO268voCGwA
Ну это ёпта, ну шо б как в Гугл ёпта. Мы же не хуже ебать. Мы же ого-го!
1) Каналы, как средство синхронизации. Все хорошо, пока у вас нет сложной логики с хотя бы 3-мя независимыми воркерами. Потому что потом внезапно оказывается, что какой-то воркер уже не живой и читать из канала некому, что вешает писателя. Огораживается костылями.
2) Стриминг. Какой-то процесс генерирует данные, которые посылает в рутину сервера, обрабатывающую персистент-соединение. Клиент закрывает соединение, закрывается рутина коннекции. Паника на запись в закрытый канал. Опять приходится как-то все это огораживать.
3) Про отсутствие дженериков не говорил уже только ленивый, но это все равно пиздец. Невозможность писать общие решения в 2017 году это то, о чем я мечтал.
4) Нет перегрузки функций, нет нормальных функций высших порядков. Теоретически возможно реализовать map и reduce, но выглядит это хуже брейнфака.
5) Нет паттерн-матчинга, в результате чего код мгновенно превращается в лапшу из ифов и свитчей, добавьте к этому постоянную охуительную проверку ошибок через иф и получите один из самых нечитаемых языков.
Вообще постоянно приходится ебаться либо с рейс-кондишнами и дедлоками, либо с паниками на записи в закрытый канал. Блять, пока я писал на эрланге я только один раз думал о потенциальном рейс-кондишне и то потому, что сдуру написал кусок кода не по OTP-принципам. Нахуя нужен язык с таким кол-вом сложностей при разработке, если есть языки, в которых этих сложностей просто нет? Очень надеюсь, что из-за этого ебаного го у нас грохнется продакшн на несколько дней и тимлид одумается.
пиздос, устройте тилиду темную
Приватбанк?
Когда мне было 25 лет, и я ходил работу искал тимлид питерский всё время как-бы невзначай крутился возле моего компа, и всё спрашивал, что ты там затих, почему фреймворки не используешь? первый раз я не ответил, так он начал орать, что ты там молчишь, что с тобой? начал материться, и говорить, что вообще не возьмет к себе макаку такую, алсо, тимлид ругался, если я пишу и лишнего не горожу при этом, причём простые задачи надо усложнять, мотивировал это тем, что перед начальством надо отчитываться, усложнять все, и сам потом мне говорил: вот я вместо 2х строк пишу 150, и ты так делай! однажды я программить сел, и слышу, тимлид где-то у двери встал в отдалении, ну я простой скрипт написал быстрый, и на пол накарачики присел, а там щель очень широкая снизу у двери, ну я в щель и смотрю, а там тимлид на карачиках сидит и в щель смотрит, и мне говорит: ты чё? ебанутый? чё ты там делаешь? тимлид кстати всё время какие-то фреймворки устанавливает новые, чтобы усложнять часто, ставит их по 5 раз в день, а потом говорит, что концепция изменилась, и ещё шаблоны использует он. пиздец короче! реальная история. я не тролль
Вбросы евангелистов выглядит как чернобелые вставки криворуков из мазине на диване.
Вечно роняют, ломают, но ту взяли кривой го и на тебе, все заработало.
Маркетинг уровня "развод дебила". Нахуя этот приём в ИТ, где можно аппонента за такой маневр обоссать, хз...
> Очень надеюсь, что из-за этого ебаного го у нас грохнется продакшн на несколько дней и тимлид одумается.
У знакомого так тимлида уволили. Хз то ли деверсия была, то ли реально вместе с го пришли пиздецы
Хз что у вас за конторка, если какой-то хуй может взять и сменить язык. Бизнес меньше всего любит оплачивать пустые риски и тем более маня-желания какого-то тимлида.
Типичная офисная жизнь, с больным начальником.
Не говори с шизиком
>>939976
Но что мешает вам описать интерфейс, определяющий специфичные для типа операции (сравнение, получение длины и т.п.) и передавать в метод данные, приведенные к этому интерфейсу? "Шаблонный" метод будет принимать что-то типа data interface{}, но где надо, вызывать метода типа data.Swap() или data.Len() определенные пользователем. Например, так в го делан пакет sort.
>статически типизированный язык
>что-то типа data interface{}
пасиба, но в динамикопетушиных языках генерики как раз не нужны по очевидным причинам
кастовать обощённый тип до interface{} и ложить его в data structure это джява 2004 года
твои самодельные обощённые структуры не знают тип сожержащихся в них значений, тайпчекер нихуя не проверит и ты получишь крэш в рантайме на касте interface{} вниз
>>940006
>>939919
>>939898
Нет, спасибо, я лучше буду пердолиться с макросами в си, чем так жить
макросы сила бро))
на самом деле никакого баттхёрта пердолинга, всё очень просто, проблема только в отсутсвии типобезопасности, но на макросах её ещё меньше, так что лучше подумой)
Джаава господам вообще срать что там за шуршания на дне индустрии.
мимо джава господин, заходящий в такие треды для лулзов (а го, самый насыщенный по дебилам, просто кладезь тупости)
>Джаава-петухам вообще срать что там за шуршания
fix
Оно и видно. Не даром про вашу парашу пишут, что вы из любого языка, на котором пробуете писать, java сделаете. А те, из которых не получилось, - хейтите и презираете.
да джява-рабам вообще срать на программирование, потому что они не программисты вовсе, а офисные клерки
клерк заполняет отчёты и xml файлы
джява-раб программирует спринг
и то и другое - заполнение бумажек, только джяворабское чуть сложнее, поэтому макаку специально обучать приходиться чуть дольше)))
Проиграл с баттхерта гопетуха.
так придётся бро, придётся.
ещё раз, пилишь такой себе контейнерный обобщённый тип данных, какой нибудь LinkedList.
type LinkedList struct {
value interface{}
next LinkedList
}
ебошишь методы
func (oldNode LinkedList) prepend(value interface{}) LinkedList {
return &LinkedList{value, oldNode}
}
func tail(value interface{}) LinkedList {
return &LinkedList{value, nil}
}
func traverse(ll *LinkedList) {
if ll == nil {
return
}
fmt.Println(ll.value)
traverse(ll.next)
}
и в конце:
func main() {
node := tail(5).prepend(6).prepend(7)
traverse(node)
}
Но если я напишу
node := tail(5).prepend("Hello").prepend([]byte{1,2,3,4})
то гоу будет справедливо счтитать что это валидный код, потому что реальные типы данных при упаковке в контейнер мы заапкастили до interface{}
ну и дальше сам понимаешь
нет генериков - нет нормальных обощённых структур
так придётся бро, придётся.
ещё раз, пилишь такой себе контейнерный обобщённый тип данных, какой нибудь LinkedList.
type LinkedList struct {
value interface{}
next LinkedList
}
ебошишь методы
func (oldNode LinkedList) prepend(value interface{}) LinkedList {
return &LinkedList{value, oldNode}
}
func tail(value interface{}) LinkedList {
return &LinkedList{value, nil}
}
func traverse(ll *LinkedList) {
if ll == nil {
return
}
fmt.Println(ll.value)
traverse(ll.next)
}
и в конце:
func main() {
node := tail(5).prepend(6).prepend(7)
traverse(node)
}
Но если я напишу
node := tail(5).prepend("Hello").prepend([]byte{1,2,3,4})
то гоу будет справедливо счтитать что это валидный код, потому что реальные типы данных при упаковке в контейнер мы заапкастили до interface{}
ну и дальше сам понимаешь
нет генериков - нет нормальных обощённых структур
кстати, в Go List так и сделан. То есть через интерфейсы и без типизации.
package main
import (
"container/list"
"fmt"
)
func main() {
l := list.New()
l.PushFront(1)
l.PushBack("str")
for e := l.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
}
>что вы из любого языка, на котором пробуете писать, java
Взоржал, бббггеее. Бля, етот истену глаголет, хехе. Сколька видел жава-питухоф, хех, каторые пытались перучицца , то фсе пейсали как на сваем гавне. Ани просто необучаемые мартышки. Прогать не умеют, только хуй сасать, бббгге.
деверсия у тибя в срачке тухлой, бббггее.
>Не даром про вашу парашу пишут, что вы из любого языка, на котором пробуете писать, java сделаете.
Сука, какая же жиза. Проиграл.
Го набег на даунов из Ява треда :ppp
Обоссал гумпленов
а ну иди на хуй отсюда, прокаженный
В любом нормальном языке для того, чтобы отсортировать последовательность, нужно, чтобы она удовлетворяла некоему интерфейсу. А конкретно: можно получить размер, можно получить и установить i-ый элемент, для элемента определён оператор > или <. И это соответствует здравой логике. В го же для такой элементарной вещи нужно херачить дополнительный шаблонный код для каждой последовательности. Ещё и перегрузки операторов нет.
Почему типы, функции и константы в одинаковом регистре - CameCase? Во всех меинстримовых языках, взглянув на имя, можно сразу по регистру понять, что перед тобой - тип, функция или константа. Это давно принятая положительная практика. Но разрабы, видимо, не знают даже таких элементарных вещей.
Кароч мне хватило немного капнуть, чтобы понять, что это за дерьмо. Не ведитесь на хайп, ребята.
лол, раньше го двигали как замену джавы, даже си, потом хлебнули и стали двигать уже как замену скриптам - питону и теперь скатились до говнища пхп. Что дальше - js?
Это победа гоферы, дно индустрии ваще
Го это явный пример, когда не нужно динозавров программирования, которые не кодят в мейнстриме последние лет 20 сажать за написания языков, спек и прочего.
>Почему типы, функции и константы в одинаковом регистре - CameCase? Во всех меинстримовых языках, взглянув на имя, можно сразу по регистру понять, что перед тобой - тип, функция или константа.
Что не понимаю тебя. В Джаве разве не тот CamelCase?
Но это по-прежнему CamelCase
Он там разный. ClassName, methodName. А константы так CONSTANT_NAME. Ток что в джаве с этим ок.
В Го определяется видимость.
FuncName - видна в других файлах
funcName - не видна.
В Питоне, как я понял, схожие правила, только так funcname и _func_name
А в .NET всегда пишут ClassName, MethodName
А в Ruby ClassName, method_name
В каждом языке свои правила.
А это ещё один косяк го. У меня шаблон рвётся от того факта, что кодстайл влияет на семантику.
Да ладно, а в питоне или перле такого нет? Правда гошу компилировать надо, тяжело сказать зачем такие фокусы надо.
Про перл хз, а вот про питоновское "_" ожидал ответ. Когда мы говорим о стиле записи некоторого имени в программе, то имеем в виду кейс: CamelCase, snake_case, kebab-case и пр. Однако подчёркивание в питоне является соглашением между программистами, чтобы пометить имена для внутреннего использования, и не относится непосредственно к стилю. Соответственно, ты можешь перегонять имя из одного стиля в другой, но подчёркивание как стояло на своём месте, так и должно стоять. Это чисто семантическая вещь.
>стояло на своём месте, так и должно стоять. Это чисто семантическая вещь.
Подчеркивания и в си и в сипласплас и в джаваскрипте не рекомендуется использовать в юзерспейс-программах, с подчеркиваний начинаются всякие системные функции, syscall-ы.
В питоне или перле надо отступы делать обязательно, Я это в виду имел.
Ну а точнее надо было сказать что для низкоуровневых функций и переменных надо задавать имя с _ чтобы обычным макакам не мешать писать код и не запоминать какие имена используются в либах.
Найс, макакены продолжают обсуждать CamelCase, подчеркивания и отступы.
@
ВДРУГ ПОНАДОБИЛАСЬ ПРИВАТНАЯ КОНСТАНТА
@
ПОНИМАЕШЬ ЧТО ОНО ДОЛЖНА НАЧИНАТЬСЯ С МАЛЕНЬКОЙ БУКВЫ
@
ВСПЫШКУ ОТ ВЗОРВАННОГО ПУКАНА МОЖНО НАБЛЮДАТЬ НА АЛЬФА ЦЕНТАВРА НЕВООРУЖЕННЫМ ВЗГЛЯДОМ
Ну да, это как бы самое главное в коде. Не умеешь аккуратно оформлять код - иди нахуй. Все остальное или нинужно, или можно по ходу дела освоить.
>КАК ВО МНОГИХ ЯЗЫКАХ ПИШЕШЬ КОНСТАНТЫ В ВЕРХНЕМ РЕГИСТРЕ, ЧТОБЫ КОНСТАНТЫ МОЖНО БЫЛО ВИЗУАЛЬНО ОТЛИЧИТЬ ОТ ПЕРЕМЕННЫХ
Джава - это не "многие" языки
В .NET принято использовать CamelCase
В Go принято тоже использовать CamelCase с ограничением видимости по первой букве
var HELLO string = "World"
то как мне из другого пакета обратиться к ней?
main.HELLO не работает, просто HELLO не работает. Пример утрированный.
Да, в пакете main есть вызов
r.GET("/admin/", admin.Hadler)
на сайте отображается тестовый текст, т.е. сам пакет подключается и функция из пакета отрабатывает. Как теперь из пакета admin обраиться к переменной HELLO которая определена в пакете main?
Блядь. Ну допустим, я объявляю сверх-глобальную переменную в пакете main, после всех импортов, я пишу:
var MyVar string = "Hello, 2ch"
Т.к. первая буква аппер-кейс, значит переменная экспортируется, верно?
Я импортирую пакет hello2ch который у меня в папке, для текста в пакете main я дергаю функцию из пакета hello2ch (hello2ch.SayHello()) и она пишет в консоль какую-то поеботу - я удостоверился, что пакет импортировался успешно. Идем далее, я из пакета hello2ch хочу прочитать ту самую переменную, которую я объявил в пакете main (var MyVar). Как мне к ней обратится? Все равно нихуя не понял? Или переменный не экспортируются по первым буквам, и это только для структур касается?
для теста быстро фикс
Хеллоу-ворд макака детектед.
Конечно их го устраивает, если они пишут скрипты и даже не имеют представления о модульной разработке и о том, что константы могут быть внутри модуля.
>Как теперь из пакета admin обраиться к переменной HELLO которая определена в пакете main
никак, нельзя \того делать
Там больше и нет инкапсуляции как на уровне пакета и следовательно (ОСТОРОЖНО ЛОГИКА) он это и имел ввиду.
А вообще инкапсуляции на уровне пакета это отдельный лол, сравни проблеме переменных состояний, которая была во времена глобальных переменных.
В общем го это набор пиздецов, которые не видны только дилетантам. Но зачем гуглу сообщество недо-программистов??
>зачем гуглу сообщество недо-программистов??
на сосаче сказали язык плохой, сворачиваем пиар, мужики
@
а ты, Пайк, нахуй вообще пошел, тебя зековские джаваподебилы хейтят
>на сосаче сказали язык плохой
Не просто говорят, еще и факты приводят, но у тебя суслик бомбит потому, что ты не может потереть пост или забанить таких людей как на своих сектанских ресурсах (тут были уже слезливые такие, которые жаловались модераторам, репортили и открыто ныли, лол).
Так что маневрируй не маневрируй, но го стал языком для долбаебов.
И почему кстати все время джава? Это говно же противовес скриптам ставят?
Я конечно не фанат джавы, но го и до ждавы далек, я уже молчу о скалах и котлинах всяких.
>>945693
Повторяйте дальше свои мантры, белые люди уже поняли что альтернатив GO просто нет и в ближайшие пару лет не будет.
Go - ultimate backend language.
так толсто, что даже нелепо
Бля, пиздец, проигрываю с аргументов типа: "О ебать, инкапсуляция на уровне пакета, не так как в наших джавах". Где кстати, вообще пиздец в плане инкапсуляции и если захочешь, то можно просто взять абсолютно всё (java 9 с jigsaw ещё в пути). Внезапно, Go язык построенный вокруг модулей и в этой концепции этот подход нормальный. А самое прекрасное, что его сравнивают с выскоуровневой хуитой и ноют на тему а почему у нас нет фича_нейм, вы бы ещё спросили про pure C такое. Сам не фанат таких языков и в частности Go, пишу на более высокоуровневых вещах Скалы/Пестонов, но вот бомбит иногда с местной аудитории нехило.
>>936241
> говноадминские скрипты в 100-1000 строк пускай пишут на баше или питоне, только обмудок возьмет компилируемые статитик языки.
Ага, блядь, попиши на баше даже простую утилитку health чекаущую ноды в несколько потоков и выдающую алёрты по кучу сырсов. А пистон, увы, упирается в производительность.
Современные девопс утилитки не из оперы говноскриптов на 1к строк, увы.
>вы бы ещё спросили про pure C такое.
Безграмотные долбаебы продолжают сравнивать неуправляемый язык которому 44года, который по факту делает настройку над ассемблером, с жирно-тормозящим ГЦ языком 2012 года. И реально этим пытаются гордится (фейспалм.жпг)
Ты наверно по схожести синтаксиса сопоставил эти два языка да? Ты понимаешь насколько это непрофессионально, анон был прав в уровни развитие гоферов
>А пистон, увы, упирается в производительность.
Да ну нахуй (с)
Чекающая утилитка, которая упирается в производительность, ты эту хуйню нам прям от евангелистов с конференции принес?
Разработка и сопровождение - это ресурс который обходиться в 10-1000 раз дороже железа. А если реально узкое место, то блять не на скриптах, не на джаве, тем более на го со всякими ГЦ - никто не будет писать.
А в остальном, только конченый долбаеб поменяет удобство и быстроту разработке на питоне, на неведомую хуйню с тонной бойлерплейта.
> Язык создавался для системных и сетевых утилит
> Отличается от другого языка наличием GC и отсутствием другой хуйни вроде указателей, которой можно выстрелить в ногу.
> Пытается доказать, что языки нельзя сравнивать
>>945780
> Разработка и сопровождение - это ресурс который обходиться в 10-1000 раз дороже железа
Скажи это 1000 нодам с которых непрерывно идут метрики какой нибудь TSDB. А потом сравни код на pure C и Go и увидишь удивительную ситуацию по затратам времени разработки/скорости кода.
Алё, два долбоёба, вы мне хули пытаетесь толстоту писать. Я не фанбой и очень редко пишу на нём, но в принципе, я всё понял, умываю руки. Ебланов, которые не могут относится к языку как к инструменту и вести беседу на техническом уровне не вразумить.
>Алё, два долбоёба, вы мне хули пытаетесь толстоту писать. Я не фанбой и очень редко пишу на нём, но в принципе, я всё понял, умываю руки. Ебланов, которые не могут относится к языку как к инструменту и вести беседу на техническом уровне не вразумить.
Теперь ты понял суть Го-треда. По сути, вместо обсуждения языка идет обсуждение, что Го плохой, потому что в нем многие моменты реализованы по аналогии с Си, а не с Джавой.
>Го плохой, потому что в нем многие моменты реализованы по аналогии с Си
Молодец. Ты понял, что делать новый язык с оглядкой на язык 45-летней давности не есть гуд. А в яве собрано много положительных практик, которые методом проб и ошибок родила IT-нидустрия за всю её историю. Но годебилам это не нужно, они же самые умные, и будут херачить if err != nil каждые пять строк.
> А в яве собрано много положительных практик, которые методом проб и ошибок
Как я и говорил. Что не похоже на джаву за язык не принимается. Надо больше ООП, даешь всем ООП!
> А в яве собрано много положительных практик, которые методом проб и ошибок
СУКА, ОРУ. Java бины быть может хорошая практика, которая прямо ООП(и геттеры, сеттеры, ага)? Быть может синглтон, который джава популяризовала, хорошая практика? А быть может ты мне ещё расскажешь про охуенный параметрический полиморфизм в джаве, который стирает типы на этапе компиляции? Ты это будешь школьникам местным рассказывать, а не мне.
>отсутствием другой хуйни вроде указателей
Ты, видимо, еще не до шел до той странички в которой про указатели языка рассказывают.
Но да, они настолько ущербны, что единственная их функция это передаче по указателю(лол, дизайнеры языка не знали даже про подход с ссылками)
> Пытается доказать, что языки нельзя сравнивать
Ты настолько туп, что продолжаешь это еще отстаивать, я приведу примитивную аналогию чтобы твой маленький мозг суслика мог понять:
Сравнивать Си с Го это как сравнивать поезд и корабль и говорить что корабль хорошая замена поездам.
>Скажи это 1000 нодам
И что? У вас там селероны что ли стоят? Питон и в более страшных вещах крутится. Докупить железку в ширь все равно будет дешевле чем нанять на фулл-тайм еще одного кодера (если конечно в конторе не платят как слесарям)
А в низкоуровневых сетевых задачах никто язык с гц брать не будет. Тем более такой ублюдочный как в го (хотя там вроде хомяки изныли и там что-то исправляли).
>Я не фанбой и очень редко пишу на нём, но в принципе, я всё понял, умываю руки
Так уж повелось, если пишут глупость то сразу думаешь что это гофер, по развитию и фантазиям о 1000 нодах, ты как раз типичный представитель го-мира
>и геттеры, сеттеры, ага
Когда люди пишут очень много кода, вырабатываются практика, так вот структуры крайне удобная штука (класс с публичными переменными по сути структура), но оказалась что для полей нужен:
-контроль записали или получения данных (вот раз и спустя месяц понадобилась, не в бизнес логике эту хуйню писать или перелопачивать весь код)
-получение данных может быть в следствие ленивого вычисления, в структурах ты вычисляешь всегда и все заранее.
-модное слово иммутабельность (наличие одних только геттеров дает иммутабельность)
-нужно накатить интерфейс, для методов - легко, для полей - хуй
И так далее.
Я не жаба-кодер но и то понимаю почему чистые структуры это устаревшая параша.
>Быть может синглтон, который джава популяризовала, хорошая практика?
Синглетон не пережил естественно развитие (и это хорошо), но посмотри на го - там вообще дебилы передают сервисы через методы, как блять на заре ООП или в пхп в 2003 году (неопытная глупая детвора).
И к вам будущее придет, не переживайте.
Про то что там стирает я не понял, с полиморфизмом все норм у жабы. Вообще самый удобный язык по тулингу, но такие бараны как ты давно уже не борятся с жабой а сидят на новых jvm языках.
Жаба настолько громадна, что у нее есть отдельные языки для хипстоты, ФП дебилов и даже скрипачей.
>Ты это будешь школьникам местным рассказывать, а не мне.
Ты у нас школьник, но не местный?
> Не жаба кодер
> Не знает, почему бины и геттеры, сеттеры являются в ООП антипаттерном
> Не знает, что такое type erasure
> Пытается мне что-то доказать
>>946036
Слишком толстишь, лапуля. Вы даже хуже го фанбоев. У языка есть куча других проблем, за которые хочется ударить палкой(например типы ошибок и string.contains от некоторых долбоёбов на проверку типа ошибки). Но я всё понял, я умываю руки, можешь дальше продолжать срать в треде.
З.Ы. Единственно жалко того анона, у которого долбоёб тимлид поменял эрланг, который может в 10к соединений даже не напрягая левой пятки и чисто функциональный язык, на гоу с которого у людей пишущих на таких языках просто бомбанёт.
> Не жаба кодер
> Не знает
> Не знает
То есть, теперь ты меня пытаешься упрекнуть что я не жаба-кодер?! Лол, теперь язык го притягивает и шизофреников.
В мире, где даже на ебаных крестах можнописать
auto f(auto a, auto b)
попытка сделать язык для веба из голых сей вызывает недоумение.
В яве нихуя не собрано. В яве одни кастрированные плюсы и jvm, которая позволяет коду по всем канонам
GoF работать с вменяемой производительностью. Ну лан, есть ещё рефлексия
вот и не понятно, у этого анона го сейчас победил пхп, или он только что понял что статическая типизация практичнее динамической??
просто шоу долбаебов, гоферы, прекращайте
>а это значит, что либы читаются быстрее
Постой, это ты сейчас про if err != nill, где на 1 строчку вызова функции будет 3 строки бойлерплейта?
Или ты про автоматическую кодогенирацию?
Или же когда в портянке кода не понятно что ты передаешь в метод (структуру, глобал переменную, или метод - ведь все это дерьмо выглядит какдермо.ВызоваемНекоеДерьмо).
>Постой, это ты сейчас про if err != nill, где на 1 строчку вызова функции будет 3 строки бойлерплейта?
ДЖава петух про бойлерплейт закукарекал, спешите видеть.
Давайте создадим класс с минимум усилий для джавы.
public class Pet {
private String name;
private Person owner;
public Pet(String name, Person owner) {
this.name = name;
this.owner = owner;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person getOwner() {
return owner;
}
public void setOwner(Person owner) {
this.owner = owner;
}
}
Больше бойлерплейта богу бойлерплейта.
>Постой, это ты сейчас про if err != nill, где на 1 строчку вызова функции будет 3 строки бойлерплейта?
ДЖава петух про бойлерплейт закукарекал, спешите видеть.
Давайте создадим класс с минимум усилий для джавы.
public class Pet {
private String name;
private Person owner;
public Pet(String name, Person owner) {
this.name = name;
this.owner = owner;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person getOwner() {
return owner;
}
public void setOwner(Person owner) {
this.owner = owner;
}
}
Больше бойлерплейта богу бойлерплейта.
Тссс, ты чего? Сейчас два шизойда придут и начнут тебе говорить, что это решается ИДЕшкой и вообще код неканоничный, хотя при таких же аргументах про голанг начнут изливать желчь. Петухи, кстати, и про экосистему джавы даже не знают, но пытаются твёрдо отстаивать своё мнение о ней.
Нахуй ты дебилам, домашним кукаретикам пытаешься объяснять про инструменты и как ими пользоваться, что у каждого есть преимущества и недостатки, если им нужно не забивать им гвоздь, а хочется посмотреть на инкрустированную бриллиантами ручку и позапихивать себе её в анус?
Хотя это же спецолимпиада готреда, я забыл.
> Давайте создадим класс с минимум усилий для джавы.
@Data(staticConstructor = "sdelat")
public class Pet {
private String name;
private Person owner;
}
Pet.sdelat("petuh", pahan)
Тсс, не пали годноту. Пусть дебилы продолжают обмазываться говном.
Ой, охуеть, с помощью аннотаций, рефлексии и кодогенерации можно уменшить бойлерплэйт, вот это ебать новость, и в каком-нибудь Go так делать нельзя...
То есть надо докачивать какие-то дополнительные проекты, чтобы избежать бойлерплейта ? Да еще не со всеми иде работает.
Ебать ты умный. Действительно, можно качественно улучшить жизнь и не есть говно (хотя всякие с галлер уже не могут без этого).
И да, ты прав, в каком-нибудь Go так сделать нельзя.
Лол, у го тоже нет пропертей, так что такая же херня есть и там. Только дяди долбаебы рекомендуют не писать префикс get* (в итоге иногда геттеры кажутся конструкторами или существительное, имя переменной, понимаешь как действие глагол - в общем лютый пиздец)
кстати это не бойлерплейт языка, это просто соглашение по архитектуре, а вот if != nil это как раз вид обработки ошибок в нубо-го
В общем это еще раз доказывает, что гофер туп и не может различать паттерны от бойлерплейта.
для самых глупеньких, когда пришли к выводу, что нужно для эффективной работы юзать паттерн геттеров и сеттеров, а не паблик поля - джава уже сущестововала. Пришел шарп позже и сделал для людей проперти.
Пришел го - ничего не сделал))
Анон говорил, что голый структуры (без их контроля записи и чтения) - это анти паттерн для сопровождение проекта
дяди говорят, что геттеры не нужны, но если уж хочется, то пиши. Только если уж создал, то лучше назвать его не getName, а просто Name() - все равно понятно, но буквочек меньше.
>>947078
>геттеры кажутся конструкторами или существительное, имя переменной, понимаешь как действие глагол
Ну что тут поделаешь, если ты глупенький и не можешь понять код. Особенно, если придумываешь конструкторы, там где их нет.
>>947079
маневрирование. В Джаве это соглашение, а в Го оказывается нет, хотя суть одинакова.
>>947088
>нужно для эффективной работы юзать паттерн геттеров и сеттеров, а не паблик поля
Их то ввели, чтобы облегчить кодерам программирование, компилятор и то, и это съест, а вот кодер может напутать
>>947088
>Анон говорил
Авторитетное мнение в треде
Дебик, их вводили не для кодеров.
Блядь, как же я проигрываю. Я понимаю, что это так толстят, но вот уёбищность аргументации поражает просто. Такое чувство, будто эти люди вообще код не видели, экосистему той же джавы не знают, в т.ч. хотя бы азов ООП, зачем нужны были геттеры и почему это антипаттерн в некоторых ситуациях и не писали хоть что-то сложнее хеллоу ворлда на Java/Python/Шарпах... Ах да, точно, ведь так и есть.
В общем саги треду, заебали.
метод или функция должны быть глаголом, в английском глагол и существительное может носит одно и тоже имя и глядя на апи настоящего программиста может запутать это.
То есть это Нарушение принципа наименьшего удивления (весь го нарушение этого принципа, лол)
про конструкторы ты просто идешь нахуй, неопытное чмо.
>В Джаве это соглашение, а в Го оказывается нет
именно так, в го ты обязан через if обрабатывать это дерьмо,
в джаве для datа-классов можно работать как со структурой, но практика показала что потом все переписывается до геттеров и сеттеров (был бы ты программистом столкнулся бы с этим).
>Их то ввели, чтобы облегчить кодерам программирование, компилятор и то, и это съест, а вот кодер может напутать
Что за хуйню ты несешь, ты даже не понимаешь зачем их вводят, тебе сказали обтекай, неопытное чмо
>Авторитетное мнение в треде
Это ссылка на чужие слова, чтобы меня с тем аноном не спутали, но ты туп и у тебя шизофрения
у тебя бомбит потому что он прав, геттеры и сеттеры это просто рекомендации. Ты можешь юзать класс подобие структуры в го, но у тебя же мозгов до этого не хватает.
...добавлю, на самом деле я видел долбаебизм процедурного подхода - когда есть дата-класс и потом нужно для какого-то поля навернуть мини-бизнес логику и долбаебы создают монстра (где публичные, где методами). Но хуже, когда процедурный глупый мозг оставляет эту логику прям в бизнес-логике где-то в ебенях кодах.
И в итоге данные преобразуются то нет - в общем магия скрипт-писаря
но это хорошо, я переписывал говнокод с пхп, теперь буду с го, работа будет всегда
Зависимых типов нет = говнище.
"Шустрый питон" - что действительно необходимо вебу, сетевому блядству, админским перделкам и апплиух для мобилок.
Я в душе не ебу нахера его пытаются ставить в противовес джаве (это совершенно другой блядским мирок со своей правдой и упоротостью)
А так надо быть конченным, чтобы разменять джангу на костыли и самописания в го
PыSы
В реале мы знаем что го был создан для внутренних нужд и как все внутренние в галерах - выглядит это уебищно и специфично. Именно поэтому они даже противились запилить такую банальную весчь менеджер пакетов (теперь их 100500) и именно поэтому они чихают на всех и вводят алиасы (им то нужнее).
Го мог бы стать прорывом десятилетий, но стал языком объединяющих дебилов
далб истины
> синтаксис питона
Зачем? У питона объективно не самый удобный синтаксис
>>947811
>необходимо вебу, сетевому блядству, админским перделкам и апплиух для мобилок.
Только где написано, что Го сделан для этого? Го - это упрощенный Си, с улучшенной поддержкой сети и многопоточности
>>947811
>нахера его пытаются ставить в противовес джаве
Его в противовес джаве ставят только сами джависты
>>947811
>разменять джангу на костыли и самописания в го
Кроме джанги есть дохрена других фреймворков, причем более популярных и развитых. Да и написать небольшой сервер с нуля проще на го, чем на джанге
>>Да и написать небольшой сервер с нуля проще на го, чем на джанге
Вот это заявка. Сервер чего? аски старварс через телнет если только.
class EchoSocket : AbstractVerticle() {
override fun start() {
netServer(9094) { client ->
client.startPumpTo(client)
}
}
}
Куда уж проще?
>чтоб он быстро работал, не сильно нагружал память и цп
Кто сказал что го это быстро? Голый, ничего не умеющий сервер (хоть и встроенное асинхронностью) он всасывает всем другим неблокирующим i/o - там пруфы выше с techempower.
Да там есть не до конца совместимый с http сервер (кем-то написанный fasthttp), но это костыль очевидно.
Нужно хотя бы погонять в тестах чтобы вестись на булшит (такая же лабудище с растом была, хотя там синхронное апи, но медленное что пиздец, сестемный язык, лол)
Гоняли, правда старую версию, памяти он у нас жрал больше джавы, про гц молчу, тормозило все жуть. Никаких решений не нашли, да и все подохуели еще на этапе постройки прототипа.
>не сильно нагружал память и цп
в 90% случаях это зависит больше от тебя, а не от языка, но у скрипто-языков - часто под капотом уже готовые оптимизированные вещи (например как случай регексоп пхп которые обгоняли тесты си). Ну а еще все упрется в кэширирование.
>пхп, пистон, джаву, ноду
пхп и пистон - быстрая разработка, удобная разработка, практичное и простое сопровождение (небольших проектов, ибо проблемой являеться динамическая типизация).
жаба (старый вариант) - для мега проектов, интерпрайза, такой софт тут 99% населения двача и не видело и даже не представляют. Реально софтовые монстры сравни времен КОБОЛа
жаба (современный вариант) - веб сервисы для мобильных приложений и нагруженные сайты (одноклассники, лол) - шустрая работа, самый богатый тулинг и набор решений, которые стандартизированы.
Язык настолько удобен решениями и тулингом, несмотря на его старость - писать на нем почти так же удобно как на скриптовых языках (правда въезжать в предметные областя будешь дольше, ибо там серьезные отточенное либы и стандарты)
но лучше обмазаться всякими котлинами, скалами.
Выиграешь с джавы, если будешь писать многолетний проект, а так лучше пистон.
нода - хуйня для дебилов которые осилили только жс. Вообще у этих дебилов там ад какой-то, хороший показатель как бывшие хипстеры и домохозяйки стали вдруг девелоперами. Писать можно, но профессионально расти не будешь.
>го не подойдет?
Для скриптов (которые вы завете веб-сервисы) - го хватит.
Я бы брал топовые языки, по крайней мере ты не останешься со своей бедой в одиночку (будут решения какие-то на базе чужого опыта), в го же чаще ты услышишь фирменное - не нужно, да и вообще всем будет похуй на проблему. А язык просто ходячий ком неадекватности и тяп-ляп индустрии.
спасибо, кончил
>чтоб он быстро работал, не сильно нагружал память и цп
Кто сказал что го это быстро? Голый, ничего не умеющий сервер (хоть и встроенное асинхронностью) он всасывает всем другим неблокирующим i/o - там пруфы выше с techempower.
Да там есть не до конца совместимый с http сервер (кем-то написанный fasthttp), но это костыль очевидно.
Нужно хотя бы погонять в тестах чтобы вестись на булшит (такая же лабудище с растом была, хотя там синхронное апи, но медленное что пиздец, сестемный язык, лол)
Гоняли, правда старую версию, памяти он у нас жрал больше джавы, про гц молчу, тормозило все жуть. Никаких решений не нашли, да и все подохуели еще на этапе постройки прототипа.
>не сильно нагружал память и цп
в 90% случаях это зависит больше от тебя, а не от языка, но у скрипто-языков - часто под капотом уже готовые оптимизированные вещи (например как случай регексоп пхп которые обгоняли тесты си). Ну а еще все упрется в кэширирование.
>пхп, пистон, джаву, ноду
пхп и пистон - быстрая разработка, удобная разработка, практичное и простое сопровождение (небольших проектов, ибо проблемой являеться динамическая типизация).
жаба (старый вариант) - для мега проектов, интерпрайза, такой софт тут 99% населения двача и не видело и даже не представляют. Реально софтовые монстры сравни времен КОБОЛа
жаба (современный вариант) - веб сервисы для мобильных приложений и нагруженные сайты (одноклассники, лол) - шустрая работа, самый богатый тулинг и набор решений, которые стандартизированы.
Язык настолько удобен решениями и тулингом, несмотря на его старость - писать на нем почти так же удобно как на скриптовых языках (правда въезжать в предметные областя будешь дольше, ибо там серьезные отточенное либы и стандарты)
но лучше обмазаться всякими котлинами, скалами.
Выиграешь с джавы, если будешь писать многолетний проект, а так лучше пистон.
нода - хуйня для дебилов которые осилили только жс. Вообще у этих дебилов там ад какой-то, хороший показатель как бывшие хипстеры и домохозяйки стали вдруг девелоперами. Писать можно, но профессионально расти не будешь.
>го не подойдет?
Для скриптов (которые вы завете веб-сервисы) - го хватит.
Я бы брал топовые языки, по крайней мере ты не останешься со своей бедой в одиночку (будут решения какие-то на базе чужого опыта), в го же чаще ты услышишь фирменное - не нужно, да и вообще всем будет похуй на проблему. А язык просто ходячий ком неадекватности и тяп-ляп индустрии.
спасибо, кончил
И да, если хочешь профессионального роста, бери жабу. Только не мертвое EE, именно большая часть анонов насмотрели на эту хуйню и дрыщут тут сервлетами (хотя они поддерживаются даже в embedded серверах - что только подчеркивает мощь и гибкость жабы).
Мысль понял. Ну вот примерно для веб разработки(тип web api) что-то можешь посоветовать почитать или посмотреть(ну, или хоть на какие фреймворки и либы голову повернуть)?
>Зачем? У питона объективно не самый удобный синтаксис
Он хотя бы есть, про пидонисты бы сказали - за мощь мета-программирования.
Или вот мощь DSL котлина, которые вообще позволяют не писать html или css3
В общем что-то современное и такое же гибкое.
>>947861
>Только где написано, что Го сделан для этого?
Где-то официально это писалось или разносилось евангелистами.
> Го - это упрощенный Си
Это уже долбаебизм тех, кто сравнение языки по синтаксису. Си это язык неуправляемый как есть, то есть можно спокойно писать в микроконтроллах, чтоб не писать на чистом ассемблере. Го же управляемый язык с вшитой виртуально машиной, просто она как огрызок управляет потоками и их переключениями и ГЦ (может еще чем то)
Совершенно два разных технологических языка. Го так же близок к Си как javascript к джаве.
>>947861
>Его в противовес джаве ставят только сами джависты
Куда евангелисты показывают, туда и гавкают.
>>947861
>Да и написать небольшой сервер с нуля проще на го
Пиздешь, да и анон ниже скинул яркий пример.
Если сервер со своим протоколом, - ничего удобнее netty я не видел.
>web api
Это REST-приложения? Перебрасываться json'ами может сейчас каждый фреймворк/сервер, бери топовый язык и гугли.
Плюсы Сишки:
- Т Р А Д И Ц И Я
- на ней написано 2/3 всей экосистемы (Linux, nginx, PostgreSQL, memcached ...), можно копаться в их коде
- на ней написан собственно CPython, можно писать к нему расширения
- на ней написан весь мой сраный линукс-десктоп, можно патчить
- суровый низкоуровневый язык, заставляет понять всё досконально, системные вызовы хуё-моё
- в военное время можно будет под микроконтроллеры хуярить
- макросы завезли
Плюсы Го:
- вероятность, что мне однажды доведётся на нём писать продакшеновый код, отлична от нуля
Самое обидное для меня то, что Го занимает предметную область, в которой я работаю, поэтому неиллюзорна возможность, что когда-то и заставят писать на Го. От этого у меня, соответсвенно, вдвойне бомбит.
Вынашиваю планы переката, чтобы не касаться этого недоразумения.
Раст тут вообще не пришей макаке хвост. Ни вездесущести сишки, ни хайпа го. Хотя за линейные типы у меня душа болит конечно.
Response.data.childrens
Это массив, и уже по нему итерировать с типами. Сейчас я JSON разбираю в interface{}. Могу ли я теперь как-то легко работать с этим как с многомерной mapой, или мне придеться теперь switch t.(Type) делать и проверять что за хуйня передо мной и каждый раз рекурсивно разбирать все это, пока не дойду до дебрей?
Сегодня пишешь ты на Скале, а завтра в рот берешь в подвале.
О, ещё один скриптомакак первый раз работает с жсоном в го.
не нужно такие json получать (с)
Джяве уже много лет, в стандарт такое не впилить с нихуя. А вот у гОвна такого оправдания нет.
10 минут прошло, а этот хрен рассказывает про свое баду, как там друзей запрашивает и прочие работает, в общем рекламит их сервис.
Причем в начале упоминул, что в легионе пхпэхеров только 5 сишников и они там писали какую-то залупу с ГЦ в 30секунд.
посмотрите на это животное
https://youtu.be/uO268voCGwA?t=617
кликайте по ссылке, двач встроил без привязке по времени
умничка
пруф: https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md#channels
Лол, только хотел это вкинуть
>у го не осталось в общем-то никаких преимуществ.
То бишь джавадауны наконец-то отсюда свалят? Найс.
>>948252
Каждый год появляются новые языки с новыми килерфичами. Да вот что-то не взлетают. Не хотят переходить на эти ваши котлины и скалы, хотят дальше сидеть на джаве.
Сравним гитхабы нескольких относительно новых языков:
Dart 133 watch (за 4 лет)
Kotlin 453 watch (за 6 лет)
Scala 751 ( за 11 лет)
Rust 1105 ( за 6 лет)
TypeScript 1364 ( за 4 года)
Go 2072 (за 7 лет)
Swift 2472 ( за 2.5 года)
Теперь можно оценить популярность. Или вы правда думаете, что кто-то, узнав про корутины в котлине, тут же побежит на него все переписывать?
Л Е Г А С И
Олсо, одно дело на чём хотят писать и другое, - на чём приходится.
Не понимаю твою логику, ты горд быть быдлом и писать на ретроградском неактуальном говне уровня джявы, потому что вас таких отсталых много, как и быдлокода, который вы с колегами-индусами нагенерили? Если так, то недомемчик про жатника символичнее, чем я думал.
Популярность джявы в 90х была обеспечена агрессивнейшей маркетинговой кампанием, ещё и на относительном безрыбъе, и последующим форсом ооп-параши из всех щелей. Бизнес юзал это распиаренное говно, поддержа кода на котором требует куда больших ресурсов, чем сама разработка, что создало эффект снежного кома, как в той пасте про архитектуру джява приложения. Новые язычки в отличие от джявоговна существуют изначально в условиях агрессивной конкуренции, как со стороны множества других новых языков, так и со стороны легаси говен. Да и срок их устаревания теперь намного быстрее, так как каждые 3-5 лет появляются новые концепции. Новыи язычки сегодня существуют при здоровой рыночной циркуляции с высокой конкуренцией, быстрой сменяемостью, опенсорсом, открытостью литературы и пересечения всего со всем. Если бы джява появилась на современном рынке сейчас, даже со всеми либами и инраструктурой, никакой маркетинговый форс не помог бы ей закрепиться. А так, сисярподжавопохапы просто заноза в жопе, большая куча навоза в ручье, которую не смывает только потому что куча большая, засохшая, ещё и привлекает вчерашних курьеров вкатывальщиков, так как вакансий много, и конюшни ждут своих говночистов. Такая вот раковая опухоль.
Будем надеятся что капля камень точит.
>ты горд быть быдлом и писать на ретроградском неактуальном говне уровня джявы
>чтобы писать на ретроградском неактуальном говне уровня го
лол
котлину год, помоему, после релиза
расту тоже больше года
а вообще гитхаб та еще помойка и накрутка звездочек, конечно там есть топ проекты, но остальное 99% это помойка с накрученными лаками (звездочками)
Видать Т А К А Я С У Д Ь Б А
у тебя - жрать говно или жрать говно
Потому что у нас, молодых и смешливых, берется jvm, берется kotlin (в крайнем случае java8) и все заебок.
>Популярность джявы в 90х была обеспечена агрессивнейшей маркетинговой кампанием
пиздишь, агрессивный маркетинг для мелкой, зазаборной компании это самоубийство и нулевой эффект.
Джава дала то что было нужно.
Пхп тоже дал в свое время то что было нужно
В этом тру-стори успеха всех языков.
Го тоже хотел взять этим - горутинами, но хуй, мир стал подстраиваться под синхронные языки, стал появляться сахар неблокирующий, io, базы данных асинхронные и вся фишка го превратилась в тыкву.
То есть он просто не успел, поезд технологий прошел мимо.
>и последующим форсом ооп-параши из всех щелей.
ООП форс был уже как лет 10-15, тому пример С++, не пизди нам тут
>берется jvm, java
>и все заебок.
Ну то что ты копрофил это и так понятно. Теперь давай объясняй, откуда у тебя такие вкусы.
>Потому что у нас
> берется kotlin
У кого это у вас? У йододефицитных из жидеи??
>>948433
Нет, это просто ещё один современный язык.
>>948443
>я нихуя не знаю, но хочу копротивляца за жабку
Всё ясно с этим школьником.
>ООП форс был уже как лет 10-15, тому пример С++, не пизди нам тут
А до цпп был смолток и симула и что с того? Ты блять знаешь смысл слова форс, ебанько?
Мне вот нахуй не нужен сахар всяких этих шарпов, когда у меня такая качественная экзосистема.
Когда я беру Го или пхп или жс - блять баг на баге, все через жопу, когда я беру джаву, даже код 5 летней давности работает как часы.
Есть два проекта на жабе и пхп, чтобы поддерживать пхп в вменяемом состоянии, я тратил усилия чтобы переписывать под каждую версию, просто потому что там дебилам что-то не понравилось и они выпилили. В итоге я положил болт и на вряд ли смогу сейчас юзать топовые либы, потому что они по хипстерским меркам устарели.
Что же джава? Все усилия тратятся только на проект.
Что же го? Тот же пхп, только если пхп весь покрыт напиженным сахаром, то го это блять программирование как в 90 годы, ничего нет, даже мелкие утилиты как обгрызки.
Блять, даже отладки нет. Вы видели хоть раз чтобы отладчик просто взял и проскочил брэкпоинт? В го это норма. И норма что они принтами выводят переменные.
И люди гордятся школьной-отладкой.
В любом случае у меня есть еще выбор ввиде скалы или котлина. А что есть у вас глупые гоферы?
Илюша, иди нахуй.
>Ну то что ты копрофил это и так понятно. Теперь давай объясняй, откуда у тебя такие вкусы.
А ты думаешь у тебя нет вирт машины там? Гц само собирается и потоки сами переключается и паника ловится на чистых мантрах?
дебилы, блять (с)
>Ты блять знаешь смысл слова форс
Очевидно ты его не знаешь или просто глуп, так как форс, именно форс - начал С++.
>Гц само собирается и потоки сами переключается и паника ловится на чистых мантрах?
Да.
>Очевидно
Ясно.
Аргументировал тебе за щеку.
Виртуальная машина у Гоу? Чего блядь? Просто пиздец. Я конечно знал, что тут дауны сидят, но чтобы настолько, что не понять, что такое вирт машина... Ну это просто пиздец.
> есть еще выбор ввиде скалы или котлина.
И ебись с интеропом для джава либ потом на Скалке(это грустно, на самом деле). А также с проблемами JVM, вроде TypeErasure, которые никуда не денутся после перехода на другой ЖВМ язык.
кококо, мой рантайм не такой жирный чтобы называться вирт машиной, мой язык коко-компилируемый, и пофиг что он контролит все и вся, кококо он как си.
дебилы, бля
у котлина все ок, я слишком ленив для скалы.
Ты конченный, правда, если ты не различаешь рантайм(который действительно пиздец жирный) и виртуальный машину и что она даёт. Сделай доброе дело, пойди нахуй, почитай книжки, выучи язык какой-нибудь нормально, а не на уровне hello world, и не засоряй тред своей шизой. А лучше найди работу, чтобы не хватало времени на написание такой вот поеботы.
П.С. Не маняврируй, если обосрался, то обтекай
Типичный Го-тред
Сам же вот говоришь про конкуренцию. И вот эти ваши скалы и котлины конкуренцию не выдерживают, потому что пытаются влезть на место джавы. Вот и остается писать на ретроградской джаве.
Го же влез в другую нишу, завоевал некоторую популярность и ближайшее время будет держаться на плаву.
Ну если ты пишешь в чисто функциональном стиле, то оборачивать null, и эксепшоны в Try и пр. не самая приятная вещь.
Для чистого (как и просто для "чисто") функционального стиля есть хачкель. В восьмой жаве искаропки есть опшены, хуй знает что у тебя там с эксепшенами. Написал в доке чекайте результат ф-ии — и хуй с конём.
Но скала не чисто функциональный язык, так что монадки не нужны. Почти всегда лучше явно бросить исключение.
>>948720
А смысл тогда юзать скалку, если ты бросаешь эксепшены, мутируешь небо и Аллаха и прочее? Как джаву с сахаром? Есть котлин же.
А вот хаскель, увы, в проде использовать не дадут, хотя не пиздоглазое объявление АДТ, матчинг в хедере ф-ции, и адекватные тайп классы там завезли. У скалки в этом есть проблемы, увы. Спасибо ЖВМ
Ты либо аргументируй в чем разница принципиальная либо слейся уже. Только воздух сотрясаешь.
Есть такие понятия как неуправляемый язык и управляемый, и до срачи - интерпритатор, вирт машина или жирующий рантайм - все выполняет одну и тоже роль.
То что это не jvm это ежу понятно, но то что это управляемая говнецо - это 100%, от чего эта херня никак не может быть сравнива не с плюсами не с сишкой.
Лол, сам себя успокоил?
Дорогой, не маняврируй. Мы поняли, что ты хотел сказать, и на что ты намекал, используя типичные уловки готред-шизойда. Хотя мог бы сказать про жирный рантайм, а ещё и вставить статик линковку, это хороший аргумент и можно было бы поговорить о недостатках(не с тобой). А так, даже отвечать не хочется по мелочам. Просто скомпиль под свою Ось хеллоу ворлд на Го и дай мне запустить бинарник. Я посмотрю какая у меня заебись ВМ стоит для Голанга. Ток чур без кросс компайлинга под все платформы.
Маневрируешь тут ты, ибо пиздишь без аргументов. Тебе сказали язык управляемый и не коррелирует с Си (о чем был изначально смысл разговора).
Джаву с jvm тоже можно засунуть в один бинраник, но от этого смысл не поменяется (для таких глупых как ты конечно поменяется).
Кстати, там по-моему в 9 версии бинарник для джавы завезут, го соснет еще раз.
Иди лучше посмотри бинарник го, может там байткод вообще лежит (лол, я не удивлюсь).
Ты довн, да? Что ты позоришь нас тут всех?
У жабы есть байткод и режим в работе интерпретатора. У тябя манямирок не треснет, если к коду на крестах прикрутят https://www.hboehm.info/gc/ ?
Просто пиздец... У меня слов нет. Это просто пиздец. Ты правда имбецил или просто так толсто троллишь? Я вот просто не могу в это поверить. Прыгать с темы на тему, валить в Си, потом переходить на Жаву, обсираться, переходить опять на Си... Но энивей, ты уже соснул, даже не удосужившись полезть хотя бы в доки языка, который ты хейтишь, разобраться с темой вообще того о чём ты говоришь. И вообще, какие в джаве нахуй бинари? Ты ебанутый? Где Write Once Run Everywhere? Ты просто отбитый. Джава 9, бинарники, лол, быть может ты не отличаешь REPL, который действительно будет в новой джавке, и нейтив код? За сим откланяюсь. Пожелаю тебе только восстановиться в институте, который ты видимо бросил и начать делать хорошие вещи и попробовать писать уже на чём-то, а не пиздеть. Ты уже стал что-то вроде Илюшеньки, только с другой стороны баррикад.
П.С. А вообще скорее Го две новых версий выкатит, чем джава 9 действительно выпуститься, а оракл не пернесёт релиз(хотя быть может он уже фриз)
Да он конченный. Что на самом деле в рантайм Си можно запихнуть любую либу и сделать кучу разных тюнов это вообще без внимания для его мозга. А особенно радует реверансы к Си и попытка доказать, что Го тупо сравнивают по синтаксису, а не из за задач, философии и что в команде там человек, который является одним из пап сишечки. Тут у него ещё было по поводу пистона мысли и его перфоманса хорошего(пистон люблю, но там свои траблы есть), правда я не стал отсылать в сторону бенчей и просто проектов вроде Карбона, который на пистоне и Инфлюкса/Прометея, которые на го. Результат бы вызвал разрыв шаблона
2. Жабу можно компилить в нативный код.
миморакодил
то есть, если джава будет компилиться в бинарник, она станет сопоставима с++?
блин я же говорил, что они так правда думают)
ограниченные долбаебы
>кококо (с)
и так каждый аргумент гофера, всплеск слюнь и эмоций. И эти говнори просят еще диалог
>А вообще скорее Го две новых версий выкатит, чем джава 9 действительно выпуститься
Посмотрим в этом году
вим/неовим
>го исполняется в среде позволяющий контролировать работу приложения, панику, переключать потоки, полностью их контролировать между процессорами, использовать ГЦ и прочие
>кококо это не похоже на вирт машину.
@
>джава с вирт машиной компилиться в бинарь
>ко... ко... разрыв мозга гофера
Лол, ни одной аргументированной вещи не было предоставленно хейтерами, хотя на самом деле их тут обычно залётные и ты, шизофреник, который постоянно маняврирует и даже не предоставляет факты и по сути показал свою проф несостоятельность. Хотя оставайся, без тебя тред тухлый, да и шизикам здесь всегда рады. Хотя ты и так здесь 24/7.
А чем оправдано использование монадок, кроме дроча на функциональность? Трай отдаёт ничто иное, как тот же самый эксепшон.
Скала уже компилируется, можно на одних маллок и фри лепить.
Ты этот котлин в глаза видел? Это страшная ява-залупа с неконсистентным синтаксисом из говна и палок (это называется "с мира по нитке").
>с неконсистентным синтаксисом из говна и палок
ну вот не надо тут. В котлине из го синтаксис не заимствовали.
Дебич, плиз. Не хаскелл, конечно, но лучше скалы или цейлона или руби. За синтаксисом, это в тред раста.
>Чем лучше скалы-то?
Я про синтаксис писал. Терпеть не могу ошметочно собачий синтаксис скалы. Как будто лай какой-то.
>но еще с уебскими генетиками и прочим
Плез, не строй из себя знатока теории типов и прочего. Только обосрешься.
В целом, с учетом семантики, котлин всё еще замечательный язык, благодаря прагматизму разработчиков, у него отличный потенциал для роста.
Все бы писали на питонах, если бы это говнище не тормозила до 60 раз с отжиранием всей планки памяти.
Поэтому была джава, но весьма с консервативным синтаксисом.
И вот блять дали котлин (кому скалу) чтобы юзать производительный код с удобным синтаксисом и тупые гоферы пытаются это как за недостаток представить, лол
У тебя есть возможность писать на самой оптимизированной jvm на современном синтаксисе, нахер тебе обрызок го?
А чем тебе циклы то не угодили?
>JVM
За упоминание этой дрисни вообще-то всегда следовали целебный заряд хэнд н шолдерса из пожарного шланга и заливание космических объемов ослиной мочи в рот запостившего.
После появления Го, оказалось, что языки ЖВМ и ПХП с ЖСом, не так уж и плохи. Говно познаётся в сравнении.
Ты конкретно аргументы приведи, что там критично ужасного в джаве и jvm?
В свое время весь хайп подняли когда язык пустили на поток у индусов и желторотых студентов, которые могли клепать софт конвейером подключая джарники.
Язык тут совершено не причем, просто это судьба любого популярного языка.
Вообще это говорит только в плюс, даже гофер бы смог работать с готовыми модулями.
так что либо аргументы либо иди нахуй с "кококо jvm"
Скала
https://2ch.hk/pr/res/767431.html (М)
Джава
https://2ch.hk/pr/res/944172.html (М)
Котлин пока своего треда не заслужил
Проследуйте сраться про JVM туда
>Специально для тех, кто программирует под JVM
есть этот тред.
Добро пожаловать всем кроме гофнеров - от вас воняет
Го настолько наебон, что ведутся либо ебанутые либо неопытные. Поэтому не го "отличается", а коммьюнити дебилы и хейтить их доставляет (у них бомбит, ответить они по существу не могут, ибо го правда говно).
Ну вот хз. Если создавать простецкий CRUD, то на жаве пришлось вникать что такое, сервер приложений, сервлеты. А на го хуяк хуяк и всё готово.
Как там в го, он уже научился наконец библиотеки собирать?
В джаве все гибко и все стараются поддержать эти сервлеты (последние версии кстати годные), но подтягивать можно отдельно.
Первый пример из jetty и вот как раз там этот "контейнер" (насколько я помню) отдельно тянется. Если ты юзаешь именно embedded подход.
В любом случае там надо будет руками обработчики сервлетов подключать и пока не заюзаешь у тебя будет как в го - сервер и хендлеры (на самом деле это го слизал такой подход, а не наоборот).
Для шаблонизатора возьми freemarker, а то будешь еще с jsp ебаться))
В общем, даже в джаве уже говорят что EE мертв (даже в тырпрайзе обмазались давно спрингом), я хз че вы на него дрочите
Я не порвался, а тригернул. Очень беспокоит меня когда всякая шелупонь посредственная безапеляционно вещает глупости в интернетах.
Есть еще божественный ПУВЕРШЕЛЛ
Это ты про тупых джава макак, которые ВМ то отличить не могут от рантайм либ? Если нет, то пиздуй отсюда таксовать, заебал, тебя клиенты ждут.
То что тебе пукан порвали это мы видим, но не тебе и не другим го-дебилами не хватило мозгов привести фундаментальную разницу между ВМ и рантаймом. Вы только кудахтали.
На самом деле разницы нет, понятие рантайма настолько широко - что ВМ является частным случаем этого понятия.
То есть, ВМ - это один из видов рантайма.
А весь подъеб был в том, что у ГО настолько жирнющий рантайм в сравнение с си, что по поведению он ближе к ВМ чем к сишному рантайму.
но я уверен вы все равно не поняли, вы же гоферы
Как привыкнуть к синтаксису после сисярпа?
согласен. Си надо выкинуть на помойку. И линукс, написанный на 40летнем языке, тоже
Если выкинуть си, придется писать на ассемблере.
Если выкинуть го, уменьшится критическая концентрация дебилов в одном месте.
Чувствуешь разницу?
Го это месть гугла, за то что не возлюбили дарт :D
Does Go have a runtime?
Go does have an extensive library, called the runtime, that is part of every Go program. The runtime library implements garbage collection, concurrency, stack management, and other critical features of the Go language. Although it is more central to the language, Go's runtime is analogous to libc, the C library.
It is important to understand, however, that Go's runtime does not include a virtual machine, such as is provided by the Java runtime. Go programs are compiled ahead of time to native machine code. Thus, although the term is often used to describe the virtual environment in which a program runs, in Go the word “runtime” is just the name given to the library providing critical language services.
>но я уверен вы все равно не поняли, вы же гоферы
Что ты сюда принес годебил? Тебя там вверху на пальцах разъяснили все.
>Go's runtime is analogous to libc
лол, завернули евангелисты.
Рантайм в CS это понимание некой среды, которая способствуют исполнению программы и выполнение неких вещей (например управление потоками). То есть чтобы там не было, оно всегда рантайм.
В сях, насколько я помню, весь рантайм это прослойка либ между осью и стандартной библиотекой си, она (среда) не как не управляет кодом. Поэтому язык имеет термин "неуправляемый" (чистый в сленге), его можно засунуть даже в самую ресурсозависемую жопу (например микроконтроллеры).
В го же рантайм управляет кучей всего (там даже шедулер встроенный).
Поэтому он такой же аналог libc как аналогичен паровоз и слон.
Си никак не равен Го, только по внешним признакам и ВСЕ. Эти борцы в разных весовых категориях, я бы даже сказал они в разных дисциплинах. Го ближе к питоне и жабе чем к сям и расту.
Только некомпетентный годебил может их сопоставить
> это понимание некой среды, которая способствуют исполнению программы и выполнение неких вещей
Mr Manyavrator, ОС для тебя тоже рантайм? является частным случаем этого понятия
Дебич, libc и есть рантайм.
Алсо, кто тебе говносос, дал право высказываться за CS?
>library providing critical language services.
меня больше такое определение устраивает, чем твоё шизоидное.
>Дебич, libc и есть рантайм.
Ебать ты дебил. Различия между рантаймом, и простой библиотекой с функциями общего назначения знаешь?
Лол, годебилы и CS вещи не совместимые
runtime library != runtime environment (runtime system, или просто runtime)
Просвещаем годебилов вместе с двачем.
https://en.wikipedia.org/wiki/Runtime_system
https://en.wikipedia.org/wiki/Runtime_library
Но libc предоставляет некоторые абстракции для аллоцирования памяти и работы с потоками, хотя потоки это ОС зависимая прослойка. Так что анон кое в чём и прав. Хотя тут можно и поспорить, что я конечно же не буду делать.
Мимокрокодил проигрывающий
То, что ты долбоёб и не умеешь выражать свои мысли и постоянно переобуваешься в воздухе, тут и так поняли мы все
> у ГО настолько жирнющий рантайм
> Хотя мог бы сказать про жирный рантайм
Об этом и писали в самом начале тебе, когда ты писал хуйню на тему ВМ, от которой просто волосы дыбом вставали, сука(у меня до сих пор горит с этого) Но ты же пока не прочтёшь вики не поймёшь лал.
Удачного подрыва жопы.
Полыхает только твой пукан, а я там сразу добавил ремарку о жирности рантайма, мол рантайм настолько жирный что сравни вирт машине jvm и дальше подъебнул, что не удивлюсь что в бинарнике лижит байт-код (который если бы был действительно, определял го-рантайм как ВМ).
Но ты настолько туп что не понял ни сарказма ни того что го недалеко ушел от джавы в рантайме и рядом не стоит с си (и пришлось выше разжевывать).
А вот то что годебилы путают рантайм библиотеки с рантаймом (окружением) и более того, что не знали что ВМ есть вид рантайма, это вот маленький вин (хотя гоферам простительно)
Феноменальный дебил. Умудряется и обсираться и маневрировать одновременно. И главное с таким пафосом и на таких серьезных щщах, что диву даешься.
>Умудряется и обсираться
Если это так, то чего стоит не кудахтать, а подловить на технических деталях, пруфануть - в общем, тупо не кукарекать в пустую. Иначе создается обратное впечатление.
На чем подловить на демагогии и игре слов? Прочитай нить с начала, клоун перескакивает с общего на частное и обратно, путается в показаниях.
Школьник, плиз. Тебе уже и так всё сказали. А по поводу рантайма джавы не тебе вообще рассуждать, если ты умудряешься обсираться на простых вещах: REPL назвать компиляцией, ну это вообще пиздец, опусы про ЖВМ вообще молчу, незнание даже базовых вещей платформы, вроде TypeErasure выдаёт в тебе просто залётного петуха, а уж про остальное говорить я просто не хочу. Тебе указывали на конкретные аргументы и на примеры, но...
Впрочем этот анон уже всё сказал, лол >>951651
Похоливарить я готов на любую тему, но только холивары котирую с технически грамотными людьми.
> ПОК-ПОК-ПОК ГОФЕРЫ ТУПЫЕ, ПОК-ПОК-ПОК, ЕВАНГЕЛИСТЫ/МАРКЕТОЛОГИ ВАШИ СКАЗАЛИ, ПОК-ПОК, МНЕ ПОХУЙ, ЧТО У ТЕБЯ НА 200К ЗАПРОСОВ ПУТХОН ТОРМОЗИТ, Я НА СВОЕЙ ВИРТУАЛОЧКЕ ЗАПУСКАЛ ВСЁ НОРМ
>попугай кукарекает нужные слова
называет это технической беседой и аргументацией
Дебик, никто с тобой не будет вести техническую беседу. Я сюда прихожу на клованов посмотреть. Кукарекание про type erasure или про оптимизацию хвостовой рекурсии (из самых популярных кукареканий) выдает в тебе поверхностного дурачка. Над такими только глумиться.
> Кукарекание про type erasure или про оптимизацию хвостовой рекурсии (из самых популярных кукареканий) выдает в тебе поверхностного дурачка.
Постой, друг, я тебя поправлю
> Нет ты
Вот так теперь лучше.
> Я сюда прихожу на клованов посмотреть.
На свои посты? В цветочек превратишься, не стоит так делать, греки трустори рассказывали.
Ну не обсуждать мне же с тобой то, что оказывается в жабе инкапсуляция на самом деле пшик и оказывается она при должном упорстве такая же дырявая как твой анус, и прочие проблемы жвма. А разговоры про стирание выдали в тебе малограмотного долбоёба.
Так что обтекай маня.
Обоссать мамкиного траля сидящего на тех же мамкиных харчах -- день прошёл не зря
Подожди, то говорят что он в чем-то не прав, то теперь уже маневр и он в демагогию играет. Вы уж определитесь.
Со стороны конечно всем срать, так как выглядит как помешивание говна с обоих сторон, но если копнуть, то хейтеры приводят какие-то моменты и поливают их говном, когда как фанбои просто язвят и тупят.
Как минимум
-го далек от си и вообще несопоставим - анон прав
-го имеет вирт машину - не прав, но мне кажется это троллинг, хотя может его тупость.
Я даже скажу что го далек от джавы, он как минимум между джавой и каким-нибудь пхп или js. По причине, что критическая доля ошибок отлавливается в момент исполнения (когда и как повезет), где в джаве, в среде норм разработчиков, есть жесткий принцип минимизировать баги еще в момент компиляции или хотя бы в момент инициализации. В го же на nil хер интерфейс проверишь (можно, через рефлексию).
Поэтому не понимаю хайп го vs жаба. Самое точное го vs пхп и js - там такой же бардак в дизайне языков и вроде всех устраивает.
> го далек от си и вообще несопоставим
Это как бы и да и нет. По задачам и философии они типа пытаются сделать Сишечку ванильную, но безопасную. Поэтому и тут ГЦ, нет арифметики указателей и пр. Зато есть дроч на скорость компиляции и работы языка(в т.ч. и нахуярить быстрый ГЦ за счёт ресурсов ЦПУ).
Отсюда и исходит много проблем: пацаны писавшие на сахаре говорят "Запили мне %фича_нейм% как в %язык_нейм%", а разрабы отвечают, что "НИНУЖНА".
> По причине, что критическая доля ошибок отлавливается в момент исполнения
Это отдельный разговор, который решится с появлением дженериков, скорее всего. Отдельный -- потому что это пиздец и обосрамс который делает типизированный язык, динамо хуйтой, лал.
> java го vs пхп и js
Сорта говна сравнивать довольно субъективно, но вот мне доводилось писать на пыхе и... Ну ты понел, кароч.
>Ну не обсуждать мне же с тобой то, что оказывается в жабе инкапсуляция на самом деле пшик и оказывается она при должном упорстве такая же дырявая как твой анус, и
Ну давай обсудим, аргументируй, слов в 150 хотя бы. Можешь больше и про прочие проблемы жвма. , если есть желание раскрыть.
1) Не ну горутины заебись тема. Общения через каналы очень удобно и имеет свои плюсы. Хотя есть возможность юзать классические примитивы синхронизации.
2) Defer довольно юзабельная конструкция, во многих штуках(в т.ч. правда и использующаяся для костылей)
3) Прост как палка, и относительно миддлевел язык и быстрый, с быстрой компиляцией, и к тому же...
4) Имеет синтакс шуга для того, чтобы ты не охуел когда на нём пишешь
5) Довольно хорошие конвенции по стилю, директориям и пр.
Ну это очень быстро. Я так-то тебе могу и пять минусов накидать весомых. Просто возьми да попробуй, учиться за несколько дней язык.
OSGi - одним словом.
Вот что нужно было все эти годы твоей подзалупной конторке. Модуляризация JRE же нужна в первую очередь крупным вендорам и да, она произойдет с релизом девятки.
Могу пояснить по довольно лайтовым вещам. Не хочу я на ночь глядя разводить срач на тему, где можно сказать "ой, бля, да это легко решается костыльком, а в других языка тоже такое есть, сконфигурировать можно(хотя как показывает практика, это делает 2.5 анона)". Понимаешь проблема-то ЖВМ в современных реалиях это её громоздкость. Сейчас уходят от больших вещей в сторону микросевисов(сорта говна, но тема отдельных разговоров) и вот, чтобы она завелась, ЖВМ прогрелась и пр. уходит норамльно времени. А если у тебя их дохуя и они плавают(привет оркестровка) по нодам, то просто пизда. Вот и получается такая вот вещь.
П.С. Я бы вообще не смотрел в сторону Го, я люблю высокоуровневый шит, но вот рыночек порешал, а мне, например, чтобы хотя бы просто поконтрибьютить в тулзу связанную с моей деятельностью, добавить фичу, нужно его знать. Но в плане затрат на писанину, обучение, поддержку/скорость языка он вполне себя окупает.
> твоей подзалупной конторке
Ясно, понятно.
> и да, она произойдет с релизом девятки.
Ждём с нетерпением десятки, одиннадцатой и т.д.
Работал бы ты в оракл или красной шапочке, очевидно бы не тёрся здесь и не пиздел чушь.
>>951678
Тут уже кукарекали про AOT. http://openjdk.java.net/jeps/295
Через полгодика можно будет пользовать.
А вообще...
> А если у тебя их дохуя и они плавают
Что ты несешь блядь? Ты что поехавший? Нетфликсу раскажи это. Охуеть вообще. ЖВМ прогрелась.
>Это как бы и да и нет. По задачам и философии они типа пытаются сделать Сишечку ванильную, но безопасную.
Мы треде программирования и касаемся технической стороны, что там они думают и философствуют, оставим психологам (у нас есть технические критерии по которым можем оценить результат - и с си он только визуально схож).
>нет арифметики указателей
Для этого придумали понятие ссылок, которые ввели еще с С++ в 83 году (если не напутал ниче). В остальном указатели с которые нужно указывать в коде и служат только как ссылки (нет арифметических операций и нет прямой работы с памятью) - выглядит странно.
Другая проблема в том, что практика показала, что использование передач по ссылки используется чаще чем по копированию аргументов (для структур и их аналогов - классов).
Авторы как-будто выпали из мировой практики еще в начале восьмидесятых.
>Зато есть дроч на скорость компиляции и работы языка
Было, до того как язык с си перевели на го.
Евангелисты говорят что разница всего в 1,5 раза, я помню что по ощущениям го был как скриптовый язык (это было круто и это точно не 1,5 раза). Но это субъективно и ничего такого сейчас особо нет.
>нахуярить быстрый ГЦ
Даже евангелисты не отрицают что ГЦ медленней чем в джаве и где-то анон уже писал что с отсутствием поколений ГЦ превратиться в ту еще боль (будет каждый раз пробегаться по одному и тому же).
Хотя они там поменяли алгоритм, уменьшили паузы ГЦ за счет процессорных ресурсов (это отдельный лол, который можно обсуждать долго)
Другая проблема нет выбора стратегии ГЦ, он там один и переплачивать за реалтайм ГЦ процем, да еще с каждой новой версией - не то что я бы хотел для своих REST апи серваков.
>Отсюда и исходит много проблем: пацаны писавшие на сахаре говорят "Запили мне %фича_нейм% как в %язык_нейм%", а разрабы отвечают, что "НИНУЖНА".
Отсутствие сахара приводит к бойлерплейтам, ничего тут для гордости нет.
Если у джавы есть мощные IDE без которых она тыква, то у го за 5-8 лет ничего такого удобного нет.
Падает как производительность написания кода и самое важное с бойлерплейтом - падает сопровождаемость кода.
>Это отдельный разговор, который решится с появлением дженериков, скорее всего
Не только, сейчас уже все те ошибки не вспомню, но там не только по этому.
Даже тот пример с проверкой на nil - важно программу завалить раньше самому (лучше на момент инициализации), чем она завалиться с искажением данных где-то в глубине (контролируемая ошибка лучше непредвиденного поведения).
>...решится с появлением дженериков, скорее всего
Язык не развивается. И не хотят. Причем еще внушают гоферам что все нормально, чтобы и они не хотели.
Другая проблема что язык просто пиздец по дизайну и логично что его должны допилить, что еще больше останавливает меня его юзать сейчас
>Это как бы и да и нет. По задачам и философии они типа пытаются сделать Сишечку ванильную, но безопасную.
Мы треде программирования и касаемся технической стороны, что там они думают и философствуют, оставим психологам (у нас есть технические критерии по которым можем оценить результат - и с си он только визуально схож).
>нет арифметики указателей
Для этого придумали понятие ссылок, которые ввели еще с С++ в 83 году (если не напутал ниче). В остальном указатели с которые нужно указывать в коде и служат только как ссылки (нет арифметических операций и нет прямой работы с памятью) - выглядит странно.
Другая проблема в том, что практика показала, что использование передач по ссылки используется чаще чем по копированию аргументов (для структур и их аналогов - классов).
Авторы как-будто выпали из мировой практики еще в начале восьмидесятых.
>Зато есть дроч на скорость компиляции и работы языка
Было, до того как язык с си перевели на го.
Евангелисты говорят что разница всего в 1,5 раза, я помню что по ощущениям го был как скриптовый язык (это было круто и это точно не 1,5 раза). Но это субъективно и ничего такого сейчас особо нет.
>нахуярить быстрый ГЦ
Даже евангелисты не отрицают что ГЦ медленней чем в джаве и где-то анон уже писал что с отсутствием поколений ГЦ превратиться в ту еще боль (будет каждый раз пробегаться по одному и тому же).
Хотя они там поменяли алгоритм, уменьшили паузы ГЦ за счет процессорных ресурсов (это отдельный лол, который можно обсуждать долго)
Другая проблема нет выбора стратегии ГЦ, он там один и переплачивать за реалтайм ГЦ процем, да еще с каждой новой версией - не то что я бы хотел для своих REST апи серваков.
>Отсюда и исходит много проблем: пацаны писавшие на сахаре говорят "Запили мне %фича_нейм% как в %язык_нейм%", а разрабы отвечают, что "НИНУЖНА".
Отсутствие сахара приводит к бойлерплейтам, ничего тут для гордости нет.
Если у джавы есть мощные IDE без которых она тыква, то у го за 5-8 лет ничего такого удобного нет.
Падает как производительность написания кода и самое важное с бойлерплейтом - падает сопровождаемость кода.
>Это отдельный разговор, который решится с появлением дженериков, скорее всего
Не только, сейчас уже все те ошибки не вспомню, но там не только по этому.
Даже тот пример с проверкой на nil - важно программу завалить раньше самому (лучше на момент инициализации), чем она завалиться с искажением данных где-то в глубине (контролируемая ошибка лучше непредвиденного поведения).
>...решится с появлением дженериков, скорее всего
Язык не развивается. И не хотят. Причем еще внушают гоферам что все нормально, чтобы и они не хотели.
Другая проблема что язык просто пиздец по дизайну и логично что его должны допилить, что еще больше останавливает меня его юзать сейчас
> Нетфликсу
Это ты про тех пацанов, которые пишут свои сервисы на ноде.жс и только монстров инфраструктурных на джаве и голанге? Хорошо, обязательно передам.
> ЖВМ прогрелась.
Поебись с блю-грин деплоем для джавы сначала, пожалуйста, прежде чем говорить свои глубокие теоретические измышления на тему прогревания ЖВМа.
Докапываться к тому что в байткоде все просто и линейно. Это так же тупо как докапываться к ассемблеру или машинным командам - в которых нет ни ооп, ни сахара.
Понимаешь в чем смысл - наделить компилятор тем чтобы он следил за корректностью кода и синтаксиса, а байт-код должен быть прост как палка с минимум команд, с минимум абстракций, которые бы тормозили джаву и добавляли сложности для создания jvm и уж молчу про оптимизации.
Ты просто глупый школьник, не понимающий ничего и решивший хейтить джаву по взрослому.
Если нужна диверсия в коде, отсутствие инкапсуляции в байткоде - меньшее чем можно было бы это достичь.
Молчи, ты просто принижаешь гоферов. Если ты фанбой языка - то твое молчание сделает языку только лучше
По поводу бойлерплейта вкусовщина и не буду говорить, там много можно говорить и сравнивать. Хотя для меня есть парочку моментов на которые трудно закрывать глаза, узнавание типов ошибок.
> не отрицают что ГЦ медленней чем в джаве
Такого не слышал. Даже протюненный ЖВМ с быстрыми ГЦ даёт около 2-3 мс и про тюн там тоже отдельная стори.
> что с отсутствием поколений ГЦ
Знаю и согласен
> рактика показала, что использование передач по ссылки
Для такого языка как Го, каким он себя позиционирует, выглядит очень странно, ибо перфоманс. Хотя я тут и не вижу трагедии большой, но есть бойлерплейт. Хотя я не люблю анальный call by reference без возможности легко поведение это изменить.
> мощные IDE без которых она тыква, то у го за 5-8 лет
Взлетают проекты, в т.ч. от Жидбрейнса ИДЕ
> Язык не развивается. И не хотят.
А вот как раз я наоборот пересел на него после некоторых новостей с одной конфочки про изменения. Когда в первый раз я его увидел, то охуевал с пиздецов: нет динамик линкинга, весь рантайм в одном бинари, где в конце концов дженерики? Но вот они потихоньку начинают допиливать фичи, добавляют плагины(динамическая подгрузка), обещают дженерики. В принципе у меня просто нет выбора и тут перекатываются многие крупные конторки на него написав очень годный и быстрый софт. Поэтому, тут уже выбора нет, хороший Го или нет, но вспомнив опыт пыхи, то можно ждать, что он будет с нами надолго.
>Поебись с блю-грин деплоем
О, хоть что - то толковое приобрел с этого балагана полутора анонимов. Побежал читать, спасибо анон.
>и вот, чтобы она завелась, ЖВМ прогрелась и пр. уходит норамльно времени. А если у тебя их дохуя и они плавают(привет оркестровка) по нодам, то просто пизда.
Я аж в голос заржал. Вот читаешь человека всерьез, а он потом как выдаст.
Если уж тебя до нодов серверных допустили, ты хотя бы про ключи и режимы работы JVM прочитай.
Но это все фигня, анон, я каждое утро встаю на 30 минут раньше, чтобы прогреть джаву, иначе блять мой микросервис ваше не стартует (так же делаю со всеми приложениями в телефоне, это беда анон)
> Если нужна диверсия в коде, отсутствие инкапсуляции в байткоде - меньшее чем можно было бы это достичь.
> Припизднутые дженерики, меньшее чем можно было бы это достичь.
> Уёбищное ФП меньшее чем можно было бы это достичь.
> Чекед/Анчекед говно это меньшее, меньшее чем можно было бы это достичь.
> Кривые палки и костыли вроде боксинга и анбоксинга меньшее чем можно было бы это достичь.
И так весь язык. Фанбои Голанга и Джавы похожи
> Если уж тебя до нодов серверных допустили, ты хотя бы про ключи и режимы работы JVM прочитай.
У тебя с тюном ключей ЖВМа то как, хорошо стартует, с пинка? Это сейчас без всякой попытки похоливарить, просто реально интересно.
> Но это все фигня, анон, я каждое утро встаю на 30 минут раньше, чтобы прогреть джаву, иначе блять мой микросервис ваше не стартует
Так никто и не говорит, про то, что он у тебя не стартанёт, но по перфомансу начальному будет не так как тебе хотелось. А ещё некоторые приложули инициализируются довольно медленно(хотя тут можно пенять на разработчиков кривых).
Вот кстати чистой воды кудахт, предлагаю игнорить таких животных (со обоих сторон).
Выезжаем всем оркестром чтобы прогревать ваши ноды. Недорого.
>диверсия в коде
не нужна
>отсутствие инкапсуляции в байткоде
насмешил содомит
> Припизднутые дженерики
припизднуты пионеры, которым не место в серьезном бизнесе, которые и наследование интерфейса не усвоили, а узнав в ProgLang.01 о параметрическом начинают кукарекать про нос ивана никифоровича
> Уёбищное ФП
плез
опоздал
>>951694
>но по перфомансу начальному будет не так как тебе хотелось.
Вот серьезно, откуда такие утверждения берешь.
Алё, у всех ИТТ задачи IO bound.
> Вот серьезно, откуда такие утверждения берешь.
JIT, старт ЖВМ, как минимум, не?
> IO bound
Ну это отдельный разговор на самом деле, от которого избавиться ничем, кроме разве кэшей в общем случае не получится.
Ты видимо тот анон, который говорил про ключи ЖВМ. Так вот, чо там с ключами? Интересно действительно. Если есть какие-то хитрые и нетривиальные вещи по ускорению старта, то было бы прикольно услышать. Хоть что-то из этого треда полезное утащить можно.
>У тебя с тюном ключей ЖВМа то как, хорошо стартует, с пинка? Это сейчас без всякой попытки похоливарить, просто реально интересно.
Я тебя уже всерьез не воспринимаю, но отвечу - никаких проблем нет и там не тюнинг, просто ты не в курсе базовых вещей JVM.
Проблема тут в другом, ты одновременно указываешь про некий опыт работы и текущие проблемы на таком уровне хайлода и ноды, но тут тут же несешь бред джуна (даже не джуна)
В общем, юношеский максимализм детектед.
> несешь бред джуна
Конкретнее?
> В общем, юношеский максимализм детектед.
Не, я могу признать свои ошибки и обосрамсы, на самом деле, если мне на них конкретно укажут и готов к конструктиву.
> никаких проблем нет и там не тюнинг
Так что же это?
>Если есть какие-то хитрые и нетривиальные вещи по ускорению старта, то было бы прикольно услышать. Хоть что-то из этого треда полезное утащить можно.
Ага, чтобы ты хитрюга утащил все секреты в свою крупную компанию с кучей нодов и увеличил им прибыль? Нет уж, синьерам и тимлидам, а уж тем более инженерам всяких гуглов - не помогаем!
блядь, что я делаю со своей жизнью, зачем я тут...
Синьёрам помидорам не помогаете, да?
И с логикой у гоферов тоже не очень, логичнее будет "убиваешь себя", но... вы же годебилы (с)
Пиздец, сколько тут животных. Одни говорят хуйню и хейтят, вторые маняврируют и делают то же самое. И ведь никто не пытается вести диалог.
Вангую желание одной из пидорах написать это годебилы/жавадебилы просто тупые. Нет, хуйло, это просто ты мудак
Двач не твой личный твиттер, где бы ты плакал на публику и привлекал к себе внимание.
В бабруйск животное.
Ты в их чат зайти (закрытый, лол), офигеешь.
Хотя когда баномётом всех несогласных поразгоняли, там осталась атмосфера лобызания друг друга.
>Короче го в гугле за 5 лет (или сколько там ему) не взлетел
лолрнул
А вообще годная статья про ГЦ и ГО
https://habrahabr.ru/company/mailru/blog/318504/
>Если паузы на сервере снизятся с 10 до 1 мс, заметят ли это пользователи? А если для такого снижения вам потребуется увеличить аппаратные ресурсы вдвое?
Про что и говорил.
Лол, типичный гофер.
>Go оптимизирует длительность пауз за счёт пропускной способности, причём настолько, что кажется, будто он хочет на порядок замедлить работу вашей программы, лишь бы сделать паузы чуточку меньше.
А вот кстати это может объясняет почему у нас прототип жрал больше памяти чем джава
>Избыточность кучи: учитывая медленность сборки мусора в куче с помощью пометки и очистки, вам нужно много места в запасе, чтобы не столкнуться со сбоем режима совместного выполнения. По умолчанию в Go предусмотрена стопроцентная избыточность… то есть он удваивает объём памяти, необходимой вашей программе.
Гений конечно не в дизайне языка, а в подходах простоты.
Для примера простой мапинг для JOIN (для обычных еще проще)
https://snippets.aktagon.com/snippets/757-how-to-join-two-tables-with-jmoiron-sqlx
Этот sqlx прост как палка, по сути расширение нативного sql, но бля он просто решает вагон проблем ORM - он просто и исключает ORM :)
В какой-нибудь джаве ты будешь месяц дрочить хибернейты всякие, изучать, подключать, ебаться если что-то не так. И эта залупа будет тормозить как мешок цемента.
Я уважаю джаву, но умение городить тонны абстракций на пустом месте, городить какие-то сложности избыточные - ее и погубит.
Говноеды не слышали про jooq?
> В какой-нибудь джаве ты будешь месяц дрочить хибернейты всякие,
>>954083
[code]
case class Employer(id: Int, personId: Int, name: String)
val qFlat = quote {
for {
(p,e) <- query[Person].join(query[Employer]).on(_.id == _.personId)
c <- query[Contact].leftJoin(_.personId == p.id)
} yield(p, e, c)
}
ctx.run(qFlat)
// SELECT p.id, p.name, p.age, e.id, e.personId, e.name, c.id, c.phone•
// FROM Person p INNER JOIN Employer e ON p.id = e.personId LEFT JOIN Contact c ON c.personId = p.id
[/code]
> Этот пример многое объясняет.
> интуитивно понятные конструкции непостижимы, то ли дело смесь ГОвна с голым скл.
Да уж, многое, впрочем с мартыханами у которых бойлерплейт на бойлерплейте и err != nil погоняет - простота, и так всё ясно.
я тоже кстати не понимаю, последнею мою задумку компилятор обругал за циклический импорт.
Пришлось делать хак.
https://github.com/search?utf8=✓&q=language:Go+stars:>1000&type=Repositories&ref=advsearch&l=Go&l=
Ты мне в джаве маппер покажи годный (а не эту полуплатную залупу. Лол, платный SQL-билдер).
Мне билдер нахер не нужен, мало того что они хуже читаемы чем SQL строка с подсветкой, так еще вечно обосруться в сложных WHERE
Это тоже умеем, нужен пример веба.
Например как получить в контроллере сервис
типа DB или тучу других - не передавая как аргумент конечно.
У меня вот есть 25 сервисов из низ ~20 это сервисы бизнес логики.
я бы хотел дергать как в пыхе (фасад-сервис-локатор)
app.MyService.Something()
Такое конечно не канает, так как если обратиться в сервисе к app.* - тебя нагнут с циклическим импортом.
Пробовала через DI - бойлерплейт как джаве получается (даже хуже, ибо джава рассчитана на такое).
>>954382
Найди нормальный маппер на джаве, который может мапить SQL как есть (в запросе). Не ORM, мне нахер такие монстры как спринг и хибернейт в моем маленьком микросервисе не нужны, с тучей магии (о которой узнаешь только в лучшие моменты сопровождения кода).
Ну хуй знает, jOOQ?
У скалабогов запросы делаются из обычного кода в компилтайме, джява так не может http://getquill.io
где гоферы, кто ответит?
>я бы хотел дергать как в пыхе (фасад-сервис-локатор)
дать бы тебе в ебло за использование этого антипаттерна
Лол, какая разница между
-вызова app.DB в контроллере
и
- передаче со всякими депенденси-инжешкен типа item.setDB(DB db);
В первом случае я напрямую юзаю и имею единую точку входа (могу махом подменить базу данных на мок-объект если это интерфейс). А в другом я делают тоже самое но при это руками каждый раз инжекчу сервис (везде, каждый раз, всегда).
DI для монолитного мелкого проекта нахер не нужен, больше телодвижений
блин, походу вы всех гоферов разогнали...
Всё с тобой говноедом ясно. Как же без глобальный переменных и гото программировать, неудобно, столько телодвижений беда беда.
Пуганное ты животное, знаешь в чем вообще хайп вокруг глобальных переменных? Что у них можно менять состояния и все, вся их беда, что изменив значение ты в самом отрицательном случае меняешь поведение всех зависимостей от него.
Если ты передаешь (инжектишь) сервис по ссылке или указателю по концепции DI - ты однохуйствено имеешь ту же глобальную переменную, только она завуалированна сложностью кода.
Но ты же баранище это никогда не понимал, ведь правда? И не понимали это жаба-ООП дауны, поэтому обосравшись снова, они стали требовать чтобы сервисы не имели изменямых состояний или вообще не имели состояний.
Так что - когда ты инжектишь что-то что инжектится еще куда-то - знай, это однохуйствено что ты бы статически дергал этот же сервис (ссылку-переменную) извне.
Просвещайся животное.
Дебилушка, а дёгая свой говносервис ты не изменишь его состояние? В DI смысл в том, что каждый кусок программы работает только с тем, с чем должен работать, даже не зная с чем конкретно работает. То есть имеем ограниченную мутабельность хотя бы на таком уровне. В случае с сервис-локатором, или таким же говноедским антипатерном синглтоном - в любом методе в любом месте кода может быть получен любой конкретный инстанс и засран. При этом ты не можешь увидеть использование сервиса глядя на пуличный протокол класса, потому что сервисы могут вызываться где попало и через сигнатуры методов никак не проглядываются.
Ну то что тебе, типичном похапе-газонюху это всё не понятно, в этом ниче удивительного нет.
Ой, бля, это же гау-довны. Попробуй обьяснить то же самое сишнику — он тебе ответит "а ты не меняй и не засирай!" (мне такую хуйню один индивид как-то ирл сказал в похожем споре).
Чтобы понять что юзается в коде - для дебилов сделали импорты в самом вверху. То есть посмотрев импорты ты всегда вкурсе внешних зависимостей.
В пхп, в моей конторке пошли дальше и в импортах засовывали даже с текущего каталога (типа текущего пакета). Это мега удобно, поднатоскали даже расширение для редактора (чтобы автоматически было)
Именно по пакетам, дебил ты глупый, люди и смотрят что юзается, а не по DI - в сеттерах которого будут не полный имена или алиасы.
Пример пишу о пхп, так как о самом гибком варианте, код писал я на многом.
Но ты не уловил месседжа, фишка DI - нехуя не привносит модульности, вообще если честно его продвинули только из-за юнит тестирования, так как с технической части мы по сути вынесли конструктор за модуль-класс
Но опять же (внимательно смотри)
что вызов
app.DB
что
this.DB
Имеет все те же проблемы - и если проблемы те же, зачем платить больше (для второго варианта тебе либо руками инжектить или spring-лол тащить)??
Заметь что в ипортах app.DB будет в любом языке.
PS DI конечно дает плюхи, но выходит за рамки мини-сайта мини-приложения
>все ограничивается модулями кококо
>язык, блядь, поддерживает импорт либо модуля целиком, либо его отсутствие
Лул гаудауна порвало.
GOvno neset v sebe conception "import all or nihuya".
Pokezh kak ti import one function/global variable, ili idi suck duck.
Я могу и без импорта дёрнуть сервис и какой нибудь дебс обязательное так сделает.
>В пхп, в моей конторке пошли дальше и в импортах засовывали даже с текущего каталога (типа текущего пакета). Это мега удобно,
Я понял. Ты безнадёжный говноед и дальнейшая беседа с тобой лишена смысла, ничего уже не исправить.
https://habrahabr.ru/post/269299/
Только это нехуя необычный контекст который ты ожидаешь, он блять может быть вложенный, отменный, с таймаутом.
И это чудо надо таскать и передавать повсюду где он тебе нужен.
И туда рекомендуют ложить не запросо-зависимые данные (динамику) - как в нормальном мире, а все что можно, в том числе и сервисы (которые постоянны - то есть на сленге статика, с точки зрения времени исполнения).
Так что в моем случае, мой подход еще ультра-современный, чем дефолтный подход с мапой-помойкой.
Я так помню был организован код одного форумного известного движка, там все данные лежали в одном массиве-помойке, но в отличие от го - там данные были структурировано вложены, были только данные и эту "массив-помойку" не надо везде передавать (дергали из вне).
Нет, этому языку надо еще взрослеть, вместе с разработчиками
>Я могу и без импорта дёрнуть сервис
>какой нибудь дебс обязательное так сделает.
Сам себя не похвалишь
https://github.com/bitexploder/gowebexample/blob/master/context/context.go#L18
Джава тут отдыхает просто
Если выбесит уйду в питоны
Есть опыт, просто выбился из ИТ на время (я тут топик подымал, пока моча не потерла, хотя все равно школоло срачем засрала).
Почему не скриптовые языки - динам типы и нет нормальной многопоточности (в пхп как минимум).
Почему не пхп - в языке режут обратную совместимость с молниеносной скоростью, а в либах и фреймворках это происходит с утроенной скоростью.
Лишь потому что там молодым хипстерам скучно - будет страдать "бизнес".
Другая проблема - фреймворки имеют 100500 подходов, каждый со своей фантазией (тут плюс в сторону джанги).
Так же в пхп упоролись по ООП, писать на скриптовых языках - джаву - наркомания.
Джава - это хорошая идея, но ужасная практика. Во всем она интырпрайзна - преизбыточна. Одни только простейшие либы - весят больше чем весь мой маленький проект. Чтобы вкатиться нужно уйму времени, хотя в реальности не одна из областей столько времени не требует.
Другое что меня разочаровало - спринг, он же boot(mvc)... Это настолько оверхедная шляпа, что тормозит почти как джанга (ну чуть быстрее ее).
Страдать на низкоуровневой джаве и получить в итоге чуть быстрее чем скриптовый фреймворк - это ужасно. Это подорвало всю веру в практичность либ на джаве.
Возможно где-то есть практичный подход, но я понял, что если я хочу того что есть в го - мне придется писать руками все (кроме шаблонизатора и сервера (да и сервер я так и не выбрал норм)).
Сервлеты же и javaEE это еще страшнее дно.
В общем в джаве то что имеется достигается куда проще в других языках. Джава просто эталон стремления к оверхедности.
Го - ужасный по дизайну язык и обгрызок, но дает производительность + практичность.
Если уж выбесит возьму питон и забуду о производительности.
если делать упор на производительность и статическую типизацию, то кроме джавы и го толком ничего и нет:
скалу - надо любить дрочить на всю эту ненужную херню.
котлин - язык для одной IDE
дотнет - по-моему закат вместе с виндой, да и мы за никсы
свифт - где то там, хотя фанбои кричат что норм
с/c++ - я на реабилитации, наркотики зло.
раст - как можно было создать язык сложнее чем С++ и главное зачем.
>скалу - надо любить дрочить на всю эту ненужную херню.
Тебе никто не мешает писать на ней как на джавке с сахаром, если ты делаешь что-то для себя.
Надо брать скриптовый языки и пилить приколадную часть, в реальных приложениях редко встречаются, прям такие, ботлнеки, которые нельзя решить путем наращивания в ширину. Если попадается, то не проблема упаковать всю дробилку в подключаемый модуль. Там писанины обычно 500 строк от силы на том же си. Мне твои заморочки не понятны.
вот пишут, скала в каких-то там кейсах на порядок быстрее чем пуйтон:
https://www.dezyre.com/article/scala-vs-python-for-apache-spark/213
этого достаточно чтобы считать язык производительным?
“Scala is faster and moderately easy to use, while Python is slower but very easy to use.”
Это всего лишь спарк платформа и уже попахивает говновыдавливанием.
В реальности, для дата саенс ребят вопрос производительности - это самый последний вопрос. Они наговнокодят тебе пиоси на том языке, где им проще будет работать с их алгоритмами, а что там потом, им насрать.
>Джава - это хорошая идея, но ужасная практика.
От применяющего зависит. В целом, да, есть множество макак с культом подобного дерьма. Но есть и шанс попасть на молодых и шутливых.
а может ты и прав, я так мимомакак и исхожу из интуитивного о том, что интерпретатор влияет на производительность существеннее нежели динамическая типизация, хз.
Посмотрите чейнджлог раста, там до сих пор идет тюнинг иснтаксиса. А вы запилили какой-то огрызок паскаля и че, типа все? Почему не сделать синтаксический сахар, лямбды шлямбды и прочее, это ведь реально запилить без оверхеда, я просто хуею с таких поворотов:
>d.Find(".postnum").Each(func(i int, e *goquery.Selection) {...}
Почему нельзя хотя бы
>d.Find(".postnum").Each((i,e) => {...})
Я конечно не дизайнер языков, но по-моему такие вещи можно сделать без оверхеда в рантайме.
И заебало это вот
>if err != nil {
> //тут обработка
>}
Опять же, я не дизайнер языков, но с этим надо что-то делать. Мне нравится, что большинство ошибок не вызывают падения всего мира (в Джаве, например, кажется, в URLConnection, редирект 302 вызывает исключение), но невозможно же писать одно и то же раз за разом, придумали бы хотя бы сахар какой-нибудь типа on error в бейсике, чтобы можно было хотя бы в одну строку это писать, иначе код пиздец зашумлен.
Короче в Go дофига всего хорошего, те же горутины и вся модель concurrency и много чего еще, но сам язык просто кумарной
>>в Джаве, например, кажется, в URLConnection, редирект 302 вызывает исключение
это откуда? из стандарта? или опыт юзанья первой либы в списке по запросу в гугл?
>Опять же, я не дизайнер языков, но с этим надо что-то делать.
На опеннете пробегали новости, что уже зделоли транслятор с пайтона в голанг.
А в пайтон добавили типы данных.
> А в пайтон добавили типы данных.
Ну-ка пруф? Или ты про тайп хинтинг? Это не настоящие типы, а штука для удобства работы в ИДЕ и как комментарий.
> d.Find(".postnum").Each((i,e) => {...})
А как он тебе типы выведет, лол? От Хиндли-Милнера они отказались. А вот выигрыш в конструкциях
> (i,e) =>
> func(i int, e *goquery.Selection)
Мне не особо понятен, если типы всё равно писать надо. Да, модно и молодёжно, прямо как Скала, JS, но хз. Всё равно та же лямбда.
Распространено заблуждение, которую копипастой распространяют не думая.
Понимаешь, скриптовый язык тормозить весь, даже циклы, работа с объектами, структурами данных и оверхед на динамическую типизацию.
Для маленького скрипта - незаметно, для большого проекта становится это все ощутимо. Именно поэтому даже после jit/компиляции кода - скриптовый язык все равно отстает от языков со статик-типами.
Что касается масштабирования - оно понятно, но когда затраты на дедик - прямо пропорциональны доходу с проекта - нет желания писать все на руби. Тем более, что написание кода займет в сумме месяца 1-3, а проект годы будет крутится.
Это мега-корпорации выгоднее железку нарастить, а таким инди-кодерам разница железки в 100$ или в 400$ - ощутимо (оверхед мимо твоего кармана).
>это откуда? из стандарта? или опыт юзанья первой либы в списке по запросу в гугл?
Это давний опыт юзания стандартной библиотеки джавы.
>>955071
Ну другие языки же как-то выводят.
Любой веб-проект упрётся скорее в базу, или в эзернет, чем в скорость интерпретации кода (если он конечно не ногами написан). Так что оставь свои мантры.
То что вокруг него много бестолковых фанбоев (местами реально больных на голову и это не шутка) - есть такое.
То что языку не хватает сахара - очень даже.
Но то что нужны лямбды и прочая херня "из моего любимого языка" - это в пизду.
Пускай накатывают поверх какой язык -GoScala, практика показывает - дай долбаебом излишек сахара и нахерачат полностью не сопровождаемый код
Каким он местом упрется? В любом случае многое уйдет в кэш, но не выбиться из бюджета
Разница тут в том, что я этот реально крутил-вертел, а ты начитался бложиков или насмотрелся докладов и рассказываешь стереотипами и о том как нужно масштабировать.
У нас сегодня каждый школьник умеет масштабировать хайлоад.
Ну в кэш и упрётся, или в езернет.
>вот я лев толстой, а ты хуй простой
Маня, ты постишь на АИБ, и всякие голословные апелляции к своему якобы опыту, как и к якобы его отсутсвию у собеседника ты можешь засунуть своей мамке-шлюше между ног. Но твои кукареки про важность скорости интерпретации кода в вебе просто выдают в тебе диванного уебана с говёный пехепе-хуйлодом за спиной, где всё было сделано через срачельник потому и тормозило.
И тем более про важность скорости выполнения кода на одной машине.
У нас тут старшеклассник-масштабатор порвался.
Главное, то блять в базу упрется, то теперь в кэш и эзернет (лол).
Ты уж определись.
Эти шаблоные маня-фразы из докладов и блогов видно за километр. Таких экспертов с одной средней школы можно вагон набрать.
Тут у нас уже был джун который каждое утро разогревает джаву на нодах.
Хуй знает. Проблема рублей не в низкой производительности на 1 машине, а в отсутствии возможности линейно отмасштабироваться по всем узлам по всем ядрам в системе.
С чем определятся дебилушка? С тем что вебе дохуя чего выполняется медленнее чем собственно чистый код? Ну так это и так понятно: кеш, база, запросы в сторонние сервисы, вебсервер, прокся, сеть - это все то, что действительно долго работает, а клей между ними в виде бизнес-логики это последнее что может тормозить.
Первое во что ты упрешься, (не в масштабах хайлоада, который ты никогда и не увидишь в своей жизни) это будет процессорное время и память.
И вот классический вопрос, у тебя есть дедик который на питоне в пике держит 10К хостов в день, а есть (на джаве) который держит 40К за те же деньги.
И что ты выберешь, домашний ты хайлоад-масштабатор?
Это приблизительно реальное соотношения для одного проекта. И ты идешь нахуй со своими маня-знания из видео докладов, потому что в обычном мире, при нормальном коде (включая БД), при нормальном пинге - сосет именно процессор.
> Первое во что ты упрешься это будет процессорное
От того что ты будешь повторять этот вскукарек, игнорируя всё что тебе пишут в ответ - истинным он не станет.
>И вот классический вопрос, у тебя есть дедик который на питоне в пике держит 10К хостов в день, а есть (на джаве) который держит 40К за те же деньги.
Сам подсунул ложные тезисы как будто они правдивы и предлагает мне делать из них выбор, пиздец ты слабенький зелёный, нужно больше тренировок, ещё хотя бы два года занятий в растотреде.
И под конец поста, видать для закрепления, ты выдал ещё один кукареку-самоповтор, пиздец какой же ты смешной.
>ещё хотя бы два года занятий в растотреде
Сначала не понял что это за слово такое, типа скрытая реклама раста на двачах?
>>955176
>>955184
>>955189
Два дебила - это сила.
Все же вебдауны - это как черви-пидоры, только хуже.
три дебила это сила
>Но то что нужны лямбды и прочая херня "из моего любимого языка" - это в пизду.
Лямбды - это не хуйня из моего любимого языка, а фактически стандарт современных языков.
Или дженерики.
Меня убило недавно, когда я в подкасте про го услышал мнение, что мол когда люди пересаживаются на го, они перестают ныть про дженерики через неделю. Ну охуеть, люди просто понимают, что их нет, конечно можно писать без них, в конце концов, они не всегда были, это вопрос удобства и рациональности.
Даже такой реторд-язык как джава поддерживает лямбды.
Короче, с лямбдами и дженериками дизайн языка будет значительно лучше, это две вещи, которые можно сделать без оверхеда в рантайме.
Да и вообще, в го же есть типизированные каналы и карты, так что нехуй кукарекать, что это невозможно. А пытаться эмулировать коллекции на слайсах - это уебанство.
Там перепахать надо все. Дизайн языка ужасен. Я надеюсь появиться поверх что-то.
Если заявленный транслятор с питона в го будет давать реально профит - это будет революционый-вин столетия.
>транслятор с питона в го
Ты говноед и дегенерат, да?
Ебашь в няшную хотя бы - если уж так свербит.
>Почему после распараллеливания выполнение вашей программы может замедлиться вдвое?
>Почему после создания потока перестает работать Ctrl-C?
>Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL»
>все из-за GIL. из-за этого многопоточность херовая и в реальности в момент времени работает лишь один поток
Лол, я передумал насчет питона.
Этот кусок дерьма так возносят.
отвалилось
> Ну другие языки же как-то выводят.
Это какие? Скала? Так там есть автоматический вывод типов, ток не Хиндли-Милнер, а другая штукенция, которая не умеет в вывод рекурсивного типа. В джавке тоже есть вывод. Повторюсь
> От Хиндли-Милнера они отказались
Так что вряд ли они запилят что-то ещё.
> Тут у нас уже был джун который каждое утро разогревает джаву на нодах.
Эээ, ёпта. Я имел ввиду разогрев(читай запуск) на старте, когда происходит деплой. Отсюда и траблы в виде того, что приходится ждать жид и прочее. Да, деплой в контейнере, это я так добавлю, чтобы мне потом не говорили всякой поеботы. Но всем, как обычно похуй.
P.S. до сихор жду ключей -XX:+STARTUI_BISTRA_I_OHUENNA
Мимо джун разогревающий жвм. Люблю этот тред
200x год - Проект признает сложным и нерентабельным, но наработки и полученный опыт уходят в реализацию нового упрощенного языка, так называемого язык-платформа.
200х год - Покупка Ораклом джавы.
201х год - Релиз языка го.
201х год - Судебные тяжбы Оракла и Гугла, все понимают, что надо торопиться и что го - это замена джавы в мобильный устройствах.
201х год - Проект Го признается успешный внутри компании, открывается поток финансирования, эра маркетинга. Начала разработка транспайлера питона в го.
201х год - Анонс предварительной версии транспайлера, продолжается работа уже по оптимизированной версии транспайлера (анонс служит для привлечения внимания).
201х год - Анонс полной поддержки языка Го в андройде. Демонстрация готовых либ.
В том числе игрового движка, становится ясна причина требований минимальных пауз GC - для разработки мобильных игр.
Одновременно появляются видео и материалы, го безболезненно "входит" в мир андройда.
201х год - Го-Питон (транспайлер) становится вторым языком фронтенда после js, после внедрения wasm.
201x год - Искусственно создается срач межу го-питоном и чистым го, что только разогревает конкуренцию и пиар обоих продуктов. Ключевой особенностью будет играть маскот го (суслик), которого будет есть питон.
В действительности эта пиар акция подымет оба продукта в топ. Ключевая особенность - питон гибкий и засахаренный - го более быстрый и простой.
202x год - JS впервые в истории становится вторым языком фронтенда.
202x год - Оракл теряет интерес к джаве, снова наступают темные времена для этого языка, релизы задерживаются. Джаву начинают называть КОБОЛом.
На самом деле Го так и не попадает по крупному в энтерпрайз, но на джаве новых продуктов подымают все меньше.
202x - года появления других транспайлеров из других языков, го признается успешным языком-платформой, прорывам конца десятилетия этого века, так называемый язык-языков.
200x год - Проект признает сложным и нерентабельным, но наработки и полученный опыт уходят в реализацию нового упрощенного языка, так называемого язык-платформа.
200х год - Покупка Ораклом джавы.
201х год - Релиз языка го.
201х год - Судебные тяжбы Оракла и Гугла, все понимают, что надо торопиться и что го - это замена джавы в мобильный устройствах.
201х год - Проект Го признается успешный внутри компании, открывается поток финансирования, эра маркетинга. Начала разработка транспайлера питона в го.
201х год - Анонс предварительной версии транспайлера, продолжается работа уже по оптимизированной версии транспайлера (анонс служит для привлечения внимания).
201х год - Анонс полной поддержки языка Го в андройде. Демонстрация готовых либ.
В том числе игрового движка, становится ясна причина требований минимальных пауз GC - для разработки мобильных игр.
Одновременно появляются видео и материалы, го безболезненно "входит" в мир андройда.
201х год - Го-Питон (транспайлер) становится вторым языком фронтенда после js, после внедрения wasm.
201x год - Искусственно создается срач межу го-питоном и чистым го, что только разогревает конкуренцию и пиар обоих продуктов. Ключевой особенностью будет играть маскот го (суслик), которого будет есть питон.
В действительности эта пиар акция подымет оба продукта в топ. Ключевая особенность - питон гибкий и засахаренный - го более быстрый и простой.
202x год - JS впервые в истории становится вторым языком фронтенда.
202x год - Оракл теряет интерес к джаве, снова наступают темные времена для этого языка, релизы задерживаются. Джаву начинают называть КОБОЛом.
На самом деле Го так и не попадает по крупному в энтерпрайз, но на джаве новых продуктов подымают все меньше.
202x - года появления других транспайлеров из других языков, го признается успешным языком-платформой, прорывам конца десятилетия этого века, так называемый язык-языков.
>Джаву начинают называть КОБОЛом.
Её и сейчас называют так.
Без обид, но я надеюсь, что из тебя хуёвый футуролог.
>Мне не особо понятен, если типы всё равно писать надо. Да, модно и молодёжно, прямо как Скала, JS, но хз. Всё равно та же лямбда.
В том, что можно написать что-то в стиле huita.map(e => e.query(_)) вместо твоей залупы на пол экрана. Как думаешь, в чём же всё таки выигрыш?
> Оракл теряет интерес к джаве, снова наступают темные времена для этого языка, релизы задерживаются.
Уже.
Чем это отличается от твоих ебанических портянок из форов и указания типа?
Если человек осилил справку по синтаксису и знает, что делает map и подчёркивание в лямбде — нет проблем.
>Транслятор с говна на говно
Да короче разницы особой нет, го даже лучше питона во многих отношениях. Там пиздецкий дизайн языка.
Чем? Рил интересно
роль джавы было поиметь бабла с гугла, во всем остальном она профита владельцу не приносит.
мы видим агрессивный маркетинг и что го пытаются натянуть в массы
в тоже время го безумно прост технически, отшили даже перегрузку функций
для мобильных приложений подходит именно скриптовой тип языков - как го, чем джава, да и вообще я не распишу, но многие моменты говорят о его роли в мобильной разработке.
то что язык платформа - думали еще в 2012 году, но тогда не было ключевых моментов чтобы это утверждать. Сейчас же очевидно - язык го типа не спонсируют и тут появляется проект транспайлер - который спонсируют.
Получится так - мол смотрите, гугл перевел с питона 2.7 на го, а не на питон 3 - делайте так же.
И половина легиона питона 2.7 перетекают в го, малая часть юзают го-питон.
все зависет какой траспайлер они сделают.
Если качественный - то будет в мире го-питон.
Если же траспайлер который будет транслятором (плодить исходный код, хуевые для сопровождения) - то тогда они просто хотят перетащить легион с 2.7.
Го для питонистов - это их долгожданный питон 4.0 :)
> питона 2.7
Кто-то ещё сидит на нём, лол? Исключая легаси пиздецкий, конечно.
> скриптовой тип языков - как го, чем джава,
Про скриптовой соглашусь, но Го... Это просто пиздец же по синтаксису, не в плане даже дизайна, а в сравнении сахара и удобства. Он слишком много даёт низкоуровневого говна, которое будет просто как заноза в жопе у хипстеров. И получится джаваскрипт вей: наплодим фреймворков, транспайлеров... WAIT, OH SHI~
Похуй честно на чём писать 2 или 3, тимлид решает, но на Го точно писать не хотелось бы.
Например Го
А то! Не зря ж маркетологи бенчмаркают говёху всегда только со скриптотой, но крайне редко с другими статическими языками.
Понятно, что гуглу хватит ресурсов впендирють свежие силы, но сова на глобусе в реале лопается чем налезает.
Проблема, мне думается, фундаментальная, Го в ынтерпрайз так и не пришел, а постоянно сохранения обратной совместимости кода - только отпугивают людей, которые уже заебались (да да именно заебались) колоться об "углы" тупого дизайна и проблем языка. Понятно, что неизменность кода - фича для крупного рогатого? бизнеса, но по ту сторону сидят уже оголодавшие программеры, (я повтарюсь) заебались тащить тонну говна (и недоумевают, нахера дрочить 100строк бойлерплейта, когда в любимом пидоне можно тоже самое зафигачить в утненькие 10-20 строк).
Про траспайлер - все это хуйня (хотя обычный транслятор получиться)
Дискусс.
Кстати видел уже стиль - когда на го ошибки кладут болт чтобы получить конвейер вызовов xyz().xyz2()
Или чтобы можно было передать сразу метод. Я считаю это вин дизайна.
...рано или поздно они все же осознают и зафигачат засахаренную новую версию, но старого кода будет столько много, что либо случить новая дилемма как с питоном (версией 2 и 3). Либо сахар будет такой бестолковый, что многие люди просто по-отваливаются с языка, так как уровень терпения и те мучения будут несопоставимы с мелким перделками в ужасном дизайне языка.
А пока наслаждаемся алиасами, которые они введут для себя ;)
PS почему стоит бугуртить по языку? Все просто, чтобы успешный все-пронизывающий маркетинг - завтра не пришел в твою контору и тебя не поимели.
Когда я начал принимать го просто как инструмент (весьма корявый, согласен, но мне нужны были его фичи), я уловил одну тонкую нить.
Я понимаю, что язык возможно создавался для конвеерных-макак, но я вдруг понял, что наебон не го, а все остальное.
В свое время мы писали на пхп юзая просто функции и массивы. Были реально сложные проекты, но давались они нам легко, так как у нас был только "молоток" и "гвозди" - мы хуярили и хуярили.
И что сейчас? Сейчас я вижу какое-то решение из 10-15 полу-пустых классов, где вся рабочая логика умещается в одну функцию из 200 строк (тру стори).
И что же эти классы? Они наверно гибкие, все сделанные по паттернам (да еще IoC там DI...) - а в реале просто мусор с размазанными алгоритмами.
Вот и сейчас я думаю, что наши приложения тогда были сопоставимы этим всем джава-ынтерпрайз приложениям, которые попусту раздуты пустотой.
Что же го - го это те же "молоток" и "гвозди", но не дающие программистам юзать кроме этих инструментов ничего больше (как например пхп дали ООП и он превратился в пародию джавы).
Го - такой дух старой школы - прагматичный и простой как палка.
Да задизайнен местами ужасно, но больше таких удачных "молотков" и "гвоздей" я не вижу.
В общем меньше пафоса и абстракций - больше дела.
>гуглу хватит ресурсов впендирють свежие силы
Во всем виноваты криптомасоны
>>956624
>постоянно сохранения обратной совместимости кода
Не замечал я что-то такого. Разве в джаве нет той же обратной совместимости?
>>956630
>PS почему стоит бугуртить по языку? Все просто, чтобы успешный все-пронизывающий маркетинг - завтра не пришел в твою контору и тебя не поимели.
Так и представил себе сеньора, который придет на двач, чтобы почитать о Го.
Вот анон прав скорее всего. Го - это язык, который хочет быть максимально простым.
Если бы гугл разработал объектно-ориентированный джавоподобный язык, то получился бы у него Котлин. Вроде как язык имеет какие-то преимущества перед джавой в дизайне или возможностях, но:
Зачем кому-то язык, на котором программируют в 1000 раз меньше, чем на джаве? Чтобы получить плюс в разработке за счет использования новых фич, но потерять из-за того, что на джаве уже все написано, решения найдены, на стэкоферфлоу вопросы заданы, и не надо придумывать велосипед.
Создал бы Гугл свой Котлин с многопоточностью или еще с чем-нибудь. Через пару лет в джаву внесли бы аналоги этих решений, и имели бы два похожих языка, только на одном программистов в 1000 раз больше.
А так гугл создал новый, уникальный язык. Который позволяет писать те же программы, что и на джаве, но при этом не является джавоподобным.
Джава это хорошая идея - но ужаснейшая реализация.
Буквально тяп-лям чтобы побыстрее, слой за слоем не щадя железа (хули, большой бизнес). И получаем на выход завуалированный оверхед ~60 от чистой логики. Тормозит так, что питоны всякие догоняют (рил), не поддающиеся сопровождение вообще.
Мне нравитя идеи джавы, но не в таком состояние в котором она сейчас.
фикс ~60% оверхеда.
Опытном путем на своих макаках проверял эксперимент - оверхед получается из-за ООП-подхода (мышления).
В общем из годного в ООП это только контракты - интерфейсы и инкапсуляция. Остальное наебон в ООП, в том числе и паттерны всякие - призванные в половине случаем решать проблемы ООП архитектуры.
Я не ФП-дрочер, но в процедурном стиле (если язык помогает) я и макаки (а я старший макак) - пишем быстрее и более практичнее.
>>957143
Фантазёры-фантазерчики.
>пишем быстрее и более практичнее
Что вы там пишите? По клаве быстрее бьетё, как макака из шутки? Define практичнее, кстати.
Давай конкретную задачу, а то опять одни го-фантазии.
Лол, не маневрируй. Тебе дали поинт - оверхед, энтерпразный оверхед и ООП генерирующий его еще сильнее
>не маневрируй
No you! Давай конкретную задачу, маня, которую вы так героически решали.
>оверхед
Оверхед во времени выполнения? Оверхед по памяти? Оверхед по размеру сорцов? Давай конкретные примеры и не вздумай маневрировать.
>>957148
Богатая у тебя фантазия, малыш. Но признайся, честно - ты пишешь на го, потому что так делают в гугле, а ты просто хайпожор повторяющий за белыми людьми, у которго даже близко нет тех же задач что и у них. Культ карго + хайпоедство = вся суть гофера.
>оверхед ~60 от чистой логики. Тормози
Никто не заставляет намазывать фабрики бобов на прокси синглтоны, сейчас в джяве совсем другие подходы к проектированию.
https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=json
>Давай конкретную задачу
Какую блять тебе задачу, долбаеб.
>Оверхед во времени выполнения? Оверхед по памяти? Оверхед по размеру сорцов?
Ты совсем тупой? Тебе там дали инфу оверхед чего, даже цифры нарисовали. Мне лень повторяться из-за твоих подгорелых маневров (я вижу что ты включаешь маня-дурочку вместо диалога)
>ты пишешь на го, потому что так делают в гугле
У тебя мозг школьника и ты мыслишь масштабами школьника. Типа в конторе сидят и такие "Вау! Илюха смотри! Давай писать на го и будем как гугл! Во!".
Заметь как это глупо выглядит и как глупо смотришься ты.
Кстати официальные языки гугла, насколько помню - жаба, пидон и кресты.
В том тесте победитель у джавы был рапидоит (февраль 2016), в сентябре или октябре 2016 участником чата была найдена бага - при 404 ошибки, рапидоит подвисал на 30 секунд. На фикс ишью чел отреагировал через месяц.
Вот такой там топ код висит.
В любом случае в топе джавы либо обгрызки типа undertow где ВСЕ самому писать, и хз как, так как дока бестолочная или вообще netty (лол). Либо забагованны маня-либы с детскими такими багами (что по меркам даже js пиздец уровень).
А вот фулл-фрейм типа спринга ищи там внизу, сразу же ниже полноценный мощный джанго (тут еще вопрос на чем писать).
> или вообще netty (лол)
Игра слов нетту (нетти славиться тоже отсуствием вменяемой документации).
Разжевал для самых маленьких
Кокретную задачу с оверхедом, маня. Ту самую, которую твои макаки решали 2-мя постами выше, или забыл чего пиздел, уёбище?
>Тебе там дали инфу оверхед чего, даже цифры нарисовали.
Оверхед по стектрейсу? Смешные картиночки в роли аргумента?
>Типа в конторе сидят и такие
Очень похоже на то. Ты ведь ни одной задачи не привёл в пример, а только цифру хуй знает откуда взятую + плюс свои маняфантазии.
Какие подходы, ну кроме мобильных даунов с приложениями чуть сложнее круда?
Реально каких? На Play писать? Погляди как это супер-молодежный фреймворк внизу плещется.
Реально покажи мне где вся тусовка крутой джавы, а то мне везет я на всяких ынтерпразных попадаю, которые могут даже SQL не знать или как сеть работает.
Реально покажи мне где вся тусовка крутого го? А то я на всяких хайпожеров попадаю, которые не могут даже объяснить зачем этот язык выбрали и какие задачи решают.
Существует проект - гигантский джава-ынтерпрайз аппликэйшен (твоем маня сленге видимо это называется "задача").
Ставится задача довести до ума - рефакторинг.
Опытным путем по количеству полезного кода вычисляется что пример ~60% +-5, кода просто бойлерплейт.
Принимается решение переписать на питон с нуля, полученный код - сопровождаем жрет чуть больше чем супер-быстрая джава!
Переписывается на го процедур-стайл - улетает к хуяем скорость, код понятен и чист как слеза единорога.
Это не говорит что джава медленная, разогретая и грамотно написанная джава дерет го как тузик грелку. Но такой код и такие либы не пишут.
Не маневрируй, покажи мне реал мейнстрим джавы сейчас, раз заякнулся что есть.
Про го тусовку я ничего не говорил, там половина евангелиство - дрочеров на них и нисшую касту занимают долбаебы и школьники (бывают долбаебы-школьники).
> зачем этот язык выбрали
Я тебе написал - код практичнее и сопровождаем, чем ынтерпрайз мода на джаве. При этом перформанс устраивает, а как случае выше даже ускоряет.
Это поинт.
Про окружение - ИДЕИ уже как-то хватает, джава без ИДЕИ или эклипса (нетбинса) тоже кусок неповоротливого говна.
>Я тебе написал - код практичнее и сопровождаем
Поясню что - мои макаки, что я сам на джаве пишу блинный слоенный код, но в большинстве случаев эти все абстракции не нужны. В го пишут процедурно как есть - развернуться "на-подрочить" места нет. Отсюда код компактнее организован и делает то что надо, а где надо расширяем.
Второй поинт в том - что на джаве круто писать блинный код, но сопровождать эту кашу реально сложно, чаще порой не разбираются а хуячат поверх слоя еще слой или адаптер или мост. В общем лепешкой за лепешкой говна строится джава и вот та картинка это еще самая малость.
Я сам в их тусовку вкачусь с радостью.
Надеюсь наш джавист не сдулся, потому что реальные потуги то они там есть:
https://github.com/networknt/light-java
и бенчи:
https://github.com/networknt/microservices-framework-benchmark
А это может говорить о том, что переписать на той же джава но с нуля дало бы тот же эффект?
>>957202
Это другой анон писал.
>>957206
Так не пишите слоёный код блядь! Какие именно абстракции го (которые вы именно используете) недоступны для джавы? Процедуры что ли?
>>957211
>стайл практичный сейчас
Что ты имеешь ввиду?
>А это может говорить о том, что переписать на той же джава но с нуля дало бы тот же эффект?
Какой ты умный, после того как стало понятно что проще переписать (именно поэтому считали количество оверхеда в коде, так как рефакторить не сильно получалось, надо было понять осилим ли вообще), решили писать на джаве с нуля и "практично".
Но как я и писал, опять пишут такую же байду, уже на стадии создания начали что-то где-то поверх городить. Код уже переставал быть так легко доступен.
То есть, это тот момент где вечно говорят, что инструмент не причем - все руки. А вот хуй.
Хотя мне кажется просто менталитет такой, код-стайл джавы (чрезмерное ООП головного мозга).
>Это другой анон писал.
Его я и жду.
>Какие именно абстракции го (которые вы именно используете) недоступны для джавы? Процедуры что ли?
По наблюдениям.
-структуры, они сильно меняют мышление.
-люди начинают городить отдельно обработку и отдельно данные, не мешают в куче.
-простые коллекции - люди в них более комфортно чувствуют и чаще фокусируются на них в алгоритмах. Это трудно объяснить без примера, но люди начинают думать как манипулировать данными вместо как манипулировать объектами.
-функция/метод - не пусты, а как было раньше несут в себе какой-то конечный-мини алгоритм. В джаве же вся логика размазывается по объектам, по методам (проще говоря в процедурном стиле - принцип единой ответственности куда лучше выходит).
Я так не вспомню все кейсы, но реально есть, это заслуга не в ГО, просто появился допиленный до вменяемого состояния процедурный язык и код в таком языке получается практичнее чем в ООП (в ООП может гибче он, хотя сомневаюсь)
> структуры, они сильно меняют мышление
Чем же они отличаются от POJO/DTO/ValueObject в Java?
> люди начинают городить отдельно обработку и отдельно данные, не мешают в куче
Да так везде - объекты для данных (читай выше)
и отдельно сервисы.
> простые коллекции
Что блядь?
> функция/метод - не пусты, а как было раньше несут в себе какой-то конечный-мини алгоритм
> проще говоря в процедурном стиле - принцип единой ответственности куда лучше выходит
Плохой из тебя архитекор. Разделение ответственности в ООП - по объектам и методам.
Джава энтерпрайз пять лет, пишу на го один год в свободное время, но уже доебал этот кастрированный язык, планирую перепрыгнуть на Rust или Ocaml
>То есть, это тот момент где вечно говорят, что инструмент не причем - все руки. А вот хуй.
Ну хууууууууй знает. Может макаки не те? Хотя мне недавно пришлось объяснять что тащить логику в данные - затея плохая. Может, не будь такой возможности, такого бы и не нагородили.
А что именно доебало?
>Чем же они отличаются от POJO/DTO/ValueObject в Java?
Тем что ты на одной странице видишь 2-4 структуры, а в случае джаве велосипеды геттеров и сеттеров.
И все это в месиве классов, в которых не понятно кто есть что и где.
Да и со структурами ты работаешь как есть, а там нужны же оверхеды, причем выглядит это не очень (да блять нужно тупо знать еще спеку по этой хуйне, лол).
Я реально не пойму почему они не юзают классы с паблик полями для классов-данных. В этом вся джава - оверхед ради оверхеда.
>> простые коллекции
>Что блядь?
Коллекции часть конструкции языка, проще, удобнее, практичнее. Не надо знать какой Лист сегодня тебе брать, или какая мапа в моде. Тупо слайсы и мапа. Их простота вкупе с процедурном стилем дают плюс в сопровождение,
"Глисты<хуесты, муясты>" глист = МассивныйГлист< .... что блять, алло, я просто хочу список
>Джава энтерпрайз пять лет, пишу на го один год в свободное время, но уже доебал этот кастрированный язык, планирую перепрыгнуть на Rust или Ocaml
Писать для себя на го или джаве (и кстати почему не на ней?) - это надо быть слегка припизднутым.
Для хоум проектов - выше пидона ничего не подымаю (ну пыху для старых костылей, которые лень переписать)
>>> простые коллекции
В защиту джавы, лол, скажу, что если тебе нужно будет использовать к примеру конкурентную мапу в Го и чтобы она могла бы юзаться с тем кодом, который ты написал, то ты будешь не очень рад. Да, да привет дженерики.
Пытаться писать процедурно (данные отдельно, обработка отдельно) именно фича устаканившаяся в энтерпрайзе. А вот как ты описал, обычно учат как раз в статьях и в учебниках (может в универе) - типа думать объектами, машина едет, машина имеет цвет бла бла бла.
В общем джависты (ООПэшники) снова пришли к процедурному стилю, но через жопу ООП, через всяки POJO и дата классы с портянкой геттеров и сеттеров.
>конкурентную мапу в Го
В стд либе нет кстати, юзай мутексы и прочую радость, которая очень простенько(читай: хуёво на реальных проектах) работает для совместного доступа.
Да я просто заюзаю мьютекс.
Вот опять ООП-мышление, какие-то вечные надуманные границы своего мира. Типа интерфейс глиста(мапы) дает какую-то гибкость.
И как часто это происходит?
Я в жабе тоже не юзаю канкаренси мапу, она же там на запись делает, помоему, копию "своей" внутренней мапы? Вообще очень интересный костыль, когда тебе вдруг неожиданно понадобилась конкурентная-мапа, типа а раньше этот не было критической секцией.
И мутекс залочит тебе и рид и райт. Хотя там есть возможности этого избежать. Но просто хз, абстракции ради абстракций это хуёво, но и невозможность переиспользования и простого юзания СуперГлисты тоже иногда удручает. Но я смотрю на Го тут с позиции дивана, ибо ток для петпроджектов юзал.
Так просто пример в вакууме же на тему удобства обобщённого программирования.
Есть там рид-врайт мьютексы (в жабе тоже).
Жаба и рядом не стояла с Го, но энтерпрайз дает такое жесткое давление, что она не движется. Как спринг еще сместил ЕЕ я не знаю (хотя он тоже уебишное тяжеловестное говнище).
А если начнешь писать код в своей стайле (ну, например, классы как структур с паблик полями) то тебя просто заклюют.
>велосипеды геттеров и сеттеров
lombok
>не юзают классы с паблик полями
Юзаем. Ну и смотри предыдущий пункт.
>>957244
>Не надо знать какой Лист сегодня тебе брать, или какая мапа в моде
Ну охуеть теперь! Гоферы настолько тупые что ли?
> Жалуется на бойлерплейт в джяве
> В качестве альтернативы использует го
Топчик необучаемость.
В Java я могу подключить Lombok или вообще Groovy как либу, а Go так и останется БЕZNОГNM, что никакие костыли не исправят.
> Я реально не пойму почему они не юзают классы с паблик полями для классов-данных
Потому что ООП религия - чтобы можно было наследовать поведение через методы, т.е. геттеры и сеттеры. Хотя таки решили value object завезти.
> Не надо знать какой Лист сегодня тебе брать, или какая мапа в моде. Тупо слайсы и мапа
> что блять, алло, я просто хочу список
От того что ты сунешь голову в песок, проблема не исчезнет. Нет никакого просто списка и просто словаря, есть конкретные имплементации конкретных структур данных с конкретными плюсами и минусами.
> Для хоум проектов - выше пидона ничего не подымаю
Python это как битард - ничего нет, ничего и не надо.
Пока весь мир дрочит в калбэки и им подобным (хотя у жабистов там есть какая-то акторная модель), на го можно писать как раньше и не париться.
НО реальность оказалась чуточку другой, в сравнение с другими неблокирующими i/o мы нехуя не увидели плюсов. То есть эта вся херня на самом деле работает с натягом и побеждает по перформансу только скриптовые языки.
Такая нынче тенденция все сравнивать со скриптовыми языками (го, свифт) ибо настала эпоха тупых компилируемых языков, которые могут побеждать только скрипты.
Поинты:
-Чем проще язык, тем лучше читаемость кода и сопровождаемость.
-Хуй. Никуда сложность программирования не девается, если скриптовые языки могут сокрыть много говна, то в го наоборот поленились и не реализовали почти ничего толком.
Го это язык с батарейками, но разряженными.
-Го может набрать свежие силы.
-"Кококо массоны". Как раз таки недавно они набрали свежую команду и там чет даже грызня. Мол старые уже заебались, а новым все не терпится.
На самом деле пора бы уже и ру-евангелистов поменять. Невыносимые бестолочи, активности в сети толком нет, а всякие голанг шоу только вредят языку.
И да, если вы евангелист и делаете это за идею - поздравляю, вы долбаеб.
-Простой код + агрессивный маркетинг = куча маргиналов.
Частично не верно - плохой дизайн + агрессивный маркетинг = на языке оседают только самые больные.
Понятно что такие там не все, но пугает то, что таких там много.
-Джава хороший язык, но большая часть решений - это энтерпрайзное говно.
К сожалению да. Мысль что говнокод дешевле чем экономия на железе - намертво вбито в мозги индусоголовых.
-ООП это плохо сопровождаемый код, генерирующий оверхед ради оверхеда.
Частично верно. Но чаще это из-за подхода проектирования сверху-вниз (не буду грузить юные умы).
-Джава - плохо.
Нет, джава популярна и вокруг нее тоже налипло множество высокомерных долбаебов со знаниями скрипт-киди (которые умеют только подключать ту или иную либу). Этим джава и раздражает многих. Но если го с его маркетингом виноват в таких маргиналах, то джава это жертва популярности.
-Еще момент по читаемости кода.
Если вы знаете английский, то многословность вас пугать не будет, но в целом джава грамотно структурирована. Открывая го файл - тебя каждый раз ждут все новые чудеса - кто во что горазд.
Пока весь мир дрочит в калбэки и им подобным (хотя у жабистов там есть какая-то акторная модель), на го можно писать как раньше и не париться.
НО реальность оказалась чуточку другой, в сравнение с другими неблокирующими i/o мы нехуя не увидели плюсов. То есть эта вся херня на самом деле работает с натягом и побеждает по перформансу только скриптовые языки.
Такая нынче тенденция все сравнивать со скриптовыми языками (го, свифт) ибо настала эпоха тупых компилируемых языков, которые могут побеждать только скрипты.
Поинты:
-Чем проще язык, тем лучше читаемость кода и сопровождаемость.
-Хуй. Никуда сложность программирования не девается, если скриптовые языки могут сокрыть много говна, то в го наоборот поленились и не реализовали почти ничего толком.
Го это язык с батарейками, но разряженными.
-Го может набрать свежие силы.
-"Кококо массоны". Как раз таки недавно они набрали свежую команду и там чет даже грызня. Мол старые уже заебались, а новым все не терпится.
На самом деле пора бы уже и ру-евангелистов поменять. Невыносимые бестолочи, активности в сети толком нет, а всякие голанг шоу только вредят языку.
И да, если вы евангелист и делаете это за идею - поздравляю, вы долбаеб.
-Простой код + агрессивный маркетинг = куча маргиналов.
Частично не верно - плохой дизайн + агрессивный маркетинг = на языке оседают только самые больные.
Понятно что такие там не все, но пугает то, что таких там много.
-Джава хороший язык, но большая часть решений - это энтерпрайзное говно.
К сожалению да. Мысль что говнокод дешевле чем экономия на железе - намертво вбито в мозги индусоголовых.
-ООП это плохо сопровождаемый код, генерирующий оверхед ради оверхеда.
Частично верно. Но чаще это из-за подхода проектирования сверху-вниз (не буду грузить юные умы).
-Джава - плохо.
Нет, джава популярна и вокруг нее тоже налипло множество высокомерных долбаебов со знаниями скрипт-киди (которые умеют только подключать ту или иную либу). Этим джава и раздражает многих. Но если го с его маркетингом виноват в таких маргиналах, то джава это жертва популярности.
-Еще момент по читаемости кода.
Если вы знаете английский, то многословность вас пугать не будет, но в целом джава грамотно структурирована. Открывая го файл - тебя каждый раз ждут все новые чудеса - кто во что горазд.
-Отчасти да, из-за проксей и оверхеда, но отчасти в тестах просадка потому, что там блокирующие i/o томкета.
И там в тестах, по-моему, не правильно греют жабу (там прогон на 10.000 интераций, как-будто в 10.001 раз создаться самый совершенных jit-код).
>Groovy
Груви убили.
>Lombok
Все о нем кричат, но никто не юзает.
И я бы не взял очередную ненужную абстракцию.
>чтобы можно было наследовать поведение через методы
Частично верно, частично идея сообщений, но это не покрывает кейс дата-классов.
Но они правда нужны, становится понятно в многолетнем проекте. Совет - лучше сразу их юзать.
>Нет никакого просто списка и просто словаря, есть конкретные имплементации конкретных структур данных с конкретными плюсами и минусами.
В жабе так исторически, как и вплюсах (там в начале вообще пиздец был). Хуже бы мир не стал, если бы это было частью компактного синтаксиса языка.
>Python это как битард - ничего нет, ничего и не надо.
Нахуя дома блять такая параша как го? Ну есть время возьми там раст, или лучше nim - играйся.
Но блять го это пиздец, где там можно получать удовольствие от языка? Его берут, потому что есть техническая ниша.
> Есть там рид-врайт мьютексы
> Хотя там есть возможности этого избежать
Я это говорил, хотя там есть ограничения некоторые на RWM
го и джава это как пхп и питон. Го по сути кроме сетевой херни ничего не может как и пхп. Да там есть порты всяких Qt, но опыт показывает что это скорее костыли чем рабочие решения (ибо всем срать на поддержку этого говна).
> Что за строка вставляется после типа и как она называется? Для чего и как используется?
в ней ты пишешь под каким именем будет кодироваться и декодироваться поле в json
к примеру
FirldName strong `json:aaa`
Означает, что при кодировании поле FieldName будет кодироваться как ааа: value
BВ обратную сторону также
Корявое подражание (как и все в го) божественным аннотациям в джаве.
уже давно заслужил, рвутся тут только неосилляторы, которые сравнивают хуй с пиздой
>олученный код - сопровождаем
>питон
это если писал не фанат пайтона. те, кто осилил всю магию могут такой хуиты нагородить используя синтаксис, ты потом месяцами будешь охуевать
Не понял к чему это ты
В ИТ все живет пока тонну бабла туда вливается.
Писать на нем что-то простое и сетевое (только сетевое)
можно (реальные проекты, не скрипты - сложно)
Го создавался как замена питона, если ты юзаешь пхп или жс или питон и тебя все устраивает, то на го даже можешь не смотреть, твои мечты он не осуществит, это тот еще костыль.
Если же нужен производительный компилируемый современный язык - смотри на раст (как это банально не было, но почему-то туда много из питона идут)
Ванька путает рефлексию с мета-информацией (аннотациями).
>>958895
>Go
>неосилляторы
лол
Нет Ванюш, го прост как палка, если люди говорят что он говно, то скорее так и есть (значит они еще его попробовали и копнули куда глубже, а там вообще трешак, так как на поверхности все прилизанно маркетологами).
>>958898
Наши еще не успели, да и в нормальной галере по руками бьют за попытку самовыражаться за счет языка, все "не такие как все" давно ушли работать консультантами в компьютерные магазины.
Котлин просто сахарок поверх джавы, анон наверное имел ввиду, что надо хотя бы поюзать сначала джаву.
То есть, если ты уже пишешь на джаве и хочешь себе типа свифта, или шарпа - пробуй котлин или скалу.
>в нормальной галере по руками бьют за попытку самовыражаться за счет языка
хуй там плавал
ехал декоратор через декоратор, сунул декоратор генератор в {map()}, ну ты понял
Я же сказал в норм конторе, где макак дрессируют и воспитывают, к счастью на место джуна дохера народу (спасибо всяким цукенбергам и ит-преподам-разводилам) и в следствие удается сколотить норм команду.
Если в команде нет даже код-стайла (гребцы гребут не в такт) - то это плохая галера
Другими словами ни один человек на вашем языке писать не может, потому что весь код будет состоять из проверок.
Другими словами ваш язык был создан не для людей, а для генераторов исходного кода/скриптов, который мог бы конпелироваться?
Когда сидели пару месяцев назад назад с коллегами, у нас появилась презабавная теория. Вот в Го после каждого чиха надо делать проверки на всё. А что, если этот язык не для конечного программиста? Вдруг у Гугла есть более высокоуровневый язык, который компилится в Go? Это бы всё объяснило.
Через некоторое время после этого оказалось, что так оно и есть: https://www.nixp.ru/news/13903.html
>у вас правда на каждый чих надо делать проверки статуса возвращенной функции?
Тут поведение как и в С. Если уверен - можешь игнорить возможную ошибку.
мамку ебал
С прозрением, тут один уже оракул писал.
ИНСАЙД
Была задача сделать быстрый интерпретатор для питона. Официально не осилили, в реале пришли старшие менеджеры и сказали, что не нельзя зависеть (вливать большое бабло) от продукта, который мы не контролируем.
Прогеры поняли и написали язык платформу этакий "байткод" питона.
Теперь же пытаются продвинутся на рынке интерпретаторов питона. Если и смогут - будем на питоне писать, или нет - ну типа го у вас тут есть.
>на каждый чих надо делать проверки статуса возвращенной функции?
Смотря какая функция. И ошибки можно игнорить, хотя это не приветствуется.
>>959487
>Другими словами ни один человек на вашем языке писать не может, потому что весь код будет состоять из проверок.
Ну если у тебя такой говнокод, что куча exception`ов, то да, ты не справишься. А так, количество проверок не так уж и высоко, многие ошибки просто пробрасываются вверх. Да и расскажу тебе по секрету, в Си аналогичный подход. И знаешь, пишут на Си. Даже целые операционные системы..
>>959494
>>959519
>>959613
увлекательная дискуссия
>>959711
>ИНСАЙД
>Была задача сделать быстрый интерпретатор для питона.
Ну да, инсайды на дваче, им можно верить и без пруфов.
>>959711
>Прогеры поняли и написали язык платформу этакий "байткод" питона.
А что им мешало написать язык, гораздо более похожий на питон? С поддержкой классов, к примеру. Программисты в Гугле смогли бы легко осилить такое.
>Инсайд и пруфы
лол
>Ну да, инсайды на дваче, им можно верить и без пруфов.
Хм, инсайды как раз и гуляют в "закрытых" клубах и если бы их сливали с пруфами на хабры или даже всяких попсовых форчанах, то жопы источников оказались бы на улице быстрее чем в твиттер новость попала.
Там ходит инфа не по пруфам, а по тому или иному доверенному временем авторитету.
В общем кто в теме и что-то слышал такое может тоже подтвердит или опровергнет мои слова.
>>959721
>А что им мешало написать язык, гораздо более похожий на питон?
Потому что пилиться транспайлер и для жабаскрипт
Веб-асм будет, увидишь.
Но вообще, подумай зачем они из синтаксиса выкинули все что можно (бред про то что хомяки сразу смогут в программирование и можно будет индусами заменить всех или что им не хватает сил писать компилятор под сложный синтаксис - сразу отсекаем)
Напомни год создания Си
Говнодебил, почему ты такой тупой?
Вы видите копию треда, сохраненную 23 мая 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.