- 1
Подскажите программистских форумов.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
Подскажите программистских форумов.
Чтобы общаться про компьютеры с братьями по разуму.
Только без анальных правил и банов за мат. Чтобы свободное общение, так сказать. Нужны ресурсы типа говнокода, но более оживленные.
123123123 21.08.2017 23:00 # 0
inkanus-gray 22.08.2017 03:06 # 0
Нужен ли F#:
http://holywars.ru/comments/10052
printf vs std::cout:
http://holywars.ru/comments/13710
Delphi vs C++:
http://holywars.ru/comments/759
Java vs C#:
http://holywars.ru/comments/70
JVM vs .NET:
http://holywars.ru/comments/219
JS vs PHP:
http://holywars.ru/comments/4176
Статическая типизация vs динамическая:
http://holywars.ru/comments/12184
C++ vs Java:
http://holywars.ru/comments/5413
Декларативщина vs императивщина:
http://holywars.ru/comments/15320
Rust vs Go:
http://holywars.ru/comments/14886
bormand 22.08.2017 07:28 # 0
CHayT 22.08.2017 11:36 # 0
123123123 22.08.2017 11:56 # +1
roman-kashitsyn 22.08.2017 12:10 # +1
Они отлично дополняют друг друга, не понимаю, почему люди так любят линейно упорядоченные множества.
123123123 22.08.2017 12:28 # 0
roman-kashitsyn 22.08.2017 12:29 # 0
123123123 22.08.2017 12:42 # 0
roman-kashitsyn 22.08.2017 13:03 # 0
Хороший язык должен помогать бороться со сложностью, а не увеличивать её на ровном месте. Go неплохо справляется с это задачей.
123123123 22.08.2017 13:13 # 0
А сложность раста - это же так, как мы, крестушки, любим.
roman-kashitsyn 22.08.2017 13:34 # 0
Это большая проблема, очень серьёзная. Да, отсутствие дженериков причиняет сильную фантомную боль поначалу, но она довольно быстро проходит, когда начинаешь использовать язык на практике. Потому что самые полезные полиморфные примитивы (массивы, хэш-таблицы, каналы) встроены в язык, вместо ErrorOr<T> есть multi-value return (T, error). Вот оверхед от интерфейсов иногда мешает на практике, zero-cost abstractions не хватает.
Кмк, для всякого бэкэнда Go очень даже хорош, ибо позволяет в краткие сроки написать быструю и понятную программу, которую поймут и смогут расширять даже люди, не особо знакомые с языком.
subaru 22.08.2017 14:49 # 0
Мне кажется, этого не достаточно для комфортной жизни. А если захочется очередь? Использовать для этого канал? А если множество? Приспосабливать мапу? А если некий лру кэш?
Кажется, как долько задачи выходят за рамки простейшего клиент-серверного бойлерплейта, го проявляет себя во всей красе и начинается боль.
roman-kashitsyn 22.08.2017 15:13 # 0
Можно сделать на базе массива, примерно как в пакете heap.
> Приспосабливать мапу?
Да.
> А если некий лру кэш?
Если хочется универсального решения, придётся перейти на interface{} и тайп-ассёрты. Там, где начинаются полиморфные деревья, заканчивается система типов Go.
С другой стороны, если нужен LRU, часто достаточно мономорфной реализации, заточенной под конкретный тип. Конечно, каждый
плюсовик (включая меня) начинает сразу ваять сложную универсальную вундервафлю, параметризованную всяческими policy, а в конце рабочего дня, уставший, использует её ровно один раз для конкретного типа.
subaru 22.08.2017 15:33 # 0
Ну вот о том речь, что начинаются касты в интерфейс{} и обратно.
roman-kashitsyn 22.08.2017 16:00 # 0
Суть в том, что можно "типобезопасно" смотреть в строго типизированный heap[0] для получения минимума/максимума (это всё равно часто приходится делать, Peek() не завезли), а результат Pop() игнорировать.
subaru 22.08.2017 16:14 # 0
CHayT 22.08.2017 17:29 # +2
subaru 22.08.2017 17:46 # +4
inkanus-gray 22.08.2017 20:13 # 0
А вообще проще написать генератор. На чём угодно. Да хоть в bat-файле.
123123123 22.08.2017 20:54 # +1
roman-kashitsyn 22.08.2017 23:15 # +2
Фи, пацаны генерят го-код исключительно на го.
https://ideone.com/FkS0sP
вешаем на go generate и катим в прод
Забавно, оказалось, что go/ast не предназначен для генерации кода, только для парсинга.
CHayT 22.08.2017 20:25 # 0
inkanus-gray 28.08.2017 23:55 # 0
roman-kashitsyn 29.08.2017 09:57 # 0
https://groups.google.com/forum/#!forum/clay-language
Да, всё давно уже тихо. Все форки тоже засохли.
CHayT 22.08.2017 13:58 # +1
roman-kashitsyn 22.08.2017 14:06 # +1