6

I'm interested in developing for the web and I'm curious what languages should I know besides html, css, javascript, php/python/ruby. I don't know much about c# or java to make a decision whether to learn them or not, are they used much in the field I'm interested in? What other technologies should I look into ?

  • Yes, C# and Java are used frequently for building web applications, particularly if you're talking about business applications, as opposed to hobbyist applications. – Marcie Dec 19 '10 at 20:05
  • It all depends of what you really want to do. If you plan to build small apps for small companies, you seem to know what it requires. Anyway I'd advice to learn python, and Linux shell command line, and the most powerful editor of all times: vim. – Olivier Pons Dec 21 '10 at 10:17

10 Answers10

8

HTML and CSS are not programming languages.

Google App Engine supports Java. Microsoft IIS supports C#. If you're already familiar with html, css, js, php, python, and ruby, don't bother learning any more langauges, start programming!

You need to learn some SQL to interact with database.

segfault
  • 577
  • 2
    Yeah I know but I thought of including them otherwise I would of got a comment saying to learn them first. –  Dec 19 '10 at 18:53
  • +1 Excellent answer, you already know enough for the "interested in" stage, with the exception of SQL. I would give another +1 for the HTML/CSS are not programming languages, they are document description models. Far too many "programmers" that know only HTML/CSS. – Orbling Dec 19 '10 at 18:55
  • 2
    +1: Good answer. BTW, Google App Engine supports Python also. – John Dec 19 '10 at 19:01
  • 13
    "HTML and CSS are not programming languages." And neither are SQL. But they are still languages. – Lennart Regebro Dec 19 '10 at 19:22
  • 1
    Actually most comp sci nuts would say that HTML, CSS and etc. are technically programming languages. They are declarative programming languages. They may not be Turing complete, like all the imperative programming languages, but they still are programming languages. – Spoike Dec 19 '10 at 21:09
  • 5
    I don't see the phrase "programming language" anywhere in the question. But I agree with the rest of your answer: if he knows HTML, CSS, Javascript, and several languages suitable for server-side dev already, he doesn't need another programming language; and SQL will surely be the one important thing he's missing. – Carson63000 Dec 19 '10 at 22:11
  • 6
    He didn't say HTML or CSS were programming languages; he said they are languages, and they are. – Mud Dec 20 '10 at 04:48
  • A discussion about this: http://programmers.stackexchange.com/questions/28098/why-does-it-matter-that-html-and-css-are-not-programming-languages – Ben Lee Apr 29 '13 at 19:52
8

You will need to learn SQL at some point and it's probably better to learn it sooner rather than later. You'll need to know a thing or two about databases no matter what framework or language you work in so the effort spent on learning SQL won't be wasted. Most frameworks and languages try their best to abstract the database access layer but it varies from language to language and you won't see the unity unless you know SQL. Lately there's a push away from relational databases but it's still a good idea to learn the basics of SQL simply because many of the terms and concepts have analogs in non-relational settings as well.

  • 1
    It should be noted that you only need to know SQL if you're using a SQL database. – Jason Baker Dec 20 '10 at 07:25
  • If we were to get really picky we could note that you could probably get away with not knowing it even if you are (depending on platform and framework) but... one would expect a non-trivial application to need to store data and the odds are that it will be stored in a database (SQL or NoSQL, but more probably SQL) and words 7, 8 and 9 in the above answer are "at some point" – Murph Dec 20 '10 at 07:49
  • @Jason Baker: I disagree. An understanding of databases is required for any non-trivial web application and SQL has been around for a long enough time to have tons of documentation and streamlined learning resources. The same can not be said for other database technologies so SQL is a good entry point. –  Dec 20 '10 at 08:26
5

You will get away with knowing:

  • At least one object-oriented language: Java, C# are currently among the most popular.
  • Not languages per se, but framework(s) to go with them (ASP.Net, JSP, Spring or whatever)
  • SQL - for talking to databases

  • HTML & CSS (purists will argue these aren't languages (personally I disagree - what does the 'L' in 'HTML' stand for?) but whatever - you still need to know them.)

  • JavaScript and the JQuery libraries.

  • XML - used everywhere.

  • English (not you personally, but generally speaking, and in at least two thirds of the world)

Over and above this: any other languages - Python or Ruby perhaps, *nix shell scripts, DOS for batch files, UML for requirements definition, oh and maybe some Klingon so you can socialise with your geeky colleagues*.

* before you all start downvoting, I'd like to point out that this last bit was ajoke ;-)

immutabl
  • 287
3

To get a quick start, you might want to look at frameworks like Ruby on Rails, Django or Grails. To use them, you need to learn Ruby, Python resp. Groovy. Those languages are relatively easy to learn, so if you are new to web application programming, you might want to start with one of them.

JavaScript, HTML, CSS are necessary in any case. You will probably need some SQL, too.

user281377
  • 28,382