Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/117: Рейтинг темы: голосов - 117, средняя оценка - 4.64
2 / 2 / 2
Регистрация: 20.01.2015
Сообщений: 70

Почему все так не любят Delphi

24.04.2015, 08:22. Показов 26199. Ответов 324
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Объясните мне пожалуйста почему все так не любят Delphi? Я сам новичок в программировании и как любой другой новичок я озадачивался вопросом "Какой же ЯП начинать учить?" и посещая различные форумы, вопросники, читая разные статейки с советами на данную тему, я был маленько удивлен, что во всех постах выбор Delphi (ну или Odject Pascal, хотя если не ошибаюсь до Delphi уже давненько считается ЯП) даже не рассматривают, там все сводится современным полезностям всяких яв, питонов и тп...А про Delphi вообще не упоминают. Бывали вопросы конкретно по ЯПу для работы с Windows Forms, и тут опять лидируют всякие C# и С++. Решил поковыряться в C# Windows Forms (VS Express 2013), тоже довольно не плохо все там организовано, но вот по сложности самого кода, Delphi будет в самый раз новичку. Написал простенький кликер для онлайн игры на Delphi, трудностей почти не возникло, решил тоже самое реализовать на C# и просто сразу бросил это дело за невозможностью написать "Клик ЛКМ в определенных координатах"...Если в Delphi все решалось одной строчкой, то в c# там целое произведение. Ведь delphi проще новичку получается? Решил глянуть во возможностям писанины для Android OS, для всех остальных ЯПов "в коробке" (надо догоняться всякими Xamarin'ами и dot42) отсутствуют возможности быстро и просто писать такие приложение, в Delphi опять были приятные фичи, с XE5 и выше есть довольно хорошая организация разработки приложений для Android платформы, со своим эмулятором, возможностью "на лету" забросить собранное на свой девайс по USB. Это все опять добавило +++ по моим критериям к Delphi. Единственное что RAD Studio стоит огромных денег (около 200 кусков), это все на порядок дороже всяких Ultimate версий VS. Ребят, может я что-то не понимаю во всем этом, но может мне делфоводы в двух словах расскажут почему же Delphi такой не уважаемый? Да и вообще я очень даже уверен что многие из матёрых тутошних делфоводов смогут реализовать любую задачу на Delphi. По мне это самый достойный инструмент для новичка с кучей готовых компонентов и интуитивно понятным и удобным интерфейсом, а для работы с Windows Forms мне кажется много кому даст прикурить в плане юзабильности! Хотя у меня еще есть большое подозрение что многие кто активно помогает в ветке Delphi сам отдаст предпочтение другому ЯПу, а заходит в ветку Delphi ради фана чтоль))) Знатоки Delphi или ярые противники, внесите пожалуйста ясность в мой разум, я буду очень признателен. Большое спасибо заранее!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.04.2015, 08:22
Ответы с готовыми решениями:

Почему все так не любят Баскова?
Слышал про его планирующийся грандиозный концерт с Кабалье в Лужниках в июне, кому ни скажу- все нос морщат. ну разве что кроме родителей-...

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

[Cocos2d-x] Clion + cocos2d-x почему так не любят друг - друга ? (Mac OS X)
Доброе врем суток уважаемые формучане. Кто имел опыт подружить эти два чуда меду собой, поделитесь пожалуйста опытом. У меня вот какая...

324
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
29.04.2015, 15:28
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Joy Посмотреть сообщение
форматированный вывод выше приводили, нафига тут foo, если Delphi сам форматирует?
Если бы я хотел увидеть форматированный вывод на Pascal, то так бы и написал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
import std.stdio, std.typetuple;
 
void main() {
 
    auto args = TypeTuple!(42, "HELLO_WORLD_DELPHI", 1.5);
 
    ++args[0];
    args[1] ~= "_FEST_DETECTED";
    args[2] *= 3;
 
    writefln("%s %s %s", args[0], args[1], args[2]);
}
http://ideone.com/ylzfPG
Output43 HELLO_WORLD_DELPHI_FEST_DETECTED 4.5

P.S. Ещё вы не ответили про метапрограммирование в Delphi. Я приводил выше примеры (надеюсь, что к лету 2016...).
Цитата Сообщение от pycture Посмотреть сообщение
смотри, ткнут тебя дельфятники носом в возможность создавать нативные приложения для ios, android, win7/8 из коробки. для дэшников то это недостижимая мечта.
Мечта абсолютно достижимая - работа для её реализации ведётся в данный момент. Может быть, ещё скажешь, что D менее похож на Objective-C, чем Delphi?
Цитата Сообщение от Joy Посмотреть сообщение
Dlang с его "кроссплатформенностью", для работы не подходит, т.к. пока не генерирует код совместимый с AIX
Работа в этом направлении тоже ведётся.
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
29.04.2015, 16:00
Dennis Ritchie, кстати говоря. Чтобы сделать массив как ты хотел разных объектов, можно юзать Variant.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33466 / 21565 / 8249
Регистрация: 22.10.2011
Сообщений: 37,018
Записей в блоге: 12
29.04.2015, 16:04
Для того, чтобы сделать массив разных объектов, в Дельфи из коробки (безо всяких mixin-ов и Tuple-ов) есть array of const, если что:
Delphi
1
2
3
4
procedure foo(const args : array of const);
// ...
 
foo([42, 'HELLO_WORLD_D', 1.5]); // вызов
Но мы же, как всегда, не понимаем гениальный замысел DR, он опять скажет, что не для этого приводил пример кода, а для чего приводил, что там такого выдающегося - он же не говорит. Очень удобно, ага. Ничего не сказать, накрутить какую-то непонятную конструкцию, и сказать: "повторите".
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
29.04.2015, 16:07
смотри, ткнут тебя дельфятники носом в возможность создавать нативные приложения для ios, android, win7/8 из коробки. для дэшников то это недостижимая мечта.
А если еще это будет в Lazarus/FPC, то вообще будет классно...
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
29.04.2015, 16:18
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Может быть, ещё скажешь, что D менее похож на Objective-C, чем Delphi?
нет. но скажу что Objective-C такой же кроссплатформенный как и дэ. т.е. чуть менее чем никак. тут вы на пару Delphi слили
даже тут это показано
http://en.wikipedia.org/wiki/C... _languages
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
29.04.2015, 16:33
Цитата Сообщение от volvo Посмотреть сообщение
Для того, чтобы сделать массив разных объектов, в Дельфи из коробки (безо всяких mixin-ов и Tuple-ов)
Собственно, миксины относятся к метапрограммированию в D (никакого прямого отношения между миксинами и "вариадными" массивами нет). В стандартные массивы D не встроена поддержка разных типов данных, для этих целей существуют кортежи (tupl'ы) и variant'ы.
Цитата Сообщение от volvo Посмотреть сообщение
Очень удобно, ага. Ничего не сказать, накрутить какую-то непонятную конструкцию, и сказать: "повторите".
Конечно, удобно.
Вот я и говорю: "Повторите":
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
import std.stdio, std.typetuple;
 
void main() {
 
    auto args = TypeTuple!(42, "HELLO_WORLD_DELPHI", 1.5);
 
    void foo(int i, string s, real fl) {
 
        writefln("%s %s %s", i, s, fl);
    }
 
    foo(args);
}
Вы же привели что-то типа этого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
import std.stdio, std.typetuple;
 
void main() {
 
    auto args = TypeTuple!(42, "HELLO_WORLD_DELPHI", 1.5);
 
    void foo(T...)(T args) {
 
        writefln("%s %s %s", args[0], args[1], args[2]);
    }
 
    foo(args);
}
Ну, и на закуску кусочек метапрограммирования:
Почему все так не любят Delphi
Цитата Сообщение от pycture Посмотреть сообщение
нет. но скажу что Objective-C такой же кроссплатформенный как и дэ. т.е. чуть менее чем никак. тут вы на пару Delphi слили
Ну, Objective-C и D подходит для хакерских делишек и низкоуровневого программирования, а вот что пишут про ваш Delphi на хакерских форумках:
Цитата Сообщение от Вниманию начинающих дельфиомантов
Старое название темы показалось многим участникам форума излишне игривым, поэтому оно было заменено на менее вызывающее

В последнее время на форуме стали довольно часто появляться посты следующего содержания: "как сделать на дельфи...", "а как в дельфи...", "не могу сделать кнопку на дельфи..." и так далее. Данный форум посвящён низкоуровневому* и системному программированию**, поэтому такие вопросы будут удаляться, и вы зря потеряете своё время. Решение проблем, связанных с использованием среды разработки программного обеспечения "Дельфи" вы сможете найти на сайтах, посвящённых "Дельфи"!

* Возня мышой и кидание контролов на форму - это не низкоуровневое программирование, если только это не RadASM!
** К системному программированию вопрос как сделать кнопку на "Дельфи" так же никакого отношения не имеет!

P.S. Данный пост не относится к тем случаям, когда пост касается собственно основной тематики форума (участники форума упомянули такие примеры как "ассемблер в Дельфи", "реверсинг приложений, написанных на Дельфи" и т.п.).
0
Эксперт Pascal/Delphi
2389 / 1301 / 1492
Регистрация: 29.08.2014
Сообщений: 4,669
29.04.2015, 16:34
Dennis Ritchie, так что в итоге код делать должен? Написали же реализацию вам через вариантный массив; volvo предложил через массив констант, если конечный результат тот-же, в чем фишка?
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
29.04.2015, 16:35
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Ну, Objective-C и D подходит для хакерских делишек и низкоуровневого программирования
А Delphi чем не подходит интересно?
0
Эксперт Pascal/Delphi
2389 / 1301 / 1492
Регистрация: 29.08.2014
Сообщений: 4,669
29.04.2015, 16:37
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Ну, Objective-C и D подходит для хакерских делишек и низкоуровневого программирования, а вот что пишут про ваш Delphi на хакерских форумках:
кстати AVZ на Delphi написан, а это покруче неблагородного занятия взломом.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
29.04.2015, 16:38
Цитата Сообщение от Новичок Посмотреть сообщение
А Delphi чем не подходит интересно?
На нём только кнопки и шлёпают. Delphi не предназначен для низкоуровневого программирования.
Цитата Сообщение от Joy Посмотреть сообщение
предложил через массив констант, если конечный результат тот-же, в чем фишка?
Фишка в объявлении параметров функции:
C++
1
void foo(int i, string s, real fl) {}
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
29.04.2015, 16:38
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
На нём только кнопки и шлёпают.
Ага,конечно.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
29.04.2015, 16:42
Цитата Сообщение от Новичок Посмотреть сообщение
Ага,конечно.
Ну, а как там Delphi используется для разработки UNIX'ов и Linux'ов?
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
29.04.2015, 16:46
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Фишка в объявлении параметров функции:
А в чём достоинство этой фишки?
Используется раз в 100 лет. Экономит 2 строчки кода.
Плюс непонятно как будет себя вести, если ты случайно по ошибке вместо положишь в тупл long вместо int или decimal вместо float.
0
Эксперт Pascal/Delphi
2389 / 1301 / 1492
Регистрация: 29.08.2014
Сообщений: 4,669
29.04.2015, 16:59
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
На нём только кнопки и шлёпают. Delphi не предназначен для низкоуровневого программирования.
интересно, а что в вашем понимании низкоуровневое программирование?

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Фишка в объявлении параметров функции:
- а массив вариантов или констант передать, и типы прописывать явно не надо, так же проще.

Добавлено через 11 минут
Тут совсем уже не по теме спор пошёл...
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
29.04.2015, 17:23
Цитата Сообщение от Shamil1 Посмотреть сообщение
А в чём достоинство этой фишки?
Цитата Сообщение от Shamil1 Посмотреть сообщение
Используется раз в 100 лет.
Цитата Сообщение от Shamil1 Посмотреть сообщение
Плюс непонятно как будет себя вести, если ты случайно по ошибке вместо положишь в тупл long вместо int или decimal вместо float.
Если бы да кабы дельфисты мыслили бы шире и шаблоннее, то наверняка повязали бы шаблонную салфетку перед едой, используя D (который не брезгует...):
C++
1
void foo(T...)(T args) {}
Цитата Сообщение от Joy Посмотреть сообщение
интересно, а что в вашем понимании низкоуровневое программирование?
Например, программирование для *nix-систем.
Цитата Сообщение от Joy Посмотреть сообщение
Тут совсем уже не по теме спор пошёл...
Ну, так как с метапрогой у паскаля и делфов?
Цитата Сообщение от Shamil1 Посмотреть сообщение
Плюс непонятно как будет себя вести, если ты случайно по ошибке вместо положишь в тупл long вместо int или decimal вместо float.
А что будет, если дельфист случайно по ошибке засунет real в byte?
0
29.04.2015, 17:24

Не по теме:

Dennis Ritchie, не надоело ещё? :sleep:

0
29.04.2015, 17:42

Не по теме:

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

0
Эксперт Pascal/Delphi
2389 / 1301 / 1492
Регистрация: 29.08.2014
Сообщений: 4,669
29.04.2015, 18:21
Какая практическая польза от шаблонов, по мне так они код в абсолютно нечитаемое состояние приводят?

Не по теме:

в Delphi дженерики есть



Добавлено через 3 минуты
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А что будет, если дельфист случайно по ошибке засунет real в byte?
На этапе компиляции облом будет, придется исправлять
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
29.04.2015, 18:24
Цитата Сообщение от Joy Посмотреть сообщение
Какая практическая польза от шаблонов, по мне так они код в абсолютно нечитаемое состояние приводят?
Так было (и есть) только в плюсах.
Цитата Сообщение от Joy Посмотреть сообщение
На этапе компиляции облом будет, придется исправлять
В D будет тоже самое.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
29.04.2015, 18:28
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
наверняка повязали бы шаблонную салфетку
Объясните, зачем мне может понадобиться собирать аргументы функции в тупл?
И чем плох вариант добавить перегрузку, которая будет принимать такой тупл?
(Я Ваш код на D не понимаю)

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А что будет, если дельфист случайно по ошибке засунет real в byte?
Неужели из контекста не ясен смысл вопроса?
C++
1
2
3
        auto args = TypeTuple!(i, s, fl);
        foo(i, s, fl);
        foo(args);
Первый вызов сработал. Компилятор, выбирая подходящую перегрузку, автоматически привёл i/s/fl к нужному типу (shot к int, например, или char* к const char*).
Сработает ли второй вызов?

Добавлено через 57 секунд
Хотя, может, я неверно понял, что такое TypeTuple!(i, s, fl)...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.04.2015, 18:28

Почему партнерские программы и поисковики так не любят сайты о заработке в инете?
почему то везде таким сайтам красный свет, при том, что неважно даже какие способы заработка они описывают или предлагают...

За что так не любят Goto?
Может я такой непонятливый, но объясните кто может - почему у многих не самое чучшее отношение к оператору Goto. Я этого не понимаю, в...

Почему девушки не любят баянистов?
Я - экс-баянист с В/O и небольшим стажем работы в качестве артиста АПП ВДВ РФ. Девушек в моей жизни (физически) не было вообще. Наверное...

Почему девушки не любят программистов?
Вроде программисты обеспеченные, умные, настоящие интеллектуалы, многие следят за своим внешним видом, а некоторые даже занимаются спортом....

Почему любят одних, а женятся... ?
К сожалению или к радости, не все браки свершаются на небесах. Если верить статистике, только 10 из 100 браков заключаются по большой и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
220
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru