Cevabımı halkaya atacağım (bunların hepsinin de iyi olduğuna inanıyorum).
Alabileceğiniz en temel cevap, tamamen felsefe ile ilgili olduğu.
Microsoft dünyasında, biraz dindar - Mt. Uygulanan bir şey istiyorsanız Redmond'a dilekçe verilmesi gerekenler. Bazen dinlerler, diğer zamanlarda fedakarlıklarınız ve memnuniyetiniz sağır kulaklara düşer. Belki de avlanıyorlardı. Microsoft, tüm ekosistemi kontrol ediyor - işletim sistemine ve IDE'ye sahipler ve bir SE ağında konuşması uygun olmayan şekillerde bir araya getiriyorlar. IDE parçaları içinde bile sıkıca bağlanmıştır - entegre olarak adlandırılabilirama birleştiğinde daha doğru olduğunu düşünüyorum. Bir şeyleri biraz değiştirmek isterseniz, Gates, Windows veya Visual Studio tasarımcılarının açıkça izin vermediği bir şeyi değiştirmek isteyeceğinizi yasaklar. Ve sonra IE ve IIS, Microsoft sunucuları ve MS SQL Server ve Office gibi teknolojiler atın ... ve her şey güzel ve mutlu bir ailedir. Ama ailenin bir bölümünü geride bırakmak istersen? Titreme !
Öte yandan, Unix felsefesinden her parçanın kendi küçük sorumluluk alanından sorumlu olması gerektiğini miras alan Linux'unuz var. Bu yapmalıyım tek şey, ve iyi yaparım. Ve tercihen, iletişim metin dizeleri yoluyla yapılmalıdır. Diğerleri işaret gibi, sed
, awk
, grep
, vb bu mükemmel örnekleridir. Onlar do tek yapmaları için tasarlanmıştır şeyi ve çok iyi yaparım. İki şey yapmanız gerekiyorsa , iki aleti birleştirirsiniz. Bunu yapmak çok kolay.
Çünkü sed
girilen giriş dışında hiçbir şey metin olmayacak, bu, metin üretebilecek hiçbir şeyin tekerleği yeniden icat etmesi gerekmediği anlamına geliyor . Basitçe kullanabilirler sed
. Ve sed
metin ürettiğinden, metni okuyabilen herhangi bir şey çıktısını kullanabilir sed
. Metin çok evrenseldir (bazı istisnalar vardır) ve bu tür şeyleri bir araya getirmek çok kolaydır.
Sadece kolay birleştirmek, ama bunları birbirinden ayırmak için de çok kolaydır - Ben artık bir akış düzenleme gerektiğine karar eğer, ama ben sonuçları filtrelemek istiyorum, benim metin geçirerek yerine sed
, ben geçebilir bunun grep
yerine.
Şimdi, bu Linux ortamında gelişimin arkasındaki temel felsefedir - oradan yukarı çıksanız bile, birçok araç benzer türden arabirimler sunar. Bunları parçalara ayırmanıza veya komut satırı veya bağlantı noktaları veya HTTP üzerinden arayüz oluşturmanıza izin verir.
O olsa bile Ve değil durum, aynı zamanda açık kaynak yazılımı var. Linux platformundaki çoğu (tümü değilse) yazılımı açık kaynak kodludur. Bu yüzden nasıl yazıldığını beğenmezseniz tamamen, tamamen, kesinlikle yazılımı kendiniz değiştirebilirsiniz. Bu inanılmaz güçlendirici. Bu IDE'yi istediğiniz şekilde parçalayamaz mısınız? Değişiklikleri yapın ve onları ters yönde gönderin veya projeyi doldurun. Bir şeyin neden olduğu gibi davrandığından emin değil misin? Kaynağı kullan, Luke! Komut satırında bir şeyi otomatikleştirebilmeniz mi gerekiyor? Projeyi kes ve değişikliklerini yap. Bir hatayla mı güvenlikle mi karşılaştın? Hey tahmin et ne - kendin düzeltebilirsin, SP3.432vb89234.startdate1eQ'in çıkmasını beklemek zorunda değilsin.
İstediğiniz ve ihtiyacınız olan araçları birleştirebilirsiniz. Ve yolunda olan bir şey varsa,% 100 bunu değiştirebilirsin. Bu kabiliyetiniz olmasa bile, kesinlikle bu değişikliği geliştirmesi için birisine para ödeyebilirsiniz - veya bunu, bilgisi olan bir başkasına bile önerebilirsiniz.
Bunun programlama için daha iyi olmasının nedeni, sürtünme ile karşılaştığınızda , onu iş akışınızdan kaldırabilmenizdir. Gelişme zor olduğu için başarılı bir programcı olmak için düşünmeniz gereken birçok şey vardır ve başka şeyler hakkında düşünmenin zor olduğu hakkında düşünmeniz gerekir .
Sürtünmeyi ortadan kaldırmak çok önemlidir.
Öyleyse, Microsoft ekosistem dinini evinizde hissettiğiniz yerdeyse ve araçlardan o kadar çok zevk alırsanız, size pek fazla / sürtünme sağlamaz.
Fakat Microsoft Kalıp (tm) 'ya uymazsanız, patent bekleyen, o zaman sürtünme ile karşılaşacaksınız. Gelişim acı olacak. Her zaman dilek sen bir şeyler yapabileceğini, ancak, o değerli bilişsel kaynaklarını tüketen ve olmayacaktır. Ve eğer durum buysa, bir Linux geliştirme ortamı muhtemelen sizin içindir.
vim
. Bu çok öznel bir alan! Pek çok insan IDE'leri Linux'ta kullanıyor, bu yüzden burada birden fazla şeyi birbirine karıştırıyorsunuz.