thoughts…

rants and bookmarks about programming stuff…


A study on scripting language APIs

A study on scripting language APIs

“Applications written in two programming languages, in order to optimize parts where performance is critical or to obtain extensibility through user-written scripts, are common-place nowadays. There are several ways to obtain this kind of interoperability; ideally, however, a language should provide a foreign language interface (FLI), allowing programmers to send and receive both data and function calls to code written in another language. This work discusses the main issues involving the design of APIs for integration of language environments within C applications. We present the main problems faced in the interaction between code executed in an environment with inherently dynamic characteristics such as a scripting language and C code. We compare approaches employed by five languages when handling communication between the data spaces of C and embedded runtime environments and the consequences of these approaches in memory management, as well as sharing of code between the C application and that from the scripting language. We illustrate the diferences of the APIs of those languages and their impact in the resulting code of a C application through a case study. Diferent scripting languages were embedded as plugins for a library, which on its turn exposes to client applications a generic scripting API. This way, the code of each plugin allows us to observe in a clear and isolated way the procedures adopted by each language for function calls, registration of C functions and conversion of data between the environments.”


Why Did I Choose Perl When Building Crowdtilt

“At Crowdtilt most of our system has been built using Perl. When I get asked about our technolog stack and mention Perl, I often get surprised looks followed by “Oh! wow, why?” :) . In this post, I will outline some of the most important reasons we chose to go with Perl, and hopefully clarify some of the misconceptions surrounding Perl and the Perl community.

While it is enough that I have a blast using Perl and love the people in the Perl community, here is my attempt to explain a few of the reasons why my team and I decided to use Perl to build Crowdtilt…”

http://dsog.info/blog/Perl/Hacking/Technology/2012/08/31/why-did-i-choose-perl-for-crowdtilt/


Leave a comment

Perl secret operators and constants

“The Perl “secret operators” have been discovered (or created) by Perl obfuscators and golfers, usually when looking for a shorter way to perform a given operation. Secret operators are not actually secret, and they are not actually operators either. The perl parser does not specifically recognise them, and no one is trying to hide them from you. But they are like operators in the sense that these Perl programmers see them often enough to recognize them without thinking about their smaller parts, and eventually add them to their toolbox. And they are like secrets in the sense that they have to be discovered by their future user (or be transmitted by a fellow programmer), because they are not explicitly documented…”

http://search.cpan.org/~book/perlsecret-1.001/lib/perlsecret.pod#NAME


Leave a comment

What is Modern Perl?

“After a gap of twelve years, a new edition of Programming Perl (affectionately known as “the Camel book” to its many fans) was published earlier this year. That came as quite a surprise to many people who had given up on seeing a new edition.  What has changed in the new edition? Does the book now cover Modern Perl? The answer depends on what you mean by the term “Modern Perl”…

The Perl of 2012 is substantially different to the Perl of 2000. But many people don’t seem to realise that. Because the definitive Perl reference book hasn’t been updated, it’s easy to believe that Perl itself hasn’t been updated. On various mailing lists and web sites I constantly come across people who write Perl like it’s still 2000 (or, in many cases, even earlier). Their code still works, of course, but because they haven’t been keeping up with the way that Perl has evolved they aren’t using many tools and techniques which would make their lives easier…”

http://www.josetteorama.com/perl/what-is-modern-perl/


Leave a comment

An Introduction to Application Development with Catalyst and Perl

“Catalyst is the latest in the evolution of open-source Web development frameworks. Written in modern Perl and inspired by many of the projects that came before it, including Ruby on Rails, Catalyst is elegant, powerful and refined. It’s a great choice for creating any Web-based application from the simple to the very complex.

Like many other popular Perl-based projects, Catalyst has a strong focus on flexibility and choice. Catalyst is especially powerful because it provides an abundance of features and the core environment, structure and interfaces on which virtually anything can be built without forcing you to do things in any particular way…”

http://www.linuxjournal.com/content/introduction-application-development-catalyst-and-perl


Leave a comment

Autovivification

Autovivification is a distinguishing feature of the Perl programming language involving the dynamic creation of data structures. Autovivification is the automatic creation of a variable reference when an undefined value is dereferenced. In other words, Perl autovivification allows a programmer to refer to a structured variable, and arbitrary sub-elements of that structured variable, without expressly declaring the existence of the variable and its complete structure beforehand…”

https://en.wikipedia.org/wiki/Autovivification

http://www.sysarch.com/Perl/autoviv.txt

http://perldoc.perl.org/perl561delta.html#File-and-directory-handles-can-be-autovivified

Follow

Get every new post delivered to your Inbox.

Join 523 other followers