質問
私の質問は簡単!
- い学びを始めるためのSmalltalkだったのですか?なぜですか?はいかがでしょうか?
- なりますが、既にご存知のSmalltalk?なぜだとお勧めしますSmalltalk?はいかがでしょうか?
個人的に僕のRuby on Railsプログラマーやっていただいております。しかしんでもらえるように考えていSmalltalkで読んだ様々なブログとも呼ルビーのようなもの"Smalltalkとなる。第の理由に興味がある私にとってはSmalltalk シーサイド.
その人は、同じ移行。
編集: 実際に、どのたでもっとも盛Smalltalk/シーサイドでは、以下の話WebDevRadio: 第52:ランダルタイSchwartz海ん)
解決
Rubyが好きなら、おそらくSmalltalkが好きでしょう。 IIRC Seasideは、Gemstone / S OODBMSの一部である Gemstone VM に移植されました。これは、Rubyよりもはるかに優れたスレッドサポートを備えているため、大容量システムのバックエンドとして優れています。これをよく見るとよいでしょう。
Smalltalkを学ぶ理由:
-
これは本当に素晴らしいプログラミング環境です。 (C ++やJavaに慣れている人にとってはちょっとしたカルチャーショックになる傾向があります)頭を悩ませると、作業に適した環境であることがわかります。私が使用した古いDigitalkのものは、非常に快適なシステムです。 Kent Beck や Martin Fowler は、Smalltalkで歯を切った公共の古き良き時代への憧れを時折聞くことができます(引用についてはFrank Shearerに感謝、+ 1)-アジャイル開発はこのプラットフォームで始まりました。
-
これは、歴史上最も生産性の高い開発プラットフォームの1つです。
-
いくつかの成熟した実装が存在し、驚くほど大きなコードベースがそこにあります。ある時点で、開発者の生産性と市場投入までの時間が非常に重要な金融市場界で非常にトレンディになりました。アプリケーション開発に適した商業的にサポートされている高レベル言語が必要な場合、1990年代半ばまでは町で唯一のゲームでした(LISPを除く)。
-
展開は簡単です。画像ファイルを適切なディレクトリにドロップするだけです。
-
実際には理由ではありませんが、 4冊のギャングかなりの数の例でSmalltalkを使用しています。
Smalltalkを学習しない理由:
-
これはニッチ市場のようなものです。仕事を見つけるのに苦労するかもしれません。ただし、サーバーを所有している .comアプリケーションを作成している場合、これは問題。
-
多くの人がレガシーシステムと見なしています。プラットフォーム上での新しい開発は比較的わずかです(ただし、Seasideは少しルネッサンスを推進しているようです)。
-
従来のソース管理システムではうまく動作しない傾向があります(少なくとも私が使用した90年代前半から)。これは、そうである場合とそうでない場合があります。
-
それはやや孤立しており、単独でプレイするのが好きです。 PythonまたはRubyは、ゼロから統合するために構築されており、より乱雑であるため、サードパーティソフトウェアとの統合が容易です。ただし、他のさまざまなメインストリームシステムは、このタイプの異常に多かれ少なかれ苦しんでいます。それらの使用をあまり妨げていないようです。
他のヒント
まあ、あなたは名前で私に言及したので、私は私にチャイムを入れるべきだと感じています。
そのポッドキャストインタビューで述べたように、また私のブログで http:// MethodsAndMessagesで繰り返し実証したように。 vox.com/ 、これは「 smalltalkの年」です。そして、過去10か月間Smalltalkのアドボカシーを行ってきたので、実際に起こっていることがわかります。より多くの顧客がSmalltalkとSeasideに目を向けており、Smalltalkベンダーは皆、この新しい注目の流入を捉えるために一生懸命働いています。より大きなSmalltalk会議が計画されています。より多くの求人情報が投稿されています。より多くのブログ投稿が行われています。
今日Smalltalkに目を向けると、あなたは一人ではありません。他にも多くの人がいます。
編集
まあ、数年後、今では Dart をお勧めしています。 Googleが発信した素晴らしい言語ですが、現在はECMA委員会が所有しています。 node.jsスタイルでサーバーサイドで実行されますが、JavaScriptにトランスパイリングすることにより、最新のブラウザーでもクライアントサイドで実行されます。多くの優れた本、ブログ、ヘルプチャンネル、IDEサポート、公開ライブペーストビン。それは間違いなく足を持っていると思います...オンサイトまたはオンラインでそれを教えるためのコースウェアを書くのに十分であり、私は私の作品に1つか2つの本があると確信しています。また、昔のSmalltalkerであるGilad Brachaが設計に大きく貢献しているため、DartにはSmalltalkがたくさんあります。
Smalltalkは学ぶのに適した言語です。素晴らしいことは、それを行うのに1日しかかからないことです。それは単なるアカデミックな言語ではありません。人々は、数十億ドルを処理する巨大でスケーラブルな複製可能なアプリケーションを構築しています。彼らはそれについてあまり話さない。たとえば、 GemStoneおよびOrient Overseas Container Linesを参照してください。 海運業のケーススタディ。
SeasideはSmalltalkを学ぶ正当な理由ですが、Railsよりも桁違いに優れているとは思わないでしょう。
私を確信させたのはGemStoneです。 GemstoneのGLASS(GemStone、Linux、Apache、Smalltalk、Seaside)が大好きです。その最も重要な部分はGemStoneです。これは、ほとんど考えずにすべてのオブジェクトの永続性を処理します。彼らのデモのいくつかを見て、人々がGemStoneで何をしているのかを聞くと、「大きなアプリケーション」とは何かに関する私の考えがリセットされました。
Railsで私を最も悩ませているのは、オブジェクトリレーショナルマッピングです。 RubyはGLORP(SmalltalkのActiveRecordを処理する)、Perl、または他の何かと同じくらい難しいので、Rubyには何もありません。オブジェクトをデータベーステーブルにマッピングするのは大変です。 GemStoneを使用すると、データベースについて考えることはなくなり、データベースに関する作業もなくなります。それはまるで巨大な石(または猿の軍隊)が背中から取り除かれたようなものです。
>腕と脚の両方の費用がかからないSmalltalk開発環境が見つかりませんでした
Google -無料のsmalltalk
Cincom Smalltalk、Squeak、GNU Smalltalk
ラーニングSmalltalkは、オブジェクト指向ソフトウェア開発の基礎を、OOを発明した人(Alan Kay)の視点から提供します。オーバーラップするウィンドウ環境のアイデアは、Smalltalkから生まれました。
Smalltalkを学習する際の障害は、次のようなフロー制御の奇妙な構文を持つメッセージパッシングシステムであることです。
i < 60
ifTrue: [ self walk ]
非常に成熟したクラスライブラリがあり、一貫性があり、あまり多くの場所を見たことはありません。すべての環境のクラスライブラリ(市販のSmalltalksを含む)には、言語の達人から学習できるソースがあります。 Smalltalkをプログラミングするときは、環境でどのように行われるかを常に質問します。
Smalltalkは通常、システム内のすべてのオブジェクトのライブ環境であるイメージに実装されます。
インタラクティブデバッガーはSmalltalkとRubyを実際に分離します。
SeasideはWeb開発フレームワークであり、Smalltalkに新しいスポットライトを与えました。これは継続ベースの環境であり、ヒット内デバッグとスムーズなリッチクライアントタイプの開発体験を可能にします(トップアプリケーションフローは単一の方法で設計できます)。 script.aculo.usとの統合は、Smalltalk内から簡単に呼び出されるように行われています。
ナイジェル、私が持っている1つの引用はこれです:
今や、Smalltalkを指名して、それを使って何年も経ちましたが、まだ思考をコンピューターコードに移すことができるという点で、これほど良いものに出くわしていません。それは単なる言語ではありません:それは素晴らしいブラウザ環境、ライブラリ、そして他のどんなものでもスパゲッティを作り出すことができるのと同じくらい速く、明確で適切に設計されたコードを書く文化です。 JavaOneの参加者が、Javaが他のどの製品よりもはるかに生産性が高いことを称賛していたとき、茶色の紙袋が必要でした。まあ、クラスパスの整理に戻って...-Martin Fowler(Software Development Magazine、2001年1月)
ここで見つけました。
すべての人にLisp(Scheme)またはSmalltalkを学ぶことをお勧めします。
Smalltalkには、カルチャーショックを乗り越えたら見逃したくない素晴らしいIDEがあります。そして、はい、Squeak、Dolphin、Smalltalk / X、およびVisualworks(非商用)の無料のものが複数あります。
Lispは、その数学的な基礎がもっときれいかもしれません。
よろしく
PS:実際には両方を学ぶことをお勧めします!
Rubyを知りません。.
Smalltalkは純粋のOO言語です。最も一般的な「OO」言語(C ++、Javaなど)のシミュレートされたオブジェクト指向だけでなく、オブジェクト指向を本当に理解する必要があると感じたら、smalltalkで遊ぶことをお勧めします。
smalltalkでは、すべてが属性、動作、メタを備えたオブジェクトです。シミュレーションでは、オブジェクトで使用するデータ型があります。
私はそれで遊ぶと言うでしょう、あなたはただ恩恵を受けるでしょう。
Smalltalkを大きなアプリに使用しないと考えるポスターに反対します&#8211;それが正確に輝く場所です。しかし、私は1週間以内にかなりグルーヴィーな(小文字に注意)プロトタイプアプリも作成しました。
92年からSTでオブジェクト指向を学びました。信じられないほど嬉しかったです。オブジェクト指向の本当の背景を教えてくれました。クラスで考える。タイプなし。 STはメッセージングに真の重点を置いています。何かを知りたい場合は、オブジェクトにメッセージを送信して回答を取得します。私見、精神およびIDEは、あなたがあなたの結合と結束で正しいことをすることを本当に奨励します。
私のJavaの仕事では、ファイル、ジェネリック、IDEなどのST IDEよりも生産性がはるかに低いIDEにこだわっています。予定より早く開発を完了したのは、STを使用していたときだけでした。実際、それは非常に生産的であり、再利用が非常に多かったため、別のプロジェクトに移さなければなりませんでした。 (わかりました、推定するのに時間を費やしたかもしれません...)
squeakをダウンロードし、良い本を見つけてプレイしてください。唯一の欠点は、1日のギグがJavaまたはC#を使用している場合、STを使用できることを願うことになります。早く家に帰ります。
クリスブルックス
完全にあなたの靴の中にいます。私はRoRを使用してSmalltalkの土地を調べています。ここにいくつかの長所とアンプがあります。重要な短所:
長所:
- 成熟した&amp;安定した環境
- 高速開発サイクル
- より多くのことを考え、書く回数を減らします
短所:
- 異なる考え方が必要
- それでもまだ把握できていません
Smalltalkを知ったきっかけはとても面白いです。 LispやErlangのものを検索する際にGoogleの結果に表示され続けるのはこの1つのことでした。ある日、私はそれをチェックアウトし、素敵なウィンドウ環境に驚いた。しばらくして、アイーダ/ウェブフレームワークを見つけました。私は夢中になり、このフレームワークを使用したWeb開発を通じてSmalltalkを学び始めました。
まだそこまではありませんが、とても面白いので、じっと座っていられません... :-)また楽しんでいます。
時間があれば、学習を開始しません。何故なの? C#またはJavaを学ぶ方が経済的に生産的で収益性が高いからです。
一方で、もしあなたが趣味好きで、考古学的な掘り出しをしたいのであれば、アラン・ケイを研究することによって、スモールトークの何、いつ、なぜ、どのように時間をかけることをお勧めします。魅力的な物語と信じられないほどの人物(結局、彼はターニング賞を受賞しました)。その後、少しキーキーで遊んで、言語の感覚をつかんでください。この後、ブロック、クロージャー、およびオブジェクト指向の原則について、新しく発見された敬意/理解を持つかもしれません。
Smalltalkを知って使用していますが、約15年間使用していますが、それを維持しており、Smalltalkを友人に勧めることはありません。何故なの?雇用は維持し続けるのが良いことです。 Smalltalkから多くのことを学ぶことができますが、それを今日の時代にうまく採用されるように簡単に変えることはできません。
また、あなたはSeasideに興奮しているようで、Seaside / GemStoneのパートナーシップを引き受けるでしょう。私はGemStoneをかなり長い間使用してきましたが、この2つは非常に魅力的です。成功するために必要な市場シェアと勢いを獲得できることを願っています。
Smalltalk:メッセージの取得: http://www.smalltalk -resources.com/Smalltalk-Getting-the-Message.html
しないでください!あなたが本当にそれを学び始めたなら、あなたはこれ以上他の何かでプログラムしたくないかもしれません。
あなたがLispプログラマである場合、これは真実ではないかもしれません。
私は、Smalltalkの最初の大学院レベルのオブジェクト指向プログラミングコース(1988年頃)で教えられました。先生は、「純粋な」ものから始めるのが最善だと考えました。オブジェクト指向言語。よりトレンディな言語に移る前に(学期の終わりにC ++を少し使いました)。
この方法では、純粋なオブジェクト指向から始めるのが最適ですが、最近はJavaとC#。どちらも「ほぼ純粋」です。 OO-オブジェクトの非OO機能を無視し、言語の純粋なOOサブセットに制限することで取得できる十分な近さ。
したい場合はより良い理解の極プログラミングもスクラム)からの指示に従うことが あり.
なぜ焦Javaプログラマーの習得が必要Smalltalk:
http://www.dafydd.net/archive/2010/why-smalltalk-isnt-just-another-language/
私はここ数年、ソフトウェアエンジニアを務めてきました。人々がSmalltalkを数回育てているのを聞いたことがありますが、Smalltalkは1980年頃から存在していることは確かです。 Objective C、CLIPS、PL / Iなどのようなもの-聞いたことがあるかもしれませんが、ほとんどの人がプログラミングしたことのないものです。
特定の仕事をする必要がない限り、おそらくSmalltalkを学ぶのに時間はかかりません。数年前にいくつかのSmalltalkのチュートリアルと例を簡単に見てみましたが、OOプログラミングの特定の側面にいくつかの明確な利点があるようです(メッセージのコンセプトがクールに見えるように)。しかし、悲しいことに、それは主流ではなく、それほど勢いを得ていないようです。
絶対に、Smalltalkを学んでください!これは2015年で、 Pharo のおかげで、Smalltalkが再び増加しています。ファロは無料です。 Pharoは、強力なエンタープライズツールへと急速に進化しています。バージョン4.0で、まもなく5.0になり、わずか4年でかなり成熟しました!
次に、アンバーがあります。これはWeb用のSmalltalkです。また、無料ですぐに進化します。
Smalltalkの評判にもかかわらず、あなたの父親のSmalltalkではありません。現代のSmalltalkは刺激的で有望です。
Smalltalkの仕事が(まだ)豊富ではないのは事実です。しかし、十分な数のSmalltalkersの新しい波に集約すれば、業界はそれに適応し、ビジネスでのSmalltalkの幅広い採用が見られるでしょう。問題は、あなたにはビジョンがありますか?
このスレッドは私にとって非常に現実的なものになりました。 Webアプリケーションへのソフトウェアの移行を計画しています。データベースベースのソフトウェアです。特に選択肢をチェックしています 1)レール 2)海辺
Gemstone / Sのデータベースとしての数値を取得できれば、それも考慮します。だから私にとっては、以前よりもSmalltalkを(より良く)学ばなければならないということです。なぜなら、それが今後15年間私の仕事になるからかもしれません。長い間好きではないソフトウェアを使用することはできません(すべきではありません);-)。 Gemstone / Sは「キラー」の1つだという印象があります。アプリケーション。しかし、オブジェクトの永続化は依然として非常に難しい分野です。...
1)はい!言語を学ぶことは常に良いことです。言語を学習する場合は、簡単かつ迅速に学習できる強力で影響力のある言語にします。
Smalltalkは、オブジェクト指向の概念を学習するための卓越した言語と環境のままです。
それはすべてのオブジェクトであり、ずっと下にあります。これにより、本当に一貫した作業方法が実現します。
整数は、クラス整数のインスタンスです。文字列は、文字オブジェクトのコレクションです。クラスは、定義するクラスのシングルトンインスタンスオブジェクトです。
制御構造は、getメッセージをクラスブールのインスタンスに送信することで機能します。
匿名メソッド(コードのブロック、別名ブロック)でもオブジェクトです。
すべては、オブジェクトにメッセージを送信することによって行われます。構文はハガキに収めることができます。
Smalltalkでの概念とその実装の明確さは、Java、Ruby、C#に直接移行する考え方を開発できることを意味します。 Pythonにも当てはまると思います。
概念を明確にするのに非常に良いのは、英国の主要大学がSmalltalkを使用してオブジェクト指向コンピューティングの年間5,000人を訓練したことです。
Squeak 5がリリースされました。プログレッシブガベージコレクションを備えた新しいCog / Spur VMにより、パフォーマンスが大幅に向上しました。
Pharo 4には、すっきりとした美しいデスクトップテーマがあります。次のバージョンであるPharo 5は間もなくリリースされます。 Cog / Spur VMの使用に移行し、リリースには約5,000のクラスがあります。クラスの追加パッケージは、Configuration Browserツールを介してネットから簡単に入手できます。
Squeak 5は、第一世代のRaspberry Piでもパフォーマンスが向上しており、新しい$ 5 Raspberry Piゼロではほぼ50%高速です。 99ドルでRaspberry Pi 2、スクリーン、ケースを購入できます-成熟した、完全に機能完備のIDEを実行します。
Smalltalk(例:NaiadとSpoon)の調整された分散オブジェクト指向システムで最先端の研究が行われています。
世界最大の企業データベースの一部がSmalltalkで実行されています。これには、世界の輸送コンテナの60%の追跡や、世界最大の銀行の取引システムが含まれます。
Smalltalkを一種の超強力なCoffeeScriptとして使用し、 Amber Smalltalk で記述し、JavaScriptに変換して、ブラウザで実行しています。
Squeak、Pharo、およびAmberは、すべて無料、オープンソース、オープンライセンスの言語および環境です。
SqueakとPharoは、1回限りの書き込みを提供し、MacOS、Windows、Linuxのあらゆる場所で機能します。 (おそらくRiscOSも)。
Dolphin Smalltalkは、ネイティブのWindowsルックアンドフィールをターゲットにしており、エンドユーザーに配布するために、完成した作業の閉じた.exeをコンパイルできます。ベンダーによるDolphinのさらなる開発は停止しましたが、完全に機能し、すべてのSmalltalkと同様に、非常に拡張可能なように設計されています。 (Squeakの3,000と比較して、Pharoは5,000のクラスを持っていることに言及しましたか?PharoはSqueak 3.9のフォークです)
** Squeak、Amber、Pharo、Cuis、Dolphinのインストールと起動に関するハウツーガイドがあります。** http://beginningtosmalltalk.blogspot .co.uk / 2015/11 / how-to-get-smalltalk-up-and-running.html
Seaside Webフレームワークは、SqueakとPharoで実行されます。従来のAidaWebフレームワークと同様に、すばらしい成熟したツールです。
VisualAge、VisualWorks、およびGemstoneはすべて、エンタープライズグレードの堅牢なシステムを提供します。 Gemstoneは、トランザクションと永続性を備えた無限にスケーラブルなオブジェクトデータベースを提供します。
2)はい-すでに使用しています。
私はそれをオープン大学で学び、すぐにRubyで生産的になりました(Pickaxe本のコピーと私の側のライブラリリファレンス)。 Javaで非常に役立ちました。
探しているものが本当にわかりません。
書き込みに使用する別の言語を探している場合、使用可能なライブラリに大きく依存すると思います。私はRubyもSmalltalkも知らないが、Ruby on Railsのようなアプリケーションの最も効率的な記述方法はSmalltalkではないようだ。
Rubyの背後にあるアイデアを学びたいなら、これは非常に良い動きかもしれません。私は定量的なものは何も持っていませんが、ツールだけではなく、その背後にあるアイデアやそれらがどのように機能したかを知っていれば、ツール(言語システムなど)を使用する方がずっと良いと感じました。
さまざまな種類のオブジェクト指向言語を学びたい場合は、Smalltalk(Rubyと大幅に異なる場合)、JavaやC ++のようなもの、そしておそらくCommon Lisp Object Systemを学びたいと思うかもしれません。
何か違うことを学びたいだけなら、Smalltalkが良い選択かもしれません。また、Common Lispをお勧めします。他の人も疑いなく他の提案をするでしょう(最近、良いForthシステムを手に入れられますか?)。
はい、興味があります。すでに一度始めようとしましたが、腕と脚の両方の費用がかからないSmalltalk開発環境を見つけることができませんでした。