7 ms·
Project Euler is a great tool to learn a new programming language. I used it, along with 'Programming Clojure' to learn Clojure. You can see all my problems on
by semmons 17y ago
Project Euler is a great tool to learn a new programming language. I used it, along with 'Programming Clojure' to learn Clojure. You can see all my problems on GitHub. http://github.com/semmons99/clojure-euler http://github.com/semmons99/clojure-euler
- dangoldin 17y agoI've been doing them to learn Haskell. Haskell is actually very good for solving these types of problems. It supports infinite lists and lazy evaluation which help quite a bit. I find that the best thing about Project Euler is being able to look at how other people have solved the problems - a great way to improve your own code.
- zck 17y agoI can't decide whether to put my solutions up. They're in Arc, so they might be useful for people learning the language, as there aren't many Arc-specific programs out there.
- timwiseman 17y agoSo why are you hesitating? If your programming is good you will only help other people and may get some useful exposure in the community in the process. If your programming is bad, (hypothetically) you will likely get people to give you good pointers so that you are better next time. Either way, I see no reason not to, and the fact you are using Arc just increases the importance of helping people to follow along behind you.
- zck 17y agobtilly's reason is correct -- It's because Project Euler is about solving the problems for yourself, not just blindly copying and pasting. Although I'm starting to lean towards thinking that if people want to cheat, they will, and so if I can help someone (even myself) by posting the code, I should do so. And yes, getting pointers on my Arc code would be helpful. So maybe I'll put everything up on github.
- timwiseman 17y agoBtilly is entirely correct of course, but there is a huge caveat to what he says. That being that people who want to cheat have any number of ways of doing it from finding someone else who posted it publicly, to asking privately, to (in the extreme case) actually paying someone to figure out the answer and give it to them. And, as I mentioned in a previous post, the people who do not want to cheat, won't. They won't do those searches. If they stumble over it and know what it is they won't read it. If they stumble over it and read it before they know what it is, they will almost certainly forget the details quickly. So by posting your Arc code publicly, you would neither (significantly) help someone wanting to cheat nor hurt someone not wanting to cheat. But you will help people who want to learn Arc.
- zck 17y agoIt sounds like someone wants to cheat on Project Euler. No, I'm joking. If that was the only issue, I'd just post them. Somewhere on the Project Euler site -- I can't find it now -- they ask for the solutions not to be posted anywhere. That's my main hangup at this point.
- btilly 17y agoOne good reason to hesitate is that Project Euler is supposed to be a set of problems that people solve for themselves. Therefore the admins request that people not post solutions, and occasionally will tweak parameters if certain problems are too easy to find with a Google search. It is a losing battle to be sure, but they put a lot of work into it and I prefer it when people respect their request to not facilitate cheating.
- matstc 17y agoI couldn't disagree with you more. People solving the problems have a choice. If they don't want to look it up, more power to them. Otherwise, leave the decision to the learner. I always hated it when teachers would hold on to the solutions to the exercises in the textbook.
- eru 17y agoYou can share the solutions in the Project Euler forums --- after you have solved the problems on your own.
- timwiseman 17y agoPeople who are going through Project Euler to practice will never search for those and would likely forget the fine details quickly, so having the answers out there somewhere won't matter to them. People who want to cheat at Project Euler already have plenty of ways (and besides, what would they gain? At least from my minimal participication, it does not really look like a contest and there are no prizes). On the other hand, people who want to learn Arc might be very greatful to have a good set of code out there.