TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Which programming language is the best for programming beginner?

12 点作者 surendra_sedhai大约 14 年前
QBASIC was the first programming language I learned in my secondary school. It has already been more than a decade.<p>Some of the engineering colleges teach "C" as introductory programming language. However, i somehow feel like Python is very intuitive and easy to understand. Is it a good idea to begin computer programming with Python?

12 条评论

DanielStraight大约 14 年前
I would divide languages into these categories:<p>Practical and beginner-friendly: C# (if you're a Windows person), Python, Ruby<p>Technical and foundational (start here if you don't mind studying for 5 years before you produce anything practical): C, Lisp (using SICP)<p>Interesting but not beginner-friendly or foundational (play with these when you get bored): Erlang, Go, JavaScript, ML, Scala, Smalltalk<p>Haskell falls somewhere in between the last two groups. It's very technical, and it's foundational for functional programming, but it doesn't transition to other languages as well as C or Lisp might, and it doesn't have as much support as C and Lisp.<p>The last group is languages that are not especially interesting, beginner-friendly or foundational. That group consists of: C++ (complicated), Delphi/Pascal (little community support), Java (crufty, limiting), Perl (nightmarish syntax), PHP (jumbled mess which allows, but does everything possible to discourage, good code), Visual Basic (basically just C# with "simpler" syntax and less community support)<p>Any languages not mentioned are probably either far too obscure or outdated for you to even think about now.<p>I welcome disagreement on this categorization.<p>PS: I didn't forget Objective C, I've just never used it so I didn't know where to put it. Probably "interesting but not beginner-friendly."<p>PPS: There is a category which includes languages from all of the above categories. That category is "Likely to get you a job." It includes C, C++, C#, Java, JavaScript, Objective C, PHP, Python, and Ruby.
评论 #2459172 未加载
imechura大约 14 年前
I am not a professional teacher but I tend to recommend Javascript for learning the first basics of programming.<p>The reasons are as follows.<p>1) Follows (mostly) C style syntax which transfers well into many other languages (Java, C, C++, C#, etc).<p>2) Lots of good examples available, just view source on your browser<p>3) Runs in your browser so no software to install no classpath, projects, compilation, or configuration to deal with. Also easy install of debugger, console, etc through firebug.<p>4) High instant gratification factor. e.g. make change, see results on web page. It makes a direct connection between the the students coding effort and creating something useful as opposed to a for-loop that prints 100 numbers to a green screen. If you are dealing with a teenager or younger person, getting something "cool" published on the web can be a great factor in motivation. Javascript requires the least amount of cost infrastructure and deployment hassles.
评论 #2461461 未加载
madhouse大约 14 年前
Whichever your friends or family know best (or lacking that, whichever you find the most readable / enjoyable documentation for).<p>You can't really go wrong with either of the mainstream languages, so I'd advise you to have a look at the documentation or tutorials for some of them, and choose one that you like best.<p>It also depends a lot on what you want to write, as certain languages are better for one task than the other. I wouldn't write a web app in C, for example, nor would I write an operating system kernel in python.
msluyter大约 14 年前
Python is often recommended, and a great starting point is Zed Shaw's popular "Learn Python the Hard Way:"<p><a href="http://learnpythonthehardway.org/index" rel="nofollow">http://learnpythonthehardway.org/index</a>
评论 #2459176 未加载
euroclydon大约 14 年前
Well, that depends on the goals of the beginner in question. We could also ask which human language is best for the beginner, but the answer would invariably be the language of the culture they live in.<p>I was just talking to a neighbor who's a game and graphics developer. He writes code in C/C++/C#. I was telling him about my side project, a website which sells cupcake wrapper designs. We got to talking about web development and he asked me what homework would I give him to get started. Well, after some more digging, it turns out he was most motivated by the idea of making some passive income on the web.<p>So, while I did email him links to RoR. I told him that learning about SEO, Keywords, and WordPress is what he should do first; that he should put up a couple of "trial balloon" sites to collect emails about his ideas, and then if he found potential customers who were interested in one of his ideas, he would have some great motivation to work through that RoR tutorial.<p>So, my advice is: Programming is just a tool, and unless the person is interested in programming from a pure academic standpoint, it's better to first find out what they want to do with that tool, and go from there.
checoivan大约 14 年前
There's a theory about this. If one starts by learning object orientation first, it becomes second nature and easier to write well structured code afterwards(thinking of making smaller component, good structures etc) instead of vice versa, starting with procedural code and learning objects afterwards.<p>That's why most colleges start with Java and learn basics and object orientation, then move to C to learn memory management,pointers etc, and then Lisp and data structures to expand one's mind.<p>Though some courses start now with python which I find extremely cool. If I were to start again I'd like python since you can hack fully functional programs more quickly, and think about lists and data structures first instead of way later on. It also helps to rule out faster if the person is meant for programming or not.
babeKnuth大约 14 年前
I find Python the easiest for non-programmers to learn. Less things to account for (syntax, conventions, etc.). Allows people to be very direct with what they want their program to achieve.
mhd大约 14 年前
The language matters less than the book or teacher presenting it. While some languages might make it a bit harder on the instructor, the inverse is a <i>lot</i> worse for a beginner.<p>And the quality of the book often depends on the prior knowledge of the fledgling programmer and his/her ambitions (important for the topics of exercises etc.).<p>It's hard to give an easy answer here. Scheme and Python are quite popular in this area, but not everyone should <i>start</i> programming by reading SICP.
vannevar大约 14 年前
I was just considering this question myself. I'm teaching programming to a friend with no experience at all. I finally settled on Lua, even though I don't know it myself. The syntax is clean, it's a compact language, and once she learns it she could use it in gaming, which she's into. My runner-up was Ruby. Python would be good too, though I think the significant whitespace is a distracting pitfall for absolute beginners.
Phra大约 14 年前
Modern Perl, have a look at: <a href="http://www.modernperlbooks.com/mt/index.html" rel="nofollow">http://www.modernperlbooks.com/mt/index.html</a>
lovskogen大约 14 年前
I'm actually starting with Node.js. I was thinking of Python, but Node seemed more up my alley, as a interface designer for web apps. Haven't had much time to dabble, though.
taphangum大约 14 年前
PHP.