LassoSoft Inc. ロゴ | |
| パラダイム | マルチパラダイム:構造化 オブジェクト指向(マルチディス)、 メタ:反射的 |
|---|---|
| デザイン: | カイル・ジェサップ |
| 開発者 | ラッソソフト株式会社 |
| 初登場 | 1995年 |
| 安定リリース | 9.3.1 / 2015年10月23日 |
| タイピングの規律 | 制約付き動的(厳密ハイブリッド)、主格、アヒル(ハイブリッド) |
| 実装言語 | C、ラッソ |
| プラットフォーム | クロスプラットフォーム |
| OS | ( OS X、Windows、Linux ) |
| ライセンス | 独自 |
| ファイル名拡張子 | .lasso、.LassoApp |
| Webサイト | ホームページ |
| 主な実装 | |
| 投げ縄 8、投げ縄 9 | |
| 影響を受けた | |
| ディラン、スモールトーク、スカラ | |
Lasso は、インターネット アプリケーションを開発するために設計されたアプリケーション サーバーおよびサーバー管理インターフェイスです。また、汎用の高水準プログラミング言語でもあります。元々はFilemaker用のWeb データ ソース接続ツール[1]でしたが、後にApple Computerの FileMaker 4.0 およびClaris HomepageにCDML [2] [3]として組み込まれ、大規模なインターネット アプリケーションや Web ページの開発と提供に使用される複雑な言語に進化しました。
Lasso には、 HTMLやその他のコンテンツ タイプの生成をコードで制御できるシンプルなテンプレート システムが含まれています。Lasso は、すべての値がオブジェクトであるオブジェクト指向プログラミング言語です。また、非バインドメソッドによる手続き型プログラミングもサポートしています。この言語では、特性と多重ディスパッチが広範に使用されています。
Lassoには、実行時にオブジェクトをロードして拡張できる動的型システム、自動メモリ管理、包括的な標準ライブラリ、および3つのコンパイル方法(動的( PHP - Pythonに相当)、ジャストインタイムコンパイル( Javaまたは.NET Frameworkに相当)、およびプリコンパイル(Cに相当))があります。Lassoはクエリ式もサポートしており、[4]配列やその他のタイプのシーケンス内の要素を、 SQLに似た自然言語構文を使用して反復、フィルタリング、および操作できます。[5] Lassoは、標準の文字列オブジェクトに完全なUnicode文字サポート を含めているため、日本語やスウェーデン語などのマルチバイト文字を提供およびサポートでき、文字列データをネットワークまたはファイルシステムに書き込むときに 透過的なUTF-8変換をサポートします。
Lassoはスクリプト言語としてよく使われますが、スクリプト以外の幅広いコンテキストでも使われています。Lassoコードは「LassoApps」と呼ばれるスタンドアロンの実行可能プログラムにパッケージ化することができ、フォルダ構造が単一のファイルにコンパイルされます。[6]
Lasso Server アプリケーション サーバーはシステム サービスとして実行され、FastCGI を介してWeb サーバーから要求を受け取ります。次に、要求を適切な Lasso インスタンスに渡し、応答を作成します。複数の個別のインスタンスがサポートされているため、1 つのサーバーで複数のサイトをそれぞれ別のプロセスとして処理できます。サーバーは、マルチコアシステム用に設計された高性能IOベースのグリーン スレッドシステムを使用します。
Lassoは、サーバーサイドスクリプト言語であるPHP [7] [8]やPython、ColdFusion、Rubyなどと比較することができます。 [9] [10]
歴史
Lasso は、初期の Web 開発者が Apple の FileMaker Pro を使用してデータベース ベースの Web サイトを構築しようとしていた 1990 年代半ばに始まりました。Mac プラットフォームには、Eric Bickford の WEB-FM と Russell Owens の FileMaker CGI (ROFM) という 2 つのソリューションがありました。どちらもAppleScriptで構築されており、書式設定には FileMaker Pro の計算フィールドを使用する必要がありました (WEB-FM はその後 C で書き直されました)。
1995 年秋、独立系開発者の Vince Bonfanti がROFM をベースにした新しいCGI を作成しました。パフォーマンス向上のためC / C++ を使用し、計算フィールドに頼る代わりにHTMLベースの「テンプレート」の概念を採用しました。これは FileMaker コミュニティで非常に人気があり、ワシントン州イサクアに拠点を置く印刷および Web サイト開発会社 Blue World Communications Inc. のオーナーである Bill Doerrfeld の目に留まり、ソース コードを購入しました。[11]
当時、Blue World はFrontier スクリプト環境のCGIの改良を実験しており、これが「Lasso」という名前につながりました。さらに改良が必要になったため、C ベースのCGIが開発され、後に「Lasso 1.0」としてリリースされました。この時点では、Lasso はFileMaker Pro 3.x およびWebSTARでのみ動作し、Apple Mac OS 8以降でのみ動作しました。[12]
Lasso の使用は、印刷出版物でのレビュー[13] [議論]と、Blue World が主催し、多くの電子メールディスカッションリストに参加したことで著しく増加しました。その多くは FileMaker Pro に特化していました。Blue World はMacWorld カンファレンスにも頻繁に登場し、主要企業として知られていました。[14]
1997 年 1 月に Lasso 1.2 ラインナップがリリースされた後、Blue World と Bonfantis は、 Apple Computerのソフトウェア部門で FileMaker Pro の所有者であるClarisと非公開の話し合いを行いました。Claris は最終的にバージョン 1.2 以降の Lasso ソース コードのライセンスを取得し、Vince と Paul Bonfanti の協力を得て、FileMaker Pro 4.0 のコンポーネントとして FileMaker Web Companion をリリースしました。FileMaker Web Companion の言語であるCDML (Claris Dynamic Markup Language) [15] はLasso 1.2 の LDML (Lasso Dynamic Markup Language) とは異なっていましたが、FileMaker Pro からサードパーティ サーバーを介してサービスを提供することを望む開発者にとって移行が容易なほどに似ており[16]、より魅力的な機能を提供しました[17] 。
FileMaker 4.0に Lasso のような Web コンパニオンが組み込まれたことで、Macintosh Web 開発コミュニティ内で Lasso の成長も促進されました。Blue World は、Kyle Jessup が Lasso の主任プログラマーとなり、Lasso の開発を継続しました。1997 年 7 月に Lasso 2.0 がリリースされ、Lasso の使用方法にいくつかの根本的な変化がもたらされました。[18]
2002 年 2 月 26 日、Blue World は、これまでの FileMaker 中心の言語から大きく逸脱した Lasso 5 をリリースしました (Lasso 4 はリリースされず、バージョン番号は 3 から 5 に飛びました)。Lasso 5 には、多くの更新に加えて、完全に書き直されたアーキテクチャ (OS X、Windows、Linux 用) と組み込みMySQLデータベースが含まれていました。[19] Lasso 5 は依然として FileMaker データベース (FileMaker Server ではない) と通信していましたが、データ ソースとしての FileMaker は SQL エンジンに比べて比較的遅く、非常に高価でした。バージョン 2.0 以降、Lasso は完全にマルチスレッド化され、一度に多数の接続が可能になりましたが、特定の操作で FileMaker の遅延や遅れが発生し、データ ソースに大きな変更を加える以外に、確実に回避する方法はありませんでした。[20]
Lasso 5では、Webstar 5、AppleShare IP(OS X Serverに置き換えられた)、iTools(Tenon [21] 製)に加えて、 OS X、Windows、LinuxでApache HTTP Serverをネイティブにサポートするようになった(Lassoが長年使用されてきたMac OS 9はサポートされていなかった)。これにより、従来のLAMPサーバーアーキテクチャとの結びつきが強まった。 [要出典]
ブルーワールドコミュニケーションズは、マクロメディアとアドビの人気のウェブ開発パッケージ用のプラグインシリーズをリリースした。ドリームウィーバー用のLasso Studio 1.5は、2001年にMacWorld誌のインターネットと開発部門のエディターズチョイスアワード[22]でアドビドリームウィーバー3に負けて準優勝した。ドリームウィーバー用のLasso Studio 1.5 [23]もMacWorld誌で好意的に評価され、4つ星を獲得した。+1 ⁄ 2マウス。Lasso Studioの後のバージョンは、2004年3月26日に リリースされたLasso Studio 7 for Dreamweaver and GoLive [24]を含め、 Macromedia DreamweaverとAdobe GoLiveの両方をサポートしました。
2004 年に FileMaker Server と FileMaker Server Advanced バージョン 7 がリリースされ、FileMaker は Web サイトへのデータ提供戦略に大きな変化が見られました。XML-XSLT、ODBC、JDBC の接続性を重視しましたが、より高価な FileMaker Server Advanced 製品のみで対応しました。[25] Blue World は、Lasso 言語を FileMaker や Apple から遠ざけ始めました。2005 年に Lasso Pro は MySQL ネットワーク認定を受けました[26]。これは、人気の高いオープン ソース データベースが Lasso の将来にとって重要であることを示しています。
2004年8月1日、ビル・ドーフェルドはフロリダ州フォートローダーデールのオムニパイロットソフトウェア社にLasso製品ラインを正式に売却した。Lasso 7.0.3はBlue WorldがリリースしたLassoの最終バージョンとなった。[27]
2004 年 10 月 25 日、OmniPilot は Lasso 8 のリリースを公式に発表しました。このバージョンには、同じサーバー上の複数のサイトのサンドボックス化と、多くの新しいデータソースへの接続が含まれています。[28]また、IP アドレスに制限された Lasso の最初の「無料」バージョンも含まれていました。[29] OmniPilot はこのリリースに続いて、2005 年 3 月 28 日の Dreamweaver および GoLive 用の Lasso Studio 8 [30] 、 Eclipse用の Lasso Studio 、ChartFX 統合、およびいくつかの無料の Lasso ベースのソリューションなど、いくつかの補完的な製品をリリースしました。[31]
2007年、OmniPilotの従業員3人、Kyle Jessup(Lasso 1.0のオリジナル開発者)、Fletcher Sandbeck(Blue Worldの初期従業員で、Tips and Tricksを定期的に提供していた)、Kerry Adams(OmniPilotの従業員)が新しい会社LassoSoft LLCを設立し、OmniPilotからLassoの知的財産を購入して開発を継続した。[32] [33] PHPやASPなどのより人気のある言語に対抗する必要性を認識し、アーキテクチャ、構文、構造に根本的な変更を加え、Lasso 9.0としてリリースした。これらの変更によって生じた技術的な課題と限られたマーケティングリソースが相まって、会社が新しい言語のドキュメントとサポートをリリースするのに苦労し、コミュニティの大幅な衰退につながった。[34] [35]
2010年12月、カナダの新会社LassoSoft Inc.が設立され、Lasso 9.0の言語、マーケティング、ドキュメントを買収し、多額の投資を行った。Kyle JessupはLassoの主任開発者と終身の善意の独裁者として留まることに同意した。近年、いくつかのリリース(9.1と9.2)でさらなる開発が行われた。[36]
リリース履歴
コード例
こんにちは世界
Lasso ページで「Hello world!」と言う方法は 3 つあります。
<?lasso 'Hello World!' ?>
[ 'こんにちは世界!' ]
こんにちは世界!
角括弧は Lasso で予約されているため、Lasso タグをマークする以外の目的で Lasso ページに角括弧を表示するには、HTML エンティティを使用する必要があります。または、角括弧の印刷は Lasso によって実行することも、ファイルの先頭に [no_square_brackets] を含めることで無効にすることもできます。
インライン
// テーブル内のすべてのレコードを
インラインで検索します( -database = 'db_name' 、-table = 'table_name' 、-findall ) => { // 各行を反復処理して処理しますrows => { // 各行を現在の Web リクエストに出力しますcontent_body += ' <a href="' + column ( 'url' ) + '"> ' + column ( 'title' ) + '</a>' } }
インラインは、データベース アクション用の基本的な Lasso ツールです。データベース コマンドは、上記のように Lasso の db に依存しないメタ言語で発行できます。この場合、同じ検索コードが MySQL、FileMaker Pro、または Lasso が接続できるその他のデータベース バックエンドで機能します。
もちろん、必要に応じて、 SQL をサポートするデータベース サーバーを使用する場合は、 SQLステートメントをインラインに埋め込むことができます。
// SQL ステートメントを
インラインで実行します( -database = 'db_name' 、-sql = 'SELECT * FROM table_name' ) ...
上記の例では、コマンドの前のダッシュ(-)はオプションのパラメータを示しています。これらは任意の順序で指定でき、動的に生成されます。重複したパラメータがある場合は最後のパラメータが優先されます。インラインコマンドは広範囲のパラメータをサポートしているため[56]、開発者は詳しい知識がないデータベースと対話することができます。
インライン コマンドの抽象化された性質を活用できるカスタム データベース コネクタを作成できます。
ビール99本
次の手続き型の例では、「99 Bottles of Beer」という曲の歌詞を出力します。
// 便利なメソッドをいくつか定義する
定義br => '<br/>'定義ボトル( n ::整数) => #n != 1 ? 'ボトル' | 'ボトル'
// 歌詞を文字列として保存するローカルを宣言する
ローカル(出力= '' )
// Lassoクエリ構文を使用して歌詞を生成します
nが99から1まで-1で割ると{
#out += #n +本( #n ) + ' 本のビールが壁に掛かっています。' + br #out += #n +本( #n ) + ' 本のビール; ' + br #n -- #out += '1 本取って回しなさい。' + br #out += #n +本( #n ) + ' 本のビールが壁に掛かっています。' + ( br * 2 ) }
// 出力結果
#外
次の例では、オブジェクトが文字列として表現されている場合に、OOP アプローチを使用して歌詞を出力します。
// 型を定義する
define Bottles_of_beer => type {
// 内部データを定義するdata private Bottles = 99
// プライベートメソッドを定義
private br => '<br/>' private s => .bottles != 1 ? 's' | '' // オブジェクトが文字列として表現される場合に歌詞を生成するpublic asstring => {
local ( out = '' ) // Lassoクエリ構文を使用して歌詞を生成します
nが99で1が- 1の場合、次のようになります { .bottles = #n #out += .bottles + ' ビールのボトル' + . s + ' が壁にあります、 ' + . br #out += .bottles + 'ビールのボトル' + . s + 'が壁にあります。' + . br .bottles -- #out + = ' 1つ取って回しなさい、' + . br #out + = .bottles + 'ビールのボトル' + . s + 'が壁にあります。 ' + ( . br * 2 ) }
// 結果を返す
return #out } }
ビールのボトル
開発ツール、環境
参考文献
- ^ Dave, Parkhurst (1997 年 4 月 25 日)、「新しい Web ツールがサーバのレガシー データへのリンクを支援」、MacWEEK Magazine
- ^ 「Filemaker Pro には外部コネクタが必要です」。2000 年 2 月 1 日。
- ^ 「Filemaker Pro データベースの Web 対応」 2002 年 8 月 1 日。
- ^ 「クエリ式に関する Microsoft」。
- ^ 「クエリ式の定義」。
- ^ 「LassoAppsの説明」。
- ^ Chris, Tracewell (2006)。「2 つの OS X スクリプト言語の詳細」。MACTech。
- ^ Brian, Dunning (2005 年 2 月 1 日)。「仕事に適したツールを選ぶ」。
- ^ 「W3Techs の Lasso vs スクリプト言語」。
- ^ 「人気言語の比較」。2009年1月16日時点のオリジナルよりアーカイブ。
- ^ “ヴィンス・ボナフォンティのLassoTalk Post”.
- ^ 「Lasso 1.0 の要件」。1996 年 12 月 27 日時点のオリジナルよりアーカイブ。
- ^ 「Lasso in the Press (アーカイブ)」。2003年6月8日時点のオリジナルよりアーカイブ。
- ^ Jim, Dalrymple (2002 年 1 月 4 日)、「Apple が Macworld で Connect: Pro2Pro イベントを開催」、PCWorld
- ^ 「Claris ダイナミック マークアップ言語」。
- ^ 「Blue World Technology が Claris に買収される」。2001 年 4 月 30 日時点のオリジナルよりアーカイブ。
- ^ Yu, Chong-ho. 「Lasso は Web Companion よりも多くの機能を提供します」。2004 年 12 月 26 日時点のオリジナルよりアーカイブ。
- ^ 「Lasso 2.0 の変更点」。2001 年 5 月 1 日時点のオリジナルよりアーカイブ。
- ^ 「Lasso 5 がリリースされました」。
- ^ 「FileMaker の放棄に関する Slashdot の議論」。
- ^ “Tenon”. 2018年8月28日時点のオリジナルよりアーカイブ。2005年9月5日閲覧。
- ^ 「Editors' Choice Awards: インターネットと開発」。MacWorld。IDG 。 2013年10月28日閲覧。
- ^ Seiter, Charles. 「Lasso Studio for Dreamweaver 1.5」。MacWorld . IDG . 2013年10月28日閲覧。
- ^ Cohen, Peter. 「Lasso Studio 7 for Dreamweaver、GoLive リリース」。MacWorld . IDG . 2013 年10 月 28 日閲覧。
- ^ 「FileMaker Server 7 Advanced がリリースされました」。CMO 。2013年10 月 28 日閲覧。
- ^ Cook, Brad. 「Lasso Pro が MySQL Network 認定を取得」。MacWorld . IDG . 2013 年10 月 28 日閲覧。
- ^ 「OmniPilot Software 買収記事」.
- ^ 「Lasso 8 リリースのお知らせ」。
- ^ 「8.5は無料」。MacNN。
- ^ Cohen, Peter. 「Lasso Studio 8 for Dreamweaver & GoLive リリース」。MacWorld . IDG . 2013 年10 月 28 日閲覧。
- ^ 「 MacNNにおける OmniPilot のリリース一覧」。MacNN 。
- ^ “LassoSoft が OmniPilot の Lasso を買収”.マックNN。 2007 年 3 月 5 日。
- ^ 「LassoSoft LLC 買収記事」.
- ^ Gunderson, Lars. 「Lassosoft が今何をしてくれると期待しているか」
- ^ Gunderson, Lars. 「LassoTalk コミュニティの衰退のグラフ」
- ^ 「9.2 リリース」。
- ^ 「Lasso の最初のバージョンがリリースされました」。1996 年 10 月 19 日時点のオリジナルよりアーカイブ。
- ^ 「Lasso 1.0.4 マニュアル」(PDF)。1996 年 12 月 27 日時点のオリジナル(PDF)からアーカイブ。
- ^ 「Lasso 1.1 リリース」。1996 年 12 月 27 日時点のオリジナルよりアーカイブ。
- ^ 「Lasso 2.0 リリース」。2003 年 6 月 12 日時点のオリジナルよりアーカイブ。
- ^ 「MacWeek Review へのリンクが切れています」。1998 年 4 月 22 日時点のオリジナルよりアーカイブ。
- ^ 「Lasso 3.0 リリース」。2003年6月12日時点のオリジナルよりアーカイブ。
- ^ 「Lasso 3.5 リリース」。2003年6月8日時点のオリジナルよりアーカイブ。
- ^ 「Lasso 3.6 リリース」。2003 年 6 月 11 日時点のオリジナルよりアーカイブ。
- ^ 「Lasso 3.6.5 リリース」。2003年6月11日時点のオリジナルよりアーカイブ。
- ^ 「Lasso 5.0 リリース」。2003 年 8 月 2 日時点のオリジナルよりアーカイブ。
- ^ 「Lasso 6.0 リリース」。2003年6月22日時点のオリジナルよりアーカイブ。
- ^ 「Lasso 7.1 リリース (コピー)」。
- ^ 「Lasso 8.1 リリース」。
- ^ 「Lasso 8.5 リリース」。
- ^ 「Lasso 9 リリース」。
- ^ 「Lasso 8.6 リリース」。
- ^ 「Lasso 9.1 リリース」。
- ^ 「Lasso 9.2 リリース」。
- ^ 「Lasso 9.3 リリース」。
- ^ 広範囲のパラメータ
外部リンク
- 公式サイト、LassoSoft
- 公式サイト、LassoGuide
- Lasso参照
- ファイルメーカー
- ListSearch - LassoSoft のリスト検索エンジン
- Nabble の LassoTalk アーカイブ
- Google グループの LassoTalk アーカイブ
- ExecuChoice - PDF タグ スイート - PassThru - ShortString
- Knop - Lasso 8 および 9 用のオープンソース Web アプリケーション フレームワーク
- LassoFusebox - 人気のオープンソース Fusebox Web アプリケーション フレームワークの Lasso ポート (Lasso 8 および 9 用)
- LassoBin - Lasso 用の PasteBin
- LassoForge - オープンソース Lasso プロジェクト
- tagSwap - Lassoカスタムタグの公開交換
- L-Debug - Lasso 8 および Lasso 9 用のデバッグ スイート
- この Wikipedia のエントリは、初期の発表や、Web 上ではもう入手できない多くの注目すべき情報源に大きく依存しています。
