|
2.17, Anonymqwe (?), 00:22, 27/02/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
Наверное, берегут до версии 2.0, чтобы не провоцировать взрыв сознания у фанатов.
| |
2.45, ВА (?), 07:12, 27/02/2020 [^] [^^] [^^^] [ответить]
| +4 +/– |
Зачем использовать плохие практики из других языков... научитесь писать эффективный код без надуманного говна из прошлого
| |
|
3.66, Аноним (66), 11:33, 27/02/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
>научитесь писать
у вас много ошибок в слове "копипастить выполняя работу конпелятора". или, что еще хуже, генерить код.
| |
|
4.70, anonymous (??), 12:06, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Это необходимо крайне редко. Гораздо реже, чем кажется тому, кто пока просто не достаточно хорошо научился использовать Go.
| |
|
5.98, Аноним (98), 17:16, 27/02/2020 [^] [^^] [^^^] [ответить]
| +4 +/– |
Часто нужно. С любой базовой структурой.
Вот есть у меня, допустим, некий type X struct, и linked list (container/list), содержащий элементы типа *X.
Там, где с generic-ами я бы имел нормальную типизацию и отлов несовпадения типов в compile time, в Go я имею элементы interface{}, которые приходится явно приводить к *X, и ошибку тут я словлю только в runtime.
Причем, для частных случаев (slices, channels) концепция generic-ов есть (неявно). Иначе бы было совсем плохо. Но только для частных случаев.
Если обобщенные структуры данных вам необходимы крайне редко, я не знаю, что вы там пишете.
| |
|
6.153, anonymous (??), 19:26, 29/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Вот есть у меня, допустим, некий type X struct, и linked list (container/list), содержащий элементы типа *X.
> Если обобщенные структуры данных вам необходимы крайне редко, я не знаю, что вы там пишете.
Я просто делаю свой тип на базе 'container/list', который приводит тип и покрываю это unit-test-ом (чтобы в реальном runtime это ни к каким ошибкам не приводило). В общем говорю, вопрос лишь привычки работать с Go.
| |
|
7.154, Аноним (98), 09:49, 01/03/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Да это не привычка, а костыли.
Причем авторы Go проблему прекрасно осознают, уже есть патчи для поддержки generics, их тестируют.
Я, правда, не понимаю, накой они придумали еще одну сущность (контракты) вместо расширения понятия интерфейса.
| |
7.173, Масса (?), 19:22, 03/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
Т.е. вместо проверки типа элемента контейнера компилятором нужно самому каждый раз для каждого нового типа свои проверки лабать? Э, так мой дедушка ещё делал. В конце 70-х.
| |
|
|
|
|
3.144, Аноним (144), 12:56, 29/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> код без надуманного говна из прошлого
Ооооо, святая толстота. Ad hoc polymorphism это оказывается говно из прошлого.
| |
|
4.182, Аноним (182), 23:04, 08/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Ооооо, святая толстота. Ad hoc polymorphism это оказывается говно из прошлого.
Примерно так. Мягко говоря не новое изобретение. В массы не пошло в основном потому что превращает код в малочитаемое месиво, в котором никто не может разобраться без поллитры. И после этого радости с того что он компактнее оказывается как-то немного.
| |
|
|
2.58, Аноним (58), 09:15, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Если бы вы хоть немного следили за языком (коль вам эти дженерики так нужны), то вы бы знали, что они будут в Go2 и Роб Пайк в рассылке даже примеры приводил.
| |
|
3.92, Wilem (?), 16:08, 27/02/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Да что ж такое, сектанты только все методички заучили про то, что дженерики не нужны, а тут такая подстава! Что же им теперь, придумывать оправдания с точностью до наоборот?
| |
|
4.157, Lex (??), 18:24, 01/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
Бывает. Почти как с типизацией в джаве и шарпе.. пока туда "универсальный" тип не подвезли..
| |
|
|
2.63, Аноним (63), 10:14, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Пример приведи зачем нужны дженерики в виде кода,
а то вдруг реально полезная штука.
| |
|
3.103, Джинерик (?), 19:51, 27/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Шаблоны удобны. Самый расхожий пример шаблонной абстракции это ограниченные по типу коллекции. Да, можно написать и без шаблонов. Но с шаблонами значительно лаконичней. Хотя доступность языка они снижают изрядно. Особенно, когда реализованы только на уровне синтаксической конструкции, как в Java-е.
| |
|
|
5.133, Джинерик (?), 15:14, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Я не знаком с Го вообще. Как же там обеспечивается типическая безопасность те же коллекций? Каждый раз нужно писать проверки типа при создании коллекции, которая может принимать только определённый тип объектов? А как решается проблема ковариантности?
СРР всё же громоздок и очень небезопасен. Шарп хорош, но есть проблемы с лицензированием и с экосистемой. Ява корява до безобразия, но имеет зрелый инструментарий и крайне развитую экосистему. Идеала, увы, пока нет.
| |
|
|
|
2.82, Z (??), 13:55, 27/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
А нужны ли они? Google молодцы: не тащат всё подряд в Go!
| |
|
3.90, Аноним (90), 15:40, 27/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Пока не понятно как циклические зависимости разрешать как и во всех языках
| |
|
4.94, Q2W (?), 16:49, 27/02/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
А как во всех языках решают циклические зависимости с помощью дженериков?
| |
|
|
|
1.10, А (??), 23:51, 26/02/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
До чего ж библиотеки или куцые или костыльные. Или самому писать, или ждать, пока созреет как Питон. Обзаведётся либами, др. объектами...
| |
|
2.13, zzz (??), 00:10, 27/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Если за 12 лет язык не обзавелся либами, то такой язык годен разве что на помойку.
| |
|
3.19, syslinux (ok), 00:47, 27/02/2020 [^] [^^] [^^^] [ответить]
| –4 +/– |
Это вы пожалуй выкиньте-ка лучше на помойку свой раст с инопланетным синтаксисом. Гошка прекрасный язык, там просто все работает, все сделано для людей.
| |
|
4.26, Нонон (?), 02:00, 27/02/2020 [^] [^^] [^^^] [ответить]
| +7 +/– |
Как-то ты Раст ну совсем не в тему тут вставил. Лишь бы вставить..
| |
|
5.57, Аноним (56), 09:11, 27/02/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
Очень даже в тему. Смотри чуть выше, там гопники с растоманами мерялись.
| |
|
6.85, Ordu (ok), 14:17, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Я бы сказал, что тролли троллили троллей. Совсем изголодались зелёные. Но если ты говоришь, что гопники с растоманами, значит так оно и есть.
| |
|
|
|
|
2.34, leap42 (ok), 02:57, 27/02/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
> До чего ж библиотеки или куцые или костыльные.
давайте примеры
| |
|
1.16, Аноним (15), 00:22, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –6 +/– |
Го учиться за 2 дня, но только раст может развить вас как разработчика.
| |
|
|
3.28, Нонон (?), 02:10, 27/02/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Не совсем так. В расте слишком много финтифлюшек после которых другие языки кажутся детским садиком.
Хоть и другие замудренные ЯП тоже есть. Но в основном другие имутабльные
| |
|
4.29, Аноним (7), 02:16, 27/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
В Расте нет ничего такого, чего не было в плюсах с его стандартными и не очень библиотеками. Вменяемое подмножество современных плюсов вообще довольно близко (не синтаксически, конечно, но семантически).
| |
|
5.67, Аноним (66), 11:46, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
>В Расте нет ничего такого, чего не было в плюсах с его стандартными и не очень библиотеками.
Навскидку: модель владения объектов, наличие гарантий компилятора(привет null-pointer exception), стерильные макросы, пакетный менеджер с репозиторием, темп развития языка
| |
|
6.96, Урри (?), 17:07, 27/02/2020 [^] [^^] [^^^] [ответить] | +1 +/– | легко реализуется средствами с , причем на любой вкус и цвет, а не как криво пр... большой текст свёрнут, показать | |
|
7.158, Lex (??), 18:33, 01/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
Плюсы уже давно стали какой-то вещью в себе.
Изначально относительно лаконичная надстройка, он со временем превратился в нечто монструозное и совершенно загаженное в плане лексики.
Это наглядный пример того, когда разрабы к существующей и работающей системе, построенной на старых идеях и подходах, просто постоянно пытаются приделывать модные шутки и система превращается в невнятную, громоздкую и отталкивающую ***.
Хотя и раст - то еще *.
| |
|
6.100, Аноним (98), 17:25, 27/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> модель владения объектов
smart pointers
> наличие гарантий компилятора(привет null-pointer exception)
smart pointers
> стерильные макросы
templates
> пакетный менеджер с репозиторием
conan
> темп развития языка
C++11, C++14, C++17, C++2x...
Да, в Rust все это сведено в единую стройную систему, а в C++ надо изучать хорошие практики и гораздо больше думать о том, что делаешь. При этом система-то не очень простая получилась, когнитивная нагрузка примерно одинаковая. Выстрелить себе в ногу в крестах намного проще, эт да
| |
|
|
|
3.30, Медный Купорос (?), 02:18, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
один из анонимов сказал:
раст для элиты, го для рабов за еду, а си для тех кому скоро на кладбище
| |
|
4.43, ПростоТак (?), 06:17, 27/02/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
О чём вы? ... бизнесу нужно прям сегодня и прям сейчас, а лучше ещё вчера! Поэтому выбирают языки с огромной экосистемой Java, C#. А за этими языками стоят монстры Oracle и Microsoft, т.е. не умрут языки в ближайшие лет 10 ... Хотите кушать, учите то, что нужно бизнесу. Хотите романтики, учите Rust.
| |
4.64, Хороним (?), 10:52, 27/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
- Он знает что-нибудь?
- Конечно. Он из элиты.
Заходите.
Фильм "Хакеры". 1995.
| |
4.72, nelson (??), 12:11, 27/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> раст для элиты
для той, видимо, что хаскель не осилила
>> го для рабов за еду
у вас в аббревиатуре "PHP" ошибка
>> си для тех кому скоро на кладбище
ну тут всё понятно - реформа образования, не иначе
| |
4.106, malloc (?), 21:13, 27/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
О, евангелист вылез!
Маслинку хочешь, да? Ты как комивыезжёр - упёртый и навязчивый. И тебе плевать на объективную реальность лишь бы продвинуть свой раст. Любой ценой. Тебе же за это не платят, какая выгода? Ну, кроме гноеизлияния, конечно же.
Для крестов есть компиляторы под разными лицензиями и нет ограничения на написанные поделия. А для раста - всё что написано на расте автоматически подпадает под действие mpl. Хуже того - является копирайтом мозиллы. Ну, то есть ты не можешь лицензировать проект на расте иначе, чем под mpl. Если не mpl, то мозилла вправе подать в суд за такое лицензирование и будет исключительно права.
Например, так.
| |
|
5.108, й1 (?), 01:25, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
>ты не можешь лицензировать проект на расте иначе, чем под mpl
Пруф?
| |
|
|
|
|
1.37, Аноним (7), 04:06, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Интересно, почему растаманы набегают в каждую новость именно про go, а не про, скажем, python? Языки настолько же разные, почему именно от go сзади свербит?
| |
|
2.39, Аноним (42), 04:22, 27/02/2020 [^] [^^] [^^^] [ответить]
| +6 +/– |
Да больше похоже, что это тролли обычные. Но так-то между Go и Rust сейчас напряжение, ведь у них есть пересекающиеся ниши, особенно на фоне последних событий: например, Discord отказался от Go в пользу Rust, а недавно даже Google, вследствие негативного опыта, отверг применение собственного Go в Fuchsia, в то время как Rust оказался допущен во всей кодовой базе, кроме ядра (и то ограничение на ядро лишь связано с тем, что разрабов Fuchsia беспокоит молодость языка).
| |
|
3.77, proninyaroslav (ok), 12:36, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
>Rust оказался допущен во всей кодовой базе, кроме ядра
Они же готовые ядра взяли. Смысла нет переписывать. А остальную обвязку уже сами пишут.
| |
3.126, Аноним (98), 13:26, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Пересекающиеся ниши и с python-ом есть (Twisted, вот это все). Это какой-то срач ради срача. На go удобно писать небольшие инфраструктурные микросервисы, в которых gc не роляет. Он как раз хорошо заменяет всякие там python+twisted / ruby+eventmachine / nodejs - программировать так же просто (даже проще), развертывать проще простого (на выходе один бинарь), можно поручить не особо опытному разработчику. Rust для задач посерьезнее, он скорее конкурирует с C++.
| |
|
4.132, Аноним (132), 14:20, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Согласен, мне самому не нравятся эти срачи (но я правда не очень уверен, что ребята, которые развели здесь Go vs Rust действительно растоманы - больше похоже, что это просто повышенно зеленые персонажи).
Хоть я и люблю Rust, я не считаю, что все нужно на нем писать (хотя очень многое можно и стоит) и у Go определенно есть свое место. Правда я не уверен в Go для больших проектов, по крайней мере пока не появятся фичи, обещанные для Go 2.0
| |
|
|
|
1.38, Аноним (38), 04:12, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Пара вопросов ко всем кто это читает:
1) чем для вас плох Go?
2) какой ЯП больше всего нравится?
| |
|
2.40, Аноним (42), 04:37, 27/02/2020 [^] [^^] [^^^] [ответить] | +5 +/– | 1 Простая невыразительная система типов, относительно толстый рантайм, if err ... большой текст свёрнут, показать | |
|
3.68, nelson (??), 11:56, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
>> оператор проброса ошибок
это же полная дичь, как можно всерьёз говорить о каком-то надёжном коде, написанном на язычке, допускающим подобное
>> if err != nil
если рассматривать гошку как игрушечный вариант С, обвешанного игрушками-погремушками, то подобный вариант обработки ошибок выглядит вполне логично. для мелких тулзовин пойдёт, если человек не знает С. гошка хотя бы правильно позиционируется, в отличие от растишки, на которой апологеты "прогресса" кидаются переписывать чуть ли не ядра
| |
|
4.75, Аноним (75), 12:19, 27/02/2020 [^] [^^] [^^^] [ответить] | +2 +/– | Вы хоть разобрались бы, о чем речь Под пробросом ошибок подразумевается, что вм... большой текст свёрнут, показать | |
4.81, PnD (??), 13:42, 27/02/2020 [^] [^^] [^^^] [ответить] | +3 +/– | Из последнего, такая троица агент 8212 демон на голом C вообще-то на... большой текст свёрнут, показать | |
|
5.146, anonymous (??), 13:10, 29/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> из них половина — GC
Использую активно Go с 2012-го года, но чтобы половина была сожрана GC -- такого ни разу не было. Хотя на старых версиях Go, и когда я ещё не умел писать на Go, GC бывало сжирал 30-40 процентов.
Можно на код глянуть? :)
| |
|
6.162, PnD (??), 11:16, 02/03/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Использую активно Go с 2012-го года, но чтобы половина была сожрана GC
> -- такого ни разу не было. Хотя на старых версиях Go,
> и когда я ещё не умел писать на Go, GC бывало
> сжирал 30-40 процентов.
В данном случае (сервис крутится практически вхолостую, "коту нечего делать") — вполне нормально.
* "Холостой" экземпляр в паре A-S — вообще ничего не потребляет (кроме RSS). Т.к. один тред висит на futex() пока сигнал не случится, а payload ничего не делает пока сокет пустой.
> Можно на код глянуть? :)
Да пожалуйста https://github.com/ds-voix/VX-PBX/tree/master/IPADDRD
| |
|
7.171, anonymous (??), 11:13, 03/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
Если вам важны процессорные циклы и нагрузка на GC, то буду рад предложить PR, чтобы лёгким исправлением слегка поправить ситуацию. Актуально? :)
| |
|
8.172, PnD (??), 13:19, 03/03/2020 [^] [^^] [^^^] [ответить] | +/– | Просто ткните носом любым удобным способом Здесь, повторюсь, оно не важно ... большой текст свёрнут, показать | |
|
|
10.189, PnD (??), 15:00, 11/03/2020 [^] [^^] [^^^] [ответить] | +1 +/– | Мне самому глаза мозолит, но тут по большому счёту референсный кейс по-быстр... большой текст свёрнут, показать | |
|
|
|
|
6.183, Аноним (-), 23:06, 08/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Использую активно Go с 2012-го года, но чтобы половина была сожрана GC
> -- такого ни разу не было.
А ты попробуй покодить как вон там в fuchsia - драйверок ФС, какой, чтоли. И посмотри чего будет дальше, и почему хипстеры такой languages.md, или как там его накорябали :)
| |
|
|
|
|
4.78, Аноним (75), 12:48, 27/02/2020 [^] [^^] [^^^] [ответить] | –1 +/– | Все равно не хватает дженериков и интерфейсы не позволяют делиться реализацией, ... большой текст свёрнут, показать | |
|
3.83, Аноним (98), 14:10, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
В Расте очень ограниченные типы, это только после C кажется, что "вау".
Рекомендую посмотреть на язык Idris, чтобы понять, что такое по-настоящему полноценная система типов.
| |
|
4.86, Аноним (75), 14:23, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Я знаю про Idris и у меня в планах в нем покопаться. Очевидно, что Rust уступает в типизации любому мощному функциональному языку. Но прелесть в том, как функциональные концепции прекрасно заиграли в императивном системном языке.
К тому же Rust находится не только в позиции потребителя идей, на самом деле сам Idris испытал на себе влияние Rust: http://docs.idris-lang.org/en/latest/reference/uniqueness-types.html
Плюс, для Rust готовится некоторое подобие зависимых типов в виде конст дженериков.
| |
|
|
2.47, Ноним (?), 07:42, 27/02/2020 [^] [^^] [^^^] [ответить]
| –4 +/– |
>1) чем для вас плох Go?
Го - это комбинация из NIH, агрессивного луддизма, копипасты (дженерики слишком сложны для гопников) и необразованных фанатов. Основная "фича" языка - заставить кодера придумывать очередной, не особо совместимый с другими, вариант реализации ООП на Го.
>2) какой ЯП больше всего нравится?
Разумеется плюсы - самый лучший язык в мире
| |
|
|
4.184, Аноним (-), 23:08, 08/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> плюсы гов№о, чистый С форева!
И ты прав, но про на плюсах очень мощные и экспрессивные конструкции заворачивают. На сях так ну не то чтобы нельзя, но получится что-то странное и не факт что лучше :)
| |
|
|
|
3.73, anonymous (??), 12:14, 27/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Rust может выпасть в осадок
Это скорее всего не Rust выпал в осадок, а сама программа (на Rust) применила unwrap, что явно говорит паниковать в данном случае. Rust сказал автору принять решение как себя вести в такой ситуации, а автор принял решение: "паниковать!!". Так что не очень понятно что тут Rust сделал не так :)
| |
|
4.84, Ordu (ok), 14:15, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> сама программа (на Rust) применила unwrap
> Rust сказал автору принять решение как себя вести в такой ситуации
Не, скорее всего он не говорил, и автор программы не принимал сознательного решения. Вывод в stdout прозводится чаще всего при помощи макроса println!, который делает unwrap молча и ни о чём не спрашивая. В документации к println! написано, что он выкинет панику, ежели с stdout что случится, но кто ж читает документацию?
| |
|
5.93, Проходил мимо (?), 16:09, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Автор программы такую хрень в документации не заметил (а возможно ее там не было, когда он ее читал). Факт в том, что такое поведение программы совершенно нетипичное для программ, написанных на других языках, поэтому додуматься до того, что будет такая засада, автору было бы очень нелегко.
| |
|
6.105, Ordu (ok), 20:53, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Автор программы такую хрень в документации не заметил (а возможно ее там
> не было, когда он ее читал). Факт в том, что такое
> поведение программы совершенно нетипичное для программ, написанных на других языках, поэтому
> додуматься до того, что будет такая засада, автору было бы очень
> нелегко.
Да, ситуация ещё осложняется тем, что println! показан в любом туториале по rust'у, но в этих туториалах, понятно, уделяется куча внимания тому, как можно быстро вывести структуру на печать, но такие особенности println!, как способность прибить процесс -- нет. Но люди заканчивают с туториалом, в иллюзиях о том, что они его освоили.
| |
|
7.117, Анончик (?), 06:01, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Эти люди и про го также думаю ща за 2 дня выучу. А потом гавнокодят и плються на яп что он кривой и косой.
| |
|
6.130, Аноним84701 (ok), 14:17, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Факт в том, что такое поведение программы совершенно нетипичное для программ, написанных на других языках, поэтому
Угу - просто будет делаться какая-то рандомная *рень
python -c "print(open('foo','r').read())"|h
zsh: command not found: h
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>
BrokenPipeError: [Errno 32] Broken pipe
python2.7 -c "print(open('foo','r').read())"|h
zsh: command not found: h
close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr
или иногда сегфолтится:
https://forum.mongoose-os.com/discussion/114/segfault-with-broken-pipe
но зато никаких паник …
| |
|
|
|
|
2.55, winorun (?), 08:38, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Что мне в Golang нравится это двойной возврат и отложенный запуск.
Что мне не нравится это постоянные {} и отсутствие полной поддержки структур данных.
Go очень специализирован, шаг в сторону и его возможностей не хватает.
Любимого языка нет. Надо язык выбирать под задачу, а не задачу подгонять под язык.
С слишком нискоуровневый, С++ многословный, Python - интепритируемый, Golang - ограниченный, asm не портируемый, java завязан на ООП и java машину.
| |
|
3.62, Аноним (62), 09:38, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Есть универсальный вариант. Python+c/c+++asm. Придётся разбавлять ассемблером, конечно, но иначе не бывает. Не очень часто. А ты думал, в сказку попал?
| |
|
4.161, winorun (?), 10:39, 02/03/2020 [^] [^^] [^^^] [ответить] | +/– | Используя гибриды мы меняем одни недостатки на другие Получаем дополнительные п... большой текст свёрнут, показать | |
|
5.185, Аноним (-), 23:11, 08/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
Верцуны в серебряные пули вообще забавные ребята. Как максимум получается какой-нибудь питон, который вроде бы и может почти все. Но счастья не наступает - потому что он все может одинаково гуняво, так что почти любой кейс можно зело улучшить, переписав на чем-нибудь другом. Чем в последнее время все и занимаются :)
| |
|
|
|
2.69, proninyaroslav (ok), 12:04, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
>1) чем для вас плох Go?
Как некий си-подобный питон для rest-серверов и тулзов он неплох. В первую очередь тем что он компилируемый, в отличии от питона. Во вторую очередь тем что он прост для "начинающих гуглеров" и сишников (pure c). Он не призван хватать звёзды с неба, так как создавался для иных целей.
P.S: единственный минус только в том, что он создавался под сильным влиянием Роба Пайка с его тараканами в голове.
| |
|
3.88, Аноним (88), 14:55, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Я бы не сказал, что он прост
На мой взгляд, это миф
Си как бы полная аналогия - простой по синтаксису, но совсем не простой для понимания
| |
|
4.91, proninyaroslav (ok), 16:03, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Под простотой я подразумевал именно малое количество абстракций и их простота в целом (по крайней мере в видимой части).
| |
4.186, Аноним (-), 23:13, 08/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> но совсем не простой для понимания
Чтобы понять си, надо понять как работают компьютеры. И тогда все просто, логично и даже прострелить себя пятку надо еще основательно постараться. А если прогать как типичный питонист - "не хочу учиться, хочу жениться!" - да так в принципе на любом ЯП программа будет УГ. Си, по счастью, отфильтровывает таких экспонатов будучи неудобным и чреватым для такого подхода.
| |
|
|
2.95, user90 (?), 17:03, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> чем для вас плох Go?
Дык а чем он может заинтересовать? Что макакам от кодинга в нем легко разобраться? А таких становиться все больше, в том числе и среди комментаторов здесь..
| |
|
|
2.65, Аноним (-), 11:17, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
>У ГО есть как минимум один +, нет классов
Ура! У<это "пробел" Унылого Говна тут нет>Го нет ООП!
| |
|
3.80, Злостный Анним (?), 13:38, 27/02/2020 [^] [^^] [^^^] [ответить]
| +6 +/– |
Открою тебе глаза на истину: "Все лучшие программы в мире написаны без ООП - Linux, Apache, Windows, Office и т.д."
Все худшие программы, а это enterprise-приложения и т.д., созданы с использованием ООП безмозглыми апологетами секты ООП головного мозга. Зато "быстро, модно, молодежно", что привело к увеличению вычислительных мощностей и глобальному потеплению.
| |
|
|
5.122, Злобный аноним (?), 10:24, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Тыкалка пальцем в розетку, я видел код Office и тот Office работал шустро, И код Oracle тоже видел, он тоже на C.
| |
|
|
5.187, Аноним (-), 23:15, 08/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Это в Linux и Apache то нет ООП? Смешно
Ну покажи ООП в ядре линукса? Желательно сразу Торвальдсу, интересно почитать каменты :)
| |
|
4.137, Аноним (98), 15:19, 28/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это смотря что понимать под ООП.
Если понимать ООП так, как описал Алан Кей, то, во-первых, в Linux и Apache оно есть, а во-вторых, это не имеет никакого отношения к тому "ООП головного мозга", критика которого абсолютно справедлива.
| |
4.148, InuYasha (?), 13:35, 29/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
ну не все. UT написан с ООП, VS 6.0 написана на MFC. И всё это работало и работает весьма хорошо.
| |
|
3.135, Аноним (98), 15:16, 28/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
В go есть ООП. Нет наследования, но оно и не является необходимостью.
| |
|
4.165, NameName (?), 18:20, 02/03/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Наследование в го есть. Оно не нужно, но есть. Абстрактные типы могут наследоваться.
| |
|
|
|
|
2.89, derfenix (ok), 15:00, 27/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Настолько новую, что появилась в позапрошлом релизе, а в прошлом включена по умолчанию?
| |
|
1.101, Аноним (101), 18:04, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Собаки лают, а караван идёт. Почти все крупнейшие мастерские софта, как в РФ так и у буржуев, пилят масштабные проекты на Go. Именно на Go, не на Java, C++ и прочих. Чуваки инсайдеры (если они тут водятся) подтвердят. В таких проектах 99.9999% сложности-это бизнес логика, данные, сеть и вообще куча всего, что не имеет отношения к используемому ЯП. Go хорош тем, что ко всей это куче головных болей не добавляются "прелести" таких геморройных ЯП, как C++, например. Go-ЯП для инженеров софта.
| |
|
2.116, Анончик (?), 05:56, 28/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Крупнейшие мастерские софта, инсайдеры. Такого тупого наброса я давно не видел. Как там мистер бонд поживает? Он все ещё прлграммирует на Ada или обновил себе компьютер
| |
|
3.124, Аноним (101), 12:47, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Ну я инсайдер из РФ-овской мастерской софта, с названием, оканчивающемся на ру. Пилим бигдата платформу на golang-е. Что дальше кукарекнешь, школьник?
| |
3.129, Брат Анон (?), 14:16, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Работаю в гаражном стартапе в области энергетики. Не то, что гошечку пользую -- WebAssembly на стороне клиента активно практикую. Доволен вполне.
| |
|
|
5.190, Брат Анон (?), 09:06, 25/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> А клиент - доволен?
Как слон. Картинка плавная, подгрузка даже на мобилке мгновенная, отзывчивость интерфейса, исходный код недоступен -- безопасность пассивно повышена.
| |
|
|
|
|
3.191, Брат Анон (?), 09:06, 25/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> На Го ничего масштабного не напишешь.
Кубернетис, докер, миниДНС, Дропбокс и Гугель смотрят на тебя с удивлением.
| |
|
2.166, NameName (?), 18:22, 02/03/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Дурашка, как ты сейчас свою "бизнес-логику" будешь без обобщений (шаблонов) лепить? В Го из абстракций коллекций только массивы и есть. Причём, массивы корявые. Го это такой "наш ответ Свифту".
| |
|
|
|
3.109, Skullnet (?), 02:16, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Фу, бяка на виртуальной машине, да ещё и проприетарная, да ещё и виндоус-онли (Mono не предлагать).
| |
|
4.110, Аноним (104), 03:21, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Фу, бяка на виртуальной машине, да ещё и проприетарная, да ещё и виндоус-онли (Mono не предлагать).
Я профессионал в Руби, в т.ч. в его внутренностях, которые понимают человек 10 отсилы. Я теперь программирую чтобы обеспечить себя семизначными суммами в долларах, и я програмирую на Джаваскрипт. Делаю это и плююсь.
Поймите меня правильно.
| |
|
|
6.151, Аноним (151), 15:55, 29/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
В Руби кор тим нет не только русскоговорящих, но и вообще во внутренностях языка понимает только Койчи Сасада.
| |
|
|
4.121, Злобный аноним (?), 10:22, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Я не поклонник C# и .Net Framework, но укажу для объективности, что уже давно существует .Net.Core (уже версия 3.1), работающий как Windows так и под Linux. Также пилят PowerShell.Core, который основан на .Net.Core и будет работать и там и там. И даже Ms Sql Server 2017, 2019 работают под Linux (но еще не весь функционал по сравнению с вариантом под Windows).
| |
|
5.138, Джинерик (?), 15:20, 28/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Там есть проблемы с лицензированием до сих пор. МС Сиквел и даром не нужен, а вот Кор понравился.
| |
|
|
|
2.188, Аноним (188), 23:18, 08/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Go - недоязык, игнорирующий 50 лет опыта ЯП и распиаренный гуглом.
Гугл нанял стадо питонмакак, теперь вот не знают куда их девать таких красивых. В последнее время на вот это переучивают, так они по крайней мере сервисы компании окучивают за копье, и все же не так непотребно как на питоне - в го основные факапы и юзкейсы гугеля все же учтены.
| |
2.192, Брат Анон (?), 09:08, 25/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Go - недоязык, игнорирующий 50 лет опыта ЯП и распиаренный гуглом. Нужно
> смотреть в сторону нормальых языков.
То-то гугель такой бедный и тупой. Они же ничего не умеют и не знают. А кубернетис твой аналог просто убил. Будем знать.
| |
|
|
|
3.170, balajahe (ok), 18:55, 02/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Исключения это харам. Они... сложные.
Создатели Rust тоже так говорили, но под давлением реальности - ввели в язык постфиксный оператор ?, что по использованию практически аналогично throws.
| |
|
2.193, Брат Анон (?), 09:08, 25/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> А исключения так и не добавили, гады
Исключения не имеют право на существование. Правильно сделали.
| |
|
|
2.160, Любитель парсеров (?), 19:50, 01/03/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Да уж... Педантизм и отвага. И столько энергии слить в критику? Не знаю кому-как, а на меня статья подействовала наоборот -- Go выглядит как адекватный и простой инструмент, а придирки автора -- удивляют. Типа он показывает хорошие вещи, как что-то плохое.
Да и Plan9, Bell Labs -- упоминаются так, как буд-то это что-то плохое. ) Куда катится мир?
Пора применить go в своем проекте. ;)
| |
|
3.163, NameName (?), 17:21, 02/03/2020 [^] [^^] [^^^] [ответить]
| –4 +/– |
Мотивы похожи на те, которые заявлялись перед выкатом Явы. Этакое простое СРР для всех. Без усложнений и без возможности выстрелить себе в ногу. Что же имеем сейчас? Компостную кучу с приведениями: тут тебе и обобщения без обобщений, и ламбы без ламбд, и пакеты без пакетов, и потоки без потоков. Го тем же путём двинул.
| |
3.169, NameName (?), 18:34, 02/03/2020 [^] [^^] [^^^] [ответить]
| –3 +/– |
Чувак, ну какие хорошие вещи? Если заявленный универсальным интерфейс для работы с файлами... универсальным не является, то какой уж тут "адекватный и простой инструмент"?
| |
|
4.175, hugeping (ok), 20:51, 04/03/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Сначал думал было написать развернуто, а потом понял, что если человек не понимает, к чему приводит универсальность возведенная в абсолют, и что значит слово "адекватный", то и я не объясню. Вернее, мои доводы не будут услышаны.
Так что, похоже, разным людям -- разное чувство прекрасного и разные инструменты. Я всего лишь написал о своем восприятии (якобы, критикующей Go) статьи. Мне там все понравилось. Вероятно -- мой язык. Буду изучать глубже (пока только пару утилит на нём).
| |
|
5.176, Нама (?), 16:50, 05/03/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Речь не про абсолют, а про то, что целый ряд библиотек завязаны на конкретные реализации и в условиях других реализаций просто молча не работают. Поэтому назвать такой инструмент универсальным -- сложно. Го не универсальный инструмент, а язык для Гугла, т.е. язык, применяемый прежде всего в Linux-среде. Меня это не смущает, но и универальным такое не назовёшь.
| |
|
6.177, hugeping (ok), 20:34, 05/03/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Я честно, даже не знаю что тебе сказать. Я не знаю, кто такой автор этого блога, но кроме максимализма и пафоса я там не вижу ничего.
Ну, например, где он задвигает о том, что пути к файлам в go - это строки. И это -- плохо! Потом пример кода приводит. Даже я, человек написавший на Go всего-ничего, понимаю, что там написан бред. Вернее, я не понял вообще что он там хотел доказать.
Выводит e.Name() говорит, что смотрите - проклятый Go искажает пути (silently)! Ну преобразуй в byte и выводи свой массив! Будет типа оригинальные данные. (Я не поленился и проверил этот пример). И я даже молчу про саму ситуацию, высосанную из пальца. Но при этом - пафоса то! "Lie!"(с) Ну или как там, в начале статьи. Ну и весь текст такой.
Короче, пусть эксперт занимается чем хочет, а для меня это лишний повод поизучать go. Классный язык, особенно для тех, кто вырос на C.
| |
6.178, hugeping (ok), 20:46, 05/03/2020 [^] [^^] [^^^] [ответить]
| +/– |
> работают. Поэтому назвать такой инструмент универсальным -- сложно. Го не универсальный
> инструмент, а язык для Гугла, т.е. язык, применяемый прежде всего в
> Linux-среде. Меня это не смущает, но и универальным такое не назовёшь.
Вопрос в том, когда остановиться. На мой взгляд, "эмуляция" posix при работе с ФС не худший вариант унификации.
| |
|
|
|
3.195, Gogi (??), 21:34, 15/05/2020 [^] [^^] [^^^] [ответить]
| +/– |
Собственно, GoВНО-язык и создавался для таких говнарей, как ты - с интеллектом устрицы и отчаянным желанием что-то напрограммастить. У нормального разработчика языки подобные Го вызывают отторжение.
| |
|
|
1.174, Масса (?), 19:26, 03/03/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Какой-то очередной Котлин, когда занозы в заднице из осины объявляются лучшими, чем занозы из ели.
| |
1.194, Gogi (??), 21:11, 15/05/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Откровенно, на месте Гугли я б вообще не позорился называть ЭТО языком, да ещё и показывать общественности!
Слово "простой" в данном случае вовсе не положительное свойство. Как лом "прост" в своей структуре, настолько же он неудобен при рубке ветвей.
А вот более подробное объяснение, почему "язык для мартышек только мартышка и захочет использовать": https://habr.com/ru/post/344356/
| |
|