Sorry if this is a stupid question, but I'll take the crap for what its worth.

Im really asking myself every day the same question: What programming language should I learn?

I really need to clear some things up, first of all some questions:
1. Ruby on rails, I hear alot about this, Ruby is the programming language of it, does any programming language looks like it?
2. PHP, can you make "maffia" games with PHP?
3. Java, should I learn this at all?

My goals: I want to become a programmer (not fully on my own, going to study in a few years) that can make things like twitter/facebook/maffia games(i hope you understand me, those games that you click and steal money from a baby)/forums/uploading sites or apps/iphone apps or android apps. Of course I am not able to learn this all, I need to be realistic, but do programming languages look the same or are the most programming languages totally different? Are a few programming languages able to do the same, why would somebody go for ruby and not for php or otherwise and so forth for the rest of the languages?

Hope you guys will help me out.

Recommended Answers

All 18 Replies

Member Avatar for diafol

php is easy - too easy in fact. Easy to get into very bad habits. You can get good results with terrible coding. Be careful.

Your Twitter/Mafia idea brought a smile to my face.

I really do not want to create a new twitter, I just want to be able to create those sort of webapplications. That's my goal, so thats why I really needed to know where I need to lay all my attention on. I don't really see how you see my Twitter/Mafia thing as 1 idea? Maybe my english is so bad :P

If you want to do web programming, then PHP is a good choice for a bunch of reasons. Besides being pretty easy to learn, it is supported on almost all servers, it has a large community with lots of open source code and lots of help. You can do almost anything that you might need to do from a server point of view. It's also free as is MySQL the main database used with PHP. To build more sophisticated applications, you would want to learn some CSS as well and become familiar with JQuery or one of the other Javascript libraries. PHP isn't made to write games but it could be used for a role playing game (probably with some javascript on the front end).

If you want an article that compares Ruby and PHP have a look at this.

I recently discovered Titanium, a system that allows you to use PHP (and some other languages) to create apps for a variety of platforms including Android and IPhone. You can do a search for it and see what it can do.

Thanks for the answers. PHP sounds good, do I need to learn basic html before PHP or can I just skip HTML, I do have some basic HTML skills, but I'm not very advanced in HTML, what do you guys recommend? First be advanced at HTML or just go with the basic skills and be a wicked programmer @ PHP/Java/Ruby?

Member Avatar for diafol

Walk before you run. HTML/CSS as a foundation. PHP/MySQL and JS later.

if youre goal is to make webapp, try to visit [removed].

I visited this website, I really have no clue what to do with this website?

Member Avatar for diafol

Spammer. Ignore it.

Every programming languages have their own taste and own pretty structures. With my opinion, there is only two options. 1,) Programming for the windows application, 2.) Programming for the web application.

The number 1 is related with software engineering. You can choose many languages such C, C++, C#, Java, and so on. They are primarily pretend to develop the windows (desktop application).

The number 2 is related with web application development. Like software programming, you can choose multiple languages to develop the web application such as PHP, Ruby on Rails, Python, JSP, etc.

Yep, PHP is opensource and it is easy to use, and there are many PHP communities and they can help you to become a good PHP programmer in the short while. I am carzy in PHP too and that is why I am in PHP forum :). If you like web programmer, you must have a basic knowledge about HTML, CSS, Javascript, because they are foundation for the creation of the web pages. And you also need the database languages like MySql, MsSql, PostgreSql, etc. The database can help you to keep your data and you can in/out these data with one of the programming language (with my example, PHP).

So, what is in your mind ? Think about what you want to do and what is the best with your desire. We cannot choose for you. All we can do is just thinking for you and bring you approaching your goal.

Member Avatar for diafol

Dannis - did you have a timescale in mind? When are you going to start building the next Twitter?

Lol, u a funny guy..
im thinking about building a twitter for maffia people so they can track who is already dead.

I would suggest you start with Python, strange mh? Nope! It will teach you good coding style, and basics of programming. Then to do web app you have choice to learn PHP (they are both interpreted so not much PHP specifics to learn) or go for Python frameworks like the famed django. I would say stay away from Java, given your explanation above. It is overkill ;)

Every programming languages have their own taste and own pretty structures. With my opinion, there is only two options. 1,) Programming for the windows application, 2.) Programming for the web application.

The number 1 is related with software engineering. You can choose many languages such C, C++, C#, Java, and so on. They are primarily pretend to develop the windows (desktop application)..

Why not number two also? When I do PHP/MySQL I use almost all design/techniques I use for desktop apps. May be I'm a bit unprofessional?

Maybe you are right, or I am stupid writer. Yeah, some are using both fields. :)

I am stupid writer. :)

I don't know of stupid boy who can write what you wrote. You just "slipped" ;)

Member Avatar for diafol

Most languages are pretty similar when you get under their skin. They all (*most*??) use control structures (if/elseif/else and switch equivalents), arrays, loops. You could probably write 80-90% of your code with just those. You can also use an Object Orientated approach with most. I learned to code procedure-wise, so OOP is a real challenge for me. I would recommend that immediately following your immersion, that you learn OOP. Some languages insist that you use OOP from the get-go.

As I mentioned earlier, PHP is easy to learn, so you get really good results quickly, even though the code may really suck. Other languages are less forgiving.

If you are concentrating on web programming, you need to be aware of the limitations of each langauage - ie. what they can and can't do; what they can do well and what they can do, but poorly.

New technologies are emerging all the time. If you're set on producing a major app like you mentioned, you'll need to know how to programme server-side and client-side code (back end / front end), deal with data storage (permanent and temporary), data transfer and formats, be clued up on security and about a million other things. The big apps / sites of today were not (not usually anyway) built by one guy in his basement. They were built by a team of people. Many also had the backing of corporations. So in addition, you'll have to get clued-up business wise and figure out how to monetise your work.

Thanks for all the answers, and maybe I explained it wrong. I know I need a team of developpers to develop something like twitter oid. But I wanted to know what language I needed to learn to build a basic of sites like twitter/facebook etc. And ofcourse i am not going to build another twitter nor facebook, I mean the technique behind it, being able to follow people/block or add friends/delete friends. The technique and scripts behind some websites or webapplications really amazes me. But now I have some clear answers! Thanks to all of you :-)

Member Avatar for iamthwee

To make twitter you need to be a girl.

To make twitter you need to be a girl.

:-O

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.