What programming language should I use?

Louey37

New member
May 31, 2011
906
10
0
I have an idea for a website I want to create but I have absolutely no idea where to start even writing a design brief. I've never designed a site before and have no idea where to start with languages. I was hoping someone here could tell me what language I should be using for something like this so I can even start talking to a developer.

The website front end functionality will be relatively simple. It just needs a simple interface where users can vote on multiple options (think hotornot.com).

On the back end, users will need to be able to register accounts, input questions (What's the best action move of all time?) and then create multiple possible answers, and submit them for public voting. It will need to integrate efficiently with social media platforms.

There are also lots of backend membership options that will need to be integrated such as paid upgrades, account limitations and restrictions, etc...

Is this something that can essentially be done with most programming languages or is it something that would be better suited to a specific language?
 


Learn to program with your goal being to make this website.

I'd go with PHP, Ruby, or Python. Start off grasping the basics of the language.

Here's an example:

96.png


Start small and work up.

Once you get the hang of a language, then I'd start looking into a web framework. You'll use one to build your website. Frameworks handle a lot of cruft for you so you can focus on the actual logic of your website.

Let's pretend you check out PHP, Ruby, and Python for a while and decide that you most enjoy Ruby because you have good taste and enjoy life.

Ruby has one of the most popular web frameworks: Ruby on Rails. One of Rails' best features is that there's so many resources available for learning it.

Some favorite resources:

  • Michael Hartl's Rails Tutorial walks you through, step by step, building a Twitter clone. One of the best framework tutorials ever made.
  • Railscasts are 10-15min screencasts that show you how to do random things in Rails.
  • Rails Guides
Ruby also has a popular microframework called Sinatra. While you'd want a framework like Rails to build the website you're talking about, Sinatra makes it easy to make smaller apps while you learn.

Here's a fully functional Sinatra application in one file. You can probably figure out what's going on in it:

97.png

98.png

99.png

PHP and Python have similar frameworks, but they aren't as beautiful as the majestic Ruby beast.

Anyways, I'm obviously getting way ahead of you, but my point is to give you an idea of what some tools look like. Especially as someone that might have no idea what it even looks like to build an app.

If this sort of stuff looks dope, just jump in. You'd be surprised how attainable your goal of making this site yourself is.

If you need any help, WFers like mattseh, dchuk, myself, and many others are always looking for an opportunity to procrastinate our work by helping out noob programmers.
 
@jake232 - Thanks for the heads up. I've heard ruby thrown around a few times so I think I might give it a crack.

@Mahzkrieg - Wicked post mate. Thanks for all the basics. I really appreciate it.

I've never programmed before but I've always been curious. from what you're saying, and what I've heard around, Ruby is the way to do so I think I might give it a crack. I did a bit of basic reading today on Python, just to try and get my head around a few of the most basic fundamentals.

I'll start digging into it a bit more and see what I can come up with.

@Kiopa - I haven't even gotten that far yet. I've still working out development stages and I think the MVP will be pretty cheap to get up and running. The fully developed site is going to have a custom made advertising platform and complex algorithms and lots of back end features so it's going to be expensive but I just want to get the MVP up and running first.

I think I'm going to give the programming a crack myself. I like to learn things so I'll see how I go. If I fail miserably, I can always throw a few grand at it as see what happens.



L.
 
Louey, just to give you some insight...

I started learning Ruby earlier this year because I wanted to build some standalone apps. I had a hell of a time finding any worthwhile GUI for it. In the end, I didn't. Ruby on Rails MIGHT have helped, but my understanding is that it's all browser based.

Anyways, after looking at all of that... fast forward to the present. I've decided that I don't like all of the website CMS's out there, they are too bulky and bloated in order to accommodate anything we might possibly want. But I largely build static sites that don't need a zillion options, or even a log-in for the site.

So I'm going to build the site using PSD -> HTML/CSS/PHP. It's going to be more than enough to do what I want to do, and all three of those are dead simple languages to learn and use.

But you are talking about users signing up, logging in, generating content, that means you will need databases too. I've not messed with that, but I'm sure HTML/CSS/PHP can connect to databases, because Wordpress does.

Anyways, not pushing you here or there, just giving some insight into a similar situation. Best of luck.
 
Interesting Hobster. I'll check it out.

I'm not sure that HTML / CSS can do all the fancy, fun, and interesting stuff I'll need for this site but I'll keep it in mind. I guess it couldn't hurt to learn HTML and CSS given that most of my sites are in wordpress.

I'll look into it.

What did you use to learn it? Is there a book you'd recommend?
 
Interesting Hobster. I'll check it out.

I'm not sure that HTML / CSS can do all the fancy, fun, and interesting stuff I'll need for this site but I'll keep it in mind. I guess it couldn't hurt to learn HTML and CSS given that most of my sites are in wordpress.

I'll look into it.

What did you use to learn it? Is there a book you'd recommend?

HTML and CSS are dead easy to learn and very self explanatory. I seem to have picked it all up from just fiddling with different sites over the years. IMO it's pretty essential if you own a website to know how to do simple edits.

If you're looking for some programming courses then I would recommend taking a look at coursera, edx and I think a group of UK uni's just launched a new one too. I'm currently doing Computer Science by Harvard on edx and learning C (They also throw in bits of html, css and php later on). Fantastic video lectures and walk-thoughts, probably worth signing up just to see the first lecture about programming basics. This course is the first time I've managed to get myself programming in something more than HTML/ CSS, pages of text just don't work as a learning tool for me.

Good luck.
 
I'd also recommend Codecademy, quite a useful teaching platform that is totally free - currently teaches JavaScript, Ruby and Python amongst others
 
Interesting Hobster. I'll check it out.

I'm not sure that HTML / CSS can do all the fancy, fun, and interesting stuff I'll need for this site but I'll keep it in mind. I guess it couldn't hurt to learn HTML and CSS given that most of my sites are in wordpress.

I'll look into it.

What did you use to learn it? Is there a book you'd recommend?

You'd need to learn Javascript / AJAX too, in order to get the dynamic features to work probably. jQuery would probably be the best for you to learn when it comes to that. Everyone has their own opinions, but I would personally go with PHP for a programming language because:

a) it's easier to learn, as it reads more like English than Ruby or Python
b) it's very similar to Perl, which is beneficial if you need multi-threading or some back-end scripts that have a long processing time, as Perl doesn't have a default timeout limit like PHP does
c) PHP community is far larger, and there's alot more documentation out there on PHP than the others.
d) it's easier to find contractors who know PHP to help you out.
 
Ok, cool. To be honest, it seems like this is going to be way over my head for a first project. I'm thinking I'll start talking to some programmers and see if anyone want's to come on board. It's a solid project so it shouldn't be too hard to find someone who wants to jump in.

Thanks for all the advice guys, I really appreciate it.
 
Congrats on your new adventure. Learn git for version control (get a github account) and have stackoverflow on speedial because most of your questions will be answered there.

Good luck!
 
You should learn Front end first then Back end.

Front end includes HTML, CSS, JQUERY
Back end includes PHP, etc...
 
I started learning Ruby earlier this year because I wanted to build some standalone apps. I had a hell of a time finding any worthwhile GUI for it. In the end, I didn't. Ruby on Rails MIGHT have helped, but my understanding is that it's all browser based.

Even though it's posted a bit ago, just wanted to chime in on this. With rails you can still have full standalone Ruby code that does background processing. You can load the stack in for database information and models, or keep it completely standalone and still interface through regular means.

The main reason I bring this up is that when I'm building a custom scrape job/crawler/etc I build the crawler in Ruby. It then takes me about 15-20 minutes to throw a basic frontend onto it, and run both the frontend & crawler from the same set of files.

For me it just made it a lot easier to be able to run & view data from background jobs rather than writing them completely decoupled. However, if resources need to be saved and you don't need all of the overhead or don't use even half of the Rails information for the crawler - just write it standalone and connect to SQL/Redis/whatever manually and you're good to go.

Regardless, my 2 cents. Skype me if you want some examples in case I didn't explain it clear enough. :)

Edit: Unless by GUI you meant like... installing a program onto systems/phones. In that case, there's other things to explain heh.
 
Even though it's posted a bit ago, just wanted to chime in on this. With rails you can still have full standalone Ruby code that does background processing. You can load the stack in for database information and models, or keep it completely standalone and still interface through regular means.

The main reason I bring this up is that when I'm building a custom scrape job/crawler/etc I build the crawler in Ruby. It then takes me about 15-20 minutes to throw a basic frontend onto it, and run both the frontend & crawler from the same set of files.

For me it just made it a lot easier to be able to run & view data from background jobs rather than writing them completely decoupled. However, if resources need to be saved and you don't need all of the overhead or don't use even half of the Rails information for the crawler - just write it standalone and connect to SQL/Redis/whatever manually and you're good to go.

Regardless, my 2 cents. Skype me if you want some examples in case I didn't explain it clear enough. :)

Edit: Unless by GUI you meant like... installing a program onto systems/phones. In that case, there's other things to explain heh.

Quick question.. Can you do the same thing with Django and Python??