

A newbie still lost in C - yearsinrock

I am in my undergraduate college and still learning C.I am newbie programmer and love the net.Which programming  language should i learn to write cool web apps ,so i can create my own website as a startup.
+I have seen a lot of movies where they show cool hacking stuff ,Is it that easy ,and how could i get started to do such stuff on  my own?
======
corentin
Yes, everything in life is as easy as in movies!

To write web applications, popular programming languages include PHP (the most
popular one, used by many companies and open source projects), Java (mostly
used for "enterprise" applications), Ruby and Python. Java is a simple
language but the frameworks (the libraries) tend to be complicated
(enterprises seem to confuse complexity and value). PHP is used by many
hobbyists; it's powerful but, unfortunately, a lot of the code you'll find
will be crappy and wouldn't be a good way to learn good programming practices.
Ruby certainly is a fine language but its community of users is annoying so
you'll find a lot of bullshit flying around which isn't a good way to start,
either. Python seems to be the way to go. Of course, nothing prevents you to
look at the other ones. Quite the contrary: if you try different things you'll
be able to know what is better for you.

You'll also need to learn web design (HTML, CSS), client-side programming
(Javascript), database systems, etc.

The best way to learn is to learn a little bit of everything at the same time
(not Python first, then Javascript, then databases...) so a good way to start
would be to install a Linux distribution on some machine and start playing
with web servers, languages, databases, etc. Don't try to start by creating
some useful thing; it's frustrating. Just fool around until you understand how
everything fits together.

Hope this helps (please note that I'm not a web developer myself; I just
happen to waste my time on programming.reddit.com too much!)

~~~
yearsinrock
i am 19 right now ,am i too late and should i go back study the univeristy
syallabus or do i still have time to make it big?

~~~
fauigerzigerk
Forget it! No one over the age of 15 will ever make it big ;-) Seriously, you
have all the time in the world. Study the hard core stuff (algorithms, data
structures and maths). Experiment with the web. Seek out people who really
take interest in whatever they do. Don't burden yourself with debt, expensive
lifestyle or kids, so you have the freedom to jump onto opportunities whenever
they present themselves.

~~~
yearsinrock
I nearly have finished c and i hope to complete c++ within few months.After
that what shold i learn ruby,python,perl or lisp.I mean which language is the
most powerful?

~~~
corentin
I really doubt you have 'finished' C (and C++ is even harder to really
master).

There is not really a language that is absolutely more powerful than another;
but some languages are more suited to certain tasks.

You should read this, it answers a lot of your questions:
<http://catb.org/~esr/faqs/hacker-howto.html>

------
mechanical_fish
First of all, keep working on the C. It's a very important programming
language that underlies almost everything. If you learn to program C really
well, you'll be able to understand what's happening even when you're using
languages that are much higher-level than C.

As for a programming language to learn after C: try Ruby or Python. Both are
considered great languages. I'd not only recommend starting with Ruby, but if
I were you I would check out Hackety Hack at <http://hacketyhack.net> . It's a
site built by a certified (and, perhaps, certifiable) programming genius, who
is trying to make learning Ruby programming into something that 13-year-olds
will do for fun. If you can figure out the stuff on that site, you will be
well on your way to writing a cool web app.

Creating your own website -- perhaps even a cool web site -- doesn't
necessarily require much programming. You should try setting one up right
away. Tomorrow would be fine. :) You need a web server program (like Apache),
and a database (like MySQL or Postgres), and you need a computer that's
connected to the network all the time. The simplest thing you could do is pay
ten bucks for a month of service from a web host like Dreamhost, install
Wordpress or Drupal (perhaps just by pressing one button), and have a website
tomorrow. If you already know how to do that, and need a bigger challenge --
or if you don't want to spend ten bucks a month -- then try downloading Apache
and MySQL, install them on your own computer, and get Wordpress and/or Drupal
running. (Hint: if you've got a Mac, the word to google for is "MAMP".) Use
Google and Wikipedia to find the docs and books that you need to read to get
that done.

It doesn't matter if anyone else can see the website, at first. Play with it
yourself. Figure out how to add and delete users. Add some blog posts. Change
the colors. Learn how to back up your database and restore it again. Learn
about XHTML, and CSS, and SQL, and DNS, and SSH, and SSL, and SMTP. None of
this is programming, exactly, but if you want to build a website for a startup
you will have to know at least a little bit about all of these things.

If you've got a Mac, learn about how Unix works. If you've got a Windows box,
install Linux on it. Search for Ubuntu Linux and find some docs that explain
how to install it without screwing up your Windows installation.

Be aware: it's not that easy. It's certainly nothing like the movies. There's
a lot of different moving parts that you must know about before you can build
a site like Twitter, or Facebook, or even Hacker News. But many people have
done it.

~~~
german
I have to disagree with you, while C is a powerful language, many people just
don't need it, my advice is, if you're trying to build a webapp, you should
learn first HTML, CSS and JavaScript (or maybe Flash), then jump into ruby,
python or pearl, or whatever language you feel comfortable with.

Good luck.

