<story><title>The Slash Programming Language</title><url>http://slash-lang.org/</url></story><parent_chain><item><author>porker</author><text>Isn&amp;#x27;t this asking for all the features that lead HN-readers to despise PHP?</text></item><item><author>nnq</author><text>If you did a python&amp;#x2F;ruby&amp;#x2F;node-javascript that would capture the best features of PHP, instead of inventing a whole new language, I&amp;#x27;d actually be tempted to use it.&lt;p&gt;The features (or what others would call anti-features, but one man&amp;#x27;s &amp;quot;bug&amp;quot; can be another&amp;#x27;s &amp;quot;features&amp;quot; so lets ignore the long talk) would simply be:&lt;p&gt;1. Ultra-Ease of deloyment - I want to be able to just:&lt;p&gt;- load a module for my webserver of choice (Apache, NGINX etc.)&lt;p&gt;- drop code in a folder via ftp and have it &amp;quot;just work&amp;quot;&lt;p&gt;- have a &lt;i&gt;shared nothing&lt;/i&gt; app model with &lt;i&gt;no long running processes&lt;/i&gt;, PHP style, because this way I can ignore 99% of security and performance problems, both as a provider of dirt-cheap shared hosting and as the developer of a web application that doesn&amp;#x27;t need to scale that much and isn&amp;#x27;t that much of a target for hackers either (so I can have the following mindset: &amp;quot;I don&amp;#x27;t need to care about scalability&amp;#x2F;performance or security, because by the time I&amp;#x27;ll need to care about these I&amp;#x27;ll be already making enough profit from it to be able to hire some very smart guys to rewrite everything from scratch the right way or I will have already sold the company and be enjoying my $ while others care about this&amp;quot;)&lt;p&gt;2. Ultra-Eease of app&amp;#x2F;site setup:&lt;p&gt;- I want to just drop files in a folder and have it work, just like that, just like magic&lt;p&gt;3. &amp;quot;Don&amp;#x27;t make me think&amp;quot; style of development:&lt;p&gt;- I want the same language in my controllers, in my db code AND in my templates&lt;p&gt;- plus points if it&amp;#x27;s in the browser too&lt;p&gt;- have all the component I and other might need in &amp;quot;one pack&amp;quot;, &amp;quot;batteries included&amp;quot; style&lt;p&gt;4. Almost non-existent learning curve:&lt;p&gt;- someone should be able to go from A - &amp;quot;poetry major with no knowledge of what computers are&amp;quot; to B - &amp;quot;expericenced full-stack developer&amp;quot; withouth feeling any learning curve: yeah, it will take time to get from A to B, the first 10% of the road should be made as easy as possible&lt;p&gt;...and to &amp;quot;kill&amp;quot; PHP you&amp;#x27;d still need to add a killer extra feature. I can imagine something like an object persistence feature (Maglev&amp;#x2F;Gemstone style) baked into the language&amp;#x2F;library&amp;#x2F;framework that would allow you to simply persist objects without even thinking about a database (it could be implemented as a very smart ORM underneath, but it should be as opaque&amp;#x2F;black-boxed as possible and 99.99% of users shouldn&amp;#x27;t need to know how it works) - this imho would be the kind of thing really enjoyed by PHP developers.</text></item><item><author>charliesome</author><text>Hi, I&amp;#x27;m the author of Slash. I wasn&amp;#x27;t expecting Slash to show up here so soon - the website&amp;#x27;s pretty out of date and the language itself still needs a bit more polish before it&amp;#x27;s ready for use.&lt;p&gt;Slash is something I&amp;#x27;m building out of personal need. I love Ruby, but there isn&amp;#x27;t much going on in the &amp;#x27;small web scripts&amp;#x27; area. It&amp;#x27;s either frameworks like Rails or Sinatra that require app servers constantly running, or tools like Jekyll that can only do static websites. Slash is somewhere in between. It&amp;#x27;s not supposed to be a &amp;#x27;PHP successor&amp;#x27; as much as it&amp;#x27;s supposed to be something that Python or Ruby fans can turn to when they just need to chuck a small script up on the web.</text></item></parent_chain><comment><author>JelteF</author><text>There is a lot more wrong with PHP than these (anti-)features.
It&amp;#x27;s loose comparisons for instance, with gems like 0 == &amp;quot;php&amp;quot; returning true, but 0 == &amp;quot;1&amp;quot; returning false [1] [4]&lt;p&gt;Having a function like nl2br [2], which converts newlines to br tags. The only reason this function would be useful is when you want text to HTML. The problem is, this requires a lot more than just replacing newlines with br tags.&lt;p&gt;A function like intval [3], which according to the documentation when passed a string &amp;quot;will most likely return 0&amp;quot;.&lt;p&gt;And just about anything on &lt;a href=&quot;http://www.phpwtf.org/&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.phpwtf.org&amp;#x2F;&lt;/a&gt;&lt;p&gt;My main point is, that PHP is not broken because of these features. PHP is broken because the language has been hacked together from the start and there is no way to guess what built in functions will do if you haven&amp;#x27;t looked up the full documentation for them first.&lt;p&gt;[1]: &lt;a href=&quot;http://www.decontextualize.com/wp-content/uploads/2010/01/php-loose-comparisons.png&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.decontextualize.com&amp;#x2F;wp-content&amp;#x2F;uploads&amp;#x2F;2010&amp;#x2F;01&amp;#x2F;ph...&lt;/a&gt;&lt;p&gt;[2]: &lt;a href=&quot;http://php.net/manual/en/function.nl2br.php&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;php.net&amp;#x2F;manual&amp;#x2F;en&amp;#x2F;function.nl2br.php&lt;/a&gt;&lt;p&gt;[3]: &lt;a href=&quot;http://php.net/manual/en/function.intval.php&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;php.net&amp;#x2F;manual&amp;#x2F;en&amp;#x2F;function.intval.php&lt;/a&gt;&lt;p&gt;[4]: &lt;a href=&quot;http://i.imgur.com/pyDTn2i.png&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;i.imgur.com&amp;#x2F;pyDTn2i.png&lt;/a&gt;</text></comment>
<story><title>The Slash Programming Language</title><url>http://slash-lang.org/</url></story><parent_chain><item><author>porker</author><text>Isn&amp;#x27;t this asking for all the features that lead HN-readers to despise PHP?</text></item><item><author>nnq</author><text>If you did a python&amp;#x2F;ruby&amp;#x2F;node-javascript that would capture the best features of PHP, instead of inventing a whole new language, I&amp;#x27;d actually be tempted to use it.&lt;p&gt;The features (or what others would call anti-features, but one man&amp;#x27;s &amp;quot;bug&amp;quot; can be another&amp;#x27;s &amp;quot;features&amp;quot; so lets ignore the long talk) would simply be:&lt;p&gt;1. Ultra-Ease of deloyment - I want to be able to just:&lt;p&gt;- load a module for my webserver of choice (Apache, NGINX etc.)&lt;p&gt;- drop code in a folder via ftp and have it &amp;quot;just work&amp;quot;&lt;p&gt;- have a &lt;i&gt;shared nothing&lt;/i&gt; app model with &lt;i&gt;no long running processes&lt;/i&gt;, PHP style, because this way I can ignore 99% of security and performance problems, both as a provider of dirt-cheap shared hosting and as the developer of a web application that doesn&amp;#x27;t need to scale that much and isn&amp;#x27;t that much of a target for hackers either (so I can have the following mindset: &amp;quot;I don&amp;#x27;t need to care about scalability&amp;#x2F;performance or security, because by the time I&amp;#x27;ll need to care about these I&amp;#x27;ll be already making enough profit from it to be able to hire some very smart guys to rewrite everything from scratch the right way or I will have already sold the company and be enjoying my $ while others care about this&amp;quot;)&lt;p&gt;2. Ultra-Eease of app&amp;#x2F;site setup:&lt;p&gt;- I want to just drop files in a folder and have it work, just like that, just like magic&lt;p&gt;3. &amp;quot;Don&amp;#x27;t make me think&amp;quot; style of development:&lt;p&gt;- I want the same language in my controllers, in my db code AND in my templates&lt;p&gt;- plus points if it&amp;#x27;s in the browser too&lt;p&gt;- have all the component I and other might need in &amp;quot;one pack&amp;quot;, &amp;quot;batteries included&amp;quot; style&lt;p&gt;4. Almost non-existent learning curve:&lt;p&gt;- someone should be able to go from A - &amp;quot;poetry major with no knowledge of what computers are&amp;quot; to B - &amp;quot;expericenced full-stack developer&amp;quot; withouth feeling any learning curve: yeah, it will take time to get from A to B, the first 10% of the road should be made as easy as possible&lt;p&gt;...and to &amp;quot;kill&amp;quot; PHP you&amp;#x27;d still need to add a killer extra feature. I can imagine something like an object persistence feature (Maglev&amp;#x2F;Gemstone style) baked into the language&amp;#x2F;library&amp;#x2F;framework that would allow you to simply persist objects without even thinking about a database (it could be implemented as a very smart ORM underneath, but it should be as opaque&amp;#x2F;black-boxed as possible and 99.99% of users shouldn&amp;#x27;t need to know how it works) - this imho would be the kind of thing really enjoyed by PHP developers.</text></item><item><author>charliesome</author><text>Hi, I&amp;#x27;m the author of Slash. I wasn&amp;#x27;t expecting Slash to show up here so soon - the website&amp;#x27;s pretty out of date and the language itself still needs a bit more polish before it&amp;#x27;s ready for use.&lt;p&gt;Slash is something I&amp;#x27;m building out of personal need. I love Ruby, but there isn&amp;#x27;t much going on in the &amp;#x27;small web scripts&amp;#x27; area. It&amp;#x27;s either frameworks like Rails or Sinatra that require app servers constantly running, or tools like Jekyll that can only do static websites. Slash is somewhere in between. It&amp;#x27;s not supposed to be a &amp;#x27;PHP successor&amp;#x27; as much as it&amp;#x27;s supposed to be something that Python or Ruby fans can turn to when they just need to chuck a small script up on the web.</text></item></parent_chain><comment><author>nilliams</author><text>I think most people hate the language itself but recognise its strength of crazy-easy-to-get-started-with.</text></comment>