How do you convince an older programmer that new programming languages aren't scary?

Cogman

Lifer
Sep 19, 2000
10,286
147
106
We are currently looking at redoing a lot of the web tools that our team has been using to monitor their progress. The current test tools were NOT designed by web developers, so they are a cobbled mess of perl, Ajax, HTML and database access (all in one file, sometimes.. Though, what goes into another file doesn't appear to follow any sort of logic or reason.)

They have asked me to go out and find a new framework to use for when we eventually move over to a new webserver. So, in my searching, and from previous knowledge, I arrived at ruby on rails. I thought it was an a particularly good framework for our environment and needs (mostly just displaying lots of data).

Well, this older developer is throwing a stink. "I don't like him recommending ruby" I'll hear him say "What happens when he leaves? Nobody here will be able to use it or maintain it!". Forget, for a second, that nobody currently maintains our web apps because they are so poorly coded. He is convinced that the web framework we should use is Catalyst for the shear fact that it is a perl framework. Nothing else. He cares nothing about features or anything like that, he just wants it to be perl.

I've tried to reason with him "Look, ruby is a pretty easy language to pick up, this is the first time I've dealt with it (which is true) etc." But he won't have it.

I really don't think that catalyst is the way to go (look up the documentation and the setup to see what I mean). It is far worse documented than rails, far less used, and frankly a fair bit uglier (Using OOP in a language that provides really not tools for OOP ends up with things looking like a mess). But I fear that may be the route taken regardless of my recommendation.

Any tips? How do you deal with a coworker that simply does not want to learn a new programming language (Even though I have a pretty good notion that it won't be him maintaining the web application.)
 

Ka0t1x

Golden Member
Jan 23, 2004
1,724
0
71
I'm currently in the same situation as we could be moving to v2 of our web app framework (~10yrs same code base, yuck). I don't like recommending things that might throw a few people off the balance of things. And I'm talking simple things.. mod_rewrite, jquery ui, etc.

I would show them how widely accepted Rails is, and how far/fast ruby has progressed from it. Maybe show some of the 37 signals products, lessaccounting.com, etc. Another good rails project that comes to mind.. that we use on a daily basis.. Redmine (http://www.redmine.org/).

Honestly I would put Rails up there as being one of the better choices if you had to learn a new language/framework. The only "tough" thing about rails is the web host, you basically need to pick a higher end specifically designed rails host, or go VPS.. otherwise your rails version of your shared server could be far behind. And even then its not as simple as "tasksel install lamp-server".


Have him run through this:

http://railsforzombies.org/
 
Last edited:

Cogman

Lifer
Sep 19, 2000
10,286
147
106
I'm currently in the same situation as we could be moving to v2 of our web app framework (~10yrs same code base, yuck). I don't like recommending things that might throw a few people off the balance of things. And I'm talking simple things.. mod_rewrite, jquery ui, etc.

I would show him how widely accepted Rails is, and how far/fast ruby has progressed from it. Maybe show some of the 37 signals products, lessaccounting.com, etc. Honestly I would put Rails up there as being one of the better choices if you had to learn a new language/framework.

I've tried to show him some examples of ruby. Give him a feel for the power behind it, etc. But I honestly don't think it is sinking in. And it isn't that his concerns aren't real, I mean, we are primarily dealing with perl for everything so the likely hood of a new developer coming on with any sort of ruby experience is somewhat slim.

That being said, I can't shake the fact that before looking into it, I had absolutely no ruby experience, yet I've been able to pick up the language fairly quickly (couple of days, which is something I brought up to him).
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
I'm currently in the same situation as we could be moving to v2 of our web app framework (~10yrs same code base, yuck). I don't like recommending things that might throw a few people off the balance of things. And I'm talking simple things.. mod_rewrite, jquery ui, etc.

I would show them how widely accepted Rails is, and how far/fast ruby has progressed from it. Maybe show some of the 37 signals products, lessaccounting.com, etc. Another good rails project that comes to mind.. that we use on a daily basis.. Redmine (http://www.redmine.org/).

Honestly I would put Rails up there as being one of the better choices if you had to learn a new language/framework. The only "tough" thing about rails is the web host, you basically need to pick a higher end specifically designed rails host, or go VPS.. otherwise your rails version of your shared server could be far behind. And even then its not as simple as "tasksel install lamp-server".
The rails host isn't going to happen. Those that use the tools are pretty small (something like 100 people) and the company has a thing about putting sensitive information outside of the company network. That being said, once setup, rails doesn't need much to run fairly peacefully with the world.

My biggest concern with going to rails is the fact that they like to change their API fairly frequently. I'm hoping that after the 3.0 release, they stabilize the API and work on just adding new features rather then changing the way everything is done.

Have him run through this:

http://railsforzombies.org/

I've looked at that, the first lesson was broken when it tried it (looked like someone had deleted the Zombies database...)
 

Ka0t1x

Golden Member
Jan 23, 2004
1,724
0
71
I would have the same argument for Perl, or any other language, for that matter.

But it also depends on location.. Everywhere here (central IL).. is .Net, whereas the jobs that I want.. PHP/Rails.. are all West Coast.

If it helps, you can version lock gems with the Gemfile. And yes I think they're focusing on more on new features now.. There was a big performance gain in going to all Rack, I believe, which was a big 3.0 changeover.

Sorry, I prefer to edit posts instead of make immediate new ones :p

At any rate, you could always pick a task, simple blog maybe? And run the full course of creating it with each framework. Rails will win.
 
Last edited:

Cogman

Lifer
Sep 19, 2000
10,286
147
106
Sorry, I prefer to edit posts instead of make immediate new ones :p

At any rate, you could always pick a task, simple blog maybe? And run the full course of creating it with each framework. Rails will win.

That is sort of what I'm doing now. I've implemented a page in rails and I'm going to proceed to implement it in the other languages. It is a pretty simple page, but I think (hope) it will get the point across.
 

aceO07

Diamond Member
Nov 6, 2000
4,491
0
76
If you go Rails, go 3.1. It has a few major changes despite the small version number change from 3.0.

In your spare time, you could take up Rails (any version) and convert one of your webtools. Then you'll have some code and a working prototype to show them. Maybe after seeing real code they'll be more convinced.

edit: I see you're already doing that. :)
 

Kirby

Lifer
Apr 10, 2006
12,028
2
0
Tell him that Catalyst is used on YouPorn, and that you're tired of his sexual innuendos and advances. :p
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
It's not an age thing, it's a stubbornness thing.

I'm old enough to have started with a TRS-80 model 1 and Atari 800, but over the years I've learned piles of new languages and frameworks and I haven't stopped.

One possibility would be to convince management to pay for "boot camp" style training for 1-2 employees who aren't self-learners like us.


Edit: Cynicism might be an age thing :) . Over the years I've seen so many frameworks and development styles promoted as the new shiny that it's hard to get dewy-eyed over any of them. If you're gushing over how wonderful Ruby is rather than showing how it's significantly better for large applications that could be pegging his silver bullet meter.

"I can do X in just 1 line of code!" isn't convincing since there have been 100 frameworks that can do the stock version of something in 1 line. Then to customize it for the needs of your program you need 10 overrides, extensions, subclasses, filters, whatever and 500 lines of code.
 
Last edited:

MagnusTheBrewer

IN MEMORIAM
Jun 19, 2004
24,122
1,594
126
Try a different method of communicating. Write up a list of pros and cons for each rather than verbally giving your opinion.
 

hans007

Lifer
Feb 1, 2000
20,212
18
81
Perl programmers I've notices especially ones with less of a real cs background are the hardest to turn around. Perl for just regular CGI is from what I've heard is horrible to maintain.

Here is something to try. Ask him if he'd be willing to use say Java or a python framework. If no you probably should just give up
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
It's not an age thing, it's a stubbornness thing.

I'm old enough to have started with a TRS-80 model 1 and Atari 800, but over the years I've learned piles of new languages and frameworks and I haven't stopped.

One possibility would be to convince management to pay for "boot camp" style training for 1-2 employees who aren't self-learners like us.


Edit: Cynicism might be an age thing :) . Over the years I've seen so many frameworks and development styles promoted as the new shiny that it's hard to get dewy-eyed over any of them. If you're gushing over how wonderful Ruby is rather than showing how it's significantly better for large applications that could be pegging his silver bullet meter.

"I can do X in just 1 line of code!" isn't convincing since there have been 100 frameworks that can do the stock version of something in 1 line. Then to customize it for the needs of your program you need 10 overrides, extensions, subclasses, filters, whatever and 500 lines of code.

:) Perhaps it really is just a cynicism thing. I've been critical of Ruby on rails in the past, but it seems to me that it has proven itself with the number of big names that are now using it (hulu and yellowpages stand out to me... twitter not so much just because they are currently in the process of leaving rails :D).

I get the distinct impression, though, that it has a strong root in "I don't have experience in any other programming language.". I get that from how strongly he is pushing Catalyst while simultaneously being completely dismissive of ruby on rails (He hasn't really done any work with either).

It probably doesn't help that the guy that I'm working with to push this out is a recent masters graduate with a pretty strong "new in shiny... OMG must have!" attitude.


Speaking of new and shiny? Does anyone have an opinion on django? My hatred of python getting in the way of me being totally objective about its usefulness. I feel that it is a python "I can do this too" sort of thing.
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
Perl programmers I've notices especially ones with less of a real cs background are the hardest to turn around. Perl for just regular CGI is from what I've heard is horrible to maintain.

Here is something to try. Ask him if he'd be willing to use say Java or a python framework. If no you probably should just give up

A cobbled together mixture of perl, CGI, the mysql models, and Ajax just leads to some of the most unreadable code out there.

As for just giving up, the problem I have with this is the fact that I have no weight here. I'm just the dumb undergraduate intern and he is the test developer team member with 10+ years of experience. I'll make my case the best I can, but I get the feeling that his opinion on the matter is going to heavily sway the manager on what to do.

BTW, I've just tried to give Catalyst a shot, the stupid thing broke right out of the box from a fresh install. Yeah, super framework yah got there. (installed from the ubuntu repositories).
 

MagnusTheBrewer

IN MEMORIAM
Jun 19, 2004
24,122
1,594
126
A cobbled together mixture of perl, CGI, the mysql models, and Ajax just leads to some of the most unreadable code out there.

As for just giving up, the problem I have with this is the fact that I have no weight here. I'm just the dumb undergraduate intern and he is the test developer team member with 10+ years of experience. I'll make my case the best I can, but I get the feeling that his opinion on the matter is going to heavily sway the manager on what to do.

BTW, I've just tried to give Catalyst a shot, the stupid thing broke right out of the box from a fresh install. Yeah, super framework yah got there. (installed from the ubuntu repositories).

Well, now that you've clarified things. You have negative weight, as in, I would bet anything you suggest will be guaranteed not to be adopted. It doesn't mean you shouldn't try but, it's a lost cause. I still recommend you try a different manner of communicating your thoughts. Businesses are often more impressed by seeing things on paper.
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
Well, now that you've clarified things. You have negative weight, as in, I would bet anything you suggest will be guaranteed not to be adopted. It doesn't mean you shouldn't try but, it's a lost cause. I still recommend you try a different manner of communicating your thoughts. Businesses are often more impressed by seeing things on paper.

Dang it! I should have been recommending every framework except for rails! :p
 

sourceninja

Diamond Member
Mar 8, 2005
8,805
65
91
Tell him he's not allowed to write code anymore and he has to do everything using drupal's taxonomy codes, views, content types, and existing plugins.

I was lucky, I got everyone to make a lateral move from no frameworks and plain old php to using php w/ PDO, to finally using codeigniter. Even though we never left the php language, there was still some mild resistance. They are happier for it now though.
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
Tell him he's not allowed to write code anymore and he has to do everything using drupal's taxonomy codes, views, content types, and existing plugins.

I was lucky, I got everyone to make a lateral move from no frameworks and plain old php to using php w/ PDO, to finally using codeigniter. Even though we never left the php language, there was still some mild resistance. They are happier for it now though.

How do you like codeigniter? Would you recommend it over rails for simple data display?
 

sourceninja

Diamond Member
Mar 8, 2005
8,805
65
91
Honestly it comes down to language preference. PHP is a known quantity around here with everyone very experienced in it. Ruby is a language only a few of us have toyed with.

I've done small personal projects with RoR and found it to be a nice framework. Our databases didn't fit very well into the RoR model (ActiveRecord tends to get in the way imho), but it still worked pretty well. Projects designed from the ground up with RoR in mind seem to work a lot better.

Codeigniter allowed us to take many of our php classes and wrapper them so they would "just work" while we transitioned projects. It was very loose and let us pick and choose the parts that made sense for us. We had some issues with how it handled sessions, but that was easily solved with a small override class. We were able to reproduce a few months of work in a few days or a week or two.

Personally, I'd like to see us move to java, python or ruby, but php is still a strong language and there is no fundamental reason for us to switch. As long as our guys can write clean, secure, and documented code in php, I'm fine with them staying on php.
 

BigDH01

Golden Member
Jul 8, 2005
1,631
88
91
I've tried to show him some examples of ruby. Give him a feel for the power behind it, etc. But I honestly don't think it is sinking in. And it isn't that his concerns aren't real, I mean, we are primarily dealing with perl for everything so the likely hood of a new developer coming on with any sort of ruby experience is somewhat slim.

I kinda agree with the old guy. I'm assuming some people there know perl, and it doesn't sound like this project has that much time devoted to it (given that you are just now looking into it and it's a cobbled mess). Which means, it's probably something that will never get that much time devoted to it. Use a language that people know and hopefully it's something they can fix quickly. After all, he is right when he says you will be leaving soon... right?

Not everyone likes to learn new things unfortunately. And you do need to consider what happens when you leave. Even if it's to the old developers' detriment, if they don't want to learn ruby, they don't want to learn ruby.

I should tell you that I do wish the guy would take the time to learn RoR, as I personally think it's a much better option, but you can't change human nature.
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
I kinda agree with the old guy. I'm assuming some people there know perl, and it doesn't sound like this project has that much time devoted to it (given that you are just now looking into it and it's a cobbled mess). Which means, it's probably something that will never get that much time devoted to it. Use a language that people know and hopefully it's something they can fix quickly. After all, he is right when he says you will be leaving soon... right?

Not everyone likes to learn new things unfortunately. And you do need to consider what happens when you leave. Even if it's to the old developers' detriment, if they don't want to learn ruby, they don't want to learn ruby.

I should tell you that I do wish the guy would take the time to learn RoR, as I personally think it's a much better option, but you can't change human nature.
In this case, they are planning on switching to a web framework at least for future web development. The learning curve to do this in catalyst is just as steep (if not more steep due to things like poor documentation, tutorials, and the fact that it uses a newer perl syntax that we aren't currently using).

Priority isn't too high, that is true (why else would they assign an intern to it :D)
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
I would say, as an intern, you were asked to make a recommendation and you did. Beyond that you're not going to carry a lot of weight. You're not going to be hanging around, and if these guys had the time and inclination to be maintaining those apps then they already would be. They're probably happy with the status quo and you're all about shaking things up :).
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
I would say, as an intern, you were asked to make a recommendation and you did. Beyond that you're not going to carry a lot of weight. You're not going to be hanging around, and if these guys had the time and inclination to be maintaining those apps then they already would be. They're probably happy with the status quo and you're all about shaking things up :).
:D yeah, I just hate spending time looking into something like this only to find out "Hey, thanks for looking into this, but we were really just looking for something to keep you busy, we are going to do what the guy who hasn't looked into this suggests."

IDK, I guess at the end of the day, I'll be gone and he'll be the one they have to deal with in the future. Appeasing a long term employee is a much smarter strategy than appeasing an intern.
 

Kirby

Lifer
Apr 10, 2006
12,028
2
0
I had a similar experience. The bossman wanted me to rewrite a user interface for a system they were working on, and the guy that had written the original one in LabView threw a fit about it. I got caught a bit in the drama, although I repeatedly explained to him that I just did what I'm told and tried to explain my reasons (and my boss') that my "approach" was better in the long run.

In the end, my program was banished to the dark side of the server and they still use his, even though mine was better preforming, better documented, and all around easier on the team. Oh well.
 

beginner99

Diamond Member
Jun 2, 2009
5,320
1,767
136
I played around with Grails. Basically the RoR idea put into Java World. I can recommend it but keep in mind it uses groovy (similar to ruby) and not Java itself.

Anyway this thread explains why a software supplier I have to work with just sucks so bad. The web app part only supports IE but they can't even create good webpages with that limitation. It's just so obvious they used to be desktop only...
 

TecHNooB

Diamond Member
Sep 10, 2005
7,458
1
76
just do what the old farts tell u to do and shake things up on your own time :)