LINUX.ORG.RU

Ответ на: комментарий от Harald

открой дизайн драфт по ссылке, и прочитай

seiken ★★★★★
()

Ну наконец-то, уже сколько лет ждал. Пользоваться GO, я всё-равно, конечно, не буду.

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

Надо же, до них дошло, что убогость языка - не есть хорошо и они начали постепенно его улучшать?

Begemoth ★★★★★
()

Они туда подкатывать начали года 3-4 назад. Мне вот интересно, что быстрее завезут, нормальное метапрограммирование в плюсы, или дженерики в го.

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

Просто пришло время, когда продукт с запланированным дефектом можно улучшить. Всё по методичкам эффективных. А до поры приходилось придуриваться, что авторы Go чего-то там не понимают в CS. Или думают над дизайном. Думают год, думают два... Дедушки старенькие, думают медленно. Цирк такой.

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

Получается дедушки понимают в бизнесе раз Go так взлетел. В языки делаются для бизнеса, а не чтобы щекотать эстетическое чувство школьников-хаскеллистов.

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

Дома, когда у меня нету сроков, когда есть время для развлекательного кодинга и экспериментов - я бы на Го не писал

vertexua ★★★★★
() автор топика
Последнее исправление: vertexua (всего исправлений: 2)

Но ведь все говорили, что дженерики не нужны.

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

Это было известно с самого начала. Улучшать начали потому что тупые джуны не настолько выгодны как было запланировано

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

языки делаются для бизнеса

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

Но не сбрасывайте со счетов джаву. И этого франкенштейна приводят в божеский вид.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 2)
Ответ на: комментарий от TooPar

Тупые джуны выросли и стали опытными инженерами (те, кто выжил). Теперь можно им и получше ЯП дать. А джунов больше в Го не берут. Да скоро всё IT окуклится в закрытую касту, и там будут более сложные концепции в почёте. Эпоха пыхпыхов заканчивается. Даже жаль, я вот уже не осиливаю расты всякие. Мне пыхпых в самый раз по уму.

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

С чего это она заканчивается? Программеры стали сами себе килобаксы платить, штоле? Нед, всё так же клиенты и продукты их кормят

TooPar
()

Го — первый язык, в котором type families появились раньше, чем generics.

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

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

в плюсах сейчас лучшее метапрограммирование, ну может, кроме некоторых лиспоподелий и раста (его не особо ковырял, не знаю)

next_time ★★★★★
()

Все нужные языки уже изобрели в прошлом веке. Ящитаю, нужно запретить изобретательство новых язычков, чтоб не распылять интеллектуальные усилия впустую, а кто не осилил существующие - в биореактор. Так победим!

Harald ★★★★★
()

я установил метапакет golang в меню его нет, консоль пишет что команда не найдена что это было то? Или как по другому его установить?

XoFfiCEr ★★☆☆
()

Уфф, ну кстати это предложение выглядит поадекватей, чем первое с контрактами.

derlafff ★★★★★
()

Сначала у клона Оберона синтаксис у C++ притащили, а теперь ещё и шаблоны тащат.

#lol no generics

X512 ★★★★★
()

Ещё лет через десять и нормальную обработку ошибок подкатят. Классный язык будет.

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

в плюсах сейчас лучшее метапрограммирование

Сколько километров портянок нужно написать, чтобы перебрать все поля класса? А класса с нетривиальным конструктором?

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

Нисколько - в случае проприетарной библиотеки, когда доступны только заголовочники и .so||.dll, задача просто не имеет смысла.

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

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

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

Да, Go как раз и повышает производительность программиста.

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

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

Программеры стали сами себе килобаксы платить, штоле? Нед, всё так же клиенты и продукты их кормят

Да они уже по факту на велфере у гигантских корпораций. Кто сейчас будет платить за продукты? В лучшем случае донаты какие-то перепадают. Доходы айтишных контор очень мутные. Там реклама-хренама какая-то. Всё это прикрытие распила государственных бюджетов. А мелкие ремесленники с пыхыпой уже никому нахрен не нужны. Там бизнес уже уровня сантехников из жэка: кран подтянуть, толчок прочистить.

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

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

Это работает в утилитах уровня grep, а когда пилишь проект очередного гугла, на худой конец просто CRM, то копипаст резко снижает производительность труда разрабов после пересечения определенной границы. И бизнес вынужден нанимать миллион мартышек, чтобы постоянно поддерживать этого уродца от сваливания всей конструкции в бездну.

Но как я и говорил, в современной копроэкономике это работает, а если работает - не трожь.

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

Получается дедушки понимают в бизнесе раз Go так взлетел. В языки делаются для бизнеса, а не чтобы щекотать эстетическое чувство школьников-хаскеллистов

А теперь перечисли проекты, которые не взлетели. Тот факт, что нода успешно конкурирует с Go, говорит о том, что язык таки ни разу не безупречный. При том, что нода появилась примерно в одно время с Go, и стиль писания на ноде значительно отличался от обычного клиентского JS.

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

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

А я давно пишу, что Go — это специализированный язык для написания микросервисов. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются. По этой причине я считаю некорректной формулировку «задачи которые на него в итоге начала возлагать индустрия», потому что изначально эта же задача и стояла перед гуглом, никакой другой не было.

И да, примерно поэтому язык «скучный».

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

Язык конечно скучнейший, тут не поспоришь.

vertexua ★★★★★
() автор топика
Ответ на: комментарий от Ivan_qrt
#include <iostream>
#include <fstream>
#include <string>

#include "boost/pfr.hpp"

struct some_person {
  std::string name;
  unsigned birth_year;
};

int main(int argc, const char* argv[]) {
  some_person val{"Edgar Allan Poe", 1809};

  std::cout << boost::pfr::get<0>(val)                // No macro!
      << " was born in " << boost::pfr::get<1>(val);  // Works with any aggregate initializables!

  if (argc > 1) {
    std::ofstream ofs(argv[1]);
    ofs << boost::pfr::io(val);                       // File now contains: {"Edgar Allan Poe", 1809}
  }
}

https://github.com/apolukhin/magic_get

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

Го — скучный язык решающий все задачи. Раст — нескучный язык не решащий ни одной задачи. Се ля ви. Нескучные языки удел яйцеголовых мутантов. Для народного хозяйства непригодны.

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

Ну то, что Полухин, за что ему огромное спасибо, написал километры портянок за нас, я в курсе. Потому и спросил ещё и про классы с нетривиальным конструктором.

То, что на плюсах костылями и подпорками, типа перебора возможных типов на основе размера и sfinae можно делать много метамагии я не спорю, но это именно метамагия, а не метапрограммирование, т.к. она содержит странные ограничения и может сломаться в неподходящий момент. Типа немного изменили тип поля класса и отвалился вывод в лог или сериализация.

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

Ну да, если в проекте есть проприетарная либа, то это сразу отменяет надобность в сереализации/десереализации. Что ещё расскажешь?

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

Кого это нас? Пролетариев что ли? Так ведь пролетарии определяют главенствующий стек технологий. Поэтому там жаба, го и пых, а вовсе не растохацкели.

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

Ну не Украина тюрьма народов, так что это явно не наше слово. Но да, ты правильно указал свое место

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

Однако ты виртуозно владеешь этой феней, намного лучше меня. Наверно потому что я только наполовину украинец. Хотя у тебя же родной язык такая феня, что российские подонки нервно курят в коридоре. Здесь люди стесняются такой лексики, а вам там прямо в газетах и по телеку такое задвигают черноземные интюлюхенты. Поэтому привычка к хамству вырабатывается с детского садика.

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

Go — это специализированный язык для написания микросервисов. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются

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

Питон — это специализированный язык для написания скриптов непрограммистами. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются.

php — это специализированный язык для написания веба. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются.

java — это специализированный язык для написания бизнес логики. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются

…ну ты понял. Почему-то в дикой природе выживают именно «специализированные» языки, а не академические сферические кони.

no-such-file ★★★★★
()
Ответ на: комментарий от bread

Здесь люди стесняются такой лексики

От тех стесняшек «шкварки» и «набутылить» доносится чаще чем «хорошая погода». Так что не надо тут

wxw ★★★★★
()
Ответ на: комментарий от no-such-file

ну ты понял. Почему-то в дикой природе выживают именно «специализированные» языки, а не академические сферические кони

Наконец хотя бы до одного дошло. Могу пояснить конкретно по каждому языку:

Си — это специализированный язык для написания операционных систем

Возможности расширения исчерпать сложно, но скорее потому, что в этом процессе разработка превращается в ад. Писать большую сложную систему на Си — это примерно как писать драйвер nvidia на PHP. Вообще вся история приложений на Си говорит, что прикладуха на Си находится примерно в той же категории, что и прикладуха на ассемблере, то есть: тяжело разрабатывать, очень глючное, но вынужденная мера, если ресурсы целевого железа крайне ограничены. Очень часто такая «прикладуха» приколачивалась гвоздями к более низкоуровневой системной функциональности. Типичный такой пример — это Cisco, где модуль маршрутизации пакетов и модуль обеденного чая для конкретного заказчика находятся в одном адресном пространестве и одном уровне привелегий.

Питон — это специализированный язык для написания скриптов непрограммистами. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются

Исчерпать расширяемость тяжело, но проблема как раз в том, что прибитые гвоздями «расширения» никсового скриптования прибиты насмерть, и для достижения эффективного «общего назначения» нужно эту расширяемость выкорчевать из языка. Но тогда получится уже другой язык. По той причине, что никсовое скриптование может использоваться для самых разных целей, питон и считается «общего назначения».

php — это специализированный язык для написания веба

А это нужно доказывать? Я уже приводил цитаты из доков php 27-летней давности — PHP тогда делал почти то же, что и сейчас. Из пяти упомянутых это, наверное, наименее развившийся язык.

java — это специализированный язык для написания бизнес логики

Это самая сочная тема. Чисто теоретически, Java — это язык для написания прикладухи. То есть вообще любой. А следовательно, у него нет какой-то конкретной целевой сферы (если в вашем IT вся разработка не сводится к системному программированию, привет сишке). C# доказал, что Java может быть использована для писания десктопного гуя. Если брать Java с ее конкретной стандартной библиотекой образца 2005 года, то у нее нарисовался недвусмысленный уклон в сторону бизнес-серверов. Гуглу, чтобы перейти обратно к нише-первоистоку, а именно — к писанию прошивки утюгов, пришлось переделать VM и стандартную библиотеку.

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.