Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.156] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 269 270 [271] 272 273 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#4051
,
|
|
|
|
Цитата D_KEY @ Ок. Я не уверен, что Delphi научится правильно работать с linux настолько, чтобы разработчики Altium Designer смогли не напрягаясь перенести код на эту ОС, раньше, чем появится аналог под linux или очередная версия wine позволит работать с Altium Designer Да речь не о нём. Цитата korvin @ когда чуваки английский осилят, тогда и можно будет говорить о хоть какой-то популярности, а поделку, которой пользуются (а пользуются ли?) полтора венгра (или кто они там), нельзя назвать популярной Что тебе не нравится? Есть и другие продукты. Цитата D_KEY @ Правильная книжка. В ней, например, автор пишет, что в С++ лучше продумано поведение конструкторов Еще пишет, что finally необходим при работе с другими(не памятью) ресурсамиОй врать-то |
|
Сообщ.
#4052
,
|
|
|
|
Цитата Наверно нету ни одного компа с виндой, где бы не было прог на дельфях. Самый простой пример - Skype & Total Commander. Skype это ж С++/Qt -.- |
|
Сообщ.
#4053
,
|
|
|
|
Radagast, будь осторожен. Делфисты за последний рубеж и убить могут.
|
|
Сообщ.
#4054
,
|
|
|
|
Цитата DesweR @ Цитата D_KEY @ Правильная книжка. В ней, например, автор пишет, что в С++ лучше продумано поведение конструкторов Еще пишет, что finally необходим при работе с другими(не памятью) ресурсамиОй врать-то ![]() Цитата ... You’ve done a perfectly logical thing and yet the behavior is mysteriously wrong, with no complaints from the compiler. (C++ produces more rational behavior in this situation.) Bugs like this could easily be buried and take a long time to discover. ... |
|
Сообщ.
#4055
,
|
|
|
|
Цитата D_KEY @ Цитата ... You’ve done a perfectly logical thing and yet the behavior is mysteriously wrong, with no complaints from the compiler. (C++ produces more rational behavior in this situation.) Bugs like this could easily be buried and take a long time to discover. ... стоило привести и код, на который он ругается, не все помнят TiJ наизусть и не у всех он под рукой =) |
|
Сообщ.
#4056
,
|
|
|
|
Цитата ... finally is necessary when you need to set something other than memory back to its original state. ... Добавлено Цитата korvin @ стоило привести и код, на который он ругается Ну я просто отвечал на обвинения во лжи. Цитата не все помнят TiJ наизусть и не у всех он под рукой =) http://www.codeguru.com/java/tij/tij_c.shtml |
|
Сообщ.
#4057
,
|
|
|
|
ага, теперь расскажи как там поиск по всей книге сделать |
|
Сообщ.
#4058
,
|
|
|
|
Цитата korvin @ стоило привести и код, на который он ругается, не все помнят TiJ наизусть и не у всех он под рукой =) Сотню другую назад я уже приводил аргументы, почему эта проблема актуальна только в Java, но не в Delphi Цитата Вуйко з полонини @ Radagast, будь осторожен. Делфисты за последний рубеж и убить могут. Похоже это у вас остался только последний рубеж, распространённость Добавлено Цитата D_KEY @ finally is necessary when you need to set something other than memory back to its original state. А вот это вообще вырвано из контекста и никак не отражает твою позицию. |
|
Сообщ.
#4059
,
|
|
|
|
Цитата korvin @ ага, теперь расскажи как там поиск по всей книге сделать Конкретно про проблемы с конструкторами Java Тот самый код: ![]() ![]() abstract class Glyph { abstract void draw(); Glyph() { System.out.println("Glyph() before draw()"); draw(); System.out.println("Glyph() after draw()"); } } class RoundGlyph extends Glyph { int radius = 1; RoundGlyph(int r) { radius = r; System.out.println( "RoundGlyph.RoundGlyph(), radius = " + radius); } void draw() { System.out.println( "RoundGlyph.draw(), radius = " + radius); } } public class PolyConstructors { public static void main(String[] args) { new RoundGlyph(5); } } ///:~ ![]() ![]() Glyph() before draw() RoundGlyph.draw(), radius = 0 Glyph() after draw() RoundGlyph.RoundGlyph(), radius = 5 Добавлено Собственно о подобной ситуации и был тогда спор с Delphi'цами относительно виртуальных вызовов в конструкторе и порядке вызовов конструкторов базовых классов. |
|
Сообщ.
#4060
,
|
|
|
|
Цитата D_KEY @ Конкретно про проблемы с конструкторами Java Тот самый код: Зашибись! |
|
Сообщ.
#4061
,
|
|
|
|
Да, поясню, что в С++ в случае абстрактного(чисто виртуального) метода будет ошибка компиляции, в случае просто виртуального метода будет вызван метод класса Glyph.
|
|
Сообщ.
#4062
,
|
|
|
|
DesweR, какой последний рубеж? Геймдев и железо на плюсах, серваки и мобайл на джаве. Шарп рулит гуями. Что делает делфи? Приложения для кафе и?
|
|
Сообщ.
#4063
,
|
|
|
|
Цитата Вуйко з полонини @ DesweR, какой последний рубеж? Геймдев и железо на плюсах, серваки и мобайл на джаве. Шарп рулит гуями. Что делает делфи? Приложения для кафе и? Тоже что и C++/C#/Java, в той или иной степени. Добавлено Цитата D_KEY @ Да, поясню, что в С++ в случае абстрактного(чисто виртуального) метода будет ошибка компиляции, в случае просто виртуального метода будет вызван метод класса Glyph. А в случае Delphi есть виртуальные классовые методы. |
|
Сообщ.
#4064
,
|
|
|
|
|
Сообщ.
#4065
,
|
|
|
|
Цитата DesweR @ Цитата D_KEY @ finally is necessary when you need to set something other than memory back to its original state. А вот это вообще вырвано из контекста и никак не отражает твою позицию. Вот контекст: Цитата Performing cleanup with finally There’s often some piece of code that you want to execute whether or not an exception occurs in a try block. This usually pertains to some operation other than memory recovery (since that’s taken care of by the garbage collector). To achieve this effect, you use a finally clause [44] at the end of all the exception handlers. ...<пример>... What’s finally for? In a language without garbage collection and without automatic destructor calls, [45] finally is important because it allows the programmer to guarantee the release of memory regardless of what happens in the try block. But Java has garbage collection, so releasing memory is virtually never a problem. Also, it has no destructors to call. So when do you need to use finally in Java? finally is necessary when you need to set something other than memory back to its original state. This is usually something like an open file or network connection, something you’ve drawn on the screen or even a switch in the outside world Ну и [44] и [45]: Цитата [44] C++ exception handling does not have the finally clause because it relies on destructors to accomplish this sort of cleanup. [45] A destructor is a function that’s always called when an object becomes unused. You always know exactly where and when the destructor gets called. C++ has automatic destructor calls, but Delphi’s Object Pascal versions 1 and 2 do not (which changes the meaning and use of the concept of a destructor for that language). Добавлено Это прекрасно отражает мою позицию. Добавлено Цитата DesweR @ А в случае Delphi есть виртуальные классовые методы. Их можно вызывать из конструктора объекта, да. Но разговор у нас был о виртуальных методах объекта. |