Live data from Hacker News

Ask HN: What are the best web tools to build basic web apps as of October 2016?

news.ycombinator.com

81–85 of 85 posts

Re: Ask HN: What are the best web tools to build basic web apps as of October 2016?

#81
post #70

If you're a committed, heavily-invested user of a specific language, and well into your professional career: use that language. Otherwise: If you like Python, Django. If you like Ruby, Rails. Otherwise: Flip a coin. Heads? Rails. Tails? Django. A lot of very smart people will tell you that PHP is as good an option as Rails or Django. The problem with PHP is that while the upside for PHP is, as they're observing, just…

Is there any argument to be made for someone starting their career to look into an emerging web technology like Elixir/Phoenix? I ask this as someone who is trying to decide what language/stack to seriously commit to learning while I try to undo the damage caused by starting out professionally in ColdFusion and PHP.

If I was just starting out, I'd pick Python or Ruby to start with, and do Elixir on the side. I'm not saying that Python or Ruby are the best languages --- they clearly are not. They're just the best the mainstream has to offer.

Re: Ask HN: What are the best web tools to build basic web apps as of October 2016?

#82
post #81

Earlier quoted context omitted.

Is there any argument to be made for someone starting their career to look into an emerging web technology like Elixir/Phoenix? I ask this as someone who is trying to decide what language/stack to seriously commit to learning while I try to undo the damage caused by starting out professionally in ColdFusion and PHP.

If I was just starting out, I'd pick Python or Ruby to start with, and do Elixir on the side. I'm not saying that Python or Ruby are the best languages --- they clearly are not. They're just the best the mainstream has to offer.

Gotcha. Thanks for your perspective.

Re: Ask HN: What are the best web tools to build basic web apps as of October 2016?

#83

Earlier quoted context omitted.

Would an appropriate compromise be to recommend "if you're going to learn with PHP, make sure you use a framework" since using any of Symfony/Laravel/Cake/etc will guide/force you into slightly better habits than writing PHP from scratch would?

Part of the downside I was trying to convey is that a lot of the PHP work available is maintaining or fixing truly horrible applications, and that while skilled PHP developers are as productive as skilled developers in any other language, unskilled/novice developers are much worse as a consequence of learning all the wrong lessons from random code examples that they find through search engines. It is actually quite d…

I think as a PHP developer I jumped to defending PHP without understanding the nuance you were aiming for, sorry about that. I definitely agree with what you're saying.

Re: Ask HN: What are the best web tools to build basic web apps as of October 2016?

#84

Earlier quoted context omitted.

Part of the downside I was trying to convey is that a lot of the PHP work available is maintaining or fixing truly horrible applications, and that while skilled PHP developers are as productive as skilled developers in any other language, unskilled/novice developers are much worse as a consequence of learning all the wrong lessons from random code examples that they find through search engines. It is actually quite d…

I think as a PHP developer I jumped to defending PHP without understanding the nuance you were aiming for, sorry about that. I definitely agree with what you're saying.

No worries, the particular cause-and-effect nuance is subtle enough that a lot of people misunderstand it, which suggests that my phrasing is at fault.

And while the attractive nuisance of PHP's Turing-completeness that encourages those anti-patterns is annoying, it isn't entirely unique:

The platform I cut my development teeth on in 1998 (Zope[1], written in Python) also had a template language that was Turing-complete called DTML[2]. It was a painful transition for the community to deprecate DTML in favor of the new Zope Page Templates (ZPT)[3] that implemented a deliberately less powerful syntax[4][5].

The advantage of a less powerful template syntax is that it forces all "business" application logic (as opposed to "view" logic) out of the templates and into Python code.

Unfortunately, for deployed applications this was a lot of extra work that could only be justified in terms of increased maintainability, which was an even harder "sell" to managers back then.

[1] https://www.zope.org

[2] https://docs.zope.org/zope2/zope2book/DTML.html

[3] https://docs.zope.org/zope2/zope2book/ZPT.html

[4] https://en.wikipedia.org/wiki/Template_Attribute_Language

Post reply on HN