Re: SaxonCS 11.0 is available
Dimitre Novatchev <[email protected]> Mon, 11 Oct 2021 06:35:35 -0700
| Newsgroups | gmane.text.xml.saxon.help |
|---|---|
| Message-ID | <CAK4KnZfFXx+F2NAKm5Q_xvs+rWO-8XPL6dd7oAd-pfYps_OHmA@mail.gmail.com> |
--===============4287656428395279623== Content-Type: multipart/alternative; boundary="0000000000005f5a4405ce13cee6" --0000000000005f5a4405ce13cee6 Content-Type: text/plain; charset="UTF-8" Some examples of transpilers: > 1. Emscripten: Transpiles C/C++ to JavaScript > 2. Babel: Transpiles ES6+ code to ES5 (ES6 and ES5 are different versions or generations of the JavaScript language) Typescript has been a well-known example of a transpiler that changed dramatically how people approach programming on the front-end. Current versions of Google's Angular are written in Typescript. Deno was the next step from Node -- again by embracing Typescript. Just my 2c. :) Dimitre On Mon, Oct 11, 2021 at 5:23 AM Roger L Costello <[email protected]> wrote: > > SaxonCS is therefore built by generating C# from the Java source code of > SaxonJ > > using a custom transpiler, written in XSLT. > > What is a transpiler? > > I learned a new word today: > > Compiler: is an umbrella term to describe a program that takes source code > written in one language and produce a (or many) output file in some other > language. In practice we mostly use this term to describe a compiler such > as gcc which takes in C code as input and produces a binary executable > (machine code) as output. > > Transpilers are also known as source-to-source compilers. So in essence > they are a subset of compilers which take in a source code file and convert > it to another source code file in some other language or a different > version of the same language. The ouput is generally understandable by a > human. This output still has to go through a compiler or interpreter to be > able to run on the machine. > > Some examples of transpilers: > > 1. Emscripten: Transpiles C/C++ to JavaScript > 2. Babel: Transpiles ES6+ code to ES5 (ES6 and ES5 are different versions > or generations of the JavaScript language) > > https://stackoverflow.com/questions/44931479/compiling-vs-transpiling > > /Roger > > -----Original Message----- > From: Michael Kay <mike-JkSD5nQpfvpWk0Htik3J/[email protected]> > Sent: Wednesday, October 6, 2021 9:55 AM > To: Mailing list for the SAXON XSLT and XQuery processor < > [email protected]> > Subject: [EXT] [saxon] SaxonCS 11.0 is available > > We are pleased to announce the release of SaxonCS-EE 11.0 - Saxon > Enterprise Edition for .NET 5. > > Details: > > Documentation: https://www.saxonica.com/documentation11/index.html > Download: https://www.saxonica.com/download/dotnet.xml (or search for > SaxonCS on nuget) > > Previous products for .NET were built using IKVM to convert the Java > bytecode of the Java product (which we are now calling SaxonJ). IKVM > doesn't work with .NET Core or .NET 5, so we had to come up with a new > approach; SaxonCS is therefore built by generating C# from the Java source > code of SaxonJ using a custom transpiler, written in XSLT. > > As well as being our first product for .NET 5, this is also the first > product built from the version 11 code base (SaxonJ 11 will follow). There > are lots of new features, described in detail in the change history section > of the documentation, but for most users support for .NET 5 will be the > main reason for adoption. We've tested the product on .NET 5 running on > Windows, MacOS, and Linux. > > Licensing: being Enterprise Edition, a license key is required. Existing > license keys will work provided they have current upgrade rights. You can > also get a 30-day evaluation license in the usual way. However, we're > making a change to the licensing at the same time: from Saxon 11, we plan > to offer term and/or subscription licenses only, rather than perpetual > licenses. The software is now in a mature phase where many users are > looking for stability and support rather than new features, and we feel > that perpetual licenses encourage people to stay on old releases until they > hit a support problem, at which point it's hard for us to offer assistance. > Much of the industry has moved to term and subscription licensing, and we > think this will work better. We'll be updating the online shop over the > next few days. > > Compatibility and transition: the API for SaxonCS follows the design of > the old .NET API closely, but not slavishly. When we've seen where it can > be improved by breaking compatibility, we've improved it. (For example, > callbacks are typically now implemented as delegates rather than > interfaces.) So some reworking of existing applications will be needed, but > we hope it won't be onerous. There are a few areas in which we haven't > (yet) replicated the functionality of the old .NET product: the most > obvious is localization (number and date formatting), and we'll be > addressing this in later releases. > > Performance: initial results are very encouraging, but slightly > inconsistent. Some things are faster than SaxonJ, some are slower, and we > haven't yet been able to establish a clear pattern. Please try it out on > your own workload and let us know how it goes. > > Michael Kay > Saxonica > > _______________________________________________ > saxon-help mailing list archived at http://saxon.markmail.org/ > [email protected] > https://lists.sourceforge.net/lists/listinfo/saxon-help > > > _______________________________________________ > saxon-help mailing list archived at http://saxon.markmail.org/ > [email protected] > https://lists.sourceforge.net/lists/listinfo/saxon-help > -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- To avoid situations in which you might make mistakes may be the biggest mistake of all ------------------------------------ Quality means doing it right when no one is looking. ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play ------------------------------------- To achieve the impossible dream, try going to sleep. ------------------------------------- Facts do not cease to exist because they are ignored. ------------------------------------- Typing monkeys will write all Shakespeare's works in 200yrs.Will they write all patents, too? :) ------------------------------------- Sanity is madness put to good use. ------------------------------------- I finally figured out the only reason to be alive is to enjoy it. --0000000000005f5a4405ce13cee6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><div>Some examples of transpilers:<br><br= >> 1. Emscripten: Transpiles C/C++ to JavaScript<br>> 2. Babel: Trans= piles ES6+ code to ES5 (ES6 and ES5 are different versions or generations o= f the JavaScript language)<br></div><div><br></div>Typescript has been a we= ll-known example of a transpiler that changed dramatically how people appro= ach programming on the front-end.<br><br>Current versions of Google's A= ngular are written in Typescript.=C2=A0<div><br></div><div>Deno was the nex= t step from Node -- again by embracing Typescript.</div><div><br></div><div= >Just my 2c.=C2=A0 :)<br><br>Dimitre<br><br></div></div><br><div class=3D"g= mail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Oct 11, 2021 at 5= :23 AM Roger L Costello <<a href=3D"mailto:[email protected]">costello@= mitre.org</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style= =3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding= -left:1ex">> SaxonCS is therefore built by generating C# from the Java s= ource code of SaxonJ <br> > using a custom transpiler, written in XSLT.<br> <br> What is a transpiler?<br> <br> I learned a new word today:<br> <br> Compiler: is an umbrella term to describe a program that takes source code = written in one language and produce a (or many) output file in some other l= anguage. In practice we mostly use this term to describe a compiler such as= gcc which takes in C code as input and produces a binary executable (machi= ne code) as output.<br> <br> Transpilers are also known as source-to-source compilers. So in essence the= y are a subset of compilers which take in a source code file and convert it= to another source code file in some other language or a different version = of the same language. The ouput is generally understandable by a human. Thi= s output still has to go through a compiler or interpreter to be able to ru= n on the machine.<br> <br> Some examples of transpilers:<br> <br> 1. Emscripten: Transpiles C/C++ to JavaScript<br> 2. Babel: Transpiles ES6+ code to ES5 (ES6 and ES5 are different versions o= r generations of the JavaScript language)<br> <br> <a href=3D"https://stackoverflow.com/questions/44931479/compiling-vs-transp= iling" rel=3D"noreferrer" target=3D"_blank">https://stackoverflow.com/quest= ions/44931479/compiling-vs-transpiling</a><br> <br> /Roger<br> <br> -----Original Message-----<br> From: Michael Kay <<a href=3D"mailto:mike-JkSD5nQpfvpWk0Htik3J/[email protected]" target=3D"_blank= ">mike-JkSD5nQpfvpWk0Htik3J/[email protected]</a>> <br> Sent: Wednesday, October 6, 2021 9:55 AM<br> To: Mailing list for the SAXON XSLT and XQuery processor <<a href=3D"mai= lto:[email protected]" target=3D"_blank">[email protected]= urceforge.net</a>><br> Subject: [EXT] [saxon] SaxonCS 11.0 is available<br> <br> We are pleased to announce the release of SaxonCS-EE 11.0 - Saxon Enterpris= e Edition for .NET 5.<br> <br> Details:<br> <br> Documentation: <a href=3D"https://www.saxonica.com/documentation11/index.ht= ml" rel=3D"noreferrer" target=3D"_blank">https://www.saxonica.com/documenta= tion11/index.html</a><br> Download: <a href=3D"https://www.saxonica.com/download/dotnet.xml" rel=3D"n= oreferrer" target=3D"_blank">https://www.saxonica.com/download/dotnet.xml</= a> (or search for SaxonCS on nuget)<br> <br> Previous products for .NET were built using IKVM to convert the Java byteco= de of the Java product (which we are now calling SaxonJ). IKVM doesn't = work with .NET Core or .NET 5, so we had to come up with a new approach; Sa= xonCS is therefore built by generating C# from the Java source code of Saxo= nJ using a custom transpiler, written in XSLT.<br> <br> As well as being our first product for .NET 5, this is also the first produ= ct built from the version 11 code base (SaxonJ 11 will follow). There are l= ots of new features, described in detail in the change history section of t= he documentation, but for most users support for .NET 5 will be the main re= ason for adoption. We've tested the product on .NET 5 running on Window= s, MacOS, and Linux.<br> <br> Licensing: being Enterprise Edition, a license key is required. Existing li= cense keys will work provided they have current upgrade rights. You can als= o get a 30-day evaluation license in the usual way. However, we're maki= ng a change to the licensing at the same time: from Saxon 11, we plan to of= fer term and/or subscription licenses only, rather than perpetual licenses.= The software is now in a mature phase where many users are looking for sta= bility and support rather than new features, and we feel that perpetual lic= enses encourage people to stay on old releases until they hit a support pro= blem, at which point it's hard for us to offer assistance. Much of the = industry has moved to term and subscription licensing, and we think this wi= ll work better. We'll be updating the online shop over the next few day= s.<br> <br> Compatibility and transition: the API for SaxonCS follows the design of the= old .NET API closely, but not slavishly. When we've seen where it can = be improved by breaking compatibility, we've improved it. (For example,= callbacks are typically now implemented as delegates rather than interface= s.) So some reworking of existing applications will be needed, but we hope = it won't be onerous. There are a few areas in which we haven't (yet= ) replicated the functionality of the old .NET product: the most obvious is= localization (number and date formatting), and we'll be addressing thi= s in later releases.<br> <br> Performance: initial results are very encouraging, but slightly inconsisten= t. Some things are faster than SaxonJ, some are slower, and we haven't = yet been able to establish a clear pattern. Please try it out on your own w= orkload and let us know how it goes.<br> <br> Michael Kay<br> Saxonica<br> <br> _______________________________________________<br> saxon-help mailing list archived at <a href=3D"http://saxon.markmail.org/" = rel=3D"noreferrer" target=3D"_blank">http://saxon.markmail.org/</a><br> <a href=3D"mailto:[email protected]" target=3D"_blank">saxon= [email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/saxon-help" rel=3D"= noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/= saxon-help</a> <br> <br> <br> _______________________________________________<br> saxon-help mailing list archived at <a href=3D"http://saxon.markmail.org/" = rel=3D"noreferrer" target=3D"_blank">http://saxon.markmail.org/</a><br> <a href=3D"mailto:[email protected]" target=3D"_blank">saxon= [email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/saxon-help" rel=3D"= noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/= saxon-help</a> <br> </blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"= class=3D"gmail_signature"><div>Cheers,</div><div>Dimitre Novatchev</div><d= iv>---------------------------------------</div><div>Truly great madness ca= nnot be achieved without significant intelligence.</div><div>--------------= -------------------------</div><div>To invent, you need a good imagination = and a pile of junk</div><div>-------------------------------------</div><di= v>Never fight an inanimate object</div><div>-------------------------------= ------</div><div>To avoid situations in which you might make mistakes may b= e the</div><div>biggest mistake of all</div><div>--------------------------= ----------</div><div>Quality means doing it right when no one is looking.</= div><div>-------------------------------------</div><div>You've achieve= d success in your field when you don't know whether what you're doi= ng is work or play</div><div>-------------------------------------</div><di= v>To achieve the impossible dream, try going to sleep.</div><div>----------= ---------------------------</div><div>Facts do not cease to exist because t= hey are ignored.</div><div>-------------------------------------</div><div>= Typing monkeys will write all Shakespeare's works in 200yrs.Will they w= rite all patents, too? :)</div><div>-------------------------------------</= div><div>Sanity is madness put to good use.</div><div>---------------------= ----------------</div><div>I finally figured out the only reason to be aliv= e is to enjoy it.</div><div>=C2=A0</div></div></div> --0000000000005f5a4405ce13cee6-- --===============4287656428395279623== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============4287656428395279623== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ saxon-help mailing list archived at http://saxon.markmail.org/ [email protected] https://lists.sourceforge.net/lists/listinfo/saxon-help --===============4287656428395279623==--