11 ms·
Exercism – Level up your programming skills
- cstoddart 9y agoI love the site, but I have yet to have any of my submissions get reviewed by anyone else. Great concept, but maybe there is more they could do to encourage experienced developers to review the submissions.
- jetti 9y agoI signed up last week and have been using it to learn Erlang. I have some experience with Elixir so Erlang isn't totally foreign to me. I'm experienced dev and have only commented on 1 submission. The problem with commenting on submissions is that I'm learning the language as well so there lacks the authority of knowing what would be the <INSERT LANGUAGE> way.
- macintux 9y agoThanks for the reminder; I used to do some Erlang commentary on the site, will go look again.
- lmcnish14 9y agoI've had better luck with getting reviews when I form or join teams.
- Erik816 9y agoI had a lot of good feedback on some Ruby problems I worked on a few years ago. I'm guessing it's highly dependent on having a community for each specific language.
- vlunkr 9y agoSame, on Ruby and Lua I've gotten good feedback, but not other languages. I think it helps to comment on your own stuff and ask questions if you're unsure about your solution and if there's a better way.
- DoggettCK 9y agoI've written ~15 of the higher-level reference exercises for Elixir on Exercism, and do try to comment when I can, but my day job keeps me from it a lot of the time. Some sort of reminder system would definitely be great, especially as more people use the site.
- jetti 9y agoI really enjoy this site. I signed up last week to help me learn Erlang and am using it to brush up on my Elixir. One thing that stinks is the inconsistencies between the languages. For instance, Erlang uses rebar3 to run the tests "rebar3 eunit" whereas Elixir makes you use the "elixir xx.exs" command, meaning you have to point to the test file. It isn't that bad except a lot of the test files have really long names. That being said, it is a minor gripe I have with the site and I have otherwise enjoyed it.
- samb1729 9y agoTry `mix test`, assuming you have a mix project.
- jetti 9y agoThat's what I'm used to but it doesn't come with a mix project, which is frustrating. It is just the ex file with the code and the exs with the test. If I have time, maybe I'll do others a solid and try changing the tests to use mix (if that's even possible as an outsider)
- matt_kantor 9y ago> if that's even possible as an outsider It's all open source. Check out https://github.com/exercism/elixir https://github.com/exercism/elixir. I've made some minor contributions in the Rust track and found the maintainers very pleasant to work with.
- jetti 9y agoAwesome, thanks! I'll start trying to help.
- rdoherty 9y agoBeen using this for a few weeks to practice for interviews, it's a slick setup. Unit tests setup to test all input and output, plus since you download the exercises you can use your editor of choice. While there isn't much reviewing going on, I've found it useful to poke through a few other submissions for exercises (especially the ones with comments). I've learned a few things from other users' code.
- Exuma 9y agoAwesome, I was just teaching someone to code and a lot of the coding challenges are super lame. I really like these.
- IamNotAtWork 9y agoI just signed up and while it looks like a great resource I really wish they would grade your submissions on pass/fail based on the test cases that are included with each module. I thought it was weird that I submitted something that was not passing but it didn't complain... because if that's the case, why even submit? As a commentator I would like to know if I'm commenting on solutions that are passing or failing first, before writing any comments. Just my thoughts.
- lmcnish14 9y agoOne reason to submit before it passes is so that you can see how others did it. If you're learning a new language and don't even know where to start, it can be useful to get help from others first then try to implement it yourself.
- Jnnz 9y agoIsn't that cheating?
- Elidrake24 9y agoDoesn't that really depend upon the way that you treat the problem? If you're just looking to pass, what do you have to gain? This isn't a course in College.
- lmcnish14 9y agoIf you don't know how to even get started, what do you have to gain from just being stuck? When I started on the assembly track, looking at others code to figure out how to get set up for the first challenge allowed me to do the rest on my own.
- cavanasm 9y agoIIRC, exercism doesn't really encourage completing things for points, and didn't especially heavily gamify the learning process. Copying answers really just seemed like shortchanging yourself when I was using it.
- 9y ago
- aleksm97 9y agoThe tasks are good, but I wish it was graded and you could list the top submissions by likes and speed etc. Something like codeforces where you can learn from the best by studying their code..
- voiper1 9y agohmm. a lot of exercises but how hard will they be? I like codewars kyu levels.
- rhexs 9y agoThank you. Been looking to dive further into rust but needed some challenges. Unfortunately leetcode doesn't support it. :(
- lewis500 9y agoCan someone tell me what this has over, say, Codewars and Leetcode? It seems like there are not too many practice problems yet.
- zjaffee 9y agoI believe when exercism came out it's primary goal was to help you get ramped up in a new language, however I'm uncertain if that's still the case.
- Kaivo 9y agoThe biggest upside compared to other code challenges I tried (HackerRank, CodinGame) is that the code is ran on your machine, and the pass/fails are from unit tests. So you code using your editors in a real development environment rather than in a web based sandbox. Also, as the checks are from tests, there are no single right answer. I've seen some code challenge services (can't remember the name) that would mark fail if you didn't write it exactly as they were expecting, to the line break.
- lewis500 9y agothat indeed could be an advantage. on codewars it sometimes takes a while for tests to run.
- coryc5 9y agoFor learning a language, I like and have used exercism but personally I prefer Codewars (and am a subscriber) because while exercises alone are a great way to get experience, perhaps the most valuable part of Codewars is being able to see what better coders did to solve the very same challenge. I have learned so much about what was capable in my favorite from those other answers.
- graeme 9y agoI run a business on wordpress, but can't code. I want to learn some php and javascript to be able to better work with my programmer, and make some small modifications myself. How suitable would this be? Note: I have learned in the past, for about six months, went through K and R's C book, Udacity's intro course, and made some python scripts which are still in use on my site. But, that was five years ago, so I've forgotten everything. So, I'm not exactly a total beginner, but I currently am unable to do anything through neglect.
- p1esk 9y agoYou went through K&R book and you can't code? How is that possible? Or did you completely skip the exercises?
- graeme 9y agoI did all the exercises. 1. At the time, I could code the kinds of things K & R had me do. But, I couldn't, say, run a wordpress site, because that depends on knowing libraries, how to run php on my system, a bunch of php specific stuff, and other stuff I don't even know I didn't know 2. It's been five years. Without practice, I no longer can do the stuff I did while I was learning. I could pick it up again, I just mean the knowledge isn't currently available. Basically, I had no project that required me to use the skills, so they didn't grow past what I picked up, and then they atrophied. Pressing business concerns became more important. But, now I'm at a point where not being able to program has become more of a hindrance.
- p1esk 9y agoSeems like what you need is to learn how to do specific tasks for you site, not learn how to program. When you need to fix a toilet you don't usually start with learning hydrodynamics.
- graeme 9y agoAh, yes, I just looked over the exercises more closely. They seem above the level I'd need. I should probably use something like Treehouse or Codeschool that's more focussed on practical management I'm guessing.
- agbell 9y agoExercism is great at building code review chops. Assuming if you are in an active language community and have finished a number of challenges.
- surrey-fringe 9y agoNo thanks
- drdrey 9y agoI didn't think I would enjoy this, but I do: http://exercism.io/submissions/4778291c472d4c60b79360e02dd7556f http://exercism.io/submissions/4778291c472d4c60b79360e02dd75...
- flavio81 9y agoWonderful, well played sir!
- superbatfish 9y agoThis looks useful for learning the basic syntax of a new language, but the exercises look to be somewhat generic. Most of the exercises seem to be duplicated across languages. Once you've mastered the basic syntax and control constructs of a language, it probably isn't worth your time to try a dozen different string manipulation exercises. Perhaps this is beyond the scope of what this site is aiming for, but, I would hope for some exercises that help me understand what each language is commonly used for. Potential examples: - Swift: Learn to display and manipulate a GUI - Ruby: Learn to write a web application - Python/Julia/R: Learn to fit some data to a model - Javascript: Learn to use a web framework - Go: Learn to handle some network connections, concurrently. (I see they have one exercise that emphasizes concurrency, which is a step in the right direction.) - Perl/PHP/Bash: Learn to cry bitter, sorrowful tears.
- caseymarquis 9y agoWhat I'd love to see is a series of case studies on software architecture with lessons learned.
- vlunkr 9y agoThat seems totally unrelated.
- Axsuul 9y agoThis looks pretty cool. And since it hasn't been mentioned here yet, Advent of Code 2017[0] is ongoing right now and there's still enough time to catch up. But you can always go back to years 2015 and 2016 to sharpen a new language on. I've been learning Elixir for this year's challenges and it's just the right amount of challenge required for understanding the idiomatics and idiosyncrasies of a language. [0] http://adventofcode.com/ http://adventofcode.com/
- inopinatus 9y agoI attended a talk recently given by Exercism's creator (Katrina Owen) about the trials and tribulations of being an open source maintainer, and how success can turn a technical problem-solving delight into a thorny people-management tarpit. A process that programmers may not initially possess the skills to handle. One big takeaway was how thankless and un(financially)compensated the task often is. If you find Exercism useful, I strongly recommended clicking the "Donate" button at the top.
- xster 9y agoThis is basically Ruby Koans for every language?
- mmanfrin 9y agoSimilar to this, I'd recommend people check out Codewars, which has challenges that you then submit and get compared/graded against others' solutions. It's a real neat way to learn other ways of achieving some solution than the one you came up with. https://www.codewars.com/ https://www.codewars.com/
- flavio81 9y agoIt includes detailed pages for Common Lisp, Julia, Racket, most ML languages and Haskell. I'm satisfied. Very comprehensive language list.
- rezacks 9y agoNo HTTPS enabled?
- sdruskat 9y agoGreat concept promising potentially more in-depth experiences than the cpomtetition. I think that the single point of failure of the site would be failure to build a large enough community of reviewers.
- channprj 9y agoQuite Interesting.
- flavio81 9y agoYesterday the page worked just fine, today all pages give me "Application Error", any news on if they are addressing this?
- dotdi 9y agoI came here specifically to write some things that other people already said, so here is a TL;DR: The idea is great: have a test suite and program your exercises against it. But in my opinion, exercism makes you write a lot of non-idiomatic code. There is value in that, but only so much.