Citrix XenApp and Citrix XenDesktop - Written in what programming language? - citrix

Any idea what language Citrix products are written in? (XenApp, formerly Metaframe and Presentation Server), XenDesktop, etc? I've been wondering this for years.

AFAIK, C, OCaml, Python.
OCaml and Python are mentioned there: http://caml.inria.fr/pub/ml-archives/caml-list/2009/07/36fee5f2c665901f2dc7d1b647c4eace.en.html.

I agree with the previous answer. Also, recent releases use C#. Notice how the NET Framework is a requirement for most of the Citrix installers. The web components are written in a combination of languages and frameworks including Javascript, ASP NET, and C#. The classic management console is written in Java and I think that most of the command line tools are written in C++.

Related

Is there a way to translate or migrate prg (foxpro) to sql language?

I have some programs (.prg) that operate using .dbf files, as i am migrating to postgresql (personal preferences) i really would like to know if there are ways to "translate" commands from one language to another.
Translating to python would be another possibility
Thank you
There isn't. Visual FoxPro the language is fairly tightly tied into its own object model, and when you start bringing UI elements into the equation the time and work involved in automatic migration means that it's always quicker to re-implement on the new platform.
If you're interested in Python you could take a look at Dabo. This is a Python framework aimed at desktop and web apps, but developed by some long-time Visual FoxPro experts. In that respect it is conceptually similar to Visual FoxPro in a lot of ways.
Dabo's authors, Ed Leafe and Paul McNett, have strong backgrounds in
database application development using the awesome and underrated
Microsoft Visual FoxPro development environment.
While Visual FoxPro shines at developing data-centric applications, it
has one limitation that cannot be ignored: it only runs on Microsoft
Windows, and Ed and Paul both have clients that want their
applications to run on Linux and Macintosh. We are sure we are not
alone in this regard: it is a multi-platform world with more diverse
needs than one vendor can fulfill.
Ed and Paul got to talking one day: Paul had been researching various
multiplatform GUI toolkits for about 18 months, and Ed has lots of
experience developing the Visual FoxPro Codebook framework. We decided
to work together to make a framework for developing robust
data-centric applications for multi-platform deployment. We've come up
with a design that is simple, flexible, and robust, and we've begun
developing our own client applications using the Dabo framework.

Script hosting in .Net 4.5

We were using IronRuby in our applications for some simple scripting of biz logic and rules.
We are trying to upgrade everything to .NET 4.5 - and our ScriptRuntime/IronRuby code is not happy with that. It does not lok like IronRuby has had a lot of traction lately, so we are wondering what would be a good scripting engine to switch to that is best supported by a .NET 4.5 environment. We prefer simple - the less third-party stuff we have to bring in the better. OUr scripts are also simple - not a big effort to convert.
Suggestions?
If converting your scripts to C# isn't a problem, I would recommend looking into the Microsoft "Roslyn" CTP and its Scripting API.
Because the .NET compiler developers are currently rebuilding their compilers in the Roslyn architecture and the Visual Studio team intends to consume the Roslyn compilers in the future, it's a safe bet that support for this scenario will remain for quite some time.
If you're not looking to consume the Roslyn architecture, you could also leverage Windows PowerShell by writing a custom host application that can execute PowerShell scripts that contain your business logic.

Migrating to Visual Basic to perl - working with user interfaces

I've been around Visual Basic for years in high school, and I've grown up with the IDE supplied by Microsoft. It'd wonderful, but the educational and "working-model" editions of VB available to me through school don't allow me to redistribute software, as part of the EULA with Microsoft.
I instead find myself working in perl to design programs for friends and family, and it works fairly well, but I don't have a firm grasp on building user interfaces yet. I understand I could design user-interfaces with tcl/tk for perl, but the notion of coding all of that by hand is a bit daunting to me. That brings me to my question.
Do you have any suggestions for a tool I could use that would allow me to build GUIs for my perl programs?
Thanks in advance!
In addition to what tsee suggested, you can have a look at :
Perl/Qt (using Qtdesigner) and Perl::GladeXML (using Glade)
With Glade and Qtdesigner, you can generate a XML file that will describe your user interface and it will be a matter of hooking your perl code to widget's events.
I don't think you will find something as simple and well integrated for Perl as the Visual Basic GUI builder. A couple of pointers:
wxGlade can be used to design GUIs for the Wx GUI toolkit (for Perl, not only Python).
For Win32::GUI, you can use the GUI Loft to achieve something similar.
I think there's a bunch of other GUI builders including at least one for Tk, but I don't remember the name.
Either way, I believe you will have to accept that you have to do more coding vs. designing when compared to VB. The upside is that if you use Tk or Wx, your programs may well be portable to all major operating systems.
For a Perl-specific development environment, you might want to check out Padre, which is itself written in Perl using Wx. It's under active development, so eventually, somebody will probably integrate a GUI builder, too.
Frankly, having thought about GUIs for years and never getting round to them, I've found the best way to distribute GUI apps with perl is to use Catalyst, its built in server and for windows users, distributing it with Strawberry Perl (the professional edition comes with Catalyst included). For Linux or Mac users a local::lib installation to pull in the required cpan modules. Optionally bundle in a copy of portable firefox if you want not to have the usual web development pain caused by internet explorer.
tl;dr; Sidestep the whole issue by going for web development with a framework that comes with its own standalone server.

What languages can be used to make dynamic websites?

So, there are several languages which will allow you to create a website, as long as you configure the server(s) well enough.
To my knowledge, there is:
PHP
ASP.NET
Ruby(on rails, what is
that all about?)
And thusly, my knowledge is limited. Ruby and ASP, I've only heard of, never worked with. If there are other languages, I suppose they have some way to make files containing the needed html. It would then suffice to add a line to the Apache config to associate the file-extension.
And if other languages: are there any notable characteristics about the one(s) you mention?
ANY language can be use to make a dynamic website - you could do it in COBOL or FORTRAN if you were twisted enough. Back in the olden days (about 10 years ago) most dynamic websites were done with CGI scripts - all you needed was a program that could read data from standard input and write data (usually HTML) to standard output.
Most modern languages have libraries and frameworks to make it easier. As well as the languages you have already mentioned, Java, C# and Python are probably the most common in use today.
Typically a web framework will have:
a way of mapping URLs to a class or function to handle the request
a mechanism for extracting data from a request and converting it into an easy to use form
a template system to easily create HTML by filling in the blanks
an easy way to access a database, such as an ORM
mechanisms to handle caching, redirections, errors etc
You can find a comparison of popular web frameworks on wikipedia.
How can you forget Java ? :)
Python
It runs on Windows, Linux/Unix, Mac OS X, and has been ported to the Java and .NET virtual machines.
Python is a perfect scripting language for web applications, e.g. via mod_python for the Apache web server. With Web Server Gateway Interface a standard API has been developed to facilitate these applications. Web application frameworks or application servers like Django, Pylons, TurboGears, web2py and Zope support developers in the design and maintenance of complex applications. Around libraries like NumPy, Scipy and Matplotlib, Python is a standard in scientific computing.
Among the users of Python are YouTube and the original BitTorrent client. Large organizations that make use of Python include Google, Yahoo!, CERN, NASA,and ITA.
This could be for your interest.
Virtually thru CGI all programming languages that produce output may use for web page generation.
Basically, you can use any language (if you are hosting your own server)
Very closely related and very interesting is this article where LISP has been used to build a very succesfull website.
Python has a 3rd party module CherryPy which can be used with or without a http server.
Amongst others: Erlang (YAWS, Mochiweb), Python
JSP has the advantage that it automatically wraps your code in a servlet, compiles that to bytecodes, then uses the just-in-time Java compiler to recompile critical sections into native object code. Not aware of any alternative which allows optimizes your work automatically in this way.
Also allows you to develop and deploy on any combination of Windows, Mac OS X, or Linux.
If you'd like to choose one for the beginning, you should check out PHP first. It gives you the basic clues about how dynamic sites work in general.
After you've become familiar with the basics, I recommend ASP.NET.
Fist off, you should know that ASP.NET is a technology and not a language. (It actually supports any language that can be used on the .NET platform.) Also it is not to be confused with classic ASP. (The old ASP was much more like PHP.)
ASP.NET is very easy to begin with, and after you have some clues about its concepts, you can always dig deeper and customize everything in it. The http://asp.net site is a very good starting point, if you are to learn it. I think it is really worth the effort, because even if you choose not to stick to it, it will give you some interesting ideas and concepts.
I tell you its most important advantages:
The code is compiled (and NOT interpreted like PHP), and it has a very good performance. (In a performace comparsion, it is 10-15 times faster. http://www.misfitgeek.com/pages/Perf_Stat_0809.htm)
It can be run on Windows without effort, and on Linux / Mac / etc using the Mono project.
It implements the Separation of Concerns principle very well.
It has most of the general functionality you'll need built-in. (Such as membership, roles, database management, and so on.)

Semantic Web Framework

What semantic web frameworks are there, and what are the advantages / disadvantages of each? I've made extensive use of Jena, and I have looked at Sesame briefly. Are there others I should consider as well?
Redland is a good RDF framework (just like Andreas said). I am mainly using its Python bindings and am installing it on Mac OS X via MacPorts (e.g., port install redland-bindings +python).
You could use it with other languages too (see its bindings for Perl, Ruby, ...).
For pointers to some larger lists of RDF frameworks see Semantic Web FAQ: Tools.
a more low-level appproach is redland, which provides bindings to a lot of languages like Perl, PHP, Python and Ruby. redland itself is written in C. i have scripted with it in ruby to provide a simple webservice with a rdf backend instead of a classic database.
http://www.cubicweb.org is a semantic web framework written in Python. It can be used to develop applications that serve content both to humans and computers, providing each with the format it asks for.
This question may be related to what-are-some-good-java-rdf-libraries
I would definitely take a look at Intellidimensions offerings if you are working on the Microsoft stack of technologies.
They have a mature SQL Server based framework for storing and processing (with rules) semantic web data. They also have a great .NET SDK that I have used extensively.
If you are using Java, and are interested in OWL inferencing, you should look at Pellet. It has bindings to Jena and the OWL-API, which itself, is a useful semweb framework.
The most web-centric I've seen so far is RAP (RDF API for PHP).