
Ask HN: What langauges to learn if I wanted to build a site like nomadlist.com - ybalkind
I subscribe to the sentiment that a good way to learn development is by taking on a project. I have a few projects in mind for online directories similar to nomadlist.com.<p>So far I&#x27;ve been building them in Wordpress and hiring freelancers to do the bits that the plugin does not allow natively. But I cant seem to get the right kind of filters and cutomisation that I would like and have contemplated what it would take to learn to build it myself.<p>If my desired outcome was a directory site such as nomadlist.com with lots of filters, good performance, and a CMS, and assuming I was willing to take on a few months worth of learning, what would be a good learning path?<p>One option I suppose is to learn PHP and Wordpress so that I can take on the customisation of my wordpress site.<p>But I would prefer to give myself options outside of Worpdress and to learn to build a site from scratch.. Would love to hear some thoughts from the dev community.<p>The wordpress option is probably more realistic given my timeline, but I do know CSS and HTML already so maybe it is possible to learn something more advance? You tell me<p>Note: I could have asked what languages were used to build nomadlist, but I purposefully phrased the question differently because I presume that the languages he chose might night be the best&#x2F;recommended languages for a newbee trying to reach the same outcome.
======
pieterhg
Hi! I made Nomad List so maybe I can tell you more. I wrote it in plain JS
with only jQuery. The backend is PHP. They communicate through simple POST
requests (see the Network tab when you filter). The database is SQLite for
simplicity sake.

I'd recommend building something with a language that is easy for you to learn
and that gives you freedom to make it complex or not. That's PHP for me. A big
reason why I say this is because you don't want to spend too much time coding
while validating your website/app idea.

You can always switch language/stack later.

I decided to go framework-less, which was a great decision early on. And I
still like it although once you get more traffic and features, everything
inevitably turns into spaghetti and you need to stay very knowledgable about
your code to keep being able to work on it. Stuff like user sign up and login
I'd love to have outsourced to a framework (for example this week login broke
for no reason).

Also some parts of the site run on off the shelf software. The forum runs on
Discourse, the chat runs on Slack etc.

I was obsessed with which tools to use before I made Nomad List, but then when
it went viral I had to work with whatever I knew and I hear that from a lot of
people. You work with what you know at that time.

Good luck :)

~~~
ybalkind
Oh wow, great to get such direct feedback, thanks! Interesting to hear that
you use PHP. Although I'm not a developer I lurk on forums a lot and it seems
PHP gets a bad rap so interesting to see a site that is well known in HN
circles using it.

While I've got you on the line I have to give my 2 cents about your scores for
Johannesburg. firstly, our weather is sublime, secondly I would say that
freedom of speech, racial tolerance and female freindliness, is at least good
if not great. Air quality I think is at least okay if not good.

But I'm a bit biased, and I guess its all subjective :)

Happy to provide any other Joburg info if you need.

~~~
pieterhg
Sure :)

PHP 7 is very improved and can stand up to most other langauges now I think.

Facebook and Slack are also built on PHP.

I think asking what tools people use is probably the wrong question though.
You can build successful projects with most modern languages. It's more about
your style of coding I think. My style is extremely minimalistic in effort and
pragmatic. Not a lot of testing either.

Thanks for the feedback on Johannesburg! You can click some of the values as
they're editable. Others are from international data sets (like racial
tolerance and free speech).

------
anilgulecha
It's not language related -- you could build a simple webservice with any
language and db. You could take a course on basics of building web-
applications in any popular language (Ruby on rails, nodejs or php) and start
out there.

Of course if you just want to get a directory out there, you're on the right
track of maybe using wordpress with a theme, and some plugins. The language
doesn't have much to do with how popular something will be.

