Tag Info

Hot answers tagged

135

At what point should a developer be allowed to choose his tools? When they don't impact your team. Am I looking at this the wrong way? Absolutely. Yes, you have a short deadline. Yes, you could get it done faster in Rails. But the company as a whole needs to deploy and maintain the application. If the company has a stable of good C# developers, ...


97

I'd say you have to talk to the team lead and say something like: I know you guys are a .NET shop, but I was actually hired for my Java/JRubyRails skills. I can build this new application in X amount of time using those tools that I already know. I could learn C#/mvc4 like you want, but it will take >> X amount of time. What do you want? This raises ...


57

Speaking from experience: The downside is that you rely on the Rails framework a bit too much. This is a great and wonderful thing if you are only ever writing simple, greenfield CRUD apps that fall squarely into the Rails "sweet spot"; your productivity will skyrocket. However, the moment you have to do something outside that sweet spot - interact with an ...


56

I used to develop on the production server. It can work fine, but it is inadvisable for at least two reasons: Development code can cause infinite loops, memory leaks, or other problems that lock up the CPU, eat up all the memory, or otherwise affect the server in a way that will impact your production code. If you need to make changes to components of the ...


46

I think you make a mistake in assuming that the choice of technology is a purely technical decision. The customer seems to be concerned about the business implications of picking a particular technology. Given that, you need to present a case that addresses his business concerns at least as heavily as your technology opinions. Employers have to recruit ...


40

You were apparently hired because of your ability to adapt to "new" technologies. C# is no different, in that regard. Are you sure you don't want to take the opportunity to learn something new? ASP.NET MVC is very similar to Ruby on Rails, in many ways. You won't be at a snail's pace forever. If you already know ROR, ASP.NET MVC will be a cinch for you. ...


35

There's some valid criticism on ActiveRecord. As always, Uncle Bob sums it up perfectly: The problem I have with Active Record is that it creates confusion about these two very different styles of programming. A database table is a data structure. It has exposed data and no behavior. But an Active Record appears to be an object. It has “hidden” data, and ...


33

Many people won't like this idea, but I am advocating this wherever I can: regardless of the programming language and environment, if they don't have any experience and if there are maintenance tasks which come up from real world bug reports of customers of yours, try to make sure they get assigned to that kind of task at least for 30-40% (+) of their time. ...


30

For your first server-side language, I feel like there can be a couple problems with RoR: You're not just learning a language, you're learning a framework. I would definitely take some time to play around with plain old ruby before jumping into rails. Since it is a framework, and an 'opinionated' one at that, I feel like it would give you a very limited ...


29

As others have stated, coding on the PROD environment exposes your users to your bugs. Even if you've started a different instance, you've still got shared hardware resources and can still access production files and databases. And as some of the comments point out, if your Dev instance gets hacked (for example, because you forget to wipe it and someone then ...


28

How about doing both? Have a "low level" (so to speak) API that exposes functions of the system and have another "layer" that exposes services that a client might want to do. This layer would use the necessary low level API's required but those are still exposed if the client wants them. UPDATE: To also include some of the great points and comments made ...


27

This is from experience learning, continuing to learn, and writing a relatively simple application in Rails. 1) Learning Curve Rails is deceptively simple. The tutorials, videos, and books all demonstrate how quick you can get a working (if ugly) application, but these really just scratch the surface. They tend to heavily rely on code generation and ...


25

You could tell them you're very good with Ruby (assuming you ARE good with Ruby) and that you'd be willing to learn Rails as a part of a new job (assuming you ARE willing and interested to learn the Rails framework). On-the-job training is not that uncommon. I had to pick up JavaEE, Spring, Hibernate on the job. I had Java and web apps (not in Java) so they ...


24

1.) Why is Rails coded in Ruby? Rails was originally extracted from DHH's work on Basecamp, which was written in Ruby. Over time, the Rails core developers continued to extract and develop more features into Rails, and it eventually became a full-fledged framework. Since Ruby grew in power and expressiveness over the years, it continued to be a good ...


23

I have developed real applications with both Rails and ASP.NET MVC, but this answer comes with a significant caveat: I learned and developed with pre-version 2 Rails, so it is entirely possible that I am vastly out-of-date with my Rails knowledge. That being said, I don't think that there is anything that can be done with one but not the other. Given any ...


21

Most of the questions you ask are not answerable without context, and are more or less moot given management has already made the choice for you... unless you are asking 'should I quit and find a new job in the face of all this change?' If your going to tough it out I recommend you read this this post on the topic: How To Survive a Ground-Up Rewrite Without ...


21

Arguments for staying with Java/JRuby Chances are, your boss wants you to produce. They hired you so that you could add value to the company. Ensure that they understand that by forcing you to use a framework that you aren't familiar with they will cause you to: Produce results at a slower rate Create lower quality code Even the best programmers require ...


17

From your question, it's obvious that it is not only Rails you are trying to learn, but, at the same time you have to grasp concepts of web development, as well as databases and SQL. It's a huge task so please be patient. On the other hand, with Rails you have no choice - you have to learn all three: M, V and C from MVC, all at the same time, but that would ...


17

This is a good question. I would leave your resume alone. It's good to filter out languages you are not comfortable working with, but do not filter out frameworks. You don't know what version of your resume will be sitting on someone's desk when they become interested in you. By the time they see it, you might be a well-versed Rails developer. With that, I ...


17

Scaffolding serves a purpose - it's a rapid prototyping tool. Use it if that is what you are doing. Once you have your prototype, you can intelligently make the decision to modify what the scaffolding produced for you, or delete the scaffolding and build up the app exactly as you want it. If this is your first rails application, I strongly recommend ...


17

At what point should a developer be allowed to choose his tools? When said developer is the software lead. Certainly, you can (and should) make the case for using the different toolkit if you're concerned about productivity, but be prepared for an answer you won't like. There may be a damned good reason why your lead wants you to use a specific ...


16

I see some benefit to writing tests for some things, but very few. And while I like the idea of writing the test first, I find I spend substantially more time trying to debug my tests to get them to say what I really mean than I do debugging actual code. I have been working TDD for the last three years, and my experience is the exact opposite. I spend ...


16

Your first example does not violate the law of Demeter. Yes, with the code as it stands, saying @invoice.customer_street does happen to get the same value that a hypothetical @invoice.customer.address.street would, but at each step of the traversal, the value returned is decided by the object being asked - it's not that "the paperboy reaches into the ...


14

I've tried to learn RoR several times and my biggest problem is always trying to get the packages to work correctly and the documentation. The problem with the documentation is that it always seems to be out of date (or very basic). I got the basics from the site but beyond that everything seemed so dated (even the book I bought and ended up returning). ...


14

First off this may or may not apply to you (I'm answering for any future readers who ask the same question), but I'd recommend getting a solid grasp of Ruby before you start learning a framework. That being said, here's my thoughts on both frameworks for a beginner. Sinatra is the easiest to get something working. You can get hello world, and very simple ...


12

Agile Web Development with Rails will bring you up to speed at a relatively rapid pace. For learning the ins and outs of the Ruby language itself, I found Programming Ruby 1.9 helpful. Between those two books you'll know what you need to know to get going. If you are looking for free and online, Ruby on Rails Tutorial isn't bad at all.


12

If this is your first server-side language, it's as good as any. The thing to do is focus on one, and after you feel you've mastered it, explore others and deduce your own conclusions. I work with RoR and ASP.NET on a daily basis, but strangely enough, I prefer the ASP.NET world, but that has more to do with personal philosophy than it has to do with the ...



Only top voted, non community-wiki answers of a minimum length are eligible