Re: Про true-сишников
От: student__  
Дата: 13.02.25 12:13
Оценка: :)
Здравствуйте, Shmj, Вы писали:
S>Замечали ли вы, что на голом Си проекты получаются как бы более компактными и выразительными? Но нужно уметь писать, не пытаться в ООП и пр. извраты.

А разве .NET не уделывает сишный компилятор по оптимизациям?
В оптимизацию JVM тоже вбухано большое количество средств, в т.ч. профессура со скубентами.
Отредактировано 13.02.2025 12:17 student__ . Предыдущая версия .
Re[2]: Про true-сишников
От: пффф  
Дата: 13.02.25 12:45
Оценка:
Здравствуйте, Doom100500, Вы писали:

D>
D>Matrix a = NewMatrix(rows, cols, 1);
D>


D>Чем отличается от


D>
D>Matrix* a = new Matrix(rows, cols, 1)  ?
D>


В плюсах new будет не нужен, класс матрицы сам будет управлять памятью
Re[2]: Про true-сишников
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 13.02.25 12:49
Оценка:
Здравствуйте, student__, Вы писали:

__>А разве .NET не уделывает сишный компилятор по оптимизациям?

__>В оптимизацию JVM тоже вбухано большое количество средств, в т.ч. профессура со скубентами.

Уверен, что в JavaScript вбухано ещё больше. Сейчас активно вбухивают в Питон.
Re[2]: Про true-сишников
От: wl. Россия  
Дата: 13.02.25 15:05
Оценка:
Здравствуйте, student__, Вы писали:

__>А разве .NET не уделывает сишный компилятор по оптимизациям?


Насколько я понимаю, там где С уместно применять, типа драйверы, подобные оптимизации могут быть вообще вредны, а С — ассемблер высокого уровня
Re: Про true-сишников
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.02.25 16:03
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Встречали ли вы таких? Как относитесь?


Ну, я сам так умею.

В этой программе чуть больше, чем 300 строк. Когда размер растет, требуется немного побольше архитектуры. А то подохнешь.
Re[2]: Про true-сишников
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.02.25 16:05
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>По стилистике это писал "бородатый физик в свитере с оленями". Хотя в своей области он может быть весьма ученым мужем, к разработке его лучше не допускать.


Если ты когда-нибудь видел стандарты про криптографию, там обычно приводятся в приложениях примеры кода. Как раз в стиле "с оленями". Этот код все же гораздо лучше
Re[3]: Про true-сишников
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.02.25 16:06
Оценка:
Здравствуйте, opfor, Вы писали:

O>Да уж, Си прост, как калоша. Не то что эти ваши Swift'ы с какими-то guard'ами, reference cycle'ами и async'ами — пока разберешься, проще на сях свой компилятор написать.


Коммитет по стандартизации упорно работает над тем, чтобы Си перестал быть простым, как калоша. И у них получается...
Re[2]: Про true-сишников
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.02.25 16:29
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>У меня такое мировоззрение. Хотя я и Си не одобряю, но из доступного-популярного он ближе остальных к "идеалу". C и Go, в зависимости от уместности GC.


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

        data := []byte("hello")
        data = append(data, []byte(", world!")...)
        hello := data
        data = append(data, []byte(" Oo")...)
        copy(data, []byte("12345"))
        fmt.Printf("%s\n", hello)


Что в итоге напечатается, зависит от количества байтов, которые добавляются в 4-й строке.

Для сишника это очевидно, а как это понимают люди, не умеющие в Си, ума не приложу...

Ну и не будем забывать, что bytes.Buffer.Bytes() возвращает "указатель" (вернее, слайс) на внутренний буфер...
Re[3]: Про true-сишников
От: student__  
Дата: 13.02.25 18:01
Оценка:
Pzz>Для сишника это очевидно, а как это понимают люди, не умеющие в Си, ума не приложу...

Для сишника здесь вообще ничего не очевидно, потому что он не знает семантики операций со слайсами. Откуда вот это обожествление сишников?
Re[4]: Про true-сишников
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.02.25 18:11
Оценка:
Здравствуйте, student__, Вы писали:

Pzz>>Для сишника это очевидно, а как это понимают люди, не умеющие в Си, ума не приложу...


__>Для сишника здесь вообще ничего не очевидно, потому что он не знает семантики операций со слайсами. Откуда вот это обожествление сишников?


Зато сишник совершенно свободно живет в мире, в котором разные указатели могут ссылаться на пересекающуюся память.
Re[2]: Про true-сишников
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.02.25 18:15
Оценка:
Здравствуйте, student__, Вы писали:

S>>Замечали ли вы, что на голом Си проекты получаются как бы более компактными и выразительными? Но нужно уметь писать, не пытаться в ООП и пр. извраты.


__>А разве .NET не уделывает сишный компилятор по оптимизациям?


С чего бы ему его уделывать?
Re[3]: Про true-сишников
От: student__  
Дата: 13.02.25 18:36
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>С чего бы ему его уделывать?


Например, векторизация циклов с учётом самой мощной версии SIMD.
Re[4]: Про true-сишников
От: opfor  
Дата: 13.02.25 22:26
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Коммитет по стандартизации упорно работает над тем, чтобы Си перестал быть простым, как калоша. И у них получается...


и чем они его так усложнили, можно пример?
Re[4]: Про true-сишников
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.02.25 05:51
Оценка:
Здравствуйте, student__, Вы писали:
__>Например, векторизация циклов с учётом самой мощной версии SIMD.
А разве в CLR уже завезли векторизацию циклов?
Когда я смотрел на это в последний раз, фича была низко в списке приоритетов.
Авто-векторизация — очень хрупкий процесс, даже в AOT компиляторах, у которых нет ограничений по бюджету на оптимизацию.
Если у вас есть задача, которая может выиграть от векторизации, то в CLR вы делаете векторизацию руками, и у вас есть некоторая гарантия, что код останется векторизованным, даже если что-то вокруг него изменится.
В частности, некоторые конкретные идиому (вроде поиска элемента в массиве или арифметики с типами Vector<T>) векторизованы на уровне C#-кода, что позволяет получить преимущества от SIMD даже тем разработчикам, которые не интересуются интринсиками.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Про true-сишников
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.02.25 05:53
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>В этой программе чуть больше, чем 300 строк. Когда размер растет, требуется немного побольше архитектуры. А то подохнешь.

Ну так в этой программе уже овердохрена архитектуры. В частности ФВП эмулируются макросами
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Про true-сишников
От: ononim  
Дата: 14.02.25 07:35
Оценка:
Pzz>>С чего бы ему его уделывать?
__>Например, векторизация циклов с учётом самой мощной версии SIMD.
а почему ты думаешь что в С этого нету?
https://stackoverflow.com/questions/409300/how-to-vectorize-with-gcc
Как много веселых ребят, и все делают велосипед...
Re[2]: Про true-сишников
От: Shmj Ниоткуда  
Дата: 14.02.25 07:48
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Это что, чатгопота подсказала?


Уже не смешно.
=сначала спроси у GPT=
Re[2]: Про true-сишников
От: Shmj Ниоткуда  
Дата: 14.02.25 07:53
Оценка:
Здравствуйте, student__, Вы писали:

__>А разве .NET не уделывает сишный компилятор по оптимизациям?

__>В оптимизацию JVM тоже вбухано большое количество средств, в т.ч. профессура со скубентами.

Возьмите консольное приложение на C и на .Net. Запустите. Просто пустое консольное. Заметите тормоза при запуске невооруженным глазом.
=сначала спроси у GPT=
Re[2]: Про true-сишников
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 14.02.25 08:06
Оценка:
Здравствуйте, Нomunculus, Вы писали:

Н>Ох уж эти оптимизаторы писанины хреновы. Любители макросов обдолбанные


Н>

Н>#define LOOP(i, j) for (int i = 0; i < j; i++)


Н>Вот сложно да, каждый раз «for” писать??? Неее. Будет вводить свои слова, что читающий каждый раз вспоминал, что ты там за слова напридумывал.

Н>Придурки

Есть люди, которым сложно следить за тем, чтобы, например, в for (int i = 0; i < j; i++) все три раза упоминалась одна и та же переменная `i`, а не разные.

Для таких придумали foreach во всяких C#, for (var : range) в C++, ну а в C приходится макрить.

Не могу гарантировать, что у автора того кода именно эта проблема, но вероятность не ноль.
The God is real, unless declared integer.
Re[3]: Про true-сишников
От: Нomunculus Россия  
Дата: 14.02.25 08:12
Оценка:
Здравствуйте, netch80, Вы писали:

Ну обозвал бы хоть FOR_LOOP. Потому что LOOP(i, j) вполне можем значить while(i<j)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.