Hacker News new | ask | show | jobs
by macNchz 4280 days ago
>you can push it to Heroku easy as pie

Having worked with absolute beginners, this isn't nearly as easy as you think for someone just getting started. You're adding ssh keys, getting set up with git, installing the heroku client, running things from the command line, dealing with dependencies, dealing with heroku config file issues...

These are the things that get extremely frustrating very quickly to someone who doesn't have a technical background, and they cause people to give up.

Compared with: start a shared hosting account for $2/month, connect with a gui FTP client and the password you made during signup, drag and drop files to the server, go to http://www.yourserver.com/foo.php and see if it works.

If it's about learning the most basic fundamentals, PHP just works. It will be some time before these people start building things where security, scale, separation of concerns, version control etc start to count. Introducing too many things at once is frustrating, and the fun starts when you can use the things you're building, and share them with others. There's not much that's better than PHP in that regard.

1 comments

Yes, anyone that says "you can push it to Heroku easy as pie" clearly hasn't spent hardly any time teaching anything to actual beginners.
I was working on the assumption that environment would be already set up for them. Setting up Apache to test stuff locally, getting FTP set up to get into your remote server, etc is all a pain with PHP too.

Once everything is set up, it's two-ish commands to commit and push to somewhere like Heroku.

And no, I haven't taught beginners at all, I'll fess up to that. I've learned alongside them, though. PHP is a perfectly cromulent language/framework for this sort of thing, but something like Flask could be just as accessible.

Windows: Install Xampp, copy your files to C:\xampp\htdocs

Right click xampp icon and start services

Ubuntu: sudo apt-get install apache2 php5 mysql-server php5-mysql

sudo service apache2 start/restart

sudo service mysql start/restart

copy files to /var/www/

"getting FTP set up to get into your remote server"

sudo apt-get install ssh sudo service ssh start