

Ask HN: What programming languages should a web designer know? - TiagoP

What programming languages should a web designer know in order to do a useful and nice Web 2.0 site?
======
Rust
HTML and CSS for sure (XHTML can't be properly handled by most server/browser
combinations, although they fake it well).

For front-end interactions, Javascript is pretty much the only answer. jQuery
is just a Javascript library, and AJAX is just a method to send/receive
information without refreshing the entire page.

For "true" Web 2.0 functionality, you'll also need to know a server-side
language. PHP is certainly one of the more popular ones (and among the easiest
to get working), but there is also Java, Ruby, ColdFusion, .net (C#, ASP.net,
VB.net,etc.), Perl, Python, LISP, ARC, etc.

Chances are you'll need to be able to store information, which pretty much
requires a database. MySQL is easy to work with, but there's also PostgreSQL,
SQL Server and Oracle (among others).

Personally, I currently use HTML 5, CSS, Javascript (with jQuery), PHP and
MySQL most frequently.

As a designer, however, your biggest concern is almost certainly going to be
the HTML/CSS side of things. A library like jQuery will handle 99% of your
cross-browser Javascript issues, but getting a page to look right (though not
necessarily identical) across browsers can be a challenge. You'll need to know
not just the markup (HTML) and display (CSS) languages, but also how each of
those are interpreted in the major browsers (IE 7+, Firefox 3+, Chrome 4+,
Safari 3+ and Opera 9+). You'll need to know how to make your PNG graphics
look the same in Windows and OSX (gamma differences, if I recall correctly).

Fortunately, all this information (and more, so much more) is at your
fingertips. All you need is patience, time, and more patience :)

Good luck!

------
briandoll
I think one of the most critical skills for a web designer to know is version
control. 'Web designers', by which I assume you mean front-end development;
JavaScript, CSS, and integrating UI elements into presentation layer views.

Working with a development team is different than working by yourself. Working
with others means collaborating in some systematic way and version control is
at the center of that collaboration.

I'd recommend learning how to use git and subversion to get a feel for
decentralized and centralized version control systems and familiarize yourself
with popular workflows with each.

~~~
TiagoP
thanks for the answer.

There's lot of different languages for front-ent development: JQuery, Ajax,
JavaScript, HTML, CSS, etc etc...

What I would like to know is what languages are really important to master for
someone trying to design a website.

~~~
tgerhard
I'd have to echo the XHTML/CSS suggestion. Becoming proficient in just those
two allow you to make robust, accessible sites, limited only by your
creativity (and perhaps your client's requests). It might help also to study
HTML5. After these, devote some time to JavaScript.

With these you'll have a nice little front-end development toolkit.

------
Ascendancy
I would say XHTML/CSS is extremely useful to master, as they are basic markup
languages to display how your website looks.

From there you can go down a few different paths, JavaScript being the
frontend path for fancy UI effects and PHP/MySQL seem to be the matching
database and backend programming language for most web 2.0 apps today. You can
learn all of these languages online through tutorials and help forums, it'll
just take some time

