IP Library Granted Patent US 10,705,887
Granted Patent B2
US 10,705,887 · App. 16/135,051 · Granted Jul 7, 2020

Copying objects between programming languages

Inventor: Motohiro Kawahito (Sagamihara, JP)
Assignee: International Business Machines Corporation
G06F9/541G06F8/315
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,705,887
App. No.
16/135,051
Granted
Jul 7, 2020
Kind
B2
Abstract

Aspects of the present invention provide devices that generate an array in a first memory of a first programming language that includes an element of each object of a plurality of objects, wherein the array includes a plurality of items, and each item of the array includes the element of a corresponding object, copy the array in the first memory of the first programming language to a second memory of a second programming language, and generate each of the objects in the second programming language from the copied array.

Claims (55)

1. A computer-implemented method for copying objects between programming languages, comprising executing on a computer processor:

generating a first plurality of arrays in a first memory of a first programming language to each comprise linear arrays of pluralities of elements that define each object of a plurality of first programming language objects in the first memory and that are ordered by corresponding object of the first programming language objects from which their respective elements are acquired, wherein each of the first plurality arrays comprise pluralities of different ones of the elements relative to others of the first arrays and that are acquired one each from different ones of the first programming language objects, and wherein each of the first plurality of arrays has a same linear array order defined with respect to the first programming language objects;

copying each of the first plurality of arrays in the first memory of the first programming language into corresponding ones of a second plurality of arrays of elements in a second memory of a second programming language, wherein the second programming language is different from the first programming language, and the second memory is different from the first memory; and

generating each of a second plurality of objects in the second memory in the second programming language from the elements of the second plurality of arrays to each comprise pluralities of elements that correspond to pluralities of elements that define corresponding ones of the first programming language objects as a function of copying the first plurality of arrays of elements into the second plurality of arrays in the same linear array order.

2. The method of claim 1 , wherein each object of the plurality of first programming language objects is a same type.

3. The method of claim 2 , wherein a count of the plurality of objects is greater than a count of the plurality of arrays by an order of magnitude.

4. The method of claim 1 , wherein the plurality of first programming language objects includes objects of a different type.

5. The method of claim 1 , wherein the first programming language is selected from the group consisting of:

JAVA programming language;

C programming language;

C++ programming language; and

assembly programming language.

6. The method of claim 1 , wherein the second programming language is selected from the group consisting of:

JAVA programming language;

C programming language;

C++ programming language; and

assembly programming language.

7. The method of claim 1 , wherein the copying each of the first plurality of arrays into the corresponding ones of the second plurality of arrays is by a programming language interface.

8. A system for copying objects between programming languages, comprising:

a processor;

a computer readable memory in circuit communication with the processor; and

a computer readable storage medium in circuit communication with the processor;

wherein the processor executes program instructions stored on the computer readable storage medium via the computer readable memory and thereby:

generates a first plurality of arrays in a first memory of a first programming language to each comprise linear arrays of pluralities of elements that define each object of a plurality of first programming language objects in the first memory and that are ordered by corresponding object of the first programming language objects from which their respective elements are acquired, wherein each of the first plurality arrays comprise pluralities of different ones of elements relative to others of the first plurality arrays and that are acquired one each from different ones of the first programming language objects, and wherein each of the first plurality of arrays has a same linear array order defined with respect to the first programming language objects;

copies each of the first plurality of arrays in the first memory of the first programming language into corresponding ones of a second plurality of arrays of elements in a second memory of a second programming language, wherein the second programming language is different from the first programming language, and the second memory is different from the first memory; and

generates each of a second plurality of objects in the second memory in the second programming language from the elements of the second plurality of arrays to each comprise pluralities of elements that correspond to pluralities of elements that define corresponding ones of the first programming language objects as a function of copying the first plurality of arrays of elements into the second plurality of arrays in the same linear array order.

9. The system of claim 8 , wherein a count of the first plurality of objects is greater than a count of the first plurality of arrays by an order of magnitude.

10. The system of claim 8 , wherein the first plurality of objects include objects of a different type.

11. The system of claim 8 , wherein the first programming language is selected from the group consisting of:

JAVA programming language;

C programming language;

C++ programming language; and

assembly programming language.

12. The system of claim 8 , wherein the second programming language is selected from the group consisting of:

JAVA programming language;

C programming language;

C++ programming language; and

assembly programming language.

13. A computer program product for copying objects between programming languages, the computer program product comprising:

a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising instructions for execution by a processor that causes the processor to:

generate a first plurality of arrays in a first memory of a first programming language to each comprise linear arrays of pluralities of elements that define each object of a plurality of first programming language objects in the first memory and that are ordered by corresponding object of the first programming language objects from which their respective elements are acquired, wherein each of the first plurality arrays comprise pluralities of different ones of elements relative to others of the first arrays and that are acquired one each from different ones of the first programming language objects, and wherein each of the first plurality of arrays has a same linear array order defined with respect to the first programming language objects;

copy each of the first plurality of arrays in the first memory of the first programming language into corresponding ones of a second plurality of arrays of elements in a second memory of a second programming language, wherein the second programming language is different from the first programming language, and the second memory is different from the first memory; and

generate each of a second plurality of objects in the second memory in the second programming language from the elements of the second plurality of arrays to each comprise pluralities of elements that correspond to pluralities of elements that define corresponding ones of the first programming language objects as a function of copying the first plurality of arrays of elements into the second plurality of arrays in the same linear array order.

14. The computer program product of claim 13 , wherein a count of the first plurality of objects is greater than a count of the first plurality of arrays by an order of magnitude.

15. The computer program product of claim 13 , wherein the first plurality of objects include objects of a different type.

16. The computer program product of claim 13 , wherein the first programming language is selected from the group consisting of:

JAVA programming language;

C programming language;

C++ programming language; and

assembly programming language.

17. The computer program product of claim 13 , wherein the second programming language is selected from the group consisting of:

JAVA programming language;

C programming language;

C++ programming language; and

assembly programming language.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2018
From: KAWAHITO, MOTOHIRO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION,
Reel/Frame 046905/0857 →
Continuity (1)
Related Publication 20200089548A1 · Mar 19, 2020