Home AMX User Forum Duet/Cafe Duet

Thoughts on Java inclusion

More as a test for posting but still, what are people's thoughts on the Java announcement?

-discuss

Comments

  • The consensus on the other thread about NetLinx enhancements where this has been raised as well is that it is a great move by AMX.

    The only concern is the performance of DUET on the currently deployed master cards, knowing the memory/CPU requirements coming with Java.

    Given the amount of Axcess/Netlinx code and experience around, it is likely both environments will need to be supported in parallel for a while.

    My two cents

    Fred
  • Joe HebertJoe Hebert Posts: 2,159
    Options are always good and I'm looking forward to the release of DUET. From what was said at CEDIA, you can continue to program in Netlinx with DUET or move to Java or any combination of both. It sounds like a win win situation to me.

    I've always loved Java (garbage collection problems aside) and feel it's an elegant language that is about as object oriented as any language can get.

    Fred - Regarding the concern of memory requirments you mentioned, AMX is going with J2ME (micro edition) which has a much smaller footprint and was created with embedded devices in mind. But obviously only time will tell.
  • DHawthorneDHawthorne Posts: 4,584
    The additional memory requirements were never an issue with me, since I don't have any existing jobs I feel I must port to Java.

    My only concern is what this means to me as an "expert" NetLinx programmer. Suddenly, an niche in which I had a cetain amount of exclusivity is being blown open a bit. I agree it may be a good thing for AMX to have their product more accessible, but for me personally it lowers the value of my expertise.
  • Co sign on the last post...

    Also... the size of the firmware for the netlinx mastercards has already increased hugely since the first release and i wonder if the java support thing will make it even bigger (i suspect so since the old mastercards are not suitable for Duet). This could make the netlinx operating system undermine its whole reason for being, namely: stability.

    But it will be fun to watch the upcoming developments!
  • frthomasfrthomas Posts: 176
    Originally posted by DHawthorne
    My only concern is what this means to me as an "expert" NetLinx programmer. Suddenly, an niche in which I had a cetain amount of exclusivity is being blown open a bit. I agree it may be a good thing for AMX to have their product more accessible, but for me personally it lowers the value of my expertise.

    Well, not really I think. Part of the expertise is the knowledge of all the AMX gizmos, how they really work and how they interact together. The programming language is just "plumbing".
    I mean, for any general things like loops and variables and operators and procedures and modules, NetLinx is very "standard", and any decent modern programmer should be able to program with it quickly.
    But stuff like sending an event, what is a devchan, the details of how to work with 2 way wireless panels, this will remain the same with Java. And this is where your (well, our) expertise is IMHO.

    Fred
  • Probably more important than AMX product knowledge is control systems experience, which typical Java programmers do not have. Concepts like projector lamps having a warm-up and cool-down period are totally foreign to someone who has not worked in this industry.

    When I was a systems designer/programmer my old boss had a saying ... "You don't know what you don't know". And there's a lot that typical Java programmers don't know about control systems.

    But they do know networking and databases and alot of complex coding techniques that can be difficult in the NetLinx language. Java programmers will be effective in creating device modules and complex utilities that can be accessed from the NetLinx side of Duet to make the NetLinx programmers' jobs easier, allowing you to concentrate on the complex interactions inherent in control systems.
  • DHawthorneDHawthorne Posts: 4,584
    I can see this developing into a two-tier arrangement, and there is cause to believe a company specializing in one tier would not have as much use for a programmer specializing in the other.

    Let's call tier 1 Production. These are the companies/dealers/indy programmers who crank out final code to install in working systems. With manufacturers supplying Java modules for devices, and even in some cases now, providing NetLinx modules for devices. Production programmers put them all together to work with the finsihed product. People working in this tier would have little or no use for Cafe Duet; in some cases, the licensing and training costs would even make it prohibitive. Others create the Java code, they just slap it together. It makes for efficient jobs and encourages standarization; it's a good thing for profitability and makes the product itself more accessible, and therefore more sellable.

    Tier 2 is Development. Programmers in this field write the modules, whether Java or NetLinx, and I suspect with Duet going live, it will lean heavily to Java. The Deveopment tier creates the building blocks that the Production tier creates an end product from.

    Already we have some movement towards this tiered system, but Axcess and first generation NetLinx programmers have always had to do both. There have been various modules around for some time, but not for every piece of equipment out there, and not all of them have been appropriate for all applications. So we have done both development and production, and it made sense to be able to do both.

    Duet is the next step in seperating the tiers. My own boss has told me he wants to get entirely out of development and just crank out finished systems. This is great for him if it becomes viable for our company, but it leaves me doing the type of programming I find least to my liking. I far prefer development, and have enjoyed most writing modules for re-use. Modifying a template for individual installations becomes tedious to me very quickly. The other part of it is that I am the only full-time programmer in the company, but we have several guys who can tweak and modify programs as needed. Done right, my development efforts will eventually put me out of a job, because these guys can both build on my programming frameworks and do all the physical installations, etc., that I happily got away from years ago (getting too dang old to crawl around in the attic with a flashlight in one hand, wire cutters in the other, and a piece of wire in my mouth). And these same guys command a far smaller salary than I do.

    Duet is going to encourage manufacturers and developers to generate code blocks for production-oriented companies to use. It will, in fact, make it less viable for small companies to do their own development, and it will, in fact, devalue programmers who work for these small companies. There is a considerable amount of intellectual snobbery in the programming field. I have never been to college, so I hold no programming degree, and automatically there are a huge number of development oriented positions that are closed to me whether I can do the work or not. They won't even consider a person without a degree. It never mattered when I worked for a small company that did it all, but I am suspecting it will matter a lot more relatively soon.

    All this said, I'm not saying any of this is bad for AMX or for the industry in general. I am just forseeing the end of something I personally enjoyed and profited from...which is not to say it shouldn't happen. I just hope I land on my feet all right making the adjustments I will need to make.
  • DHawthorne wrote:
    All this said, I'm not saying any of this is bad for AMX or for the industry in general. I am just forseeing the end of something I personally enjoyed and profited from...which is not to say it shouldn't happen. I just hope I land on my feet all right making the adjustments I will need to make.

    I would be surprised if you ended up out of a job due to the inclusion of Java in Netlinx. In fact, I am sure there will be enough issues to deal with as things go along. Every time some new technology comes along, people say it will put programmers out of business and then it ends up that people are needed to deal with the new technology. I am sure that when Java first cam out C++ programmers were all concerned that C++ jobs will go away. I am primarily a Java/C++ programmer that has now been doing Netlinx for about a year, and I will be surprised if there are fewer issues to deal with now that Java is included.

    As a poster above mentioned, Java programmers are unlikely to have much home integration experience which will take time to get, but since doing Netlinx code for about a year I have developed that experience but now have to catch up with the Java stuff again :)
    Besides, if you know Netlinx well, Java won't be too hard to learn especially at the level that is required for Duet. Even if manufacturers come out with modules for devices, there will always be new devices, that need new modules adn devices where there are no modules.
    Just a few thoughts...
    Paul
  • imsocoimsoco Posts: 46
    I remember when Detroit in the 60's was worried about factory automation coming in. There were walkouts, fights, protests and a lot of political maneuvering going on. The workers were worried about their jobs. This is the same group, by the way which stopped the metric system from becoming a standard in our country. Too many factories would have had to retool. Of course what happened is the factories became automated and the grunts got edjamacated at company expense. We now have better cars.
    Unless you are a fan of keeping the past around you, it is time to grasp the future and find your market. I've installed systems before they were called "systems". It has become a routine to do this every few years. Most of us found this industry as we love change, bringing the future to reality. Now is not the time to choke. As you would with any business interest, locate what you can do better than others using the new format and market the hell out of it. The better format does not always win, so, you really need to market well.
    So I have several programmers I need to get up to speed. Does anyone have suggestions as what the best way to become proficient in Java, (besides working for Sun)?
  • DHawthorneDHawthorne Posts: 4,584
    A friend of mine recently told me I have a talent (rivaling, in his eyes, only his wife's) for anticipating worst-case scenarios. Perhaps he has a point; but I don't say it isn't useful at times to be better prepared than the next guy because you had a more negative view of a trend than he did. Don't get me wrong, I am neither wringing my hands in concern over this nor balking at progress ... just trying to be sure I, myself, am ready for whatever happens.
    So I have several programmers I need to get up to speed. Does anyone have suggestions as what the best way to become proficient in Java, (besides working for Sun)?

    That depends on how your guys learn best. There are a myriad of Java texts out there, and most come with sample code and discs. Grab one or more of those, then download the free Netbeans environment from Sun, and they can train themselves. If they are the type of guys that learn better in a classroom environment, I would be surprised if you couldn't find a tech school nearby that offered classes, or even an online course. One thing is certain: we are in the golden age of communications. You can find anything if you look.
  • ericmedleyericmedley Posts: 4,177
    Not to belabor the point over much... I do think your point is valid. Like most things we get into something for the joy it provides. I started my career in music and spent 20 some years as a music producer and audio engineer. I never tired of the actual 'audio engineer' part of it. The lifestyle eventually got to me. The travel and hours were not a good mix with family life and whatnot.

    My second love has always been programming. As I slowed down, I moved to A/V at a large univeristy. That's where I got my start with AMX. I was actually in the first class of NetLinx programmers just past 9/11.

    We programmers tend to be more interested in the 'art' of programming. However, we work for businesses that are much more production-oreinted. The very nature of production tends to limit the more experimental side of programming.

    At my new position, I've worked diligently to get the engineering department to move to a more production-oriented approach and get away from doing everything like it was a custom job. While I've seen the numbers and efficiency go up, I realize that I am in a way I'm eliminating my own job. As the programming side of things gets more streamlined, the need for programming decreases.

    AMX itself seems to be moving towards this model as well. The advent of modules written by the company, Visual Architect and the move towards JAVA are all markers of this.

    It's kind of like the movie Mary Poppins. She blows in, fixes all the stuff, helps everyone see a better way. And in the end, everyone goes on with their lives and the real hero has to fly away with her umbrella. : )
  • imsoco wrote:
    Does anyone have suggestions as what the best way to become proficient in Java, (besides working for Sun)?
    DHawthorne wrote:
    ...download the free Netbeans environment from Sun...

    Instead of the Netbeans IDE, try Eclipse www.eclipse.org. Cafe Duet is an Eclipse plugin, so the IDE they will learn will be essentially the same.
Sign In or Register to comment.