Learning a new programming language, which one?

<p>I think I will learn Haskell first, then work on Python.</p>

<p>I really think the problems on projecteuler are interesting, but I really want to use pen and paper to solve them rather than having a computer solve it for me =/</p>

<p>most of the problems on Project Euler are solvable by hand actually as they’re more abstractions of Number Theory than pure computer science (which is itself an abstract form of mathematics), however there are a few problems that, even through intensive optimization, still do not perform adequately fast on python. Of course, it may just be due to my own implementation of the algorithms.</p>

<p>Has anyone successfully implemented an efficient sieve that can calculate prime sets for an arbitrary large number yet? Many of the problems on PE appear to be contingent upon it.</p>

<p>I recommend lolcode, its the most hilarious programming language ever.
python is also recommended due to its versatility</p>

<p>We should start a Beginning Programming group here to keep each other motivated. I’m up for it, but we’ll see how much participating we get.</p>

<p>Lol, I’ve seen a lot of programming threads lately, so a Beginning Programming group might actually work.</p>

<p>To make it work, we need a good amount of participators and a central programming language to start on.</p>

<p>Would this require purchasing some large, somewhat expensive paperback book?</p>

<p>

</p>

<p>This is a great idea xD, I really think we should go ahead and make one.</p>

<p>Haskell vs. Python is completely nonequivalent. That said, Haskell is a phenomenal language, used in academia and by researchers often. Functional programming is a different paradigm, and teaches you to think differently, but I think that that’s a positive. In regards to the syntax, Python would be more likely to teach you bad habits- after all, it implements white space syntax. Sure it’s great for scripting, but in regards to number crunching, Haskell runs away. </p>

<p>Join the cult of the lambda!</p>

<p>python is awesome.</p>

<p>“how are you flying?”
“i just typed import antigravity”</p>

<p>xkcd <3</p>

<p>Most of the people I know would consider the superimposed whitespacing rules as good habits rather than the opposite.</p>

<p>We’d likely find a free web tutorial.</p>

<p>Random question that is perhaps somewhat relevant, how difficult is a language, like Perl, to learn? Only assuming basic AP Comp Sci experience.</p>

<p>It’s a good habit to the extent of structuring your code for readability, but relying on whitespace for control… I certainly think the braces are a better idea.</p>

<p>;;Thought of the xkcd comic as well :)</p>

<p>@meadow36: Perl is a scripting language, which tend to be pretty easy. It does have some weird quirks from what I know about it, but it’s definitely doable with prior programming experience. Regexps may be a bit of work.</p>

<p>Ahhh. Thank you so much. Would you recommend books, or are online resources ample?</p>

<p>When learning a programming language, you need to find the correct medium for you. I’d recommend to start with some online guides and to google around, but if they’re not getting the point across to you, then look into purchasing a book or heading to the library.</p>

<p>Oh, I see. Thanks again. I will definitely take your recommendations. :]</p>

<p>[MIT</a> OpenCourseWare | Electrical Engineering and Computer Science | 6.189 A Gentle Introduction to Programming Using Python, January (IAP) 2008](<a href=“http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-189January--IAP--2008/CourseHome/index.htm]MIT”>http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-189January--IAP--2008/CourseHome/index.htm)</p>

<p>also
[MIT</a> OpenCourseWare | Electrical Engineering and Computer Science | 6.00 Introduction to Computer Science and Programming, Fall 2008 | Home](<a href=“http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-00Fall-2008/CourseHome/index.htm]MIT”>http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-00Fall-2008/CourseHome/index.htm)
[MIT</a> OpenCourseWare | Electrical Engineering and Computer Science | 6.096 Introduction to C++, January (IAP) 2009 | Home](<a href=“http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-096January--IAP--2009/CourseHome/index.htm]MIT”>http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-096January--IAP--2009/CourseHome/index.htm)
and
[MIT</a> OpenCourseWare | Mathematics | 18.100B Analysis I, Fall 2006 | Home](<a href=“http://ocw.mit.edu/OcwWeb/Mathematics/18-100BFall-2006/CourseHome/index.htm]MIT”>http://ocw.mit.edu/OcwWeb/Mathematics/18-100BFall-2006/CourseHome/index.htm)</p>

<p>also
[Stanford</a> School of Engineering - Stanford Engineering Everywhere](<a href=“http://see.stanford.edu/SEE/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111]Stanford”>http://see.stanford.edu/SEE/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111)</p>