Talk:Oz (programming language): Difference between revisions

Content deleted Content added
Cewbot (talk | contribs)
m Maintain {{WPBS}} and vital articles: 1 WikiProject template. Create {{WPBS}}. Keep majority rating "C" in {{WPBS}}. Remove 1 same rating as {{WPBS}} in {{WikiProject Computing}}.
 
(20 intermediate revisions by 16 users not shown)
Line 1:
{{Talk header}}
{{Old AfD multi|page=Oz (programming language)|date=1 September 2013|result='''keep'''}}
{{WikiProject banner shell|class=C|
{{WikiProject Computing|importance=mid}}
}}
== Article lacking ==
This article lacks source examples and a discussion of how the different paradigms encompassed by Oz "harmoniously blends together". In its current state it is ''factually'' informative but of little actual informative use for programmers or computer linguists. [[User:Mikademus|Mikademus]] 13:00, 9 August 2006 (UTC)
Line 27 ⟶ 32:
 
Yes, as a dynamically typed programming language, it does trivially support Generic Programming. [[Special:Contributions/92.224.156.140|92.224.156.140]] ([[User talk:92.224.156.140|talk]]) 19:14, 25 March 2009 (UTC)
 
== Not the Sieve of Eratosthenes ==
 
The code presented for the sieve is a prime number sieve,
but it is not the Sieve of Eratosthenes.
The text should be edited unless someone provides the actual sieve. <span style="font-size: smaller;" class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/24.18.214.0|24.18.214.0]] ([[User talk:24.18.214.0|talk]]) 02:18, 5 December 2009 (UTC)</span><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
 
== Very nice language, but lacks support. ==
 
This article is brief, but interested me enough to look for more. Further investigation shows great work has been done to document and implement Mozart and Oz. However, getting help appears to be impossible. I installed 1.4.0 from the SUSE Linux repository, but cannot get it to run. Unfortunately, there are a backlog of unassigned bugs on the support web site. I hope Windows and Mac users have better luck. <span style="font-size: smaller;" class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/72.181.55.206|72.181.55.206]] ([[User talk:72.181.55.206|talk]]) 06:22, 17 July 2010 (UTC)</span><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
 
== Execution speed ==
 
The execution speed is not a property of the programming language itself but of the mozart-compiler. That's why i suggest to mention/describe the execution speed at [[Mozart Programming System]] instead! --[[User:Mekeor|Mekeor]] ([[User talk:Mekeor|talk]]) 15:20, 31 July 2012 (UTC)
 
== Possible additional citations ==
 
*{{citation | title=Handbook of Constraint Programming | editor1-last=Rossi | editor2-last=van Beek | editor3-last=Walsh | editor1-first=Francesca | editor2-first=Peter | editor3-first=Toby | year=2006 | publisher=Elsevier | url=http://www.informatik.uni-ulm.de/pm/fileadmin/pm/home/fruehwirth/Papers/FAI.pdf | ISBN=978-0-444-52726-4 | series=Foundations of Artificial Intelligence | chapter=Constraints in Procedural and Concurrent Languages | last1=Frühwirth | last2=Michel | last3=Schulte | first1=Thom | first2=Laurent | first3=Christian | pages=453&ndash;486}}
*{{citation | title=Agent Theories, Architectures, and Languages: A Survey | last1=Wooldridge | last2=Jennings | first1=Michael J. | first2=Nicholas R. | journal=Intelligent Agents | publisher=Springer | url=http://eprints.soton.ac.uk/252177/1/ECAI94-WS.pdf | year=1995}}
*{{citation | first=Gert | last=Smolka | title=The Oz Programming Model | publisher=Springer | series=Lecture Notes in Computer Science | volume=1000 | pages=324&ndash;343 | url=http://scidok.sulb.uni-saarland.de/volltexte/2011/3751/pdf/RR_95_10.pdf}}
[[User:Lesser Cartographies|Lesser Cartographies]] ([[User talk:Lesser Cartographies|talk]]) 03:24, 3 September 2013 (UTC)
 
== More examples ==
 
Since this language claims to support so many paradigms it would be useful to have more examples. It seems the following paradigms are covered so far:
 
* functional (lazy and eager)
* dataflow
* concurrent
* message passing
* object oriented
 
But what about the following?
 
* imperative: are there the traditional for/while loops? better example of imperative algorithms changing variables?)
* logic programming: perhaps the sibling prolog example below would translate well?
* constraint programming: Perhaps one could solve the [[Verbal_arithmetic|SEND+MORE=MONEY]], using an all_different constraint etc.
* discussion how parallel vs concurrent apply to the langauge
 
Prolog example:
<syntaxhighlight lang="prolog">
mother_child(trude, sally).
father_child(tom, sally).
father_child(tom, erica).
father_child(mike, tom).
sibling(X, Y) :- parent_child(Z, X), parent_child(Z, Y).
parent_child(X, Y) :- father_child(X, Y).
parent_child(X, Y) :- mother_child(X, Y).
</syntaxhighlight>
 
This results in the following query being evaluated as true:
 
<syntaxhighlight lang="prolog">
?- sibling(sally, erica).
Yes
</syntaxhighlight>
 
== oz syntax highlighting lost ==
 
Since the switch from Geshi to Pygments for syntax highlighting ([[phab:T85794]]), support for 'oz' was unfortunately dropped, as can be seen with the plain text formatting on this page and others such as [[Alice (programming language)]]. If you want specialised 'oz' syntax highlight support again, it will need to be added to [http://pygments.org/ Pygments]. Alternatively, if there is another language which has similar syntax, we can add that as a fallback. <span style="font-variant:small-caps">[[User:John Vandenberg|John Vandenberg]] <sup>'''([[User talk:John Vandenberg|chat]])'''</sup></span> 07:00, 18 July 2015 (UTC)
:The 'sml' (Standard ML) lang works reasonably well, except that '%' comment character is not recognised. I've switched a few of the examples to sml, and moved some of the code comments into prose in the process. It should be fairly simple to create an 'oz' language in Pygments by subclassing the 'sml' handler. <span style="font-variant:small-caps">[[User:John Vandenberg|John Vandenberg]] <sup>'''([[User talk:John Vandenberg|chat]])'''</sup></span> 19:50, 18 July 2015 (UTC)
::Hi [[User:Cedar101|Cedar101]], I see you [//en.wikipedia.org/w/index.php?title=Oz_%28programming_language%29&type=revision&diff=672540114&oldid=672034275 switched] the lang to erlang for 11 of the source blocks, but not the remaining 5. Using erlang is definitely the right choice when the source needs a code comment, as erlang also uses % as the comment character. But I am wondering why not change the other five also to lang=erlang. It looks like the highlighting of 'then' and 'else' is lost using erlang, but sml doesnt highlight elseif. If erlang is 'close enough', we could propose a patch to the syntax highlighter so that 'oz' is recognised as a language, and rendered using the 'erlang' lexer. <span style="font-variant:small-caps">[[User:John Vandenberg|John Vandenberg]] <sup>'''([[User talk:John Vandenberg|chat]])'''</sup></span> 00:50, 23 July 2015 (UTC)
::: Okay, I changed all to "elrang". -- [[User:Cedar101|Cedar101]] ([[User talk:Cedar101|talk]]) 03:54, 23 July 2015 (UTC)
 
== Article still lacking ==
 
Fifteen years on, it still assumes that the reader knows the language. What is "browse"? What is special about the examples which demonstrate that it's "allowing higher order functional programming"? It's reasonable to assume that the reader understands concepts like "first class values" (which generally have Wp pages) but not that he's already familiar with the syntax and semantics of the language being described... why would he be reading the article if he were? [[User:MarkMLl|MarkMLl]] ([[User talk:MarkMLl|talk]]) 20:22, 15 July 2021 (UTC)
 
== is Oz always 50x slower than GCC in practice? ==
 
If a problem stated in Oz is solved in 1 hour, but that problem coded in C++ is still not solved after 50 hours, then in practice is that Oz program very slow as stated in this article ?
The conjectured Oz program may have used >50x resources, but if those resources are cheap given the value of the solution, then even that inefficiency might not look like a failing in practice.
This is all so obvious that the "very slow" statement reminds me of the "very large" programs complaint against Smalltalk, when those Large programs were Very flexible in rapid response to mission critical business issues and fostered effective team engineering transparency with small units of code ... in practice and reliably so.
[[Special:Contributions/174.118.226.83|174.118.226.83]] ([[User talk:174.118.226.83|talk]]) 14:07, 10 January 2022 (UTC)