Pages:
Author

Topic: What programming language to learn? - page 5. (Read 14451 times)

newbie
Activity: 56
Merit: 0
July 10, 2011, 03:06:11 AM
#15
*edit* This is for those who are considering getting into programming. I'm not so much looking at just 'what is best to help with bitcoin'.

There are 3 main programming paradigm's that I’m aware of: procedural, object orientated, and functional. I'm going to suggest you start with Object Orientated. For that, I'm going to nominate Java or Python.

If you take up Java, you can help with the bitcoinj project. You can also work on Android clients.

I don't think that for learning programming, C or C++ are your best choices. I think you want a language that introduces to the most Object Orientated concepts with the least amount of technical baggage. From that perspective, C and C++ would be ruled out. I really can't see the point in learning about garbage collection as an initial introduction to programming.

If you ever want to get serious about functional (a lot of languages like to 'borrow' elements from this paradigm) have a look at Haskell.

For python or Java free learning resources:
http://diveintopython.org/
www.mindview.net/Books/TIJ/ (Bruce Eckels Thinking In Java)
www.mindview.net/Books/TIPython (Bruce Eckels Thinking In Python)

full member
Activity: 210
Merit: 100
July 10, 2011, 01:16:14 AM
#14
Its been a while since I programmed (basic) <-- dont laugh.. gorilla was an awesome game!




I'm with you...all I really know is Basic and 8088 assembly (electronics class...8088 primer trainer, hex button input and 7 segment LED display...lol).  I have been learning "Processing" because I have been doing a bunch of Arduino/Reprap stuff and that is the language they use (I guess its pretty much C+ or something).

I would love to learn Python and PHP myself...just takes reading and playing around...the thing I love about coding is that you don't need to buy a lot of parts to do it (i.e. electronics requires buying parts for every project) just have a capable computer and create.
member
Activity: 71
Merit: 10
I can predict the future! Bitcoin will success!!!!
July 10, 2011, 01:00:18 AM
#13
PHP can do ANYTHING!
legendary
Activity: 1904
Merit: 1037
Trusted Bitcoiner
July 09, 2011, 11:57:36 PM
#12
would help to have a site the dose wat bitcoin.local dose but much better.Bigger

so i ya go with quick and dirty php Tongue
and make the site!

or the best soution

a C# windows program called bitcoinlocal.exe
legendary
Activity: 1148
Merit: 1001
Radix-The Decentralized Finance Protocol
July 09, 2011, 11:51:32 PM
#11
You should choose either go to C or go to python (or ruby, but I personally preffer python). C will give you a more clear understanding about programming and will make it easier to learn any other programming language in the future, but its harder to learn. Python is easier to learn and will allow you to achieve results way faster.
full member
Activity: 140
Merit: 110
bitcoinnaire
July 09, 2011, 11:06:28 PM
#10
You shouldn't go with your mind set to "learn a programming language". A "programming language" is only an expression of the underlying art, The art of computer programming, there even is a multi-volume book bearing that title. Programmers ought to dedicate their career to master this art. I recommend Structure and Interpretation of Computer Programs. TAOCP is a legend, it's very lengthy but if you have enough time you can't afford to not to read it.


+1 on the SICP, it's a definite must read.
full member
Activity: 154
Merit: 100
July 09, 2011, 10:45:44 PM
#9
I would suggest php and sql. Php was easy to learn but I also have a background in c++ and vb, .net. If you learn php you can find alot of tutorials on youtube. With xampp you be programming in no time. The hardest thing to learn is the sql. I would suggest getting a book on mysql if you want to harness the power of sql. Also a good ide will help you learn faster. You can start with notpad++ but a better start is Phpdesigner 7.x. Phpdesigner is about the cost of a book and its a wonderful teacher. It will point out mistakes where notepad++ only does syntax highlighting. Once you have the base structures learned you can transer those to other languages. But the real question is what is it that you want to achieve?
full member
Activity: 182
Merit: 100
July 09, 2011, 10:31:33 PM
#8
Thanks guys great replies.  I will be researching more.
member
Activity: 70
Merit: 10
GNU is not UNIX
July 09, 2011, 10:28:33 PM
#7
You shouldn't go with your mind set to "learn a programming language". A "programming language" is only an expression of the underlying art, The art of computer programming, there even is a multi-volume book bearing that title. Programmers ought to dedicate their career to master this art. I recommend Structure and Interpretation of Computer Programs. TAOCP is a legend, it's very lengthy but if you have enough time you can't afford to not to read it.

Lisp is a family of programming languages which bear the essence of programming than have been lost in modern computer languages made for the computer pawns, the bottom 99 percentile which dare to call themselves a "programmer". Scheme is probably the most elegant computer language, it is used in the SICP (The book linked above). Learning the proper use of Lisp is a unique enriching experience for the artist programmer, even if you are working with other computer languages. C does exactly what it's supposed to do and does it well. Unfortunately you will probably have to learn to find your way in C++ if you plan to work on the Bitcoin reference implementation.

Quote
Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today.

In advance, the reply to this is your biased point of view accusation is Of course!. Pretending human recommendations or opinions aren't biased is naive. However, people honest with themselves and their fellows will try to make their opinions biased toward what's perceived by the former as good, right or better and I'm no exception.

Regards.
member
Activity: 70
Merit: 10
July 09, 2011, 10:15:53 PM
#6
herp derp php.
full member
Activity: 140
Merit: 110
bitcoinnaire
July 09, 2011, 10:07:13 PM
#5
I second the Python/Ruby route myself, I'm not an experienced programmer and only dabble in a few languages (can't keep my attention span long enough) but these would probably be great languages to learn.

I see a lot of people in other places offer up the advice to just jump straight into a lower level language like c, c++, etc and I don't think that's a good idea. Personally I understand a lot more ABOUT those languages now that I've already programmed in a python/ruby/etc than if I'd just jumped ship and started with asm/c/c++
hero member
Activity: 938
Merit: 501
July 09, 2011, 10:06:18 PM
#4
- Learn C, then you're almost ready to learn PHP and others.
- The bitcoin client is written in C++
- Many users here write their scripts in Phyton, i personally don't like it, but i think that i'll need to learn it sooner or later.
member
Activity: 112
Merit: 10
July 09, 2011, 10:00:21 PM
#3
I'm partial to Ruby, myself. And it's a pretty good first language, in my opinion. (Kinda wish it was available 28 years ago when I started coding!)
full member
Activity: 308
Merit: 100
July 09, 2011, 09:57:53 PM
#2
Python in the best for start programming. However, C++ ir good as well, but a little difficult.
full member
Activity: 182
Merit: 100
July 09, 2011, 09:38:34 PM
#1
Its been a while since I programmed (basic) <-- dont laugh.. gorilla was an awesome game!

anyways I'd like to learn to make scripts or programs that can help bitcoin, I'm just wondering if I had to learn one which would be the best.  Should I learn C or should I learn php for web stuff.   Kinda leaning toward php.  But just wondering what others think.  When i go to learn something I go balls to the wall.

What is the bitcoin client programmed in?

Anyways thanks.
Pages:
Jump to: