Kinh doanh gì trong việc phát triển ngôn ngữ lập trình? [đóng cửa]


24

Tôi đã tự hỏi nếu có một doanh thu lớn, trực tiếp trong việc phát hành một ngôn ngữ lập trình như Java hoặc C #?

Bán IDE, cấp phép thương hiệu của bạn cho sách hoặc đạt được uy tín doanh nghiệp dường như là một lợi ích không đáng kể trong mắt tôi so với nỗ lực chắc chắn là sự phát triển (dĩ nhiên tôi có thể sai).


Các ngôn ngữ D nói đến cái tâm. Digital Mars thậm chí còn phát hành trình biên dịch miễn phí.
Tối đa

Sun kiếm tiền trên Java bằng cách bán phần cứng để chạy nó.
Gaius

Câu trả lời:


17

Nói chung, không có tiền trong việc phát triển ngôn ngữ lập trình.

C # chắc chắn kiếm tiền từ Microsoft, nhưng về cơ bản là kiếm tiền gián tiếp bằng cách thúc đẩy .NET framework và các công nghệ khác của Microsoft.


1
... Và điều đó dẫn đến câu hỏi - có tiền trong khuôn khổ / nền tảng không?
vemv

6
@Victor Tiền trong nền tảng đến từ việc bán giấy phép. Ai đó muốn chạy chương trình .Net thường sẽ mua Windows. (Mono có sẵn, nhưng nó không được sử dụng rộng rãi.)
chayaycock

10
@svick: Điều đó không nhất thiết đúng trong thế giới doanh nghiệp. Không có .NET, rất ít công ty sẽ sử dụng Windows cho máy chủ.
Peter Alexander

2
@svick .Net là một trò chơi phòng thủ khá hay chống lại Java. Nếu các công ty đã chuyển sang nền tảng của Sun, doanh nghiệp sẽ cần ít Windows hơn.
chrisaycock

2
@svick: Đó là điểm chính. Miễn là Microsoft giữ bạn trong hệ sinh thái của họ, không quan trọng bạn mua nó mới hay đã có nó.
Richard

17

Rất khó có khả năng người ta sẽ kiếm được tiền từ các ngôn ngữ lập trình, vì một lý do rất đơn giản là hầu hết các dự án ngôn ngữ lập trình đều thất bại thảm hại - ngôn ngữ cuối cùng được sử dụng bởi nhà thiết kế của nó (và đôi khi không phải là chúng) và bởi bất kỳ ai khác. Đối với mỗi C # hoặc Java, có hàng ngàn ngôn ngữ không đi đến đâu.

Tuy nhiên, thiết kế ngôn ngữ là niềm vui, vì vậy mọi người cứ cắm đầu đi. Và nếu bạn gặp may mắn, bạn có thể kiếm được khá nhiều tiền. Ví dụ, cuốn sách của Stroustrup Ngôn ngữ lập trình C ++ đã bán được 500 nghìn bản vào thời điểm xuất bản lần thứ 3, điều đó có nghĩa là tôi đoán doanh số bây giờ phải hơn một triệu. Tái bản lần thứ 3 của tôi chi phí cho tôi 27,95 GBP và thậm chí cho phép cắt giảm các nhà xuất bản và nhà bán lẻ, bạn có thể thấy anh ta đã có một chút thay đổi tốt đẹp từ nó!


Nó giống như kiếm tiền khi chơi trận động đất hoặc thế giới của warcraft một cách chuyên nghiệp .. Có một vài người làm và hàng triệu người không làm. Xem xét đầu tư thời gian khổng lồ và gần 0 cơ hội, đó không thực sự là một cách kiếm tiền hiệu quả
Thomas Bonini

11

Một số ngôn ngữ độc quyền nhắm vào các lĩnh vực cụ thể cuối cùng là các doanh nghiệp "phong cách sống" tuyệt vời, chẳng hạn như MATLAB ( MathWorks ) và Mathematica ( Nghiên cứu Wolfram ). Người ta cũng có thể tiếp thị một ngôn ngữ dưới dạng phần mềm trung gian, giống như Kx Systems đã làm với q / kdb + (họ bán nó dưới dạng cơ sở dữ liệu thay vì ngôn ngữ).

Một mô hình kinh doanh thay thế là cung cấp dịch vụ lưu trữ, giống như Heroku làm cho Ruby on Rails . ( 37Signals đã nhượng lại doanh nghiệp đó một cách hiệu quả bằng cách không theo đuổi nó.)

Và như những người khác đã nói, một ngôn ngữ có thể được sử dụng như một nhà lãnh đạo thua lỗ cho các nhà phát triển ứng dụng khóa vào một nền tảng cụ thể, giống như C # đã làm cho .NET.

Về tư vấn hoặc sách, đây là những mô hình doanh thu khá hạn chế; tư vấn đòi hỏi rất nhiều nhân lực để mở rộng quy mô và sách có điểm bão hòa. Mô hình tốt hơn là lưu trữ hoặc giấy phép doanh nghiệp.


3
Câu trả lời hay nhất ở đây IMHO. MATLAB và Mathicala là những ví dụ tuyệt vời; họ chắc chắn là mô hình mà tôi cố gắng làm theo nếu tôi phải "kiếm tiền từ ngôn ngữ": chọn một thị trường thích hợp và phát triển thứ gì đó rõ ràng hơn (cho người dùng mục tiêu, tại thời điểm giới thiệu) so với hiện tại, công cụ mục đích chung hơn. Hãy nhớ rằng Matlab đã cạnh tranh với FORTRAN & C khi nó lần đầu tiên xuất hiện; Numpy / Scipy có thể "hiện đại" hơn nhiều, nhưng Matlab có một lượng lớn người dùng, mã và quán tính tuyệt đối bây giờ.
timday

4

Vì vậy, hãy nói rằng bạn muốn kiếm sống bằng cách viết ngôn ngữ phổ biến tiếp theo. Giả sử "kiếm sống" có nghĩa là tương đương với mức lương hợp lý tại một công việc toàn thời gian (bất kỳ công việc nào, không nhất thiết phải là kỹ thuật). Nếu bạn thực sự yêu thích những gì bạn làm, có lẽ bạn sẽ chấp nhận ít hơn một chút để làm điều đó, vì vậy hãy nói $ 12,50 một giờ , hoặc $ 2000 / tháng .

Trong khi làm việc ổn định, bạn phát hành phiên bản đầu tiên của mình và thiết lập một cơ sở để quyên góp. Sau đó, bạn tham gia vào phát triển và tiếp thị liên tục, ở một mức độ tỷ lệ thuận với số lượng người dùng ngôn ngữ của bạn. Hãy ước tính một cách dè dặt rằng 1% người dùng của bạn sẽ quyên góp và mỗi người trong số họ sẽ quyên góp trung bình $ 1 / năm .

Điều đó có nghĩa là để có được mức lương 2000 đô la / tháng , bạn cần có 2000 người dùng quyên góp cho mỗi 12 tháng trong năm. Đó là tổng số 2,4 triệu người dùng . Bây giờ chúng ta hãy giả sử rằng phải mất 10 năm để một ngôn ngữ trở nên phổ biến: do đó bạn phải có được trung bình 240 000 người dùng mỗi năm hoặc 20 000 người dùng mỗi tháng .

Nếu bạn đang làm việc tương đương với toàn thời gian ( 160 giờ / tháng ), chiến lược quảng cáo và chất lượng triển khai của bạn phải đủ để đạt được trung bình 125 người dùng mỗi giờ . Và đó là người dùng lặp lại, tất nhiên: nếu 20% số người thử ngôn ngữ của bạn trở thành người dùng lặp lại, bạn thực sự cần tỷ lệ chuyển đổi là 625 người / giờ .

Ngay cả khi mỗi một trong số những người bạn thuyết phục trực tiếp thuyết phục thêm bốn người dùng thử ngôn ngữ của bạn và vì đơn giản, giả sử rằng họ không tiếp tục cố gắng thuyết phục những người khác, thì bạn vẫn quay lại 125 số người dùng / giờ .

Bây giờ, điều này có vẻ hoàn toàn không hợp lý, nhưng tin hay không nó vẫn có thể hoạt động: giả sử chiến lược tiếp thị của bạn tạo ra sự tăng trưởng tuyến tính trong khoảng thời gian 10 năm mà ngôn ngữ của bạn đang đạt được vị thế, và sau đó là cao nguyên. Điều đó có nghĩa là lúc đầu, bạn sẽ chuyển đổi trung bình 0 người dùng / giờ và 10 năm sau bạn sẽ có được 250 người dùng . (Một lần nữa, hàng giờ . Phối cảnh, ở đây.)

Đó là sự gia tăng trung bình 25 người dùng mỗi giờ mỗi năm : vào cuối mỗi năm, bạn đang chuyển đổi hơn 25 người mỗi giờ -Hoặc hơn 4000 người mỗi tháng -than bạn là vào lúc bắt đầu của năm.

Vì vậy, hãy xem xét lại rằng 2,4 triệu người dùng ballpark: có khả thi để có được nhiều người dùng như vậy trong 10 năm không? Nếu chúng tôi chấp nhận số liệu thống kê (dù sao còn thiếu sót, nhưng có thể sử dụng được) do Langpop cung cấp là chính xác, chúng tôi sẽ nhận được thông tin sau về 7 ngôn ngữ hàng đầu hiện đang có xu hướng thông qua tìm kiếm của Yahoo. Nếu một kết quả được chấp nhận là đại diện của một người dùng (tôi biết, hãy đồng ý với tôi), những con số này cho biết số lượng người dùng trung bình gần đúng được làm tròn mỗi năm kể từ khi ngôn ngữ xuất hiện lần đầu tiên.

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

Điều này đặt mọi thứ trở lại trong khả năng: nếu bạn tạo một ngôn ngữ phổ biến như Python, thì sau 20 năm, bạn sẽ có đủ người dùng để phát triển và hỗ trợ (và tiếp thị!) Ngôn ngữ đó thành toàn bộ ngôn ngữ của bạn công việc thời gian.

Tạo một cái phổ biến như C # , và bạn có thể làm điều đó trong 10 . Mát mẻ!

... dĩ nhiên ngoại trừ rằng việc đưa nó theo cách đó trivialises sự bao la cam kết chắc và khó khăn đó là làm cho một ngôn ngữ rất phổ biến. Nhưng này, nếu bạn có một ý tưởng hay và bạn có thể tự mình đạt được đỉnh cao, mà không cần sự đóng góp của bất kỳ nhà phát triển nào khác, những người sẽ cắt giảm số tiền quyên góp của bạn, thì bạn là một thiên tài, và bạn xứng đáng với nó.


3

Để giải thích về những gì @Peter đã nói: rất phổ biến khi phần mềm được tạo ra để hỗ trợ một cái gì đó khác. Khá nhiều thứ được tặng miễn phí được sử dụng để quảng bá cho một thứ khác, có thể là quảng cáo, nền tảng, thiết bị hoặc dịch vụ.

Trong trường hợp ngôn ngữ lập trình, tất cả là về việc thúc đẩy một nền tảng bằng cách thu hút các nhà phát triển. Nếu bạn thu hút các nhà phát triển, bạn sẽ nhận được nhiều phần mềm được viết cho nền tảng của mình và điều đó làm cho nền tảng mạnh hơn. Cách bạn thu hút các nhà phát triển là bằng cách cung cấp cho họ các công cụ tuyệt vời và ngôn ngữ là một trong những công cụ đó. Trên thực tế, một trong những thẻ mạnh nhất của Microsoft trong cuộc chiến khó khăn của họ để giành lại vị trí của họ trên thị trường điện thoại thông minh là các công cụ dành cho nhà phát triển của họ. "Thật dễ dàng để tạo lại các ứng dụng bạn đã tạo cho iPhone và Android cho Windows Phone 7", "thật dễ dàng để làm cho các ứng dụng được viết cho Windows Phone 7 sẵn sàng cho các màn hình khác", v.v.

Ngoài ra, đôi khi bạn chỉ tạo một ngôn ngữ lập trình để sử dụng vì bạn cần chính công cụ đó.


Tôi nghĩ rằng Microsoft kiếm được rất nhiều từ việc cấp phép cho HĐH Windows Phone cho các nhà sản xuất ... phải không?
vemv

@Victor .... Tôi cho rằng ..... Không chắc chắn những gì bạn đang nhận được ở đây.
EpsilonVector

3

Bạn có thể nhận được thêm một chút lợi nhuận từ việc phát triển các ngôn ngữ "nhỏ" dành riêng cho tên miền. Không phải từ việc bán chúng, mặc dù. Có một số DSL bán vì lợi nhuận, nhưng nhiều thành công nguồn mở hơn và thậm chí nhiều thất bại hơn (cả mở và đóng).

Nơi bạn có thể kiếm lợi nhuận là từ tăng năng suất bạn có thể nhận được từ họ. Có một loại mô hình phát triển dựa trên ý tưởng này.

Những ưu điểm và nhược điểm tương tự như lập trình dựa trên mẫu trong C ++, nhưng hơn thế nữa. Ví dụ, DSL yêu cầu công việc trực tiếp nhiều hơn so với thư viện bình thường, nhưng có thể mang lại sự linh hoạt, mạnh mẽ và "nhanh nhẹn" hơn nhiều khi được viết. Bạn hoàn toàn không thể làm điều đó trừ khi hiệu suất là một mối quan tâm lớn, nếu không, có thể dễ dàng trì hoãn công việc liên quan đến thời gian chạy - ví dụ: sử dụng công cụ quét dựa trên biểu thức chính quy thời gian chạy thay vì trình tạo mã máy quét.

"Nhanh nhẹn" nhận được báo giá sợ hãi vì quá háo hức để viết DSL là vi phạm rõ ràng các nguyên tắc nhanh. Ngay cả trong môi trường nặng DSL, bạn rất khó có thể phát triển DSL như một phần của thói quen hàng ngày.

Một lý do để sử dụng DSL có thể là mã hóa một số quy tắc kinh doanh (một loại đặc tả hệ thống chuyên gia) và tạo mã hoạt động với các quy tắc đó. Bởi vì việc dịch từ quy tắc kinh doanh khai báo sang mã kết quả có thể khá phức tạp, những thay đổi lớn đối với mã được tạo có thể được xử lý bằng cách thực hiện các thay đổi khá đơn giản đối với đặc tả quy tắc kinh doanh. Ví dụ, DSL có thể tạo các cây quyết định hoặc có thể theo dõi các phụ thuộc thông qua một sơ đồ để tự động đảm bảo mọi thứ cần đánh giá lại được đánh giá lại và không có chu trình ("bảng tính" được biên dịch).

Một phiên bản cực đoan của điều này có thể là sử dụng ngôn ngữ logic như Prolog cho một số phần trong hệ thống của bạn, mặc dù điều này chỉ có ý nghĩa cực kỳ - đó cũng chỉ là lựa chọn ngôn ngữ cho ngựa thay vì xây dựng DSL của riêng bạn mô hình.


2

Phát triển ngôn ngữ lập trình và chuẩn hóa chúng không thực sự được thực hiện với một người. Ngay cả Stroustrup là người phát minh ra C ++, có rất nhiều chuyên gia công nghiệp khác tham gia trên toàn thế giới. Nó giống như một dịch vụ tình nguyện. Những người thực sự có tài viết những cuốn sách như Scott Mayers kiếm tiền từ nó. Những người khác đang làm việc như tư vấn độc lập hoặc tư vấn cho các tổ chức lớn.

Ví dụ tốt nhất là Tiêu chuẩn hóa C ++ 0x. Nó bị trì hoãn trong nhiều năm nay. Lý do tại sao bởi vì các thành viên ủy ban hoặc bận rộn với công việc chính của họ và khó có thể đưa ra một đại biểu để hoàn thiện các thông số kỹ thuật.

Các công ty như Microsoft Sun (Oracle) đã phát triển ngôn ngữ lập trình của riêng họ và kiếm tiền từ IDE và cũng bằng cách cung cấp hỗ trợ liền mạch thông qua nền tảng của họ. Nó giống như một giải pháp khép kín cho các vấn đề. Nhưng những điều tốt đẹp mà các ngôn ngữ lập trình này được tiêu chuẩn hóa / phê duyệt bởi ISO hoặc các ủy ban tương tự. Java dường như đang bán IP của họ cho các công ty để sử dụng ngôn ngữ lập trình của họ. Gần đây, Oracle đã kiện Google về vi phạm IP trên Java.

Trong một câu, nó giống như dịch vụ tự nguyện hơn là kinh doanh cho những người làm việc theo tiêu chuẩn mở.


1

Nếu bạn quản lý (tôi cho rằng bạn có nghĩa là một cá nhân chứ không phải một công ty) để tạo ra một ngôn ngữ lập trình thành công, chắc chắn trong khả năng kiếm được một cuộc sống kha khá bằng cách bán sách, phát biểu tại các hội nghị không đề cập đến tư vấn hoặc được thuê hoặc thuê . Bạn thậm chí có thể kiếm tiền từ việc cấp phép ngôn ngữ lập trình của mình cho các công ty khác nhau, điều đó sẽ khiến nó ít có khả năng thành công hơn.

Sau đó, một lần nữa, có nhiều cách dễ dàng hơn để kiếm tiền và hầu hết các cá nhân (các tập đoàn như mặt trời và Microsoft bị loại trừ) làm điều đó nhiều hơn cho thách thức và có thể là tín nhiệm.

Tỷ lệ của một công ty / cá nhân nhỏ tạo ra một ngôn ngữ lập trình chính là cực kỳ nhỏ, có lẽ dễ dàng hơn để cố gắng lấp đầy một loại nào đó. Sau đó, một lần nữa, chắc chắn không thể làm như vậy và những người nói rằng tôi không thể làm được thường bị gián đoạn bởi những người làm điều đó :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.