Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2015, 06:11   #61
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,091
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
vector это высокоуровневый тип данных, а не примитив. Об этом нужно думать. Это должно быть автоматизировано на уровне интерпретатора, программиста такие проблемы волновать не должны. Со строками проблем не увидел.
Высокоуровневый, еще и на шаблонах, которые сильно отличаются от похожих типов в других языках, например Generic'ов в шарпе. За делфями не слежу с 7 версии, там наверно тоже что-то типа шаблонов уже запилили, но со своими нюансами.
Цитата:
Сообщение от MihalNik Посмотреть сообщение
В Билдере они прекрасно работают. В Qt тоже свои, а не сишные строки (последние вообще мало где пригодны, разве что для совместимости).
И всюду они работают как отдельные типы. Нормальные программисты выбирают тип строки и его пользуют в проекте, ибо иначе будут постоянные преобразования и создания копий строк, что не очень хорошо сказывается на производительности. Если интерпретатор будет втихаря строки переделывать, то как минимум попадут паскальщики, любящие записывать в строки нулевой символ. Так что со всеми этими преобразованиями очень велика вероятность появления кучи трудноуловимых багов. Если же не делать скрытых преобразований, то какой в этом смысл? Захотел вызвать сишную функцию из делфей - пишешь сначала функцию для вызова функции, т.к. там на десяток строк преобразования типов? Даже со строками непонятно как преобразования делать правильно, а уж с классами при всём многообразии ООП (где-то есть интерфейсы, где-то свойств нет, а в каком-то языке всё на множественном наследовании построено, которого нет у других).
Цитата:
Сообщение от Stilet Посмотреть сообщение
А я кстати (на правах холливара) тоже сторонник паскалевских строк. С их нулевым элементом в качестве длины. Мне это больше нравится чем ASCIIZ строка.
А мне никакие строки не нравятся. Неудобные со все сторон.

Последний раз редактировалось pu4koff; 14.04.2015 в 06:14.
pu4koff вне форума Ответить с цитированием
Старый 14.04.2015, 07:34   #62
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Высокоуровневый, еще и на шаблонах, которые сильно отличаются от похожих типов в других языках, например Generic'ов в шарпе. За делфями не слежу с 7 версии, там наверно тоже что-то типа шаблонов уже запилили, но со своими нюансами.
Поэтому наверно все языки должны сводиться к наиболее высокоуровнему и выполняться в нем. И да, в делфях есть шаблоны и перегрузка. Возможно понадобиться некая большая универсальная библиотека для включения допустим стандартных библиотек соответствующих языков программирования (мы же пока фантазируем, а значит время на создание такой библиотеки не учитываем). Тогда если перед нами не экзотика, а стандартные библиотечные типы навроде TList, то интерпретатор будет "знать" как правильно их преобразовывать. Технически это возможно. да это дорого и делать наверно долго по времени, но никаких других препятствий я не вижу.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 14.04.2015, 07:46   #63
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
Поэтому наверно все языки должны сводиться к наиболее высокоуровнему и выполняться в нем.
Что-то мне кажется что это ведёт к отказу от типов и передачи этой задачи на уровень некого интерпретатора.
Цитата:
Возможно понадобиться некая большая универсальная библиотека для включения допустим стандартных библиотек соответствующих языков программирования (мы же пока фантазируем, а значит время на создание такой библиотеки не учитываем).
А это к виртуальной машине.

Получится медленно, не? Кстати круг задач который "мы" планируем требует скорости выполнения или удобства-скорости написания кода?
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 14.04.2015, 07:48   #64
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,091
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Технически это возможно. да это дорого и делать наверно долго по времени, но никаких других препятствий я не вижу.
Сделать то оно можно что угодно, но я не вижу в этом смысла. Уже есть тот же .NET с какой-никакой унификацией и пользованием разных языков, правда в рамках разных проектов.
pu4koff вне форума Ответить с цитированием
Старый 14.04.2015, 07:49   #65
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,712
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
И всюду они работают как отдельные типы. Нормальные программисты выбирают тип строки и его пользуют в проекте, ибо иначе будут постоянные преобразования и создания копий строк, что не очень хорошо сказывается на производительности.
Нормальные в Билдере и в Qt будут использовать их типы строк - потому что они умеют все что нужно, в отличии от стандартных, но к ним же прекрасно приводятся.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Если интерпретатор будет втихаря строки переделывать, то как минимум попадут паскальщики, любящие записывать в строки нулевой символ. Так что со всеми этими преобразованиями очень велика вероятность появления кучи трудноуловимых багов. Если же не делать скрытых преобразований, то какой в этом смысл? Захотел вызвать сишную функцию из делфей - пишешь сначала функцию для вызова функции, т.к. там на десяток строк преобразования типов? Даже со строками непонятно как преобразования делать правильно, а уж с классами при всём многообразии ООП (где-то есть интерфейсы, где-то свойств нет, а в каком-то языке всё на множественном наследовании построено, которого нет у других).

А мне никакие строки не нравятся. Неудобные со все сторон.
Функции WinAPI - они в каком стандарте вызовов и передачи данных?
Там явно есть строки/указатели на строки.
А используются прекрасно и в Делфи и в С/++.
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 14.04.2015 в 08:00.
MihalNik вне форума Ответить с цитированием
Старый 14.04.2015, 08:06   #66
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Кстати круг задач который "мы" планируем требует скорости выполнения или удобства-скорости написания кода?
По идее да. Мы же должны не просто родить неведому зверушку, а быть выше, сильней и быстрей. По поводу скорости, я прекрасно помню как работали первые .Net приложения. Особенно убивали инсталяторы. И ничего, сейчас все его в пример ставят. Так что оптимизация определенно скроет некоторые косяки. И вспомните сколько фиксов и паков было на этом .Нет прежде чем его перестали хаять за скорость?
Цитата:
Уже есть тот же .NET с какой-никакой унификацией и пользованием разных языков, правда в рамках разных проектов.
И какой в этом смысл?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 14.04.2015, 09:00   #67
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,091
По умолчанию

Цитата:
Сообщение от MihalNik Посмотреть сообщение
Нормальные в Билдере и в Qt будут использовать их типы строк - потому что они умеют все что нужно, в отличии от стандартных, но к ним же прекрасно приводятся.
Какой тип строк пользовать в проекте, который написан на делфи и С++ с использованием Qt?
Цитата:
Сообщение от MihalNik Посмотреть сообщение
Функции WinAPI - они в каком стандарте вызовов и передачи данных?
Там явно есть строки/указатели на строки.
А используются прекрасно и в Делфи и в С/++.
Прекрасно используются? Ничего, что там преобразования строк идут к PChar, т.е. к сишному виду?
Единственный смысл объединять в одном проекте несколько языков - это когда языки разные и пользуются на разных уровнях. Помнится в универе изучали немного Isagraf, там один язык в виде блок-схем на верхнем уровне, на нём кодировалась основная логика, потом каждый блок можно было закодировать на другом языке. Смысла в один проект совать однотипные делфи и си я не вижу никакого. Нормальные разработчики даже проекты на одном языке делят на подсистемы и самостоятельные куски, а не суют всё в одну кучу. Я понимаю IDE или лучше билд сервер с поддержкой многоязыковых солюшенов, которые умеют порядок сборки, скрипты и т.д. и т.п. чтобы нажал кнопку и всё пересобралось разными копиляторами в правильном порядке и раскидалось по нужным папкам.
Цитата:
Сообщение от Utkin Посмотреть сообщение
И какой в этом смысл?
В том то и дело, что смысла нет изобретать велосипед.
pu4koff вне форума Ответить с цитированием
Старый 14.04.2015, 09:34   #68
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Нормальные разработчики даже проекты на одном языке делят на подсистемы и самостоятельные куски, а не суют всё в одну кучу.
Так Вы же опять ни фига не поняли. Для всех - мегаважное объявление. Никто не собирался смешивать все в одну кучу. Вы уже третий кто вместо того чтобы понять просто взял и все смешал в одну кучу . Задача наоборот - выполнять разный код в одном проекте, но РАЗДЕЛЬНО! И постараться сделать так чтобы это было красиво и всех устраивало.
Цитата:
Я понимаю IDE или лучше билд сервер с поддержкой многоязыковых солюшенов, которые умеют порядок сборки, скрипты и т.д. и т.п. чтобы нажал кнопку и всё пересобралось разными копиляторами в правильном порядке и раскидалось по нужным папкам.
Это вариант реализации, почему нет? Я изначально писал про интерпретаторы, потому что они мне ближе. Иными словами я раньше пробовал их сочинять и местами получалось. Вы все сразу окунаетесь в какие-то детали реализации которые неизбежно сделают идею невозможной и бессмысленной, сразу исходя из того что это невозможно. Не потому что этому препятствуют какие-то технические проблемы, а потому что этому препятствуют Ваши стереотипы. Отвлекитесь Вы от интепретаторов/компиляторов. Начните использовать слово транслятор.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 14.04.2015, 10:07   #69
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
Так Вы же опять ни фига не поняли.
Думаю стоит вам написать простой но подробный пример, а то будет и дальше так.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 14.04.2015, 10:29   #70
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Пусть мы пишем калькулятор длинных чисел на Яве фронтэнд (окошко, кнопочки) с юнитом на С++ (сама математика). У нас 2 файла (условно) - main.class и Math.cpp.
Юзер жмакает на кнопки для ввода числа и операций. Затем нажимает на кнопочку РАВНО. И тут уже каким-то волшебным образом (Стилет предлагал строкой) мы вызываем z=call('add(x, y)');
Где вместо x и y наши числа которые нужно сложить.
Все никакого смешения - все что касается чисел так и лежит в Math.cpp, все что касается кнопочек сделано на Яве. Транслятор сам умненький начинает перебирать юниты в поиске нужной функции, ну или в той же call указывать явное обращение - z=call('Math.cpp.add(x, y)'); это уже детали.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 14.04.2015 в 10:31.
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет в разных листах одной книги 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