Skip to content

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

AspectGNU TeXmacsMogan STEM
Release CycleNot fixedMonthly releases
Performance FocusStabilitySpeed optimization
UI FrameworkMainly Qt 4 (some Qt 5)Mainly Qt 6 (some Qt 5)
Scheme EngineGNU Guile 1.8.xS7 Scheme
Version ControlSVN (Savannah)Git (Codeberg/Gitee/GitHub)
Build SystemGNU Autotoolsxmake
Development LeadJoris 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

  1. Repository: https://github.com/XmacsLabs/mogan
  2. Build System: xmake (simple xmake build stem)
  3. Documentation: Comprehensive guides for each platform
  4. 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.

Enjoy exploring science and technology!