Learn Delphi on Exercism
[SHOWTOGROUPS=4,20]
Jim McKeeth
9/1/2020
Для просмотра ссылки Войдиили Зарегистрируйся
One of our MVPs, Для просмотра ссылки Войдиили Зарегистрируйся, is the originator and maintainer of the Delphi track on Exercism - a site dedicated making it easy for people to learn different programming languages. He was Для просмотра ссылки Войди или Зарегистрируйся previously, but I thought it would be interesting to interview him about what Exercism is, and how all of you can be involved.
By the way, Ryan is one of the champions on the Для просмотра ссылки Войдиили Зарегистрируйся!
[/SHOWTOGROUPS]
Jim McKeeth
9/1/2020
Для просмотра ссылки Войди
One of our MVPs, Для просмотра ссылки Войди
- What is Exercism? How long has it been around, and how many students visit it?
- A not-for-profit organization providing opportunity through programming education
- The Delphi track had 3 new solutions submitted, 1 for mentoring.
- See Для просмотра ссылки Войди
или Зарегистрируйся for more - It was originally founded in 2013 by Katrina Owen.
- Each week I receive a mentoring update. The most recent update indicates that during the last week of 2019 2,152 people submitted 8,107 solutions across all the language tracks. Of those 2,339 were submitted for mentoring. 174 mentors gave feedback on 1,963 solutions.
- Для просмотра ссылки Войди
или ЗарегистрируйсяWhat sort of programming languages are found on Exercism?- There are 51, including our favorite, Delphi!
- What kind of exercises might someone find on Exercism?
- There is the book-store exercise, my personal contribution. Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - They run the gamut. You can see a complete list of all Для просмотра ссылки Войди
или Зарегистрируйся.
- There is the book-store exercise, my personal contribution. Для просмотра ссылки Войди
- Do any of the exercises involve building Graphical User Interfaces or accessing databases? What about accessing REST APIs? These are things that Delphi makes so much easier. Or are they all console applications?
- At the moment all the exercises are console only. I have considered creating some Delphi specific exercises to utilize Delphi’s ability to pretty easily build GUIs, just haven’t had the time myself. This would be a great way other experienced Delphi developers to help.
- Does a student need any experience to start?
- No, but knowledge of the command line is essential.
- Does it cost anything?
- No, it is free.
- Exercism’s Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся
- What sort of tools does a student need to get started?
- Each language track has set up instructions to let you know what you need and where to find it. For example with Delphi you need to install Delphi. There is also a command-line tool that all the tracks use.
- If a student is completely new to Delphi what do they need to do to get started.
- Once someone has signed up for the Delphi track they will find Для просмотра ссылки Войди
или Зарегистрируйся. (They are a bit dated, a few versions of Delphi have been released since I wrote these.) - Other links are also available from the same location for more Delphi related resources.
- Once someone has signed up for the Delphi track they will find Для просмотра ссылки Войди
- Is it true the Exercism Windows CLI installer is written in Delphi?
- Для просмотра ссылки Войди
или Зарегистрируйся is open source and written entirely in Delphi. It automatically determines the correct version (32/64 bit) of the Exercism CLI the student needs then downloads the CLI, extracts it, and puts it in the right place. The installer has been downloaded 15,000 times, which I'm pretty proud of!
- Для просмотра ссылки Войди
- Is Exercism only for new developers or are there things experienced developers might learn there as well?
- It is not only for new developers, but is probably geared towards someone with only a little experience, knowledge of how to operate a terminal (command prompt) interface is essential.
- How is Exercism similar to a code kata?
- It essentially IS a repository of code katas; with added benefit of having someone knowledgeable in the language you are working in review and critique your work.
- The term code kata is a concept first used by Dave Thomas, co-author of the book The Pragmatic Programmer as a nod to the Japanese concept of kata in the martial arts. A code kata is an exercise in programming which helps programmers hone their skills through practice and repetition.
- Beyond being a student on Exercism how else can people be involved?
- To get an idea of what should be contained in the PR it is a good idea to view one of the other exercises in the /exercises folder of the /exercism/delphi repo. The maintainer (me) will review it, offer suggestions for changes and ultimately I can then merge the PR.
- New exercise ideas or contributions are always appreciated.
- Working with the maintainer(s) of the tracks you frequent is also appreciated.
- See the Для просмотра ссылки Войди
или Зарегистрируйся - Just create a pull request (PR) on the Для просмотра ссылки Войди
или Зарегистрируйся to contribute additional exercises. - For a first time contributor it might be a good idea to find an exercise from /exercism/problem-specifications that is NOT yet implemented and write a test suite for it. It can be done blindly, by simply writing code based on the provided JSON, or by translating the implementation of that exercise that might exist in another track.
- How does someone become a mentor?
- Don’t need to be a student to be a mentor, but unless you have done a lot of contributing to the project being a student is the next best way to start to get an understanding of how things work.
- I did a few Ruby exercises and decided it would be really cool if Delphi was offered here. I was quite frankly frustrated at how many online coding sites are out there and none I could find offered Pascal. Researching Exercism a little further I learned that they welcomed the addition of new language tracks if you are willing to put in the time to set it up and maintain it.
- First need to sign up as a student and must submit at least one solution.
- Для просмотра ссылки Войди
или Зарегистрируйся
- Is the Delphi Exercism track looking for more maintainers?
- Certainly. I have been doing it on my own since 10/2016. It isn’t hard but there are some interesting things going on in some other tracks that I have not had the time/energy to pursue on my own.
- Creating a test generator -- Converts exercise definitions (in JSON) to native language (Delphi for example). I have been writing the test runners by hand. A test generator could be written in any language, but traditionally track maintainers write their generators in their language.
- Some tracks have started to implement auto-mentoring. Some early exercises in a track are very simple and the number of ways to implement a solution are limited and it ends up consuming a lot of mentor time to review these same exercises over and over. The auto-mentor is programmed to look for familiar patterns and make some canned recommendations. Ultimately falling through to a human mentor if a good expected response cannot be provided.
- Having a second maintainer also is a good backup too.
- Для просмотра ссылки Войди
или Зарегистрируйся
- Certainly. I have been doing it on my own since 10/2016. It isn’t hard but there are some interesting things going on in some other tracks that I have not had the time/energy to pursue on my own.
By the way, Ryan is one of the champions on the Для просмотра ссылки Войди
[/SHOWTOGROUPS]
Последнее редактирование: