English
Development: Mogan vs GNU TeXmacs ​
This article focuses on the development differences between Mogan STEM and GNU TeXmacs, providing insights for developers and contributors.
Core Development Differences ​
| Aspect | GNU TeXmacs | Mogan STEM |
|---|---|---|
| Release Cycle | Not fixed | Monthly releases |
| Performance Focus | Stability | Speed optimization |
| UI Framework | Mainly Qt 4 (some Qt 5) | Mainly Qt 6 (some Qt 5) |
| Scheme Engine | GNU Guile 1.8.x | S7 Scheme |
| Version Control | SVN (Savannah) | Git (Codeberg/Gitee/GitHub) |
| Build System | GNU Autotools | xmake |
| Development Lead | Joris van der Hoeven (Mathematician) | Darcy Shen (Software Engineer) |
Development Workflow Comparison ​
Build Process ​
GNU TeXmacs:
- Uses traditional GNU Autotools
- Complex configuration process
- Slower compilation times
- Platform-specific setup required
Mogan STEM:
- Uses modern xmake build system
- Simplified configuration
- Faster compilation with parallel builds
- Cross-platform build consistency
Version Control and Collaboration ​
GNU TeXmacs:
- SVN-based centralized workflow
- Limited branching capabilities
- Slower integration process
- Single point of failure
Mogan STEM:
- Git-based distributed workflow
- Feature branches and pull requests
- Faster code review and integration
- Multiple repository mirrors (GitHub, Gitee, Codeberg)
Technical Architecture ​
Scheme Engine Evolution ​
The transition from GNU Guile 1.8.x to S7 Scheme represents a significant technical improvement:
- Performance: S7 Scheme offers better execution speed
- Memory: More efficient memory management
- Modern Features: Better support for contemporary programming patterns
- Maintenance: Active development and community support
Qt Framework Modernization ​
Mogan's migration to Qt 6 brings several advantages:
- Performance: Better rendering and UI responsiveness
- Modern UI: Contemporary look and feel
- Cross-platform: Improved platform integration
- Future-proof: Long-term support and updates
Plugin Development ​
Plugin Architecture Differences ​
GNU TeXmacs:
- Monolithic plugin system
- Limited extensibility options
- Complex plugin development process
Mogan STEM:
- Modular plugin architecture
- Support for multiple languages (Python, C++, Scheme)
- Plugin Center for easy distribution
- Language-specific plugins for internationalization
Development Tools ​
Mogan provides enhanced development capabilities:
- Debugging: Better debugging tools and error reporting
- Documentation: Comprehensive API documentation
- Testing: Automated testing framework
- Community: Active developer community support
Performance Optimization ​
Startup Performance ​
Mogan STEM implements several optimizations:
- Lazy loading of components
- Optimized initialization sequences
- Reduced memory footprint
- Faster file loading and parsing
Runtime Performance ​
Key performance improvements include:
- Efficient rendering pipelines
- Optimized mathematical formula processing
- Improved UI responsiveness
- Better resource management
Development Philosophy ​
GNU TeXmacs Approach ​
- Academic research focus
- Mathematical correctness priority
- Conservative feature adoption
- Stability over performance
Mogan STEM Approach ​
- Engineering-driven development
- User experience optimization
- Rapid iteration and improvement
- Performance and usability balance
Contributing to Development ​
For Mogan STEM Developers ​
- Repository: https://github.com/XmacsLabs/mogan
- Build System: xmake (simple
xmake build stem) - Documentation: Comprehensive guides for each platform
- Community: Active Discord and GitHub discussions
Development Resources ​
Future Development Direction ​
Mogan STEM continues to evolve with focus on:
- AI Integration: Built-in AI capabilities (Liii STEM)
- Cloud Collaboration: Real-time collaborative editing
- Mobile Support: Touch-friendly interfaces
- Extended Formats: Support for more document formats
- Performance: Continued optimization efforts
Conclusion ​
While both projects share the same foundation, Mogan STEM represents a modernized approach to scientific document editor development, emphasizing performance, user experience, and contemporary development practices. The engineering-focused approach and modern tooling make it more accessible for developers and more responsive to user needs.
For a comprehensive comparison including user-facing features, see the complete Mogan vs GNU TeXmacs comparison.
