Talk:Sinatra (software)

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Hopefully the changes I made reverse the proposal to delete this article. Ninetigerr (talk) 11:06, 27 May 2009 (UTC)[reply]

"Frameworks inspired by Sinatra" seems inaccurate[edit]

Looking at the Python frameworks listed, only one of the five listed frameworks (itty) mentions Sinatra as a source of inspiration. The rest are obviously micro-frameworks, but don't credit Sinatra for their design anywhere on the sites that are referenced. I think any framework that doesn't have Sinatra credited/mentioned on it's site, or in a blog/forum post by it's developer that can be referenced, should be removed. — Preceding unsigned comment added by Draustus (talkcontribs) 16:48, 6 December 2011 (UTC)[reply]

I agree. As far as I know Flask is not inspired by Sinatra. Or is it just every minimalist framework is inspired by it? This inspired section reads like ego. 134.115.64.73 (talk) 07:18, 21 February 2013 (UTC)[reply]

Why include an Aprils Fool Joke? Why is it relevant? --196.40.10.133 (talk) 05:25, 18 November 2014 (UTC)[reply]

I removed a whole bunch of the entries on the "inspired by Sinatra" list. Several were dead links; others had as "references" links to pages that didn't mention Sinatra at all. I checked further documentation and projects' "About" pages where these were available. If you'd like to restore entries, please consider providing a reference to at least a blog post saying a framework is inspired by Sinatra, if not a statement from the project itself. (I usually do small edits logged-out these days, but logged in as this might be more contentious.) --user:Qviri 23:43, 12 November 2015 (UTC)[reply]

@Qviri: I'm in favor of just deleting all of it as WP:Listcruft and WP:V. It's a huge list with mostly non-reliable sources; lots of items on the list are dead projects and probably not even worth a mention. -- intgr [talk] 08:39, 13 November 2015 (UTC)[reply]
  • "Inspired by Sinatra" seems to have been interpreted as, "Any web framework using a DSL", which is pushing it for causation. Then they seem to stretch that beyond accuracy and sourcing too. I'd agree with Draustus that this really needs to go. I've a little experience with Flask (how I came to this article - I'd not even heard of Sinatra before) and I can't see it. Andy Dingley (talk) 08:55, 13 November 2015 (UTC)[reply]
    I added a short mention that inspired Express.js and Scalatra, because: 1) articles about these frameworks exist; 2) the influence is proven. --Amakuha (talk) 22:22, 7 March 2020 (UTC)[reply]

Sinatra is NOT a Domain Specific Language[edit]

Can someone explain me why it is said that Sinatra is a domain-specific language? I know that's what is claimed by the developers[1], but it is nonetheless wrong. Even if it looks like a DSL thanks to the permissive syntax of Ruby, it is just a Ruby library. When you use Sinatra, you write your code in Ruby. It uses the Ruby interpreter. It is just a Rack application. It is NOT a language on its own. It is as powerful and as generalist as Ruby is. Because it IS Ruby. And Ruby is not a DSL. — Preceding unsigned comment added by Jingbee (talkcontribs) 21:07, 16 October 2016 (UTC)[reply]

Sources disagree with you, e.g.:
Samsara 00:34, 20 October 2016 (UTC)[reply]

I know those sources. But here is an other source: https://en.wikipedia.org/wiki/Domain-specific_language "A domain-specific language (DSL) is a computer language specialized to a particular application domain". The definition is simple, a DSL has to be two things:

  • A computer language
  • Specialized to a particular application domain

So you'r right, Sinatra is specialized to a particular application domain, but it is not a language.

For example: Is writing a Ruby program by restraining yourself to arithmetic expressions is the same as writing in a new DSL? A DSL specialized to arithmetic computation? Maybe. Is a subset of a language, a new language on itself? Maybe. Just as you could argue that C is a subset of C++. Right.

But it is not the case with Sinatra. Sinatra is not a subset of Ruby. All the features of Ruby and the full expressivity of Ruby may be required to write a Sinatra application. Sinatra is a Ruby library that gives access to a set of functionalities. Those functionality are accessed via some methods that, thanks to the Ruby syntax, can be called in a nice pretty way, giving the illusion that you are using an other language. The nature of Sinatra, the fact that the same methods are called again and again through the entire program reinforce this illusion. But only for small and basic applications, where no other Ruby functionalities are required.

As a final example, is the following program a Sinatra program?

#!/usr/bin/env ruby
require 'sinatra'
Sinatra = Kernel

Sinatra.get('/', Proc.new{Sinatra.redirect.to('/hello/World')})
Sinatra.get('/hello/:name', Proc.new{"Hello #{params[:name]}!"})

It does not follows the Sinatra "syntax". But it works the same. This has the same semantics as the example given on the main page. Jingbee (talk) 14:57, 20 October 2016 (UTC)[reply]

Also, I should point out the last sentence given by one of your sources: "As you can see this code uses a “language” (i.e. methods provided by Sinatra) that is specific to the domain HTTP."[2] All libraries are providing methods, and all libraries are specific to a domain. This is the purpose of a library. Does that mean that all libraries are in fact languages? No, I think there is a real amalgam between the notion of vocabulary (the methods) and the grammar (the language). Jingbee (talk) 15:13, 20 October 2016 (UTC)[reply]

It is a common misconception that Wikipedia reports The Truth. It does not. Wikipedia reports what reliable sources say. And if such reliable sources agree that Sinatra is a DSL, it doesn't matter that you or I think it's wrong. Wikipedia will still record that it is a DSL because that's what the sources said. Reading that is usually recommended includes WP:V, WP:RS, WP:NOR and WP:NOT, among others. Samsara 17:02, 21 October 2016 (UTC)[reply]
So, what if we have multiple conflicting sources? Here, the sources on the definition of DSL and some sources on Sinatra? Thibm (talk) 14:51, 17 November 2016 (UTC)[reply]

References

MVC ?[edit]

Comparison_of_web_application_frameworks says that Sinatra is a MVC framework. Should that be fixed there? Klimov (talk) 12:49, 8 March 2012 (UTC)[reply]

Please clarify[edit]

This article does a very poor job at explaining what Sinatra provides. It only says what it is not ("It does not follow the typical model–view–controller pattern"). The example code, which is not followed by any explanation, is not helpful at all. AmirOnWiki (talk) 09:45, 8 October 2013 (UTC)[reply]

Wrong link to napalm[edit]

Although I'm feeling very honored, I've got nothing to do with napalm. Reference 56 links to https://github.com/brejoc/napalm, which was just a fork of the original repository. Unfortunately the original repository does not exist anymore: https://github.com/jacek99/Napalm

Even though there seems to be no other fork I'd like to delete this repository in the near future. Could someone please link some other repo or just delete the link and drop me a note? Thanks! — Preceding unsigned comment added by 95.88.218.128 (talk) 20:03, 6 January 2015 (UTC)[reply]