Hacker News new | past | comments | ask | show | jobs | submit | more fzkl's comments login

Ok. I have been wanting to post this question myself. I can solve problems in C and am good with logic. I can also do some HTML. But when it comes to interfacing with the web and real world applications I just don't know where to get started. Things like databases, libraries and API puzzle me.


Web applications, databases, and APIs are all really very simple. An api is just a collection of functions (or ways of calling functions) someone else wrote. A database is just an api to store tuples. A web application is just a program that listens on a TCP socket for HTTP requests, and responds with HTTP responses.

You can write your own web server in a couple hours, even in C. It won't be any good, but it's a fun confidence building exercise. Then learn Python or Perl or Ruby or Lisp or some language with non-sucky strings, install Apache and mod_python/perl/ruby/lisp, and point it at your script. Voila, instant web application! There are plenty of step-by-step tutorials online.

I was in a similar situation to where you are before I started on Kiko Calendar - I'd never written a web application or used a database or api before in my life. Thanks to the internet, I could learn how in a couple months. You can too.


"You can too" is the most important sentence in above post. Remember it.


I recommend a very good, slightly obsolete book:

http://philip.greenspun.com/panda/

This is the book that got me into web publishing back when I was like you. It is, as I said, slightly obsolete, so when you finish it you will be an expert on the cutting-edge Web technologies of 1998 (e.g., Oracle). But the step from then to now is not as large as you think. (And, to be fair, the online version of the book has been revised a few times in recent years.)

There is also a New and Improved book that covers much of the same material:

http://philip.greenspun.com/seia/

I haven't read this myself, and I believe that (as a textbook for an MIT course) it may be geared more toward hard-core hackers than the earlier book, which was intended to be readable (or at least skimmable) by non-programmers.

The advantage of these books is that they provide large-scale perspective. I didn't know what a relational database was when I started the book, but I sure did after I finished.


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: