Hi, I have a problem with finding some good wide info (book is prefered or e-book than tutorial) about using several programming languages in one project. Of course I dont\'t think about PHP and JavaScript or C and C++ but using for example Java and PHP or C++ and PHP or C++ and CLisp and other possibilites. I'm interested in all advantages and disadvantages of such solutions.
So if you know a book or something which is talking about this topic widely, I'll be thankful.
using more than one language the one project
Started by Marcinnnn, Jan 13 2009 07:04 AM
7 replies to this topic
#1
Posted 13 January 2009 - 07:04 AM
|
|
|
#2
Posted 13 January 2009 - 09:11 AM
It depends a little bit on what you're trying to accomplish. .NET languages, for example, can be merged into whole projects fairly easily. My company has a suite of products that are coded in Delphi, ASP, and ColdFusion. The Delphi apps clearly have a different purpose than the ASP/CF apps.
The real question is: what are you trying to do with each language, and how are the products going to communicate with each other? C++ and PHP are unlikely to directly communicate, but they might work with a common database as essentially independent apps that communicate via the data they access... or C++ might create a COM object that PHP accesses via IIS... or C++ might use a PHP interpreter to use PHP as a scripting language within the product... or...
The real question is: what are you trying to do with each language, and how are the products going to communicate with each other? C++ and PHP are unlikely to directly communicate, but they might work with a common database as essentially independent apps that communicate via the data they access... or C++ might create a COM object that PHP accesses via IIS... or C++ might use a PHP interpreter to use PHP as a scripting language within the product... or...
#3
Posted 14 January 2009 - 08:43 AM
I want to have general knowledge for projects I make. For example I want to know how I can improve some operations writing them in C++ or CLisp and the passing result (and how much cost such passing) to PHP or Java. Or how to lunch some some PHP applications in Java? I want to know such things.
#4
Posted 14 January 2009 - 09:18 AM
You're going to have to research each language's method of calling other programs, how they can interact, launch programs, get responses, etc. Many of the answers could depend on the OS as well. I suspect the reason you are having trouble getting answers is because of the variety of languages and possible methods of having them interact with each other.
#5
Posted 14 January 2009 - 09:45 AM
I'm mainly interested in C/C++, Java, Python, PHP, CLisp but only I can find is lunching programs by command line (so really I can't find anything I understand) and using AJAX with Javascript. I also put IIS in Google but I only find something about www server.
I know that maybe my for many of you my question is stupid like asking: "How to make programs" but please give my even something what I can put in Google and find it.
I know that maybe my for many of you my question is stupid like asking: "How to make programs" but please give my even something what I can put in Google and find it.
#6
Posted 14 January 2009 - 12:19 PM
IIS is a www server. Many of the ways to call programs will be via command-line (which will depend on the efficiency of the OS). Return values, files, TCP/IP, and various other technologies can be used for cross-app communication, each with its own efficiency and overhead.
#7
Posted 14 January 2009 - 01:19 PM
Yea, but when I can find something more? Of course programs return value and that can be use with running program via command-line, ok.
TCP/IP - I understand this like this: one part of program written in one language sends something via net and another part of program somewhere else written in another language receives data, that's it?
There is JNI in Java that allows to use library from not Java language.
What are these other "various other technologies can be used for cross-app communication, each with its own efficiency and overhead"? Where I can find deep knowledge (book is preferred) about this (it will be stupid if I write some part of PHP application in C++, run C++ in PHP from command-line and using command-line will make all stuff slower the using only PHP without C).
TCP/IP - I understand this like this: one part of program written in one language sends something via net and another part of program somewhere else written in another language receives data, that's it?
There is JNI in Java that allows to use library from not Java language.
What are these other "various other technologies can be used for cross-app communication, each with its own efficiency and overhead"? Where I can find deep knowledge (book is preferred) about this (it will be stupid if I write some part of PHP application in C++, run C++ in PHP from command-line and using command-line will make all stuff slower the using only PHP without C).
Edited by Marcinnnn, 14 January 2009 - 01:21 PM.
better text formating
#8
Posted 14 January 2009 - 01:55 PM
Here is my recommendation:
Start by learning two languages, including the communication systems they support and how their programs can be initiated. Once you've done that, you're in a much better position to get answers to your questions.
The answers to your questions depend on the individual languages involved, the operating system they are running on, etc. The reason you are having trouble getting answers is because you are not asking specific questions.
Are you trying to accomplish a particular task, or just collect information? For example, I cannot imagine easily finding a book on this subject because of the complexity involved in answering the question from C++'s perspective. C++ has many ways to communicate with other programs, the details of which will depend on the libraries you are using, the operating system (Windows has some extra options compared to Linux/OS X), whether the communication is on a single machine, LAN, WAN, or internet, etc, etc, etc.
The short answer is: you have got to narrow your question down to a set of languages or standard communication technologies. The answers for PHP and Java would be radically different from those for C++ and Perl.
Start by learning two languages, including the communication systems they support and how their programs can be initiated. Once you've done that, you're in a much better position to get answers to your questions.
The answers to your questions depend on the individual languages involved, the operating system they are running on, etc. The reason you are having trouble getting answers is because you are not asking specific questions.
Are you trying to accomplish a particular task, or just collect information? For example, I cannot imagine easily finding a book on this subject because of the complexity involved in answering the question from C++'s perspective. C++ has many ways to communicate with other programs, the details of which will depend on the libraries you are using, the operating system (Windows has some extra options compared to Linux/OS X), whether the communication is on a single machine, LAN, WAN, or internet, etc, etc, etc.
The short answer is: you have got to narrow your question down to a set of languages or standard communication technologies. The answers for PHP and Java would be radically different from those for C++ and Perl.


Sign In
Create Account


Back to top









