What is the best Ruby on Rails environment for a Visual Studio user? - ruby-on-rails

I've been a Visual Studio user since 1997, and used VB 3.0 before that. My whole professional life has been spent inside the Microsoft development environments.
Now I would like to branch out into Ruby on Rails to try something different, and it doesn't have the kind of vendor support that C# does (for very obvious reasons).
For someone coming from the world of Visual Studio, what is the best total environment (IDE, tools, gems, etc) to set up for RoR development on Windows that would make the transition easier?

If you want to stick with Visual Studio, you can always use the Ruby in Steel plugin by Sapphire Steel. The best traditional IDE for Ruby is probably NetBeans, it even has a special stripped-down Ruby Edition.
However, note that unlike less expressive languages like Java, C# or VB.NET, you can not only get by, but even be more productive with a good text editor than with a traditional static IDE. IDEs like NetBeans, Eclipse and Visual Studio are designed with static languages in mind, and trying to force Ruby into that ecosystem is just unnatural.
There is a nice article on The Best Environment for Rails on Windows by Fabio Akita that you might want to read. While I don't agree with everything he writes (mostly because I don't use Rails), it is a pretty good introduction of how you might want to setup a development environment specifically for Rails.

Try JetBrains RubyMine. When installing it, you have the option to set it up to match Visual Studio environment settings. All the short cuts are the same as Visual Studio. It even switches the copy and paste keys from command to control on a Mac. It's a bit expensive considering how many free options there are but in my eyes its worth it.
This thing is so highly customizable it's almost overwhelming.

Netbeans! Its got the most similar features. I developed for years in VS before the switch. It was the only one that I really liked and felt comfortable using.
Netbeans.org

You might find that RadRails (Aptana) is an excellent choice: (http://www.aptana.com/rails) - NOTE: Make sure you look at the Features and Comparisons tab as RadRails has many compelling features. Additionally, I have used Aptana Studio for JQuery development and it help me to be very productive.
I have tried Netbeans and it seemed very promising as well but that is mentioned many times so I thought to offer another approach I was aware of.
Hope this helps!

I use netbeans for two reasons. I like the visual studio style navigation pane and for the debugger.
Be warned though, Netbeans is pretty slow. It doesn't bother me that much because I too am slow.
I also dislike the filename tabs because you can easily be confused about what file you are working on since there is no directory information unless you mouse over the tab.

In 2018? Visual Studio Code! These things always seem to come full circle right?

Related

How integrate lua in visual studio 2017?

I'm a student and I wanna start learning this language, I have some experience with C++ projects, it's very easy create, debug you project, add some files. How i can do all of this stuff with lua? Highlighted syntaxes, debug tools, very useful.
I know that on official site you can use lua53.exe file and compile in console, but may be exist more easy way to do it in studio? Also i know that exist a lot of other IDE that can accomplish that kind of stuff, but i get used to VS.
You can use visual-code,
or IntelliJ (with lua extensions).

Anyone would like to share their experience using TFS for Application life cycle management

we are developing white label web and mobile healthcare application for our clients. our product is evolving rapidly and we are supporting existing clients and going to support new clients.
current development workflow involves SVN for source code, requirement documents tracking and mantis for defect tracking.
We are considering VS TFS 2010 based Application life cycle management for our organization. we are hoping that VS TFS 2010 will help us streamline the following
1) Requirements Management
2) Source code Version control
3) Build automation
4) Test management
just wondering is anybody have experience using VS TFS 2010 and would like to share their experiences? is there any worthwhile alternatives to VS TeamSystem?
Preface: This is a personal opinion and I have no ties to Microsoft other than that I develop with their tools for their platform, even though I come across as a Microsoft lover in this answer. (which I am - I love .NET development)
I haven't used TFS 2010, but I HAVE used the 2005 Team Suite including TFS and the Visual Studio versions supported. We didn't move forward to 2008 or 1020 because of how extraordinarily difficult the 2005 version was to install. However, once we got it installed... Loved it. The project management tools were intuitive, and worked well. Setting up builds was a breeze, and it did everything I wanted it to do simply and efficiently.
Since then, however, we've adopted open source tools to do the same type of stuff. As I said, the install of 2005 was a NIGHTMARE and even though the 2010 version of Team Foundation Server installs VERY easily (I tested it myself and demonstrated it to the poor team who helped with the 2005 version just to show them how much better it is), I was unable to convince my team to give it a second chance. They chose to stick with tools that didn't need to be upgraded as often, and that were easier to upgrade when it did need to be done.
If it were just me, I'd be using it. This is one of those things where things just work right, and work together seamlessly. And the available documentation (MSDN, videos, etc) is exhaustive. I doubt any other set of tools is as well-documented.
It's just too bad that the experience with the older version was so bad that nobody else here will give the newer version a fair shake.
As for alternatives - it's not open source, but Atlassian has a nice set of tools. They work well for Java and we're using some of them in our .NET shop. We're using SVN for source control. That's about the only thing I like better about our new environment than I did the Team System.
I started at a new company 2 months back that uses TFS 2010 exclusively (for source control and issue/task tracking), and I haven't been able to get comfortable with it. Previously, I've mainly used SVN for source control and either OnTime (by Axosoft) or Fogbugz (Joel Spolsky) and have loved them both.
I don't know if it's the way they're using TFS (branching is nothing as nice as it was in SVN... and they have Product Backlog Items, Sprint Backlog Items, Bugs, Impediments, and god knows what else to keep track of) but I find it way too convoluted.
I think the tools a developer uses should assist the dev, not get in the way of. If I have to stop and think about how to branch code or assign an issue, then something's wrong with my tools (or I just need to spend more time learning them... which doesn't make sense to me either).

Group project via Team Foundation 2010

We will be doing a database driven logistics system for our Software Analysis and Design course. What we want to do is to work on the project simultaneously so that we can finish the project earlier. Is TFS the right tool for this? If yes, how do we start? What are the steps to set up the TFS? We use VS 2010.
Thanks.
This is a very broad question. TFS is an excellent code repository that does allow for multiple developers to have a centralised code base (which sounds like what you are after).
The first thing you will need of course is the TFS 2010 installation disk and ideally a separate box to install it on. Although the installation and set up can differ slightly on differing OS, i would recommend following the installation guide here and posting any specific and more detailed questions as you come across issues.
Is TFS the right tool for this: Maybe. It may be a bit much overhead to use for a course.
How do you start: If you have Visual Studio 2010 Ultimate, TFS should be included. Everything is installation wizard based, and the install (can) give you everything you need. For what you want, a stand-alone installation using SQL Server Express should be fine.
If you're looking for something lightweight that you all could use for source control, you might want to consider some of the git/svn hosting services (e.g. http://unfuddle.com). There's no direct integration with Visual Studio without a third-party tool, but it will give you the basics of being able to share source code among your team.

IronRuby On Rails VS. Ruby On Rails (Getting Started)

The Scenario
I am a C#/ASP.NET/MVC/Silverlight developer with a few years experience. I'm trying to kickstart my Ruby On Rails learning. I'm currently trying to get a real feel for ROR.
I Want To Know Standards
As a .Net developer, you tend to use a standard IDE (Visual Studio), a few standard databases (SQL Server, Oracle etc.), and a particular way in which to style your web 2.0 application (XHTML/CSS, Silverlight etc.)
'So what are the standard equivalents to these in RUBY ON RAILS!? (IDE, DB's, Presentation Layer Markups)'
Also
What route do I take? I've heard about IronRuby and from what i've read thats nearly complete in terms of converting it for use with Rails (IronRuby on Rails). OR Do I just go straight into using Ruby On Rails!?
What Benefits?
How will I be benefited from using IronRuby on Rails over using Ruby On Rails?
Help greatly appreciated thanks.
IDE
Most RoR developers use a simple text editor (Textmate on MacOS, Scite on Windows) - mostly because most features (Refactoring, Code Completion) of IDEs designed for languages like Java/C# can't be applied that easily on a dynmic language like Ruby. However Netbeans does well so far (on the other hand there is Aptana Studio - based on Eclipse).
Databases
Since RoR does a lot of abstraction it doesn't really matter what RDBMS you use. MySQL and Postgres might be the best choices since they are the most used ones (so you can hope for continuous support). I wouldn't start to chose based on the flamewar about performance, rather on the services/support that come with them.
Markup
The standard would be ERB (similar to ASP inline scripts) combined with (X)HTML. However there are other markups like HAML which might be enough for some projects.
Benefits
Using IronRuby you get access to the .NET framework and interop with other .NET libraries. You might also write some parts of your application in static C#. According to some benchmarks it might be "faster" than native Ruby, not a real advantage though IMHO.
At the moment I would recommend you to get started with regular RubyOnRails - you might be able to switch later on (once IronRoR is stable enough) - if you should still desire to switch.
IDEs:
On Macs the standard IDE is Textmate.
On Windows, there isn't a standard in quite the same way, but I like Netbeans.
Databases:
MySQL is probably the RDBMS most used with Rails, and hence the most supported, but I use Postgres, which is also very well supported, and have had no issues with using it.
Markup
The built in erb works perfectly well, and as it is built in I guess that makes it a standard. You can always use others if you want to.
IronRuby vs Ruby
IronRuby may be almost feature-complete, but I bet there is a good chance that some functionality will go awry, and you may have difficulty tracking down whether it is your code, or IronRuby. I'd be tempted to develop in vanilla ruby, and then port to IronRuby later, if that is an appropriate way to deploy your apps.
See also this question for information about commonly used plugins: Rails Plugins
I would strongly recommend using regular Ruby On Rails - you don't want to have to worry about whether your errors are caused by problems in your code or incompatibilities in the platform you're working with.
The rest of my advice may be hopelessly out of date- it's a couple of years since I did much with RoR, but I'm sure others will mention it if I'm entirely incorrect.
There probably are IDEs with plug-ins for Ruby now ( I'd be looking for some Eclipse plug-ins maybe ) but it's not as regimented as the Microsoft ecosystem. You're working with open-source tools which means that different developers who like different things find solutions that work for them, so there may not be a "standard" as such. I got very accustomed to using Emacs with the ruby-mode plugin which is pretty awesome but there is a learning curve. I took the Pragmatic Programmer's advice to get good at using a text editor pretty seriously on that front and I'm glad that I did.
In terms of databases you may as well use MySQL as that seems pretty standard but I believe you can find an ActiveRecord back-end for a lot of different DB solutions. If you know how to use basic SQL and you get on alright with SQL Server and Oracle you'll be able to get on fine with MySQL though, no question.
With regard to the presentation layer, that's really created through Rails views. The aim is usually to build standards-compliant html and use CSS to style it. I learned a lot from the Agile Web Development With Rails book as a guide to how the platform works as a whole. I know everyone wants to learn everything from the web for free these days, but that book fitted things together in a way I found very practical and represented excellent value for money.
If you like the Visual Studio ecosystem, check out Ruby In Steel from SapphireSteel. It's payware, although there is a free personal edition
Regarding Ruby or IronRuby - the benefit you will get from using IronRuby is only by its seamless interoperability with .Net objects.
If you're planning on using your .Net code from your RoR app, use IronRuby. Otherwise, go for Ruby.
By the way, if you're planning on using IIS, IronRuby on Rails will run more naturally on top of it as well.
Extracted from: http://blogs.msdn.com/b/ericnel/archive/2010/03/25/5-steps-to-getting-started-with-ironruby.aspx
IronRuby is a Open Source implementation of the Ruby programming language for .NET, heavily relying on Microsoft's Dynamic Language Runtime. The project's #1 goal is to be a true Ruby implementation, meaning it runs existing Ruby code. Check out this summary of using the Ruby standard library and 3rd party libraries in IronRuby. IronRuby has tight integration with .NET, so any .NET types can be used from IronRuby and the IronRuby runtime can be embedded into any .NET application.
later in this article:
Step 2 – Install an IronRuby friendly editor
You will need to Install an editor to work with IronRuby as there is no designer support for IronRuby inside Visual Studio. There are many editors to choose from but I would recommend you either went with:
SciTE (Download the MSI): This is a lightweight text editor which is simple to get up and running. SciTE understands Ruby syntax and allows you to easily run IronRuby code within the editor with a small change to the config file.
SharpDevelop 3.2 (Download the MSI): This is an open source development environment for C#, VB, Boo and now IronRuby. IronRuby support is new but it does include integrated debugging. You might also want to check out the main site for SharpDevelop.
Note: as of version 1.1.1 (released: Oct 21, 2010), Visual Studio 2010 has the first-class support for IronRuby (native, rails f/w and much more).

Delphi: Moving away from VSS

We are team of few Delphi developers who have been using VSS since years (I know it's a pity), but we don't use any of the advanced features of VCS, so it was working fine in many cases (but some times it was driving me crazy :( ).
The good thing that we have with VSS that we use third-party plug-ins to integrate VSS with Delphi, which is working great, but now when our projects becomes larger, and we would like to move a way from VSS.
I have looked at few other VCS (free and commercial) and found most of them seems be made for Linux guys, and you have to use command line for many admin work(I know I'm windows guy :P).
What I'm looking for the new Version control that it should be easy to use and to maintain and Integrated nicely with Delphi IDE (D2007), or at least have a good UI for the Admins an developers.
Just use SVN and an excellent TortoiseSVN client which integrates with the Windows Explorer.
P.S. Found this question: What is the best set of tools to develop Win32 Delphi applications? and this Delphi IDE/TortoiseSVN integration tools in one of the answers: http://delphiaddinfortortoisesvn.tigris.org/
You should at least take a look at JVCS. It integrates with the Delphi IDE, it's written in Delphi and is open source, and you can choose from a number of databases including Firebird to store your archive in.
There is Team Coherence (http://www.teamcoherence.com/) which is written in Delphi and integrates with the IDE very well. We still use it. Support is patchy though.
Most people seem to be moving to SubVersion though.
Team Coherence is a good choice. They just released a new client, so it looks like support is alive and well.
Unless you are directly heading to SVN (which I wouldn't recommend, if you're thinking on something free go to Git or Mercurial) check Plastic SCM. Find a couple of Delphi specific tutorials here:
http://codicesoftware.blogspot.com/2008/06/branching-and-merging-with-delphi-part.html
http://codicesoftware.blogspot.com/2008/06/branching-and-merging-with-delphi-part_02.html
Our Delphi team recently (last year ) upgraded from VSS to Perforce which is an absolute joy to work with. It is expensive but is well worth it. It makes source code control one of the tools of your trade rather than a chore or a hinderance. It has good GUI tools, a great commandline when required and there is a free Delphi IDE integration available online.
It does take a bit of getting used to, but is worth putting in the effort when you get to the point where you can create branches with abandon and merge changes knowing you dont ever have to worry about losing any changes ever. Its fast, efficient and a pleasure to use.

Resources