Bir programlama dili geliştirmedeki iş nedir? [kapalı]


24

Java veya C # gibi bir programlama dili yayınlamakta büyük, doğrudan bir gelir olup olmadığını merak ediyordum.

IDE'leri satmak, markanızı kitaplara lisans vermek veya kurumsal prestij kazanmak, şüphesiz ki gelişimin aldığı çaba ile karşılaştırıldığında gözlerim için çok az bir avantaj gibi görünüyor (elbette yanlış olabilirdi).


D dili akla gelir. Digital Mars bile derleyicilerini ücretsiz yayınlar.
Maxpm

Sun, çalıştırmak için donanım satarak Java'dan para kazandı.
Gaius

Yanıtlar:


17

Genel olarak, programlama dillerinin geliştirilmesinde para yoktur.

C # kesinlikle Microsoft para kazanıyor, ancak aslında dolaylı olarak .NET framework ve diğer Microsoft teknolojilerini teşvik ederek para kazanıyor.


1
... ve bu soruya yol açar - o zaman çerçeve / platformda herhangi bir para var mı?
vemv

6
@Victor Platformdaki para, lisans satmaktan geliyor. .Net programını çalıştırmak isteyen biri genellikle Windows satın alır. (Mono kullanılabilir, ancak yaygın olarak kullanılmamaktadır.)
chrisaycock

10
@svick: Bu iş dünyasında mutlaka doğru değil. .NET olmadan çok daha az şirket Windows için sunucular kullanırdı.
Peter Alexander

2
@svick .Net, Java'ya karşı oldukça savunmacı bir oyundu. Şirketler Sun'ın platformuna geçselerdi, şirkette Windows'a daha az ihtiyaç duyulurdu.
chrisaycock

2
@svick: Mesele bu. Microsoft sizi ekosistemlerinde tuttuğu sürece, yeni satın almanız veya önceden edinmeniz önemli değildir.
richard

17

Programlama dillerinden birisinin para kazanması pek olası değildir, çünkü çoğu programlama dili projesinin mutsuzca başarısız olması nedeniyle - dil tasarımcısı (ve bazen onlar bile değil) ve başkaları tarafından kullanılmaz. Her C # veya Java için hiçbir yere gitmeyen binlerce dil vardır.

Ancak, dil tasarımı eğlenceli, bu yüzden insanlar takılmaya devam ediyor. Ve eğer şanslıysanız, biraz para kazanabilirsiniz. Örneğin, Stroustrup'un kitabı C ++ Programlama dili, 3. baskı çıktığında 500 bin kopya sattı, bu da satışların şu anda bir milyonun üzerinde olması gerektiğini tahmin ediyorum. 3. basım. Bana 27,95 Sterlin'e mal oldu ve yayıncıların ve perakendecilerin kesintilerini kesmelerine izin verse bile, bundan büyük bir değişiklik yapmış olduğunu görebilirsiniz!


Her ne kadar profesyonelce deprem ya da savaş uçağı dünyasıyla para kazanmak gibi .. Yapacak birkaç kişi var ve yapmayan milyonlarca insan var. Muazzam zaman yatırımını ve 0 şansa yakınlığı göz önünde bulundurarak para kazanmak için gerçekten uygun bir yol değil
Thomas Bonini

11

Belirli alanları hedefleyen belirli özel diller, MATLAB ( MathWorks ) ve Mathematica ( Wolfram Research ) gibi büyük "yaşam tarzı" işletmeler olarak son bulur . Bir kişi, Kx Systems'ın q / kdb + ile yaptığı gibi bir dil aracı olarak da pazarlayabilir (bir dili değil, bir veritabanı olarak satıyorlar ).

Alternatif bir iş modeli, Heroku'nun Ruby on Rails için yaptığı gibi barındırma sağlamaktır . ( 37Signals , bu işi takip etmeyerek etkin bir şekilde reddetti .)

Diğerleri söylediler gibi, bir dil bir olarak kullanılabilir kaybı lideri kilitlemek-in uygulama geliştiricilerinin belirli platformuna gibi C # .NET için yaptı.

Danışmanlık veya kitaplara gelince, bunlar oldukça sınırlı gelir modelleridir; danışmanlık, ölçeklendirmek için çok fazla insan gücü gerektirir ve kitapların doyma noktasına sahip olmaları gerekir. Daha iyi modeller barındırma veya işletme lisanslarıdır.


3
Buradaki en iyi cevap IMHO. MATLAB ve Mathematica harika örneklerdir; “bir dilden para kazanmak zorunda olsaydım” kesinlikle izlemeye çalıştığım modeldi: bir niş seçin ve bunun için (hedef kullanıcılar için, giriş anında) varolandan daha iyi olan bir şey geliştirdiler. daha genel amaçlı araçlar. Matlab'ın ilk göründüğünde FORTRAN & C ile rekabet ettiğini; Numpy / Scipy çok daha "modern" olabilir, ama Matlab'ın şimdilerde muazzam bir kullanıcı tabanı, kodu ve saf ataleti var.
timdays

4

Öyleyse bir sonraki popüler dili yazarak geçimini sağlamak istediğinizi varsayalım. "Bir hayat inşa etmek", tam zamanlı bir işte makul ücretin karşılığı anlamına gelir (herhangi bir işte - zorunlu olarak teknik değil). Yaptığınız işi gerçekten seviyorsanız, muhtemelen bunu yapmak için biraz daha az kabul edersiniz, o halde saatte 12.50 dolar veya ayda 2000 dolar deriz .

İstikrarlı bir işte çalışırken, ilk versiyonunuzu yayınlar ve bağışlar için bir tesis kurarsınız. Ardından, dilinizin kullanıcı sayısına oranla orantılı bir şekilde sürekli gelişim ve pazarlamaya katılırsınız. Muhafazakar bir şekilde , kullanıcılarınızın% 1'inin bağış yapacağını ve bunların her birinin yılda ortalama 1 ABD Doları bağışlayacağını tahmin edelim .

Bunun anlamı, 2000 dolar / ay maaşınızı alabilmeniz için , yılda 12 ayın her birinde 2000 bağış kullanıcısı olmanız gerektiğidir . Budur 2,4 milyon kullanıcıları toplam. Şimdi bir dilin bu popüler hale gelmesinin 10 yıl sürdüğünü varsayalım : bu nedenle yılda ortalama 240.000 kullanıcı veya ayda 20.000 kullanıcı edinmeniz gerekir .

Tam zamanlı bir eşdeğeri ( 160 saat / ay ) çalışıyorsanız, promosyon stratejiniz ve uygulama kaliteniz saatte ortalama 125 kullanıcı kazanmak için yeterli olmalıdır . Ve elbette bu tekrarlayan kullanıcılar: Dilinizi deneyenlerin % 20'si tekrarlanan kullanıcı olursa, aslında 625 kişi / saat dönüşüm oranına ihtiyacınız var .

Her ikinize de, doğrudan ikna ettiğiniz dört kişi , dilinizi denemek için dört kişiyi ikna etse bile - ve sadelik uğruna, başkalarını ikna etmeye çalışmaya devam etmediklerini varsayarsak - o zaman hala 125’e geri dönersiniz. kullanıcı / saat rakamı

Şimdi, bu tamamen mantıksız görünebilir, ancak hala işe yarayıp yaramadığına inanabilirsiniz : diyelim ki pazarlama stratejiniz, dilinizin zemin kazandığı 10 yıllık dönem boyunca kabaca doğrusal bir büyüme ortaya koyuyor ve ardından platolar. Bu, başlangıçta saat / saatte ortalama 0 kullanıcıyı dönüştüreceğiniz ve 10 yıl sonra 250 kullanıcı kazanacağınız anlamına gelir . (Yine, saatlik . Perspektif, burada.)

Yani bir ortalama artış yılda saatte 25 kullanıcıları : Her yılın sonunda, sen dönüştürme konum saatte 25 daha fazla kişi -veya ayda 4000 daha fazla kişi size yılın başında idi -than.

Öyleyse 2,4 milyon kullanıcılı basketbol oyununu tekrar gözden geçirelim : 10 yılda bu kadar çok kullanıcıyı kazanmak mümkün mü? Langpop tarafından sunulan (doğal olarak kusurlu, ancak yine de kullanılabilir) istatistikleri doğru olarak kabul edersek, şu anda Yahoo aramada trend olan ilk 7 dil hakkında aşağıdaki bilgileri alıyoruz . Bir sonuç bir kullanıcının temsilcisi olarak kabul edilirse (benimle beraber olduğumu biliyorum), bu sayılar, dil ilk göründüğünden beri yılda kazanılan yaklaşık ortalama kullanıcı sayısını gösterir.

  1. C ++: 500k
  2. C: 400k
  3. Java: 700k
  4. PHP: 400k
  5. Perl: 150k
  6. C #: 300k
  7. Python: 150k

Bu, olayları tekrar olasılıklar diyarına sokuyor: Python kadar popüler bir dil yaparsanız, o zaman 20 yıl içinde o dili geliştirmek ve desteklemek (ve pazarlamak için!) Yeteri kadar kullanıcınız olacak; zaman işi.

Bir olun C # kadar popüler ve sen 10'da yapabiliriz . Güzel!

… Tabii ki, bu şekilde koymak , bir dili çok popüler yapan çok olası ve zor bir girişimi önemsiz kılıyor. Ancak, iyi bir fikriniz varsa ve bağış paranızı kesecek başka geliştiricilerin katkıları olmadan tamamen kendi başınıza başa çıkmayı başarabilirseniz, o zaman bir dahisiniz. ve sen bunu hakediyorsun.


3

@Peter'in söylediklerine odaklanmak: başka bir şeyi desteklemek için yazılımın oluşturulması çok yaygındır. Ücretsiz olarak verilen hemen hemen her şey, reklam, platform, cihaz veya hizmet gibi başka bir şeyi tanıtmak için kullanılır.

Programlama dilleri söz konusu olduğunda, geliştiricilerin ilgisini çekerek bir platforma teşvik etmekle ilgili. Geliştiricileri çekerseniz, platformunuz için yazılmış daha fazla yazılım elde edersiniz ve bu da platformu güçlendirir. Geliştiricilerin ilgisini çeken yol onlara harika araçlar vermektir ve dil bu araçlardan biridir. Aslında, Microsoft'un akıllı telefon pazarındaki yerini geri kazanmak için yokuş yukarı savaşlarındaki en güçlü kartlarından biri geliştirici araçları. “Windows Phone 7 için iPhone ve Android için yaptığınız aps'ları yeniden oluşturmak kolaydır”, “Windows Phone 7 için yazılmış uygulamaları diğer ekranlar için hazır hale getirmek çok kolaydır” vb.

Ayrıca, bazen kendi kullanımınız için bir programlama dili de yapıyorsunuzdur, çünkü araca kendiniz ihtiyaç duyarsınız.


Microsoft'un Windows Phone İşletim Sistemini lisanslamaktan üreticilerine çok iyi bir iş çıkardığını düşünüyorum.
vemv

@Victor .... Sanırım ..... Burada ne alıyorsunuz emin değilim.
EpsilonVector

3

Etki alanına özgü "küçük" diller geliştirmekten biraz daha fazla kar elde edebilirsiniz. Yine de onları satmaktan değil. Bir kar için satan birkaç DSL var, ancak birçok açık kaynak başarısı ve hatta daha fazla başarısızlık (hem açık hem de kapalı).

Kâr edebileceğiniz yer, bunlardan elde edebileceğiniz üretkenlik kazançlarıdır. Bu fikre dayanan bir tür gelişme paradigması vardır.

Avantaj ve dezavantajları, C ++ 'da şablon tabanlı programlamaya benzer, ancak daha fazlası. Örneğin, DSL normal bir kütüphaneden daha fazla ön çalışma gerektirir, ancak bir kez yazıldığında çok daha fazla esneklik, sağlamlık ve "çeviklik" sağlayabilir. Performansın büyük bir endişe kaynağı olmadığı sürece hiç yapma ihtimaliniz yoktur, aksi halde çalışma işini çalışma süresine kadar geciktirmek daha kolaydır - örneğin bir tarayıcı kod üreteci yerine çalışma zamanı düzenli ifade tabanlı bir tarama motoru kullanın.

"Çeviklik" çok fazla alıntı yapmıyor çünkü DSL yazmak için fazla istekli olmak çevik ilkelerin açıkça ihlali anlamına geliyor. DSL ağırlıklı bir ortamda bile, günlük rutininizin bir parçası olarak DSL geliştirmek için çalışma ihtimaliniz çok düşük.

DSL kullanmanın bir nedeni, bazı iş kurallarını (bir tür uzman sistem spesifikasyonu) kodlamak ve bu kurallarla çalışan kod üretmek olabilir. Beyannameli iş kurallarından ortaya çıkan koda yapılan çeviri oldukça karmaşık olabileceğinden, oluşturulan kurallardaki büyük değişiklikler, iş kuralları belirtiminde oldukça basit değişiklikler yapılarak gerçekleştirilebilir. Örneğin, DSL karar ağaçları oluşturabilir veya yeniden değerlendirmeye ihtiyaç duyan her şeyin yeniden değerlendirildiğinden ve herhangi bir döngü (derlenmiş "elektronik tablo") olmadığından emin olmak için bir digraf aracılığıyla bağımlılıkları izleyebilir.

Bunun aşırı bir sürümü, sisteminizin bir kısmı için Prolog gibi bir mantık dili kullanmak olabilir, ancak bu sadece bir anlamda aşırıdır - aynı zamanda kendi DSL'nizden ziyade sadece kurslar için dil seçimi paradigması.


2

Bir programlama dili geliştirmek ve bunları standart hale getirmek gerçekten tek bir kişiyle yapılmaz. Stroustrup bile C ++ 'ın mucidi olsa da, dünya çapında pek çok başka endüstri uzmanı da katılıyor. Daha çok gönüllü bir servis gibi. Scott Mayers gibi kitaplardan para kazanma konusunda gerçekten yetenekli olan insanlar. Diğer insanlar büyük kuruluşlar için bağımsız danışmanlar veya danışmanlar olarak çalışmaktadır.

En iyi örnek C ++ 0x Standardizasyon'dur. Şimdi yıllarca gecikmeli. Bunun nedeni, komite üyelerinin ana çalışmalarıyla meşgul olmaları ve şartnamelerin kesinleşmesi için yeterli karar vermemeleri zor olmasıdır.

Microsoft Sun (Oracle) gibi şirketler kendi programlama dillerini geliştirdi ve IDE'den para kazandılar ve ayrıca platformları üzerinden kesintisiz destek sağladılar. Sorunlara kapalı bir çözüm gibi. Ancak, bu programlama dillerinin ISO veya benzeri komiteler tarafından standartlaştırıldığı / onaylandığı iyi şeyler. Java, programlama dilini kullanmaları için şirketlere IP satıyor gibi görünüyor. Son zamanlarda Oracle, Google’ı Java’daki IP İhlalleri konusunda dava açtı.

Tek cümlede, açık standartlar için çalışanlar için bir işten çok gönüllü hizmet gibidir.


1

Başarılı bir programlama dili oluşturmayı başarırsanız (bireyi değil bir şirketi kastettiğinizi varsayarım), kesinlikle danışmanlık yaparak ya da edinmeden ya da işe alımdan söz etmeden konferanslarda konuşarak, kitap satarak iyi bir hayat kazanma olasılığı içindedir. . Programlama dilinizi farklı şirketlere lisanslamanızdan, hatta başarılı olmanızın daha az muhtemel olmasını sağlayacak para da kazanabilirsiniz.

Sonra tekrar, para kazanmanın çok daha kolay yolları var ve çoğu kişi (güneş ve Microsoft gibi şirketler hariç) zorluk ve muhtemelen inek yetiştirme konusunda daha fazlasını yapıyor.

Küçük bir şirketin / bireyin ana akım programlama dili yaratma olasılığı son derece küçüktür, muhtemelen bir tür boşluğu doldurmaya çalışmak daha kolaydır. Sonra tekrar, kesinlikle bunu yapmak imkansız değil ve yapamayacağımı söyleyenler genellikle bunu yapanlar tarafından kesiliyor :)

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.