|
2.91, Аноним (-), 01:19, 19/02/2018 [^] [^^] [^^^] [ответить]
| –6 +/– |
я как узнал, что в го нет дженериков, так тут же понял, что язык игрушечный. Без дженериков добро пожаловать обратно в дельфи, где если надо создать список чего-то, то надо возводить для этого отдельный класс списка: TStringList, TIntList etc. В норм языках все проще: List<String>, List<Integer>... И не нужно дублировать функционал.
зы Ща нагуглил delphi generics, и обнаружил, что с 2009 они уже есть. А я работал с Borland Delphi 2005 (там на диске еще древнегреческая голова статуи какая-то). Ну молодцы, чо. Значит го хуже, чем даже дельфи 2009.
| |
|
3.96, Рррр (?), 04:41, 19/02/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
Почитал в комментариях, наткнулся на слова "защита от дурака и художника", все встало на свои места. Просто есть люди, которые не могут без джкнериков физ-баз написать.
| |
|
4.149, _ (??), 00:01, 21/02/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
>"защита от дурака и художника"
Тля! Это великолепно! Одной фразой - всю суть! :-)
Дай URL если найдёшь.
| |
|
3.107, Анончик (?), 12:35, 19/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
>Без дженериков добро пожаловать обратно в дельфи
Только вот в делфи они есть вообще-то, и самым серьезным недостатком для меня остается секция var.
| |
|
4.121, Аноним (-), 16:57, 19/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Только вот в делфи они есть вообще-то
коммент до конца не читай
@
сразу отвечай
| |
|
3.108, Аноним (-), 12:49, 19/02/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
В Go такие вещи делаются с помощью интерфейсов. Идеология языка подразумеват отсутствие дублирования возможностей, значит раз без дженериков можно обойтись — они не нужны.
| |
|
|
Часть нити удалена модератором |
5.122, Аноним (-), 17:59, 19/02/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
> и какой же там интерфейс списка?
Интерфейс списка? Ты о чём? Есть тип списка в стандартной библиотеке: https://golang.org/pkg/container/list/
> принимает какой-нибудь самый базовый класс Object в своем методе add?
Сядь поплотнее в кресло, сделай глубокий вдох, приготовься к взрыву мозга: в go не тклассов. А так — принимает interface{}.
| |
|
6.124, Аноним (-), 18:19, 19/02/2018 [^] [^^] [^^^] [ответить] | +/– | Ну нормас так Что, ФП головного мозга Обратно в 70-ые Потыкал запускалку прим... большой текст свёрнут, показать | |
|
7.125, Аноним (-), 18:35, 19/02/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> go не тклассов
>Ну нормас так. Что, ФП головного мозга? Обратно в 70-ые?
Что, не можешь представить ООП без классов? А оно бывает.
> Го-программерам без дженериков приходится явно указывать типы там, где в норм языках они указываются на основе дженериков
А вот у тебя, по ходу, жаба головного мозга. Если так хочешь сэкономить несколько символов, посчитай всё-таки, сколько их расходуется в том и другом случае.
| |
7.127, анон (?), 20:30, 19/02/2018 [^] [^^] [^^^] [ответить] | +/– | Не распинайся Высказывания ниже за авторством Роба Пайка По-моему он просто тр... большой текст свёрнут, показать | |
|
|
9.136, angra (ok), 01:05, 20/02/2018 [^] [^^] [^^^] [ответить] | +1 +/– | Ну что поделать, люди разные, одни программисты способны слегка менять способ мы... текст свёрнут, показать | |
|
8.150, _ (??), 00:05, 21/02/2018 [^] [^^] [^^^] [ответить] | +/– | Потому что И правда, почему C программеры не любят _всё_ , кроме С Не благо... текст свёрнут, показать | |
8.151, _ (??), 00:06, 21/02/2018 [^] [^^] [^^^] [ответить] | +/– | Потому что C программеры не любят _всё_ , кроме С Не благодари ... текст свёрнут, показать | |
|
|
|
|
|
|
|
1.3, Аноним (-), 11:29, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Год копался в Go, Rust, Nim, Idris. Как язык лучше всех Idris. Но пользоваться им нереально. И если Rust имеет интересную концепцию управления памятью, то в том же Go я абсолютно не вижу смысла, т.к. nim обходит по всем фронтам.
Вообще, возникает ощущение, что гугл запилил его для вчерашних студентов. Си они не осилили на достаточном уровне, а работать надо.
| |
|
2.6, Вадик (??), 11:59, 18/02/2018 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Год копался в Go, Rust, Nim, Idris. Как язык лучше всех Idris.
> Но пользоваться им нереально. И если Rust имеет интересную концепцию управления
> памятью, то в том же Go я абсолютно не вижу смысла,
> т.к. nim обходит по всем фронтам.
> Вообще, возникает ощущение, что гугл запилил его для вчерашних студентов. Си они
> не осилили на достаточном уровне, а работать надо.
Ага, я тоже, только Idrtis не смотрел. Nim интересен, но по факту он не заинтересовал большинство. Rust достаточно сложен в освоении, но система владений просто невероятна (до него не думал, что можно как-то по другому управлять памятью кроме как GC и ручной контроль через malloc и т.д.)
Сейчас вот изучаю Go, но после полугода его использования (ага и на проде тоже) он оставил о себе впечатление зрелого и удобного инструмента.
| |
|
3.9, Аноним (-), 12:17, 18/02/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> он оставил о себе впечатление зрелого и удобного инструмента.
Rust или Go?
| |
3.17, anonymous (??), 13:51, 18/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
>Rust достаточно сложен в освоении, но система владений просто невероятна
вообще-то она скопирована с RAI в С++, только там сделана попытка реализовать это без классов и объектов и как-то передавать в функции и возвращать из них...
| |
|
2.7, Аноним (-), 12:04, 18/02/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Год копался
А могли бы работать и пользу приносить.
> лучше
> нереально
> кажется
> интересную
Достойные аргументы.
Раз уж вы начали, то перечисляйте объективные критерии, по которым вы проводили сравнение.
| |
|
3.12, Аноним (-), 12:47, 18/02/2018 [^] [^^] [^^^] [ответить] | +2 +/– | Работать Пользу приносить Почему я не могу тратить свое свободное время на из... большой текст свёрнут, показать | |
|
|
5.18, анончик (?), 14:15, 18/02/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
Так кто спорит, великолепный.
Жаль под него нет достойного нативного гуи-фреймворка, это была бы бомба.
| |
5.37, Аноним (-), 17:07, 18/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
Не смотрел. Беглого просмотра сайта и википедии явно недостаточно. Но из прочитанного каких-либо преимуществ перед Nim не заметил.
| |
|
6.60, Gemorroj (ok), 19:26, 18/02/2018 [^] [^^] [^^^] [ответить]
| +5 +/– |
я вот боюсь что не пока, а уже.
мысль кого-то с хабра: dlang попал в цикл непопулярности - непопулярный потому что не развита экосистема, экосистема неразвита потому что непопулярный.
за ним не стоит гугл, чтобы вбивать в головы неофитам, о замечтательности языка.
| |
|
5.101, x (?), 10:06, 19/02/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
D мертв потому что пытался угодить всем со своим GC/noGC режимом. Библиотеки под него в двух вариантах писать никто не будет ну и копаться выяснять с каждой конкретной либой в каком режиме работать.
| |
|
4.20, Аноним (-), 14:28, 18/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
>> Rust имеет интересную концепцию управления памятью
> ... Оно лично мне интересно, ибо такого я ранее не видел. ...
Objective-C c ARC, Swift.
| |
|
5.95, Аноним (-), 04:34, 19/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
>>> Rust имеет интересную концепцию управления памятью
>> ... Оно лично мне интересно, ибо такого я ранее не видел. ...
> Objective-C c ARC, Swift.
Питон тогда уж. Тоже ссылочки считает в рантайме. А еще вроде бы Perl, пых или VB<=6 (но тут за детали не скажу - никогда не интересоваля внутренностями).
В общем, хвала маркетологам ябла, сумевших и тут создать свом "брэнд" для классических вещей.
Правда, вся изюминка растовой концепции - проделывать этот фокус в компайлтайме.
Иначе вся эта **ля с владениями и отслеживанием времени жизни резко теряет смысл.
| |
|
|
|
|
3.14, Аноним (-), 12:51, 18/02/2018 [^] [^^] [^^^] [ответить]
| +19 +/– |
> специалист из mail.ru
Звучит сильно.
> Лекции по Go.
Открыл. Это видеоуроки. Вы серьёзно? Смузи вам в глотку.
| |
|
4.41, Аноним (-), 17:44, 18/02/2018 [^] [^^] [^^^] [ответить]
| –6 +/– |
В Вашем ответе 0 полезной информации. Могли просто промолчать или похихикать.
| |
|
5.59, нах (?), 19:26, 18/02/2018 [^] [^^] [^^^] [ответить]
| +6 +/– |
это для фанатов игого ноль. А для меня вот очень полезная информация - сэкономил минуту на открытие ссылки.
| |
|
|
|
2.10, leap42 (ok), 12:18, 18/02/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Си они не осилили на достаточном уровне, а работать надо.
лол, кек, чебурек
Го придумал Пайк, который написал культовое эссе о Си-кодинге ещё до вашего рождения.
| |
|
|
4.19, Мураками (?), 14:24, 18/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
наверное как минимум то что он(Пайк) разбирается в теме побольше многих Д-аналитиков
по поводу Nim и Idris то тоже выскажу своё личное мнение
Здесь наблюдается такая же картина как и с дистрибутивами linux, поменял обои добавил пару фич и вуаля готов новый дистрибутив, так и здесь Nim и Idris это по сути надстройки над Си со своими шл..ми и блекджеком. Для меня например язык считается взрослым если он как минимум может сам себя скомпилировать и скомпилировать хорошо.
по поводу вашего высказывания
> гугл запилил его для вчерашних студентов
а для кого Bell Labs пилил язык СИ ?
| |
|
5.22, Аноним (-), 14:52, 18/02/2018 [^] [^^] [^^^] [ответить] | +1 +/– | На счёт Idris не скажу, он вроде бы на Haskell написан А вот Nim сам на себе на... большой текст свёрнут, показать | |
|
6.27, Мураками (?), 16:17, 18/02/2018 [^] [^^] [^^^] [ответить] | +/– | да вы правы, там Haskell правит балом Значит надстройка на над хаскелем, что в ... большой текст свёрнут, показать | |
|
7.29, nobody (??), 16:35, 18/02/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
С писал не абстрактный bell labs, а вполне конкретный инженер - Деннис Ритчи. Писал для себя и своего коллеги - Кена Томсона, для конкреной цели - заменить платформенно-зависимый ассемблер для ОС UNIX.
| |
7.32, Аноним (-), 16:44, 18/02/2018 [^] [^^] [^^^] [ответить]
| –4 +/– |
> у насколько он сам себя собирает спорный вопрос, возможно в каком-то очень и очень урезанном варианте.
> Если смотреть на его код на github то больше четверти(27%) кода это СИ и СИ++, для сравнения у rust это где-то 1.4%, у Go 0.4%
Вот это Аналитика. Вот это да.
Сорцы на си представлены специально для хейтеров бинарников. Их можно скачать и собрать компилятор с помощью gcc/шланга/мсс/etc. Однако это никак не мешает собрать Nim с помощью самого Nim'a(В процессе компиляции появятся те самые сишные/++ файлы).
Предвидя некоторые дальнейшие бесполезные замечания по поводу кодогенерации, предлагаю обратить внимание на то, то у nim есть backend который сразу в llvm компилит.
| |
|
|
|
|
|
|
13.54, Аноним (-), 18:55, 18/02/2018 [^] [^^] [^^^] [ответить] | +1 +/– | Без этого надо реализовывать всё самим К тому же теряется возможность подключит... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
6.28, Мураками (?), 16:25, 18/02/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> The Nim compiler and tools are all *written in Nim* and licensed under
смотри мой ответ выше
> А JS по такой "сути" надстройка над асмой ...
всё дело в количестве прослоек
а то с таким подходом можно будет называть новой операционной системой виндовс запущенную на виртуальной машине под linux
> Ним вообще-то ближе к паскалю, чем к си.
я говорил о возможности собрать самого себя, а не к чему и кто ближе
| |
|
7.42, др. Аноним (?), 17:46, 18/02/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>> The Nim compiler and tools are all *written in Nim* and licensed under
> смотри мой ответ выше
И? Альтернативная интерпретация значения "компилятор" и чтение между строк ("нимовцы сами пишут что их компиляция полная лажа") - не аргумент ни разу.
Компилятор на самом ЯП есть, а то что бэкэндом может выступать не только маш-код ... так и gcc в него уже давно не компилирует сразу.
>>> Nim и Idris это по сути надстройки над Си
>> Ним вообще-то ближе к паскалю, чем к си.
> я говорил о возможности собрать самого себя, а не к чему и кто ближе
Я так понимаю, что наброс с наскоку не удался, теперь будет (абсолютно не интересный мне лично) юлеж и переливание из пустого в порожнее?
| |
|
|
5.64, Аноним84701 (ok), 20:03, 18/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Для меня например язык считается взрослым если он
> как минимум может сам себя скомпилировать и скомпилировать хорошо.
Что-то эдакое насчет жабы и хаскеля я подозревал )
Но ведь и си (если брать за основу компиляторы, умеющие компилировать хорошо, т.е. clang/gcc) см.
http://gcc.gnu.org/ml/gcc/2012-08/msg00015.html:
> 1- The compiler can only be built with a C++ compiler.
попадает под этот критерий.
| |
5.143, Аноним (-), 06:47, 20/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Для меня например язык считается взрослым если он как минимум может сам себя скомпилировать и скомпилировать хорошо.
Сарзу нарисовывается список невзрослых языков : php, bash, SQL и т.п.
| |
|
|
|
2.15, Аноним (-), 13:02, 18/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Вообще, возникает ощущение, что гугл запилил его для вчерашних студентов. Си они не осилили на достаточном уровне, а работать надо.
Идея гугл такая: все должны писать простой в понимании код. Тогда ты типа написал проект, тебе дали новый, а твой отдали на поддержку нубам. Иначе, если код сложен, тебя будут вечно держать на проекте, так как только ты его понимаешь.
Это неоднократно говорилось на презентациях по голангу.
| |
|
3.33, Аноним (-), 16:45, 18/02/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
>простой в понимании код
Из https://stackoverflow.com/questions/21326109/why-are-lists-used-infrequently-i
мы можем узнать, что вместо списков в Go следует использовать слайсы с таким замечательным синтаксисом:
Delete:
a = append(a[:i], a[i+1:]...) // or a = a[:i+copy(a[i:], a[i+1:])]
Delete without preserving order:
a[i], a = a[len(a)-1], a[:len(a)-1]
Pop:
x, a = a[len(a)-1], a[:len(a)-1]
| |
|
4.74, angra (ok), 20:57, 18/02/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
И что же здесь не так? Автоматичекое управление памятью в Go существует вовсе не для того, что бы программист вообще не понимал, как идет работа с памятью. Наоборот, детали реализации массивов, срезов, списков, отображений совсем не скрываются и их понимание приветствуется.
Представленый код очень даже простой, если ты все-таки ознакомился с тем, как работают срезы. Если очень хочется, то программист может написать однострочные функции обертки для таких "высокоуровневых" операций как delete и pop.
| |
4.88, Ordu (ok), 00:52, 19/02/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
> вместо списков в Go следует использовать слайсы с таким замечательным синтаксисом
Да, это превосходная иллюстрация к тому, что значит простой код. Особенно если сравнить это с удалением из массива в C, где придётся использовать memove и realloc для того же, или даже если мы в C забьём на скорость, и будем использовать список, где придётся десятку указателей менять значения, обрабатывая при этом всякие специальные случаи, то этот код -- просто эталон простоты.
В том же rust'е, как и в C, удаление элемента из массива/слайса -- это настолько геморройная операция, что она вынесена в специальную функцию.
| |
|
5.93, angra (ok), 02:46, 19/02/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> даже если мы в C забьём на скорость, и будем использовать список, где придётся десятку указателей менять значения, обрабатывая при этом всякие специальные случаи.
Зачем? Для обоих случаев в односвязном списке достаточно изменить ровно один указатель. И делается это вполне элегантно. Опять таки скорость самого удаления в случае списков выше, а не ниже. У них проблема со скоростью на совсем других операциях, например на поиске элемента для удаления. Сдается мне, тебе стоит повторить теорию.
| |
|
6.94, Stop (?), 04:21, 19/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
Подмена понятий "массив" и "список". Срочно учить теорию.
| |
|
7.97, angra (ok), 06:02, 19/02/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ты не способен проследить дискуссию длиной в целых три поста? Никто ничего не подменял.
| |
|
6.98, Ordu (ok), 06:39, 19/02/2018 [^] [^^] [^^^] [ответить] | +2 +/– | Угу, менять надо один указатель и это можно сделать элегантно, но при выполнении... большой текст свёрнут, показать | |
|
7.102, angra (ok), 10:06, 19/02/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Последую совету одного финского парня "Talk is cheap. Show me the code".
Односвязный список https://play.golang.org/p/rBDrCbJ9zUi
Собственно удаление занимает одну строчку и состоит в изменении одного указателя, место выделено комментарием. Удаление головы также занимает одну строчку и состоит в возвращении указателя на следующий элемент. Никакой специальной обработки последнего элемента, никаких перемещений значений. Никаких апдейтов десятка указателей и прочей чуши.
Двусвязный список https://play.golang.org/p/pl7FOfdiUDb
Удаление даже выделено в отдельную функцию, которая принимает только удаляемый элемент. Состоит в апдейте максимум двух указателей. Не четырех, нет
| |
|
8.137, Ordu (ok), 03:00, 20/02/2018 [^] [^^] [^^^] [ответить] | +/– | Хых Мы ушли от общей идеи удаления элемента в вакууме к частому случаю в конкре... большой текст свёрнут, показать | |
|
9.138, Ordu (ok), 03:18, 20/02/2018 [^] [^^] [^^^] [ответить] | +/– | gt оверквотинг удален add Угу Но это потому что списочная ячейка после удал... большой текст свёрнут, показать | |
9.142, angra (ok), 06:42, 20/02/2018 [^] [^^] [^^^] [ответить] | +/– | У тебя тоже проблемы с отслеживанием дискуссии на три поста Вернись и почитай, ... текст свёрнут, показать | |
|
10.144, Ordu (ok), 08:14, 20/02/2018 [^] [^^] [^^^] [ответить] | +/– | Естественно Ты мечешься между списки быстрее массивов и списки писать проще ... большой текст свёрнут, показать | |
|
|
12.147, Ordu (ok), 21:02, 20/02/2018 [^] [^^] [^^^] [ответить] | +/– | Ты всегда, когда у тебя заканчиваются аргументы, переходишь на обсуждение личнос... текст свёрнут, показать | |
|
13.152, angra (ok), 03:59, 21/02/2018 [^] [^^] [^^^] [ответить] | +/– | Цитирую себя Зачем Для обоих случаев в односвязном списке достаточно изменить... большой текст свёрнут, показать | |
|
14.153, Ordu (ok), 04:56, 21/02/2018 [^] [^^] [^^^] [ответить] | +/– | Не, ты действительно думаешь, что обсуждение того, что мне следует повторить ... текст свёрнут, показать | |
|
|
16.156, Ordu (ok), 01:28, 22/02/2018 [^] [^^] [^^^] [ответить] | +/– | Люди превосходно умеют видеть себя именно такими, какими хотят А хотят они себя... большой текст свёрнут, показать | |
|
|
18.159, Ordu (ok), 06:43, 22/02/2018 [^] [^^] [^^^] [ответить] | +/– | Ну, что я могу на это сказать Посочувствовать ребёнку, имеющему такого отца Я ... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
6.112, Аноним (-), 13:54, 19/02/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> скорость самого удаления в
> случае списков выше, а не ниже.
Ну-ка, рассчитай нам скорость удаления последнего элемента из массива и из односвязного списка размером 100 элементов.
| |
|
7.126, angra (ok), 18:41, 19/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
А если массив/список на пару десятков тысяч элементов длиной в сотню байт каждый и надо удалить не первый или последний, а что-то в средине?
| |
|
8.128, анон (?), 20:45, 19/02/2018 [^] [^^] [^^^] [ответить] | +/– | Так мы медленно пришли к проблеме выбора корректного контейнера В Go вам всего ... текст свёрнут, показать | |
|
9.131, angra (ok), 21:11, 19/02/2018 [^] [^^] [^^^] [ответить] | +/– | Ну если для тебя использовать стандартную либу западло, а написать реализацию св... текст свёрнут, показать | |
|
|
11.133, анон (?), 21:39, 19/02/2018 [^] [^^] [^^^] [ответить] | –1 +/– | Ох, сорян На уровне языка На уровне языка у меня инструментов, чтобы не городи... текст свёрнут, показать | |
|
10.139, Ordu (ok), 03:49, 20/02/2018 [^] [^^] [^^^] [ответить] | +/– | Это есть в LISP Но ни в лиспе, ни где-либо ещё я не буду создавать список из 10... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
3.63, Аноним (-), 19:58, 18/02/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
Так и представляю себе slab-аллокатор для ОС или драйвер для какого-нить контроллера написанный на го без ручного управления памятью, чтоб отдать нубам и чтоб не сложно было.
| |
|
4.75, Аноним (-), 20:59, 18/02/2018 [^] [^^] [^^^] [ответить]
| +11 +/– |
Кроме slab-аллокаторов и драйверов для контроллеров, конечно же, софт вообще нигде и никакой не нужен и писать его незачем.
Почитав комменты на опеннете в очередной раз порадовался, что я не программист а просто сисадмин, которому иногда надо написать код для решения прикладной задачи. Можно взять Go, например, и решить всё, что нужно было с приемлимой скоростью и без избыточного головняка с управлением памятью, сэкономив себе при этом кучу времени благодаря стандартной библиотеке. Спасибо, Пайк & Co. Ну и в целом, спасибо вселенной, что можно быть свободным от перемывания костей ЯП, какой «православнее».
| |
|
5.81, Аноним (-), 22:36, 18/02/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ту потом свой хеллоу-ворлд запусти через strace и посмотри на результат своих "без головняков с управлением памятью".
| |
|
6.87, Аноним (-), 00:34, 19/02/2018 [^] [^^] [^^^] [ответить]
| +4 +/– |
Дай мне хоть олну причину для того, чтобы это делать, если скорость работы на порядок выше минимально необходимой, код работает корректно и я сделал за день то, на что раньше уходили недели? Чем вывод strace читать, я лучше лишний раз друзей повидаю или вот комментарий на опеннете оставлю пока барышня чай заваривает.
| |
|
5.110, Iaaa (ok), 13:48, 19/02/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
"для решения прикладной задачи" вам хватит и шелла/перла/питона. Зачем городить огород с го?
| |
|
6.116, Василий Теркин (?), 15:15, 19/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
"вам хватит и шелла/перла/питона"
Golang пошустрее будет и системных ресурсов жрет поменьше. Гвоздь можно забить лбом, камнем, молотком и с помощью специализированного инструмента. Результат будет один, но вот процесс будет отличаться.
| |
6.118, Аноним (-), 16:14, 19/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
Так и есть, и действительно долго хватало Питона с Башем ну буквально для всего. Но со временем «всего» стало в десять раз больше, а тайминги стали короче, и Питона перестало хватать. Переписывание же прямо в лоб на Го дало прирост скорости настолько большой, что пока всего не станет раз в тридцать больше, можно не тратить время ни на какие оптимизации и просто оставить как есть. То, что можно написать на Баше я пишу на Баше. А что нельзя — то сразу на Го, чтобы потом снова не переписывать. Это, конечно же, совершенно неправильно, и софт так не разрабатывют, и писать надо всенепременно на Си с ручной оптимизацией на ассемблере, но мне моё время дорого и, как я уже писал выше, мне его есть чем занять кроме работы.
| |
|
|
|
3.67, Аноним (-), 20:29, 18/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
На любом языке можно непонятно писать. Знаю нескольких индивидов, которые намеренно усложняют написанный код.
| |
|
4.99, Аноним (-), 08:32, 19/02/2018 [^] [^^] [^^^] [ответить]
| +4 +/– |
Я тоже знаю. Все они, почему-то, любят Rust, что настораживает меня в отношении этого языка.
| |
|
|
2.52, Онаним (?), 18:52, 18/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
Вы абсолютно правы. И обще известный факт в том, что главная фишка Go - защита от дурака и от "художника", чтобы все люди писали простой тупoй код в котором сложно напортачить, сложно перемудрить и который легко понять и поддерживать. А в качестве бонуса даётся внезапно очень неплохая производительность.
| |
2.106, null (??), 12:14, 19/02/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Си они не осилили на достаточном уровне, а работать надо.
ты не поверишь, но именно для этого его и запилили, цель достигнута. язык с защитой от дурака, ограниченным функционалом. щщщикарно!
| |
2.154, freehck (ok), 22:04, 21/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Как язык лучше всех Idris. Но пользоваться им нереально.
Посмотрите тогда на Ocaml. Если использовать его в паре со стандартной библиотекой Core, то это фактически единственный ML-подобный язык, которым реально удобно пользоваться.
| |
|
1.4, Аноним (-), 11:30, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –9 +/– |
Это тот который из-за кривизны синтаксического анализатора не поддерживает оформление фигурных скобок по GNU нотации ?
| |
|
2.5, Вадик (??), 11:55, 18/02/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
Есил ты пытаешься идти против мейнстрима, то в любом языке ты за это будешь получать по голове. А по поводу GNU-нотации: ты явно пытаешься делать что-то неправильно.
| |
|
3.11, Аноним (-), 12:43, 18/02/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
Прошу простить великодушно, однако у вас какая-то особая возбудимость на вопрос. Вы невнимательны. Кто-то говорил что-то против мейнстрима ? Но я вас прощаю. У меня лишь пара вопросов. К чему вы упомянули слово мейнстрим ? Что вы имеете в виду говоря о том что я делаю что-то неправильно ? Ведь я не говорил в своем вопросе о том что я что-то делаю.
| |
|
4.21, Аноним (-), 14:40, 18/02/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Что вы имеете в виду говоря о том что я делаю что-то неправильно ? Ведь я не говорил в своем вопросе о том что я что-то делаю.
Ты ничего не делаешь, но рассказываешь всем, как правильно, — вот что ты делаешь неправильно.
| |
|
5.24, Аноним (-), 15:13, 18/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
Рискну предположить что у вас аналогичная неприятность что и у предыдущего автора. Вы тоже невнимательны. Смиренно прошу указать мне где я что-то утверждал о правильности чего бы то ни было. Я лишь задаю вопросы. На которые вы не можете дать конкретных ответов. Жалкие высказывания которые я получаю лишь подтверждают мои опасения. Предыдущий автор утверждал что я что-то пытаюсь делать, при том что я этого не говорил, вы утверждаете что я ничего не делаю, при том что я этого тоже не утверждал. Вы уж определитесь, господа, что конкретно вы имеете ввиду. Господа, не теряйте лицо, сконцентрируйтесь. Постарайтесь быть логичными в своих суждениях.
| |
|
|
|
2.76, Аноним (-), 21:00, 18/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Это тот который из-за кривизны синтаксического анализатора не поддерживает оформление
> фигурных скобок по GNU нотации ?
Это тот, в котором есть своя нотация для оформления кода.
| |
|
1.25, Аноним (-), 15:43, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
В Арче прилетела обнова, которая на 392 Мб больше чем 9 версия, спрашивается, откуда такой размер?
| |
1.30, Аноним (-), 16:37, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Язык, который отчаянно пытается избежать ООП, но вместо того чтобы предложить более гибкую систему типов взамен, мастерит костыли. Язык в котором если нужно поместить данные разных типов в коллекцию нужно делать коллекцию пустых интерфейсов.
| |
|
2.39, KonstantinB (ok), 17:42, 18/02/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
Язык, в котором изначально заложено ключевое для ООП понятия интерфейса, не может избегать ООП.
Можно сказать, что Go избегает C++-подобного ООП, с его наследованием. Если же под ООП понимать Smalltalk, то в Go вполне себе ООП.
| |
|
3.100, Аноним (-), 08:40, 19/02/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Можно сказать, что Go избегает C++-подобного ООП, с его наследованием. Если же
> под ООП понимать Smalltalk, то в Go вполне себе ООП.
Интересно, что вы хотели сказать. Что в Smalltalk нет наследования, или что в Smalltalk есть интерфейсы, как отдельная сущность, или что в Smalltalk нет upcasting и downcasting? Я бы побоялся сравнивать Go с таким мастодонтом, как Smalltalk - не дорос он ещё, даже Java и C# ещё не доросли.
| |
|
4.157, Аноним (-), 05:50, 22/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
Тут надо зрить не в синтаксис и детали реализации, а в корень, в смысл вещей.
Гошные интерфейсы это и есть обмен сообщениями между объектами, только с проверкой времени компиляции. Сам объект не в курсе, что он реализует интерфейс.
| |
|
|
2.77, angra (ok), 21:09, 18/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Язык в котором если нужно поместить данные разных типов в коллекцию нужно делать коллекцию пустых интерфейсов.
А как надо было делать в типизированном ЯП? Покажи. Заодно раскрой, как это связано с ООП.
| |
|
3.130, анон (?), 20:57, 19/02/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Давайте тогда сделаем так, чтобы мне не нужно было их кастить к тому единственному типу, который я туда положил, когда я хочу их получить назад и своего, например "container/list".
| |
|
|
1.69, Аноним (-), 20:41, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
Гугловцы сами заявляли, что Go для неопытных студентиков, которые только-только из универов пришли, типа чтобы не накосячили давайте им просто руки свяжем
| |
|
2.73, Мураками (?), 20:57, 18/02/2018 [^] [^^] [^^^] [ответить]
| –3 +/– |
это для тех студентов которые учат Си на первых курсах ?
а может вы что-то приврали ?
| |
|
|
4.82, Аноним (-), 23:04, 18/02/2018 [^] [^^] [^^^] [ответить]
| +8 +/– |
> Сейчас и ЕГЭ можно на Си здавать.
> здавать.
Здавальщикам виднее.
| |
|
|
|
1.78, Аноним (-), 22:18, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
"The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt."
– Rob Pike
https://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/From-Parallel-to-Con , 21:20
Это все, что нужно знать о Go приличному человеку.
| |
|
2.86, angra (ok), 00:34, 19/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
Полная противоположность Go с этой точки зрения - Perl. Интересно, "приличные люди" им владеют или он для них слишком сложный и непонятный?
| |
|
3.105, leap42 (ok), 12:01, 19/02/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
за приличных людей не скажу, но самом пишу в основном на Go, а раньше писал на Perl (и учился на нём), всё ок, брат жив (но его нет)
| |
|
4.109, angra (ok), 13:34, 19/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
Дык, я и сам такой. Разве что Perl был далеко не первым и я по-прежнему его активно использую для части задач. Но интересно всё-таки мнение "приличных людей" :)
| |
|
|
2.148, Аноним (-), 23:30, 20/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
И что в этом плохо? Или это что-то из рассказов прос настоящих мужиков, которые бреются бензопилами?
| |
|
1.90, Ne01eX (ok), 01:06, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Буквально вчера повторно наткнулся на перевод Виктора Черкасова (n0xi0uzz) (тут -> http://netsago.org/ru/docs/1/16/) статьи GoForCPPProgrammers (тут -> https://github.com/golang/go/wiki/GoForCPPProgrammers).
Привёл обе ссылки, так как перевод слегка устарел и чутка отличается от оригинала.
P.S. Ни разу не фанат Go, но считаю что ознакомится с этой статьёй всё же стоит. [u]Хотя бы для формирования собственной точки зрения, хоть на чём-то основанной...[/u]
P.P.S. Там же, на Netsago.org есть подобная статья про Objective-С (http://netsago.org/ru/docs/1/15/). Тоже в переводе от n0xi0uzz.
UPD: Включите же уже наконец мне фильтр ввода с поддержкой html-тегов для комментов. Злоупотреблять не буду. :-)
| |
|
2.92, angra (ok), 02:35, 19/02/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Статья(оригинал) в целом годная, но есть в ней одна повторяющаяся ошибка. В go не передачи по ссылке, только по значению. Все случаи, когда в статье упоминается передача по ссылке, на самом деле происходит передача значения. Другое дело, что значением является структура с указателем в одном из полей.
| |
|
1.113, adolfus (ok), 14:04, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Время нынче такое, что если нет ISO/IEC стандарта, то использовать язык можно только ради сиюминутных поделок -- для серьезных приложений нужна прежде всего стабильность. У нас есть софт (с, фортран), который почти 20 лет (с 1999 г.) используется практически без каких-либо изменений и только периодически пересобирается под новое окружение и железо. Я даже представить себе не могу, что было бы сегодня, если бы тогда не уговорили заказчика писать под солярис -- заказчик очень хотел NT. Сегодня все это работает и под солярой 20-летней давности и под разножёпицей нынешних линуксов.
| |
|
2.114, Аноним (-), 14:31, 19/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
Да где эти серьёзные приложения? Они есть, конечно, но захлынула масса как раз одноразовых приложений. А вот тут-то раздолье...
| |
2.117, Ne01eX (ok), 15:49, 19/02/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Время нынче такое, что если нет ISO/IEC стандарта, то использовать язык можно
> только ради сиюминутных поделок -- для серьезных приложений нужна прежде всего
> стабильность. У нас есть софт (с, фортран), который почти 20 лет
> (с 1999 г.) используется практически без каких-либо изменений и только периодически
> пересобирается под новое окружение и железо. Я даже представить себе не
> могу, что было бы сегодня, если бы тогда не уговорили заказчика
> писать под солярис -- заказчик очень хотел NT. Сегодня все это
> работает и под солярой 20-летней давности и под разножёпицей нынешних линуксов.
То что у вас есть сейчас возможность собирать софт под современное рабочее окружение и железо, как раз таки заслуга не Солярки, а разножёпых линуксов, которых кроме приверженности к GNU порой действительно больше ничего не объединяет. Но и это, на самом деле довольно много и ценно само по себе.
А тот же компилятор Go входит в поставку и набора компиляторов GNU GCC и в виде самостоятельного кроссплатформенного компилятора.
P.S. Ни разу не фанат Go. :-)
| |
2.123, Аноним (-), 18:08, 19/02/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Время нынче такое, что если нет ISO/IEC стандарта, то использовать язык можно
> только ради сиюминутных поделок -- для серьезных приложений нужна прежде всего
> стабильность.
Муахаха. С релиза 1.0 ни разу обратную совместимость не сломали, а вот в компиляторах стандартизированных плюсов ломают регулярно.
| |
|
|