We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
有很多用于学习 Java 的优秀在线资源,其中许多也会教您良好的 OOP 实践。
对于一般编程,我推荐 计算机程序的结构和解释。
There are a lot of good online resources for learning Java, and many of them will teach you good OOP practices as well.
For programming in general though, I recommend Structure and Interpretation of Computer Programs.
有关 Java 编程主题,请访问 Oracle (Sun) Java 站点。这是有关 Java 的一切的圣杯。对于 Wikipedia 风格的格式,只需访问 wikibook(因为它将包含有关 Java 和其他编程语言的主题,而不仅仅是 OO。)
除此之外,对您的问题的简短回答将是否 。编程是一个太复杂的主题,无法创建您所要求的材料类型。
如果您对编程非常感兴趣(我的意思是认真的),请仅专注于一种语言并学习它(而不是寻找完美的语言或尝试分析所有可能的替代方案并陷入“分析瘫痪”。)
同样,如果你是认真的...
只需选择以下其中一项:
C 会让你面对计算的本质,人们已经成功地学习了使用 C 作为其编程语言的编程(不要让 OO 和/或者 Ruby/Python/Java/.NET 的粉丝们会告诉你。)
Python 和 Ruby 是非常漂亮的语言,可以教你编程,并且不会强迫你把所有东西都变成一个对象(这是一个非常迟钝的想法,下面会详细介绍。 ) Scala 是另一个优雅且有效的替代方案。
首先学习编程基础知识,OO 分析和建模(而不是相反)
避免强迫您在对象中编写所有内容的语言。其中包括 Java 和 C#。我已经使用 Java 12 年了,它是但它是一种落后的语言,因为它不允许您进行过程编程,也不应该将其建模为对象,有时即使在复杂的系统中,人们仍然在努力解决如何正确编程的问题。使用 OO 范式,但他们一直失败,因为他们仍然不了解 OO 建模和分析的功能和局限性,
所以我的建议是不要使用硬过程 (C) 或 Go 来学习编程。优雅、与范式无关(Python、Ruby 或 Scala)。专注于模块化、结构化编程和算法。然后,您将能够更好地真正理解 OO 语言的适用范围。
我不会深入探讨我选择的原因。这 4 个选项就是我建议不要使用 Java 和 C# 的原因。这场争论已经被讨论了很多,你可以在 stackoverflow 和/或 google 中轻松找到它。这只是我的建议,根据我的经验(Java 和其他),我总是给那些认真学习编程的人的建议。
最后,您选择这四个中的哪一个并不重要。只需抛一枚硬币,选择一枚并坚持下去,直到您熟练为止。专注于学习正确的编程技术、问题分解和算法,而不是语言本身。
祝你好运。
编辑:
我忘了提,如果你真的想学习编程,就买书吧。你不会从访问网站中学到东西。而且你必须投入时间(我们每天至少讨论 4 小时……我没有看到任何人学习编程的时间少于这个时间。) 任何少于这个时间的东西都只是假装在学习。
For programming topics on Java, go to the Oracle (Sun) Java site. That's the holy grails of everything regarding Java. For a Wikipedia-style format, just go to wikibooks (as it will have topics on Java and other programming languages, not just OO.)
Other than that, a short answer to your question will be simply NO. Programming is too complex a topic for someone to create the type of material that you are asking.
If you are seriously interested in programming (and I mean seriously), focus on one language alone and learn it (as opposed to looking for the perfect language or trying to analyze all possible alternatives and falling into "paralysis by analysis".)
Again, if you are serious...
just pick one of the following:
C would make you face the nitty gritty of computing and people have been successful in learning programming with C as its programming languages (don't let OO and/or Ruby/Python/Java/.NET fanboys tell you otherwise.)
Python and Ruby are extremely beautiful languages that will teach to program, and do not force you to make everything into an object (a really retarded idea, more on that below.) Scala is another elegant and effective alternative.
Learn The Fundamentals of Programming First, the OO Analysis and Modeling (not the other way around
Avoid languages that force you to write everything in objects. That includes Java and C#. I've been working with Java for 12 years now, and it is a reliable platform. But it is a retarded language in that it does not allow you for procedural programming. Not everything is an object nor should be modeled as an object, sometimes not even in complex systems. People are still grappling with how to program correctly using a OO paradigm and they keep failing because they still don't get the capabilities and limitations of OO modeling and analysis.
So my suggestion is not to learn programming with Java (or C#). Go with the hard procedural (C) or the elegant, paradigm-agnostic (Python, Ruby or Scala.) Focus on modularity, structured programming and algorithms. Then, later you will be better equipped to truly understand where OO languages fit in.
I'm not going to delve into why I chose these 4 options or why I advise against Java and C#. That debate has been discussed a plenty and you can find it easily in stackoverflow and/or google. That's just my suggestion, from my experience (Java and otherwise), a suggestion that I always give to those serious about learning programming.
In the end, it doesn't really matter which of those four you pick. Just flip a coin, pick one and stick to it until you are decent with it. Focus on learning proper programming techniques, problem decomposition and algorithms rather than on the language itself.
Good luck.
edit:
I forgot to mention, if you are serious about learning programming, buy books. You won't learn from visiting sites. And you have to put your time in it (we are talking 4hrs a day at least... I don't see anyone learning programming with anything less than that.) Anything less is just make-believe going through the motions of learning.
在我看来,我强烈推荐关于 Java 的最好的书。
Effective Java 作者:Joshua Bloch
I strongly recommend imo the best book written about Java.
Effective Java by Joshua Bloch
http://www.programmingpraxis.com 可以为您提供很多帮助,因为我浏览了那里的大部分示例。看看吧。
编辑:
http://www.cs.sunysb.edu/~skiena/392/javaprograms/
http://projecteuler.net
http://www.programmingpraxis.com could help you a lot since i go through most of the examples from there.Have a look.
EDIT:
http://www.cs.sunysb.edu/~skiena/392/javaprograms/
http://projecteuler.net
继续该法案的建议
Continuing the Bill's recommendation
我推荐这些:Sun 教程,
FreewareJava.com,
java2s
I would recommend these: Sun Tutorials,
FreewareJava.com,
java2s