ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Злые беседы добрых программистов | страница 2 |
|
|
|
Канал Игры Мечты: «Злые беседы добрых программистов» |
|
|
Minx 980 EGP
Рейтинг канала: 6(328) Репутация: 136 Сообщения: 10528 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Jurec : |
Ссори, имел ввиду С++
|
Ну тогда получи: множественное наследование, шаблоны, пространства имен, перегрузка операторов и функций, ссылки, константность.
Jurec : |
Глюки - вопрос корявости рук программиста и ТОЛЬКО его.
|
Глюки - это прежде всего вопрос организации проекта.
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
Minx 980 EGP
Рейтинг канала: 6(328) Репутация: 136 Сообщения: 10528 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Crimson : |
Плюс ресурсы хранятся практически в голом виде, и любой более-менее соображающий игрок может просмотреть и переписать все что ему вздумается. Я бы все-таки советовал учить си (или хотя бы дельфи Гы-гы), они не такие страшные как кажется. А так это баловство просто.
|
Так любые скриптовые языки на свалку? (perl, ruby, python, ... )
Кстати, прикольно было бы сделать прогу на bat и повесить на апач. Чтобы он-лайн играться. (;
Тут подумал.. батник как язык обладает рядом функций скриптовых языков. Тут можно и писать самопишущие программы, удобно задавать конфиги, есть встроенный парсер файлов и директорий (;, им можно достаточно легко запускать много нитей (start'ом, если ось позволяет)
Кстати, пользуясь случаем: на Chaos Constructions'2005 была демка в реал-кодерах на тему листопада под названием listo.bat
И большинство её не поняли. Потому что забыли что такое батники...
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
Jurec 348 EGP
Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006 |
|
2 NRG
Дим, пжааалста, можно маленький холивар? А то КИМ уснет на долго. Так хоть освежим
Minx : |
Глюки - это прежде всего вопрос организации проекта.
|
Ну к языкам никакого отношения не имеет.
Minx : |
Ну тогда получи: множественное наследование, шаблоны, пространства имен, перегрузка операторов и функций, ссылки, константность.
|
Получай
множественное наследование - делается через интерфейсы. Могу дать пример, просто я шоб не засорять тута.
шаблоны - будешь удивлен, но в Делфи тоже есть препроцессор и если немного с ним повозится - шаблоны тоже есть.
пространства имен - синтаксический сахар. Впринципе тоже организовать можно если приспичит, но немного иначе.
перегрузка операторов и функций - насчет перегрузки функций - было еще в 1 делфе ) перегрузка операторов есть с 2005 версии
ссылки - указатели имеются, шо вам надо еще?
константность - поясни что ты имел ввиду?
_____
хм, можт отдельную тему, чтоб не оффтопить..
насчет батников - любопытно былоб поглядеть на такие демки!
_________________ MOV topka, C++
Последний раз редактировалось: Jurec (00:03 22-04-2007), всего редактировалось 2 раз(а) |
|
|
Crimson 560 EGP
Рейтинг канала: 4(83) Репутация: 130 Сообщения: 3041
Зарегистрирован: 03.09.2003 |
|
Trident : |
Тогда уж с Java. Всё-таки при всех её недостатках она изначально к системе ближе и для проектов размера от Тетриса и выше подходит больше чем JScript.
|
Речь шла о разработке игр "встроенными средствами". Интерпретатор JS встроен в каждый браузер, в качестве среды разработки пойдет любой notepad/pico/иже с ними. Для Java нужно выкачивать и ставить как минимум VM и JDK. И еще апдейтить их потом
Minx : |
Так любые скриптовые языки на свалку? (perl, ruby, python, ... )
|
В качестве средств разработки локальных однопользовательских игр начинающими программистами? Ну да. А что?
Jurec : |
насчет батников - любопытно былоб поглядеть на такие демки!
|
http://cc5.org.ru - Поиск - listo.bat
|
|
|
Minx 980 EGP
Рейтинг канала: 6(328) Репутация: 136 Сообщения: 10528 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Jurec : |
множественное наследование - делается через интерфейсы. Могу дать пример, просто я шоб не засорять тута.
|
Я не спрашиваю что чем через какую ж.. делается. Все можно сделать на машине тьюринга. Вопрос есть ли в языке специальные инструменты для неких абстракций.
Здесь констатирую: множественного наследования в дельфях НЕТ.
Jurec : |
шаблоны - будешь удивлен, но в Делфи тоже есть препроцессор и если немного с ним повозится - шаблоны тоже есть
|
Препроцессор и в С есть. И через макросы можно там сделать все что угодно. Но это такая муть получается... И представляю какой это геморой на дельфях.
Jurec : |
пространства имен - синтаксический сахар. Впринципе тоже организовать можно если приспичит, но немного иначе
|
Сахар уменьшает кол-во писанины. Пространства имен предохраняют нас от возможных пересечений имен, что сахаром никак не назовешь.
И самому сделать такое - это как? Сделать библиотечку чтобы она во всех указанных исходниках прикручивала специфические префиксы ко всем именам, перекомпилировала, и если ошибки опять, то повторить операцию ещё раз?
Jurec : |
перегрузка операторов и функций - насчет перегрузки функций - было еще в 1 делфе ) перегрузка операторов есть с 2005 версии
|
Ну так в 2008-м стандарте C++ много чего нового появится.
Jurec : |
ссылки - указатели имеются, шо вам надо еще?
|
Ссылки и указатели - это РАЗНЫЕ вещи.
Jurec : |
константность - поясни что ты имел ввиду?
|
Перевод на компилятор проверки неизмеяемости полей класса/переменных/аргументов.
void
func( const std::string & in_arg, std::string & out_arg);
Jurec : |
хм, можт отдельную тему, чтоб не оффтопить..
|
Незачем. Такие споры возникают чаще всего из-за непонимания участниками того, что языки - это инструменты. И у каждого из них есть свои достоинства и недостатки. И спор все равно что выяснять какой транспорт лучше - самолет или велосипед(на веле через море не поедешь, а на самолете на рыбалку в 20 км как-то неприлично и посадку сделать негде).
С дельфями серьёзно уже давно работал(лет 7-8 назад), потому как преимуществ особо не помню( сахар with, реализуемый в C++ через константные ссылки; тип "множества", сделанный в C++ только в STL(set), конструкция finally(можно реализовать через деструктор локального объекта, но это через ж..., но мне такого на практике С++ ещё ни разу не приходилось) ).
В плюсах есть свои минусы. Например отсутствие сборщика мусора, который в ближайшие лет 10 точно не появится.
Crimson : |
В качестве средств разработки локальных однопользовательских игр начинающими программистами? Ну да. А что?
|
В таком ключе очень даже да (; Игра мечты точно не получится.
Jurec : |
Ну к языкам никакого отношения не имеет.
|
Если некие функции проверки переводятся на автомат - очень даж имеет.
Или например если в языке стандартом является юнит-тестинг, и он удобно и легко поддерживается, - то также оч даж имеет.
Crimson : |
http://cc5.org.ru - Поиск - listo.bat
|
Мне ещё раз вытянуть не удалось. Под своим аккаунтом не пускает.
_________________ μηδείς αγεωμέτρητος εισίτω
Последний раз редактировалось: Minx (13:12 22-04-2007), всего редактировалось 1 раз |
|
|
Jurec 348 EGP
Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006 |
|
Minx : |
Вопрос есть ли в языке специальные инструменты для неких абстракций.
|
Конечно есть!
Minx : |
Здесь констатирую: множественного наследования в дельфях НЕТ.
|
Веский аргумент
Ты не доказал своего мнения - вот моё доказательство:
LOL_Mnoga_Vsego = Class(TInterfacedObject, IObj1, IObj2, IObj3, и так далее);
Minx : |
И представляю какой это геморой на дельфях.
|
Ну если ты с этим не знаком - как я могу объяснить что это очень даже удобно?
Minx : |
Сделать библиотечку чтобы она во всех указанных исходниках прикручивала специфические префиксы ко всем именам, перекомпилировала, и если ошибки опять, то повторить операцию ещё раз?
|
Упаси господи - можно все нужные в пространстве имен вещи запихать в отдельный юнит. Если забыл - в Делфи не тупейший include, а очень удобный uses.
Minx : |
Перевод на компилятор проверки неизмеяемости полей класса/переменных/аргументов.
void
func( const std::string & in_arg, std::string & out_arg);
|
Сколько лет ты не писал на Делфи? const - он и в Африке и в Делфи - const.
Minx : |
Такие споры возникают чаще всего из-за непонимания участниками того, что языки - это инструменты.
|
Конечно, или незнания языков.
Minx : |
( сахар with, реализуемый в C++ через константные ссылки; тип "множества", сделанный в C++ только в STL(set), конструкция finally(можно реализовать через деструктор локального объекта, но это через ж..., но мне такого на практике С++ ещё ни разу не приходилось) ).
|
Нашел что приводить в возможности Делфи.
with = using namespace грубо говоря.
остальное - фигня по ходу.
А вот метаклассы..
Я сейчас пишу проект на С++. Отсутствие метаклассов (сишникам сложно понять) заставляют меня писать очень много кода, чтобы обеспечить хотябы похожую функциональность (вот оно где - истинное "через ж..").
____
Кстати ссылка берется вот так - @@bla_bla. Правда так лучше не делать, хотя если есть желание - почему б и нет.
[/offтоп]
Батник не грузиццо..
_________________ MOV topka, C++
Последний раз редактировалось: Jurec (14:34 22-04-2007), всего редактировалось 1 раз |
|
|
Crimson 560 EGP
Рейтинг канала: 4(83) Репутация: 130 Сообщения: 3041
Зарегистрирован: 03.09.2003 |
|
Minx : |
Мне ещё раз вытянуть не удалось. Под своим аккаунтом не пускает.
|
Ыйй... Да, есть такая проблема... Блин.
Тада качаем отсюда: http://ftp.cc.org.ru/2005/realtime/pc_coding/
|
|
|
Minx 980 EGP
Рейтинг канала: 6(328) Репутация: 136 Сообщения: 10528 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Jurec : |
Ты не доказал своего мнения - вот моё доказательство:
LOL_Mnoga_Vsego = Class(TInterfacedObject, IObj1, IObj2, IObj3, и так далее);
|
В дельфях можно делать чтобы в направленном оциклическом графе наследования класс мог встречаться более одного раза?
Jurec : |
Упаси господи - можно все нужные в пространстве имен вещи запихать в отдельный юнит. Если забыл - в Делфи не тупейший include, а очень удобный uses.
|
Это то же самое что запихать в отдельный класс. Вопрос сможешь ли ты это сделать в сторонней библиотеке.
Jurec : |
with = using namespace грубо говоря
|
Очень грубо. Менее грубо просто using. Но и это не то. with "создает" указатель на указываемый элемент и пляшет от него.
Jurec : |
Я сейчас пишу проект на С++. Отсутствие метаклассов (сишникам сложно понять) заставляют меня писать очень много кода, чтобы обеспечить хотябы похожую функциональность (вот оно где - истинное "через ж..").
|
Метаклассы мне знакомы по синглтонам руби и питона. Правда, сходу не пойму какие в них плюсы в языках со статической типизацией.
В чем тебе не хватает статических функций и членов?
Jurec : |
Кстати ссылка берется вот так - @@bla_bla. Правда так лучше не делать, хотя если есть желание - почему б и нет.
|
Дело не в том чтобы взять ссылку. А в самом понятии ссылка в языке. Если ты на пасе (ещё на 3-м точно я помню) напишешь
proc( var i:integer )
то это будет ссылка. В плюсах же это понятие расширено.
Jurec : |
Конечно, или незнания языков
|
Блин...
Мож ещё скажешь что ducking typing есть в дельфи(это есть в ruby) ? или классы, которые собираются на лету выполнения программы и могут быть изменены/дополнены в любой момент рантайма?
Любые языки имеют свои плюсы. Даже фортран имеет на сейчас наилучший компилятор в плане преобразования эффективных формул вычислений.
И спор возникает как раз таки из-за незнания языков: что-то удобно сделать на одном, а что-то на другом.
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
Minx 980 EGP
Рейтинг канала: 6(328) Репутация: 136 Сообщения: 10528 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Кстати, в дельфях возможно создание локальных объектов в конкретных блоках кода?
Например так:
Код: |
// Какая-то внешняя переменная.
int x;
[ что-то делаем с глобальным x ]
{
// Создаем переменную и не думаем о том что где-то существует такая же.
// Создается и инициализируется при каждом проходе по блоку.
int x = 0;
[ что-то делаем с локальным x ]
}
[ продолжаем что-то делать с глобальным x ]
|
_________________ μηδείς αγεωμέτρητος εισίτω
Последний раз редактировалось: Minx (17:04 22-04-2007), всего редактировалось 1 раз |
|
|
Jurec 348 EGP
Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006 |
|
Minx : |
Кстати, в дельфях возможно создание локальных объектов в конкретных блоках кода?
|
С таким же именем - нет. С другим - понятное дело, что можно.
Но это как бы нельзя назвать достоинством - среда сразу укажет - что в этом модуле уже есть такое же (из другого unit`а - легко можно).
Так же тогда можно сказать, что в С++ регистр в котором объявлена переменная важен, а в Делфи нет.
Т.е. A != a, а в Делфи A = a
Это просто удобство.
Minx : |
Правда, сходу не пойму какие в них плюсы в языках со статической типизацией.
В чем тебе не хватает статических функций и членов?
|
Могу написать в чем у меня загвоздка была - но уже в личку- такого наглого оффтопа Энерджи нам не простит.
Minx : |
Любые языки имеют свои плюсы.
|
Аминь. Просто меня немного задевает, когда считают Делфи - языком новичков, в том плане, что у него нет возможностей высшего языка.
Minx : |
В дельфях можно делать чтобы в направленном оциклическом графе наследования класс мог встречаться более одного раза?
|
Ниразу не подумал бы даж такое делать.. Пример приведешь? Насчет Делфей - не знаю - не пробовал.
___
Ладно - давай через личку, если желаешь. Заофтопили жестко
_________________ MOV topka, C++ |
|
|
Trident 610 EGP
Рейтинг канала: 2(16) Репутация: 106 Сообщения: 4415 Откуда: Загнивающий Запад Зарегистрирован: 03.05.2003 |
|
Я не о языковых фичах. Я о том, как ВинАПИ не на C выглядит... Он страшен. То есть, он и на C не алё... Но...
Ладно, всё, по техпричинам дальше холиварьте без мну Ибо в нете я теперь очень долго буду "наскоками".
_________________ Злостный РетроГад(tm) и конверсатор. И да, пуркуа гнобэ-ву наших нубов? |
|
|
Minx 980 EGP
Рейтинг канала: 6(328) Репутация: 136 Сообщения: 10528 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Jurec : |
С таким же именем - нет. С другим - понятное дело, что можно.
Но это как бы нельзя назвать достоинством - среда сразу укажет - что в этом модуле уже есть такое же (из другого unit`а - легко можно).
|
Не как бы, а является достоинством. Переменные становятся более локальными, и находятся непосредстенно рядом с действием де они расположены. Что облегчает работу с кодом, дает 100%-ную возможность корректной инициализации, повышает производительность компилятора, позволяет создавать более малые незвасимые блоки (более высокая модульность).
Jurec : |
Аминь. Просто меня немного задевает, когда считают Делфи - языком новичков, в том плане, что у него нет возможностей высшего языка.
|
Pascal это язык новичков потому что на нем легко учится. Только и всего.
Jurec : |
Ниразу не подумал бы даж такое делать.. Пример приведешь? Насчет Делфей - не знаю - не пробовал.
|
Пример потоков в библиотеке std.
Код: |
ios
/ \
istream ostream
\ /
iostream
|
Здесь ios не дублируется при создании объекта класса iostream.
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
Jurec 348 EGP
Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006 |
|
Minx : |
Здесь ios не дублируется при создании объекта класса iostream.
|
Оно и не должно дублироваться..
Minx : |
Не как бы, а является достоинством. Переменные становятся более локальными, и находятся непосредстенно рядом с действием де они расположены. Что облегчает работу с кодом, дает 100%-ную возможность корректной инициализации, повышает производительность компилятора, позволяет создавать более малые незвасимые блоки (более высокая модульность).
|
Не вижу проблем - в Делфи то же самое есть, просто компилятор ограничивает нас от ошибок. Ну, например, запрещено в одном модуле объявлять переменную с одним и тем же названием (ну понятное дело только в том случае, если две переменные пересеклись в одном пространчтве имен). То же самое что ты привел в пример делать можно (и нужно), но только с одним условием - переменной с таким именем не должно быть.
А так - все так же как ты написал..
_________________ MOV topka, C++ |
|
|
Remint 385 EGP
Рейтинг канала: 3(31) Репутация: 84 Сообщения: 1785
Зарегистрирован: 12.05.2003 |
|
Jurec : |
Не вижу проблем - в Делфи то же самое есть, просто компилятор ограничивает нас от ошибок.
|
Да в общем проблем логических и не будет, но вот только бинарик полученный С++ компилятором будет оптимальнее быстрее и компактнее (если только его не будет писать программист который гораздо лучше знает Delphi, а не С++, и который вместо того чтобы использовать мощь С++ будет имитировать с его помощью подходы традиционные для Delphi ), а уж при грамотном использовании шаблонов толковый компилятор оптимизирует аяй как... кто юзает активно ATL/WTL/STL в связке и глядел ASM который выдает компилятор, тот поймет. Да и удобно это очень в больших программах объявлять там где это непосредственно используется, и читать код легче, про оптимизацию уже сказал, и это кончик вершины айсберга, самый доступный пример.
Паскаль язык в чем-то красивый, ограждает от множества потенциальных ошибок и проблем, но только все это дается не бесплатно в чем-то в ущерб гибкости. Дэльфевые контролы и разные там формочки, и прочие готовые интерфейсы от Borland, которые идут изначально, они то оптимизированы (причем не средствами Delphi), а вот когда начинаешь городить свое.... С++ силен именно своей гибкостью, нужна защита от дурака и надежность - пожалуйста используй защищенный, но чуть менее быстрый класс, или библиотеку классов, нужна скорость пжлста... хочешь объединить и, то и другое запросто, в дебаговой версии будет контроль, в релизе максимально быстрый и компактный код.
ЗЫ Да сколько можно жевать уже эту тему... Все показывает практика, там где критична скорость, компактность, грамотное и виртуозное распределение ресурсов, максимальная гибкость и нужны собственные не тривиальные решения на профессиональном уровне, использование Delphi скорее исключение, и это не потому, что большинство программеров во всем мире мазохисты. Да и переходят по мере роста профессионализма обычно с Delphi на C++, а не наоборот... Ну и конечно же у каждого языка есть свой круг задач в котором он удобен и и для решения которых оптимален. Хотя если подходить к формулировкам строго Delphi не язык. :Р
_________________ Да пребудет с вами сила... |
|
|
Jurec 348 EGP
Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006 |
|
Remint : |
и который вместо того чтобы использовать мощь С++ будет имитировать с его помощью подходы традиционные для Delphi
|
Что значит более традиционные для Делфи?
В наши времена все решает не оптимизация компилятором, а применяемые алгоритмы и кол-во глюков в реализации.
Remint : |
Дэльфевые контролы и разные там формочки, и прочие готовые интерфейсы от Borland, которые идут изначально, они то оптимизированы
|
Я программирую активно на Делфи и последние годы не использовал VCL обсолютно - только чистый WinAPI, никаких визуальных компонентов и формочек..
Remint : |
С++ силен именно своей гибкостью
|
В чем есть не_гибкость Делфи?
Remint : |
Да и переходят по мере роста профессионализма обычно с Delphi на C++, а не наоборот
|
ТОЛЬКО потому что работодатели такого же мнения как и все программисты Сишники. Если бы не это - я бы не переходил с Делфей на С++.
Remint : |
Хотя если подходить к формулировкам строго Delphi не язык.
|
Это всмысле Object Pascal? А разница? С 2006 стандарта это называется именно Delphi.
Надеюсь ты это имел ввиду, а не..
_________________ MOV topka, C++
Последний раз редактировалось: Jurec (19:51 24-04-2007), всего редактировалось 1 раз |
|
|
Remint 385 EGP
Рейтинг канала: 3(31) Репутация: 84 Сообщения: 1785
Зарегистрирован: 12.05.2003 |
|
Jurec : |
Что значит более традиционные для Делфи?
|
Слово "более" ты добавил. Глянь реализацию АТL/WTL, и попробуй реализовать это в Delphi столь же элегантно и лаконично, без танцев с бубном с помощью макро (которые не дадут компилятору того же объема информации для оптимизации, да и все ньюансы, если глубоко копать, устанешь учитывать макро определениями, если выходить на тот же уровень который дают шаблоны C++, там сотни людей по всему миру головы ломали)), только сначала вникни для чего и почему реалезованно именно так, а затем попробуй болучить бинарик и сравнить его, хотябы просто по размеру.
Jurec : |
В чем есть не_гибкость Делфи?
|
Смотри выше, + в том числе мой предыдущий пост. Одним мановением руки в Delphi, не перейти от защищенного массива к обычному (без контроля границ и потому быстрому, аля решение С = то, что увидим потом в ASM-е) и наоборот, это если совсем уж на пальцах. Где это нужно? Там где критично быстродействие... В тех же библиотеках, если они хотят претендовать, на универсальность, и от готового решения на базе которых затем не прейдеться отказываться, если на конечной стадии вдруг выясниться, что программа несколько задумчивая, у многих клиентов не тянет, начинаешь копать, а ресурса для оптимизации, без перелопачивания всего кода и нет. Просто чтобы не думалось, городить свое, или смело использовать. Или тебя никогда не смущало тугодумие некоторых программ? (Так оно и выходит, там пара дополнительных операций, затем в другом месте... А затем, к примеру MS прямо заявляет, что данным API пользоваться не желательно, вы не обращайте внимание и сэмлы в SDK, и выпускает COM интерфейс который их же собсвенный API обходит. Вот только приходиться разработчикам перелопачивать кучу готового кода... :/ )
Jurec : |
ТОЛЬКО потому что работодатели такого же мнения как и все программисты Сишники.
|
Кругом враги. Есть куча задач, где решает все не только, применяемые на самом верхнем уровне алгоритмы и кол-во глюков в реализации, иначе даже нелюбимые многими M$, не стали бы заморачиваться реализацией и поддержкой ATL при наличии готового решения - MFC... Уж эта та контора, без большой нужды, заниматься подобной "фигней" (оптимизация) и выделять свои очень не дешевые ресурсы, почем зря не станет.
Jurec : |
В наши времена все решает не оптимизация компилятором,
|
Когда появиться аля Half Life 2 на Delphi, которая будет показывать те же красоты и быстродействие, на не самых навороченные системах не уступая решениям на C++ актуальным на тот момент, и когда операционные системы начнут разрабатывать на Delphi, тогда данное заявление станет справедливым... А пока... "у каждого языка есть свой круг задач, в котором он удобен и для решения, которых он оптимален". И собственно дальше пережевывать эти вопросы это переливать из пустого в порожнее.
Jurec : |
Это всмысле Object Pascal? А разница? С 2006 стандарта это называется именно Delphi.
|
Ну, извините, отстал от жизни, совсем недавнее событие по меркам принятия стандартов... Данное решение приняло Borland, а среда теперь как называется, или просто решили забить на эти тонкости? Как там с межплатформенностью, далеко ушли? Есть среды от сторонних разработчиков, которые используют теперь уже язык Delphi?
Jurec : |
Если бы не это - я бы не переходил с Делфей на С++.
|
Погоди немного, скоро ты будешь наш, может год, может два. Хотя если, так нравиться комфортная защищенность, можешь в сишарпники заделаться, хороший язык для своего круга задач, но только от game development это достаточно далеко.
_______________
Смотрит на название топика... упс...
_________________ Да пребудет с вами сила... |
|
|
Jurec 348 EGP
Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006 |
|
Remint : |
Хотя если, так нравиться комфортная защищенность
|
Ключевая фраза Нет в Делфях мифической защищенности. Завалить прогу access violation`ом можно так же леххко Низкоуровневые команды с памятью/указателями тоже есть ПОЛНОСТЬЮ.
Remint : |
Одним мановением руки в Delphi, не перейти от защищенного массива к обычному
|
Ну.. Директивы прекомпилятора рулят.
Remint : |
Как там с межплатформенностью, далеко ушли? Есть среды от сторонних разработчиков, которые используют теперь уже язык Delphi?
|
Free Pascal / Lazarus
Remint : |
Погоди немного, скоро ты будешь наш, может год, может два.
|
Посмотрим Всё равно Delphi для меня никогда не станет лучше С++ во всех смыслах.
_____
На остальное не отвечал - не совсем о том речь..
_________________ MOV topka, C++ |
|
|
Minx 980 EGP
Рейтинг канала: 6(328) Репутация: 136 Сообщения: 10528 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Jurec : |
Не вижу проблем - в Делфи то же самое есть, просто компилятор ограничивает нас от ошибок. Ну, например, запрещено в одном модуле объявлять переменную с одним и тем же названием (ну понятное дело только в том случае, если две переменные пересеклись в одном пространчтве имен). То же самое что ты привел в пример делать можно (и нужно), но только с одним условием - переменной с таким именем не должно быть.
|
Ты можешь объявить переменную в блоке begin end ? Именно, что нет.
Этого ни разу не делал, потому и не понимаешь преимуществ.
P.S. То что я привел с переменной x - компилируется и работает.
Jurec : |
ТОЛЬКО потому что работодатели такого же мнения как и все программисты Сишники. Если бы не это - я бы не переходил с Делфей на С++.
|
Профессионалы знают несколько инструментов и выбирают на каком что создавать. И выбор между C++ и Delphi редко идет в пользу последнего. И программы получаются более мобильные и интегрируемые, и код можно использовать который 20-30 лет назад был написан.
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
Jurec 348 EGP
Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006 |
|
Minx : |
Ты можешь объявить переменную в блоке begin end ? Именно, что нет.
Этого ни разу не делал, потому и не понимаешь преимуществ.
|
1) Я пишу на С++, говорю же - я прекрасно понимаю что это. И использую ясное дело.
2) В Делфи можно объявить переменную перед ЛЮБЫМ блоком begin - end. Прикинь, в Делфи тоже есть локальные переменные
Minx : |
И программы получаются более мобильные и интегрируемые, и код можно использовать который 20-30 лет назад был написан.
|
1) "Более мобильные" - тут был недавно Владимир Кладов. Он написал KOL - замену формочкам - визуальным компонентам Делфи. Так вот - этот проект невозможно переписать на С++. А все из-за особенностей компиляторов. В С++ нет smart linking`а. С++ или линкует модуль полностью, или не линкует вообще. В Делфи линковка идет не только по модулям, но и по каждой функции отдельно. Короче благодаря этому Кладов и программисты, использующие KOL (впринципе элита программистов на Делфи, тот же Кладов - супер-программист - Новосибирская Элита - его рук дело; да и на Делфи он перешел после 10 лет системного программирования на С++) могут писать проги с огромным спектром возможностей, но которые весят несколько десятков кб (это без сжатия и т.п. ухищирений - это чистый ехе, которые выдает компилер). И скорость работы таких программ соответственно больше.
2) "инегрируемые" - всмысле? Кроссплатформенность есть, в ДЛЛ тоже писать можно легко (удивлены, ага? )
Minx : |
который 20-30 лет назад был написан.
|
Ну такого старого кода на Делфи не найти, но усовершенствование стандарта идет с обратной зависимостью - с этим проблем нет.
_________________ MOV topka, C++
Последний раз редактировалось: Jurec (11:23 25-04-2007), всего редактировалось 2 раз(а) |
|
|
Minx 980 EGP
Рейтинг канала: 6(328) Репутация: 136 Сообщения: 10528 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Jurec : |
В Делфи можно объявить переменную перед ЛЮБЫМ блоком begin - end. Прикинь, в Делфи тоже есть локальные переменные
|
Прикинь - я об этом тебя спрашивал и ты ответил только сейчас.
И похоже что с тем же именем что и в более глобальном пространстве имен нельзя.
Jurec : |
"Более мобильные"
|
Похоже что ты не понял что такое мобильные.
Jurec : |
"инегрируемые" - всмысле? Кроссплатформенность есть, в ДЛЛ тоже писать можно легко (удивлены, ага?
|
Я буду удивлен, когда ДЛЛ будет засунута в микроконтроллер.
Jurec : |
Ну такого старого кода на Делфи не найти, но усовершенствование стандарта идет с обратной зависимостью - с этим проблем нет.
|
Найти найти. Turbo Pascal, например 3-й, модуль crt, выдающий Runtime Error 200 (?) при подключении под виндой.
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
|
|
|
Канал Игры Мечты: «Злые беседы добрых программистов» |
|
|