Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: uMMcQxCWELNzkt on November 12, 2013, 07:44:19 AM



Title: Learning to code for crytocurrency?
Post by: uMMcQxCWELNzkt on November 12, 2013, 07:44:19 AM
Yesterday I decided to try out Linux for the fist time, I really like the OS and I also feel spurred on to to learn some programming skills which is one area that holds my projects back. I have been searching around in various crypto related source files but I am finding it difficult to pin point what programming language is actually being used in most cases?

So what language would you recommend for a new programmer interested in cryto-currency, which is also most relevant to future development as HTML5 is for web? Also perhaps you could recommend some learning resources you found useful learning? Thanks.


Title: Re: Learning to code for crytocurrency?
Post by: kokjo on November 12, 2013, 07:45:54 AM
its very important that you understand and can write APL code.


Title: Re: Learning to code for crytocurrency?
Post by: uMMcQxCWELNzkt on November 12, 2013, 08:57:09 AM
its very important that you understand and can write APL code.

Thank, I have found some tuts on YouTube which might help. I am assuming most Bitcoin source uses a mix of various languages?


Title: Re: Learning to code for crytocurrency?
Post by: kokjo on November 12, 2013, 08:59:16 AM
its very important that you understand and can write APL code.

Thank, I have found some tuts on YouTube which might help. I am assuming most Bitcoin source uses a mix of various languages?
no only APL and perl.


Title: Re: Learning to code for crytocurrency?
Post by: simondlr on November 12, 2013, 09:00:44 AM
Yesterday I decided to try out Linux for the fist time, I really like the OS and I also feel spurred on to to learn some programming skills which is one area that holds my projects back. I have been searching around in various crypto related source files but I am finding it difficult to pin point what programming language is actually being used in most cases?

So what language would you recommend for a new programmer interested in cryto-currency, which is also most relevant to future development as HTML5 is for web? Also perhaps you could recommend some learning resources you found useful learning? Thanks.

Start with basic concepts if you haven't yet. These are great.
http://codecombat.com
http://codecademy.com
https://www.khanacademy.org/cs/programming

It's going to be multi-year journey. Don't be discouraged. Start small, tweak, break things and see why it happens.

For crypto-currency? The satoshi client (the official client) is written in C++. That's going to be difficult to learn to start with. The other one, which will be easier to delve into is the coinpunk wallet, which is written in JavaScript (http://coinpunk.org/beta.html). Javascript has grown tremendously in the past few years and there are various tools and frameworks using javascript. But you don't need to know the language of the client to code with crypto-currencies (or interact with the blockchain).

Good luck!


Title: Re: Learning to code for crytocurrency?
Post by: jarhed on November 12, 2013, 09:10:16 AM
Java
https://code.google.com/p/bitcoinj/


Title: Re: Learning to code for crytocurrency?
Post by: BitcoinWalker on November 12, 2013, 09:26:18 AM
You should learn how to speak basic C and C++, and then STL and Boost stuff.


Title: Re: Learning to code for crytocurrency?
Post by: uMMcQxCWELNzkt on November 12, 2013, 10:06:14 AM
I think I will start by learning some basics from Java and C+. :)


Title: Re: Learning to code for crytocurrency?
Post by: corebob on November 12, 2013, 06:38:19 PM
I would suggest Go

Learning to write C++ well is 10-20 years of pain and hard work.
Nothing wrong with getting your feet wet but you should be aware of that.

C however is much easier to get a proper handle on, but then you have to consider using Go instead.
With Go you get the mix of a system level language with high priority on web technology.

On the Linux platform, I find QtCreator to be the superior development environment for C/C++

For Go, Sublime Text with the GoSublime addon is excellent


Title: Re: Learning to code for crytocurrency?
Post by: bluemeanie1 on November 12, 2013, 08:43:37 PM
its very important that you understand and can write APL code.

Thank, I have found some tuts on YouTube which might help. I am assuming most Bitcoin source uses a mix of various languages?
no only APL and perl.

sed and awk are super hot right now too.  :)


Title: Re: Learning to code for crytocurrency?
Post by: kokjo on November 12, 2013, 08:52:37 PM
its very important that you understand and can write APL code.

Thank, I have found some tuts on YouTube which might help. I am assuming most Bitcoin source uses a mix of various languages?
no only APL and perl.

sed and awk are super hot right now too.  :)
true, and all the network code is written in bash with nc.


Title: Re: Learning to code for crytocurrency?
Post by: inform on November 12, 2013, 08:59:46 PM
this is awsome must know what and how coding this i think


Title: Re: Learning to code for crytocurrency?
Post by: DannyHamilton on November 12, 2013, 09:19:49 PM
its very important that you understand and can write APL code.
no only APL and perl.
sed and awk are super hot right now too.  :)
true, and all the network code is written in bash with nc.

I can't help wondering how many people don't realize that you are being sarcastic and facetious.



Title: Re: Learning to code for crytocurrency?
Post by: bluemeanie1 on November 13, 2013, 03:52:50 AM
its very important that you understand and can write APL code.
no only APL and perl.
sed and awk are super hot right now too.  :)
true, and all the network code is written in bash with nc.

I can't help wondering how many people don't realize that you are being sarcastic and facetious.



probably very few people, which makes it that much more funny.

http://img004.lazyboys.info/people/bill_gates/bill_gates_bill_gates_throwing_floppy_disk_tayvXfDO.sized.jpg


Title: Re: Learning to code for crytocurrency?
Post by: superresistant on November 13, 2013, 09:46:15 AM
its very important that you understand and can write APL code.
no only APL and perl.
sed and awk are super hot right now too.  :)
true, and all the network code is written in bash with nc.
I can't help wondering how many people don't realize that you are being sarcastic and facetious.

So he wants to learn and ask for advices and everyone tell him bullshit ?


Title: Re: Learning to code for crytocurrency?
Post by: uMMcQxCWELNzkt on November 13, 2013, 01:08:53 PM
its very important that you understand and can write APL code.
no only APL and perl.
sed and awk are super hot right now too.  :)
true, and all the network code is written in bash with nc.
I can't help wondering how many people don't realize that you are being sarcastic and facetious.

So he wants to learn and ask for advices and everyone tell him bullshit ?

Its cool, I could see that it was unsupported (old?) and it is a language I have never heard off. I am looking at into Java for now.


Title: Re: Learning to code for crytocurrency?
Post by: bluemeanie1 on November 13, 2013, 07:20:13 PM
its very important that you understand and can write APL code.
no only APL and perl.
sed and awk are super hot right now too.  :)
true, and all the network code is written in bash with nc.
I can't help wondering how many people don't realize that you are being sarcastic and facetious.

So he wants to learn and ask for advices and everyone tell him bullshit ?

Its cool, I could see that it was unsupported (old?) and it is a language I have never heard off. I am looking at into Java for now.

in all seriousness, I'm working on a Open Source cryptocurrency project using Java.  If you'd like to be involved I'd be happy to work with you.


Title: Re: Learning to code for crytocurrency?
Post by: Sukrim on November 13, 2013, 07:32:50 PM
It is a little bit less about the language but more about what you say and how you say it so to speak.

Make sure you know how to code securely and how to deal with monetary representations in code (hint: NO FLOATS, EVER!). The language itself is not that important, bitcoind for example has an RPC interface that is interfaceable with nearly any language anyways, so you can focus on what you build and not with what you are building it.


Title: Re: Learning to code for crytocurrency?
Post by: uMMcQxCWELNzkt on November 13, 2013, 07:34:18 PM
in all seriousness, I'm working on a Open Source cryptocurrency project using Java.  If you'd like to be involved I'd be happy to work with you.

Do you have any info on the project? Also bear in mind I am a complete novice using java etc. I do however have lots of experience with branding and design related stuff.


Title: Re: Learning to code for crytocurrency?
Post by: bluemeanie1 on November 13, 2013, 07:36:43 PM
in all seriousness, I'm working on a Open Source cryptocurrency project using Java.  If you'd like to be involved I'd be happy to work with you.

Do you have any info on the project? Also bear in mind I am a complete novice using java etc. I do however have lots of experience with branding and design related stuff.

sure,

https://docs.google.com/file/d/0BwUFHE6KYsM0ZkxLVmFwbXQ3ck0/edit?disco=AAAAAGe8sYM
https://docs.google.com/document/d/1cKlN55wX7n0SLvxidLoFVrJnNMJO-Iefr8bVyeHBseg/edit
https://docs.google.com/document/d/1BcFv1UYPK3AOLrcL0ujiIzhr-c7fcs8mY9pASIlI8hM/edit

not yet launched: http://www.altchain.org

if you can demonstrate that you can comprehend those papers you certainly can be useful.

thanks Owen!


Title: Re: Learning to code for crytocurrency?
Post by: Stake on November 14, 2013, 06:52:32 AM
its very important that you understand and can write APL code.
no only APL and perl.
sed and awk are super hot right now too.  :)
true, and all the network code is written in bash with nc.

I can't help wondering how many people don't realize that you are being sarcastic and facetious.



probably very few people, which makes it that much more funny.

http://img004.lazyboys.info/people/bill_gates/bill_gates_bill_gates_throwing_floppy_disk_tayvXfDO.sized.jpg

I'm an ex-PHP and now node.js / rails developer and didn't even know what APL was, lol...


Title: Re: Learning to code for crytocurrency?
Post by: corebob on November 14, 2013, 10:59:03 AM
in all seriousness, I'm working on a Open Source cryptocurrency project using Java.  If you'd like to be involved I'd be happy to work with you.

Do you have any info on the project? Also bear in mind I am a complete novice using java etc. I do however have lots of experience with branding and design related stuff.

sure,

https://docs.google.com/file/d/0BwUFHE6KYsM0ZkxLVmFwbXQ3ck0/edit?disco=AAAAAGe8sYM
https://docs.google.com/document/d/1cKlN55wX7n0SLvxidLoFVrJnNMJO-Iefr8bVyeHBseg/edit
https://docs.google.com/document/d/1BcFv1UYPK3AOLrcL0ujiIzhr-c7fcs8mY9pASIlI8hM/edit

not yet launched: http://www.altchain.org

if you can demonstrate that you can comprehend those papers you certainly can be useful.

thanks Owen!

Is there a online repository for this?
You think java is the best fit for the protocol/daemon itself?


Title: Re: Learning to code for crytocurrency?
Post by: extro24 on November 14, 2013, 06:13:20 PM
Owen

Some of these posts will confuse you.  You need to look at the languages of Bitcoin.

The Bitcoin client is written in C++.  Bitcoin-Qt is also written in C++ but compiled using QtCreator.  Like corebob said, C++ is 20 years of pain and suffering but you have to know it.  It is the hard core engineering language.  No quarter given and no prisoners taken.

Bitcoin transactions are written in Script, which is a form of Forth.  You can download gforth and play with it.

To actually understand how object orientated code works, I would recommend Python.  An easy language to understand.

Java is useful in a web/Internet environment but not really relevant to Bitcoin.


For a gentle introduction to Linux I would go with Lubuntu.




Title: Re: Learning to code for crytocurrency?
Post by: bluemeanie1 on November 14, 2013, 06:20:10 PM
in all seriousness, I'm working on a Open Source cryptocurrency project using Java.  If you'd like to be involved I'd be happy to work with you.

Do you have any info on the project? Also bear in mind I am a complete novice using java etc. I do however have lots of experience with branding and design related stuff.

sure,

https://docs.google.com/file/d/0BwUFHE6KYsM0ZkxLVmFwbXQ3ck0/edit?disco=AAAAAGe8sYM
https://docs.google.com/document/d/1cKlN55wX7n0SLvxidLoFVrJnNMJO-Iefr8bVyeHBseg/edit
https://docs.google.com/document/d/1BcFv1UYPK3AOLrcL0ujiIzhr-c7fcs8mY9pASIlI8hM/edit

not yet launched: http://www.altchain.org

if you can demonstrate that you can comprehend those papers you certainly can be useful.

thanks Owen!

Is there a online repository for this?
You think java is the best fit for the protocol/daemon itself?



No not yet, I will announce though when it's released.  It will be open source with one of the well accepted FLOSS licenses(haven't decided which one yet).

I like Java because that's what they use in Finance, it's the most useful language, and they have well validated Crypto libraries.  Also it runs on virtually any platform, it's fast, and lots of people know how to use it.

You will be able to build a trader bot quite easily in Python though.

Do you think Java would be an issue?

-bm


Title: Re: Learning to code for crytocurrency?
Post by: corebob on November 14, 2013, 07:25:08 PM
in all seriousness, I'm working on a Open Source cryptocurrency project using Java.  If you'd like to be involved I'd be happy to work with you.

Do you have any info on the project? Also bear in mind I am a complete novice using java etc. I do however have lots of experience with branding and design related stuff.

sure,

https://docs.google.com/file/d/0BwUFHE6KYsM0ZkxLVmFwbXQ3ck0/edit?disco=AAAAAGe8sYM
https://docs.google.com/document/d/1cKlN55wX7n0SLvxidLoFVrJnNMJO-Iefr8bVyeHBseg/edit
https://docs.google.com/document/d/1BcFv1UYPK3AOLrcL0ujiIzhr-c7fcs8mY9pASIlI8hM/edit

not yet launched: http://www.altchain.org

if you can demonstrate that you can comprehend those papers you certainly can be useful.

thanks Owen!

Is there a online repository for this?
You think java is the best fit for the protocol/daemon itself?



No not yet, I will announce though when it's released.  It will be open source with one of the well accepted FLOSS licenses(haven't decided which one yet).

I like Java because that's what they use in Finance, it's the most useful language, and they have well validated Crypto libraries.  Also it runs on virtually any platform, it's fast, and lots of people know how to use it.

You will be able to build a trader bot quite easily in Python though.

Do you think Java would be an issue?

-bm

I have to admit I don't like the idea of using java at the lowest level.
With its virtual machine requirement and the binary blob most users is running on Windows.
The whole thing just smells bad. On the other hand it might attract quite a few developers. And is is a very productive language imo.

Personally I think Go, or even C, is a good fit. C might even attract some good developers as well.

That said, its not a big deal. I'll probably play around making a prototype in Go if the whitepaper solves the different issues well  ;)


Title: Re: Learning to code for crytocurrency?
Post by: bluemeanie1 on November 14, 2013, 07:36:13 PM
in all seriousness, I'm working on a Open Source cryptocurrency project using Java.  If you'd like to be involved I'd be happy to work with you.

Do you have any info on the project? Also bear in mind I am a complete novice using java etc. I do however have lots of experience with branding and design related stuff.

sure,

https://docs.google.com/file/d/0BwUFHE6KYsM0ZkxLVmFwbXQ3ck0/edit?disco=AAAAAGe8sYM
https://docs.google.com/document/d/1cKlN55wX7n0SLvxidLoFVrJnNMJO-Iefr8bVyeHBseg/edit
https://docs.google.com/document/d/1BcFv1UYPK3AOLrcL0ujiIzhr-c7fcs8mY9pASIlI8hM/edit

not yet launched: http://www.altchain.org

if you can demonstrate that you can comprehend those papers you certainly can be useful.

thanks Owen!

Is there a online repository for this?
You think java is the best fit for the protocol/daemon itself?



No not yet, I will announce though when it's released.  It will be open source with one of the well accepted FLOSS licenses(haven't decided which one yet).

I like Java because that's what they use in Finance, it's the most useful language, and they have well validated Crypto libraries.  Also it runs on virtually any platform, it's fast, and lots of people know how to use it.

You will be able to build a trader bot quite easily in Python though.

Do you think Java would be an issue?

-bm

I have to admit I don't like the idea of using java at the lowest level.
With its virtual machine requirement and the binary blob most users is running on Windows.
The whole thing just smells bad. On the other hand it might attract quite a few developers. And is is a very productive language imo.

Personally I think Go, or even C, is a good fit. C might even attract some good developers as well.

That said, its not a big deal. I'll probably play around making a prototype in Go if the whitepaper solves the different issues well  ;)

C is a horrible platform for this.  The crypto libraries are notoriously difficult to support on many platforms.  Most financial devs use Java.  Most of the current financial world is running Java with a small amount of Python.  The legacy code is mainly C/C++ and some other relics like COBOL.

Java is pretty easy to manage and practically anyone can install it on their machine with a few clicks.

I will post here when things are approachable for the general public.  Thanks for your interest.

-bm



Title: Re: Learning to code for crytocurrency?
Post by: daybyter on November 15, 2013, 03:21:13 PM

in all seriousness, I'm working on a Open Source cryptocurrency project using Java.  If you'd like to be involved I'd be happy to work with you.

Really? Cool! Me too...


Title: Re: Learning to code for crytocurrency?
Post by: kokjo on November 15, 2013, 07:24:46 PM
Bitcoin-Qt is also written in C++ but compiled using QtCreator.
WTF!!  ??? Do you even know what you are talking about, do you even know what compiling means?


Title: Re: Learning to code for crytocurrency?
Post by: bluemeanie1 on November 15, 2013, 07:27:15 PM

in all seriousness, I'm working on a Open Source cryptocurrency project using Java.  If you'd like to be involved I'd be happy to work with you.

Really? Cool! Me too...


If you know Java, have a look at those papers in my forum signature.  If you can show you comprehend that to some degree, lets do lunch. :)


Title: Re: Learning to code for crytocurrency?
Post by: daybyter on November 15, 2013, 08:27:05 PM
I write trading stuff...

I already released some sources:

https://github.com/ReAzem/cryptocoin-tradelib

and got some code running:

https://i.imgur.com/OoP0aNo.jpg

https://i.imgur.com/xpqoqnk.png

https://i.imgur.com/MqHfF.jpg

I guess, I'm too far away to visit for lunch, but thanks! :)

Ciao,
Andreas


Title: Re: Learning to code for crytocurrency?
Post by: bluemeanie1 on November 15, 2013, 08:35:55 PM
I write trading stuff...

I already released some sources:

https://github.com/ReAzem/cryptocoin-tradelib

and got some code running:

https://i.imgur.com/OoP0aNo.jpg

https://i.imgur.com/xpqoqnk.png

https://i.imgur.com/MqHfF.jpg

I guess, I'm too far away to visit for lunch, but thanks! :)

Ciao,
Andreas



looks great Andreas.  What do you think of Buttercoin?


Title: Re: Learning to code for crytocurrency?
Post by: daybyter on November 15, 2013, 08:42:35 PM
Thanks!


Never heard of buttercoin, so I cannot really comment on it. Isn't there a bot, called butterbot, or so?


Title: Re: Learning to code for crytocurrency?
Post by: bluemeanie1 on November 15, 2013, 08:54:21 PM
Thanks!


Never heard of buttercoin, so I cannot really comment on it. Isn't there a bot, called butterbot, or so?

have a look:  http://buttercoin.com/

it's an open source (non-decentralized) exchange.

don't know the status of it, never used it, have no credible information on it.

-bm


Title: Re: Learning to code for crytocurrency?
Post by: daybyter on November 15, 2013, 09:04:44 PM
I'm interested in launching an exchange (p2p), but my least problem would be the code. The regulations here are the problem (Bafin etc). That's the showstopper... :(


Title: Re: Learning to code for crytocurrency?
Post by: bluemeanie1 on November 15, 2013, 09:37:56 PM
I'm interested in launching an exchange (p2p), but my least problem would be the code. The regulations here are the problem (Bafin etc). That's the showstopper... :(


note that Buttercoin has funding from major VC.  here's why:

http://img850.imageshack.us/img850/1959/q7fn.png