ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
480929 Топик полностью
fk0, легенда (18.01.2014 20:48, просмотров: 121) ответил etalink на Но вроде С и С++ никто не отменял.
Язык C и C++. О, на эту тему есть замечательное интервью Б. Страуструпа. Нет, я не издеваюсь, я абсолютно всерьёз. Текст интервью. Процитирую:
Ну, вспомните сколько занимает реализация проекта среднего размера на 'C'. Это около 6 месяцев. Не достаточно долго чтобы парень с женой и детьми мог заработать себе на нормальное существование. Попробуйте тот же проект реализовать на C++ , и что получится? Вам понадобится 1-2 года. Не правда ли, это замечательно? Кроме этого: в университетах уже так давно не преподают 'C', что теперь стало мало людей программирующих на 'C', особенно таких, которые знают все о программировании под Unix. Как вы думаете : сколько парней смогут сообразить что делать с 'malloc' , после того как втечение многих лет они пользовались 'new' и никогда не заботились о проверке кода возврата? Большинство программистов на C++ вообще не выбрасывают этот код возврата. Что произошло со старой доброй '-1' ? По крайней мере было сразу понятно, что у тебя где-то ошибка без всяких там 'throw', 'try' и 'catch'...
Это действительно так! C -- это минное поле усеянное аккуратно разложенными граблями. И нужно 5 лет кряду тренироваться ходить по нему и получать по лбу до тех пор, пока не научишься большую часть грабель обходить. И этому нельзя научить таджика на 3-месячных курсах. Потому и... С C++ ситуация аналогична. Не знаю почему так получилось. Но это, одновременно, и причина почему так любят Java. Да, Б. Кернигану, Д. Ритчи, Р. Пайку, Б. Страуструпу... им памятник при жизни поставить нужно (на деньги программистов). Языки для windows и не windows одинаковые да. Но язык -- это ж ещё не всё. Далее есть слой библиотек, где уже начинаются различия. Потом другие прикладные программы (готовые) и средства разработки. Другие операционные системы. Неплохо бы понимать как это внутри устроено (и этого никогда не узнаешь работая с коммерческим софтом, их дело -- концы в воду, поэтому рекомендую освоить Linux и программирование для него на десятке разных языков). А собственно практические задачи упираются ещё в железо, в упомянутую аналоговую схемотехнику, в know how специфичное для предметной области и программирование тут не на первом месте уже. Техника отладки, наконец, для МК может быть более примитивная и низкоуровневая. Зачем дают попробовать? Ну так эта, первая доза забесплатно. Особенно любят давать студентам, университетам и т.п. Чтоб они не умели программировать, а умели программировать исключительно используя средства этих фирм. Завтра они пойдут работать в коммерческие организации и тут вложения отобьются с лихвой. Поэтому лучше представлять как это работает в мире opensource, общие принципы работы, а не как это работает у фирмы XXX -- тогда можно быстро освоить любые другие средста любых друих фирм.
[ZX]