What programming languages to learn/start out with?

JamesB1

New member
May 7, 2009
105
0
0
Looking to learn programming, what languages are recommended to learn. Have a lot of free time, hoping that learning programming can help in AM but also just looking to maybe make apps or programs for fun and possibly profit down the line.

Learned a bit of Java in college class, I didn't really like it, it just wasn't intuitive for me. I'm currently teaching myself Python and I like it a lot more.

I am thinking about sticking with Python for a while, and then Django for web stuff.



Also If possible, I'd like examples of different languages and what they could do. For example, what is the FB ads manager coded in?
 


Personally I'd recommend PHP, and specifically CRUL
you could automate almost anything; you can code a nice web front end if you want to sell it, but if its for your in-house productivity tools, simply code up a quick command line tool

I do it for a lot of my tedious/repetitive day-to-day tasks.
 
I'll recommend either PHP or Ruby, your pick. Both are powerful, but the learning curve isn't that bad.
 
If you're already learning python, just stick with it. PHP would feel like a massive step backward. Ruby+Rails might be more fun for rapidly prototyping webapps, but personally I think Py+Django will take you farther at the end of the day.
 
If you're already learning python, just stick with it. PHP would feel like a massive step backward. Ruby+Rails might be more fun for rapidly prototyping webapps, but personally I think Py+Django will take you farther at the end of the day.

I just installed rails 3 on my Ubuntu VM...what do you want to build?
 
I just dove back into C, I have a NEED for speed baby! (true story)

However as for your issue stick with Python.

As for your other question about the FB Ads manager, it all comes down to the basics: some sort of scripting language whether it be PHP/Python/Ruby, HTML, maybe even Javascript if you want to do some cool stuff. It's all about putting all that together into one product.
 
I just dove back into C, I have a NEED for speed baby! (true story)
Err, how much speed? Modern compilers/virtual machines/jitters are so efficient that the speed difference in between them is quite negligible unless you're worried about startup time or are doing MASSIVE processing in peculiar ways.
 
PHP for website stuff. Python for actual heavy lifting since you can make applications with it.

Just keep in mind that Python is vastly different in syntax and structure than current languages. I wouldn't recommend learning that first since it could handicap you later on. It's like learning an oral language. No matter what you learn second (French, German, etc.), you always think in your first language.

I learned Java first and think in that syntax and programing structure. PHP is not too much different than Java syntax-wise, but Python leaves out a lot of stuff like stop characters and curly brackets. Had I learned that first (like VB), then it would be harder to transition.

It's the same concepts for people saying it's much easier for an object-oriented programmer to learn procedural than it is for a procedural programmer to learn object-oriented. That's why most colleges will teach Java instead of another language first.
 
Err, how much speed? Modern compilers/virtual machines/jitters are so efficient that the speed difference in between them is quite negligible unless you're worried about startup time or are doing MASSIVE processing in peculiar ways.

It's debatable IMHO. I think the web has gotten so sloppy speed is completely wrote off these days in most cases. I think a lot of people only focus on the small scale, in which case speed of the language would matter very little at all. That's all good and fine if you never plan to ramp things up.

However my issue really isn't directly about PHP or other SSSL's, rather how I could leverage their flexibilities while improving the speed of complex data crunching effectively. This is what I think about during the day, like "how much could a site like Facebook save by leveraging low level code to do most of the lifting which in turn would cause them to have to operate less servers".

As you will find benchmarks here:
Computer Language Benchmarks Game

PHP is roughly 100 times slower on average than C code (that's not even mentioning the amount of memory you would save), so if you are doing any kind of data crunching (and on a larger scale) it simply isn't as particle. Yet you see these massive web beasts like Facebook or Twitter (yeah yeah they aren't all PHP anymore) but often times that's what causes major problems for scaling. PHP is just too much of a resource hog.

I'm not saying PHP/Ruby/Python don't have their places, they are excellent for rapidly creating sites (although rapid prototyping is another thing all together). Also, yes you could also use Facebooks HipHop to get about 50% more juice out of PHP, but it would still be 50 times slower and have much more overhead than C.

I drive myself crazy with this shit some days you have no idea.

Trying to stay on topic of the thread, it's not something I would recommend simply jumping into C. Although Java does look like a relativity friendly and speedy alternative.
 
^ Note how I used "compilers/virtual machines/jitters". Never mentioned scripting languages :D (Ok ok Python has bytecode, but looking at the performance estimates I'd say that their bytecode interpreter doesn't even come close to the .NET Jit). I agree completely with everything you've said. Scripting languages are excellent for some things, and more "low level" languages for other things. At the end of the day they're just tools in your toolbox.

I drive myself crazy with this shit some days you have no idea.

Actually, I do :D Right now I'm coding a scraper that grabs data via a HTTP GET with C#, converts it into a byte array, and then injects itself with a small offset-independant x86 assembler program to process said byte array and return the results to the C# program in a simple custom struct. Why am I doing this? Because I can :D Am almost done, can post code here if you're interested ;)
 
I would recommend PHP , its possibly the most powerful language and used all over the world .. I would say at least 80% of dynamic websites are coded in PHP (e.g facebook).
 
^Most powerful how? Because it is slower? Come on. I like PHP most but I would rather see most stuff in C where possible.
 
What programming languages to start with?

It all depends on what your aims and needs are and it depends on your method of delivery.

Is it a browser-based app? C# is a beautiful programming language and Microsoft's web platform has evolved considerably over the years. It's also great for desktop apps. There's virtually nothing you can't do with C#. And it performs well.

Want to write mobile apps? You might want to re-think Java, unless you want to learn Objective-C (iPhone, iPad) which, from what I've seen is an awful beyotch. Android is basically J2ME.

Another option is PHP. Ubiquitous and user-friendly, albeit slow or antiquated.

Try Ruby -- it has a bright future, and it's elegant. Less IS more.

I would avoid C and C++. Make it easy on yourself so you can make cool things and enjoy the learning process. If you really want to mess around with pointers and memory management, start with C#.

Ultimately, what's more important than the language you choose is that you learn one language *well*. Learn one language inside and out, so that when you need to pick up another language, it will be trivial for you. The principles are all the same. An object is an object, a method is a method, etc.

Also: don't waste your time reading books end-to-end. Too many books are written by authors trying to make a name. Even worse, they're in bed with the platform vendors *cough* Microsoft.

Build something cool. Charter a pet project and learn things as needed to build what you want. The only way to really learn is by doing lots of it.

Talk to others that know more than you and are nice ==> The ALT.NET Community Don't try to learn in a vacuum.

Have fun!
 
If you're going to learn PHP, please remember that 95% of the people that write blog posts with example code have no idea what they're doing and ought to be shot.