FreeBASIC is a free and open-source, 32-bit and 64-bit BASIC compiler available for Windows, Linux, and DOS. It supports a modern, extended BASIC syntax with features like pointers, object-oriented programming, operator overloading, and inline assembly, while maintaining compatibility with QuickBASIC. FreeBASIC boasts a large standard library, offering built-in support for graphics, sound, and networking, as well as providing bindings to popular libraries like OpenGL, SDL, and GTK+. It's suitable for developing everything from console applications and games to GUI applications and libraries.
The FreeBASIC website proclaims FreeBASIC as a completely free and open-source, multi-platform BASIC compiler, supporting development for Microsoft Windows, DOS (both protected mode and real mode), and Linux. It emphasizes compatibility with QuickBASIC, aiming to be an advanced and modern alternative while maintaining a familiar syntax for users of that classic dialect. The compiler itself is self-hosting, signifying that it's written in the very language it compiles, FreeBASIC. Furthermore, the website highlights the compiler's ability to create console, graphical user interface (GUI), and dynamic link library (DLL) applications.
The website details various features that contribute to FreeBASIC's power and versatility. It boasts a comprehensive implementation of the BASIC language, including support for procedures, functions, user-defined types (UDTs), and object-oriented programming (OOP) concepts like inheritance and polymorphism. The inclusion of pointers allows for direct memory manipulation, catering to programmers who require low-level control. Built-in support for C libraries and the ability to inline assembly code further extend its capabilities, bridging the gap between high-level and low-level programming.
Graphics programming is specifically addressed, with mentions of built-in 2D graphics functionalities and support for external libraries like OpenGL, allowing developers to create visually rich applications. The website also mentions support for digitally signed executables on Windows, a crucial feature for secure distribution of software. Moreover, a dedicated forum is available for users to seek assistance, share knowledge, and engage with the FreeBASIC community. The website provides ample documentation, including a comprehensive language reference and numerous examples to aid developers in learning and utilizing FreeBASIC effectively. Finally, the open-source nature of the project is underscored by the availability of the source code, fostering community involvement and enabling further development and customization.
Summary of Comments ( 12 )
https://news.ycombinator.com/item?id=44017592
Hacker News commenters on the FreeBASIC post express a mix of nostalgia and cautious optimism. Some fondly recall using QuickBASIC and see FreeBASIC as a worthy successor, praising its ease of use and suitability for beginners. Others are more critical, pointing out its limitations compared to modern languages and questioning its relevance in today's programming landscape. Several users suggest it might find a niche in game development or embedded systems due to its performance and ease of integration with C libraries. Concerns are raised about the project's apparent slow development and limited community size. Overall, the sentiment is that while FreeBASIC isn't a cutting-edge tool, it serves a purpose for certain tasks and holds value for those seeking a simple, accessible programming experience reminiscent of classic BASIC.
The Hacker News post titled "FreeBASIC is a free/open source BASIC compiler for Windows DOS and Linux" (https://news.ycombinator.com/item?id=44017592) has several comments discussing FreeBASIC, its features, and comparisons to other BASIC implementations.
One commenter highlights the surprisingly active and helpful community surrounding FreeBASIC, stating that it's a good choice for those looking for a modern BASIC compiler. They also praise its support for creating games and graphical applications using libraries like Allegro and SDL.
Another commenter reminisces about their experience with QuickBASIC 4.5, noting how it stood out among other BASIC dialects. They see FreeBASIC as a spiritual successor that captures a similar feel, even if it doesn't have an IDE as good as QB's. They also appreciate the support for object-oriented programming and the substantial compatibility with QB code.
A discussion emerges regarding the differences between QB and FreeBASIC's handling of graphics, particularly in the context of game development. One commenter suggests that the move away from direct hardware access in newer BASICs towards libraries makes things more portable but potentially less efficient for specific tasks. They point out the advantages QB had with direct access for simple game development. Others counter that modern hardware and software abstractions generally make the library approach preferable, with performance penalties often being negligible.
Some commenters mention other BASIC dialects like PureBasic and QB64. One points out that PureBasic, while commercially licensed, offers excellent performance and cross-platform compatibility. They also express a preference for QB64's closer adherence to the original QuickBASIC syntax.
The ease of use and quick learning curve of FreeBASIC, particularly for beginners, is also a recurring theme. One commenter describes FreeBASIC as being ideal for getting things done quickly, compared to more complex languages like C++.
Finally, one commenter notes the relative obscurity of FreeBASIC despite its qualities, speculating that the "BASIC" moniker might carry a stigma among some developers, even though it's a powerful and modern language. They also express a wish for more visible projects using FreeBASIC to showcase its capabilities.