-1

Please excuse my lack of knowledge in programming, but it is true that a business application, e.g. CRM, can be developed using one language (e.g., C++) and later enhanced using a different language (e.g., C#.NET)?

Can we use multiple languages when developing an application?

  • 3
    How do you mean "enhanced"? And it has been a very long time since I wrote something using one and only one language. – user40980 Nov 19 '15 at 23:45
  • 1
    Most CRM type applications will require multiple languages, since they have a web front end using HTML/CSS/Javascript and a back end using yet more languages. – Móż Nov 19 '15 at 23:45
  • Thanks for your input Michael. It makes sense to me now. I could have been clearer, by "enchanced", I meant, changes induced to an application.. – Emanuel Nov 19 '15 at 23:52
  • 2
    Can you name an application that was built without using more than one language? I can't think of one. – Jörg W Mittag Nov 20 '15 at 0:49
  • Sharing your research helps everyone. Tell us what you've tried and why it didn’t meet your needs. This demonstrates that you’ve taken the time to try to help yourself, it saves us from reiterating obvious answers, and most of all it helps you get a more specific and relevant answer. Also see How to Ask – gnat Nov 20 '15 at 4:48
2

Of course it can. Many languages actually encourage this. It goes well beyond C++/C#. There are actually fairly good examples such as the Qt Clases for Python/Java whic use C, Spark/Hadoop when used with PySpark, and the interoperability of Scala and Java. Python itself is practically a living example of this interchange with CPython now used for the standard flavor and Jython (which interacts with Java). In the case of Java, the JNI actually makes it fairly simple to access C/C++ code. The C# equivalent would be the invoke command. There are some things to keep in mind though.

  • Don't destroy the understandability or performance of a program because you simply understand something else more easily because, chances are, you will not be the only one who needs to be involved on the project.

  • Is the addition logical. Does it add functionality beyond being just easier to program. If the code is just going to require more skill to read and change, then there is an issue. If there is a performance upgrade, then it is useful.

  • Can the main language be used to run the code. If so, it would be easier to understand and use. The JNI is an example of how to run C code in Java.

  • Are there similar tools with APIs that can ease your programming that are written in the native langauge or use the target language. This always makes things easier to understand and the right tool is often better maintained for that purpose.

1

Lots of iOS applications started out as Objective-C or possibly a mix of Objective-C and C++, and now get enhanced using Swift. So it's quite possible and not at all uncommon in a single application.

0

My straight forward answer would be: for sure.

I don't know exactly from where your concerns come, but if you think about web software development, you are in a place with potentially a bunch of languages working together.

There are many ways to think about your question, but it's very common (and sometimes desired) to use the "right language for the right problem". So it's perfectly normal to have an business application built on top of various minor parts, many times in various languages.

0

All .NET frameworks permit you to merge different languages when they are built using separate in code modules… Depending on which library you include in the framework (.net framework) fuji 🗻 some third party product (language) permit you to do this… Using good configuration.

  • Thanks "user204747". Great to have been explained this technical underpinning. Do you mean, that .NET framework is one that enables compatibility between different languages? – Emanuel Nov 19 '15 at 23:58
0

It's extremely common to work on a project with multiple programming languages. A very typical example is combine C++ with a more front-end friendly programming language.

For example, it'd be awful to code the front-end for a web application with C++. JavaScript would be a better langugage. While the computation algorithm can also be done in JavaScript, C++ offers better performance power and flexibilty.

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