Slashdot Mirror


Portable Coding and Cross-Platform Libraries?

Bradee-oh! queries: "My brother and I were just commissioned to develop a large energy management system for a few big college campuses in the area. It will be written in C/C++. We know that in 6 months, when a preliminary test system will be installed, it will be running on NT/2000 servers. The software will be tested on NT for up to 12 months and a final version will run on NT a year after that. We also know that around that time, it will shift to *nix servers, and we're expected to account for that in development. The question is, what sorts of cross platform libraries will make this as painless as possible? I've never made it a point to code for 2 platforms at once in any language other that Java. Aside from the GUI, which we've already agreed to use QT 3.0 for, we specifically are looking for cross-platform libraries for multi-threading, serial port I/O, and network I/O."

"Ideal libraries would be open source and free, though those aren't as important as tested/stable/reliable. What are your recommendations? Anyone have experience writing for multiple platforms at once with threading, serial I/O, and network I/O all in mind? The ideal scenario would be to recompile on the new platform without changing a line of code - will this type of portability be possible?"

3 of 531 comments (clear)

  1. This is wrong by Nicolas+MONNET · · Score: 3, Offtopic

    Writing cross platform GUI applications is hard. Writing cross platform GUI applications with multithreading and network stuff is very hard, but most of all hard to get right.

    Hard = difficult = long = costly.

    The question is, is the cost worth it? This application, from what you're telling us, is going to run on a few dozen computers at most. It's not a general purpose app, there is no added value in providing cross platform support.

    Why switch platforms in the end? It doesn't make any sense.

    But to answer your question, if Windows is really a transitional system, I would just develop on *nix, and run it on Windows with Cygwin. Might be even simpler to use XFree/Cygwin.

  2. YOU MUST READ THIS! by Electric+Troll · · Score: 0, Offtopic

    This article is another attempt to subversively convert more straight Slashdot readers into slashbots - homo toyboys, kept around for CmdrTaco's sexual forfillment. Let's examine the article and see why this insidious Open Sauce movement must be stopped at all costs:

    "My brother and I were just commissioned to develop a large energy management system"

    In other words, Cowboikneel and CmdrTaco get tired after too little anal sex and need a more effective system to manage their energy. This is no doubt due to them both being fat homosexual geeks. The only cure is to go outside, breathe the fresh air, excercise regularly, and stop taking men up the ass.

    "Aside from the GUI, which we've already agreed to use QT 3.0 for"

    Ever since qt was released under the GPL (Gay Penetration License), CmdrTaco's toy boys have been using qt more and more. qt, or Queer Technology as it is now known, was strictly forbidden before, as it did not allow RMS to have Gay Penetration with his Free Software ("Software" is a term for underwear designed for easy removal). It is a major loss for the straight community that qt has now 'come out' under the GPL. We must strive to find a straight replacement.

    "we specifically are looking for cross-platform libraries for multi-threading, serial port I/O, and network I/O."

    cross-platform, as I've already documented elsewhere is a term used to describe any object which will fit in CmdrTaco's, Cowboikneel's, and Homos's ass. It is truly a disgusting phrase.

    multi-threading refers to the homosexual practice of inserting more than one object up a gay lover's anus. The anus has to support multithreading for this to be possible. Cowboikneel has always supported this, due to the enhanced size of his O-ring. CmdrTaco has not always supported multithreading, but after being impaled on Homos's huge cock multiple times, he has now managed to support it.

    'serial port I/O' refers to the sick practice of in-line Gay Penetration. Because of the nature of this task, each lover must hold a Gay Penetration License. in-line Gay Penetration means Homos taking CmdrTaco who in turn takes Cowboikneel, who continues the line of homosexuality. Many homos will join the line. The record line length is two hundread and fifty seven lovers! RMS and ESR were involved, of course, as well as many other prominent Open Sauce leaders.

    The nature of 'network I/O' is not known to me at this time. Although the intelligence gathering methods used to undermine the homopocalipse revolution are very advanced, no one has dared to enter a orgy in which 'network I/O' is going on and thus cannot give us more information as to the nature of this dark and sinister threat to our sexuality. Anyone who holds information on this matter is encouraged to let us know, even if it means putting their anal virginity at stake. This threat is of the highest importance and we must learn more about it.

    In conclusion, The homopocalipse, which was once thought to be merely a figment of RMS's imagination, is now very very real. We must work persistently and diligently if we are to destroy this threat once and for all. Until such a time as a straight man may once again walk with pride, and not fear being taken up the arse by rabid slashbots, armed with cross-platform dildos, we must excercise caution. Do not trust anyone. Do not believe what you read on slashdot. Treat everything and everyone with suspicion. I must go now, I fear the slashbots have discovered the hiding place from which I am transmitting this warning. If I do not make it out of here and to safety, please continue my work. Do not rest until slashdot is free of RMS and his homosexual minions. I will go now.

  3. C/C++??? by Stiletto · · Score: 1, Offtopic

    It will be written in C/C++.

    What is this "C/C++" language I keep hearing about? I've never worked with it. Is it similar to C or is it like C++? Where is the specification for "C/C++"? Where can I find more information about this unknown language?