FreeBASIC trưởng thành như thế nào? [đóng cửa]


10

Một người bạn của tôi đang cân nhắc sử dụng FreeBASIC trong môi trường sản xuất quan trọng. Họ hiện đang sử dụng GWBasic và họ muốn thực hiện một chuyển đổi mềm mại sang các ngôn ngữ hiện đại hơn. Tôi chỉ lo lắng rằng có thể có các lỗi không được phát hiện trong phần mềm. Tôi thấy rằng số phiên bản của họ là 0.22.0, điều đó cho thấy rằng nó chưa hoàn toàn trưởng thành. Tôi cũng đọc cuộc thảo luận này , mà không thể kết luận. Ngoài ra trên các trang Sourceforge của họ không có dấu hiệu nào cho thấy đó là Alpha hay Beta (dù sao đi nữa cũng không phải là một chỉ số rất tốt). Có ai có kinh nghiệm riêng về sự trưởng thành, ý tưởng về cách đánh giá sự trưởng thành hoặc biết về các công ty sử dụng FreeBASIC trong môi trường sản xuất quan trọng không?


23
Nếu họ đang sử dụng GWBasic, bất cứ điều gì cũng là một sự cải tiến.
Craig

1
Các diễn đàn FreeBASIC dường như là một nơi tốt hơn để đặt câu hỏi này.
Matt Ellen

2
@David Họ có môi trường thử nghiệm không? Có thể đáng để chạy một và thuê tư vấn một trong những nhà phát triển dự án, vì vậy anh ấy / cô ấy có thể sửa các lỗi được tìm thấy trong quá trình chạy thử.
Vitor Py

4
Tôi nghi ngờ rằng việc chuyển đổi từ GWBasic sang một phương ngữ BASIC khác sẽ không "mềm" như bạn nghĩ. Luật của Hofstadter đặc biệt áp dụng cho việc viết lại.
Rein Henrichs

1
Số phiên bản là những thứ rất cụ thể của dự án. Một số dự án dành chữ số chính cho một cái gì đó rất đặc biệt và chỉ tiếp tục quay vòng các phiên bản nhỏ và siêu nhỏ.
Lars Viklund

Câu trả lời:


8

Tôi hy vọng không quá muộn để đào lên một chủ đề cũ.

Tôi đã sử dụng FreeBASIC trong môi trường công nghiệp trong hơn 5 năm và nhận thấy nó là chất rắn. Nó thực sự hoạt động rất tốt trở lại khoảng 0,1, với khả năng tương thích QuickBASIC ngày càng tăng, và đã dần phát triển vượt quá những gốc rễ đó và trở nên "nghiêm trọng" hơn nhưng có thể được yêu cầu hoạt động ở chế độ tương thích QB gần 100%. Các bản phát hành khá lớn chỉ thấy số phiên bản tăng 0,01.

Tôi đề nghị bạn của bạn mang GWBASIC sang MS QuickBASIC, việc này khá dễ dàng (tôi đã làm điều đó trước đây, không phải nó được thiết kế để tương thích 100% sao?). FreeBASIC sau đó cung cấp cho bạn tùy chọn 'thế kỷ 21' để chạy tự nhiên như một ứng dụng 32 bit nếu bất cứ ai cũng cảm thấy cần thiết. Mặt khác với Windows 7, v.v., bạn bị kẹt khi sử dụng VM chạy DOS hoặc một cái gì đó.


10

PureBasic có lẽ là lựa chọn tốt nhất của bạn thay vì FreeBASIC nhưng nếu tôi là bạn, có lẽ tôi sẽ thay đổi sang một ngôn ngữ hiện đại và mạnh mẽ hơn như C # hoặc Python.


3

Imho BASIC tốt nhất để sử dụng để nâng cấp từ GWBASIC là PowerBasic (www.powerbasic.com). Nhiều người đã làm điều này trước đây, vì vậy có khá nhiều kinh nghiệm trong cộng đồng người dùng của Powerbasic nếu bạn cần hỗ trợ ở đó.

Ngoài ra Powerbasic là một sản phẩm chất lượng cao với hầu như không có vấn đề / lỗi và được phát triển tích cực. Nó không miễn phí ($ 199) nhưng đáng giá từng xu.

FYI: Tôi không liên kết với họ và tự mình sử dụng VB.NET (vì lý do chuyên môn; nếu không thì đó sẽ là Powerbasic ...).


3

Powerbasic khá trưởng thành và tôi chân thành khuyên bạn nên điều đó, đặc biệt nếu sự tin cậy và hỗ trợ tuyệt vời là quan trọng đối với bạn. Cá nhân tôi không sử dụng nó nữa vì nó không thực sự được thiết kế để lập trình trò chơi - mà tôi sử dụng (và khuyên dùng) BlitzMax đa nền tảng.

Điều đó đang được nói, Freebasic không nên là một trở ngại quá lớn nếu bạn đến từ GWBasic, và dường như cũng khá ổn định. Tài liệu và hỗ trợ diễn đàn là tốt hơn so với trung bình là tốt.

Tuy nhiên, nếu tôi là một công ty (trái ngược với một cá nhân) đang tìm kiếm một giải pháp sẽ có mặt và hỗ trợ cho tương lai gần, tôi sẽ đi với một thứ như Powerbasic. đây là một chương trình có thể chuyển đổi QBasic thành Powerbasic: http://www.powerbasic.com/support/doads/files/QB2PBv2.zip

Hi vọng điêu nay co ich! Russell


3

Đây là các phương ngữ cơ bản sau đây tốt cả về trình biên dịch và tập lệnh nhúng:

1) gambas

Đây là các phương ngữ cơ bản sau chỉ tốt khi biên dịch nhưng có thể nhúng các tập lệnh khác:

2) jabaco

3) khách quan

4) miễn phí

5) chipmunkbasic

Đây là các phương ngữ cơ bản có thể nhúng sau đây là tốt và có thể được nhúng vào các phương ngữ cơ bản khác tùy thuộc vào các khung:

6) kịch bản

7) maven-sb4j

8) ajbasic

Tất cả những thứ này cũng có thể được sử dụng để tạo các ứng dụng gui khác nhau, các công cụ kết nối cơ sở dữ liệu và trong khu vực của các ứng dụng có thể nhúng (trang webserver), scriptbasic và gambas-gbs3 đã có sẵn, trong khi nếu bạn có thể lấy fb-curl và fb-simplewebserver và tích hợp chúng vào khung freebasic, sau đó là freebasic-server-page (nếu chúng không ở đó thì bạn có thể phải tải xuống và sao chép-dán thư viện và các tệp tiêu đề theo lib và bao gồm thư mục của freebasic tương ứng). Ngay cả jabaco cũng có thể nhúng maven-sb4j, hoặc objectbasic và chipmunkbasic có thể nhúng applescript và scriptbasic tương ứng. Vì vậy, những điều này có khả năng có giải pháp cho hầu hết các yêu cầu.

Nếu bạn rất đặc biệt với khả năng tương thích gwbasic thì hãy chọn bwbasic (gwbasic được tăng cường cho freebsd và linux), nhưng tôi không nghĩ có nhiều sự khác biệt với một số người khác.

Tuy nhiên, đối với đồ họa với bwbasic, bạn phải đấu tranh với các tùy chọn dựa trên x11 hoặc đợi cho đến khi nó bổ sung hỗ trợ cho tk, cáo và các bộ công cụ nổi tiếng khác.

Nếu bạn sẵn sàng tìm kiếm:

Môi trường phát triển giống như vb mạnh mẽ + các trang máy chủ cơ bản, sau đó chọn gambas hoặc jabaco với maven-sb4j.

Trình thông dịch mạnh mẽ được hỗ trợ với một ide mỏng nhưng tốt: freebasic và nếu bạn có thể lấy fb-curl và fb-Simplewebserver và tích hợp chúng vào khung freebasic, sau đó cũng là trang máy chủ freebasic.

Công cụ web mạnh mẽ cho các trang máy chủ cơ bản, sau đó là scriptbasic và thinbasic.

Vì vậy, đây là tất cả mạnh mẽ và có thể trở nên có thể sử dụng ít nhất sau khi thêm một vài mô-đun.

Mượn một số tính năng nhỏ từ python / perl / ruby: scriptbasic (và cả yabasic3)

Cú pháp dễ dàng và rất chuẩn: sẽ là obasic (openbasic) trong tương lai, hiện tại freebasic và scriptbasic là hai hương vị khác nhau hoặc cơ bản truyền thống, trong khi gambas và jabaco là một phương ngữ vb6 khác nhau.


2

Chính xác thì trường hợp sử dụng của bạn là gì? Hay đúng hơn là trường hợp sử dụng của bạn của bạn. Tôi sẽ hướng chúng tới Python (hoặc bất kỳ ngôn ngữ đơn giản nào khác nhưng cũng được sử dụng rộng rãi ngoài kia) nhưng có lẽ có một số lý do cụ thể tại sao chúng cần sử dụng một phương ngữ BASIC.

Tôi là tất cả để chơi xung quanh với các ngôn ngữ khác nhau trong các dự án cá nhân, nhưng vì mục đích sản xuất quan trọng, tôi thường gắn bó với các ngôn ngữ được biết đến rộng rãi, được hỗ trợ rộng rãi và được thử nghiệm chiến đấu.


3
Đây không phải là một câu trả lời, nhưng phù hợp hơn như là một nhận xét. Trường hợp sử dụng là nó được sử dụng để tính toán chi phí vật liệu, chi phí nhân công, tạo mô hình 3D, v.v. Chương trình GWbasic hiện tại có khoảng 30.000 dòng mã (được tạo bởi một nhà phát triển), đó là lý do tại sao nhỏ hơn viết lại được ưa thích so với đi tới Python, nó sẽ yêu cầu viết lại hoàn chỉnh.
David

5
Cá nhân tôi không quen thuộc với FreeBASIC hoặc GWBasic nhưng tôi nghi ngờ đó không phải là một bản viết lại nhỏ. Hầu hết các phương ngữ BASIC mà tôi gặp phải thực sự khá khác biệt với nhau. Pure Basic, Real Basic, Blitz Basic, GL Basic, v.v ... Chúng có khái niệm rất giống nhau (ví dụ: không hướng đối tượng) nhưng cú pháp hoàn toàn khác nhau.
jhocking

Bị cám dỗ hạ bệ bất cứ ai ủng hộ mã "đẹp" hơn mã làm việc. Có vẻ như họ có một khối lượng lớn đã được thử nghiệm và thử nghiệm GWBASIC, họ hài lòng với chức năng của nó, họ chỉ muốn chuyển sang một ngôn ngữ hiện đại hơn mà không phải viết lại hoặc thiết kế lại mọi thứ, điều này hoàn toàn hợp lý. Viết lại một hệ thống di sản lớn là một trong những nhiệm vụ khó khăn nhất mà bạn có thể bắt tay vào!
James Anderson

Chuyển sang một ngôn ngữ hiện đại hơn mà không cần viết lại mọi thứ là bản năng đầu tiên hợp lý, nhưng không thực sự thiết thực trong tình huống này. Nếu lý do duy nhất để viết lại mọi thứ là để có được mã "đẹp" thì vâng đó là một sự lãng phí rất lớn thời gian, nhưng đó là lý do để không chuyển đổi ngôn ngữ. Tuy nhiên, nếu bạn có nhu cầu thực sự để chuyển đổi ngôn ngữ (đây là một chủ đề cũ vì vậy tôi không nhớ nếu anh ta làm vậy) thì việc chuyển đổi ngôn ngữ khá nhiều buộc bạn phải viết lại mọi thứ.
jhocking

0

Sau đó, có hỗ trợ java-api hoặc japi cho scriptbasic, yabasic2 và jabaco, là nền tảng chéo.

Nhưng tất nhiên bây giờ một ngày nhiều phương ngữ cơ bản cũng có các bộ công cụ đa nền tảng khác, điều này có thể sớm mở đường cho các ứng dụng chất lượng trong tương lai.

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.