Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[34.228.188.171] |
|
Страницы: (245) « Первая ... 214 215 [216] 217 218 ... 244 245 ( Перейти к последнему сообщению ) |
Сообщ.
#3226
,
|
|
|
Цитата [S]mike @ Раз пошла такая пьянка... Сейчас в Дельфи блогах пошла мода молиться на то что в православной Дельфе все такое нативное, что мол нету бесовского GC (Garbage Collector). А ведь если так подумать - это ж весь мусор освобождается в потоке вызова, в то время как GC давно уже мультипоточный и на современных мультиядерных девайсах происходит в фоне, совершенно не отражаясь на быстродействии приложения GC полностью в фоне не умеет полноценно работать. По крайней мере на андроиде и официальных ява-машинах. Паузы все-равно есть. Алгоритмы полностью параллельной сборки существуют, но, насколько я знаю имеют ряд ограничений и проблем. |
Сообщ.
#3227
,
|
|
|
Цитата D_KEY @ GC полностью в фоне не умеет полноценно работать. По крайней мере на андроиде и официальных ява-машинах. Паузы все-равно есть. Алгоритмы полностью параллельной сборки существуют, но, насколько я знаю имеют ряд ограничений и проблем. IDEA время от времени фризится на минуту, когда объем занятой памяти приближается к лимиту. Sublime тоже иногда, кстати, на пару секунд. Не знаю, правда, связано это с питоновским GC или просто какими-то багами (иногда выдает сообщение об ошибке в каком-то плагине). К сожалению сервер на Go оценить в этом смысле не могу, у него полно свободного времени, чтобы запускать GC незаметно. =) |
Сообщ.
#3228
,
|
|
|
Цитата korvin @ Питоновский GC тормозит, если программист делает циклические ссылки, а потом теряет их. Если таких ссылок не терять, то GC не используется.Не знаю, правда, связано это с питоновским GC Однако, если создать большую вложенную структуру данных, даже без циклов, то при удалении ссылки на неё начинается рекурсивная чистка ссылок, которая тоже может на некоторое время заморозить приложение. Ну и баги в интерпретаторе могут задержать удаление объектов, тогда они будут чиститься GC. |
Сообщ.
#3229
,
|
|
|
Право, какой же дельфист пошел, невежественный и уверенный в своей правоте. Уже готов учить отцов-основателей Дельфи:
http://programmingmindstream.blogspot.ru/2...-post_3160.html |
Сообщ.
#3230
,
|
|
|
А вот маразм какого-то препода, может уже и на пенсии.
http://alexanderbondar.blogspot.com/2013/12/3-delphi-1.html Ну ладно, человек переписал хелп или книгу Архангельского. Это еще полбеды, интернет стерпит. Но вот за это Цитата Значение свойства BorderStyle можно изменять не только при проектировании формы, но и в процессе выполнения программы. Например, чтобы установить для формы значение этого свойства в bsSingle, нужно выполнить оператор: Self.BorderStyle := bsSingle; Или более правильно: Self.BorderStyle := TFormBorderStyle(bsSingle); Остап Бендер в детстве убивал из рогатки. |
Сообщ.
#3231
,
|
|
|
Цитата [S]mike @ Право, какой же дельфист пошел, невежественный и уверенный в своей правоте. Уже готов учить отцов-основателей Дельфи: http://programmingmindstream.blogspot.ru/2...-post_3160.html Как оказалось, этот человек еще и Embarcadero MVP (пруф) |
Сообщ.
#3232
,
|
|
|
Цитата procedure TForm1.ComboBox1Change(Sender: TObject); begin case (ComboBox1.ItemIndex) of 0: Self.BorderStyle := TFormBorderStyle(bsNone); 1: Self.BorderStyle := TFormBorderStyle(bsSingle); 2: Self.BorderStyle := TFormBorderStyle(bsSizeable); 3: Self.BorderStyle := TFormBorderStyle(bsDialog); 4: Self.BorderStyle := TFormBorderStyle(bsToolWindow); 5: Self.BorderStyle := TFormBorderStyle(bsSizeToolWin); end; end; Я конечно не спец по дельфям, но не проще ли так? Цитата procedure TForm1.ComboBox1Change(Sender: TObject); begin Self.BorderStyle := TFormBorderStyle(ComboBox1.ItemIndex); end; |
Сообщ.
#3233
,
|
|
|
Gonarh, а если когда-нибудь порядок элементов в перечислении поменяется?
|
Сообщ.
#3234
,
|
|
|
Цитата Chow @ а если когда-нибудь порядок элементов в перечислении поменяется? То эмбаркадеро с говном съедят |
Сообщ.
#3235
,
|
|
|
Цитата Gonarh @ Я конечно не спец по дельфям, но не проще ли так? Во-во, и это тоже. Цитата Chow @ Gonarh, а если когда-нибудь порядок элементов в перечислении поменяется? Для этого умные люди будут заполнять список динамически, а не хардкодить. Если такой говнокод преподают в вузах, то мне страшно за образование. |
Сообщ.
#3236
,
|
|
|
Цитата [S]mike @ Для этого умные люди будут заполнять список динамически, а не хардкодить Или "хотя бы" использовать TypeInfo и GetEnumValue по имени константы. Хотя это, видимо выходит за рамки конкретного "урока" по свойствам и методам формы... Цитата [S]mike @ Если такой говнокод преподают в вузах, то мне страшно за образование. Не преувеличивай. В отношении "Или более правильно..." с масло-масляным приведением типа к TFormBorderStyle - это да, какой-то нонсенс. А в отношении case - просто бездумное использование первого пришедшего на ум "простенького" примера, типа использования рекурсии для вычисления факториала |
Сообщ.
#3237
,
|
|
|
Цитата leo @ Не преувеличивай. В отношении "Или более правильно..." с масло-масляным приведением типа к TFormBorderStyle - это да, какой-то нонсенс. А этого мало? А на следующем занятии этот препод будет требовать везде писать FreeAndNil вместо Free, даже для локальных переменных. Хотя такая шиза покосила уже немало профессиональных Delphi разработчиков. Цитата leo @ А в отношении case - просто бездумное использование первого пришедшего на ум "простенького" примера, типа использования рекурсии для вычисления факториала Как мне кажется, основам программирования должны учить еще до того как давать рисовать первые формы. То есть пройтись от Low(TFormBorderStyle) до High(TFormBorderStyle) в цикле и добавить значения в комбобокс - не должно представлять для школьников или студентов ничего сверхъестественного, а код короче. Единственная загвоздка, конечно, с именами - в Джаве у энамов есть метод получения имени, а в Delphi надо вызывать методы RTTI. Но то такое, можно дать отдельным методом, пусть даже выходящим за рамки программы на данном уроке. |
Сообщ.
#3238
,
|
|
|
Цитата [S]mike @ Как мне кажется, основам программирования должны учить еще до того как давать рисовать первые формы. То есть пройтись от Low(TFormBorderStyle) до High(TFormBorderStyle) в цикле и добавить значения в комбобокс - не должно представлять для школьников или студентов ничего сверхъестественного, а код короче. Единственная загвоздка, конечно, с именами - в Джаве у энамов есть метод получения имени, а в Delphi надо вызывать методы RTTI. Но то такое, можно дать отдельным методом, пусть даже выходящим за рамки программы на данном уроке. А мне кажется что делфи вообще уже можно выкинуть из учебной программы. Ну разве что паскаль оставить, для ознакомления с программированием, и стандартными подходами. Ну профита от делфи имхо нет. Уж лучше его заменитиь на .net или java, что более актуально, чем лепить формочки в делфи. |
Сообщ.
#3239
,
|
|
|
Цитата Wound @ А мне кажется что делфи вообще уже можно выкинуть из учебной программы. Ну разве что паскаль оставить, для ознакомления с программированием, и стандартными подходами. Ну профита от делфи имхо нет. Уж лучше его заменитиь на .net или java, что более актуально, чем лепить формочки в делфи. Не, ну это конечно само собой, тем более если _так_ дельфи преподавать. |
Сообщ.
#3240
,
|
|
|
Цитата leo @ Хотя это, видимо выходит за рамки конкретного "урока" по свойствам и методам формы... Ну, хотя бы собственный контейнер с сопоставлением индекса и значения все же за рамки может лекции и выходит, но курса - по идее не должен, тем не менее, многих этому не учат |