dima1978, смотря какой ЯП (язык программирования). Если, например, пыха (PHP), то будешь писать сайты (серверную часть) для линукс и BSD серверов и Windows даже не будет приветствоваться в разработке, а если специфичные для винды программы, то только Windows. Программирование в смысле алгоритмов везде одинаковое. Синтаксис в теории тоже, вот платформозависимое API разное и есть некоторые библиотеки, которые только для одной платформы собраны авторами. Можно и кроссплатформенный код писать, притом несколькими подходами. Первый - не использовать API и специфичные для ОС библиотеки, а если это необходимо то один код для винды, другой для юниксов и т.д. Как сделать компиляцию разных вариантов кода зависит от ЯП. Второй - для нужных библиотек с похожим функционалом на разных платформах создавать обёркти и использовать их. А обычно комбинируют и тот и другой. Но это гораздо более сложно и объёмно, чем код для какой-то одной ОС. Потому многие программисты ленятся и появляются программы только для Windows.