Skip to content
Francesc Rocher edited this page May 12, 2023 · 6 revisions

Welcome to the Alice wiki!

Alice : Adventures for Learning and Inspiring Coding Excellence

Presentation

Alice is an open source Ada programming language framework designed to help programmers implement and explore different solutions to problems from various Problem Sources¹, like Project Euler, Codingame or Advent of Code. With Alice, you can flex your coding muscles and work on problems that challenge your creativity, logic, and problem-solving skills.

At the heart of Alice is a commitment to Coding Excellence, and Ada and SPARK are the perfect languages to bring this vision to life. With Ada, you can write clean, concise, and elegant code that is easy to read and maintain, helping to ensure that your programs are error-free and performant.

It's important to make clear that Alice is not a replacement for other problem-solving platforms, but rather a complementary tool that can enhance the experience of Participants and provide a unique perspective on solving problems.

Alice provides a powerful set of libraries and tools that can be used to complement their existing solutions for any Problem Source. These tools enable programmers to enhance their solutions graphically in a seamless and easy way, which can help them better understand the algorithms they've developed and more effectively communicate their solutions to others.

In Alice, we encourage Participants to engage in discussions and exchange feedback with their peers in order to improve their algorithm, implementation, and Ada programming skills. By sharing knowledge and exploring different approaches, we can create a collaborative and supportive environment that benefits everyone. Remember that the main goal is not just to solve the Problem Source challenges, but also to learn and improve along the way. So don't hesitate to ask questions, provide feedback, and discuss different solutions with your fellow Participants!

So whether you're a seasoned Ada programmer or new to the language, Alice is the perfect framework to hone your skills and push your limits.

See also

Collaboration

There are two types of collaboration that can take place in Alice: Participant and Developer.

Participant collaboration is all about solving problems provided by the Problem Sources and sharing your solutions with the community. Participants can also provide feedback and suggestions to help grow the support of any Problem Source.

On the other hand, Developer collaboration is focused on improving and extending the Alice framework. This can include adding support for new Problem Sources, improving existing functionality, and implementing new features.

Both types of collaboration are essential for the success of Alice and we welcome contributions from anyone who is interested in helping to build a vibrant and supportive community.

See also Collaboration Roles.

Status

Alice is still in the early stages of definition and development, and things are likely to change as we continue to refine and improve the framework. While Alice is still a work in progress, it is already starting to take shape as a robust and usable tool for exploring the challenges of the aforementioned Problem Sources.

There may be features or Problem Sources that are not yet supported, and some existing features may still be under development. This is especially true for newer Problem Sources, such as those from Codingame, where support is still being defined. We understand that this may be frustrating for some users, but we want to assure everyone that we are doing our best to provide a complete and robust framework that will benefit the entire community.

We welcome feedback and suggestions from users on how we can improve and prioritize our development efforts to better serve their needs.


¹Currently, only support for Project Euler is present in Alice. See also Project Euler ↗, Codingame ↗ or Advent of Code ↗ in case you don't know them.

Clone this wiki locally