Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: How do I begin web development without local files?
3 points by sroerick on March 13, 2013 | hide | past | favorite | 21 comments
So, for the moment and for the forseeable future, I'm stuck on an iPad and library computers. I know html and CSS relatively well, but I would like to learn how to build a fairly simple web app and database.

Am I stuck? I am primarily using cpanel to write html. It's kind of a bummer, but it works, slowly.

I've begun learning python on codeacademy, but I'm definately not at the point of writing an app with it. I don't even know how to install the thing on a server.

Sorry for the totally clueless post, but even a couple of web apps to google or something would help me out a lot! Thanks.



Well, if you got a decent hoster, you can get SSH access (or "shell access", it's the same term). Then you can edit on the linux commandline using e.g. editors like vi, joe, emacs or nano.

Bonus point is that you will earn experience in Linux shell usage.

Also, leave your fingers off Python for web. It sucks already enough for commandline, and it's a nightmare for web stuff. Use PHP if you want to do web development, just as everyone other does (okay, Java and ASP.net exist, too, but these are enterprise-level solutions, not available at usual hosters).


> Use PHP if you want to do web development, just as everyone other does ...

I can't believe you just recommended PHP to a newbie. This is like recommending Fortran to someone asking about modern scientific analysis software.

In any case, the OP should probably start by learning static HTML design, before moving on to various automation methods. But PHP -- wow. It's like recommending BASIC instruction to a programming student.


Hah, this was my impression of PHP. I am fine with static HTML design, I get CSS, tables, and I've set up a bootstrap site or two. I don't know anything about interacting with a database, which (I think) is where I need to go next.


For databases, you need a server side programming language. The choices available are basically: PHP (available just f*ing everywhere, starting at 3€/month!), ASP.net (Windows Server only, also AFAIK needs MS Visual Studio, not sure about that), Java (do not use, do not use, do not use), Python (sucks), Ruby (sucks even worse).

PHP has the widest adoption among hosters and user-bases, also there exist lots of proven OpenSource projects where you can borrow code from (e.g. Wordpress, MediaWiki). The lack of user-base is what discredits Python and Ruby for me, they're just too exotic.


Would you mind elaborating on how Python and Ruby suck in ways that PHP doesn't?

There are a bunch of PaaS providers that have free hosting for Ruby and Python projects if infrastructure and cost are a problematic for sroerick. They are both fairly mainstream too, the tiobe index[1] ranks PHP at 4.8%, Python at 4.4% and Ruby at 2.2%. This isn't a perfect measure, but I think it puts PHP, Python, and Ruby in the same ballpark.

[1] http://www.tiobe.com/index.php/content/paperinfo/tpci/index....


The TIOBE index is not usable for web development, simply because it is focused on general-purpose programming languages... which include the four "C" variants with 43% of the share. None of these (okay, C# excepted due to MS ASP) is widely used for web development.

Now PHP ranks second behind Java (though I'd guess if you made a strictly web-focused index, PHP would outrank Java!).

For the "Python/Ruby sucks vs PHP" part:

* the user-base is damn small compared to PHP. Go into any web-development agency and ask if someone uses PHP for web-dev and if someone uses Ruby/Python for web dev. The percentage of shops using PHP will be significantly higher.

* Ruby and Python do not originate from web development, but from "normal" programming. Web capability got "bolted on" onto them with CGI and various frameworks, while PHP originated from the Web and only recently acquired usability as a scripting language.


I brought up the TIOBE index not as an absolute metric but to show that Ruby and Python are not totally obscure languages and have usage similar to PHP. I think your "go into any web-dev shop" test fails for software of interest to developers here who are developing web applications rather than dynamic sites. The web-specific part of PHP is it's ability to act as a template language, inline with HTML. I don't think this is an advantage for web apps as there is often significant logic and infrastructure other than the user interface and frequently several interfaces are desirable (e.g. API, mobile, and web). Mixing together logic and presentation, that is to say the web-specific parts of PHP, make this goal much more difficult.

Ruby and Python were not originally made for web development, but they have been extremely successful and popular in that role. Twitter, Github, Stripe, and Hulu have significant Ruby components, and Instagram, Dropbox, Mixpanel, Pinterest, and Yelp use Python. There are smart people choosing these languages to build their companies with for a reason.


I'm using bluehost, if that helps.

My random clicks indicate that they support Ruby, PHP, and Perl, as well as apache, which I think? means I can install whatever I want? I tried following an apache guide once but was in pretty deep over my head.


Everything you say is true, but I wasn't addressing whether PHP is available everywhere and widely adopted, I was addressing how terrible it is. If ubiquity equaled quality, Windows would be the best OS by acclaim.

And I posted my remarks only because the OP is a student, new to the world of programming.


Name an alternative that can be cheaply bought on any stupid webhoster out there. It's either PHP or ASP.net, and I do not recommend Microsoft stuff to newbies. (Yes, I know about Mono)


> Name an alternative that can be cheaply bought on any stupid webhoster out there.

That's not really germane. PHP is perfectly awful -- it's a security disaster, like BASIC it's a terrible language for students (because student programmers "imprint" on their first languages), and there are many alternatives.

http://www.conigliaro.org/2011/07/22/php-considered-harmful/

http://furiouspurpose.blogspot.com/2009/06/php-considered-ha...


Man, thanks so much for suggesting SSH, I don't know why I never thought of it before, but it has totally changed the game for me.


oh, yes, I didn't even think about this. I've wanted to learn vi for a while now, too! Thanks!

So, my plan is to try and weild PHP, mySQL, CSS, HTML and, (ugh) some Javascript. Does this seem like a good goal to shoot for?


Well for the last week I've been doing development using a Google ARM Chromebook (249 USD).

I'm using a dedicated server (about 60USD from Ubiquity Servers), but I also have a couple of VPSs, including a 5 USD one from 2host.

I'm using tmux and vi over ssh from the built in SSH client on ChromeOS, editing PHP and HTML/JS, and previewing changes directly in Chrome.

For database access I've been using ChiveDB which is like a really good Ajax-driven phpmyadmin with good support for editing stored procedures.

The only really annoying problem doing this from Chromebook (and likely the same from iPad) is editing the hosts file to acess multiple virtual hosts remotely.


Awesome. tmux is not on my SSH but screen is so I will be learning to use that.

If I use the mySQL database/webclient that my webhost (bluehost) offers on cpanel, do you think I can install Chive at a later date and make the switch fairly seamlessly.

and pardon my french but WTF HOW DO I NOT KNOW ABOUT HOST FILES? That's awesome.. Can I maybe do something similar to that using router hoodoo?


When you're on the linux shell... check out https://github.com/WilliamHackmore/linuxgems/blob/master/che... and http://www.howtogeek.com/howto/44997/how-to-use-bash-history... - bookmark them unless you know the stuff even when woken up at 03:00.


Yes, thanks so much.


Have you see Koding? http://koding.com . Web-based IDE and terminal access to cloud servers they host for you. I've played around with it a bit and it is really, really cool.


Just curious, why can't you get a computer? You'd be better off with even a 10 year old model than an iPad, if for no other reason than having a keyboard.


Oh, I actually have a bluetooth keyboard. I also have a chrome netbook, but they end up being about... equal frankly.


Try cloud9: http:/c9.io




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

Search: