Статья конечно может «как-то» помочь новичкам.
Но! Не знаю о каких книгах вы говорите (судя по всему о дейтелах и им подобных), но в Мейерсе, Саттере, Дьюхерсте, Вилсоне и даже в Джосютиссе (не представляю какие еще книги по С++ можно читать, ну кроме Страуструпа конечно) четко разделяется оператор new от выражения new.
Думаю (это критика, которую вы хотели) вы просто только что открыли для себя Америку и хотели раксрыть «заговор» всему миру, но мир еще десять лет назад знал об этом ка свои пять пальцев.
P. S. Ставлю плюс, чтоб не разбить стремление к sharing-у знаний.
По-моему скромному мнению, вы не понимаете разницу между алгоритмами/структурами данных и паттернами.
В голове можно держать хоть до хрена алгоритмов и структур данных, но это не дает гарантии, что при этом можно на отлично спроектировать, скажем, почтовый клиент или например, таск менеджер.
Архитектура ПО — это целый комплекс классов, разрабатываемых программистом, паттерны используются лишь для «правильной» их расстановки (при этом паттерны не покрывают весь проект, а только обобщенные/часто встречаемые «сегменты»).
Довольно недавно стал заниматься спортивным программированием (сам я, как говорится — промышленный разработчик) и первое, что пришло мне в голову после долгих пересдач решений — «как я мог так долго программировать с таким о*уенным количеством багов».
Быстро решать задачи не значит плохо решать, вы бы видели какое количество разнообразных, временами извращенных, тестов проходит каждое решение, да такое количество тестов не написано ни для одной части промишленного кода, а тестеров, как мы знаем, в софтверных компаниях довольно много.
Помню свои нескончаемые пинг-понги с тестерами, фиксил баг, отправил на тестирование, оказалось не все фиксил и так бесконечномного раз. Спортивные программисты пишут код без багов (ну хотя бы изо всех сил стараются писать без багов), для них это «челлендж».
Если бы мы — обычные смертныепромышленные программисты, писали бы наш продакшн код хотя бы наполовину как спортивные, то количество багов в релизах уменьшилось бы в разы!
Другое дело — абстракции. Нам легко поддается проектирование систем, определение иерархии и отношении классов/обьектов, правильный выбор паттерна, удобный интерфейс пользователя и т.д. Мы не можем писать весь наш код, заметьте, уродливонекрасиво и все запихивать в функцию main, это уже наш «челлендж».
Думаю смесь спортивного программиста с промышленным (у которого и то и другое «направление» получается одинаково превосходно) — будет отличать действительно крутого программиста от индусовне очень крутых.
>>> Теперь в персональном рейтинге программистов мира он 17-й в мире. Это значит, что он в списке лучших не только среди студентов — среди всех!
Что такое персональный рейтинг программистов мира? Вы о ТопКодер?
Осилить C++ стал «челленджом», не успеваем вникать в детали нового стандарта, как появляются другие нововведения.
Круто конечно, когда язык держит программиста за яйца, но в скором времени «знать C++ полностью» будет означать решать задачу «P=NP» :)
P. S. По мне, если еще и появится возможность/библиотека для разработки GUI, то C++ определенно захватит мир! Жду с нетерпением, а то уж больно многовато в последнее время.нет-чиков завелось…
Я уже начинаю проголосовать «Нет» на последний вопрос. Ну сколько можно? Да, интересно! Да! И еще раз да!
Мы же уже раз сто сказали «ДА»! Хватит спрашивать об этом!
>> Проект этот — не мой, и если я пойму, что чужие деньги мне найти не удастся — вложу свои личные.
Ну так зачем чужие деньги искать? Потом чужим проценты будете давать!
Вложите собственные, что-то не пойму. Думаю, вам надо 2-3 недели сделать большую паузу, если после этого будет желание продолжать, значит и собственные деньги вложить не будет жалко.
А как же Вояджер, недавно покинвуший солнечную системы, работает на ядерном генераторе.
Как по мне, так для боевого робота «ядерная батарейка» как раз к стати.
Как я понял, смысл предыдущых комментариев в том, что «если это одно и то же лицо, так будьте любезны, напишите одним и тем же словом».
И вообще, «прожект» звучит, мягко говоря, хреново (типа «тим» — вместо тим-лида, или «бизнес» — вместо «бизнес-аналитика»...). Как-будто статья напичкана матом.
P. S. Статья хорошая, очень понравилась и т.д. (я это к тому, что замечание о «прожекте» очень даже к месту!)
Но! Не знаю о каких книгах вы говорите (судя по всему о дейтелах и им подобных), но в Мейерсе, Саттере, Дьюхерсте, Вилсоне и даже в Джосютиссе (не представляю какие еще книги по С++ можно читать, ну кроме Страуструпа конечно) четко разделяется оператор new от выражения new.
Думаю (это критика, которую вы хотели) вы просто только что открыли для себя Америку и хотели раксрыть «заговор» всему миру, но мир еще десять лет назад знал об этом ка свои пять пальцев.
P. S. Ставлю плюс, чтоб не разбить стремление к sharing-у знаний.
В голове можно держать хоть до хрена алгоритмов и структур данных, но это не дает гарантии, что при этом можно на отлично спроектировать, скажем, почтовый клиент или например, таск менеджер.
Архитектура ПО — это целый комплекс классов, разрабатываемых программистом, паттерны используются лишь для «правильной» их расстановки (при этом паттерны не покрывают весь проект, а только обобщенные/часто встречаемые «сегменты»).
Быстро решать задачи не значит плохо решать, вы бы видели какое количество разнообразных, временами извращенных, тестов проходит каждое решение, да такое количество тестов не написано ни для одной части промишленного кода, а тестеров, как мы знаем, в софтверных компаниях довольно много.
Помню свои нескончаемые пинг-понги с тестерами, фиксил баг, отправил на тестирование, оказалось не все фиксил и так
бесконечномного раз. Спортивные программисты пишут код без багов (ну хотя бы изо всех сил стараются писать без багов), для них это «челлендж».Если бы мы —
обычные смертныепромышленные программисты, писали бы наш продакшн код хотя бы наполовину как спортивные, то количество багов в релизах уменьшилось бы в разы!Другое дело — абстракции. Нам легко поддается проектирование систем, определение иерархии и отношении классов/обьектов, правильный выбор паттерна, удобный интерфейс пользователя и т.д. Мы не можем писать весь наш код, заметьте,
уродливонекрасиво и все запихивать в функцию main, это уже наш «челлендж».Думаю смесь спортивного программиста с промышленным (у которого и то и другое «направление» получается одинаково превосходно) — будет отличать действительно крутого программиста от
индусовне очень крутых.Что такое персональный рейтинг программистов мира? Вы о ТопКодер?
Круто конечно, когда язык держит программиста за яйца, но в скором времени «знать C++ полностью» будет означать решать задачу «P=NP» :)
P. S. По мне, если еще и появится возможность/библиотека для разработки GUI, то C++ определенно захватит мир! Жду с нетерпением, а то уж больно многовато в последнее время.нет-чиков завелось…
Мы же уже раз сто сказали «ДА»! Хватит спрашивать об этом!
Ну так зачем чужие деньги искать? Потом чужим проценты будете давать!
Вложите собственные, что-то не пойму. Думаю, вам надо 2-3 недели сделать большую паузу, если после этого будет желание продолжать, значит и собственные деньги вложить не будет жалко.
Как по мне, так для боевого робота «ядерная батарейка» как раз к стати.
UPD: Даже в тэгах (facepalm)
И вообще, «прожект» звучит, мягко говоря, хреново (типа «тим» — вместо тим-лида, или «бизнес» — вместо «бизнес-аналитика»...). Как-будто статья напичкана матом.
P. S. Статья хорошая, очень понравилась и т.д. (я это к тому, что замечание о «прожекте» очень даже к месту!)