|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.04.2015, 07:40 | #1 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Теория использования разных ЯП в одной программе
Представим сферическую программу в вакууме, которую обрабатывает интерпретатор. Программа делится на модули (юниты, кому как больше нравится). Допустим основной модуль (то есть что запущено первым) написан на Паскале. В своей работе модуль на Паскале обращается к методу (функции) в модуле на С++. Плюсы такого подхода в том, что каждый программист пишет на том языке, который ему нравится, но имеет больше возможностей использовать чужой код, дабы не писать свои грабли. Кроме того, есть некоторые традиции - библиотеки для решения одного круга задач пишутся на одних языках, другие на других. Конечно в целом и общем все языки программирования так или иначе обладают широким кругом библиотек. Но программисту вдруг станет очевидно, что именно эту библиотеку использовать наиболее удобней в данном проекте. Есть конечно и Dllки и т.д., но не всегда все так гладко (то функции не все, то потом результат преобразовывать к какому-нибудь виду, то формат устарел). В общем допускается не просто возможность, а необходимость использование в программе юнитов на различных языках программирования. Интерпретатор со своей стороны гарантирует, что результаты совместного использования будут адекватно восприняты в другом юните, руководствуясь каким-нибудь соглашением/стандартом. То есть он корректно переведет результат функции int в Integer, осуществит преобразование строки с нулем на конце в паскалевскую и т.д. Возникает вопрос синтаксиса - как можно лаконично вызвать функцию из одного языка в другой? Ну и если имеются еще комментарии также хочу увидеть Ваши рассуждения по данной теме (не только по синтаксису).
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 13.04.2015 в 07:43. |
13.04.2015, 07:54 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Ессно строка оформляется по стандарту той системы, что ее обрабатывает. Грубый пример: Код:
Ну или Код:
Меня лично устраивает
I'm learning to live...
|
|
13.04.2015, 08:01 | #3 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Это единичный случай (один язык вызывает другие). А здесь более широкий взгляд - любой язык вызывает любой другой. Писать для этого в каждый свой оператор/конструкцию по правилам данного языка или использовать что-то универсальное типа х=$$$call(строка) (и то не факт, что в каком-нибудь php это уже не используется )? Естественно для вызова родного юнита (например Pascal-Pascal) остается прежний синтаксис, короткая форма.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
13.04.2015, 08:01 | #4 | ||
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Чтобы не делать так программистское сообщество создало кучи всяких стандартов, библиотек, объектов. Так может стоит грести широкой частью весла как все, а не мучить рукоятку.
Цитата:
Цитата:
Стрелок-охотник
|
||
13.04.2015, 08:09 | #5 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Вроде, в таких случаях обычно пишут обёртку вокруг чужого модуля.
|
13.04.2015, 08:10 | #6 | ||||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
||||
13.04.2015, 08:17 | #7 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Можно использовать Common Language Runtime. Собственно, он для этого и был создан.
|
13.04.2015, 08:18 | #8 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
13.04.2015, 08:45 | #9 | ||
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
Цитата:
Стрелок-охотник
|
||
13.04.2015, 08:59 | #10 | ||||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
||||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подсчет в разных листах одной книги | 10uhfa | Microsoft Office Excel | 0 | 23.12.2012 19:24 |
использование одной переменной в разных объектах | SUDALV | Visual C++ | 0 | 20.04.2011 20:12 |
Delphi (Проверить правильность использования массивов в программе написанной на языке C++) | Skyriver | Помощь студентам | 5 | 24.01.2011 20:10 |
Объединение данных из разных Файлов на разных листах одной книги | Nikodim113 | Microsoft Office Excel | 20 | 12.01.2011 07:12 |
Два разных значения в одной ячейки! | nisan | Microsoft Office Excel | 25 | 29.10.2010 00:12 |