Статьи
Никлаус Вирт известен, прежде всего, как создатель языка Паскаль. Поэтому крутые программисты, которые читают Кнута вместо * censored * и могут за тридцать секунд написать личный DOS - в грош не ставят создателя этого "детского" языка программирования. Однако, именно благодаря Вирту прижились много современных идей программирования, которые сейчас позволяют водить разработку ПО эффективнее и быстрее, чем раньше. Поэтому, думаю, большинству читателей интересно и о Вирта, и о других его детищах, кроме Паскаля. Вин родился в 1934 году вблизи от Цюриха. В детстве Вирт увлекался авиамоделированием, ракетами и химией и в итоге заинтересовался идеей создания дистанционного управления для его моделей. Так начался его маршрут в мир радиоэлектроники.
Созданный там же, где и предшественник, язык C, - в Исследовательском центре компьютерных наук Bell Labs, С + + в полной мере повторил и приумножил успех С. Следует отметить, что успехи и C, и C++, основывались исключительно на свойствах этих языков как инструментов. Ведь по сути никакой коммерческой «раскруткой» языков программирования компания AT&T, в состав которой входила Bell Labs, не занималась.
Данная статья рассказывает о работе с процессами, модулями, компонентами и потоками с помощью библиотек TOOLHELP. Работа с процессами - основа, без которой заниматься системным программированием так же бессмысленно, как без знания структуры PE-файлов или организации памяти. Поэтому я поднимаю эту тему снова и расскажу о работе с процессами с помощью функций TOOLHELP.
Существуют два диаметрально противоположных, но одинаково распространенных мнения, которые можно выразить как "C + + это C с классами" и "C + + и C - разные языки программирования". Интересно, какой из этих языков предпочтительнее?
Глобальные переменные. В старые добрые времена Фортрана, когда «настоящие мужчины» писали на Ассемблере, а программы хранились на перфокартах, главным инструментом в программировании были глобальные переменные. Я перенял эту особенность и несколько ее усовершенствовал: программисту приходилось объявлять тип глобальной переменной. Конечно же, при использовании глобальных переменных проблема заключалась в том, что любая функция могла привести к широкомасштабным побочным эффектам, изменив глобальное состояние системы. В Java единственным глобальным пространством имен является классовая иерархия.



