Bitcoin Forum
December 05, 2016, 10:28:07 AM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 [3] 4 5 »  All
  Print  
Author Topic: What programming language to learn?  (Read 11831 times)
Jointops420
Full Member
***
Offline Offline

Activity: 132


View Profile
July 11, 2011, 12:08:22 AM
 #41

This has been a very helpful thread, cheers. I have been into computers for nearly 20yrs, I got formally edumacted at TAFE with networks 10years ago, learned more of my fellow students than the slow feed from the teachers. I had a choice at the time to go with networking or do coding now I wish in hind site I choose coding. Theres just so much skope for bitcoin with the much needed applications for commerce or solo workers that will need new/newer programs for a long time yet.
This has been so helpful to hear everyones preferences, I choose Python to learn after a bit of extra reading.
1480933687
Hero Member
*
Offline Offline

Posts: 1480933687

View Profile Personal Message (Offline)

Ignore
1480933687
Reply with quote  #2

1480933687
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
vectorvictor
Newbie
*
Offline Offline

Activity: 28


View Profile
July 11, 2011, 07:22:00 AM
 #42


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.



Does not quite follow.  Python supports all three paradigms (although the functional aspect has been somewhat nerfed in recent versions).


Python is easy to learn, very clean (even pretty), has incredible libraries ("batteries included"), and is supported by an awesome community.  It plays well with others (e.g. you can use inline C for huge speed boosts in critical sections).  It is a terrific scripting language and glue language, and doesn't look like line noise (yes, I'm looking at you, Perl).

I've written programs in at least 22 languages.  When I have a choice, I now choose Python for quick coding, C / C++ for heavy lifting (i.e. computationally intensive stuff).  Scheme (a very clean dialect of Lisp) is beautiful and powerful, and I would use it more often if I had my druthers (plus, thinking in Scheme makes you smarter).

Web programming is a mess.  If you really need to do it, maybe try Javascript and HTML5, and just skip all the mistakes of the last 20 years.

Obviously, I have a strong bias toward "clean" (the concept, not the language:).


penny for my thoughts:  1EWD8L6ujFQMDiDn8Se9SP9A4yaxwpbRks
befuddled
Member
**
Offline Offline

Activity: 74


View Profile
July 11, 2011, 07:55:13 AM
 #43

C++. Accept no substitutes.
aeroSpike
Jr. Member
*
Offline Offline

Activity: 42


View Profile
July 11, 2011, 08:06:16 AM
 #44

PHP can do ANYTHING!

Yeah right. Write a driver in PHP, or an Operating System.
And even for what PHP is designed to do there are much better solutions.
ElectricMonk
Jr. Member
*
Offline Offline

Activity: 52


View Profile
July 11, 2011, 08:52:54 AM
 #45

+1 Ruby

^^^ That stuff is pure ^^^

Why don't you go build something interesting for Bitcoin in SproutCore

It's a mantra of the Pragmatic Programmer that you should learn a new language every year. Never found the time myself.
bitplane
Sr. Member
****
Offline Offline

Activity: 321

Firstbits: 1gyzhw


View Profile WWW
July 11, 2011, 09:01:37 AM
 #46

I'll also say Python, firstly because it's my favourite language, secondly because OP says he/she was a BASIC programmer and Python reads like BASIC but introduces more complex programming structures.

I wouldn't recommend Lisp unless you want to become a computer scientist or to write programs in Emacs. Most people learn to program so they can achieve things, not for the art of programming itself. Python is a language that gets stuff done in very few lines of code, which is what most people want/need.
chickenado
Full Member
***
Offline Offline

Activity: 172


View Profile
July 11, 2011, 09:02:27 AM
 #47

For a beginner I would recommend Ruby because it's human-centered, while most other languages are machine-centered.

phungus
Full Member
***
Offline Offline

Activity: 128


I'm doin' fine on cloud 9


View Profile
July 11, 2011, 11:32:18 AM
 #48


I learned Perl in the early 90's and never felt the need to learn anything else, but I'm a sysadmin.

It has the Catalyst framework for MVC web apps, and it has POE for an event driven framework.

There's lots of sample code and tons of good books. Lots of tutorials.

Perl code can look messy if the person writing it is a mess. This is the same for any language.


It's not the best or the fastest but it works for pretty much any situation just because it's been around for so long and is on pretty much every 'nix box and can be put on Windows easily too. CPAN modules are easy to download and install.

Also, pretty much every web host in the world supports Perl.


It also support object oriented programming semantics, of course.



BitVPS -- Senior System Admin, Co-Owner
http://www.bitvps.com -- Reliable Servers and Support - KVM, OpenVZ & Dedicated
relative
Jr. Member
*
Offline Offline

Activity: 56


View Profile
July 11, 2011, 11:38:59 AM
 #49

master C++.
you can learn almost any other language within an hour after you've done that. (except maybe functional languages like Haskell)
Rassah
Legendary
*
Offline Offline

Activity: 1624


Director of Bitcoin100


View Profile
July 11, 2011, 02:27:03 PM
 #50

Var'aq. Learn Var'aq. http://freshmeat.net/projects/varaq/ Then you can program Bitcoin in Klingon, making it an intergalactic currency, not just an international one Cheesy

dserrano5
Legendary
*
Offline Offline

Activity: 1638



View Profile
July 11, 2011, 05:31:06 PM
 #51

I'd go for Perl. 90% of what you want to do has already been done and is available from CPAN.

mouse
Jr. Member
*
Offline Offline

Activity: 56



View Profile
July 11, 2011, 05:49:02 PM
 #52

I'd go for Perl. 90% of what you want to do has already been done and is available from CPAN.

Quotes collected by Bruce Eckel:

Python is executable pseudocode. Perl is executable line noise.

Perl is like vice grips. You can do anything with it, and it's the wrong tool for every job.

Perl is worse than Python because people wanted it worse. Larry Wall (Creator of Perl), 14 Oct 1998

I would actively encourage my competition to use Perl. Sean True, 30 Mar 1999

Any intelligent fool can make things bigger, more complex and more violent. It takes a touch of genius and a lot of courage to move in the opposite direction.
dserrano5
Legendary
*
Offline Offline

Activity: 1638



View Profile
July 11, 2011, 06:24:10 PM
 #53

Quotes collected by Bruce Eckel:

Any (preferably recent) opinion from yours? Obviously you haven't seen much Perl code.

In any case, I'm not following this argument. Just gave my opinion and that's all.

Djao
Full Member
***
Offline Offline

Activity: 150


View Profile
July 11, 2011, 06:32:24 PM
 #54

ampkZjWDQcqT
Member
**
Offline Offline

Activity: 70


GNU is not UNIX


View Profile
July 11, 2011, 07:37:33 PM
 #55

I wouldn't recommend Lisp unless you want to become a computer scientist or to write programs in Emacs. Most people learn to program so they can achieve things, not for the art of programming itself. Python is a language that gets stuff done in very few lines of code, which is what most people want/need.

That's an horrible advice. Angry!. Software quality is decaying because now days the average programmer don't cares enough to properly learn the underlying theory required to make quality software. Instead they just want to "achieve things" or "get things done", as if to acquire knowledge wasn't an achievement in itself. Ignorance of the principles of your work is not an option. Please don't incentive new programmers to continue polluting the software collection with crap.

If you found my comment useful please express your gratitude by doing an action of similar magnitude towards a better society. Thanks you!.
Rassah
Legendary
*
Offline Offline

Activity: 1624


Director of Bitcoin100


View Profile
July 11, 2011, 08:07:39 PM
 #56

I wouldn't recommend Lisp unless you want to become a computer scientist or to write programs in Emacs. Most people learn to program so they can achieve things, not for the art of programming itself. Python is a language that gets stuff done in very few lines of code, which is what most people want/need.

That's an horrible advice. Angry!. Software quality is decaying because now days the average programmer don't cares enough to properly learn the underlying theory required to make quality software. Instead they just want to "achieve things" or "get things done", as if to acquire knowledge wasn't an achievement in itself. Ignorance of the principles of your work is not an option. Please don't incentive new programmers to continue polluting the software collection with crap.


Lucky for you, the main pushers of "Get things done" are companies that need to get the software coding done as quickly as possible for as little money as possible. That means that the "get things done" development is pretty much limited to pay-for software. Your freeware/GNU stuff is still safe Smiley

99Percent
Full Member
***
Offline Offline

Activity: 179



View Profile
July 11, 2011, 08:14:37 PM
 #57

Has anyone mentioned Free Pascal? It has an IDE and it can virtually do anything and natively with practically any CPU or O/S. For GUI applications you can use Lazarus IDE and practically most widget sets. Its fully open sourced.

It has a rich ancestry with Delphi and Turbo Pascal, with tons of open source libraries.

Easy to learn, readable code, object oriented, and simply rock solid fast compiled native executables like C, or C++.

I am thinking of making a bitcoin client port to Lazarus, if only I had some time...
SmokeAndMirrors
Full Member
***
Offline Offline

Activity: 168


View Profile
July 11, 2011, 08:28:36 PM
 #58

You can clearly get an idea from this thread that the language is entirely up to you.. Not everyone will agree that there is a "best" language, ever.

Pick one and have fun with it. If you get bored or don't like the language, on to the next one.

Help Bitcoins by buying clothes, technology, books, etc. through people/stores that accept BTC. This will increase overall value of BTC as well as mitigate unnecessary bank transaction fees.

My address -
1EM9HGg1SEa5Bux1rVEPxGqGSfNTTc9EkC
Vladimir
Hero Member
*****
Offline Offline

Activity: 812


-


View Profile
July 11, 2011, 08:35:55 PM
 #59

and my favourite is erlang , though in the end it all boils down to 3 logical operations, so, who cares...

-
ampkZjWDQcqT
Member
**
Offline Offline

Activity: 70


GNU is not UNIX


View Profile
July 11, 2011, 09:36:39 PM
 #60

[...]

Lucky for you, the main pushers of "Get things done" are companies that need to get the software coding done as quickly as possible for as little money as possible. That means that the "get things done" development is pretty much limited to pay-for software. Your freeware/GNU stuff is still safe Smiley

The GNU project is about free software, free as in freedom, not freeware. Big companies have been involved in the development of free software including parts of the GNU operating system like the GNU compiler collection. Does it exist a company interested in spending as much money as possible?. There exist crappy free software. Software ought to be free, both wonderful and crappy. Also, the problem with free crap isn't nearly the same as with proprietary crap.

If you don't know what you're talking about it's better to get informed first, that way you can make more beneficial comments. I this case, a quick check of the site of the project you was to comment about would have sufficed.

If you found my comment useful please express your gratitude by doing an action of similar magnitude towards a better society. Thanks you!.
Pages: « 1 2 [3] 4 5 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!