Самый лучший университет!

Студенты БГУ откликнулись на запрет писать плохо об университете и начали поливать alma mater хвалой


В начале апреля руководство БГУ поправило «Правила внутреннего распорядка». Одним из пунктов стал запрет комментировать университет (в интернете, СМИ, соцсетях), если это несет угрозу имиджу и деловой репутации вуза. Другими словами, запрет критики БГУ. Студенты откликнулись замечательным образом, принявшись хвалить вуз направо и налево.


Возглавил движение #хвалимбгу паблик в VK «ФПМИ | Реинкарнация Подслушано». Вот некоторые выдержки из постов: «...лучший преподаватель программирования в мире. Узнал все подводные камни! Умею программировать на си, на си и даже си. Не будем забывать про ассемблер, язык 21-го века. Полностью осознал подход к программированию середины прошлого столетия, теперь думаю начать программировать, вручную переключая регистры...»

Самый лучший университет! БГУ, Минск, Республика Беларусь, Троллинг, Похвала, Длиннопост
Самый лучший университет! БГУ, Минск, Республика Беларусь, Троллинг, Похвала, Длиннопост
Самый лучший университет! БГУ, Минск, Республика Беларусь, Троллинг, Похвала, Длиннопост
Самый лучший университет! БГУ, Минск, Республика Беларусь, Троллинг, Похвала, Длиннопост
Самый лучший университет! БГУ, Минск, Республика Беларусь, Троллинг, Похвала, Длиннопост
Самый лучший университет! БГУ, Минск, Республика Беларусь, Троллинг, Похвала, Длиннопост

https://people.onliner.by/2019/04/15/bgu-12

Вы смотрите срез комментариев. Показать все
187
Автор поста оценил этот комментарий
Было бы смешно, если бы не было так грустно...
раскрыть ветку (82)
75
Автор поста оценил этот комментарий

А что грустного в ассемблере? Например, в гейм деве он очень актуален

раскрыть ветку (81)
125
Автор поста оценил этот комментарий

Если не секрет, то где?
Без всякого подкола спрашиваю, реально интересно, ибо мне всегда казалось, что в геймдеве как раз обычно используются уже достаточно высокоуровневые API либо вообще готовые движки.

раскрыть ветку (68)
80
DELETED
Автор поста оценил этот комментарий

На ZX-Spectrum кроме как на ассемблере игру не напишешь...  ;)

раскрыть ветку (6)
54
Автор поста оценил этот комментарий

Осталось только найти людей, которые сейчас буду на ZX-Spectrum играть)

раскрыть ветку (3)
54
Автор поста оценил этот комментарий

Одного хватит. Сам написал — сам поиграл.

раскрыть ветку (1)
17
Автор поста оценил этот комментарий
Тогда уж можно ничего и не писать, пофантазировал, в крайнем случае на листочке в клеточку порисовал и хватит.
2
Автор поста оценил этот комментарий

Спекки до сих пор вполне живая платформа. Игры пилятся до сих пор энтузиастами

3
Автор поста оценил этот комментарий
Там же бейсик используется
раскрыть ветку (1)
7
DELETED
Автор поста оценил этот комментарий

Basic там просто для изучения основ программирования, как таковых. Но я хотел создавать игры, и пришлось изучить ассемблер ( спасибо издательству Инфорком)

P.S. Мне тогда было 15-16 лет.

40
Автор поста оценил этот комментарий
Насчёт геймдэва хз, но вот программирование микроконтроллеров - это да. Есть конечно много вариантов на сисе, но скромный и не жадный код ассемблера куда приятнее.
раскрыть ветку (14)
26
Автор поста оценил этот комментарий

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

раскрыть ветку (7)
7
Автор поста оценил этот комментарий
Ответ прост - оптимизация. Сейчас пишу свой движ на плюсах, иногда юзаю асм вставки тк они тупо быстрее работают
раскрыть ветку (6)
4
Автор поста оценил этот комментарий

А можно пример кода, где асм работает значительно быстрее плюсов? Опять же, просто чисто из профессионального интереса, так сказать)

раскрыть ветку (5)
9
Автор поста оценил этот комментарий
Разве ассемблер не всегда быстрее плюсов? Емнип ассемблер пониже плюсов будет в архитектуре, соответственно, и работает всегда быстрее, или есть исключения?
раскрыть ветку (2)
14
Автор поста оценил этот комментарий

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

В реальных условиях для человека работающего на результат в 99 случаях из 100 си будет объективно предпочтительнее асма.

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

13
Автор поста оценил этот комментарий

В компилируемых языках с современным уровнем развития компиляторов на простых операциях повышение производительности едва ли будет заметно, т.к. в итоге всё равно будем получать тот же самый машинный код, т.е. совершенно одинаковые команды процессора. Условно, какой-нибудь простой цикл for с инкрементацией переменных будет работать точно так же, как и то же самое, написанное на ассемблере.
Опять же, я допускаю, что какие-то более высокоуровневые операции может быть быстрее осуществить с помощью асм, но вот хотелось бы увидеть примеры)

2
Автор поста оценил этот комментарий
мммм, например операция xor - на асме она быстрее выполняется)

чуть более подробные примеры с телефона сложно писать xd но например я некоторые матрицы на асме перемножаю
Автор поста оценил этот комментарий
Когда юзаешь сопроцессор/MMX/SSE, как минимум. Разница даже с сишкой по времени очень велика, например, просчет суммы элементов массива.
22
Автор поста оценил этот комментарий

серьезно? писать на ассемблере приятнее чем на си?
я не осуждаю, но ваши вкусы довольно специфичны

вместо условной команды "do_smth()" заниматься дрочевом на ассемблере, ну такое

раскрыть ветку (2)
2
Автор поста оценил этот комментарий

Будь ебанутее проще, пиши на Паскале.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Еще проще, делай перфокарты

4
DELETED
Автор поста оценил этот комментарий

Если микроконтроллер образца 1995 года, типа AVR или PIC, то да. А если это ARM типа STM32 или NXP, то хрен там был, компиляторы под С, библиотеки под C, примеры под C. 

8
Автор поста оценил этот комментарий

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

Вы реально можете писать на асме  код оптимальнее современных си компиляторов, тратить на тестирование и отладку сопоставимое время и передавать знания по задаче и алгоритмам в базы знаний?

Приятнее != эффективнее. В 2019 сфер, где асм даст хоть какой-то зримый выигрыш по совокупности характеристик практически не существует. В большинстве случаев на нём пишут по инерции, когда нет возможности перейти на что-то свежее. Не в последнюю очередь так происходит в фирмах с историей, где последние 30 лет проекты разрабатывал один и тот же разраб, который умеет писать только на асме, учиться новому не хочет, а документацию по коду не делает, потому что боится увольнения.

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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

ok

5
Автор поста оценил этот комментарий

Его скорее изучают для того, чтобы понять как работает процессор, ОС. Другое дело, что у нас, например, это было под Intel 8086 (что не совсем бесполезно - современные процессоры всё ещё совместимы с ним, а все "фишки" типа защищенного режима надо инициализировать отдельно) и в DosBox.
Пиздец в том, что все уже привыкли к туалетам без бумаги и мыла (а также горячей воды), неудобным аудиториям, придурошным преподователям и так далее.

22
Автор поста оценил этот комментарий

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


Я видел людей, которые считают, что сравнение строк и чисел равны по затратам ресурсов, видел тех, кто пишет в теле цикла несколько условных операторов, которые можно было бы выполнить вне его. Видел срачи на форумах C# и Java, где отдельные пользователи доказывали, что скоро C# догонит С++ по производительности.

раскрыть ветку (15)
7
Автор поста оценил этот комментарий

Насчёт С# и C++ не всё так однозначно, шарп вполне может обходить по производительности плюсы, если есть возможность использовать более эффективные машинные команды. Но всё же числодробилку лучше писать на плюсах, за счёт детерминированной работы с памятью. Вот для таких вещей действительно нужно изучать ассемблер и другие низкоуровневые вещи.

раскрыть ветку (8)
4
Автор поста оценил этот комментарий

Пошла жара... :)

Не могу удержаться от вопроса: какие "особенные" команды может выполнить C#, которые не сможет C++?

раскрыть ветку (7)
3
Автор поста оценил этот комментарий

Компиляция плюсов выполняется под целый зоопарк процессоров и платформ. JIT-компилятор шарпа может выполнять оптимизацию, т.к. компиляция отложена для запуска. Но в целом шарп проигрывает по производительности.

Я не являюсь специалистом в области компиляторов, поэтому не могу конкретно сказать за счёт каких команд происходит выигрыш.

раскрыть ветку (4)
11
Автор поста оценил этот комментарий

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

Компиляция и оптимизация кода С++ происходит под конкретную архитектуру с конкретным набором команд. И этот код будет полностью оптимален для данной архитектуры. Ничего лучше, оптимальнее и быстрее чем компилятор вы скорее всего не придумаете.

Код шарпа компилируется в байт-код, который сам по себе машинным кодом не является, он отдается на выполнение виртуальной машине CLR, и уже виртуальная машина этот байт-код интерпретирует и выполняет.
За счет этого лишнего уровня интерпретации в среднем код на C# (всё вышесказанное относится в равной степени и к Java, кстати) работает медленнее. В среднем раза в два-три.

НО, есть такая вещь как JIT (Just In Time) компиляция. Это такой хитрый механизм, который позволяет куски байт-кода компилировать в машинные команды прямо налету во время выполнения. Виртуальная машина способна проанализровать код уже во время исполнения, определить те куски, которые выполняются чаще других и скомпилировтаь их уже для конкретной платформы. При этом JIT может этот код еще и оптимизировать для конкретного запуска приложения, например убрать из него те ветки кода и лишние проверки, которые при данном запуске точно выполнены не будут.
Вот за счет JIT-а при некоторых обстоятельствах может сгенерировать код, который действительно будет быстрее кода, сгенерированного компилятором С++. Но это можно наблюдать далеко не каждый раз, а в среднем код языков с виртуальной машиной работает в 2 раза медленнее, чем компилируемый код.

раскрыть ветку (3)
2
Автор поста оценил этот комментарий

Но ведь он по сути тоже самое и написал

1
Автор поста оценил этот комментарий

И это правильное и детальное объяснение.

https://www.codeproject.com/Articles/212856/Head-to-head-ben...
Не могу найти сравнение с .NET Core там ситуация чуть лучше. Собственно я и говорил, что очень редко можно увидеть, что шарп обгоняет плюсы. Но это недоработка компилятора плюсов.
Шарп и Java выигрывает за счёт меньшей стоимости разработки и большей надёжности (исключая RT системы)

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Это не недоработка компилятора плюсов, это невозможность во время компиляции знать по какому пути будет выполняться программа. JIT может это учитывать и прямо в процессе выполнения программы оптимизировать какие-то её участки и выкидывать неиспользуемый код. Компилятор плюсов не может знать какой код будет использоваться часто, какой редко, какой вообще не будет использоваться, а значит делать такого рода оптимизации он не может физически.

1
Автор поста оценил этот комментарий
Да один единственный. Если е*браться с MFC нравится то вперёд С++. С# и есть чтоб мозг не насиловать.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

MFC миллион лет уже устарел. Ну и при чем тут гуй вообще? Хотите гуй без дрочева на плюсах? Qt в помощь

ещё комментарии
1
Автор поста оценил этот комментарий
Тут все сразу области применения описывать начали, но нет. Опыт программирования на ассемблере(а далее - си) даёт базовые понятия о том как все работает на низком уровне. Вы будете потом отчество понимать, что за указатели и зачем они нужны, как работать с памятью, чем отличаются архитектуры процессоров. Если кажется, что знания питона более важны, то помните, что при устройстве на работу таких питонистов будут тысячи, а тех кто понимает как оно всё работает - единицы. Там упоминали си - так вот в том же питоне очень много кода на си, и в машинлернинг и датасайнс часто надо отдельные части кода (который требует особой производительности) надо писать на си(но там, конечно всё уже давно написано, но это будет большим плюсом).
Автор поста оценил этот комментарий
А движки и апи сами на дереве вырастают? ВУЗ, который не обучает асму и си - плохой ВУЗ.
Автор поста оценил этот комментарий
недавно натыкался на мод для 3 героев, написанный на нем
ещё комментарии
Автор поста оценил этот комментарий
Кремний. Он хотел сказать, что кремний очень популярен в геймдеве. Даже больше, чем ассемблер
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Я ещё слышал, что электрические импульсы тоже обретают популярность в последнее время)

ещё комментарии
11
Автор поста оценил этот комментарий

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

раскрыть ветку (2)
12
Автор поста оценил этот комментарий

Да это первокур какой-то выср высказал. Ассемлер ему, видите ли, не нужен будет, наивный. Ну если в макдаке собирается "джуниорить", то не нужен, ага :D

Автор поста оценил этот комментарий

gaydev-а?

DELETED
Автор поста оценил этот комментарий
Пример очень странный, наверное геймдев это одна из областей где как раз все очень далеко от ассемблера (но опять же надо разделять движкописательство от создания игры), но разрабатывать в текущей ситуации свой движок - тоже не совсем хорошо.
2
DELETED
Автор поста оценил этот комментарий
Сколько лет пишу, так все С, С++, C# и DirectX API... Ассемблер нужен был только один раз, когда напрямую в буфер вывода писал
раскрыть ветку (7)
Автор поста оценил этот комментарий

Зарплата сколько у тебя?

раскрыть ветку (6)
DELETED
Автор поста оценил этот комментарий
Средняя по рынку senior'ов
раскрыть ветку (5)
Автор поста оценил этот комментарий

А в цифрах? Чего стесняйться, тут все анонимно

раскрыть ветку (4)
Автор поста оценил этот комментарий

int zp = (a1+a2+a3+a4+...+an)/n;

printf(zp);

раскрыть ветку (3)
Автор поста оценил этот комментарий

Переменные даже не объявил. 

Или нынешние языки программирования не этого не требуют? Я лет 15 уже не писал ничего.

раскрыть ветку (2)
Автор поста оценил этот комментарий

есть такое дело, в следующий раз еще и инклюды пропишу:)

Автор поста оценил этот комментарий

Глобальные берёт, мы ж в инстансе России пишем. А вот какой муд... гений изначально использовал n (~250к) переменных вместо массива, и почему именно зарплаты senior'ов распиханы по переменным an - хороший вопрос

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку