Apa bisnis dalam mengembangkan bahasa pemrograman? [Tutup]


24

Saya bertanya-tanya apakah ada pemasukan besar dan langsung dalam merilis bahasa pemrograman seperti Java atau C #?

Menjual IDE, melisensikan merek Anda untuk buku atau mendapatkan prestise perusahaan tampaknya sedikit menguntungkan bagi mata saya dibandingkan dengan upaya yang tidak diragukan lagi membutuhkan pengembangan (tentu saja saya bisa salah, tentu saja).


Bahasa D datang ke pikiran. Digital Mars bahkan merilis kompilernya secara gratis.
Maks.

Sun menghasilkan uang di Jawa dengan menjual perangkat keras untuk menjalankannya.
Gayus

Jawaban:


17

Secara umum, tidak ada uang dalam mengembangkan bahasa pemrograman.

C # tentu menghasilkan uang Microsoft, tetapi pada dasarnya secara tidak langsung menghasilkan uang dengan mempromosikan .NET framework dan teknologi Microsoft lainnya.


1
... dan itu mengarah ke pertanyaan - apakah ada uang dalam kerangka / platform itu?
vemv

6
@ Viktor Uang di platform berasal dari penjualan lisensi. Seseorang yang ingin menjalankan program .Net akan sering membeli Windows. (Mono tersedia, tetapi tidak banyak digunakan.)
chrisaycock

10
@vick: Itu tidak selalu benar di dunia korporat. Tanpa .NET, lebih sedikit perusahaan yang akan menggunakan Windows untuk server.
Peter Alexander

2
@svick .Net adalah permainan yang cukup defensif melawan Java. Jika perusahaan telah beralih ke platform Sun, akan ada lebih sedikit kebutuhan untuk Windows di perusahaan.
chrisaycock

2
@vick: Itulah intinya. Selama Microsoft menjaga Anda dalam ekosistemnya, tidak masalah apakah Anda membelinya baru atau sudah memilikinya.
richard

17

Sangat tidak mungkin seseorang dapat menghasilkan uang dari bahasa pemrograman, karena alasan yang sangat sederhana bahwa sebagian besar proyek bahasa pemrograman gagal total - bahasa tersebut akhirnya digunakan oleh perancang (dan kadang-kadang bahkan bukan untuk mereka) dan oleh orang lain. Untuk setiap C # atau Java ada ribuan bahasa yang tidak ada hasilnya.

Namun, desain bahasa itu menyenangkan, sehingga orang-orang tetap terhubung. Dan jika Anda beruntung, Anda dapat menghasilkan sedikit uang. Misalnya, buku Stroustrup, Bahasa Pemrograman C ++ telah terjual 500 ribu eksemplar pada saat edisi ke-3 keluar, yang berarti saya kira penjualan sekarang harus lebih dari satu juta. Edisi ke-3 saya. biayanya GBP 27,95, dan bahkan memungkinkan untuk pemotongan penerbit dan pengecer, Anda dapat melihat dia pasti telah membuat sedikit perubahan dari itu!


Ini seperti menghasilkan uang dengan bermain gempa atau dunia warcraft secara profesional .. Ada beberapa orang yang melakukannya dan jutaan lainnya tidak. Mempertimbangkan investasi waktu yang sangat besar dan peluang hampir mendekati 0, itu bukan cara yang layak untuk menghasilkan uang
Thomas Bonini

11

Bahasa eksklusif tertentu yang ditujukan untuk domain tertentu berakhir dengan bisnis "gaya hidup" yang hebat, seperti MATLAB ( MathWorks ) dan Mathematica ( Wolfram Research ). Satu juga dapat memasarkan bahasa sebagai middleware, seperti Kx Systems lakukan dengan q / kdb + (mereka menjualnya sebagai database daripada bahasa).

Model bisnis alternatif adalah menyediakan hosting, seperti yang dilakukan Heroku untuk Ruby on Rails . ( 37 Sinyal secara efektif menyerahkan bisnis itu dengan tidak mengejarnya.)

Dan seperti yang orang lain katakan, bahasa dapat digunakan sebagai pemimpin yang hilang untuk mengunci pengembang aplikasi ke platform tertentu, seperti yang dilakukan C # untuk .NET.

Mengenai konsultasi atau buku, ini adalah model pendapatan yang sangat terbatas; konsultasi membutuhkan banyak tenaga untuk diukur, dan buku memiliki titik jenuh. Model yang lebih baik adalah hosting atau lisensi perusahaan.


3
Jawaban terbaik di sini IMHO. MATLAB dan Mathematica adalah contoh yang bagus; mereka tentu saja model yang akan saya coba ikuti jika saya harus "menghasilkan uang dari bahasa": pilih ceruk dan kembangkan sesuatu untuknya yang jelas lebih baik (untuk pengguna target, saat pengenalan) daripada yang sudah ada, alat yang lebih umum. Ingatlah bahwa Matlab bersaing dengan FORTRAN & C saat pertama kali muncul; Numpy / Scipy mungkin jauh lebih "modern", tetapi Matlab memiliki basis pengguna yang besar, kode dan inersia belaka sekarang.
timday

4

Jadi katakanlah Anda ingin mencari nafkah dengan menulis bahasa populer berikutnya. Anggap "mencari nafkah" berarti setara dengan gaji yang masuk akal pada pekerjaan penuh waktu (pekerjaan apa pun — tidak harus pekerjaan teknis). Jika Anda benar-benar menyukai apa yang Anda lakukan, Anda mungkin akan menerima sedikit lebih sedikit untuk melakukannya, jadi katakanlah $ 12,50 per jam , atau $ 2000 / bulan .

Saat mengerjakan pekerjaan yang stabil, Anda merilis versi pertama Anda dan menyiapkan fasilitas untuk donasi. Anda kemudian terlibat dalam pengembangan dan pemasaran berkelanjutan, sampai tingkat yang sebanding dengan jumlah pengguna bahasa Anda. Mari perkirakan secara konservatif bahwa 1% dari pengguna Anda akan menyumbang , dan masing-masing dari mereka akan menyumbang rata-rata $ 1 / tahun .

Itu berarti bahwa untuk mendapatkan gaji $ 2000 / bulan , Anda harus memiliki 2000 pengguna donasi untuk masing-masing 12 bulan dalam setahun. Itu total 2,4 juta pengguna . Sekarang mari kita asumsikan bahwa dibutuhkan 10 tahun untuk bahasa menjadi sepopuler ini: karena itu Anda harus memperoleh rata-rata 240.000 pengguna per tahun , atau 20.000 pengguna per bulan .

Jika Anda bekerja dengan waktu yang setara ( 160 jam / bulan ), strategi promosi dan kualitas implementasi Anda harus cukup untuk mendapatkan rata-rata 125 pengguna per jam . Dan itu adalah pengguna berulang, tentu saja: jika 20% dari orang yang mencoba bahasa Anda menjadi pengguna berulang, Anda benar-benar membutuhkan tingkat konversi 625 orang / jam .

Bahkan jika setiap orang yang Anda meyakinkan secara langsung meyakinkan empat orang lagi untuk mencoba bahasa Anda — dan demi kesederhanaan, dengan asumsi bahwa mereka tidak melanjutkan untuk mencoba meyakinkan orang lain — maka Anda masih kembali ke angka 125. angka pengguna / jam .

Sekarang, ini mungkin tampak benar-benar tidak masuk akal, tetapi percayalah atau tidak itu masih bisa berfungsi: katakanlah strategi pemasaran Anda menghasilkan pertumbuhan linier kasar selama periode 10 tahun di mana bahasa Anda mulai berkembang, dan kemudian meningkat. Itu berarti pada awalnya Anda akan mengkonversi rata-rata 0 pengguna / jam , dan 10 tahun kemudian Anda akan mendapatkan 250 pengguna . (Lagi, setiap jam . Perspektif, di sini.)

Itu peningkatan rata-rata 25 pengguna per jam per tahun : pada akhir setiap tahun, Anda mengonversi 25 lebih banyak orang per jam —atau 4000 lebih banyak orang per bulan —dari Anda berada di awal tahun.

Jadi mari kita tinjau ulang bahwa 2,4 juta pengguna rata-rata: apakah layak untuk mendapatkan sebanyak itu pengguna dalam 10 tahun ? Jika kami menerima (yang secara inheren cacat, tetapi tetap dapat digunakan) statistik yang ditawarkan oleh Langpop sebagai akurat, kami mendapatkan informasi berikut tentang 7 bahasa teratas yang sedang tren melalui pencarian Yahoo. Jika satu hasil diterima sebagai perwakilan dari satu pengguna (saya tahu, tahan dengan saya), angka-angka ini menunjukkan perkiraan rata-rata bulat dari jumlah pengguna yang diperoleh per tahun sejak bahasa tersebut pertama kali muncul.

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

Ini menempatkan hal-hal kembali ke bidang kemungkinan: jika Anda membuat bahasa yang sepopuler, katakanlah, Python, maka dalam 20 tahun Anda akan memiliki cukup pengguna untuk membuat pengembangan dan dukungan (dan pemasaran!) Dari bahasa itu ke dalam bahasa Anda sepenuhnya. pekerjaan waktu.

Buat satu sepopuler C # , dan Anda bisa melakukannya dalam 10 . Keren!

... Kecuali tentu saja dengan cara seperti itu menyepelekan usaha yang sangat tidak mungkin dan sulit yang membuat bahasa begitu populer. Tapi, hei, jika Anda punya ide bagus, dan Anda bisa berhasil sepenuhnya ke atas sendiri, tanpa kontribusi dari pengembang lain yang akan memotong uang sumbangan Anda, maka Anda jenius, dan Anda layak mendapatkannya.


3

Untuk menguraikan apa yang dikatakan @Peter: sangat umum untuk perangkat lunak dibuat untuk mendukung sesuatu yang lain. Cukup banyak hal yang diberikan secara gratis digunakan untuk mempromosikan sesuatu yang lain, baik itu iklan, platform, perangkat, atau layanan.

Dalam hal bahasa pemrograman itu semua tentang mempromosikan platform dengan menarik pengembang. Jika Anda menarik pengembang, Anda mendapatkan lebih banyak perangkat lunak yang ditulis untuk platform Anda, dan itu membuat platform lebih kuat. Cara Anda menarik pengembang adalah dengan memberi mereka alat luar biasa, dan bahasa adalah salah satu alat itu. Faktanya, salah satu kartu terkuat Microsoft dalam perjuangan berat mereka untuk mendapatkan kembali tempat mereka di pasar smartphone adalah alat pengembang mereka. "Sangat mudah untuk membuat ulang aplikasi yang Anda buat untuk iPhone dan Android untuk Windows Phone 7", "mudah untuk membuat aplikasi yang ditulis untuk Windows Phone 7 siap untuk layar lain", dll.

Juga, terkadang Anda hanya membuat bahasa pemrograman untuk penggunaan Anda sendiri karena Anda membutuhkan alat itu sendiri.


Saya rasa Microsoft membuat banyak dari lisensi OS Windows Phone ke pabrikan ... bukan?
vemv

@ Viktor .... Saya kira ..... Tidak yakin apa yang Anda dapatkan di sini.
EpsilonVector

3

Anda bisa mendapatkan sedikit lebih banyak keuntungan dari mengembangkan bahasa "kecil" khusus-domain. Bukan dari menjualnya. Ada beberapa DSL yang menjual untuk mendapat untung, tetapi lebih banyak kesuksesan sumber terbuka, dan bahkan lebih banyak kegagalan (baik terbuka maupun tertutup).

Di mana Anda bisa mendapat untung dari perolehan produktivitas yang bisa Anda dapatkan dari mereka. Ada semacam paradigma pembangunan berdasarkan ide ini.

Kelebihan dan kekurangannya mirip dengan pemrograman berbasis template di C ++, tetapi lebih dari itu. Misalnya DSL membutuhkan lebih banyak pekerjaan di muka daripada perpustakaan normal, tetapi dapat memberikan lebih banyak fleksibilitas, kekokohan, dan "kelincahan" setelah ditulis. Anda tidak mungkin melakukannya sama sekali kecuali kinerja adalah masalah besar, jika tidak, mungkin lebih mudah untuk menunda pekerjaan yang terlibat sampai run-time - misalnya menggunakan mesin pemindaian berbasis run-time reguler berbasis ekspresi daripada generator kode scanner.

"Agility" mendapatkan kutipan menakut-nakuti karena terlalu bersemangat untuk menulis DSL adalah pelanggaran yang jelas terhadap prinsip gesit. Bahkan di lingkungan DSL-berat, Anda sangat tidak mungkin bekerja pada pengembangan DSL sebagai bagian dari rutinitas sehari-hari Anda.

Salah satu alasan untuk menggunakan DSL mungkin untuk menyandikan beberapa aturan bisnis (semacam spesifikasi sistem pakar), dan menghasilkan kode yang berfungsi dengan aturan itu. Karena terjemahan dari aturan bisnis deklaratif ke kode yang dihasilkan bisa sangat canggih, perubahan besar pada kode yang dihasilkan dapat ditangani dengan membuat perubahan yang cukup mudah ke spesifikasi aturan bisnis. Sebagai contoh, DSL dapat menghasilkan pohon keputusan, atau dapat melacak dependensi melalui digraf untuk secara otomatis memastikan semua yang perlu evaluasi ulang dievaluasi kembali dan bahwa tidak ada siklus (dikompilasi "spreadsheet").

Versi ekstrem dari ini mungkin menggunakan bahasa logika seperti Prolog untuk beberapa bagian dari sistem Anda, meskipun ini hanya ekstrem dalam arti - itu juga hanya pilihan bahasa kuda-untuk-kursus daripada membangun-sendiri-DSL-Anda paradigma.


2

Mengembangkan bahasa pemrograman dan membakukannya tidak benar-benar dilakukan dengan satu orang. Bahkan Stroustrup adalah penemu C ++, ada banyak pakar industri lain yang berpartisipasi di seluruh dunia. Ini lebih seperti layanan sukarela. Orang-orang yang benar-benar berbakat menulis buku seperti Scott Mayers menghasilkan uang darinya. Orang lain bekerja sebagai konsultan independen atau konsultan untuk organisasi besar.

Contoh terbaik adalah Standardisasi C ++ 0x. Ditunda selama bertahun-tahun sekarang. Alasan mengapa karena anggota komite sibuk dengan pekerjaan utama mereka dan sulit untuk membuat kuorum untuk menyelesaikan spesifikasi.

Perusahaan seperti Microsoft Sun (Oracle) telah mengembangkan bahasa pemrograman mereka sendiri dan menghasilkan uang dari IDE dan juga dengan memberikan dukungan tanpa batas melalui platform mereka. Ini lebih seperti solusi tertutup untuk masalah. Tetapi hal-hal baik bahwa bahasa pemrograman ini distandarisasi / disetujui oleh ISO atau komite serupa. Java tampaknya mendapatkan penjualan IP mereka untuk perusahaan karena menggunakan bahasa pemrograman mereka. Baru-baru ini Oracle telah mengajukan tuntutan Google atas Pelanggaran IP di Jawa.

Dalam satu kalimat, ini lebih seperti layanan sukarela daripada bisnis untuk mereka yang bekerja untuk standar terbuka.


1

Jika Anda mengelola (saya berasumsi bahwa yang Anda maksud adalah seorang individu dan bukan perusahaan) untuk menciptakan bahasa pemrograman yang sukses, tentu saja dalam bidang kemungkinan untuk mendapatkan kehidupan yang layak dengan menjual buku, berbicara di konferensi belum lagi berkonsultasi atau mendapatkan diakuisisi atau disewa . Anda bahkan dapat memperoleh uang dari melisensikan bahasa pemrograman Anda ke perusahaan yang berbeda, yang akan membuatnya kurang berhasil.

Kemudian lagi, ada banyak cara yang lebih mudah untuk menghasilkan uang dan kebanyakan individu (perusahaan seperti sun dan Microsoft dikecualikan) melakukannya lebih untuk tantangan dan mungkin geek cred.

Peluang perusahaan kecil / perorangan untuk menciptakan bahasa pemrograman utama sangat kecil, mungkin lebih mudah untuk mencoba mengisi semacam ceruk. Dan lagi, tentu bukan tidak mungkin untuk melakukan itu dan mereka yang mengatakan saya tidak dapat dilakukan sering terganggu oleh mereka yang melakukannya :)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.