English 中文(简体)
关于纯粹的办事处(根据成果确定的解决办法;领土;相关书籍)的各种问题[非公开]
原标题:Various questions regarding pure OO (Getting set up WITHOUT an ide; Tutorials; The associated books) [closed]
Closed. This question needs to be more focused. It is not currently accepting answers.

Want to improve this question? Update the question so it focuses on one problem only by editing this post.

Closed 9 years ago.

我现在想用一个纯粹的联络处语言,但我感到迷惑的是,他们似乎都要求建立国际民主和选举援助学会,我找不到任何以视频形式 t的好辅导。

I m happy to use an IDE later, but I don t want to learn the language through one. What I m looking for is a simple console interpreter or command-line compiler such as gcc, ghc, ghci and the python IDLE (yes, it s an IDE, but it s so minimalist that it may as well just be a commandline interpretter). I find that I learn a language faster, better and more comprehensively when I m not trying to grapple with an IDE at the same time. So please, don t tell me that squeak is the only way to do it :P

I m还寻找以文字而不是直观方式提供的辅导。 我再次看到,当我能够一页地挨饿,读过一个人的传闻,把他 to起来,转而我心中去做,而不是被迫放弃录像,抛弃10秒钟,让新闻游戏,再次这样做。

I m interested in various languages with various degrees of OO-purity, and I plan to learn them all at some point. Any of the smalltalk dialects interest me, Self (an extreme prototype-oriented version of smalltalk (Very interesting, the more radical the better imo)), strongtalk, vanilla smalltalk (or some implementation which is as vanilla as you can get).

I m interested in Eiffel as well, the code snippets I ve seen make it seem very elegant and I ve read that it actually was very innovative (introduced code-contracts and other such things). However I would give preference to a language from the smalltalk camp over one from the Eiffel side because Eiffel at face value seems to be a hybrid between OO and imperative programming. Similarly I d rather avoid Scala (Hybrid OO and functional) and other hybrid languages. So no C#, Java, C++, D, python etc etc etc. I m not dismissing these languages because I believe they are bad, it s just that I m setting out to learn pure-OO and those languages are hybrid OO: Not really what I m looking for.

而且,谁能推荐官方书籍? 对小塔克来说,有“蓝皮书”AKA“Smalltalk-80:语言及其执行”。 而Eiffel则有“电子:语言”。 我询问,因为根据我的经验,你可以读写语言者撰写的书籍(见K&R.C.方案规划语言),并读书全文。

因此,我的问题是: 哪一种纯粹的办事处语言是好的? 我如何在不必使用民主选举学会的情况下学习? 是否有一本由语言作者撰写的相关书籍?

最佳回答

作为经历过小塔克学习过程的人(至少是体面的),我可以说,你走了更艰难、更危险的道路,因为有些事情可能需要更长时间才能结束,或者实际上永远不会这样做。

但是,如果你坚持要求,你可以下载“全球倡议”不是一项常规。 该文件还载有以小塔克文格式书写的系统的所有来源,你可以向文本编辑开放,在通过该系统的幌子进行缓慢阅读时享有。

你们也可以开始任何其他小塔克,如法罗,并只贴上工作空间窗口——这相当于你的指挥线口译员。

Pharo还包括: 教授关于小塔克的快速互动辅导,结合文字指示和评价小塔克语。

阅读时有。 Pharo By Example——免费图书,供你浏览、下载或购买硬拷贝。

There is also a collection of free books in which I would recommend "Smalltalk-80: The Language and its Implementation" By Adele Goldberg and David Robson, if you are interested in the innards and detail of the language.

已故David N. Smith Smalltalk FAQ也是借用的资源。

因此,你走了。 并且尽快向小型塔列克电算中心提供咨询意见,因为它使对小塔里克的了解大大加快了。

问题回答

It is not helpful to learn Smalltalk as just another language. You would be missing the point entirely.

Smalltalk s graphical environment is not just an IDE. The core of the system is simply objects. The interface provides various ways to create objects and interact with them. The language is just a convenient way to create messages to the objects. It is secondary to the objects themselves.

在联络处的其他语文中,你写了你的节目,然后由你管理,这制造了记忆中的物体。 无。 你们制造了记忆中的物体(如阶级物体),然后向例如添加方法发送信息。 但只有ce,而不是每次你“管理你的节目”。

There is no such thing as "your program", in fact. There is no "main". It s just a world of objects, some longer-lived, some temporary. In fact, in the system there are objects that were created 30 years ago. Literally. The objects are just frozen to disk as a memory dump (a file which we call "image") and unfrozen later (possibly on a different machine).

That image, the world of objects, is the primary artifact in Smalltalk. There is a sources file, yes, but that s just a database of text snippets to not take up so much RAM. You cannot edit this file by hand (objects in the image use absolute file offsets into the sources file). You cannot re-create the system from the sources file - the system was bootstrapped a long time ago and from then on only modified.

事实是,小塔克全球倡议表面上像另一个国际民主和选举援助学会一样。 无巧合——Eclipse最初是由小塔克的小塔里克的小塔里克人撰写的。 但是,在定期的民主选举中,你只是篡改了文本档案,这是关键的区别。 文本编辑是这方面的一个有效选择。 在小塔里克,德国马克操纵了用于记忆的物体。 文本编辑不能这样做。

至于小塔克的使用,我建议Squeak。 非常友好的社区、非常美丽的环境,以及支持为每个人创造巨大的个人计算环境的原始小塔克设想。

理查德·加布里埃尔·加布里埃尔最近谈到90年代初在方案拟定语言界发生的范式转变。 他声称,今天大多数专家无法理解80年代提出的许多文件。 他有证据证明这一点。 这是他第一次发言,他期望给他很多时间,因此我想象,会谈的许多部分会改变。 首先,他把这一范式转变描述为工程――和科学――,但后来他将其描述为系统――和通用语言。 我认为,把它描述为从系统思维转向语言思维,是一个更好的描述。

理查德·加布里埃尔·加布里埃尔是一份利什图。 (I m a smalltalk guy)。 Lisp与小塔克一样,因为使用的语言和图书馆之间没有明确的边界。 地震和控制流位于图书馆,而不是语言。 (Well, Lisp有一些语言,有些是图书馆的,而小塔克则在图书馆都有,但有些图书馆的编集和硬代码除外,因此最终几乎没有什么差别。) Lisp的一个节目是S-expression,编辑节目是S-expressions。 在小塔克,一项方案是收集物体,编辑方案是编辑对象。 当你制定方案时,你正在建立一个系统,你将该系统纳入方案。

系统思维不同于语言思维。 语言思想家希望准确描述一种语言。 他们想要一本描述整个事物的书,或者(如果他们是学者),他们想要正式语义。 但系统思想家知道,一旦他们开始使用该系统,就会发生变化。 他们希望了解该系统如何运作,但愿意研究该系统本身,以列出细节。

这些是两种思维方式,每种方法都有好处和劣势。 小塔克是系统思维的一个 wonder。 我认为,所有软件开发商都应至少知道一个能够体现系统思维的系统。 Lisp是好的。 另一个老的例子。 自然,我认为,小塔克人非常乐意帮助人们学习它,但我认为,学习系统思维的重要性比你所学习的特定制度更为重要。

不幸的是,学习一种系统比学习一种语言更困难。 你们必须做更多的工作,不仅要学习同学,还要学习图书馆、命名和编码模式,以及通常的工具。 (Which,如果是一种制度,是可以理解的)。) 这是语言思维的优势之一。 但是,制度思维具有长期优势,因为一旦你坚持系统,满足你们的需要,你就会变得非常富有成效。

To lean smalltalk syntax, you need to read ONE page of text (see Syntax section on wiki http://en.wikipedia.org/wiki/Smalltalk). Now, to learn a smalltalk libraries and how to use them, you need to use browser not the text editor, otherwise your will just waste a lot of time.

我认为,这同时间差异10的因素一样,一方面试图通过阅读文字形式理解某些法典,另一方面用浏览器加以浏览。 夸大。

在小塔里克系统中,一生物体可以讲述自己的命运,帮助你学会如何使用这些物体,比你把它看作是静态的文本库,因为你完全掌握了这一想法。

I ve been playing with Squeak Smalltalk (and its close cousins, Pharo and Cuis) for a while now. There s no better way to learn Smalltalk than by using the system already provided.

I ve devised a series of short youtube tutorials ranging in length from 50 seconds to 15 minutes that show how to take advantage of Squeak s ultra-cool features within a few minutes of first starting the system.

事实上,第1行的法典将Squeak的OOP-ness of Squeak. Squeak从一开始即

粉碎是一种纯OOP 。 实际上,这是新来者在 p时所犯下的一个轻而易举的错误。

象小塔克一样,灰色穿透“每个物体”。 因此,在座的所有东西都是物体,包括内装型物体。 不同之处在于,与小塔克和 Java不同的金星并不迫使OOP,因为它允许制定程序。 而正是这一陷阱,很容易假定,使平坐不平,但又是一种天ke,不告诉你,即便是职能也是目标。

http://www.linuxtopia.org/online_books/programming_books/python_programming/python_ch10s04.html

回到小塔里克的电离层是这里的巨大交易,与其他小船主可能认为的相反。 如果像我一样,你将热爱塞卡纳克的民主选举学会,那么你将非常失望。 广域网非常容易通过所有图书馆进行航行,使你们了解什么、在哪里和为什么会发生。 我看不出使用文字编辑的好处。 但你可以提出档案和档案。 但是,这样,你就会使小塔克变得像其他方案语言一样高效。

我现在只研究一个星期的频率和沥青,但甚至对我来说,从第一分钟开始,民主选举学会的好处是显而易见的。

守则支离破碎,容易消化方法,这些方法被归类为议定书,由我们熟悉的阶层和分类的班级组成。 因此,这部法典组织得很好,我永远不会感到损失,一切都属于某个地方,一切都只是被点击,一切都是可以检查的、可浏览的,你只是选择了点击并寄给你们。 它确切地表明,你需要10条线以上的时间。 这是民主选举学会。 为什么你喜欢一个文本编辑,了解你不需要、不关心和可能混淆你的信息?

然后,所有东西都属于单一形象,而不是收集档案、你的法典、图书馆、系统图书馆,甚至语言本身。 一切都处于你们的边缘,等待你们,乞讨你们测试、修改、使用和滥用。 你是你们语言的一部分,如果你们的思想不合适,你们的语言就是你们的一部分。 这是民主选举学会。 为什么你们想要回到彼此不相干的档案和文件夹路?

然后,你开始担心所有这种权力,而这种灵活性并非不可能,你会做一些可能彻底摧毁语言和图书馆的事情。 其可能、错误能够而且将会发生。 民主选举学会再次 jump跃向你们提供一手帮助,每个变化都存放在当地的雕刻系统中,每次变化都分类、储存和监测。 No and and and 和任何其他非专利 。 你们得到的东西是旧的,成熟的测试版控制。 你可以完全改变你想要的任何时间,不会失去任何东西,任何错误都不不可逆转。

如果你不相信你的硬司机,则电 v在网上播送,以播种。 难道让你听任指挥线吗? 页: 1 你们得到的是一个简单而高效的蒙泰罗·布韦瑟,这将确保你安放,避免冲突。

当然,你不希望你的软件有 b,你是不是? 提供单位测试工具,以确保你的守则可靠、稳定,并确切地说,你想要什么。 同样,利用一个美丽但精彩的德国马克使任务复杂化。

既然没有完美无缺,那么你就会有时间来对付可怕的错误。 你们是不是孤独的吗? 你猜测正确,再次提供了一种工具。 The debugger. 你们不需要说话,你不需要打造它,你甚至不需要说明它是如何运作的。 与其他所有工具一样,在设计方面很简单,但很复杂。 不仅会发现错误,而且不仅会告诉你你什么是错的,而且不仅会通过背弃造成错误的多数基本语言要素,从而对语言如何像我以前所看到的那种行为提出独一无二的看法,也使你能够进行活.。 生活编码是在其编码运行期间制定方案的能力。 难道没有这种令人印象深刻和无限有用吗?

最后,也许你们是无法请问的人之一,或许你们仍然发现有缺陷、不作为,认为你不喜欢。 国际民主和选举援助学会是用小塔克书写的,小塔克是用小塔克书写的,而国际民主和选举援助学会可以自行编辑和语言,除了语言和汇编C的考试和测验的某些基本功能外,别无变化。 如果你认为你能够利用上述所有手段来做到这一点,你会持正确态度。

这些工具不会在这里停下来,小塔克可能不是像其他语言一样受欢迎的,而是长期以来一直到这里来的,它有一些热心的策划者热爱作出贡献。 坦率地说,面对这种令人惊讶的民主选举学会和这种设计良好的语言,而与其他语文一道为它们作出贡献,似乎是一个挑战,在小塔里克的情况下,挑战在于抵制不作出贡献的诱惑,因为民主选举学会非常容易。

By the time others still code you will finish your code and actually understand what have you done and why. Thats not a small thing at all . I wish Python had such a good IDE or any other language. But the only thing that comes abit close, from my experience , is Delphi. And even in the case of Delphi I still prefer squeak and pharo.

我对其他民主选举学会的看法是,它们根本不是经社事务部,而是光荣的编辑、锁定、不灵活、不可编辑(除非你愿意使用另一个方案语言,并通过源代码吨浏览)。 Squeak , Pharo and all other smalltalk dialects offer a real elegant IDE offer You really help instruments. 其他民主选举学会更深入地研究小塔里克,真正理解它意味着什么是民主选举学会。

举所有这些好事,小塔克远非完美。 我认为,它最大的弱点和缺陷是缺乏一些能够帮助首当其冲的开端人的可享受和有用的文件。 Squeak By Example和Pharo By Example对我来说是一个很大的失望。 这两本书仍然是两个极为重要的书籍,在两个平台上提供了极为宝贵的见解,但文件的质量有时从中度到坏。 主要原因是两本书都采取不友好的做法。 首先,他们向你们发出深深的电离层信号,从第1章中介绍你,进行夸大甚至单位测试! 对我来说,这是一个重大错误,尽管我距离新方案远,但必须努力落实所解释的内容。 接着,这本书本身提出了许多未经回答的问题。 例如,对案例和类别变量的解释还不够,我倾向于几个例子,不仅表明原因,而且说明原因。 该书的若干领域也完全存在差距,或只是难以跟踪。

如果我发现这一联系。 我从那里下载了“Smalltalk by Example”,这与其他书不同,不仅与本书在标题中所说的话不同,而且没有假设你是谁,也不知道什么。 我只能高度建议。 我读到,那里自由提供的其他书籍也非常好,我肯定会下载并读到所有这些书。

Alot of help has been also #squeak at irc.freenode.net, people there has been answering my questions and helping me understand.

Squeak wiki, is ok but not enough, its also not very well organised, and I dont like that comments and discussions appear inside the wiki documentation. So documentation generally can be abit of a struggle for the begginer and certainly Smalltalk IS NOT AN EASY programming language to learn. I hear many smalltalkers say otherwise and I could not disagree more, when I compare smalltalk with python is like night and day. BUT ! Once understand smalltalk , it become much easier to program in it then any other programming language I have learned so far, and I have learned most of them. So in the end I think Smalltalk is a clear win , I also love the FFI library that lets you call any C library with ease, which unleashes serious power for smalltalk.

I dont think you need to learn the language first and then the IDE, its actually a very bad idea for the simple fact that the IDE helps you understand the language and its libraries and any type of code in it. Language and IDE is like brother and sister, yin and yang.

Well, if you decide to learn Eiffel a good book would be "Object-Oriented Software Construction" by Betrand Meyer (he created the Eiffel programming language).

该书对使用Eiffel的面向目标的设计提供了深刻的见解。 我 opinion卑地认为,这是各联络处的最佳书籍之一。





相关问题
Template Classes in C++ ... a required skill set?

I m new to C++ and am wondering how much time I should invest in learning how to implement template classes. Are they widely used in industry, or is this something I should move through quickly?

JSON with classes?

Is there a standardized way to store classes in JSON, and then converting them back into classes again from a string? For example, I might have an array of objects of type Questions. I d like to ...

Object-Oriented Perl constructor syntax and named parameters

I m a little confused about what is going on in Perl constructors. I found these two examples perldoc perlbot. package Foo; #In Perl, the constructor is just a subroutine called new. sub new { #I ...

Passing another class amongst instances

I was wondering what is the best practice re. passing (another class) amongst two instances of the same class (lets call this Primary ). So, essentially in the constructor for the first, i can ...

Where can I find object-oriented Perl tutorials? [closed]

A Google search yields a number of results - but which ones are the best? The Perl site appears to contain two - perlboot and perltoot. I m reading these now, but what else is out there? Note: I ve ...

热门标签