Bitcoin Forum
March 28, 2024, 08:24:17 PM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 [All]
  Print  
Author Topic: Learning to program on the blockchain?  (Read 5234 times)
Skrodk (OP)
Newbie
*
Offline Offline

Activity: 45
Merit: 0


View Profile
August 29, 2017, 09:08:14 AM
 #1

So, I have absolutely no programming experience.

But I find the blockchain technology incredibly exciting, and I would like to learn at least how to use it to a certain extend, I realize im not going to become an expert overnight, but where do i start?
1711657457
Hero Member
*
Offline Offline

Posts: 1711657457

View Profile Personal Message (Offline)

Ignore
1711657457
Reply with quote  #2

1711657457
Report to moderator
1711657457
Hero Member
*
Offline Offline

Posts: 1711657457

View Profile Personal Message (Offline)

Ignore
1711657457
Reply with quote  #2

1711657457
Report to moderator
Bitcoin mining is now a specialized and very risky industry, just like gold mining. Amateur miners are unlikely to make much money, and may even lose money. Bitcoin is much more than just mining, though!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1711657457
Hero Member
*
Offline Offline

Posts: 1711657457

View Profile Personal Message (Offline)

Ignore
1711657457
Reply with quote  #2

1711657457
Report to moderator
1711657457
Hero Member
*
Offline Offline

Posts: 1711657457

View Profile Personal Message (Offline)

Ignore
1711657457
Reply with quote  #2

1711657457
Report to moderator
1711657457
Hero Member
*
Offline Offline

Posts: 1711657457

View Profile Personal Message (Offline)

Ignore
1711657457
Reply with quote  #2

1711657457
Report to moderator
aleksej996
Sr. Member
****
Offline Offline

Activity: 490
Merit: 389


Do not trust the government


View Profile
August 29, 2017, 10:58:13 AM
 #2

You should probably start by getting some programing experience. I guess you could learn about C first a bit. You can't really understand blockchain that well if you don't know what are linked lists and some cryptography about hashes and public keys. You need to know about assembly language a bit, to understand stacks if you wish to understand Bitcoin transactions in detail, since they are like little programs on their own (scripts to be exact).

Read some beginner books about C programing. Then read up a bit about hashes and public key cryptography. Then maybe you will need some about assembly language to understand it low level. Then the Bitcoin whitepaper I guess. And so own. But start with programing.
buddabudda
Newbie
*
Offline Offline

Activity: 15
Merit: 0


View Profile
August 29, 2017, 02:40:22 PM
 #3

Java or C++ are great languages to start getting to the principles of Object Oriented Programming.
ebtnym
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
August 29, 2017, 06:29:25 PM
 #4

This might help.
https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b
Covers blockchain basics and, as a bonus, it's written in Python. So if you have zero programming experience it should lessen the pain a little bit.
Skrodk (OP)
Newbie
*
Offline Offline

Activity: 45
Merit: 0


View Profile
August 29, 2017, 09:54:32 PM
 #5

You should probably start by getting some programing experience. I guess you could learn about C first a bit. You can't really understand blockchain that well if you don't know what are linked lists and some cryptography about hashes and public keys. You need to know about assembly language a bit, to understand stacks if you wish to understand Bitcoin transactions in detail, since they are like little programs on their own (scripts to be exact).

Read some beginner books about C programing. Then read up a bit about hashes and public key cryptography. Then maybe you will need some about assembly language to understand it low level. Then the Bitcoin whitepaper I guess. And so own. But start with programing.

How long would you think I have to devote to it, til I have an acceptable understanding?
aleksej996
Sr. Member
****
Offline Offline

Activity: 490
Merit: 389


Do not trust the government


View Profile
August 30, 2017, 07:08:15 AM
 #6

You should probably start by getting some programing experience. I guess you could learn about C first a bit. You can't really understand blockchain that well if you don't know what are linked lists and some cryptography about hashes and public keys. You need to know about assembly language a bit, to understand stacks if you wish to understand Bitcoin transactions in detail, since they are like little programs on their own (scripts to be exact).

Read some beginner books about C programing. Then read up a bit about hashes and public key cryptography. Then maybe you will need some about assembly language to understand it low level. Then the Bitcoin whitepaper I guess. And so own. But start with programing.

How long would you think I have to devote to it, til I have an acceptable understanding?

We are talking about maybe 3 books worth of reading with understanding. It would be hard for me to estimate it in hours, but if you spend maybe an hour everyday on average, you could probably understand the basics of programing in a year. So it depends on how much of your time you set aside for it, but I think in that at some pace it is possible to do it in under a year. There is no hurry and this knowledge is useful in the long run as well, since it is basics. But as anything in life, if you are not interested in it, programing and computers I mean, then it will be a waste of your time. Don't even try if you can't see yourself as a possible programmer one day, it takes too much time for something you won't go after in your life. A year of someone's life in not little, you probably have less then 100 of them left. So if you have a passion to understand computers, go ahead, if you are here just for quick cash, don't bother.
bibyte
Newbie
*
Offline Offline

Activity: 11
Merit: 0


View Profile WWW
August 30, 2017, 09:00:27 AM
 #7

I always choose C++
pebwindkraft
Sr. Member
****
Offline Offline

Activity: 257
Merit: 343


View Profile
August 30, 2017, 09:53:51 AM
 #8

We need more programmers in this exciting crypto currency world - welcome!
There is a common understanding, that you need to have 5000 working hours to become an expert.
And in crypto currency world, it is not only about programming, also you need to understand the eco system and the security - it's all about money, right ?  Wink
 
On programming: no matter what language you go, I recommend a short training course. There are many, many courses (coursera, udemy, ...) online, or you go to your local school and verify opportunities. It makes sense to have people to exchange with, that makes learning easier.

On crypt currencies: professionals usually start with reading before coding. This would bring you immedeatly to bitcoin.org, to understand the eco system.
Then you could read probably the online book (or buy it) from Andreas: "Mastering Bitcoin", here: http://chimera.labs.oreilly.com/books/1234000001802/ It is available in many languages.
Also there is the very good post from Ken: http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html
On youtube you find Bitcoin 101, which explains alot.
thealex12
Full Member
***
Offline Offline

Activity: 266
Merit: 100


View Profile
August 30, 2017, 04:22:14 PM
 #9

It is actually not that difficult to be experienced in the blockchain. One month of checking news and informing and you'll know more than a lot of others. If you want to do something for the blockchain in the programming direction, then you should learn solidity. Solidity is the most used code language for programming smart contracts. Good Luck!! Smiley
bitbollo
Legendary
*
Offline Offline

Activity: 3206
Merit: 3445


Nec Recisa Recedit


View Profile
August 30, 2017, 04:53:24 PM
 #10

This might help.
https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b
Covers blockchain basics and, as a bonus, it's written in Python. So if you have zero programming experience it should lessen the pain a little bit.

Hi thank you for sharing this link. Did you have programmed your blockchain from this guide?

I need some libraries in my mac air, or I can just use the normal python one's?
Of course, I am not programmer, but I have good technical skills, because I have learned some basic uses of some languages.

Hi pebwindkraft in which section Andreas Antonopoulos explain how to program on the blockchain?

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits.
..........UNLEASH..........
THE ULTIMATE
GAMING EXPERIENCE
DUELBITS
FANTASY
SPORTS
████▄▄█████▄▄
░▄████
███████████▄
▐███
███████████████▄
███
████████████████
███
████████████████▌
███
██████████████████
████████████████▀▀▀
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
.
▬▬
VS
▬▬
████▄▄▄█████▄▄▄
░▄████████████████▄
▐██████████████████▄
████████████████████
████████████████████▌
█████████████████████
███████████████████
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
/// PLAY FOR  FREE  ///
WIN FOR REAL
..PLAY NOW..
DimaPechka
Jr. Member
*
Offline Offline

Activity: 57
Merit: 10


View Profile
August 30, 2017, 08:29:51 PM
 #11

Lear Java, it is the best way to strart
genesis.vision
Member
**
Offline Offline

Activity: 258
Merit: 10

The next step in Financial Markets evolution


View Profile WWW
August 31, 2017, 07:40:32 AM
 #12

Best library I've used so far is bitcoinj, it allows to query blockchain info you need without downloading it. There are implementations for Java, but if you have no programming experience it would be best to start with the basics (e.g. learn structure and algorithms of programming languages).

Genesis Vision — Decentralized Platform for Asset Management
 ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ TRADE WITH GV ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰  
●  Twitter Facebook •  The next step in financial markets evolution • Telegram Medium  ●
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3346
Merit: 6473


Just writing some code


View Profile WWW
August 31, 2017, 02:04:41 PM
 #13

Best library I've used so far is bitcoinj, it allows to query blockchain info you need without downloading it.
That's not true. It still has to download part of the blockchain and there is still a lot of info that you cannot get from it without downloading the entire blockchain. For example, you cannot use bitcoinj to find an arbitrary transaction in the blockchain since it does not have that data and it can't ask for that from a node.

malboroman
Newbie
*
Offline Offline

Activity: 52
Merit: 0


View Profile WWW
August 31, 2017, 02:29:24 PM
 #14

It's better to start from some educational videos on YouTube and then go deeper into the articles/educational cources.
llzzyy234
Newbie
*
Offline Offline

Activity: 54
Merit: 0


View Profile
August 31, 2017, 02:37:46 PM
 #15

If you want start quickly, I would not recommend C++, since too many bumps. You could start from java.
EADG
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
August 31, 2017, 03:14:14 PM
 #16

What makes Java easier?  I've heard that I should try it.  I haven't programmed for a very long time, and am part of the generation that was ruined by BASIC.  OOP blows my mind still lol
GetFreeCoins
Member
**
Offline Offline

Activity: 111
Merit: 10


View Profile
August 31, 2017, 08:52:15 PM
 #17

Java or C++ are great languages to start getting to the principles of Object Oriented Programming.

but what if I dont want to learn programming?
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3346
Merit: 6473


Just writing some code


View Profile WWW
August 31, 2017, 09:05:06 PM
 #18

but what if I dont want to learn programming?
Then you can't do anything with "program on the blockchain" (which, by the way, is completely meaningless because you don't program on a blockchain).

AdisBegic
Newbie
*
Offline Offline

Activity: 31
Merit: 0


View Profile
September 01, 2017, 11:20:13 AM
 #19

Hi,
I just had friend like you who I helped to become familiar with Ethereum development. I would suggest that you go through the freecodecamp.com site up till intermediate frontend projects so you understand the basics of HTML, CSS, Bootstrap and Javascript. Once you've done this, go to udemy and pick up a great course on NodeJs to gain some knowledge on backend development and especially the unittesting area. This will put you up for a great start into blockchain development as you will be able to dive head first into solidity easier (syntax pretty similar to javascript) and also be able to write test cases to your solidity code. Once, you feel comfortable with the high level languages, you can dive into the EVM and bytecode stuff to really master your craft! I wish you a happy learning adventure and greet you welcome to the best developer community in the world Smiley If you need any type of guidance, feel free to PM me.
aretebit
Member
**
Offline Offline

Activity: 84
Merit: 10

All that glitters is not bitcoin


View Profile
September 01, 2017, 11:26:24 AM
 #20

What makes Java easier?  I've heard that I should try it.  I haven't programmed for a very long time, and am part of the generation that was ruined by BASIC.  OOP blows my mind still lol

Java SE is basically C++ but without some things that may produce errors for inexpert programmers like pointers, and with a exception handling system that avoids mistakes for you.

But for enterprise applications Java EE is much more complex than solutions with .Net C#.

Dirty evil government thieves: Return me my money!
ScripterRon
Full Member
***
Offline Offline

Activity: 136
Merit: 120


View Profile
September 01, 2017, 02:47:23 PM
 #21

What makes Java easier?  I've heard that I should try it.  I haven't programmed for a very long time, and am part of the generation that was ruined by BASIC.  OOP blows my mind still lol

Java SE is basically C++ but without some things that may produce errors for inexpert programmers like pointers, and with a exception handling system that avoids mistakes for you.

But for enterprise applications Java EE is much more complex than solutions with .Net C#.
I'm a big fan of Java.  I started with Fortran on an IBM 1130, but I really like object-oriented program.  I prefer Java because it solves some of the problems with C++ and it has a rich set of libraries (both standard and third-party).  And, most of the time, you can run a program on multiple operating systems without having to generate system-dependent versions (and JNI is available for those situations where you need to directly access system functions).

You can look at my GitHub projects if you want some examples.
pebwindkraft
Sr. Member
****
Offline Offline

Activity: 257
Merit: 343


View Profile
September 01, 2017, 05:41:37 PM
 #22

@bitbollo
Quote
Hi pebwindkraft in which section Andreas Antonopoulos explain how to program on the blockchain?

His book gives an overview of how the bitcoin world "works", and has many examples on the data structures and how they interact.
It is not a book "how to program the blockchain" btw: I like achow101's comment on this  Grin
But it helps you to understand the detail and if something is unclear, you can even use it as a reference.
EADG
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
September 01, 2017, 06:43:10 PM
 #23

What makes Java easier?  I've heard that I should try it.  I haven't programmed for a very long time, and am part of the generation that was ruined by BASIC.  OOP blows my mind still lol

Java SE is basically C++ but without some things that may produce errors for inexpert programmers like pointers, and with a exception handling system that avoids mistakes for you.

But for enterprise applications Java EE is much more complex than solutions with .Net C#.
I'm a big fan of Java.  I started with Fortran on an IBM 1130, but I really like object-oriented program.  I prefer Java because it solves some of the problems with C++ and it has a rich set of libraries (both standard and third-party).  And, most of the time, you can run a program on multiple operating systems without having to generate system-dependent versions (and JNI is available for those situations where you need to directly access system functions).

You can look at my GitHub projects if you want some examples.
Oh right, I forgot how complicated variables can get.  So it makes things easier, that sounds good.  I'll need all the help I can get.  Do you feel at all pigeon holed, though?  I see Java as being closely intertwined with web development.  That may be ideal for me depending on what direction I go. 
Back to OP's question about development around bitcoin centered ideas and using blockchain technology.  Is Java the best in this case?  For instance, a person decides to make a program that uses a blockchain for their local municipality that takes care of some problem much cheaper and effectively.  Does a programmer who is comfortable in several languages go to Java in that situation?
On the other hand, should I just jump in?  Learning any language makes the others easy?
aleksej996
Sr. Member
****
Offline Offline

Activity: 490
Merit: 389


Do not trust the government


View Profile
September 02, 2017, 12:52:17 PM
 #24

Quote
Is Java the best in this case?

As I understand, Java is not the most resource efficient language, That would probably be C/C++.

Quote
Learning any language makes the others easy?

It makes it a lot easier. It can depend on differences between languages, some are simply for different purposes, but they still use same ideas and syntax is the easiest to learn. If you know C++, you will probably learn Java very quickly. Other way around, I think is harder. But they are all probably like 90% the same when you are learning for the first time.
yugyug
Sr. Member
****
Offline Offline

Activity: 616
Merit: 256



View Profile
September 02, 2017, 01:00:42 PM
 #25

let's assume zero knowledge in programming and you want to learn about the blockchain programming. first thing first, you will need the basic foundation of computer programming regardless of what language you will use. since blockchain and other bitcoin or altcoins related programming required mathematical skills since they are mathematical problems, first you will need to study the foudnation of computer algorithm like sha256, rsa, or any hash-related algorithm. then you will need to learn also the cryptography skills for computer. need the basic algebra and calculus. there are so many basic things to learn in creating a blockchain from scratch unless if you are just forking or cloning some codes from github but the reward from hard work is not so challenging.
Abs_korleone
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
September 02, 2017, 03:56:16 PM
 #26

Start learning Javascript, Javascript will be the language of the future. You can do both frontend and backend atm with Javascript and its syntax is very similar to Solidity which is the most popular high level language used for blockchain development
dream_maker82
Full Member
***
Offline Offline

Activity: 322
Merit: 100



View Profile
September 02, 2017, 09:11:01 PM
 #27

If you do not have programming experience, it's better to start with the basics: to study the structure and algorithms of programming languages. As a basis to take the language of Java, to understand what object-oriented programming is and forward, in this area, intelligent developers are needed.

CupONoodos
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
September 03, 2017, 03:17:47 AM
 #28

As someone who has just started his journey into Blockchain development, here's resources that helped me on my journey. I'd like to note though that I have a background in coding in Java, C++, and Python already although I would say I'm average in my coding experience. As everyone said, it would be best to learn a little bit of coding so you can at least understand how to read code and know the fundamentals of how to write it. Once you get there, definitely check these resources out.

http://consensys.github.io/developers/articles/101-noob-intro/ (A good read to start your journey into developing)

https://www.youtube.com/playlist?list=PLH4m2oS2ratdoHFEkGvwvd7TkeTv4sa7Z (A free set of tutorial videos on YouTube that goes over smart contracts and how to write your own DApp)

https://app.pluralsight.com/library/courses/blockchain-fundamentals/table-of-contents (Sign up for their free 10 day or 200-minute trial. You can easily watch this whole course within the trial, just be careful in rewinding and take your time.)

https://www.coursera.org/learn/cryptocurrency (An online course that goes into the technical details of Bitcoin and Cryptocurrency. Very detailed and works like an online class with assignments that need to be submitted at certain times.)

https://github.com/ethereum/wiki/wiki/Ethereum-Development-Tutorial (More reading material)

I've also bought a bunch of Udemy courses for $10 each that I haven't gotten to yet. If you want to buy these courses for that price, use the coupon TIENDEO10 to get them for only $10. I don't know how long the coupon will last so if you really want an extra source to teach you the material, I recommend to buy them quick as these courses can go up to $100+. This is without knowing how often these courses actually go on sale however.
Andre_Goldman
Sr. Member
****
Offline Offline

Activity: 322
Merit: 253

Property1of1OU


View Profile
September 03, 2017, 07:03:35 AM
 #29

I'm following Nicolas Dorier's book since very beginning ...

ps-> sorry Nicolas I was one of the lazy guys who forgot to do the back/fwd thing when I got the opportunity ... I guess I was busy doing something else on Opnet Guru Window  Tongue ...

Patent1number: ****-****
Trofo
Legendary
*
Online Online

Activity: 2436
Merit: 2511


Join the world-leading crypto sportsbook NOW!


View Profile
September 03, 2017, 08:37:42 PM
 #30

This might help.
https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b
Covers blockchain basics and, as a bonus, it's written in Python. So if you have zero programming experience it should lessen the pain a little bit.

Thanks for this link. I am new to blockchain and crypto currencies but i have solid programming background (c++, c#, html, JS, but mostly python). Therefore your link managed to explain much about blockchain for me.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
baryonlee
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
September 04, 2017, 12:43:44 AM
 #31

Thanks, cool exams. just convert it to python3.

Code:
#!/usr/bin/env python3
# -*- coding: utf_8 -*-

import hashlib as hasher
import datetime as date

### Define what a Snakecoin block is """
class Block:
    def __init__(self, index, timestamp, data, previous_hash):
        self.index = index
        self.timestamp = timestamp
        self.data = data
        self.previous_hash = previous_hash
        self.hash = self.hash_block()

    # hash a block with sha256
    def hash_block(self):
        sha = hasher.sha256()
        sha.update(str(str(self.index) + str(self.timestamp) +
                       str(self.data) + str(self.previous_hash)).encode('utf-8'))
        return sha.hexdigest()

# Generate genesis block
def create_genesis_block():
    # Manually construct a block with
    # index zero and arbitrary previous hash
    return Block(0, date.datetime.now(), "Genesis Block", "0")

# Generate all later blocks in the blockchain
def next_block(last_block):
    this_index = last_block.index + 1
    this_timestamp = date.datetime.now()
    this_data = "Hey! I'm block " + str(this_index)
    this_hash = last_block.hash
    return Block(this_index, this_timestamp, this_data, this_hash)


# Create the blockchain and add the genesis block
blockchain = [create_genesis_block()]
previous_block = blockchain[0]

# How many blocks should we add to the chain
# after the genesis block
num_of_blocks_to_add = 20

# Add blocks to the chain
for i in range(0, num_of_blocks_to_add):
    block_to_add = next_block(previous_block)
    blockchain.append(block_to_add)
    previous_block = block_to_add
    # Tell everyone about it!
    print("Block #{} has been added to the blockchain!".format(block_to_add.index))
    print("Hash: {}\n".format(block_to_add.hash))

Chillance
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
September 04, 2017, 05:53:03 PM
 #32

My favorite language right now is Go https://golang.org/ (made by Google). Quite easy language to learn as the specs are not that much.

And I just came over this: https://www.ibm.com/developerworks/cloud/library/cl-ibm-blockchain-chaincode-development-using-golang/index.html
EADG
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
September 05, 2017, 06:24:49 PM
 #33

If you do not have programming experience, it's better to start with the basics: to study the structure and algorithms of programming languages. As a basis to take the language of Java, to understand what object-oriented programming is and forward, in this area, intelligent developers are needed.
What do you guys think the role of Programming Language Theory is for someone learning?  After seeing this comment I looked around and there are some great resources.  I'm thinking now that maybe my problem the last couple times I started was that I didn't have this overview.
sachinunchwal02
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
September 05, 2017, 06:33:17 PM
 #34

There are multiple programming languages that you could focus your efforts on and it will depend on which cryptocurrency you would like to use as a base platform for plug and play functionality. It would also be important for you to consider what the top programming languages are in 2015/2016, published by IEEE,To establish a strong crypto programming foundation, I would suggest concentrating on first learning C++ by using a few beginner books (if you are on a tight budget, you can actually purchase many of these books from a nearby Goodwill or used book store for 1/20th of the price), and then begin to experiment with Node.JS, Python, Perl, and other relevant languages as these are typically compatible/accepted/supported in activate crypto environments.
Bastime
Sr. Member
****
Offline Offline

Activity: 519
Merit: 250



View Profile
September 06, 2017, 12:49:17 PM
 #35

So, I have absolutely no programming experience.

But I find the blockchain technology incredibly exciting, and I would like to learn at least how to use it to a certain extend, I realize im not going to become an expert overnight, but where do i start?

I graduated as computer science but it's not really my ideal job but as far as I know that programming is a very far journey along with dedication and hard work and you must be logically capable to solve such problems. Most students found it really difficult dealing with such problems because solving problem logically is far annoying than solving legal cases.
My point is, if you want to contribute blockchain programming then be a child by spoon feeding yourself.





        ▄▄█████████▄▄
     ▄███▀▀       ▀▀███▄
   ▄██▀               ▀██▄
  ██▀ ▄▄             ▄▄ ▀██
 ██▀  ▐██████▄ ▄██████▌  ▀██
██▀    ██  ███ ███  ██    ▀██
██      █▄ ▐██ ██▌ ▄█      ██
██▄      ▀ ▐██ ██▌ ▀      ▄██
 ██▄        ██ ██        ▄██
  ██▄        ███        ▄██
   ▀██▄              ▄██▀
     ▀███▄▄       ▄▄███▀
        ▀▀█████████▀▀
.
▄▄▄▄▄▄▄▄▄▄      ██                                         
██████████  ▄▄  ██▄▄▄▄▄▄  ▄▄  ▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄  ██▄     
██          ██  ████████  ██  ████████  █████████  ████▄   
██          ██  ██        ██     ▄▄██▀  ██   ▄██▀  ██ ▀██▄ 
██          ██  ██        ██  ▄██▀▀     ██▄██▀▀    ██   ▀██▄
██████████  ██  ████████  ██  ████████  █████████  ██     ██
▀▀▀▀▀▀▀▀▀▀  ▀▀  ▀▀▀▀▀▀▀▀  ▀▀  ▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀  ▀▀     ▀▀

Finance




           ▄█▄    ▄▄▄▄▄▄███████
         ▄█████▄   ▀███████████
 █▄    ▄█████████    ██████████
 ███▄▄█████████▀   ▄██████████▌
 ████████████▀   ▄████████████
▐██████████▀   ▄█████████▀ ▀██
▐█████████▄   █████████▀     ▀
████████████▄  ▀█████▀
███████▀▀▀▀▀     ▀█▀







Trofo
Legendary
*
Online Online

Activity: 2436
Merit: 2511


Join the world-leading crypto sportsbook NOW!


View Profile
September 06, 2017, 02:34:20 PM
 #36

https://www.coursera.org/learn/cryptocurrency (An online course that goes into the technical details of Bitcoin and Cryptocurrency. Very detailed and works like an online class with assignments that need to be submitted at certain times.)


I've also bought a bunch of Udemy courses for $10 each that I haven't gotten to yet. If you want to buy these courses for that price, use the coupon TIENDEO10 to get them for only $10. I don't know how long the coupon will last so if you really want an extra source to teach you the material, I recommend to buy them quick as these courses can go up to $100+. This is without knowing how often these courses actually go on sale however.

Thanks for coursera link. I have taken few courses there in the past but had no idea they have something on cryptocurrency. I have enrolled there.

Please reply here or send me a PM after checking Udemy courses I would like to hear your review of them. Thanks

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
yg10
Newbie
*
Offline Offline

Activity: 88
Merit: 0


View Profile
September 07, 2017, 05:25:33 AM
 #37

It is actually not that difficult to be experienced in the blockchain. One month of checking news and informing and you'll know more than a lot of others. If you want to do something for the blockchain in the programming direction, then you should learn solidity. Solidity is the most used code language for programming smart contracts. Good Luck!! Smiley
Just wondering how checking the news may help with the understanding of blockchain basics - private key cryptography, P2P networks, etc.
There are a lot of things in the blockchain that cannot be expressed in smart contract language.
alex_shemesh
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
September 08, 2017, 05:51:10 AM
 #38

So, I have absolutely no programming experience.

But I find the blockchain technology incredibly exciting, and I would like to learn at least how to use it to a certain extend, I realize im not going to become an expert overnight, but where do i start?

I graduated as computer science but it's not really my ideal job but as far as I know that programming is a very far journey along with dedication and hard work and you must be logically capable to solve such problems. Most students found it really difficult dealing with such problems because solving problem logically is far annoying than solving legal cases.
My point is, if you want to contribute blockchain programming then be a child by spoon feeding yourself.


I dont agree. Now days learning new language is 6 month job. You can learn enough to be efficient programmer and write useful programs. Dont be afraid. Start with Python and dont listen to anybody who says "there are paradigms, and known design patterns". If your program stable and does what its suppose to do you are ok. Real programmer experience comes handy in support of system that's in production and in code refactoring/otimization. Programming is not an art, its a trade that can be learned.
Qunenin
Hero Member
*****
Offline Offline

Activity: 966
Merit: 506


View Profile
September 14, 2017, 08:06:50 AM
 #39

This is something that can and will take some time. Start with hashing perhaps, not even crypto currency related. Make a simple GUI in whatever language that goes into and out of MD5 and other hashes. Then, try hashing out your own TX's in Bitcoin or whatever, try the very basics and then try to program something special into the system. Perhaps link to a JSON in the OP data and use that information for something on both ends.

.
.1xBit.com.
███████████████
█████████████▀
█████▀▀       
███▀ ▄███     ▄
██▄▄████▌    ▄█
████████       
████████▌     
█████████    ▐█
██████████   ▐█
███████▀▀   ▄██
███▀   ▄▄▄█████
███ ▄██████████
███████████████
███████████████
███████████████
███████████████
███████████████
███████████████
███████████▀▀▀█
██████████     
███████████▄▄▄█
███████████████
███████████████
███████████████
███████████████
███████████████
         ▄█████
        ▄██████
       ▄███████
      ▄████████
     ▄█████████
    ▄███████
   ▄███████████
  ▄████████████
 ▄█████████████
▄██████████████
  ▀▀███████████
      ▀▀███
████
          ▀▀
          ▄▄██▌
      ▄▄███████
     █████████▀

 ▄██▄▄▀▀██▀▀
▄██████     ▄▄▄
███████   ▄█▄ ▄
▀██████   █  ▀█
 ▀▀▀
    ▀▄▄█▀
▄▄█████▄    ▀▀▀
 ▀████████
   ▀█████▀ ████
      ▀▀▀ █████
          █████
       ▄  █▄▄ █ ▄
     ▀▄██▀▀▀▀▀▀▀▀
      ▀ ▄▄█████▄█▄▄
    ▄ ▄███▀    ▀▀ ▀▀▄
  ▄██▄███▄ ▀▀▀▀▄  ▄▄
  ▄████████▄▄▄▄▄█▄▄▄██
 ████████████▀▀    █ ▐█
██████████████▄ ▄▄▀██▄██
 ▐██████████████    ▄███
  ████▀████████████▄███▀
  ▀█▀  ▐█████████████▀
       ▐████████████▀
       ▀█████▀▀▀ █▀
!
aleksej996
Sr. Member
****
Offline Offline

Activity: 490
Merit: 389


Do not trust the government


View Profile
September 14, 2017, 11:35:06 AM
 #40

This is something that can and will take some time. Start with hashing perhaps, not even crypto currency related. Make a simple GUI in whatever language that goes into and out of MD5 and other hashes. Then, try hashing out your own TX's in Bitcoin or whatever, try the very basics and then try to program something special into the system. Perhaps link to a JSON in the OP data and use that information for something on both ends.

You really should use MD5 anymore, it is too weak to even be used as an example, since you can hardly consider it hash anymore.
Katalyst
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
September 14, 2017, 05:29:31 PM
 #41

I would definitely learn C first, then move onto C++ or Rust.

This is a book I would highly recommend:

C Programming Language, 2nd Edition 2nd Edition
by Brian W. Kernighan  and Dennis M. Ritchie

If you find C to be too daunting maybe try python, as it resemples natural language a bit more.
Morchid
Sr. Member
****
Offline Offline

Activity: 586
Merit: 255



View Profile
September 14, 2017, 11:43:17 PM
 #42

You should probably start by getting some programming experience. I guess you could learn about C first a bit. You can't really understand blockchain that well if you don't know what are linked lists and some cryptography about hashes and public keys. You need to know about assembly language a bit, to understand stacks if you wish to understand Bitcoin transactions in detail, since they are like little programs on their own (scripts to be exact).

Read some beginner books about C programming. Then read up a bit about hashes and public key cryptography. Then maybe you will need some about assembly language to understand it low level. Then the Bitcoin whitepaper I guess. And so own. But start with programming.
triads
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
September 15, 2017, 06:37:33 AM
 #43

+1 for C as a good place to start. I trained in C++ and found it a good foundation
and quite similar to blockchain languages like Solidity.

A word of advice on taking courses: you should probably decide in advance
what level to shoot for. If you just want to understand other people's code,
then you don't need nearly as deep an understanding. A pretty light course like
the stuff on Coursera will do fine. I'd recommend this as a first level to shoot for.

Once you get the that level, you can decide if you want to progress to being able
to produce and debug code. If so, then deeper engagement is needed. Ideally
you'll want a course where you have specific projects to produce and some sort of
instructor / mentor to give you feedback. That interaction is key to learning. For
that reason, I would not recommend trying to learn something like C++ from
a book.
Kogs
Member
**
Offline Offline

Activity: 86
Merit: 26


View Profile
September 15, 2017, 06:56:59 AM
 #44

You said, you want to learn to use it, so I don't think you are talking about programming in bitcoin core code.

You should start very high level.

I suggest something like this
  • Learn a Script language. Python would be a good start, as lot of Bitcoin RPC examples are written in Python
  • Get a full node and learn to use the Bitcoin RPC with your selected Script language
  • Write lot of Scripts where you read blocks/transactions and do some usefull stuff with it
  • Maybe you should also learn how to use JSON API. With this knowledge you could maybe program your own trading bot for several exchanges
  • With that you have the basics to write background applications. Then you could start learning web development
  • At this point, if you understood and practiced all the previous points, you could theoretically program whatever service you can think of.
    Maybe something like blockchain.info, a market which excepts bitcoin as payment, an own exchange or whatever you might find useful
  • If such services are not your thing and you really want to dig into core programming, you need to learn C/C++ and you also need to learn all those cryptography stuff used in Bitcoin in a more detailed level.
    But here it starts to get really complex

I think, most people who want to program something in crypto, think about any web service. And for this it is not necessary to learn in detail about the deeper stuff, as the RPC functions you can use, do the most of this stuff for you.
Bagrras
Jr. Member
*
Offline Offline

Activity: 57
Merit: 10


View Profile
September 15, 2017, 12:17:12 PM
 #45

Start to learn Java at first. It will be easy and very useful
Ucy
Sr. Member
****
Offline Offline

Activity: 2576
Merit: 401


View Profile
September 16, 2017, 01:34:59 PM
 #46

It's better to start from some educational videos on YouTube and then go deeper into the articles/educational cources.

Absolutely. Videos are usually my favorite way to learn really difficult stuff quickly. Reading a subject becomes easy after watching good video on it.
bitmeo
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
September 19, 2017, 12:01:17 AM
 #47

C++ are great language to start Programming  Undecided
Micerker
Full Member
***
Offline Offline

Activity: 593
Merit: 100


BBOD The Best Derivatives Exchange


View Profile WWW
September 19, 2017, 12:15:34 AM
 #48

So, I have absolutely no programming experience.

But I find the blockchain technology incredibly exciting, and I would like to learn at least how to use it to a certain extend, I realize im not going to become an expert overnight, but where do i start?
You can start with C/C++ and later you can download the source of bitcoin node from github and start learning from it. You also can use the cryptonote and multichain to learn.

barabut
Full Member
***
Offline Offline

Activity: 224
Merit: 100



View Profile
September 19, 2017, 06:19:41 AM
 #49

So, I have absolutely no programming experience.

But I find the blockchain technology incredibly exciting, and I would like to learn at least how to use it to a certain extend, I realize im not going to become an expert overnight, but where do i start?
It is not that easy starting from the beginning, wish you success...
mstone
Newbie
*
Offline Offline

Activity: 10
Merit: 1


View Profile
September 19, 2017, 08:47:29 PM
 #50

I would definitely recommend you start off with Java or Python. C++ can be pretty harsh for beginners
englander
Newbie
*
Offline Offline

Activity: 49
Merit: 0


View Profile WWW
September 21, 2017, 07:06:20 AM
 #51

As someone who has just started his journey into Blockchain development, here's resources that helped me on my journey. I'd like to note though that I have a background in coding in Java, C++, and Python already although I would say I'm average in my coding experience. As everyone said, it would be best to learn a little bit of coding so you can at least understand how to read code and know the fundamentals of how to write it. Once you get there, definitely check these resources out.

http://consensys.github.io/developers/articles/101-noob-intro/ (A good read to start your journey into developing)

https://www.youtube.com/playlist?list=PLH4m2oS2ratdoHFEkGvwvd7TkeTv4sa7Z (A free set of tutorial videos on YouTube that goes over smart contracts and how to write your own DApp)

https://app.pluralsight.com/library/courses/blockchain-fundamentals/table-of-contents (Sign up for their free 10 day or 200-minute trial. You can easily watch this whole course within the trial, just be careful in rewinding and take your time.)

https://www.coursera.org/learn/cryptocurrency (An online course that goes into the technical details of Bitcoin and Cryptocurrency. Very detailed and works like an online class with assignments that need to be submitted at certain times.)

https://github.com/ethereum/wiki/wiki/Ethereum-Development-Tutorial (More reading material)

I've also bought a bunch of Udemy courses for $10 each that I haven't gotten to yet. If you want to buy these courses for that price, use the coupon TIENDEO10 to get them for only $10. I don't know how long the coupon will last so if you really want an extra source to teach you the material, I recommend to buy them quick as these courses can go up to $100+. This is without knowing how often these courses actually go on sale however.

The coursera link you have there is a great resource for people who are just learning about blockchain and cryptocurrencies, specifically they talk about how hashes, hash pointers, merkle trees, etc. and then get into consensus, and there are practice quizzes along the way.  If you're not a programmer, then this you can simply audit the course and not do the assignments.  I found this to be one of the most valuable courses out there for newbies to blockchain and crypto about the concepts.  I would start here, then learn a programming language like JavaScript or Python because they're quite similar to Solidity which is used for Ethereum development.  Many of the new tokens are sitting on top of the Ethereum blockchain as ERC-20 standard tokens.
tobi4255
Full Member
***
Offline Offline

Activity: 349
Merit: 101

Tontogether | Save Smart & Win Big


View Profile
September 21, 2017, 03:43:37 PM
 #52

Go downlaod ethereum core.

They made it for blockchain programming,
also read a bunch of the crypto source code.
it will help you understand Smiley

|     T o n T o g e t h e r     |     Saving Empowers Winning     |
Join Launchpool  >  Jan 10th - Feb 10th
●      T W I T T E R      ●      T E L E G R A M      ●      M E D I U M      ●
mroth7684
Full Member
***
Offline Offline

Activity: 196
Merit: 100



View Profile
September 21, 2017, 05:40:30 PM
 #53

This might help.
https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b
Covers blockchain basics and, as a bonus, it's written in Python. So if you have zero programming experience it should lessen the pain a little bit.
do you have experience how many time for who dont known code can learn this sir?

microtron
Newbie
*
Offline Offline

Activity: 18
Merit: 0


View Profile
September 21, 2017, 10:10:23 PM
 #54

New companies such as Lisk have brought Java into the picture, this is easier to learn than C++
chicobr
Full Member
***
Offline Offline

Activity: 235
Merit: 250



View Profile
September 24, 2017, 06:37:32 PM
 #55

http://blockchaindemo.io
this website show you how blockchain work and also have tutorial for you to make ur own blockchain. Cheesy
user_
Newbie
*
Offline Offline

Activity: 17
Merit: 1


View Profile
September 26, 2017, 09:04:16 PM
 #56

In my view the most important thing is to get involved in a project related to blockchain programming and then you will be able to learn everything that is related to programming for a blockchain. Just make sure you're interested in the project itself, then you will quickly learn one of the available programming languages and corresponding blockchain libraries. Interest and motivation makes or lack of them breaks. If you just start learning some languages, you will be very soon bored because of the irrelevant details provided on hundreds of pages. So get some books and use them as references only. Do not try to read from cover to cover. Video courses (Coursera, Udemy, etc) are not for everyone, for example I get quite bored watching videos. It is much better for me to skim some book in search for the information I need. It is much faster and more efficient.
So, to conclude, to learn to program for blockchains, get involved in some project related to blockchains.
cuculatoeggekeenam
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
September 28, 2017, 03:53:24 PM
 #57

maybe you can start by asking your friends who are proficient in programan, or can learn via the internet for example from youtube, because of youtube now many tutorial of it. now a lot of ways to learn, google also can help a lot from the origin want to try.
nicosey
Full Member
***
Offline Offline

Activity: 347
Merit: 109


View Profile
September 29, 2017, 01:01:11 AM
 #58

Still think bcoin.io is one of the easiest ways to learn.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3346
Merit: 6473


Just writing some code


View Profile WWW
September 29, 2017, 01:13:50 AM
 #59

Locking this thread; it is just becoming full of spam now.

Pages: 1 2 3 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!