Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Можете ли вы объяснить, что предполагает средний уровень программирования на таких языках, как C, C++, Java или Python?

ФермаКактусов Высший разум (182299), закрыт 5 дней назад
Лучший ответ
Владимир Иванов Знаток (458) 2 недели назад
Разные вещи могут пониматься под средним уровнем, но будем считать, что это способность работать на реальной работе хотя бы на начальной должности. Тогда это подразумевает владение обширным комплексом фичей языка:
в Си это понимание выделения памяти, умение работы с ошибками и исключение утечек памяти, понимание работы операционной системы и железа. В C++ к этому добавляется умение использовать высокоуровненые концепции классов, шаблонов. В Java это владение ООП (но не нужно быть идеологизированным идиотом и писать 9 уровней наследования), а также полиморфизмом. Например, если вы примерно понимаете, как работает под капотом <? extends Class> (ковариантность, контрвариантность) и зачем нужны абстрактные классы и интерфейсы, то все в порядке (при условви, что более базовые вещи ясны на 100%). В python есть похожие концепции, нужно только понимать нюансы самого языка.

Самый лучший способ проверить свои способности - написать достаточно сложное приложение, например веб-сервер, который выполняет нетривиальные вычисления и операции с базой данных. Другой способ - открыть случайную библиотеку, которая достаточно сложная в освоении, например ffmpeg в си и посмотреть, сможете ли вы, гугля и читая исходный код разобраться, как сделать с помощью нее что-то. Ну и высший класс - это способность просто открыть опен сорс код базу и внести свои изменения (тоже нетривиальные - исправить опечатку не считается)
Остальные ответы
Александор Заградский Мудрец (14119) 2 недели назад
способность самостоятельно поднять коммерческий проект
Mr.Michael Просветленный (20997) 2 недели назад
Описание компетенций мидла
Похожие вопросы