C ++ derleyicileri için ne zaman ödeme yapılır [kapalı]


19

Son zamanlarda geliştiricilerin derleyiciler için ne zaman ödeme yapması gerektiğini merak etmeye başladım. Derleyiciler çoğu platformda ücretsiz olarak gelir veya kolayca elde edilebilen ücretsiz bir sürümü vardır.

Misal:

OS X - GCC ve Clang / LLVM geliştirici araçlarıyla birlikte gelir. Onlarla nasıl ve ne yapabileceğiniz konusunda burada hiçbir sınırlama yoktur.

Linux - GCC ve eminim daha fazlası. Linux derleyicilerinin şu anki durumunu bilmiyorum. Onlarla nasıl ve ne yapabileceğiniz konusunda burada hiçbir sınırlama yoktur.

Windows - MinGW ve Microsoft, Visual Studio'nun ücretsiz bir sürümünü sunmaktadır. MinGW ile sınırlama yok ama ücretsiz Visual Studio ile ciddi sınırlamalar olduğunu düşünüyorum.

Ancak, örnek olarak Intel, C / C ++ derleyicileri üretir. Onlar fiyat çok ağır. Eğitimsel olarak OS X sürümünü 49 $ ve Windows / Linux'u 129 $ karşılığında alabileceğinizi düşünüyorum. Daha sonra eksiksiz bir "Studio" ürünü de sunarlar. Açıkçası, eğitim fiyatlandırmasını kullanarak sınırlamalar getirilmiştir.

Ama merak ediyorum ne zaman gerçekten derleyiciler için ödeme düşünmelisiniz. Düşünebileceğim bir örnek bir video oyunudur. Büyük platformlarda çalışan bir derleyici kullanıyorsanız, platform için artık anahtarlama araçları olmayacaktır. Araçlar aynı olsaydı, platformlar arasında geçiş yapmada bir kolaylık var gibi görünüyor.

Herkes Intel derleyicileri gibi derleyiciler ve bunları kullanmaktan elde edebileceğiniz gerçek platformlar arası avantajlar için ödeme yapmaya ışık tutabilir mi? Platforma özgü teknikler yapmamak için çok çaba sarf etse bile kodu daha az taşınabilir hale geliyor mu?


29
Visual Studio'yu Microsoft'un derleyicileri ile karıştırmayın, derleyiciler ücretsiz olarak mevcuttur ve Visual Studio'nun normal ve Express sürümlerinde aynıdır. Bunları Visual SD'sız, Windows SDK aracılığıyla da alabilirsiniz .
yannis

6
@Rig Eh, Microsoft kısmen bunun için suçlanıyor, C ++ derleyicilerinin serbestçe kullanılabilir olduğu gerçeğini tanıtmak için gerçek bir çaba göstermediler. Sadece kendi başına indirememeniz (şişirilmiş Windows SDK veya Visual Studio Express olmadan), insanları kullanılabilirliği hakkında karıştırmak için yeterlidir.
yannis

5
@ Tam olarak. Visual Studio Express (IDE) ve Windows SDK (çeşitli araçlardan oluşan bir koleksiyon) reklamında Evanjelik bir ordusu var ve C ++ derleyicilerinin hiçbirinde (Windows SDK web sitesinde bile listelenmiyor) veya bir yoldan bahsedilmiyorlar sadece derleyici ve başka bir şey indirmek için.
yannis

3
@YannisRizos: Yanılmıyorsam, C ++ derleyicileri artık Windows SDK'nın bir parçası değil - msdn.microsoft.com/en-us/windows/desktop/hh852363.aspx Bunlar mı?
Kodlayıcı

1
@JeffO - SDK . Ücretsiz indirme ve C ++ araçlarını içerir. Daha yeni bir sürüm olabilir, ancak ilk bulduğum şey bu.
Bobson

Yanıtlar:


25

Deneyimlerime göre, çapraz ana bilgisayar platformu yeteneği bir derleyici seçmek için küçük bir husustur. Aslında, tam tersi. İnsanlar çok daha sık olarak belirli bir hedef platform için üstün desteği için bir derleyici seçerler.

Örneğin Intel derleyicisini ele alalım. İnsanlar genellikle en son kanayan Intel çipinden performansın her bir onsunu eklemek istediklerinde satın alırlar. Sonuçta, bir derleyiciyi koridorda yürüyebilen ve fişleri tasarlayan adamlarla konuşabilenlerden daha iyi tasarlamak zordur.

İnsanların Microsoft platformlarında geliştirmek için Microsoft'tan araç satın almasının nedeni de aynıdır. Her şeyden önce desteğe sahip olan budur.


1
Ack. Bu nedenle Yüksek Performanslı Bilgi İşlem alanı ticari derleyiciler için önemli bir pazardır. Çünkü hesaplama süresi saate göre atandığında (ve bazen faturalandırıldığında) performans ve ayarlama özellikleri gerçekten önemlidir.
mschuett

Bunu genişletmek için, bazı durumlarda ücretsiz bir derleyici yoktur. Örneğin, Windows çekirdek geliştirme (Win8 +) için tek seçenek, entegre WDK derleyicisiyle MSVC kullanmaktır.
SomeWittyUsername

19

Ücretli bir derleyici üzerinde çalıştıktan sonra, derleyici için ödeme yapmanın temel nedeninin destek sözleşmesi olduğuna inanıyorum. Müşterinin koduyla ilgili bir sorunu varsa ve bir derleyici hatasından şüpheleniyorsa, derleyici satıcısından, olası yanıtları / çözümü için bir son tarih olan olası çözümleri (satıcıların kendi zamanında değil, kendi zamanında) araştırmasını isteyebilir. Bu, hassas bilgiler içerebilecek projeler için kaynak kodunu kamuya açıklamak zorunda kalmadan yapılabilir ve genellikle sözleşme, satıcıyı herhangi bir paylaşılan kaynak kodu hakkında gizliliğe bağlar. Genel olarak, daha büyük şirketler bu destek için ödeme yapmaya istekliyken, küçük mağazalar bunu para değerinde veya çok pahalı olarak görmüyor.

Buna ek olarak, satıcılar müşterileri memnun etmek istemektedir, bu nedenle özellik talepleri müşterilerin istediği önceliklere göre önceliklendirilmektedir. Müşterilerin, ihtiyaçlarına daha uygun, daha fazla şirkete özgü olmayan, yaygın olarak kullanılmayacak özellikler önerebilmeleri de mümkündür. Bu, GCC veya diğer açık kaynak derleyicilerinin kullanıcıları, özelliklerin kendi programlarına göre hangi sırada hissettiklerini yapmak isteyenler tarafından uygulandığı için mümkün değildir.


7
"Bu, GCC veya diğer açık kaynak derleyici kullanıcıları için, özelliklerin kendi programlarına göre hangi sırada hissettiklerini isteyenler tarafından uygulandığı durumlarda mümkün değildir." Ancak, diğer taraftan, müşteri özelliği yeterince kötü istiyorsa, geliştiricileri kendi başına uygulamak için atama konusunda özgürdür ve daha sonra başkalarıyla paylaşabilir veya paylaşmayabilir. (GPL'nin dağıtım değil, kullanımla ilgili olduğunu unutmayın .) Özel yazılımla, satıcıyı söz konusu özelliği uygulamaya ikna etmeli, ayrıca istediklerini gerçekten elde etmek için yeterli ayrıntıyı bilmeli ve tanımlamalıdır.
Mart'ta CVn

1
Şirket, derleyiciler ve belirli kod tabanı ile deneyim ve aşinalık geliştiricilere sahipse, evet, ancak bu, derleyici satın almaktan daha fazla, ek bir masraftır. Ayrıca, belirsiz özellik isteklerinin nasıl olabileceğine şaşıracaksınız. Bir müşteri ödüyorsa, bir şirketi bir şey yapmaya ikna etmek çok fazla zaman almaz, özellikle de çok para ödediğinizde. Her iki tarafta da tartışmayacağım, sadece bazılarının bu düzeyde destek bulmaya değer olduğunu söyleyin.
Chewy Gumball

1
Bir derleyicinin hiçbir şekilde önemsiz bir yazılım parçası olmadığına katılıyorum. Buna bir özellik eklemek, özellikle kod tabanına aşina olmayan biri için kesinlikle önemsiz bir görevdir. Ancak açık kaynak kodlu bir derleyicide uygulanan özelliklerin "mümkün olmadığını" söylemek, ancak tescilli olanda en iyi ihtimalle kusurlu bir argüman olması mümkündür. Şirket içinde gerekli uzmanlığa sahip değilse, onlar için bunu yapmak için bir danışman kiralayabilirler. Özel yazılımla, satıcı hayır diyorsa (nedenine bakılmaksızın), o zaman tüm niyet ve amaçlarınız için şanssızsınız.
Mart'ta CVn

Bütün bunlar söylendi, bunu onayladım çünkü soruyu iyi cevapladığını düşünüyorum.
Mart'ta CVn

1
Gerçekten "ticari" yazılım desteği ile uğraştığınızı sanmıyorum. Onun tanımlamak tamamen farklı bir deneyim.
James Anderson

1

Bazen insanların ödediği derleyici değil, onunla çalışan çalışma zamanı. Intel özellikle çok iş parçacığı, medya desteği (SSE vb.) Ve genişletilmiş hassas matematik gibi şeyler için mükemmel kütüphaneler sağlama geleneğine sahiptir.


Haklısın, Polyverse hedef savunmayı hareket ettirerek korunan Linux dağıtımları satıyor. Dağıtımlarından birinin satın alınmasıyla, aynı anda hareketli hedef savunmasını işletim sisteminin tüm ikili dosyalarına uygulayan derleyicisini satın alırsınız.
T. Salim

0

Ücretli bir derleyici kullanan bazı insanlarla çalıştım.

Bir kümede ciddi veri sıkışması yapıyorlardı. Sözde Intel derleyicisi onlar için biraz daha hızlı kod üretmeyi başardı ve derleyici için ödeme yapmak daha fazla düğüm çalıştırmaktan daha ucuzdu. Anladığım kadarıyla, fark çok küçüktü, ancak içinde hesaba katılan elektrik maliyetleri ile çarpılarak buna değer görülüyordu.

Bu nedenle, HPC süper bilgisayarlarının çoğu çip üreticileri tarafından sağlanan özel derleyiciler üzerinde çalışıyorsa şaşırmam.


-4

Ben bu konuda Karl Bielefeldt ile birlikteyim.

Platformlar arası yetenekler sunan derleyicilere gerçekten güvenmeyeceğim. Çünkü dürüst olmak gerekirse, hepimiz yerli ve hedefli araçları / derleyicileri her zaman hedef platformu daha iyi tanımak gibi avantajlara sahibiz.

Ve inanıyorum ki, yazılımınız karmaşıklaştığında ve performans gerektiğinde ücretli derleyicilere geçmeyi düşünmeye başlayabilirsiniz.

Buna ek olarak, Microsoft'un derleyicilerinin oldukça iyi olduğuna inanıyorum. Ve herkesin dediği gibi, sonsuza kadar özgürler.


2
Yani GCC'ye güvenmiyor musunuz? Android ve iOS derleyicileri ne olacak?

-17

GNU içermeyen derleyici (gcc), yalnızca Açık kaynaklı projeler için kullanabileceğiniz GNU lisansı (GPL) ile birlikte gelir. Yazılımdaki büyük isimler tarafından desteklenir.

Clang (ücretsiz), iyi bir derleyici yaratan GPL sınırlamalarından kaçınma girişimidir. Ayrıca Apple, Google ve diğerleri tarafından desteklenir.

VC ++ Express (ücretsiz), Windows platformu ile sınırlıdır (bu arada, son anda ücretsiz hale getirdiler, çünkü Açık Kaynak topluluğundan birçok kişi onlara sordu) ve profesyonel araçların çoğunda bir özellik yok. Örneğin profiler gibi.

Bu nedenle, tüm bu araçlar bizim için ücretsizdir, ancak endüstri tarafından desteklenmektedir.

Karl'ın belirttiği gibi Intel (ticari), Intel platformlarındaki en yüksek performansı hedefleyen projeler için.


17
Burada bir sürü yanlış bilgi var. VC ++ Express ücretsizdir, ancak Açık Kaynak topluluğunun (kim?) İstediği için şüpheliyim, ancak yukarıdaki yorumlarda @YannisRizos'un belirttiği gibi C ++ derleyicisiyle ilgisi yoktur. İkincisi, GCC'nin kendisi GPL iken, GPL olmayan kodu derlemek için kullanılabilir. Buraya bakın stackoverflow.com/questions/9772616/…
Avner Shahar-Kashtan

İnanılmaz, birçok kişi (diğerleri arasında biriyim) VC ++ 2012'yi Masaüstü için ücretsiz yapmasını istedi. GPL hakkında konuşmak istemiyorum.
SChepurin

5
Evet, eminim birçok insan ondan özgür olmalarını istedi. Bu onun tetikleyicisi olduğunuz anlamına gelmez. Bu bir ticari karardı. Aslında, VSExpress paketlerinin (25 $, sanırım) orijinal fiyatlandırmasına karşı tepkinin, evde kullanmak için bir şey isteyen, gerekli OS geliştirici olmayan ve kesinlikle bir topluluk olarak olmayan hobi ve ticari geliştiricilerden geldiğinden eminim.
Avner Shahar-Kashtan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.