# \[POLL\] Programming language for OpenTransactions-like software

**URL:** <https://discourse.peercoin-library.org/t/poll-programming-language-for-opentransactions-like-software/2460>\
**Category:** Protocol\
**Created:** [June 3, 2014, 7:52am UTC](https://discourse.peercoin-library.org/t/poll-programming-language-for-opentransactions-like-software/2460 "2014-06-03T07:52:17Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![kactech](https://discourse.peercoin-library.org/letter_avatar_proxy/v4/letter/k/f05b48/32.png) [@kactech](https://discourse.peercoin-library.org/u/kactech)\
**Post date:** [June 3, 2014, 7:52am UTC](https://discourse.peercoin-library.org/t/poll-programming-language-for-opentransactions-like-software/2460/1 "2014-06-03T07:52:17Z")

</div>

Languages taken from [langpop](http://langpop.com/)

I’m trying to check if we’re able to start and maintain (zero-funds probably) simplified OpentTransactions-like project. Original OT is highly complicated and weights a ton, I’d like to cut off rich features and create small extendable testable core, directly suited to our needs, concentrating on:

- account transfer
- chaumian cash
- voting pool

Language requirements:

- [MOST IMPORTANT!] it have to be fun for you to code and test with it / you want to learn it
- key-value store and encryption libraries available
- networking/messaging framework available
- portability?

Please vote, max 2 votes per user, and post your choice and questions in the comment.  
Thanks!

P.

---

<div class="post-metadata">

**Author:** ![kactech](https://discourse.peercoin-library.org/letter_avatar_proxy/v4/letter/k/f05b48/32.png) [@kactech](https://discourse.peercoin-library.org/u/kactech)\
**Post date:** [June 3, 2014, 9:16am UTC](https://discourse.peercoin-library.org/t/poll-programming-language-for-opentransactions-like-software/2460/2 "2014-06-03T09:16:06Z")

</div>

Thanks for fist votes!  
Please post your choice also in comments. The choice isn’t obligation to participate in project, let’s just see if what where we are, what we can do and what we can learn from each other.  
Your post here can be helpful when there will be language specific task/bounty in other projects.

---

<div class="post-metadata">

**Author:** ![kactech](https://discourse.peercoin-library.org/letter_avatar_proxy/v4/letter/k/f05b48/32.png) [@kactech](https://discourse.peercoin-library.org/u/kactech)\
**Post date:** [June 4, 2014, 6:39pm UTC](https://discourse.peercoin-library.org/t/poll-programming-language-for-opentransactions-like-software/2460/3 "2014-06-04T18:39:19Z")

</div>

Python takes leading position, though differences are minimal!  
I coded some things in Python few years ago, nice lang.  
Even Lisp has a vote!

---

<div class="post-metadata">

**Author:** ![ppcman](https://discourse.peercoin-library.org/user_avatar/discourse.peercoin-library.org/ppcman/32/160_2.png) [@ppcman](https://discourse.peercoin-library.org/u/ppcman)\
**Post date:** [June 4, 2014, 8:34pm UTC](https://discourse.peercoin-library.org/t/poll-programming-language-for-opentransactions-like-software/2460/4 "2014-06-04T20:34:41Z")

</div>

Whoa, I really thought Perl was going to be on that list:

a) It has a huge repository [www.cpan.org](http://www.cpan.org) of plug-in modules which can make creating code really quick.

b) It’s easy to learn (similar to a combination of BASIC and Pascal)

c) It runs on “every thing” including Windows, Linux, Mac, even Android!

The only thing is that it can be a little slow, depending on what you’re doing. But the regex routines for searching is super fast. NXT people should have written their stuff in Perl, not Java.

Other wise my second choice is C++

---

<div class="post-metadata">

**Author:** ![kactech](https://discourse.peercoin-library.org/letter_avatar_proxy/v4/letter/k/f05b48/32.png) [@kactech](https://discourse.peercoin-library.org/u/kactech)\
**Post date:** [June 5, 2014, 5:16am UTC](https://discourse.peercoin-library.org/t/poll-programming-language-for-opentransactions-like-software/2460/5 "2014-06-05T05:16:43Z")

</div>

[quote=“ppcman, post:4, topic:2460”]Whoa, I really thought Perl was going to be on that list:

a) It has a huge repository [www.cpan.org](http://www.cpan.org) of plug-in modules which can make creating code really quick.

b) It’s easy to learn (similar to a combination of BASIC and Pascal)

c) It runs on “every thing” including Windows, Linux, Mac, even Android!

The only thing is that it can be a little slow, depending on what you’re doing. But the regex routines for searching is super fast. NXT people should have written their stuff in Perl, not Java.

Other wise my second choice is C++[/quote]  
Language war begins? No civil wars here! 😉  
Thanks, langs were taken from [langpop.com](http://langpop.com), I added Go. It’s an opportunity to learn new ones.

Perl on a list, Python lost first place. No dumps?

---

<div class="post-metadata">

**Author:** ![irritant](https://discourse.peercoin-library.org/user_avatar/discourse.peercoin-library.org/irritant/32/168_2.png) [@irritant](https://discourse.peercoin-library.org/u/irritant)\
**Post date:** [June 5, 2014, 5:43am UTC](https://discourse.peercoin-library.org/t/poll-programming-language-for-opentransactions-like-software/2460/6 "2014-06-05T05:43:56Z")

</div>

I’m not a programmer, but was always a fan of [haxe](http://haxe.org/)🙂

> Haxe is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities.

---

<div class="post-metadata">

**Author:** ![kactech](https://discourse.peercoin-library.org/letter_avatar_proxy/v4/letter/k/f05b48/32.png) [@kactech](https://discourse.peercoin-library.org/u/kactech)\
**Post date:** [June 5, 2014, 5:50am UTC](https://discourse.peercoin-library.org/t/poll-programming-language-for-opentransactions-like-software/2460/7 "2014-06-05T05:50:32Z")

</div>

[quote=“irritant, post:6, topic:2460”]I’m not a programmer, but was always a fan of [haxe](http://haxe.org/)🙂

> Haxe is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities.

[/quote]It's the first I've heard of it, added.

---

<div class="post-metadata">

**Author:** ![kactech](https://discourse.peercoin-library.org/letter_avatar_proxy/v4/letter/k/f05b48/32.png) [@kactech](https://discourse.peercoin-library.org/u/kactech)\
**Post date:** [June 7, 2014, 4:59am UTC](https://discourse.peercoin-library.org/t/poll-programming-language-for-opentransactions-like-software/2460/8 "2014-06-07T04:59:57Z")

</div>

Ok, now we have the new [new… hmmm] leader that starts with “C” 🙂

If you’re curious what’s ~whole OT thing about, [Truledger docs](http://truledger.com/doc/plain-english.html) [Bill St. Clair] shows, more or less, how OT accounting looks like. Yup, it isn’t as scary as you may thought!  
Differences[some]:

- with OT you fetch transaction number pool separately (in Truledger it’s part of reply to getinbox request)
- OT has the Nymbox - mailbox for server responses = you have to confirm that you received replies
- OT has advanced and extendable authentication/authorization layer
- Truledger has “Usage tokens”, OT doesn’t

* * *

Whatever language will be chosen, it would be good to code in the same time JavaScript implementation imo- for web browsers and cross-tests.

---

<div class="post-metadata">

**Author:** ![pillow](https://discourse.peercoin-library.org/letter_avatar_proxy/v4/letter/p/a8b319/32.png) [@pillow](https://discourse.peercoin-library.org/u/pillow)\
**Post date:** [June 7, 2014, 10:09am UTC](https://discourse.peercoin-library.org/t/poll-programming-language-for-opentransactions-like-software/2460/9 "2014-06-07T10:09:28Z")

</div>

[quote=“kac-, post:1, topic:2460”]Languages taken from [langpop](http://langpop.com/)  
…create small extendable testable core…

Language requirements:

- [MOST IMPORTANT!] it have to be fun for you to code and test with it / you want to learn it
- key-value store and encryption libraries available
- networking/messaging framework available
- portability?[/quote]

My vote is on JavaScript because, it takes no time to setup the programming environment. No need to port it, since it already runs on on many platforms. You can do much in little code, without loosing readability (if you do it right) and full-fills all of the language requirements mentioned above.

Many people already know JavaScript, so getting people to build on-top or extend the pot-lib (peercoin open transactions… what did you think? ;)) is probably easy.

I would very much like to see this project someday be used together with [http://openbazaar.org/](http://openbazaar.org/) (which I believe it developed in python).

Extremely interesting project!!!
