Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему так не любят Delphi? 
:(
    Опции темы
LSD
Дата 25.4.2013, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Девочки, вы опять начинаете?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Athari
Дата 25.4.2013, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 27.6.2007
Где: Казань, Россия

Репутация: 1
Всего: 1



@Beltar

Цитата
GC в Паскале если и нужен, то ну в Обероне он есть, а так, нафига он?? Чтобы Free не писать?

Чтобы.

Построй граф (реализуй через указатели), чтобы каждая вершина ссылалась на 2-5 других вершин. Теперь напиши метод для освобождения памяти такого графа (в общем случае).

Цитата
Вообще-то весь мир диаметрально противоположного мнения, что читается хорошо как раз паскалевский синтаксис.

Пруфлинк? Чуть менее, чем все современные языки, используют сишный синтаксис (фигурные скобочки), а не паскалевский (begin/end). Некоторые перешли на форматирование отступами.

Цитата
А мне приходилось. С бумаги. Распечатки сишных листингов в книгах, это больно... Как я любил в такие моменты и begin, и end, и then, и procedure, и function, и все остальные жирные ключевые слова...

К книгам прилагаются диски.

Если бы ко мне пришёл живой человек с распечаткой, то я бы кинул стопку бумаги в шредер и попросил файл. Если человек отказывается давать файл, то конструктивный диалог невозможен.

Цитата
Цитата
Сложное = сложная логика (тысяча классов предметной области
Из которых в конкретном случае может использоваться один.

Чо? Как ты будешь использовать один класс, если у тебя, например, 100 типов договоров страховок, и каждый тип содержит разные данные, работает по разной логике, редактируется в своей специализированной форме и т.п.?

Цитата
сложность любой задачи состоит именно в том, чтобы обработать их достаточно быстро

Рукалицо.жпг

Сложность может выражаться в следующем:

- Сложная предметная область. Много понятий, много сущностей, много зависимостей между ними. (Пример: традиционный энтерпрайз.)
- Алгоритмическая сложность. Сложная логика, требующая поиска некого решения в большом пространстве решений. (Примеры: анализ графики, разнообразные поиски оптимальных решений.)
- Большие объёмы данных. Хранение и анализ больших объёмов данных. (Примеры: адронный коллайдер, архив интернета.)
- Высокая нагрузка на систему. Непрекращающийся поток тысяч и миллионов запросов к системе. (Пример: высоконагруженные сайты.)
- Критичная производительность, время отклика. Важно, чтобы в любой момент времени задержка не превышала заданную. (Примеры: аппараты поддержания жизни, ААА игрушки.)
- Очень малое количество ресурсов. Мало памяти, мало процессорного времени. (Пример: программирование микроконтроллеров.)
- Критическая надёжность. Отсутствие ошибок всегда на первом месте. (Пример: космические аппараты.)
И так далее и тому подобное. Часто эти сложности пересекаются.

Но ты почему-то свято веришь, что сложность бывает только одного типа, а всё остальное -- чьи-то больные фантазии, которые тривиально сводятся к одному простому случаю. И уж точно все проблемы решаются на коленке самым аскетичным способом, никаких новомодных технологий нам не надо. (Знаю, ты будешь цепляться к космическим аппаратам, поэтому сразу смотри первый пункт.)

Цитата
Для тупых объясняю, Delphi Prism это компилятор Oxygen воткнутый в IDE от VS или Mono. Там от Абракадабры одно название. В случае фоно проект зафейлился для обоих языков. Создал GTk-проект, нажал запуск, долго ржал над фейлом. Потом оказалось, что она у меня еще и оперативку всю сожрала.

Если там было дельфи, то винить надо дельфи -- напортачить можно и одной строчкой, а там целый язык. Нормальные шаблоны пустых проектов в студии всегда работают, поверь.

Цитата
Кстати, оказывается психи, пишущие коммерческие игры на Delphi\Builder'е до сих по не перевелись. Попался вот один образчик.

На одну твою дельфовую игру я приведу десять на дотнете/джаве, ну да ладно. Ты договаривай уж, где название игры?

Цитата
Спасибо, но я над ними уже поржал. Верной дорогой крестики топают...

Ага, уже почитал твоё ржание. Ты смысл constexpr ниасилил. Что уж говорить об остальных фичах С++11 -- слишком много непонятных слов. И вообще, посыл был не в поржать, а сравнить возможности. Ты ж только что говорил, что дельфи, возможно, не только догнал, но и перегнал плюсы. То есть всё-таки такого не было?

Цитата
Общей тормознутости достаточно?

Нет. Я готов терпеть задержки в лишние 200 мс, если мне дадут в 5 раз больше возможностей.

Цитата
Ну можно еще вспомнить, что тогда все это чудо-юдо было ой как не просто развернуть, это сейчас фреймворк с виндой.

Во все времена фреймворк ставился или отдельным файлом, или прозрачно подключался к инсталлятору приложения. Но инсталляторы -- это тоже никому не нужная вундервафля, да?
PM MAIL WWW ICQ Skype Jabber AOL YIM MSN   Вверх
Bother
Дата 25.4.2013, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 13.4.2013

Репутация: нет
Всего: нет



Цитата(Beltar @  25.4.2013,  20:42 Найти цитируемый пост)
Учи матчасть и не канифоль мозги. 
ок, может я чего-то и не понимаю - повтори на дельфи: 
Код

#include <iostream>
#include <list>
using namespace std;

int main() {
    list<list<int> > l = {{1,2,3}, {4,5,6}};
    for(auto& i : l)
        for(int j : i)
            cout << j << endl;
}
создается список(принципиально; т.е именно список, а не массив) списков(тоже) чисел. Содержимое выводится на экран. Все объекты успешно завершают своё существование.
PM MAIL   Вверх
Athari
Дата 25.4.2013, 19:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 27.6.2007
Где: Казань, Россия

Репутация: 1
Всего: 1



@Bother

Странный пример. Это мерянье чем? Инициализацией списков? Количеством букв?

И задача поставлена некорректно. Нужно не "повтори мой код в синтаксисе дельфи", а "выведи тот же самый результат" -- тогда это соревнование будет честным.
PM MAIL WWW ICQ Skype Jabber AOL YIM MSN   Вверх
Bother
Дата 25.4.2013, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 13.4.2013

Репутация: нет
Всего: нет



Цитата(Athari @  25.4.2013,  21:16 Найти цитируемый пост)

Странный пример. Это мерянье чем? Инициализацией списков? Количеством букв?
управлением времени жизни объектов.
Цитата(Athari @  25.4.2013,  21:16 Найти цитируемый пост)
И задача поставлена некорректно. Нужно не "повтори мой код в синтаксисе дельфи", а "выведи тот же самый результат" -- тогда это соревнование будет честным. 
а что "не честного" в данном случае?
PM MAIL   Вверх
Athari
Дата 25.4.2013, 19:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 27.6.2007
Где: Казань, Россия

Репутация: 1
Всего: 1



@Bother

Цитата
а что "не честного" в данном случае?

Постановка задачи "повтори мой код". Соревнуются автомобиль и истребитель в поездке от Москвы до Владивостока. Автомобиль проезжает по узким закоулкам городов, в тоннелях, под мостами, через неделю добирается до точки назначения и говрит: "Самолёт, повтори мой маршрут. Но только не срезать!" smile 

Ну вот на шарпе я напишу:
Код
new[] { new[] { 1, 2, 3 }, new[] { 4, 5, 6 } }.SelectMany(i => i).ForEach(Console.WriteLine);

Что лучше? smile Я утверждаю, что списки в этой задачи избыточны, потому что потребят больше памяти.
PM MAIL WWW ICQ Skype Jabber AOL YIM MSN   Вверх
Bother
Дата 25.4.2013, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 13.4.2013

Репутация: нет
Всего: нет



Цитата(Athari @  25.4.2013,  21:33 Найти цитируемый пост)
Постановка задачи "повтори мой код". Соревнуются автомобиль и истребитель в поездке от Москвы до Владивостока. Автомобиль проезжает по узким закоулкам городов, в тоннелях, под мостами, через неделю добирается до точки назначения и говрит: "Самолёт, повтори мой маршрут. Но только не срезать!" smile 
в данном случае цель - посмотреть, как он будет работать с объектом-коллекцией, вместо стандартных массивов.
Цитата(Athari @  25.4.2013,  21:33 Найти цитируемый пост)
Я утверждаю, что списки в этой задачи избыточны, потому что потребят больше памяти. 
так суть не в этом.
Цитата(Athari @  25.4.2013,  21:33 Найти цитируемый пост)
Что лучше? smile 
Код

mapM_ print $ concat [[1, 2, 3], [4, 5, 6]]


PM MAIL   Вверх
Athari
Дата 25.4.2013, 19:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 27.6.2007
Где: Казань, Россия

Репутация: 1
Всего: 1



Код
echo 123456

PM MAIL WWW ICQ Skype Jabber AOL YIM MSN   Вверх
Bother
Дата 25.4.2013, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 13.4.2013

Репутация: нет
Всего: нет



Цитата(Athari @  25.4.2013,  21:44 Найти цитируемый пост)
echo 123456
там всё с новой строки должно быть. 
Код

mapM_ print [1..6].


PM MAIL   Вверх
k0rvin
Дата 25.4.2013, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Beltar @  25.4.2013,  18:07 Найти цитируемый пост)
Чтобы Free не писать?

Чтобы не решать каждый раз, когда и где этот Free писать.

Добавлено через 1 минуту и 1 секунду
Цитата(Beltar @  25.4.2013,  18:07 Найти цитируемый пост)
читается хорошо как раз паскалевский синтаксис.

Только процедурные привет-миры.

Добавлено через 10 минут и 42 секунды
Цитата(Bother @ 25.4.2013,  19:39)
Код

mapM_ print $ concat [[1, 2, 3], [4, 5, 6]]

Код
mapM_ (mapM_ print) [[1,2,3],[4,5,6]]



--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Beltar
Дата 25.4.2013, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 2
Всего: 7



Цитата

Чуть менее, чем все современные языки, используют сишный синтаксис


Стандартный контроллерный ST паскалеподобный, все 4 отобраных кандидата на язык для американских военных (будущая Ада) были основаны на Паскале. Т. е. когда вопрос стоял серьезно, то делали как надо, а не как в Си. Впрочем Bother уже привел пример, так что требуется переводчик с этого бреда на русский.

Цитата

Если там было дельфи, то винить надо дельфи -- напортачить можно и одной строчкой, а там целый язык.


Если Mono такое УГ, что ее можно так положить подключением модуля .NET языка, то это проблемы mono, а не Oxygen'а. Со студией он почему-то работает.

Цитата

Но ты почему-то свято веришь, что сложность бывает только одного типа


Все приведенные тобой задачи в конечном итоге все равно сводятся ко времени их выполнения. Правильность само собой.

Цитата

а одну твою дельфовую игру я приведу десять на дотнете/джаве, ну да ладно. Ты договаривай уж, где название игры?


Eador. Masters Of The Broken World
Про игры на жабе только не смеши.

Цитата

Построй граф (реализуй через указатели), чтобы каждая вершина ссылалась на 2-5 других вершин. Теперь напиши метод для освобождения памяти такого графа (в общем случае).


Во-первых, у меня есть нормальные классы, чтобы с указателями дела не иметь, хотя в данном случае задача мелкая, можно и рекоды, а им Dispose делать. Во-вторых, вершины все равно будут ссылаться друг на друга, так что, если я убиваю вершину, то сначала удалюсь из списков своих соседей, а уже потом харакири. Впрочем я жду описания алгоритмов работы GC, похоже одним только непредсказуемым вызовом его минусы не исчерпываются.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Athari
Дата 25.4.2013, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 27.6.2007
Где: Казань, Россия

Репутация: 1
Всего: 1



@Beltar

Цитата
Стандартный контроллерный ST паскалеподобный, все 4 отобраных кандидата на язык для американских военных (будущая Ада) были основаны на Паскале. Т. е. когда вопрос стоял серьезно, то делали как надо, а не как в Си.

Ты осознаёшь, что перечисленные языки -- это меньше одной десятой процента среди программирования во всём мире? Я могу допустить, что военным нравится язык, более похожий на естественный, но ты же говоришь о популярности и всеобщем признании. Это совсем другое.

Цитата
Если Mono такое УГ, что ее можно так положить подключением модуля .NET языка, то это проблемы mono, а не Oxygen'а. Со студией он почему-то работает.

Я поражаюсь твоей логике:
Студия работает
Студия+Дельфи не работает
Вывод: Студия -- глюкало smile

Цитата
Все приведенные тобой задачи в конечном итоге все равно сводятся ко времени их выполнения. Правильность само собой.

"Само собой"? То есть разницы между разработкой CD Ejector и системой обеспечения жизни -- нет? Я не знаю, как выразить свою мысль о твоих интеллектуальных способностях, широте и глубине твоих представлений о программировании и возникающих в нём проблемах, оставаясь в рамках правил форума. Поэтому я промолчу.

Цитата
Eador. Masters Of The Broken World

Демки нет, отзывов на метакритике нет. Хотя по скринам не так страшно. smile Посмотрим позже, а то свежая совсем.
PM MAIL WWW ICQ Skype Jabber AOL YIM MSN   Вверх
k0rvin
Дата 26.4.2013, 06:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Athari @  25.4.2013,  23:14 Найти цитируемый пост)
что военным нравится язык, более похожий на естественный, но ты же говоришь о популярности и всеобщем признании

Думаю там дело не в естественности, а в куче статических гарантий, которыми можно обвешать типы и прочие сущности, что позволяет отловить очень много ошибок на этапе компиляции.

Beltar, Однако даже разработчики Ada поняли, что паскаль мертв и стали обращать внимание на живые языки:
Цитата
Influenced by    ALGOL 68, Pascal, C++ (Ada 95), Smalltalk (Ada 95), Java (Ada 2005)


Цитата(Beltar @  25.4.2013,  20:40 Найти цитируемый пост)
Впрочем я жду описания алгоритмов работы GC

http://en.wikipedia.org/wiki/Garbage_colle...Basic_algorithm

Вкратце в простейшем случае («наивная» реализация) GC находит все достижимые объекты, а остальные уничтожает.
Копирующий GC, как и следует из названия, найденные достижимые объекты копирует в другую половину памяти. Преимущество — нет фрагментации памяти, поэтому выделение памяти под новый объект происходит быстрее, чем в этих ваших Делфях.

Соответственно граф будет удалено полностью и сразу.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
serger
Дата 26.4.2013, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 0
Всего: 5



Цитата(Athari @  26.4.2013,  00:14 Найти цитируемый пост)
Eador. Masters Of The Broken World

Игра ничё, графика уг и лагает на втроенной видео. Такую игру и на javascript в браузере тормозить не будет, а туда уже шутеры тащат.
Про тормоза java, уже чес-слово не смешно - сидите в своей люльке smile 


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
serger
Дата 26.4.2013, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 0
Всего: 5



Кстати, гораздо показательнее ИМХО вот такое: http://habrahabr.ru/company/mailru/blog/177953/


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1166 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.