emacs.d/clones/lisp/www.cliki.net/corba.html

62 lines
5.4 KiB
HTML
Raw Normal View History

2022-10-07 15:47:14 +02:00
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>CLiki: CORBA</title>
<link rel="alternate" type="application/atom+xml" title="ATOM feed of edits to current article"
href="https://www.cliki.net/site/feed/article.atom?title=CORBA">
<link rel="stylesheet" href="static/css/style.css">
<link rel="stylesheet" href="static/css/colorize.css">
</head>
<body>
<span class="hidden">CLiki - CORBA</span>
<div id="content"><div id="content-area"><div id="article-title">CORBA</div><div id="article">CORBA is the <a href="https://www.omg.org/spec/CORBA/">Common Object Request Broker Architecture</a>. The document describing OMG CORBA bindings for Common Lisp is available at <a href="https://www.omg.org/spec/LISP/">https://www.omg.org/spec/LISP/</a>. <p><a href="Peter&#32;Van&#32;Eynde.html" class="internal">Peter Van Eynde</a>: CORBA is a poor match with <a href="CLOS.html" class="internal">CLOS</a>: CORBA methods can have a variable number of arguments, which results in having all methods having arguments (object &amp;rest parameters) . This is less then ideal, and especially the GUI tools like <a href="ilisp.html" class="internal">ilisp</a> are helpless to give useful argument lists. There is no concept of a mix-in of course<p>The ANY type is nice, but most implementations only convert the first level of an ANY object, so you'll get a list of ANY objects instead of a list of lisp objects like <a href="string.html" class="internal">string</a>s and integers. You need to realize each object in turn to get that list of lisp things. Note that this is not a problem with the current implementations, but with a basic problem related to the <a href="copying&#32;problem.html" class="internal">copying problem</a> in Common Lisp. <p>Other CORBA problems include the failure of many people to realize that this is Network programming and things like bandwith and latency are not to be underestimated. So no "This method returns a cookie and you need to use this object method to itterate through it" but: "This methods returns the number of records found and a list containing the first N results, use method foo to get the next N". The latter method reduces latency and makes better use of the network bandwidth. I could rant for hours on this subject... <a href="Peter&#32;Van&#32;Eynde.html" class="internal">Peter Van Eynde</a><p>Another thing: CORBA uses CDR-encoding which is the on-the-wire encoding of objects, not the memory-saving trick used in the old lisp machines :-). <p>CDR, in the context of CORBA, is a <em>Common Data Representation</em> (<a href="https://docs.oracle.com/cd/E13211_01/wle/wle42/corba/giop.pdf">PDF</a>).<p>For <a href="free.html" class="internal">free</a> CORBA implementations for Common Lisp, see <ul>
<li>
<a href="CLORB.html" class="internal">CLORB</a> -
<a href="CLORB.html" class="internal">CLORB</a> is a <a href="CORBA.html" class="category">CORBA</a> ORB that implements the <a href="https://www.omg.org/spec/LISP/">OMG Lisp Language Mapping</a> for CORBA
</li>
<li>
<a href="Geiriadur.html" class="internal">Geiriadur</a> -
Geiriadur is an <a href="application.html" class="category">application</a> for natural language dictionary creation, management and use
</li>
</ul>
<hr>
<a href="standards.html" class="category">standards</a></div></div>
<div id="footer" class="buttonbar"><ul><li><a href="CORBA.html">Current version</a></li>
<li><a href="https://www.cliki.net/site/history?article=CORBA">History</a></li>
<li><a href="https://www.cliki.net/site/backlinks?article=CORBA">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=CORBA&amp;from-revision=3801141518">Edit</a></li><li><a href="https://www.cliki.net/site/edit-article?create=t">Create</a></li></ul></div>
</div>
<div id="header-buttons" class="buttonbar">
<ul>
<li><a href="https://www.cliki.net/">Home</a></li>
<li><a href="https://www.cliki.net/site/recent-changes">Recent Changes</a></li>
<li><a href="CLiki.html">About</a></li>
<li><a href="Text&#32;Formatting.html">Text Formatting</a></li>
<li><a href="https://www.cliki.net/site/tools">Tools</a></li>
</ul>
<div id="search">
<form action="https://www.cliki.net/site/search">
<label for="search_query" class="hidden">Search CLiki</label>
<input type="text" name="query" id="search_query" value="" />
<input type="submit" value="search" />
</form>
</div>
</div>
<div id="pageheader">
<div id="header">
<span id="logo">CLiki</span>
<span id="slogan">the common lisp wiki</span>
<div id="login"><form method="post" action="https://www.cliki.net/site/login">
<label for="login_name" class="hidden">Account name</label>
<input type="text" name="name" id="login_name" class="login_input" />
<label for= "login_password" class="hidden">Password</label>
<input type="password" name="password" id="login_password" class="login_input" />
<input type="submit" name="login" value="login" id="login_submit" /><br />
<div id="register"><a href="https://www.cliki.net/site/register">register</a></div>
<input type="submit" name="reset-pw" value="reset password" id="reset_pw" />
</form>
</div>
</div>
</div>
</body></html>