Pull to refresh
9
0

Пользователь

Send message
И правда, давайте не будем использовать языки, по которым можно придумать сложные собеседования. Всем бегом учить Go!
Не спорю, это лишь отсылка к названию статьи.
openal
— это библиотека для работы со звуком.
java — академически правильный язык
Ой, ну скажите еще, что С — не низкоуровневый язык))) Чем java «академически правильная»?

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

P. S. Про Фортран — полностью с Вами согласен.
Обратную совместимость я бы лучше заменил банальным словом «лень»
А когда этим заниматься миллионам программистов, если им надо работать по 8+ часов в день, что бы семью кормить?
Но проблема тут не в программисте, а в языке
Нет, проблема в суровой реальности — людишкам, которые не бум-бум в компуктерах, нужны новые интернет-магазинчики, а не стоп-кадр на 10 лет, что бы переделать все по-нормальному.
Например, в С/C++ нельзя просто взять и написать ассемблерные вставки или функции.
Можно практически во всех популярных реализациях.
А ведь даже такая малая стандартизируемая возможность в корне может ускорить выполнение кода…
В 0.001% случаев, потому что компиляторы уже давно умнее нас.
Чего же Intel не перекроет аналогичную возможность AMD? Они (Intel) бы себя неплохо почувствовали.
Как он это сделал?
AVS
AVX))
но их использует очень небольшое количество ПО
Ну их использует как раз то ПО, тормоза которого будут ощутимы, потому что как раз с этим ПО люди заморачиваються.
современные компиляторы ещё не умеют автоматически использовать эти возможности
Умеют, хоть и не дотягивают пока до человека (насколько я знаю).

Вообще, насколько я знаю, Винда ARM очень слабо поддерживает, так что наверное проблема еще и в этом. Ну и разные архитектуры означают разные инструкции и их характеристики.
Разрядка иногда нужна, как ни крути.
Мне тоже, но я в это никого не вовлекаю.
А в том, чтобы признать собственные ошибки — нет ничего постыдного.
Конечно нет, просто не надо спектакль разыгрывать.
Просто для меня самобичевание на публике является признаком подскочившего ЧСВ, ну или как минимум бабским поведением ( это устоявшееся выражение, а не попытка оскорбить слабый пол ). А нормальный начальник, когда его время тратят на на такие разговоры, должен сказать что-то вроде «соберись, тряпка», а не ЗП поднимать. Хотя возможно в веб-разработке просто так принято, а меня заминусили, потому что я этого не знаю.
Пришёл к директору, сказал: «я — бесполезный дурак, и хочу уволиться, чтобы не мучить вас». Но в ответ мне сильно подняли з/п.
Прикольно, у нас з/п поднимают, когда ты хорошо работаешь, а не когда плачешься в жилетку начальства.
Грех №0 — хайпокод. Это когда начитываешься кучи статей с «манифестами», и руководствуешься ими, а не здравым смыслом.
Чего это вдруг?
Исключения можно отключить (так и делают почти все, кому есть дело до быстродействия), про уровни абстракции и неявное управление памятью вообще не понял, где они. Про эмоции — если кто-то говорит с такими вот эмоциями, то это, во-первых, уже не очень профессионально, а во-вторых, скорее всего, эмоциями надиктовано.
Линус об этом и пишет.
Линусу за мнение, конечно, спасибо, но лично я безболезненно использую классы, шаблоны, RAII-конструкции и прочие приятные плюшки. А разбрасываться виртуальными функциями или try-catch блоками в критическом коде никто не заставляет.
Попробуйте и придумайте хорошую архитектуру для данного примера. Сумеете?
А Вы задачу нормально сформулируйте. Вы ведь так и не сказали, какие операции можно совершать над какими типами. Иерархия не строится для «типографии», она строится для функционала «типографии».
Как пример — Торвальдс решил, что без ООП лучше. И, похоже, не прогадал.
Даже в этом примере, который Вы привели выше, Торвальдс черным по белому пишет, что использует ООП, просто ему для этого не нужны плюсы, хватает чистого С. Похоже, у Вас все меньше союзников :)
Вопрос лишь в том, выгодно ли его иметь в команде?
А качественно сделать проект выгодно? Потому что с кучкой джунов вы далеко не уедете, при чем не только на С.
См. пример с Торвальдсом и linux.
Возможно, я сейчас скажу кое-что непопулярное, но ИМХО Торвальдс часто обливает грязью все что видит только для того, что бы самоутвердиться. Не говорю, что он плохой специалист, но как минимум на текущий момент его аргументы недействительны. И вообще, я бы не доверял изречениям, наполовину состоящим из мата.
Один из аргументов — хороших низкоуровневых программистов на Си больше.
А ничего, что С++ — это надмножество С? Вы всегда можете написать процедурно, если вдруг что-то никак не налазит на ООП.
Ну если писать большие циклы с кучей if'ов внутри, для которых конкретных наборов условий всего несколько, то кто же Вам виноват. Подразумевалось, что код на С написан качественно.
На счет поиска строки — интересно, а что дает хардкод строки, и при каком конкретно поиске?
Статью видел, мнение и правда неплохое, но я не заметил каких-либо радикально новых предложений по улучшению ситуации.
А на счет понимания — я имел в виду примерное представление того, что сделает процессор, выполняя программу. Программируя на C, я это, хоть и не идеально, но представляю. А если имеем тредпулы с синхронизациями верхом на виртуальных машинах — кто знает, что может случиться.
Мда, «ООП головного мозга», оно такое))
Что ж, у Вас было замечательное время. Но согласитесь, что сейчас для решения нетривиальной задачи написать код лучше, чем генерирует компилятор C, практически невозможно.
На счет понимания, во что компилируется код — ну так это сама суть C/C++. А вот в ФП это выглядит проблематично.
1. Проблема людей, а не ООП. Средний программист при любом подходе выдаст средний результат, на то программист и средний.
2. То, что между ООП и процедурным кодом запросто проводится однозначное соответствие, конечно, никак не отменяет сказанное Вами. (sarcasm)
3. Опять же, натягивание совы на глобус — это проблема людей. ООП — инструмент, и есть задачи, где он подходит не лучше всех, но из-за этого не стоит выбрасывать его на помойку, что и пытается донести автор статьи. И в общем случае, оверхеда от использования ООП, ясное дело, нет.
4. Ничто никем нигде не принято. Хотите — пишите сначала высокоуровневую логику, а потом — низкоуровневые детальки. Оверхеда по сравнению с чем-либо другим, опять же, не видно.

Качество преподавания ООП, ИМХО, не хуже чем качество преподавания чего-либо другого :) Религию разводят, опять же, люди; личное мнение студентов-сектантов — проблема студентов-сектантов.

Information

Rating
Does not participate
Registered
Activity