Re[10]: C++ illegal instruction
От: Pzz Россия https://github.com/alexpevzner
Дата: 06.08.25 20:54
Оценка: +1 :)))
Здравствуйте, serg_joker, Вы писали:

Pzz>>Вот за что я люблю Go, в нем нету предупреждений. Отсутствие явного return в функции, которая обещала вернуть значение, это ошибка компиляции.

_>Уверен, что если бы С++ делали сейчас или даже 20 лет назад и без груза совместимости с С, то поступили бы так же.

Ну, C++ вообще делали какие-то маньяки. В отличии от Си.
Re[11]: C++ illegal instruction
От: serg_joker Украина  
Дата: 06.08.25 21:21
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>Ну, C++ вообще делали какие-то маньяки. В отличии от Си.

Я немножечко фанат, оспаривать тезис не буду Какая часть несуразностей — результат маньячности, а какая — следствие исторического развития и поиска, я не берусь судить.
С++ — точно не идеал, и не близок, но для меня преимущества по сравнению с другими языками, значительней, чем недостатки. Однако то, что для других задач, или для человека с другим складом характера, С++ будет максимально контрпродуктивным, вполне представить могу.
Re[9]: C++ illegal instruction
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.08.25 21:31
Оценка: :)
Здравствуйте, Pzz, Вы писали:

M>>Я, кстати, неоднократно откушивал говнеца, когда забывал сделать возврат, и лень было разбираться в простыне варнингов, среди которых были и предупреждения о том, что нет return. А если бы вставлялась такая инструкция, то падало бы сразу и в конкретном месте, ничего бы искать не надо было


Pzz>Вот за что я люблю Go, в нем нету предупреждений. Отсутствие явного return в функции, которая обещала вернуть значение, это ошибка компиляции.


В плюсах гибче — хочешь писать говнокод — пиши. Не хочешь — не пиши.
Маньяк Робокряк колесит по городу
Re[10]: C++ illegal instruction
От: Pzz Россия https://github.com/alexpevzner
Дата: 06.08.25 21:33
Оценка:
Здравствуйте, Marty, Вы писали:

Pzz>>Вот за что я люблю Go, в нем нету предупреждений. Отсутствие явного return в функции, которая обещала вернуть значение, это ошибка компиляции.


M>В плюсах гибче — хочешь писать говнокод — пиши. Не хочешь — не пиши.


Ну да. В Go — фашизм и концлагерь. Говнокод писать не разрешают.
Re[11]: C++ illegal instruction
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.08.25 21:36
Оценка:
Здравствуйте, Pzz, Вы писали:

M>>В плюсах гибче — хочешь писать говнокод — пиши. Не хочешь — не пиши.


Pzz>Ну да. В Go — фашизм и концлагерь. Говнокод писать не разрешают.


Приходи, когда на твоём Go дрова начнут писать
Маньяк Робокряк колесит по городу
Re[12]: C++ illegal instruction
От: Pzz Россия https://github.com/alexpevzner
Дата: 06.08.25 21:42
Оценка:
Здравствуйте, Marty, Вы писали:

Pzz>>Ну да. В Go — фашизм и концлагерь. Говнокод писать не разрешают.


M>Приходи, когда на твоём Go дрова начнут писать


Что есть дрова?

IPP over USB в Linux (такая довольно низкоуровневая штучка, позволяющая использовать довольно широкий класс принтеров и сканеров) написан на Go. Лично мной, поэтому я об этом знаю.

Тоже в своём роде дрова. Системный демон, позволяющий использовать определенный класс оборудования.

Весь мир системного программирования не сводится к написанию кода, работающего в адресном пространстве ядра.
Re[13]: C++ illegal instruction
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.08.25 22:16
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>>>Ну да. В Go — фашизм и концлагерь. Говнокод писать не разрешают.


M>>Приходи, когда на твоём Go дрова начнут писать


Pzz>Что есть дрова?


Pzz>IPP over USB в Linux (такая довольно низкоуровневая штучка, позволяющая использовать довольно широкий класс принтеров и сканеров) написан на Go. Лично мной, поэтому я об этом знаю.


Pzz>Тоже в своём роде дрова. Системный демон, позволяющий использовать определенный класс оборудования.


Pzz>Весь мир системного программирования не сводится к написанию кода, работающего в адресном пространстве ядра.


Ну хз. Когда я ставил хуки на системные вызовы винды, ломая ватсапп, я ощущал себя системным программистом. Когда я чекрыжыл UPNP/DLNA, я ощущал себя каким-то прикладным говном
Маньяк Робокряк колесит по городу
Re[11]: C++ illegal instruction
От: so5team https://stiffstream.com
Дата: 07.08.25 04:08
Оценка: :)
Здравствуйте, Pzz, Вы писали:

Pzz>Ну, C++ вообще делали какие-то маньяки.


А оценивают его сейчас вообще умственно отсталые персонажи, которые даже не знают предмета своей оценки.
Re[11]: C++ illegal instruction
От: so5team https://stiffstream.com
Дата: 07.08.25 04:21
Оценка: +1 :)
Здравствуйте, Pzz, Вы писали:

Pzz>Ну да. В Go — фашизм и концлагерь. Говнокод писать не разрешают.


"Не разрешают", а директивно заставляют говнокодить. Достаточно только на количество if err != null взглянуть.

Впрочем, если всю жизнь с удовольствием жрал чистую Сишечку с двух рук, то и Go-шечка туда же зайдет не с меньшим удовольствием.
Re[12]: C++ illegal instruction
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.08.25 05:23
Оценка: +1 :)
Здравствуйте, so5team, Вы писали:

Pzz>>Ну, C++ вообще делали какие-то маньяки.


S>А оценивают его сейчас вообще умственно отсталые персонажи, которые даже не знают предмета своей оценки.


Бе-бе-бе.
Re[12]: C++ illegal instruction
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.08.25 05:26
Оценка:
Здравствуйте, so5team, Вы писали:

Pzz>>Ну да. В Go — фашизм и концлагерь. Говнокод писать не разрешают.


S>"Не разрешают", а директивно заставляют говнокодить. Достаточно только на количество if err != null взглянуть.


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

Задачу поиска соответствующих дискуссий в Интернете оставлю в качестве домашнего задания пытливому читателю.
Re[13]: C++ illegal instruction
От: so5team https://stiffstream.com
Дата: 07.08.25 05:52
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Это — вполне сознательное и аргументированное решение. Многократно публично обсуждавшееся.


По факту превращающее любой более-менее нетривиальный код в известную субстанцию.
То, что это было сделано сознательно, оправданием не является.

Хотя тут еще вопрос: а делают ли на Go что-то более-менее нетривиальное?

Разработчики Go вообще умудрились в 2009-ом прозевать историю с добавлением обобщенного программирования в те же Java и C#.
Делать в это время язык без генериков, ну такое себе. С вполне предсказуемым результатом: через какое-то время пришлось прикручивать сбоку синей изолентой.

Go, особенно когда дифирамбы ему начинают петь персонажи вроде вас, выглядит хорошим подтверждением тезиса: можно сделать инструмент, которым сможет пользоваться даже дебил, но только дебилы и будут им пользоваться.
Re[14]: C++ illegal instruction
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.08.25 06:00
Оценка:
Здравствуйте, so5team, Вы писали:

S>Хотя тут еще вопрос: а делают ли на Go что-то более-менее нетривиальное?


Что дла вас нетривиальное?
Re[15]: C++ illegal instruction
От: so5team https://stiffstream.com
Дата: 07.08.25 06:13
Оценка:
Здравствуйте, Pzz, Вы писали:

S>>Хотя тут еще вопрос: а делают ли на Go что-то более-менее нетривиальное?


Pzz>Что дла вас нетривиальное?


Microsoft Excel или LibreOffice Calc, например.
Или JavaScript V8 engine.
Re[16]: C++ illegal instruction
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.08.25 06:20
Оценка:
Здравствуйте, so5team, Вы писали:

Pzz>>Что дла вас нетривиальное?


S>Microsoft Excel или LibreOffice Calc, например.

S>Или JavaScript V8 engine.

А можно задать нетривиальное в терминах свойств, делающих продукт нетривиальным, а не перечислением?
Re[17]: C++ illegal instruction
От: so5team https://stiffstream.com
Дата: 07.08.25 06:31
Оценка: :)
Здравствуйте, Pzz, Вы писали:

Pzz>А можно задать нетривиальное в терминах свойств, делающих продукт нетривиальным, а не перечислением?


Нельзя, это нетривиально.
Re[18]: C++ illegal instruction
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.08.25 07:41
Оценка:
Здравствуйте, so5team, Вы писали:

Pzz>>А можно задать нетривиальное в терминах свойств, делающих продукт нетривиальным, а не перечислением?


S>Нельзя, это нетривиально.


Ну, тады ой. Нельзя постичь непостижимое.
Re[19]: C++ illegal instruction
От: so5team https://stiffstream.com
Дата: 07.08.25 08:08
Оценка:
Здравствуйте, Pzz, Вы писали:

S>>Нельзя, это нетривиально.


Pzz>Ну, тады ой. Нельзя постичь непостижимое.


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

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

Хотелось бы видеть что-то в качестве демонстрации возможностей Go.

Пока что со стороны кажется, что Go делали для людей, для которых даже Java -- это "слишкам сложно". И, вероятно, людьми, которые даже Java в силу своего "крутого" бэкграунда не освоили.

Каких-то технических аргументов за Go, особенно если принять во внимание уже существоваший в то время D (который D1, с быстрой компиляцией, с нормальной поддержкой ООП и хорошей поддержкой обобщенного программирования, с компиляцией в нативный код), в упор не видно.
Можно было бы, наверное, еще и Eiffel вспомнить, из нативных языков со сборкой мусора. Но Eiffel бы под тамошнюю целевую аудиторию точно бы не зашел.

Организационные да, видны. Мол, у нас тут куча простых парней, которым ни C++, ни даже Java, доверить нельзя. А софта из категории перекладывания json-ов, нужно писать не покладая рук. Поэтому давайте сделаем для них что-то ну совсем примитивное, с прибитыми туда гвоздями полезными фишками (вроде каналов).

Это получилось.

Получится ли у кого-нибудь в принципе на Go сделать аналог LibreOffice Calc... И если получится, то во что это обойдется... Вот это интересные и открытые вопросы.
Re[8]: C++ illegal instruction
От: alpha21264 СССР  
Дата: 07.08.25 08:42
Оценка: -1 :)
Здравствуйте, Pzz, Вы писали:

A>>При этом все эти const заметно захламляют код и не несут никакого смысла.


Pzz>const очень помогает. Но надо не забывать, конечно, правильно размечать аргументы функций, которые она не меняет.


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


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

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

Течёт вода Кубань-реки куда велят большевики.
Re[20]: C++ illegal instruction
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.08.25 08:42
Оценка:
Здравствуйте, so5team, Вы писали:

S>Примеры софта, разработка которого на любом из языков программирования будет сложной задачей с точки зрения технических вызовов, привести можно.

S>Несколько я уже упомянул.

S>Хотелось бы видеть что-то в качестве демонстрации возможностей Go.


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

Тогда тебе за примерами куда-то сюда: https://blog.kowalczyk.info/article/9afe3485f2204f1bb43217d70f7b87d4/big-projects-written-in-go.html

S>Пока что со стороны кажется, что Go делали для людей, для которых даже Java -- это "слишкам сложно". И, вероятно, людьми, которые даже Java в силу своего "крутого" бэкграунда не освоили.


Ты видишь в Go язык, созданный идиотами для идиотов.

Я вижу что за Go стоят люди, которые подарили миру UNIX и Си — проекты, определившие направление развития индустрии на десятилетия.

Над UNIX тоже, кстати, смеялись. Дескать, игрушечная ОС, не серьёзная. Ну что за ОС такая, написана на языке высокого уровня, а не на православном ассемблере (к тому же, весьма странном языке по тем временам, это сейчас мы привыкли), в которой всего 20 системных вызовов.

В промежутке был Plan9 с созданном специально для него языке Alef. Go очень похож на Alef, только синтаксис чуть более молодёжный. И GC добавили (но былa еще ОС Inferno с языком Limbo, в нём был GC).

Plan9 редко используется в чистом виде, но его растаскали по цитатам. Linux namespaces, procfs, sysfs и т.п. — это прямое наследие Plan9.

С учётом всего этого, Go — это такой C 2.0, прямое продолжение цепочки C -> Alef/Limbo -> Go. Созданный с учётом всего этого опыта и со многими исправленными ошибками Си. У Go даже рантайм изображает из себя модель Plan9, как сишный рантайм — это модель UNIX.

S>Организационные да, видны. Мол, у нас тут куча простых парней, которым ни C++, ни даже Java, доверить нельзя. А софта из категории перекладывания json-ов, нужно писать не покладая рук. Поэтому давайте сделаем для них что-то ну совсем примитивное, с прибитыми туда гвоздями полезными фишками (вроде каналов).


Это — полезный побочный эффект. Возможно, даже запланированный Пайком, чтобы Гуглю было интересно профинансировать этот проект. Или "обналичивающий" те наработки, которые десятилетиями были заложены в более ранние проекты тех же людей и оказали влияние на развитие индустрии в целом.

S>Получится ли у кого-нибудь в принципе на Go сделать аналог LibreOffice Calc... И если получится, то во что это обойдется... Вот это интересные и открытые вопросы.


Детский какой-то вопрос. А можно ли переписать LibreOffice с нуля на Go? Ну можно, наверное. Что в этоге получится? Ну, видимо, LibreOffice, переписанных на Go
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.