От: Windows vs Linux
Въпреки, че Балмър осира старателно пейзажа вече доста дълго все още ще кажа Windows и то точно за тия цели, за които мнозина ще препоръчат Linux. Windows е значително по-добър на application level (user mode) по отношение на консистентност и API. В Linux иснитските експерти хвърлят усилия в ядрото и в много малък брой application level софтуер като цялата система от гледна точка на програмист, който иска да направи нещо сериозно е нещо, на което не може да се разчита. Знам, че повечето хора подхождат по почина "как се прави", а не по "как работи" и не си дават сметка, че Линукс вече (и заради успеха си) се е обрекъл никога да няма смислен формат за изпълними файлове и модули, сигурността е закърпена (това, че повечето хора слагат Windows широко отворен не означава, че му липсва сигурност) и никога не е планирана за ниво, каквото е по дизайн в Windows. От 4-5 години не съм участвал в сериозни Linux проекти, но част от причината е това, че колкото и да се нарича свободна система устройството му не ми дава свобода - налага се да хварля прекалено много усилия, за да гарантирам съвместимостта на това което правя с различните вариации и на системата, на библиотеки и на по-високо ниво ако е необходимо и в крайна сметка не случайно толкова много хора практикуват подхода на приспособяване на готов софтуер, а не създаване. Дурга негативна страна на линукс е не самия той, а манталитета на обществото, което поради липсата на "изнервящ" централен авторитет се е концентрирало в малък кръг области и на практика не вижда останалите - не че няма хора, които правят чудеса, но малцина поглеждат и това си остава камерно занимание (такива неща са единствената причина поради, която държа линукс). Един много важен факт, който се забравя или дори не се знае от мнозина е, че POSIX и подобията му с недоразвитата идея в очите на създателите на UNIX и че Plan9 остана история. За какво говоря - за абстракциите, в POSIX те така и никога не са доведени докрай и забележете в една система базирана на минимално API оставяща всичко друго да се прави хаотично. С подхода на Plan9 (и Inferno - малко по-друга песен) файловата абстракция се довежда до смислена завършеност и това, за което критикувам не само линукс там е решено на принципна основа, но манията за принадлежност изповядвана от толкова много хора на практика уби шанса да се даде популярност на нещо по-добро. Windows може да не е направен с по-малко акадмичност и единна абстракция като цел, но поне стигна завършения си логичен вид още в началото на 90-те и ако не следваш проповедите на Microsoft и не се учиш на принципа "как се прави", а мислиш с главата си ще откриеш, че по-добър memory management за линук (което е факт), по-просто ядро и други "по" още не означават по-добра платформа за разработка на приложения. Всичките тия "по" дават малко по-добра производителност, но усилията необходими, за да я утилизираш са несъизмерими и естетвения стремеж към търсене на решения само създава безпорядък от софтуер, в който огромна част от кода се занимава с неща, които операционната система трябва да ти осигури, а това от друга страна поражда и нови проблеми със съвместимост например.
Сори за тирадата, но нещо говорех по телефона и с "едно око" четох - а това, което четох са много емоции, много абсолютно безсмислени доводи (които дори нямат общо с критериите за добра или лоша операционна система). Моя съвет е не се водете по популярните приказки, а разбирайте в дълбочина. Това, че например днес и на нещо, което се предлага само с Java API му се вика операционна система не означава, че е такова - това е маркетинг, който да накара хора като вас да променят разбирането си за смисъл на тая дума в посока, от която продуктите на заинтересованите изглеждат по-добре (ок далечна аналогия, но пък всички чувате за Android и Blackberry). И с линукс по принцип това е проблема - той е добър софтуер, но недовършена операционна система и да пишеш за линукс е като да живееш в къща без покрив като всяка нощ се чудиш какъв найлон да опънеш, че да не те вали. Ок, ето за последно един feature, за който да помислите - неща като COM в Windows (въпреки пропагандата на безумието .NET) създават платформа за компонентност неутрална към средствата - всяко, с което може да се пише може да работи и с COM (ако искате и на асемблер), колко е полезно се разбира по това, че любимата на мнозина мозила, го копира на практика напълно макар и само за себе си (опитите да се приложи като стандартно средство за линукс претърпяха провал), DirectX не е просто 3D библиотека, освен това тя дава и абстрактен, но директен достъп до хардуера, най-използваните елементи за потребитески интерфейс са част от системата и се държат консистентно навсякъде (ок когато са измислени много мании от днешното време не са били дори мечта) ... Ако човек иска винаги може да направи приложенията си различни - нищо не му пречи и дори го облекчава, а лошите впечатления на потребителите са като в случая с Photoshop - софтуер, който се портва за Windows за разлика например от Photopaint. Въпрос на избор, на отворени очи и на умение да не отхвърляш нещо просто защото не го познаваш или са ти казали, че не става други като тебе. И за финал - ако ще е UNIX нека да е BSD, ако сте ползвали и Линукс и някое BSD достатъчно много знаете защо.