Profile

What's a good programming language for Bitcoiners to learn?

What's a good programming language for Bitcoiners to learn?

So you want to get started programming your own digital currency applications? What languages should you learn? In this short video, shot in Marjory Stoneman ...

Transcription

Chris: What's up party people? Chris DeRose, community director of the Counterparty Foundation and today I had a write in question from Michael White. Michael, thanks for your question. The question Michael asked was this, "What programming languages are good languages to learn when you are getting into the crypto business, when you are getting into cryptographic applications?" So, let's talk about that. So, I have been programming for a good while and every programmer has an opinion about what languages are the best ones. Personally I don't think that there are best languages but there are languages that are more suited for some purposes than others. And, you know I have used C, C++, I have used PHP, I have used Perl, I have used Python, I have used Ruby, and plenty more that I have not listed.

But I think that really the number one language for anybody right now who is learning to program, be it in the cryptospace or otherwise is javascript. Javascript hasn't had a lot of love over the years but they have really got a renaissance going on in the javascript world. The tools are coming along. We have Node now that lets you do anything on the server end. The APIs are wonderful and they have been making extensions to languages as well and added a lot of features that we have needed for quite some time. So it's a weird language and it had a weird start.

I think that it was the language that was made in two weeks or something. It was originally called javascript because at the time Java was new and they wanted to attach to that sort of marketing. But it has nothing to do with javascript. In fact you will see it called ECMAscript at this point, because it has really got nothing to do with Java at all. But the reason that I think that I recommend javascript over anything else for a beginner right now is that you can just be up and running immediately. Like you are watching this in a web browser right now and if you right click this window and you choose inspect, it will bring up a little console with all of the html codes in it and if you look there is a little javascript tab and if you click that tab you can start javascript right then and there.

You don't need to set anything up, it works on any laptop, it works in Firefox and Chrome and if you are using IE then you need to get off of that asap. But that's another video. But, yeah, javascript is really accessible so you don't have to worry about what ide you're going to use or if you need to learn a compiler, maybe you are on Windows and so you don't have a lot of good command line tools. Or you have to...

on and on and on, learn all these other packages. You can just start using it anywhere. So learn javascript, I think, right there in your web browser, play around. There are all kinds of cool web tutorials, and then once you get a little comfortable with the basics, go ahead and install Node on a system and start doing server side stuff. And, at that point you can start interfacing with a lot of the cryptographic tools out there. There are plenty of APIs that you can consume.

There are tons of objects that you can leverage and there are whole server backends that you can start working with. Counterparty itself is very well suited for javascript. The Counterparty API is a web API that communicates with the Counterparty D system. Bitcoin as well is that same architecture where by there is a http API that is all JSon based in terms of what you can request and what you receive. JSon is a javascript object notation, something like that, and it is an easy way to take data into your javascript app. So I think javascript is at the number one spot for anybody.

There is a lot of warts in Javascript, there have been a lot of complaints about javascript but accessibility isn't one of them and the friction to start isn't one of them. You can really learn so much about programming with javascript. So, Michael that's your best bet. Now, if for some reason you didn't like that answer I would say the next best answer in the crypto world is Python. Python is a great language. I think that there are some things about it that I am not crazy about.

I am really big into Ruby, but I will use Python. It definitely achieves a lot and it is very common in the crypto world. So, if you want to start contributing to other people's projects most of them are probably built in Python at this point. Go is a nice language as well but I don't think that it's great for beginners. Certainly, certainly look into javascript if you are really at your very start, and even if you are not at your very start and kind of have a little bit of exposure to crypto. Javascript is a really good tool set, a really good platform to start working on.

So, that's it. I appreciate the question and again I am Chris, Chris DeRose. You can visit my website at chrisderose.com you can send me an email or you can tweet me @derosetech. And keep those questions coming guys, I really appreciate it. Subscribe to the channel to, I would love to have you around.