Live data from Hacker News

A list of practical projects that anyone can solve in any programming language

github.com

61–67 of 67 posts

Re: A list of practical projects that anyone can solve in any programming language

#61
post #57

It's sad that there isn't a single item related to implementing a compiler or an interpreter here. That is how I got interested in computer science, and I can bet, a significant fraction of the others here had that experience too.

Someone already suggested that (https://github.com/karan/Projects/issues/87), but it doesn't seem to be incorporated.

Re: A list of practical projects that anyone can solve in any programming language

#62

Not only do I doubt that "anyone" can write these programs, most of them do not look particularly interesting or fun. Many if not all of the non-mathematical ones are simply replicating off-the-shelf utilities or tools; what is the point of reinventing the wheel? Even if you are looking to hone your skills in a new language, creating something genuinely new seems like it would be more useful and motivational.

> what is the point of reinventing the wheel? Making a wheel is pretty much the "Hello, world!" of engineering. It ensures that you know how to operate the equipment, procure materials, safely work them, and retrieve the finished product from the machinery. Just getting started with a lathe? Go make a wheel. Just got a 3D printer? Go make a wheel. Just getting started with a whittling knife? Go make a wheel.

>Just getting started with a whittling knife? Go make a wheel.

I used to go to primitive skills meetups, and at one of them I met a guy who taught woodworking. At the meetup, he carried around a few blocks of wood and some basic tools, and when he sat down to eat he'd bang out a wood spoon and eat with that. This was good advertising, but he said he did that sort of thing a lot for practice.

Re: A list of practical projects that anyone can solve in any programming language

#63

Not only do I doubt that "anyone" can write these programs, most of them do not look particularly interesting or fun. Many if not all of the non-mathematical ones are simply replicating off-the-shelf utilities or tools; what is the point of reinventing the wheel? Even if you are looking to hone your skills in a new language, creating something genuinely new seems like it would be more useful and motivational.

If people stopped 'reinventing the wheel', we'd still be using circular rocks (or whatever the first wheel was), no one would have cared to learn how to make it and then improve upon it. Recreating existing tools is a perfectly valid way to 1) learn or become proficient in a language, 2) learn how the tool works, and 3) position yourself to improve the tool if you wanted

That's the funny thing about that phrase. There's so many different types of wheels out there! And it's not the result of engineers being cute, but rather the reality that different requirements do call for different solutions.

People who argue against reinventing the wheel are the same ones sticking bicycle wheels on jumbo jets, and wondering why it can't handle the load.

Re: A list of practical projects that anyone can solve in any programming language

#64
post #49
post #9

Nice list, but ‘anyone’? The first on the list is ”Find PI to the Nth Digit - Enter a number and have the program generate PI up to that many decimal places. Keep a limit to how far the program will go” Easily solvable if you set that limit low and cheat. Just put a string representation of pi in the program, and chop it off at the requested length: n = Input “num digits?” if n between 0 and 8 inclusive print left(“3…

> I have my doubts that anyone can write that program Simon Plouffe did it, years ago, with no help from Google. http://plouffe.fr/Simon%20Plouffe.htm https://en.m.wikipedia.org/wiki/Bailey–Borwein–Plouffe_formu...

Sorry, didn’t realize that “anyone” switched meaning (from “any person or people” to “a person of importance or authority” (https://en.oxforddictionaries.com/definition/anyone)) between the two uses. My second use should have been quoted, too, because it refers to the “that anyone can solve” in the page’s title, which (at least in my reading) can only have the first meaning.

Re: A list of practical projects that anyone can solve in any programming language

#65
post #64
post #49

Earlier quoted context omitted.

> I have my doubts that anyone can write that program Simon Plouffe did it, years ago, with no help from Google. http://plouffe.fr/Simon%20Plouffe.htm https://en.m.wikipedia.org/wiki/Bailey–Borwein–Plouffe_formu...

Sorry, didn’t realize that “anyone” switched meaning (from “any person or people” to “a person of importance or authority” ( https://en.oxforddictionaries.com/definition/anyone) ) between the two uses. My second use should have been quoted, too, because it refers to the “that anyone can solve” in the page’s title, which (at least in my reading) can only have the first meaning.

I’m not sure I understand what you mean. For me, your comment doesn’t hinge on the meaning of ‘anyone’ at all. You clearly implied the problem wasn’t solvable by any person, important or not, by saying “even with support from Google”. You implied you weren’t aware the solution was available with a Google search. But it was solved, first by Simon Plouffe, and then by others, so now you know.

For the lay-programmer, e.g., “any person or people”, everything on that list is an exercise in learning how the problem was solved by someone else, and writing the code for it. The idea is to learn, not to invent the solution from scratch without help. The way to code the spigot algorithm for pi is to lookup the formula, understand it, figure out how to deal with precision and numeric base conversion, and write the code. Pretty much anyone can do that.

Re: A list of practical projects that anyone can solve in any programming language

#66
post #65
post #64

Earlier quoted context omitted.

Sorry, didn’t realize that “anyone” switched meaning (from “any person or people” to “a person of importance or authority” ( https://en.oxforddictionaries.com/definition/anyone) ) between the two uses. My second use should have been quoted, too, because it refers to the “that anyone can solve” in the page’s title, which (at least in my reading) can only have the first meaning.

I’m not sure I understand what you mean. For me, your comment doesn’t hinge on the meaning of ‘anyone’ at all. You clearly implied the problem wasn’t solvable by any person, important or not, by saying “even with support from Google”. You implied you weren’t aware the solution was available with a Google search. But it was solved, first by Simon Plouffe, and then by others, so now you know. For the lay-programmer, e.…

”You implied you weren’t aware the solution was available with a Google search. But it was solved, first by Simon Plouffe, and then by others, so now you know.”

Where did I imply it? The site being discussed uses “anyone” in the sense “any person”. I questioned that, but didn’t realize that I used the word in the second meaning the second time I used it.

”The way to code the spigot algorithm for pi is to lookup the formula, understand it, figure out how to deal with precision and numeric base conversion, and write the code. Pretty much anyone can do that.”

That, we disagree about. We live in a world where “Fizz-Buzz” is a thing, so I’m not that optimistic that anybody can do what you describe.

Re: A list of practical projects that anyone can solve in any programming language

#67
post #66
post #65

Earlier quoted context omitted.

I’m not sure I understand what you mean. For me, your comment doesn’t hinge on the meaning of ‘anyone’ at all. You clearly implied the problem wasn’t solvable by any person, important or not, by saying “even with support from Google”. You implied you weren’t aware the solution was available with a Google search. But it was solved, first by Simon Plouffe, and then by others, so now you know. For the lay-programmer, e.…

”You implied you weren’t aware the solution was available with a Google search. But it was solved, first by Simon Plouffe, and then by others, so now you know.” Where did I imply it? The site being discussed uses “anyone” in the sense “any person”. I questioned that, but didn’t realize that I used the word in the second meaning the second time I used it. ”The way to code the spigot algorithm for pi is to lookup the f…

> Where did I imply it?

It seems weird you asked that since I just said where, explicitly. This part of the conversation feels tedious and unnecessary. The precise meaning of “anyone” being used by you & the article is pretty irrelevant.

> I’m not that optimistic that anybody can do what you describe.

You’re right, I disagree. I’m sorry for your pessimism. My children can and do lookup formulas on Wikipedia and code them, it’s not hard, if you care to try. I understand if you feel it is too difficult. FWIW, that’s precisely what the post we’re commenting on is aiming to help curious and optimistic people with. Maybe consider how it might be able to help your situation rather than criticize? Everyone can do fizzbuzz too, it’s existence doesn’t prove anything.

Post reply on HN