Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.


Last year, my department developed web based gaming, and needed Flash. It was difficult to manage. The Flash guys didn't fit in regardless of skill or popularity in the office. Maybe it's prejudice from the AS 2.0 days, or C programmers do things differently in my department. I don't get it!

EXAMPLE
They hired a BAD Flash Guy used Tweener and Keyframes (they hated him). Then they hired a GOOD Flash Guy that was expert at AS 3.0 and followed best OOP standards (they liked him). The result was the same, the C programmers overwrote all of they're code, even the GOOD Flash Guy's code.

QUESTION
Is it better to have C developers learn Flash, than hire Flash guys? No offense to Flash guy's, I'm trying to understand this on a project management level.

Thanks,

share|improve this question
3  
Was the C programmer's result better than the good flash guy's? If so, why? –  NickC Mar 21 '11 at 20:18
9  
Is anyone in charge? Sounds like someone doesn't mind spending other people's money and just rewrites code as they see fit. –  JeffO Mar 21 '11 at 20:22
5  
If the C developers already rewrote the changes of both Flash developers, doesn't that imply they already know Flash, in which case you don't have to wonder whether they should learn it or not because they already do ? –  wildpeaks Mar 21 '11 at 20:27
1  
The lead engineer learned AS 3.0 in a month, and taught it to his team. His architecture was chicken wire and duct tap. That may be the reason he rewrote the GOOD Flash Guys code. "To fit his own insanity." For the money they wasted on the Flash guys, they made up for in unpaid overtime. –  DisEngaged Mar 21 '11 at 20:58
add comment

5 Answers

up vote 13 down vote accepted

It would matter a great deal why the existing C developers re-wrote all the code. On the one hand, it could be that an architect needs to determine what functionality needs to be built in the different software tiers. If you are embedding logic in Flash that needs to be reused by your C developers, for example, that's probably a poor architecture and could explain why the C developers needed to rewrite the code to pull out various APIs. On the other hand, it could be that your existing developers are being excessively territorial and resistant to learning a new language. On the third hand, perhaps Flash was a poor technology choice for the requirements you have and the frameworks that have to be leveraged. Without addressing why the previous projects failed with the members of the team and with the stakeholders, it's going to be very hard to address the problem.

share|improve this answer
    
+1 If someone on the team things the code should be different, they should have a discussion with the programmer who wrote it/team as to why. They should not just rewrite it because they can. –  unholysampler Mar 21 '11 at 20:20
    
They jumped in without architecture, but I think this has happened before with Flash projects I've seen. –  DisEngaged Mar 21 '11 at 21:04
2  
@FXquincy - That sounds like a process problem, not a technology problem. If you build anything without properly considering the architecture, you're likely to end up with something that unmaintainable. If you're building a Flash application that is supposed to interface with other bits of code in your enterprise, you have to design the API just as you would with any other integrated system. –  Justin Cave Mar 21 '11 at 21:14
add comment

Well, as much as I hate to admit it, C guys should be kept away from OOP code as much as possible. There are exceptions, but C mindset is a lot different, and this will most likely be a problem.

C is low level, function/struct oriented language with a lot of memory management. And C experts tend to carry over that style. A lot of C developers are scared from high-level constructs and exceptions, and they have a VALID reason for that.

For OOP environments that's not a very good idea. There are a lot of things that are not popular in C. Exceptions, polymorphism, etc. C guys will need quite a long time before they migrate away from C with classes. And start clean OOP code with SOLID and everything.

It would be a different story with C++ developers. There the discussion is open, IMHO.

Not that I hate C or anything. C is very good at some things C++ suck at, and the other way around. But clean C is a lot different from clean C++ code wise, with both styles having HUGE drawbacks and HUGE strengths going for them.

share|improve this answer
add comment

Apparently Your definition of good flash as3 developer does not include that the developer does proper requirement gathering as to what all programs/process/API would interact with his program, and the environment/conditions it is deployed in.

Like others have pointed out This is essentially a process management and architecture problem. so who ever assigned the task to the flash guy must ave kept him in a black/box without divulging any information on integration.

But in general Its better to hire flash guy's than have pure c developers learn flash to work on a major project. Flash has a lot of Niche's and Gotchas in itself .

But Id like to point out the very difference in your own wording. c developer vs flash guy . One would assume a developer is a person who has broader outlook of the existing system and understanding how to fit his task into the flow.

share|improve this answer
add comment

When it comes to ActionScript 3, there's not much to learn. It is basically a poor mix between JavaScript and early Java.

As to Flash Player itself, it is quite an API to know.
When writing performance critical code for the Flash Player (usually the case for gaming), you need to know a lot of things. You need to know all the built in classes (because your own code is run on a VM and the builtin classes are wrappers to native machine code, which is orders of magnitude faster).
If you know your way around, if you are a part of the flash developer community, if you have your toolset and your resources, then you will easily outrival any programmer without those assets, no matter how clever he is.

So if you really want to do cutting edge things with a certain tool (platform/technology), you need a lot of experience, which takes time. However, this is not specific to flash, not even to programming. If your C programmers don't understand that, maybe they're not so good after all.

share|improve this answer
add comment

This speaks to your own project management. Developers shouldn't be extensively rewriting other code unless you know about and and know why. If your developers are behaving unprofessionally it is because you allow it.

As to whether you needed a Flash specialist or not, that might depend on how complex the Flash work was.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.