All Projects → xsawyerx → Xs Fun

xsawyerx / Xs Fun

XS is fun: a simple and easy tutorial on writing Perl XS

Programming Languages

c
50402 projects - #5 most used programming language
perl
6916 projects

Projects that are alternatives of or similar to Xs Fun

Awesome React Native Web
💙 React Native Web patterns, techniques, tips, and tricks ✨
Stars: ✭ 215 (+59.26%)
Mutual labels:  documentation, tutorial
Site
🎓 Rust Programming Language Tutorials for Everyone!
Stars: ✭ 786 (+482.22%)
Mutual labels:  documentation, tutorial
Fullstackpython.com
Full Stack Python source with Pelican, Bootstrap and Markdown.
Stars: ✭ 2,667 (+1875.56%)
Mutual labels:  documentation, tutorial
Book
文言陰符 An Introduction to Programming in Wenyan Language
Stars: ✭ 194 (+43.7%)
Mutual labels:  documentation, tutorial
Rust By Example Ext
Rust by Example -- Extended Edition
Stars: ✭ 56 (-58.52%)
Mutual labels:  documentation, tutorial
Doc
🦋 Raku documentation (tools and docs)
Stars: ✭ 259 (+91.85%)
Mutual labels:  documentation, tutorial
Crystal Book
Crystal docs at https://crystal-lang.org/reference
Stars: ✭ 275 (+103.7%)
Mutual labels:  documentation, tutorial
Haxejs
Documentation about using JavaScript with Haxe
Stars: ✭ 25 (-81.48%)
Mutual labels:  documentation, tutorial
Vue Tut
Easily build beautiful tutorials with Vue
Stars: ✭ 43 (-68.15%)
Mutual labels:  documentation, tutorial
Office automation dev
Python自动化代码模板、开发文档
Stars: ✭ 21 (-84.44%)
Mutual labels:  documentation, tutorial
Github Bot Tutorial
GitHub bot tutorial using gidgethub and aiohttp
Stars: ✭ 67 (-50.37%)
Mutual labels:  documentation, tutorial
Opensource.guide
📚 Community guides for open source creators
Stars: ✭ 9,460 (+6907.41%)
Mutual labels:  documentation, tutorial
Numpy Cn
NumPy官方中文文档(完整版)
Stars: ✭ 1,570 (+1062.96%)
Mutual labels:  documentation, tutorial
Your first decentralized application python
An up to date and bare minimum tutorial on deploying smart contracts with python
Stars: ✭ 132 (-2.22%)
Mutual labels:  tutorial
Documentation
Stars: ✭ 133 (-1.48%)
Mutual labels:  documentation
Data Science In Tidyverse
Data Science in the tidyverse, a two-day workshop @ rstudio:conf(2018)
Stars: ✭ 132 (-2.22%)
Mutual labels:  tutorial
Common Lisp By Example
Repo for Common Lisp by Example
Stars: ✭ 131 (-2.96%)
Mutual labels:  tutorial
Yard
YARD is a Ruby Documentation tool. The Y stands for "Yay!"
Stars: ✭ 1,735 (+1185.19%)
Mutual labels:  documentation
Elasticsearch tutorial
An action-packed, example-based ElasticSearch tutorial
Stars: ✭ 133 (-1.48%)
Mutual labels:  tutorial
Re Learn
A library for integrating tutorials into your re-frame/reagent application
Stars: ✭ 131 (-2.96%)
Mutual labels:  tutorial

XS Fun

Any XS guru will tell you XS is easy. I've heard this many times. While it may be true, I realized one thing: XS can be scary.

The purpose of this guide is to make XS fun. Yes, fun. Try it out, if you won't feel as exhilarated as I do as you make your way up the stairs of XS knowledge, I will fully reimburse your tuition.

Ground rules

  1. We use a template instead of h2xs.
  2. We do not bundle an additional C library.
  3. We assume you have at least Perl 5.14.2.

These are the best bits of advice I've received so far and they've proven to be crucial.

h2xs is old and crufty, and thus far seems more like a hurdle. Instead, this guide includes a skeleton for each exercise that you can copy and use each time you start a new project.

Bundling additional C libraries requires hacks with ExtUtils::MakeMaker (which is a war in and of itself), including tab character nightmares and additional recursive Makefiles. One way around the obvious "you need to have this library installed" problem is to provide an Alien package. This guide might go over it at some point but makes no promises.

Eliminating the use of h2xs and bundling any C libraries we use (that we haven't written by ourselves) removes a lot of needless complexity.

Perl 5.14.2 is prevalent enough to consider it a starting ground, though at this point it is not yet necessarily important.

Relevant resources

More advanced or specialized resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].