Andrii
Поэтому даже если это сравнение целых, одна ассемблерная операция, то всё равно будет вызов функции. А в C++ весь алгоритм в STL в шаблоне в хидере, и там всё инлайнится
Vladislav
Andrii
Обычно программисты C++, когда из вынуждают писать на C, чувствуют себя как боксёры, которым запрещено пользоваться кулаками.
Борисов
И наоборот )
Vladislav
Борисов
Сишники пишут на плюсах в стиле Си с классами )
Andrii
Ну а проблема C++ скорее в том, что он склоняет прямо или коскенно пользоваться ООП и стандартными контейнерами, похожими на C#, Java, ...
Andrii
Сишники пишут на плюсах в стиле Си с классами )
По разному, просто в C часто инкапсуляция это приведение к void* и набор функций. И т. п. git, Python и много других тулзовин написано на C и никто не собирается пеерводить их на C++
Vladislav
Борисов
Это понятно, что никто переписывать не будет. Другой вопрос, что если бы начали писать в нынешнее время, то, скорее всего, стали бы писать не на Си
Михаил
Доброй ночи!!!
Подскажите кто по каким туториалам проводил разбор MVC?
Vladislav
@mustitz, А какая у вас сфера деятельности?
Vladislav
Andrii
то-есть С умирает?(
Точно нет, потому что есть embedded. А так в непонятном индексе TUOBI С даже вышел на первое место по популярности, и даже обошёл C++. Так что не уверен... В целом лично мне на C писать приятнее всего
Vladislav
Виталик Голоенко
Andrii
Опять же, сейчас есть Python, и в общем-то можно хай-перформанс написать на C, и легко заинтегрироватся.
Борисов
На мой взгляд, важен вопрос работы с памятью и освобождения ресурсов. На С++ идиома RAII помогает закрыть много этих вопросов
Борисов
Умные указатели, guard-ы и пр.
Виталик Голоенко
Виталик Голоенко
Да и фронтенд в целом как по мне)
Andrii
Не говоря о том, что сишный путь зачастю выделить память сразу и вызывать abort если выходим за пределы. И задефайнить константы, типа есть миллион соединений, 65535 потоков и т. п.
Борисов
Память выделить на старте - это да. Но делать abort в том же embedded - это reboot устройства ?)
Andrii
Если на роутер придёт миллион соединений, он и так не выживет
Борисов
Роутер это немного другое
Andrii
А по факту обычно дропаются пакеты
Andrii
И пишется в лог
Борисов
А мы за какой embedded говорим ? Аля linux и несколько десятков Мб озу ? Или микроконтроллер под RTOS и несколько десятков-сотен килобайт озу ?
OleH
@mustitz чем полезен ооп, и какие трабблы при переходе НА него с процедурного?
OleH
Ты просто опытный на вид, мне нужен твой ответ
OleH
Просто я на c++ пишу тут, и вообще разницы не чувствую, что си что спп. Может тутор такой, но ляяяя
Andrii
В любом случае, динамическое выделение памяти это грабли, потому что когда память исчерпывается, то наступают грабли и очень непредсказуемое поведение. Потому что один new проверили на NULL а дальше код никто не проверял :) А если у нас переполнился буфер — мы просто пишем в лог и отказываем в обслуживании. Например, в ядре. Переполнилась таблица открытых файлов — всё, получили ошибку при открытии файла :)
Борисов
Если new не смог выделить память, там будет брошено исключение Bad Alloc )
Andrii
@mustitz чем полезен ооп, и какие трабблы при переходе НА него с процедурного?
Есть глобальные грабли, как по мне. Первая — перформанс. Поэтому и появилисть те же колоночные базы, что хранить в обном объекте разнородные данные не кэш френдли. Если говорить про Simula-like ООП, то зачастую 90% кода у нас не будет вызываться никогда, но будет работать код, которые его поддерживает. Особененость крупных фреймвёрков. Мне вот очень нравилось, что во времена, когда PHP был процедурный, то в рекомендацях сервер на Java требовал в два раза больше, в раза мощнее проц и т. п.
OleH
Есть глобальные грабли, как по мне. Первая — перформанс. Поэтому и появилисть те же колоночные базы, что хранить в обном объекте разнородные данные не кэш френдли. Если говорить про Simula-like ООП, то зачастую 90% кода у нас не будет вызываться никогда, но будет работать код, которые его поддерживает. Особененость крупных фреймвёрков. Мне вот очень нравилось, что во времена, когда PHP был процедурный, то в рекомендацях сервер на Java требовал в два раза больше, в раза мощнее проц и т. п.
Чо перфоманс, колоночные базы. А? Я первый раз слышу, дай вводную статейку скурить пожалуйста
OleH
Если есть конечно
Борисов
ООП будет полезен тем, что в 90% мест, куда вы будете устраиваться на работу, вам прийдется иметь с ним дело
Andrii
Чо перфоманс, колоночные базы. А? Я первый раз слышу, дай вводную статейку скурить пожалуйста
Скорее была книга, семь типов баз данных за семь недель. Такое введение в NoSQL. Идея колоночных баз, что если у нас есть, например, информация миллионе людей, и там фамилия, имя, документы, заметки и прочая муть. И нам надо посчитать среднюю з/п. То если хранить данные в колонках, то колонка с з/п это 1000000 * 8 = 8M данных, которые надо прочитать с диска. А если у нас данные хранятся по строкам, и каждая запист это 8k, то надо прочитать с диска 8G данных.
Борисов
Дак этот комментарий был скорее к @Zach3m_t3b3
Andrii
ИМХО, Simula-like ООП (с таблицами виртуальных функций) инструмент достаточно тонкий, и я часто наблюдал ситуацию из серии «дай дураку стеклянный хуй», большая часть иерархий, которые возникали на проектах в какой-то предметной области, оказывалась мягко говоря не ахти. Хотя, могу припомнить и достаточно удачные реализации, типа Delphi VCL.
OleH
Ок спасибо
Борисов
ИМХО, Simula-like ООП (с таблицами виртуальных функций) инструмент достаточно тонкий, и я часто наблюдал ситуацию из серии «дай дураку стеклянный хуй», большая часть иерархий, которые возникали на проектах в какой-то предметной области, оказывалась мягко говоря не ахти. Хотя, могу припомнить и достаточно удачные реализации, типа Delphi VCL.
Именно в этом я и вижу основную проблему С++. Условно говоря, для решения любой задачи в С++ есть 10 разных способов. Из которых 3 - откровенная херня, 4 - более-менее, 2 хороших и 1 - прям отличный ))
Борисов
И на большом проекте рано или поздно всё приходит к усредненному говнецу и костылям )
Борисов
Да, безусловно, есть исключения, но в среднем по больнице вот как-то так
Andrii
Борисов
Ну, это же просто - добавить маааленькую новую фичу )))))
Andrii
Но я как-то отмечал, что идеи мира C++ не сильно оказали влияние на индустрию, и почти не были заимствованы в других ЯП. При этом не так давно в C++ началось бурное заимствование из других ЯП, и начали клепать стандарты каждые три года.
Andrii
Ну, это же просто - добавить маааленькую новую фичу )))))
Скорее это отражение факта, что часто разработчики ООП архитектуры плохо представляют предметную область, и откуда будут приходить требования. Хотя уверены в том, что крутые спецы и там тоже. Поэтому в Qt иерархия выстроена хорошо, ибо программистам хорошо известно низлежащее API, да и вообще. А вот если брать бизнес-логику, там часто грустно...
Yuriy
Здравствуйте ! Я начал работу в Luxoft, сейчас получил отрицательный результат на интервью в проект из-за того, что не успел решить задачку password brute force task на время, где можно попрактиковаться или подготовить задел для подобного рода задачек на кодилити ?
Andrii
leetcode, codewars, codingame укражнения с книги Д. Кнута [40] и выше, Al Zimmermann's Programming Contests
Andrii
Ок спасибо
Кстати, наткнулся на такое описание разных типов СУБД, может для общего образования
https://proglib.io/p/11-tipov-sovremennyh-baz-dannyh-kratkie-opisaniya-shemy-i-primery-bd-2020-01-07
OleH
Yuriy
Спасибо, завтра-послезавтра посмотрю, давно не собеседовался.
Igor
Anonymous
Igor
Привет Игорь)
я ушел тут от армии косили пришел тут какой то новый трешак :)
Anonymous
Я снова делюсь информацией бесплатно, вот и всё :)
Anonymous
А так была небольшая дискуссия, не более
Anonymous
Anonymous
Igor
Кто? 😂
По работе в основном бэкенд, базы данных и прочая хрень. а так все по чуть чуть.
Anonymous
Лично я так сделал, но сделал это я от безысходности
Igor
Igor
У меня скзадываетя ощущение что резюме вообще пишут под заказ что вам надо то и будет в резюме, а на собеседовании оказывается что про половину человек только читал.
Igor
Опять же я не принимаю решение о зарплатах. Я только даю оценку как технический специалист, но думаю у нас не такие высокие зарплаты поэтому и уровень собеседуемых соответсвующий.
Igor
Еще мне кажется что любому нормальному мидлу свичнуть технологию или язык вообще не проблема было бы желание (денежный стимул)
Vladislav
Почему я настолько "умный", что не могу запустить дебагинг(откладку) в VS?
Igor
Igor
Евро Шеф