Tuesday, May 20, 2014

Re: Library/framework to manage uniformly *all* programming languages

Op Tue, 20 May 2014 23:15:18 +0200 schreef Gautier DI FOLCO <gautier.difolco@gmail.com>:

I'm looking for a library or a framework to manage uniformly *all* programming languages.
For example, I recently found this two plus plugins:
 - http://blogs.perl.org/users/ovid/2014/05/automatic-variable-highlighting-in-vim.html
 - http://www.reddit.com/r/programming/comments/25p6v3/coding_in_color/chjicw6

They both do the same thing (highlight all the occurences of the identifier under the cursor's position) but they are language-specific.

I want to do the same thing (or things like refactoring tools, etc.) for *all* the programming languages, is there an abstraction for that?

You sound as if you want to write such an abstraction or its implementation yourself, but I rather doubt this is the case.

You also sound a bit like those people who offer a vaguely described project on some freelance site that comes down to being a request for hacking.

I think you will easily understand that "all" the programming languages is a category that doesn't exist.

Besides, even if you wanted to offer that functionality in many languages, you would not abstract the *languages* but you would abstract the specific implementation of that feature so that it can handle more than one language description -- the language descriptions themselves would not be abstracted, they would simply hook into the specific domain of functionality (for example only the variables). Now you could build an entire framework of this but the benefit quite eludes me. 

And I don't know much about refactoring but I also doubt you'd want to do this unattended for a myriad of languages all at once - where is the pain in using a tool for each language? Each language will have specific requirements anyway.

So I think you should at the very least explain the reasoning behind what you want to do, if you want people to be able to help you at all....?

Regards, Xen.


No comments: