|
Post by xcessive on Oct 6, 2012 0:57:41 GMT -5
I used to have this thing I ran some time ago on a different forum. Essentially people could post programming challenges--usually of a theoretical bent--that other people could try to solve. Eventually the original poster would reveal their solution if enough people got frustrated and gave up. This usually led to some nice computer science-y discussions.
Some examples of problems people posted included: simple Fibonacci sequence dynamic programming; given the center point and radius of a circle, output the integer co-ordinates of the perimeter; find the number of matches for a substring in a string; as well as some much harder stuff for the more advanced programmers.
I was wondering if we have enough interested people and the critical mass to do some of this here. It might be a good way to increases the activity of the coding board.
|
|
Jordan
Incredibly Beginning
Posts: 36
|
Post by Jordan on Oct 6, 2012 15:24:49 GMT -5
Some examples of problems people posted included: simple Fibonacci sequence dynamic programming; given the center point and radius of a circle, output the integer co-ordinates of the perimeter; find the number of matches for a substring in a string; as well as some much harder stuff for the more advanced programmers. There's barely any programmers left on Proboards that could even tackle these simple problems. Most people left these days just learn the bare basics so they can tell others that they are elite coders. They don't actually care about how things work nor do they appreciate the logic behind programming, they just want an end result that others can see. If you are able to get more than a few people to participate in this I would be very surprised.
|
|
|
Post by xcessive on Oct 6, 2012 19:11:41 GMT -5
Some examples of problems people posted included: simple Fibonacci sequence dynamic programming; given the center point and radius of a circle, output the integer co-ordinates of the perimeter; find the number of matches for a substring in a string; as well as some much harder stuff for the more advanced programmers. There's barely any programmers left on Proboards that could even tackle these simple problems. Most people left these days just learn the bare basics so they can tell others that they are elite coders. They don't actually care about how things work nor do they appreciate the logic behind programming, they just want an end result that others can see. If you are able to get more than a few people to participate in this I would be very surprised. Well it eventually worked quite well back at 4OUR, which was a proboards forum. In fact it worked precisely because most of the programmers who tried it thought they were 'elite coders'--then they got stuck on a problem and desperately wanted to know the answer. My thoughts are that it could either be: completely useless; or a good way to get people interested in coding outside of rudimentary proboards hacks. Even 3 or 4 people talking about hard problems would be enough to lead to some interesting debate at the very least.
|
|
|
Post by Reverse Blade on Oct 6, 2012 22:58:53 GMT -5
Sounds fun, I'd be totally up for this. I'm guessing we'd be using javascript since thats what the peps around these parts know?
|
|
Jordan
Incredibly Beginning
Posts: 36
|
Post by Jordan on Oct 6, 2012 23:13:33 GMT -5
You use whatever works best for the given problem, or what you are most comfortable with. Most of these types of problems are usually done in programming languages such as Java or C++, but you can use Javascript if you want.
|
|
|
Post by Reverse Blade on Oct 6, 2012 23:20:23 GMT -5
You use whatever works best for the given problem, or what you are most comfortable with. Most of these types of problems are usually done in programming languages such as Java or C++, but you can use Javascript if you want. Sounds good. I was just wondering for testing purposes, but I'm definitely more comfortable with Java or C with these type of problems.
|
|
|
Post by xcessive on Oct 7, 2012 1:21:18 GMT -5
It really doesn't matter what language you use here. I might even end up with some Haskell or ML implementations, if the problem has a pithy functional solution.
|
|
Jordan
Incredibly Beginning
Posts: 36
|
Post by Jordan on Oct 7, 2012 14:25:37 GMT -5
I've been wanting to learn a functional language since they seem to be very useful these days. Been considering learning Clojure or Scala since they compile to JVM byte code which I prefer since execution should be a little faster than other functional languages.
|
|
|
Post by xcessive on Oct 7, 2012 23:52:18 GMT -5
I've been wanting to learn a functional language since they seem to be very useful these days. Been considering learning Clojure or Scala since they compile to JVM byte code which I prefer since execution should be a little faster than other functional languages. Those JVM languages have one fatal flaw. The JVM doesn't allow TCO, which is a deal breaker for me since it makes recursive solutions less succinct. Clojure is a dialect of Lisp, so you may as well learn Common Lisp, which boasts some of the best compile time optimizing compilers around. Most functional languages are compiled anyway, they actually lend themselves better to compilation than imperative programs in some ways. The GCC intermediate language is essentially a functional assembly language, which makes it really easy to optimize because it validates what would otherwise be unsafe assumptions. The point that I am getting to with this is that the OCaml and Haskell compilers are INSANE. As in near to or better than C++ (better than in some very specific problems) . F# is also a great functional language with excellent performance, it runs on the .NET VM or on Mono (although it runs fairly slowly on Mono because they only added the correct opcodes recently, thats why on the benchmark game its down there with Clojure in speed), its my personal favorite. I believe you can have your cake and eat it too, so I love languages like F#, Ocaml and to a lesser extent Scala, which blend OOP with functional programming seamlessly. Check this out: www.ffconsultancy.com/languages/ray_tracer/comparison.html
|
|
Jordan
Incredibly Beginning
Posts: 36
|
Post by Jordan on Oct 8, 2012 12:27:22 GMT -5
I haven't been ignoring your post, I just haven't had time to look through all that information to give a proper response. Thanks for all the details, though; I was under the impression that functional languages were for the most part interpreted. I'll have to look into their compilation process.
And that last link is very interesting. I'm going to have to spend more time looking over it.
|
|
|
Post by xcessive on Oct 8, 2012 20:35:44 GMT -5
I haven't been ignoring your post, I just haven't had time to look through all that information to give a proper response. Thanks for all the details, though; I was under the impression that functional languages were for the most part interpreted. I'll have to look into their compilation process. And that last link is very interesting. I'm going to have to spend more time looking over it. I actually can't think of a functional language that isn't compiled. OCaml, compiled. Haskell, compiled. SML, compiled. Lisp/Scheme, compiled. F#, JIT compiled. Scala/Clojure, JIT compiled. Clean, compiled. Opal, compiled. That is all the languages I can think of off the top of my head.
|
|
|
Post by Cam on Oct 13, 2012 23:16:39 GMT -5
I think this sounds nice, but I don't have the skills to participate in anything like this.
|
|
|
Post by xcessive on Oct 16, 2012 4:59:50 GMT -5
I think this sounds nice, but I don't have the skills to participate in anything like this. Its a pretty good way to learn the skills.
|
|
RAAraa
Incredibly Slacking
Posts: 17
|
Post by RAAraa on Oct 16, 2012 21:50:20 GMT -5
I'd be all for something like this but have not written anything for a while! So in a way this would be perfect.
|
|
|
Post by xcessive on Oct 17, 2012 7:55:23 GMT -5
I think I'll post a challenge up then. I might start by recycling some old ones I've set before.
|
|