Pages:
Author

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

member
Activity: 84
Merit: 10
July 19, 2011, 03:41:34 PM
#75
If the question was, "which language is not to learn?" than I would know the answer: "PHP".


And why?

If I answer that I would probably offend a lot of people. So,  I'll pass on it this time.

Also, last time I checked axioms do not require proof.  Shocked



You started the troll... There is no bad language only bad programmers. PHP has the best documentation ever, the most servers running it and since version 5 allows object oriented programming... Sure it offers so much freedom that if you do not code clean your program will be a mess...
hero member
Activity: 812
Merit: 1001
-
July 19, 2011, 12:57:34 PM
#74
If the question was, "which language is not to learn?" than I would know the answer: "PHP".


And why?

If I answer that I would probably offend a lot of people. So,  I'll pass on it this time.

Also, last time I checked axioms do not require proof.  Shocked

member
Activity: 84
Merit: 10
July 19, 2011, 12:54:41 PM
#73
If the question was, "which language is not to learn?" than I would know the answer: "PHP".


And why?
full member
Activity: 140
Merit: 100
July 19, 2011, 12:52:26 PM
#72
Back in 96 when I took my network engineer skooling, we had one guy come in and showed us how to write a simple webpage in notepad using simple HTML.  That was my first experience in making webpages and just learning how to do that was pretty cool.  I suggest to anyone who wants to learn this stuff to start by making non dynamic websites just using notepad...forget your dreamweaver and frontpage or whatever and learn how to code a webpage by hand in html.... ooo...and don't forget how to code a proper table cuz you will be doing a lot of those later when you start pulling data out of a database in whatever other languages you will learn.

If you don't know your HTML, there is no point in trying to make a web based app is there?

But like many others here, I do agree PHP can be a nightmare so I'm teaching myself some python and loving it....but you still have to know HTML well to make anything.

hero member
Activity: 812
Merit: 1001
-
July 19, 2011, 12:26:32 PM
#71
If the question was, "which language is not to learn?" than I would know the answer: "PHP".
hero member
Activity: 938
Merit: 500
https://youengine.io/
July 19, 2011, 11:51:31 AM
#70
Start with a language that is not mainstream, (so don't start with Java, C++, C#, etc.).

The reason is simply because you are much more likely to find people with really deep knowledge who can teach it to you the correct way if you don't use a language that attracts millions and millions of clueless beginners (this is what I call the PHP-effect: The blind leading the blind).

Once you have learned your first pogramming language and know the most important concepts you can easily learn any other language in no time.
full member
Activity: 168
Merit: 100
July 19, 2011, 11:39:54 AM
#69
I would start with Python, Java or C++

With PHP/Javascript you learn to write crap code, so don't start with these Smiley
hero member
Activity: 938
Merit: 500
https://youengine.io/
July 19, 2011, 11:34:05 AM
#68
Has anyone mentioned Free Pascal?

I have started something: http://code.google.com/p/fpbitcoin/ but Its running on low piority at the moment. I hack on it a few hours every few days. I'm doing this (mostly on my own) as an attempt to (a) learn and understand every little detail of the bitcoin protocol and (b) to document for me (and others) what I have found.

If everything succeeds then the end result will be a lightweight cross platform bitcoin client (a non-gui unit implementing the bitcoin protocol and a rich graphical client to manage a wallet) that does not suffer from the many problems of the "official" client. But this might take some time until its usable since I'm only working part time on it and I want to do most of it myself (for the learning effect).

sr. member
Activity: 371
Merit: 250
July 12, 2011, 02:52:36 PM
#67
herp derp php.
Not just for web programming! (Multi-process(PHP has no threading) socket servers in the "wrong" language FTW! Cheesy)
member
Activity: 70
Merit: 10
GNU is not UNIX
July 12, 2011, 11:59:23 AM
#66
In some apps only 1.5 times  slower than C.
 Much faster than other good alternatives.

http://c2.com/cgi/wiki?AsFastAsCee.
hero member
Activity: 717
Merit: 501
July 11, 2011, 09:49:54 PM
#65
i wopuld say

hotbasic
freebasic
javascript

java, php, python just makes bloatware.
qbg
member
Activity: 74
Merit: 10
July 11, 2011, 07:30:00 PM
#64
and my favourite is erlang , though in the end it all boils down to 3 logical operations, so, who cares...
NAND is universal, and so is NOR (Minecraft redstone circuits are NOR based).

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
Yeah, Lisp has the downside that it is so powerful that other languages become tedious and time consuming to use.

If you want to work on the details of Bitcoin itself, of course, learn C. If you want to build anything that needs to be as efficient and secure as humanly possible, there's just no other choice.
The language that gladly lets you write code with buffer overrun exploits is secure?
k
sr. member
Activity: 451
Merit: 250
July 11, 2011, 05:55:25 PM
#63
i'm similar to the OP and bitcoin has rekindled an interest in learning some coding.
I decided to try to learn python because I saw some of the python scripts like the bitcoin tools created by Gavin Andresen. I thought it was as good a place as any to start.

some good ideas on this thread. thanks all.
good luck OP.
newbie
Activity: 27
Merit: 0
July 11, 2011, 05:44:13 PM
#62
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...
There's a lot to be said for the Pascal based languages. They teach you good practices and principles. You can achieve 99% of the speed and efficiency of compiled C without the high chance of things like memory leaks.

The only problem is that no one really uses Pascal out in the real world, as C-syntax won the battle for popularity. And unfortunately, the Pascal high-level syntax can be confusing when shifting between languages (all future variables having to be declared at the start of functions etc.)

I'd definitely recommend Pascal/Delphi as a language to learn if you want to learn about programming. But don't expect to be contributing to projects any time soon. It's a shame, as it's a good language really.
newbie
Activity: 34
Merit: 0
July 11, 2011, 05:41:39 PM
#61
If you want to work on the details of Bitcoin itself, of course, learn C. If you want to build anything that needs to be as efficient and secure as humanly possible, there's just no other choice.

Given OP's needs, however, I say definitely Python. I know many of you are old hands at doing web work with PHP and think it's the only way to go. I strongly suggest you check out Django. It's extremely powerful, and anyone with a working knowledge of Python can pick it up and get running, and the sky is the limit in terms of the complexity of what you can build. Needless to say, Bitcoin Harbor is Django-based, and it's making our lives quite easy for the new features we're rolling out.

OP was also interested in writing smaller scripts, which Python is great for. It's not "just" a scripting language, and you can write very "real" code with it once you know what you're doing, but it can certainly be used for scripting and has a fairly gentle, but deep, learning curve.

Nor do I believe that learning Python and learning "core programming concepts" are necessarily inconsistent at all. I studied CS in college, I'm fluent in C/C++, I remember some Java, I've worked in assembly. While low-level skills are good to have, you CAN still apply them in a high level language - in fact, you'll never be truly fluent in a language like Python until you understand what it's doing underneath the hood.

It's also my opinion that high-level languages teach you ways of thinking that can make you incredibly productive, i.e. functional programming. Specifically I think Python is gateway drug to Haskell, and Haskell is the best rush a coder can get - though it's arguable at best whether you can use it for web work.

      -Tristan
member
Activity: 70
Merit: 10
GNU is not UNIX
July 11, 2011, 04: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.
hero member
Activity: 812
Merit: 1001
-
July 11, 2011, 03:35:55 PM
#59
and my favourite is erlang , though in the end it all boils down to 3 logical operations, so, who cares...
full member
Activity: 168
Merit: 100
July 11, 2011, 03: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.
full member
Activity: 411
Merit: 101
🦜| Save Smart & Win 🦜
July 11, 2011, 03: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...
legendary
Activity: 1680
Merit: 1035
July 11, 2011, 03: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
Pages:
Jump to: